Crash on closing GW

Since last patch, GW always crashes when I try to close it while Toolbox is running.

Can you provide a screenshot or crash dump if you have one?

(I know, I know, I shouldn't use Win7 any more.)
These are the details in the crash window:

Problem Event Name:	APPCRASH
Application Name:	Gw.exe
Application Version:	<IP_ADDRESS>
Application Timestamp:	5eac9208
Fault Module Name:	d3d9.dll
Fault Module Version:	<IP_ADDRESS>
Fault Module Timestamp:	4f5fa3db
Exception Code:	c0000005
Exception Offset:	000052bb
OS Version:	6.1.76<IP_ADDRESS>.256.48
Locale ID:	2057
Additional Information 1:	0a9e
Additional Information 2:	0a9e372d3b4ad19135b953a78882e789
Additional Information 3:	0a9e
Additional Information 4:	0a9e372d3b4ad19135b953a78882e789


Uncaught TypeError: Cannot read property '$root' of undefined

I am getting the above error when I try to open ng-inspector for my angular app. The specific lines where this is happening are in ng-inspector.js:
211: var $node = window.angular.element(app.node);
212: var $rootScope = $node.data('$scope').$root;

On line 211, the <html> node is correctly fetched, however $node.data('$scope') is returning undefined.
The source for my application is here: https://github.com/archfirst/angular-minimal-template.

Thanks for providing source! I'll try to take a crack at this one this week.

Hey @nareshbhatia, starting to look at this a bit today. I will say that it appears that your app fails to be recognized by either ng-inspector or angular-batarang, which is quite interesting.

@nareshbhatia I was able to determine why your app doesn't work with any angular-related debugging tools.
In core.config.js, on line 22, you have the following:
$compileProvider.debugInfoEnabled(false);

According to the Angular docs:

Call this method to enable/disable various debug runtime information in the compiler such as adding binding information and a reference to the current scope on to DOM elements

Debugging tools need this feature to be enabled, as there is no other way to access the scope of each element in the DOM.

@DrewML, thank you so much for pointing this out! That's what I get for copying someone else's code without understanding it. I am all set now.

Can we change this to work when debugInfoEnable(true) using angular.element(document.body).injector().get('$rootScope')?
See http://stackoverflow.com/questions/24595460/how-to-access-update-rootscope-from-outside-angular


Blog review

Сan you take a look at our blog, please, https://elogic.co/blog/?

Hi, thanks for your contribution. Your blog seems to be down. Therefore I can't review it. Will close this ticket.


Text summary: Error encountered when serializing __tensorboard_plugin_asset__tensorboard_text.

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): Yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Linux CentOS 7
TensorFlow installed from (source or binary): Source
TensorFlow version (use command below): v1.1.0-rc2-1185-ge4f5123' 1.2.0-rc0
Bazel version (if compiling from source): 0.4.5
CUDA/cuDNN version: 8.0 / 5.1.10
GPU model and memory: GeForce GTX Titan X 12GB
Exact command to reproduce:

import tensorflow as tf

logdir = "/output_dir"
text = "A text summary"
text_tensor = tf.constant(text)
text_summary = tf.summary.text("Summary", text_tensor)
merged = tf.summary.merge([text_summary])
writer = tf.summary.FileWriter(logdir, tf.get_default_graph())
s = tf.Session()
s.run(tf.global_variables_initializer())
summary = s.run(merged)
writer.add_summary(summary)

Describe the problem
Tensorflow  gives the following error when I try to create a summary writer when the graph has a text summary:
WARNING:tensorflow:Error encountered when serializing __tensorboard_plugin_asset__tensorboard_text.
Type is unsupported, or the types of the items don't match field type in CollectionDef.
'TextSummaryPluginAsset' object has no attribute 'name'

On my larger project I was able to output some text to the summary page on tensorboard, but the Markdown I put in there wasn't being parsed at all. I don't know if these problems are related but I feel like they probably are.
Source code / logs
Code in first section is an MWE

@dandelionmane @jart

I have the same issue. It appears, when I store a checkpoint of my model.
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Windows 10
TensorFlow version (use command below): tensorflow_gpu-1.2.0-cp35-cp35m-win_amd64.whl  from PIP

Ah, this is caused by an interaction between the way text summary was implemented and the metagraphdef. The warning doesn't actually break anything, it's just a warning.
This is unrelated to any markdown parsing issues.
@chihuahua just submitted a PR internally that fixes this by using a different mechanism for the text summary. The fix will be in tf 1.3. Closing this since the issue is fixed at head.


Support of alternative array classes: ndarray-like

This PR implements support of alternative array types (other than NumPy arrays) by introducing the concept ndarray-like.
The idea is to differentiate between the need of a numpy.ndarray and an array that behaves like a NumPy array, such as a CuPy array. Calling the old compat functions will still return regular NumPy arrays but two new compat functions now accept any NumPy array-like arrays:
# Ensure `buf` is a NumPy array
def ensure_ndarray(buf) -> np.ndarray: ...
def ensure_contiguous_ndarray(buf, max_buffer_size=None) -> np.array: ...

# Ensure `buf` is a NumPy array-like
def ensure_ndarray_like(buf) -> NDArrayLike:
def ensure_contiguous_ndarray_like(buf, max_buffer_size=None) -> NDArrayLike:

NumPy array like
I suggest that we use Python3.8's typing.Protocol to define what we consider ndarray-like:
@runtime_checkable
class DType(Protocol):
    itemsize: int
    name: str
    kind: str

@runtime_checkable
class FlagsObj(Protocol):
    c_contiguous: bool
    f_contiguous: bool
    owndata: bool

@runtime_checkable
class NDArrayLike(Protocol):
    dtype: DType
    shape: Tuple[int, ...]
    strides: Tuple[int, ...]
    ndim: int
    size: int
    itemsize: int
    nbytes: int
    flags: FlagsObj
    def __len__(self) -> int: ...
    def __getitem__(self, key) -> Any: ...
    def __setitem__(self, key, value): ...
    def tobytes(self, order: Optional[str] = ...) -> bytes: ...
    def reshape(self, *shape: int, order: str = ...) -> "NDArrayLike": ...
    def view(self, dtype: DType = ...) -> "NDArrayLike": ...

This requires Python v3.8. If this is a problem, we can use the typing_extensions module as a fallback:
if sys.version_info >= (3, 8):
    from typing import Protocol, runtime_checkable
else:
    from typing_extensions import Protocol, runtime_checkable

Motivation
This is the first step towards support of CuPy arrays in Zarr.
TODO:

[x] Closes #212 and #213
[x] Unit tests and/or doctests in docstrings
[x] tox -e py39 passes locally
[x] Docstrings and API docs for any new/modified user-facing classes and functions
[x] Changes documented in docs/release.rst
[x] tox -e docs passes locally
[x] GitHub Actions CI passes
[x] Test coverage to 100% (Coveralls passes)

cc. @jakirkham

@joshmoore do you have thoughts here? 🙂

I don't have any thing to add to the review, but just wanted to chime in to say I think this is a great feature. Supporting different array-like things is really important for future interoperability of zarr / numcodecs.
👏

Anything else we need in this PR? Else, I think it is ready to be merged.

@joshmoore, @jakirkham anything else we need to do here? I don't think the CI error relates to this PR.

Regarding CI. Fixing in PR ( https://github.com/zarr-developers/numcodecs/pull/311 )

Thanks for working on this Mads! 😄 Also appreciate Ryan and Josh taking the time to look.
Would you be able to fix up the merge conflicts, Mads? 🙂
Generally LGTM. Though would be great if someone other than me merged (assuming people have no further questions)

Thanks Mads! 😀
@joshmoore or @rabernat if you are comfortable with the changes here, please  feel free to merge (if not please let us know what is still needed)? Thanks!

Nothing else from my side. Thoughts on getting this out as either 0.10 or is there a preference for another pre-release?
(@msankeys963 would likely also ask if a blog post is in order :) If so, text blurbs welcome)

(@MSanKeys963 would likely also ask if a blog post is in order :) If so, text blurbs welcome)

Happy to write a blog post on this as this focuses on interoperability.
@madsbk would you like to help me with the blog post? If yes, I can post a few questions and you can answer them.

:+1: all around. Any thoughts on the release style?

+1 all around. Any thoughts on the release style?

I think including it in the v0.10 release is good but can we merge it now? It will help me finishing https://github.com/zarr-developers/zarr-python/pull/934.

Thanks all! 😄

Thanks!

Building now as v0.10.0.a3

Thanks Josh! 😄


Fix 'hook exceptions', 'retry flaky (a)sync' Tests

failedExpectations for beforeAll and afterAll are added to the
suite not the spec in jasmine 3.0.0
see https://github.com/jasmine/jasmine/issues/1409#issuecomment-360858185
So I think we could remove the tests which relied on jasmine not failing when exceptions were thrown in beforeAll and afterAll hooks?
Let me know if this make sense..

That's odd,  should be able to retry flaky async tests was passing on my machine, checking...

Having a hard time debugging tests.retry.async.spec.js:
When I console.log the count I get undefined and NaN:
describe('run flaky test', () => {
        before(() => {
            retryCnt = 1
        })

        it('should pass with retry', () => {
            console.log(retryCnt)
            if (retryCnt !== 0) {
                return browser.command().then((result) => {
                    retryCnt--
                    result.should.be.not.equal('foo')
                })
            }

            return browser.command().then((result) => {
                result.should.be.equal('foo')
            })
        }, 1)
    })

Outputs:
(node:20916) DeprecationWarning: "--compilers" will be removed in a future version of Mocha; see https://git.io/vdcSr for more info
  JasmineAdapter
    √ should be able to retry flaky sync tests (7916ms)
undefined
NaN

I added block-scope retryCnt for each async retry test, otherwise I was getting weird async behavior, e.g. test would pass when debugging but fail when doing a normal test. I think separate retryCnt make sense for those async tests, thoughts?

The gist is, it seems an exception in beforeAll should make the suite fail.. it depends on what we want... after reading how jasmine 3.x.x handles error in beforeAll here:
https://github.com/jasmine/jasmine/issues/1409#issuecomment-360858185

We have however done some work to make all errors at the suite level report the same way (on the suite) instead of either making a spec you've never heard of, or cascading the failure down to the children.
This work is in the 3.0-features branch, and will be included in Jasmine 3.0. Closing. Thanks for using Jasmine!

I thought that we should make the suite fail in the reporter (https://github.com/webdriverio/wdio-jasmine-framework/pull/118/files#diff-7744650016d52918f79696c96d468795R64)

This is why I think that the mocha tests that are throwing exceptions in the beforeAll hook should be removed... but I am not sure how this reporter should handle the new behavior in Jasmine

Do I understand that the efforts on Webdriverio are focused on v5?

@christian-bromann would be awesome to get this merged and cut a fix release for this package

This is why I think that the mocha tests that are throwing exceptions in the beforeAll hook should be removed... but I am not sure how this reporter should handle the new behavior in Jasmine

@phil-lgr I still don't understand. The tests are still valuable. I am definitely fine with the change in the reporter but believe that we should not remove the tests.

 it('should be able to retry flaky sync tests', async () => {
Then we have to change what we test. It is not possible to have 0 failure and respect the expectations.
The new behavior in jasmine will make the suite fails if something fails in the beforeAll so there is no way to have those flaky tests pass anymore: https://github.com/webdriverio/wdio-jasmine-framework/pull/118/files#diff-3d4aa16725669d362a445b9b3db252efL9

If we want to keep the "flaky tests" then the number of failures will be >0 (since failure/throws happening in beforeAll hooks will add failed expectations to the suite)

Do you have a slack or somewhere we can chat? It's difficult to explain, or you can try the code for yourself (on master) and try to fix the tests... 😕

Do you have a slack or somewhere we can chat?

Sure, send me a PM on Gitter. There is also a WebdriverIO channel on the Selenium Slack org

Closing in favor of #123


[Event Request] Page 9305 Sales Order List - Group - Action(Post) - OnBeforePostActionWithMoreThanOnDoc

Please add the following Event/-s OnBeforePostActionWithMoreThanOnDoc to Group - Action(Post) in Page 9305 Sales Order List
                    trigger OnAction()
                    var
                        SalesHeader: Record "Sales Header";
                        SalesBatchPostMgt: Codeunit "Sales Batch Post Mgt.";
                        BatchProcessingMgt: Codeunit "Batch Processing Mgt.";
                    begin
                        CurrPage.SetSelectionFilter(SalesHeader);
                        if SalesHeader.Count > 1 then begin
                            // NEW
                            IsHandled := FALSE;
                        OnBeforePostActionWithMoreThanOnDoc(SalesHeader,BatchProcessingMgt;IsHandled);
                            IF IsHandled THEN
                              EXIT;
                            // NEW
                            BatchProcessingMgt.SetParametersForPageID(Page::"Sales Order List");

                            SalesBatchPostMgt.SetBatchProcessor(BatchProcessingMgt);
                            SalesBatchPostMgt.RunWithUI(SalesHeader, Count, ReadyToPostQst);
                        end else
                            PostDocument(CODEUNIT::"Sales-Post (Yes/No)");
                    end;

 [IntegrationEvent(false, false)]
 local procedure OnBeforePostActionWithMoreThanOnDoc(var SalesHeader : Record "Sales Header";var BatchProcessingMgt: Codeunit "Batch Processing Mgt."; var IsHandled : Boolean)
    begin
    end;

Thanks for reporting this. We agree, and we’ll publish a fix asap, either in an update for the current version or in the next major release. Please do not reply to this, as we do not monitor closed issues. If you have follow-up questions or requests, please create a new issue where you reference this one.
Build ID: 12501.


Bugfix for setProperty method, make clients compatible with sending cookies

setProperty is not currently working because the instance "client" is generating WebTarget instance in constructor.

👍


feat: add updateArgo endpoint to change source repo, path, and label values

Adds new route to argocd backend plugin

/updateArgo/:argoAppName
Provides the ability to change the sourceRepo, sourcePath, and labelValue of an argo app and project

:heavy_check_mark: Checklist

[x] Added tests for new functionality and regression tests for bug fixes
[x] Added changeset (run yarn changeset in the root)
[ ] Screenshots of before and after attached (for UI changes)
[ ] Added or updated documentation (if applicable)

Actually they do that everywhere else, so it's chill


stork installation fails on an IBMCloud VPC cluster which does not have public gateway attached

  Warning  Failed   44m (x37 over 10h)     kubelet  Failed to pull image "openstorage/stork:23.6.0": rpc error: code = DeadlineExceeded desc = failed to pull and unpack image "docker.io/openstorage/stork:23.6.0": failed to resolve reference "docker.io/openstorage/stork:23.6.0": failed to do request: Head "https://registry-1.docker.io/v2/openstorage/stork/manifests/23.6.0": dial tcp <IP_ADDRESS>:443: i/o timeout
  Warning  Failed   13m (x36 over 10h)     kubelet  Failed to pull image "openstorage/stork:23.6.0": rpc error: code = DeadlineExceeded desc = failed to pull and unpack image "docker.io/openstorage/stork:23.6.0": failed to resolve reference "docker.io/openstorage/stork:23.6.0": failed to do request: Head "https://registry-1.docker.io/v2/openstorage/stork/manifests/23.6.0": dial tcp <IP_ADDRESS>:443: i/o timeout
  Normal   BackOff  4m2s (x2378 over 10h)  kubelet  Back-off pulling image "openstorage/stork:23.6.0"
ambikanair@Ambikas-MBP pxdemo %

Slack conversation -  https://portworx.slack.com/archives/CD15G7UNT/p1689686753557259

Internal ticket - https://portworx.atlassian.net/browse/PB-4086


Undo/redo is broken in FEEL popup

Describe the bug
Undo/redo is broken in FEEL popup:
https://github.com/camunda/camunda-modeler/assets/28307541/e680995d-a193-49ff-b0f8-168b3532c6cf
Steps to reproduce

Type in FEEL popup
Press Cmd+Z and Cmd+Y
Sometimes the focus changes without update, for redo the editor adds unnecessary characters

Expected behavior
Undo should work as in the plain browser inputs:

[ ] If I typed a couple of characters, it should remove the whole block
[ ] If I typed a single character, it should remove it

Redo should only perform the undone action.
Environment

OS: [e.g. MacOS 10.2, Windows 10]
Camunda Modeler Version: 5.16
Execution Platform: [e.g. Camunda 7, Camunda 8]
Installed plug-ins: [...]

Additional context
Reported downstream in https://github.com/bpmn-io/properties-panel/issues/295

The popup menu updates the file on each keystroke. This means that if you type in the editor, close it, and then want to undo the recent change, you need to trigger undo several times.
@nikku, @marstamm and I discussed today how we could improve the interaction:

Simple fix:

[ ] Let the editor handle it's undo/redo state
[ ] Update the file only when popup is closed

[ ] update on close button
[ ] update on Cmd+Enter
[ ] update on external click
[ ] update on element selection change
[ ] update on Escape

Allow to cancel changes:

[ ] Implement Save/Cancel buttons instead of a single Close
[ ] Let the editor handle it's undo/redo state
[ ] Update the file only when popup is closed

[ ] update on close button
[ ] update on Cmd+Enter
[ ] cancel changes on external click
[ ] cancel changes on element selection change
[ ] cancel changes on Escape

@YanaSegal @RomanKostka We'd like to know your opinion on this proposal. Can you see any problems if we implement it like above? Which option do you prefer?

@barmac LGTM 👍

one thing:

cancel changes on Escape
should we ask the user if they are sure they want to close without saving first?

as this is from's domain i will tag here @volodymyr-melnykc to make the design decisions :)

@volodymyr-melnykc Happy to get your opinion / insight, too :star_struck:
Let's remember that in the end this is core modeling (UI) domain, i.e. we define a C4 component here that may be come complex in the future. Already today it is used in different places, across different editors (Forms, DMN, BPMN).

I agree with the simple fix 👍
Regarding 2. "Allow to cancel changes"
Implementing Save/Cancel buttons gives clear CTAs for the user on how to interact, which is good!
In that case, handling needs to be based on the new buttons. Just a small correction to the @barmac's proposal:

[ ] Update the file only when popup is closed

[ ] update on Save button
[ ] update on Cmd+Enter
[ ] cancel changes on Cancel button
[ ] cancel changes on external click
[ ] cancel changes on element selection change
[ ] cancel changes on Escape

Asking the user for confirmation before canceling changes is needed when considering a scenario where the user has typed an expression in the input field.
However, my concern is that if we show a confirmation dialog, it might be distracting or annoying if the user just wants to proceed with cancellation and interact with other elements.
What do you think about triggering a visual state that indicates unsaved changes? E.g., a "shake" animation as a feedback to the user. This is the behavior that Apple often uses in its products. Here's a reference to what I mean: https://sweetalert2.github.io/recipe-gallery/draw-attention.html
The "shake" happens only once to warn the user, and if the user proceeds with the desired action, then changes get canceled and the FEEL popup closes.
@nikku @barmac @YanaSegal

in web modeler we have an auto-save - why don't we use the same behavior here? this way users can proceed without being distracted.

Auto-save is good IMO. Even if the user doesn't complete an expression (e.g., it has logical errors) and switches to interact with something else, then we'll display a warning message for the related input field so the user is aware that it needs to be fixed.

Just to be sure we're on the same page here: The question is not whether to auto-save or not, but whether the popup editor is an entity distinct from the modeling canvas with its own undo/redo life-cycle. If it is, at what point is the change applied (and also undone later).
The way I understand you @YanaSegal is that changes should always be saved immediately, and that undo is granular, also when the popup editor is not longer open?

However, my concern is that if we show a confirmation dialog, it might be distracting or annoying if the user just wants to proceed with cancellation and interact with other elements.

:+1:

What do you think about triggering a visual state that indicates unsaved changes?

I personally don't like the shake pattern. It completely blocks keyboard usage (ESC to close). This is from my point of view what we'd want to support.

Just to visualize what I meant by file update:

Currently, we implement the option on the right. So if you close the FEEL popup, and try to undo, you undo each of the granular changes in the text. The proposal is to treat anything you do in the popup as a single change from the editor's perspective, i.e. a single undo will return the state to a stage before the popup was opened.

The proposal is to treat anything you do in the popup as a single change from the editor's perspective, i.e. a single undo will return the state to a stage before the popup was opened.

👍

@YanaSegal @volodymyr-melnykc @nikku and I just had a meeting to get a shared understanding regarding this. Key results:

Changes in the popup editor should be applied when the popup is closed via button.
We rename "Close" to "Apply".
Any click outside of the popup discards the changes. This applies to other input too (currently doesn't work).
Escape discards the changes.
Popup icon should be changed to one provided by @YanaSegal

@barmac thanks for summarizing it :)

Any click outside of the popup discards the changes. This applies to other input too (currently doesn't work).

It also closes the modal, correct?
I would like to use the "maximize" icon instead of the launch icon. you can download an SVG from here.

It also closes the modal, correct?

Correct.

I'd add another one:

A keyboard shortcut exists to commit the changes, i.e. CTRL+ENTER.

@christian-konrad Mentioned how "clicking somewhere else to close" is not an intended behavior, i.e. it should be possible to keep the menu opened as you navigate the diagram. In the sense it is not a modal.
This poses one interesting challenges for us: We want to hide the menu if the target property is gone (i.e. because it has been undone).
The second challenge it poses is how to open another popup menu, shall the original one be closed, or another one opened? Would be interesting if @RomanKostka / @christian-konrad you could share the original intend + the WHY behind it so we can take this topic over properly.
Alternatively you can also take the lead with the #HTO team to fix the remaining bugs in an  holistic manner.

From the epic I found two requirements that contradict last weeks findings:

I also want to interact with the surroundings. It is valuable for me to check other elements and properties while I write that expression, e.g to check variables I previously declared, or what I need to write in this expression.

I want to see changes in the popup editor reflected immediately, i.e. in the source field, and in case of the form editor, in the form preview, too.

This indicates:

We want to have a shared undo/redo history
Changes propagate immediately
Editor remains opened unless explicitly closed (via ESC or Close).


[ARD] HD format as mp4 file (best) not found

Make sure you are using the latest version: run youtube-dl --version and ensure your version is 2018.09.26. If it's not, read this FAQ entry and update. Issues with outdated version will be rejected.

[x] I've verified and I assure that I'm running youtube-dl 2018.09.26

Before submitting an issue make sure you have:

[x] At least skimmed through the README, most notably the FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones
[x] Checked that provided video/audio/playlist URLs (if any) are alive and playable in a browser

What is the purpose of your issue?

[x] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[ ] Feature request (request for a new functionality)
[ ] Question
[ ] Other

If the purpose of this issue is a bug report, site support request or you are not completely sure provide the full verbose output as follows:
youtube-dl -v -F 'https://www.ardmediathek.de/tv/Babylon-Berlin/1929-Das-Jahr-Babylon/Das-Erste/Video?bcastId=54319834&documentId=56517232'
[debug] System config: []
[debug] User config: []
[debug] Custom config: []
[debug] Command-line args: [u'-v', u'-F', u'https://www.ardmediathek.de/tv/Babylon-Berlin/1929-Das-Jahr-Babylon/Das-Erste/Video?bcastId=54319834&documentId=56517232']
[debug] Encodings: locale UTF-8, fs UTF-8, out UTF-8, pref UTF-8
[debug] youtube-dl version 2018.09.26
[debug] Python version 2.7.15 (CPython) - Linux-4.14.0-3-amd64-x86_64-with-debian-9.0
[debug] exe versions: ffmpeg 3.4.2-1, ffprobe 3.4.2-1, rtmpdump 2.4
[debug] Proxy map: {}
[ARD:mediathek] 56517232: Downloading webpage
[ARD:mediathek] 56517232: Downloading media JSON
[ARD:mediathek] 56517232: Downloading f4m manifest
[ARD:mediathek] 56517232: Downloading m3u8 information
[ARD:mediathek] 56517232: Downloading m3u8 information
[info] Available formats for 56517232:
format code  extension  resolution note
a0-mp4-2     mp4        unknown
a1-mp4-0     mp4        unknown
a1-mp4-1-0   mp4        unknown
a1-mp4-1-1   mp4        unknown
a1-mp4-2-0   mp4        unknown
a1-mp4-2-1   mp4        unknown
a1-mp4-3     mp4        unknown
hls-188-0    mp4        320x180     188k , avc1.66.30, mp4a.40.2
hls-188-1    mp4        320x180     188k , avc1.66.30, mp4a.40.2
hls-316-0    mp4        480x270     316k , avc1.66.30, mp4a.40.2
hls-316-1    mp4        480x270     316k , avc1.66.30, mp4a.40.2
hds-604      flv        unknown     604k
hls-604-0    mp4        512x288     604k , avc1.77.30, mp4a.40.2
hls-604-1    mp4        512x288     604k , avc1.77.30, mp4a.40.2
hds-1212     flv        unknown    1212k
hls-1212-0   mp4        640x360    1212k , avc1.77.30, mp4a.40.2
hls-1212-1   mp4        640x360    1212k , avc1.77.30, mp4a.40.2
hds-1988     flv        unknown    1988k
hls-1988-0   mp4        960x540    1988k , avc1.77.30, mp4a.40.2
hls-1988-1   mp4        960x540    1988k , avc1.77.30, mp4a.40.2
hls-3771     mp4        1280x720   3771k , avc1.64001f, mp4a.40.2 (best)

Description of your issue, suggested solution and other information
1280x720 mp4 file (https://pdvideosdaserste-a.akamaihd.net/int/2018/09/18/196f8dd1-4491-4405-be65-fff78fcc8e0d/1280-1.mp4) has not been discovered. It should be selected as "best" instead of hls-3771 ts stream (which would need ffmpeg postprocessing).
P.S. above is only an example for the issue with ARD Mediathek.

Well, seems like the same result, basically.. (720p)
Did you check the differences between format hls-3771 and the other format you mentioned?

diff ffprobe HLS stream <-> HTTP file download:
--- "1929 - Das Jahr Babylon-56517232.mp4.ffprobe"	2018-10-02 14:26:43.750085877 +0200
+++ 1280-1.mp4.ffprobe	2018-10-02 14:27:02.566086703 +0200
@@ -1,13 +1,16 @@
-Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1929 - Das Jahr Babylon-56517232.mp4':
+Input #0, mov,mp4,m4a,3gp,3g2,mj2, from '1280-1.mp4':
   Metadata:
-    major_brand     : isom
-    minor_version   : 512
-    compatible_brands: isomiso2avc1mp41
-    encoder         : Lavf57.83.100
-  Duration: 00:43:50.08, start: 0.000000, bitrate: 3777 kb/s
-    Stream #0:0(und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 3583 kb/s, 25 fps, 25 tbr, 90k tbn, 50 tbc (default)
+    major_brand     : mp42
+    minor_version   : 0
+    compatible_brands: isom
+    creation_time   : 2018-09-18T20:48:26.000000Z
+  Duration: 00:43:50.08, start: 0.000000, bitrate: 3775 kb/s
+    Stream #0:0(eng): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 3582 kb/s, 25 fps, 25 tbr, 25k tbn, 50 tbc (default)
     Metadata:
-      handler_name    : VideoHandler
-    Stream #0:1(und): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
+      creation_time   : 2018-09-18T20:48:26.000000Z
+      handler_name    : MP4 Video Media Handler
+      encoder         : AVC Coding
+    Stream #0:1(deu): Audio: aac (LC) (mp4a / 0x6134706D), 48000 Hz, stereo, fltp, 189 kb/s (default)
     Metadata:
-      handler_name    : SoundHandler
+      creation_time   : 2018-09-18T20:48:26.000000Z
+      handler_name    : MP4 Sound Media Handler

diff mediainfo HLS stream <-> HTTP file download:
--- "1929 - Das Jahr Babylon-56517232.mp4.mediainfo"    2018-10-02 14:23:12.784419862 +0200
+++ 1280-1.mp4.mediainfo        2018-10-02 14:22:49.024420168 +0200
@@ -1,13 +1,14 @@
 General
-Complete name                            : 1929 - Das Jahr Babylon-56517232.mp4
+Complete name                            : 1280-1.mp4
 Format                                   : MPEG-4
-Format profile                           : Base Media
-Codec ID                                 : isom (isom/iso2/avc1/mp41)
+Format profile                           : Base Media / Version 2
+Codec ID                                 : mp42 (isom)
 File size                                : 1.16 GiB
 Duration                                 : 43 min 50 s
-Overall bit rate mode                    : Constant
-Overall bit rate                         : 3 777 kb/s
-Writing application                      : Lavf57.83.100
+Overall bit rate mode                    : Variable
+Overall bit rate                         : 3 775 kb/s
+Encoded date                             : UTC 2018-09-18 20:48:26
+Tagged date                              : UTC 2018-09-18 20:48:26

 Video
 ID                                       : 1
@@ -35,6 +36,9 @@ Bit depth
 Scan type                                : Progressive
 Bits/(Pixel*Frame)                       : 0.156
 Stream size                              : 1.10 GiB (95%)
+Language                                 : English
+Encoded date                             : UTC 2018-09-18 20:48:26
+Tagged date                              : UTC 2018-09-18 20:48:26
 Color range                              : Limited
 Color primaries                          : BT.709
 Transfer characteristics                 : BT.709
@@ -47,15 +51,17 @@ Format/Info
 Format profile                           : LC
 Codec ID                                 : mp4a-40-2
 Duration                                 : 43 min 50 s
-Bit rate mode                            : Constant
+Bit rate mode                            : Variable
 Bit rate                                 : 192 kb/s
+Maximum bit rate                         : 305 kb/s
 Channel(s)                               : 2 channels
 Channel positions                        : Front: L R
 Sampling rate                            : 48.0 kHz
 Frame rate                               : 46.875 FPS (1024 SPF)
 Compression mode                         : Lossy
 Stream size                              : 59.4 MiB (5%)
-Default                                  : Yes
-Alternate group                          : 1
+Language                                 : German
+Encoded date                             : UTC 2018-09-18 20:48:26
+Tagged date                              : UTC 2018-09-18 20:48:26

HLS stream:

need to call ffmpeg
download time: 05:17

HTTP file download:

faster download: 03:33
encoding timestamp preserved
audio language preserved
md5 checksum provided

And bitrate 3583 kb/s vs. 3582 kb/s.. 😅
No really, thanks for this comparison. And I agree, the MP4 direct download is actually the better default and should be preferred, for the reasons you already mentioned.
BTW, what did you use to find the links? One of these?
https://mediathekdirekt.de/
https://mediathekviewweb.de/

BTW, what did you use to find the links? One of these?

Exactly. https://mediathekviewweb.de - is my favorite because of being fast due to using AJAX. In case I need a database in a local file, I go to https://mediathekdirekt.de/.

Could you try out the version from my pull request? It solve this issue for all media from Das Erste.

Sorry for not replying before. For now the patch cannot be cleanly applied. But looking at https://github.com/ytdl-org/youtube-dl/pull/17851/files#diff-2ebe82369b35395b419db1575a615d9dR27
    # IMPORTANT: Not valid for media from WDR/BR/etc. servers

it seems it is not exactly what this issue is about, since the video from 'Das Erste' was only one example for an ARD URL (www.ardmediathek.de / classic.ardmediathek.de).

For ARD download URLs can be obtained generally as follows (in a bash shell):
URL_CLASSIC='https://classic.ardmediathek.de/tv/mareTV/Estlands-verwunschene-Inseln/NDR-Fernsehen/Video?bcastId=14049152&documentId=66593126'
ID=`echo "${URL_CLASSIC}" | sed -e 's|.*documentId=\([0-9]*\)|\1|'`
JSON=`wget -q -O - "https://www.ardmediathek.de/play/media/${ID}"`
echo $JSON | jq -r '._mediaArray[]._mediaStreamArray[]._stream'

Result:
https://ndrod-vh.akamaihd.net/i/ndr/2019/0909/TV-20190909-1144-2800.,hd,hq,ln,hi,mn,lo,ao,.mp4.csmil/master.m3u8
https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.lo.mp4
[
  "https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.ln.mp4",
  "https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.hi.mp4",
  "https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.mn.mp4"
]
https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.hq.mp4
https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.hd.mp4

It looks like for quality parameter applies:

0 is "Low Quality"
1 is "Medium Quality"
2 is "High Quality" (actually "SD")
3 is "HD"
4 is "FullHD"

Thus one can select the desired download URL (e.g. "HD"):
echo "$JSON" | jq -r '._mediaArray[]._mediaStreamArray[] as $data | select($data._quality == 3) | $data._stream'

Result:
https://mediandr-a.akamaihd.net/progressive/2019/0909/TV-20190909-1144-2800.hd.mp4

I might take a look at this again next week. Things have changed significantly since 2018, so it's likely all going to be different now. Shouldn't be difficult to find out, though.

it seems it is not exactly what this issue is about, since the video from 'Das Erste' was only one example for an ARD URL (www.ardmediathek.de / classic.ardmediathek.de).

At the time, there weren't any higher quality streams/files from WDR/BR/etc. that weren't found by the existing code. Might have changed now but only ARD-Mediathek-hosted videos had higher quality back in 2018.


no main manifest attribute in jncryptor-1.2.0.jar

no main manifest attribute, in /...../..../jncryptor-1.2.0.jar
How to solve a problem?

JNCryptor is not an executable JAR. You should include it in your project classpath and build to the  API specified in the Javadocs.


migrate to typescript

Typescript is already the defacto mainstream for any serious project out there, i'm not sure why it's not written in typescript in the first place. It's still not too late to start migration piece by piece before the project gets too large.

thanks @maybesmurf! I agree most projects right now are written in TS and it's a good choice.
it was my deliberate choice to work on JS initially as it was intended for early stage founders who are not akin to working with TS to answer your uncertainty.
a TS implementation is on the way, though. care to share some contributions on TS migration? 🙂

care to share some contributions on TS migration?

Definitely. I'll be most glad to. Though the base structure needs to be set up so i (other contributors as well) can all follow the same pattern to enforce consistency all round

awesome! I'm looking forward to this one. let me know what you need to proceed :)

A tool to help migrate JavaScript code quickly and conveniently to TypeScript
https://github.com/airbnb/ts-migrate

There is a typescript branch, right?

Thanks @monoppa!
@fredguth yep! there's a branch, just needs to pull the updates from main branch

@maybesmurf got it! I'll prepare the base project for typescript migration. I don't mind the convention for now. thanks for taking the time. I'll get back to you on this

so,There is a typescript branch, right?

@xbyyz: yes, there's a TS branch but it'll be removed today.
Here's the TS project: https://github.com/nextacular/nextacular-ts
It's still experimental, haven't tested much of it, but have added the necessary TS configurations for a Next.JS project.
The project will build though if you set the tsconfig.json file's strict mode to false.
CC: @maybesmurf, @fredguth


build: Respect CC and other envvars when testing for timer_create()

Call customize_compiler() on new compiler instances in order to make
them respect the build environment settings (CC etc.).  This is
consistent with what distutils is doing, and fixes issues when 'cc'
is a different compiler than the one used to actually build Python
extension modules.
Noticed in https://github.com/gentoo/gentoo/pull/9284

@minrk FYI the static analyzer of SUSE Leap and Enterprise complains about a few things:
[  116s] I: Program is likely to break with new gcc. Try -fno-strict-aliasing.
[  116s] W: python-pyzmq strict-aliasing-punning zmq/backend/cython/_poll.c:3207, 3210
[  116s] W: python-pyzmq strict-aliasing-punning zmq/backend/cython/context.c:2803
[  116s] W: python-pyzmq strict-aliasing-punning zmq/backend/cython/message.c:1691, 1712, 4516
[  116s] W: python-pyzmq strict-aliasing-punning zmq/backend/cython/socket.c:1594, 1652, 1685, 7947
[  116s] W: python-pyzmq strict-aliasing-punning zmq/backend/cython/utils.c:839
[  116s]
[  116s] I: Program returns random data in a function
[  116s] E: python-pyzmq no-return-in-nonvoid-function /tmp/timer_create1zbrk8ac.c:3
[  116s] E: python-pyzmq no-return-in-nonvoid-function /tmp/timer_create_rMXTr.c:3
[  116s]
[  116s] I: Program returns random data in a function
[  116s] E: python-pyzmq no-return-in-nonvoid-function /tmp/timer_create1zbrk8ac.c:3
[  116s] E: python-pyzmq no-return-in-nonvoid-function /tmp/timer_create_rMXTr.c:3

https://build.opensuse.org/package/live_build_log/network:messaging:zeromq:git-stable/pyzmq/openSUSE_Leap_42.3/x86_64


[Question] Pydantic v2 compatibility

When will there be a version on pypi / conda compatible with pydantic v2 ? From the repo it looks like it is ready.

Seems like resolution is not yet complete:
INFO: pip is looking at multiple versions of geojson-pydantic to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install geojson-pydantic==0.6.3 and pydantic==2.0 because these package versions have conflicting dependencies.

The conflict is caused by:
    The user requested pydantic==2.0
    geojson-pydantic 0.6.3 depends on pydantic~=1.0

To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

You tried to install geojson-pydantic from pip in an environment with pydantic 2.0.0. It won't work because the version (<=0.6.3) of geojson-pydantic that is on pypi is only compatible with pydantic > 2.0.0.
If you install geojson-pydantic from the git repo everything looks fine. My question is when will this package be pushed to pypi, so it will be easier to install in other environments.

It looks like the generic use of FeatureCollection is not quite ready. When used in combination with fastapi, for example:
from geojson_pydantic import FeatureCollection
from geojson_pydantic.geometries import Geometry
from pydantic import BaseModel
from fastapi import FastAPI

class MyProperties(BaseModel):
    a: int

MyFeatureCollection = FeatureCollection[Geometry, MyProperties]

app = FastAPI()

@app.get("/api/geojson", response_model=MyFeatureCollection)
def get_geojson() -> MyFeatureCollection:
    return MyFeatureCollection.model_validate({"type": "FeatureCollection", "features": []})

if __name__ == "__main__":
    uvicorn.run("main:app", host="localhost", port=8000, reload=True)

I get the following error:
Traceback (most recent call last):
  File ".venv/lib/python3.10/site-packages/pydantic/type_adapter.py", line 149, in __init__
    core_schema = _getattr_no_parents(type, '__pydantic_core_schema__')
  File ".venv/lib/python3.10/site-packages/pydantic/type_adapter.py", line 94, in _getattr_no_parents
    raise AttributeError(attribute)
AttributeError: __pydantic_core_schema__

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File ".venv/lib/python3.10/site-packages/pydantic/_internal/_generate_schema.py", line 461, in _generate_schema
    obj = _typing_extra.evaluate_fwd_ref(obj, globalns=self.types_namespace)
  File ".venv/lib/python3.10/site-packages/pydantic/_internal/_typing_extra.py", line 421, in evaluate_fwd_ref
    return ref._evaluate(globalns=globalns, localns=localns, recursive_guard=frozenset())
  File "/usr/lib/python3.10/typing.py", line 694, in _evaluate
    eval(self.__forward_code__, globalns, localns),
  File "<string>", line 1, in <module>
NameError: name 'Geometry' is not defined

The error seems coming from the GeometryCollection model from the Geometry type.
Note that with geojson_pydantic v0.6.3 and pydantic v1.9.1 the above code runs.
versions

geojson_pydantic latest version from the git
pydantic version 2.0.2

My question is when will this package be pushed to pypi, so it will be easier to install in other environments.

We don't have a date yet, there are couple issues we wanted to fix first
Thanks for the FastAPI issue, might be worth opening a new issue for this


Character creator error/issue

When i try to create a custom character in the character creator psych engine crashes

https://github.com/ShadowMario/FNF-PsychEngine/issues/395


Library breaks on newest Apple M1 chips

Hi,
On a project I'm working on, we have a dependency that depends on long.js. It works well on every machine except for new Apple M1 powered computers.
Code seems to be breaking here: https://github.com/dcodeIO/long.js/blob/master/src/long.js#L20.
Is there a plan for adding support to M1 chips already?

Fairly certain this is not related to M1's architecture, but if throws there that simply means that the respective browser or VM does not support WebAssembly yet. It should work without Wasm, though, as that's rather optional. What's the error you are seeing?

Fairly certain this is not related to M1's architecture, but if throws there that simply means that the respective browser or VM does not support WebAssembly yet. It should work without Wasm, though, as that's rather optional. What's the error you are seeing?

<--- JS stacktrace ---> ==== JS stack trace ========================================= Security context: 0x0001073c08d1 <JSObject>   0: builtin exit frame: new constructor(aka Module)(this=0x000113194e91 <Object map = 0x123531d09>,0x000113194d41 <Uint8Array map = 0x107382b99>,0x000113194e91 <Object map = 0x123531d09>)   1: ConstructFrame [pc: 0x105060778]   2: StubFrame [pc: 0x105149224]   3: /* anonymous */ [0x113194649] [/Users/arezoo/Documents/Projects/webplex/node_modules/long/src/long.js:9] [bytecode=0x12363cf... FATAL ERROR: wasm code commit Allocation failed - process out of memory  1: 0x104893344 node::Abort() [/Users/arezoo/.nvm/versions/node/v12.20.1/bin/node]  2: 0x1048934c4 node::errors::TryCatchScope::~TryCatchScope() [/Users/arezoo/.nvm/versions/node/v12.20.1/bin/node] 11:24 ---> FATAL ERROR: wasm code commit Allocation failed - process out of memory

<--- JS stacktrace ---> ==== JS stack trace ========================================= Security context: 0x0001073c08d1 <JSObject>   0: builtin exit frame: new constructor(aka Module)(this=0x000113194e91 <Object map = 0x123531d09>,0x000113194d41 <Uint8Array map = 0x107382b99>,0x000113194e91 <Object map = 0x123531d09>)   1: ConstructFrame [pc: 0x105060778]   2: StubFrame [pc: 0x105149224]   3: /* anonymous */ [0x113194649] [/Users/arezoo/Documents/Projects/webplex/node_modules/long/src/long.js:9] [bytecode=0x12363cf... FATAL ERROR: wasm code commit Allocation failed - process out of memory  1: 0x104893344 node::Abort() [/Users/arezoo/.nvm/versions/node/v12.20.1/bin/node]  2: 0x1048934c4 node::errors::TryCatchScope::~TryCatchScope() [/Users/arezoo/.nvm/versions/node/v12.20.1/bin/node] 11:24 ---> FATAL ERROR: wasm code commit Allocation failed - process out of memory

Might be a problem with node.js on M1. Have you tried using a recent version of node?

Might be a problem with node.js on M1. Have you tried using a recent version of node?

We will try (and inform you about the results).
However it looks like wasm is not supported on M1.

We will try (and inform you about the results).
However it looks like wasm is not supported on M1.

Hi @dcodeIO ,
I'm here to confirm that long.js on Apple Silicon + Node 15 works as expected. It would be great to provide backward compatibility, or at least give some indications in the docs about that "issue". If you're open to PR I'd like to add something to the readme regarding this

Hi @dcodeIO ,
I'm here to confirm that long.js on Apple Silicon + Node 15 works as expected. It would be great to provide backward compatibility, or at least give some indications in the docs about that "issue". If you're open to PR I'd like to add something to the readme regarding this

I am not sure that this package is the correct place to do that. The issue appears to be with node.js on M1, potentially affecting every JS package using WebAssembly in some capacity.

I am not sure that this package is the correct place to do that. The issue appears to be with node.js on M1, potentially affecting every JS package using WebAssembly in some capacity.

Yeah I get your point. So I'll close this issue, thanks

Yeah I get your point. So I'll close this issue, thanks


Ability to add multiple events in one line

Add the ability to bind multiple events in one line inside backbone views.
Instead of one event per line to call the same function
events: {
    'click a[data-anchor]': 'scroll',
    'wheel': 'scroll',
    'keydown': 'scroll'
}

All events can be written on the same line (separated by commas)
events: {
    'click a[data-anchor], wheel, keydown': 'scroll'
}

Dupe of #2611, #1362, and others. Please do a search before opening issues.

It's a request, not an issue :p
I read these conversations before.
But I am not offering the same code, i thought it was a good thing to propose a new version to take care of white spaces as @jashkenas mentioned it in #1362 conversation and with less lines of code.
Does it really affect performances ? I don't think so.
Why not add a new feature which keep the same behavior in this case ? :)


Project System: Project references should have a different icon to binary references

From @davkean on March 23, 2016 23:58
It's hard to tell in the References tree, which is a project reference vs a binary reference:

We should choose a better icon, similar to what we did with NuGet, to better differentiate.
Copied from original issue: dotnet/roslyn#10039

From @ErikSchierboom on March 24, 2016 8:36
Great suggestion!

Would it make sense to also sort project references separately, i.e. first list all project references and then list all binary references?

This is now done with the new dependencies node.

🎉


'app\assets\HighlighterAsset' can not be found

Hi Guys,
I am new and trying to play this forum module. But I had error and it complained that  'app\assets\HighlighterAsset' not found.
Environment:

windows7
yii2

Did I miss some dependency module? But all that are mentioined in composer.json are already there.
"require": {
"php": ">=5.4.0",
"yiisoft/yii2": "",
"yiisoft/yii2-bootstrap": "",
"yiisoft/yii2-swiftmailer": ""
},
"require-dev": {
"yiisoft/yii2-codeception": "",
"yiisoft/yii2-debug": "",
"yiisoft/yii2-gii": "",
"yiisoft/yii2-faker": "*"
}
Can you please advise?
Thanks & Regards,
Henry

Hi @enlevel0,
this is a bug to the module. The Module was dependant on Application wide asset that is not included in the module. Am going to fix it today.
Thanks for reporting

Please confirm that the issue is gone before I close the ticket

it is confirmed that it is fixed now


Inline suggestions don't support multi cursor

Does this issue occur when all extensions are disabled?: Yes

VS Code Version: 1.66.0
OS Version: 12.3.1

Steps to Reproduce:
Settings:
  "editor.quickSuggestions": {
    "other": "inline",
    "comments": "inline",
    "strings": "inline"
  },
  "editor.suggestOnTriggerCharacters": false,

As you can see inline suggestions don't support multi cursor and if I press tab it changes only first line, also I think it would make senses to show ghost text also for all lines, not the first one.

@jrieken I think it's duplicate of https://github.com/microsoft/vscode/issues/146041 if I'm right you can close this issue, thanks!

/duplicate


Allow PresentationML to be sent

Fixed private sendMessage for when appendTags is false
Above fixes forwardMessage so it works
Check and appendTags only if necessary in public sendMessage function

PresentationML detection not perfect.


Uncaught Error: The specified module could not be found./?~\AppData\Local\atom\app-1.49.0\res...

[Enter steps to reproduce:]

...
...

Atom: 1.49.0 x64
Electron: 5.0.13
OS: Microsoft Windows 10 Home Single Language
Thrown From: Atom Core
Stack Trace
Uncaught Error: The specified module could not be found.
\?\C:\Users\rauna\AppData\Local\atom\app-1.49.0\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
At electron/js2c/asar.js:138

Error: The specified module could not be found.
\\?\C:\Users\rauna\AppData\Local\atom\app-1.49.0\resources\app.asar.unpacked\node_modules\keyboard-layout\build\Release\keyboard-layout-manager.node
    at process.func [as dlopen] (electron/js2c/asar.js:138:31)
    at Object.Module._extensions..node (internal/modules/cjs/loader.js:881:18)
    at Object.func [as .node] (electron/js2c/asar.js:147:18)
    at Module.load (internal/modules/cjs/loader.js:701:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:633:12)
    at Function.Module._load (internal/modules/cjs/loader.js:625:3)
    at Module.require (/app.asar/static/index.js:72:46)
    at require (internal/modules/cjs/helpers.js:14:16)
    at customRequire (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:1:735013)
    at get_KeyboardLayoutManager (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:14:2676864)
    at get_manager (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:14:2676966)
    at Object.getCurrentKeyboardLayout (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:14:2677092)
    at e.keystrokeForKeyboardEvent (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:14:1022283)
    at KeymapManager.keystrokeForKeyboardEvent (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:11:1239383)
    at KeymapManager.handleKeyboardEvent (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:11:1237368)
    at WindowEventHandler.handleDocumentKeyEvent (~/AppData/Local/atom/app-1.49.0/resources/app/static/<embedded>:11:284830)

Commands
  2x -1:56.3.0 core:save (input.hidden-input)

Non-Core Packages
atom-beautify 0.33.4
atom-html-preview 0.2.6
atom-ternjs 0.20.0
autoclose-html 0.23.0
csslint 1.2.0
emmet 2.4.3
language-ejs 0.4.0
linter 2.3.1
linter-eslint 8.5.5
linter-ui-default 1.8.1
pigments 0.40.2
teletype 0.13.4

Thanks for taking the time to contribute!
We noticed that this is a duplicate of https://github.com/atom/atom/issues/21285. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.


[SPARK-1953][YARN]yarn client mode Application Master memory size is same as driver memory...

... size
Ways to set Application Master's memory on yarn-client mode:

spark.yarn.am.memory in SparkConf or System Properties
default value 512m

Note: this arguments is only available in yarn-client mode.

@andrewor14 What to do now?
@vanzin @sryza @tgravescs  Someone has any better idea?

I'm not sure I understand the question? You can modify amMemory after parseArgs() is done, at which point you have all the info you need to make the right decision.

Test build #25087 has started for   PR 3607 at commit 3bf70cc.

This patch merges cleanly.

@vanzin  Oh thanks for that.
@andrewor14 Updated. Could you check if it is ok now?

@WangTaoTheTonic  have you manually tested this on a real cluster?  If not could you please and make sure both the overhead and memory work in both cluster and client modes. Make sure to test the combinations of the configs being set and the sparkSubmit memory options being specified.

Hey @WangTaoTheTonic I believe the latest changes correctly addresses my last concern (that in client mode the amMemory shouldn't depend on --driver-memory at all). However, I believe the better approach is to define a var driverMemory along with the other variables, and set this in --driver-memory. Then later in cluster mode we can set amMemory = driverMemory, but not in client mode. Does that make sense?

Hey @WangTaoTheTonic I believe the latest changes correctly addresses my last concern (that in client mode the amMemory shouldn't depend on --driver-memory at all). However, I believe the better approach is to define a var driverMemory along with the other variables, and set this in --driver-memory. Then later in cluster mode we can set amMemory = driverMemory, but not in client mode. Does that make sense?

Test build #25208 has started for   PR 3607 at commit ddcd592.

This patch merges cleanly.

@tgravescs @andrewor14
Sorry to produce so much issues in last rebase.
I've fixed them and tested again on my cluster. Here is the configuration(with yarn.scheduler.minimum-allocation-mb=256 in yarn):

spark.driver.memory=5G
spark.yarn.driver.memoryOverhead=1024
spark.yarn.am.memory=256m
spark.yarn.am.memoryOverhead=256
spark.yarn.executor.memoryOverhead=1024
spark.executor.memory=1g
spark.executor.instances=1

In cluster mode, it will launch two container: one used 6G, another 2G. In client mode they are 512M and 2G.
Then keep spark-defaults.conf unchanged with command:
./spark-submit  --class org.apache.spark.examples.SparkPi --master yarn-cluster(yarn-client) --driver-memory 4G --executor-memory 1280m  ../lib/spark-examples*.jar
In cluster mode, one used 5G, another 2.25G. In client mode, they are 512M and 2.25G.

Test build #25208 has finished for   PR 3607 at commit ddcd592.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25208/
Test PASSed.

Hi @WangTaoTheTonic the latest changes look pretty close. I believe the semantics of what should be set in what mode is as discussed. It would be good if other reviewers can confirm this. By the way you will need to rebase to master because ClientBase.scala no longer exists.

Test build #25284 has started for   PR 3607 at commit 6c1b264.

This patch merges cleanly.

Test build #25285 has started for   PR 3607 at commit d5ceb1b.

This patch merges cleanly.

Test build #25284 has finished for   PR 3607 at commit 6c1b264.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25284/
Test PASSed.

Test build #25285 has finished for   PR 3607 at commit d5ceb1b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/25285/
Test PASSed.

Ok I'm merging this into master thanks @WangTaoTheTonic for your repeated updates.

Oh gosh it is merged finally.
Thanks guys for persistent comments. @andrewor14 @tgravescs @vanzin @sryza


WASM: Add CEL exec API

Envoy supports executing CEL expressions. We need an API of type
int32 expression_handle  compile_cel_expr(std::string expr);

wasmResult evaluate_cel_expr(handle);

Advantages:

This way the entire expression is evaluated inside the host. CEL offers safety. Since CEL executes in the host, it will not incur multiple back roundtrips across the VM
Expressions can be moved to config, instead of C++ code. This means that when expression changes, we do not need to recompile and deploy WASM code. This saves on transport and v8 cache costs.

/cc @kyessenov @PiotrSikora


[branch-2.1][improvement](jdbc catalog) Force all resources to be closed in the close method

pick (#39423)
Force all resources to be closed in the close method. In the previous logic, query errors or query cancellation will not force the connection to be closed, which will cause abnormal Hikari connection counts. Although forced connection closure will generate some error logs in some cases, we should have this bottom-line guarantee and refine the closing logic later.

run buildall


"The MQTT request timed out: SDK Code -703."

What platform/OS are you using?
Linux raspberrypi 4.19.75-v7+ #1270 SMP Tue Sep 24 18:45:11 BST 2019 armv7l GNU/Linux
Prerequisite
SetAutoReconnectEnabled(true);
Error Message
The application  MQTT connection is normal and reconnection mechanism is valid. When publish, it will sometimes prompt "Publish runner failed. The MQTT request timed out: SDK code-703.". And then disconnects, and when it reconnects again, the connection succeeds, and the publish is normal again.

Sorry for the slow response. Does this happen randomly or is it repeatable? also can you include a minimum code sample that reproduces this error?

Sorry for the slow response. Does this happen randomly or is it repeatable? also can you include a minimum code sample that reproduces this error?


Bruno not responding

I have checked the following:

[X] I use the newest version of bruno.
[X] I've searched existing issues and found nothing related to my issue.

Describe the bug
I am using Ubuntu 22.04.4. Whenever I click on View, Window or Help. Bruno stops responding.
.bru file to reproduce the bug
No response
Screenshots/Live demo link

@gaurigera I am unable to replicate this with bruno v1.19 and Ubuntu 22.04.04.

Happened again @jwetzell...can it be an issue with my device or OS?

I'm not sure I just happened to have an Ubuntu 22.04.04 setup so tried installing v1.19 to try and reproduce this.

Same here using version 1.34.2. Within 30 seconds after opening the application, the application does not respond anymore. I haven't done anything but open the application


Fix problem with composed symbols in bundle name

This pull-request solves the problem with composed symbols in bundle name. (#122)
Also, I've fixed a possible problem with bundle name containing ".json".

Awesome! Thanks!


HIP Initiated Link Care Context

Product Description
Implements HIP Initiated Care Context Linking. This feature is part of Milestone 2.
To read more about this feature, Refer below:
https://sandbox.abdm.gov.in/abdm-docs/HIPInitiatedlinking
ABDM Gateway APIs:

HIP Gateway APIs (Milestone 2)

Technical Summary

All the APIs here are asynchronous and actual response are received in callback from ABDM Gateway immediately. However for the client of this API (e.g. mobile app), these should be synchronous in nature.
In order to achieve above, the implementation uses a basic polling mechanism to wait for callback response and data once received in callback is shared through django's default cache.  It is stored temporarily for a shorter duration (10s) in cache.
3 APIs are actually for user authentication (patient) and a separate directory is created for same. This is done for the possibility of easy reuse of these same API's by HIU if needed in feature other than separation of concerns.

Internal Specifications Doc
Automated test coverage
Test Cases added for API

Source branch will be changed to main once consent flow PR is merged.


net/http: support HTTP/3

I searched for an issue to track progress of implementing HTTP/3 in the standard library but couldn't find one, so I'm opening this new issue to track this (presumably inevitable) effort.
HTTP/3 is still an IETF draft, so there's not too much point starting work on this yet. The relevant spec is (currently) available here: https://quicwg.org/base-drafts/draft-ietf-quic-http.html.
Some questions we may want to answer before any work starts:

Should work on this start in one of the x repos, like HTTP/2 did?
What if any existing libraries can be used as a base for the new HTTP/3 work?

Of note is an existing attempt at implementing QUIC and HTTP/3 in pure go: https://github.com/lucas-clemente/quic-go.

Cloudflare now supports HTTP/3, and Chrome and Firefox will shortly start supporting it: https://blog.cloudflare.com/http3-the-past-present-and-future/

I know we are not in a race, but node has started implementing quic protocol in a draft PR.
Reference
Now, some bad opinions (if the go team is accepting them):

dedicated raw quic protocol API, just as tcp/udp?
http/3 server to be used explicitly and can be supported implicitly with http/2 as fallback using port reuse from a different API?

but node has started implementing quic protocol in a draft PR.

Correction: The Node.js QUIC implementation began back in Q1 2019, the draft PR is the result of all that work https://github.com/nodejs/node/issues/23064

I searched for an issue to track progress of implementing HTTP/3 in the standard library but couldn't find one, so I'm opening this new issue to track this (presumably inevitable) effort.
HTTP/3 is still an IETF draft, so there's not too much point starting work on this yet. The relevant spec is (currently) available here: https://quicwg.org/base-drafts/draft-ietf-quic-http.html.
Some questions we may want to answer before any work starts:

Should work on this start in one of the x repos, like HTTP/2 did?
What if any existing libraries can be used as a base for the new HTTP/3 work?

Of note is an existing attempt at implementing QUIC and HTTP/3 in pure go: https://github.com/lucas-clemente/quic-go.
As far as I know，there are some different between HTTP/3 and IETF QUIC. HTTP/3 is an Application Layer Protocol, but IETF QUIC is a Transport Protocol. TCP, UDP and iQUIC are in the same layer. IETF QUIC can replace TCP, so one day every Protocol based on TCP be able to work based on IETF QUIC, such as SSH. HTTP/3 is based on IETF QUIC. So I think that  the support of HTTP/3 is not root. We should add the support of IETF QUIC firstly, and then add the support of HTTP/3.
HTTP/2 and HTTP/3 work in a similar way, but HTTP/2 uses TCP,
while HTTP/3 uses IETF QUIC as the transport protocol. HTTP/3 support is optional. When enabled, HTTP/3 can fall back to HTTP/2 or HTTPS if not available.
So should we need to make some modification on this issue or reopening a new issue to track IETF QUIC?

Is there any progress on this? There are some existing open-source libs like quic-go that can be used for experimenting with quic, but it would be really neat to have something experimental from the std go lib.

:rocket:
https://blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html

I'm not sure which leadership you are asking about.
I think it's clear that Go must support HTTP/3.  This issue is a good place to record the work that needs to be done.  But it is one thing to say "we must do this" and it is a very different thing to say "this is how it will be done."

Sorry I’m not sure how that came off, I was just wondering if there was any official word on if this will be supported. Couldn’t find any on the issue tracker. Thanks for the quick answer though!

It seems to me that it is still a long way from now to we must do this.
I might have missed it but so far I did not see any interest shown in this subject from any of the net & net/http usual committers. Also a research about HTTP/3 or QUIC in golang-dev does not seem to yield any significant results.
It would be nice to see a discussion started amongst people actually capable of bringing it into the standard library.

NodeJS v15 was released earlier today, and it already includes experimental support for the Quic protocol.
Looking at providers like Cloudflare now, I’d say that Golang might be behind the times for this feature.

It's worth noting that HTTP/3 is not finalized by the IETF at this point. It is not enabled by default in Firefox and has experimental support. Google likes to push this protocol forward a lot and is using it already in Chrome, but it is still experimental and not finalized. I understand the Go team hesitating to start supporting a protocol that isn't even complete yet.

Hmm, well, Go's standard library has never been one to quickly adopt new technologies -- not without a lot of scrutiny. HTTP/2 might possibly be the exception, but even it was not vendored in from an external package until well after the spec was standardized. HTTP/3 isn't finished being standardized yet.
HTTP/3 is more complex than HTTP/2, and there's a lot of code necessary to make it work. I've been using and deploying lucas-clemente/quic-go for a couple years now -- frankly it's a beast.
It's OK if it's not in the standard library right away. I'd rather the standard implementation be correct, elegant, and stable, true to the reputation of the Go standard library.

I understand what you’re saying, but the issue is that the NodeJS team had been experimenting with Quic support for months before this release.
Now that companies like Cloudflare and Google are beginning support, it’s unlikely that the IETF standard will change drastically.
There’s no reason not to begin implementation or at least experimentation and make whatever small tweaks are necessary for the general availability release.

@mholt is completely correct in saying that whatever finalized HTTP/3 library is released should be elegant and stable. However, what I am saying is that I believe that we should at least begin an in-depth discussion on the topic instead of just saying we will wait for the standard to be completed by IETF.
If we leave it until later, then I can see an issue we’re people will want to use the vast benefits of HTTP/3 but be unable to do so with Golang.

Google has been using and pushing HTTP/3 since before it was even called that, they deployed their super-experimental non-standardized original version of the protocol in Chrome as early as 2012. It is not surprising they are still using and pushing it now, while it is still not standardized. I would argue Cloudflare is also supporting it prematurely, likely to test their implementation at scale.
No browser currently supports HTTP/3 by default. See https://caniuse.com/http3

However, what I am saying is that I believe that we should at least begin an in-depth discussion on the topic instead of just saying we will wait for the standard to be completed by IETF.

I agree that beginning discussion would be helpful. I'm just saying I understand why it hasn't happened yet, and I think there is still plenty of time. The current usage and demand for HTTP/3 seems to be effectively zero.

This is the main reason I have to write my server code in NodeJS right now, HTTP/3 is a requirement for us

Why not use quic-go?

As I see it, QUIC and HTTP/3 are so far into the IETF process that they are hardly bound to change anymore, definitely not substantially. Let me argue that if somebody would start implementing now they will not have to throw away any part of the implementation due to changes to the standard. By lying in wait for the finalization Go is only perpetuating the chicken-and-egg problem.
Not that any of this is a problem. Just my two cents.

QUIC is a new networking transport protocol that combines the features of TCP, TLS, and more. HTTP/3 is the latest version of HTTP, the protocol that carries the vast majority of Web traffic. HTTP/3 only runs over QUIC.
So I think the support of QUIC is also important in th future. Http3 and QUIC are work in different network layers. HTTP/3 only runs over QUIC. It's obvious that we need support QUIC.
https://link.zhihu.com/?target=https%3A//blog.chromium.org/2020/10/chrome-is-deploying-http3-and-ietf-quic.html

It kind of annoys me that nobody is touching to implement it in net package.
Has the work started by somebody? If not is it welcomed?!!

Has there been any progress on bringing an official implementation? Is there any issue that is blocking this?
I can't seem to understand what's blocking this, there seems to be a lot of interest too. Sure, quic-go does the job, but I'm sure it's nice to have official support for quic.

Overview of HTTP/3 support amongst clients and servers: https://daniel.haxx.se/blog/2021/04/02/where-is-http-3-right-now/

tldr: the level of HTTP/3 support in servers are surprisingly high considering very few clients enable it by default yet.

A few more browsers support it now: https://caniuse.com/http3

Guys, guys, something to read about:

https://groups.google.com/g/golang-codereviews/c/4ZLaf11dB6I?pli=1
https://go-review.googlesource.com/c/net/+/301454

QUIC has been published by the IETF as RFC 9000!
See this post: QUIC is now RFC 9000
HN Discussion: https://news.ycombinator.com/item?id=27310349

Note that that does not include HTTP/3. That'll be a separate RFC later on. I do think that this shows that it's about time to get an official QUIC implementation, though, either directly in net or in something like net/quic. If it starts in golang.org/x/net/quic first, that's fine, too.

Quick is #44886

I think it's clear that Go must support HTTP/3

@ianlancetaylor is it fair to assume that in a future if I do:
resp, err := http.Get("http://example.com/")

can I be using UDP underneath?
The context is about code that use the golang net/http library to implement HTTP/s probes, my understanding is that golang will probably end defaulting to http3, as it happened with http2, so, it will not be safe to assume http == TCP using net/http

@aojea I don't know anything about the code you mention, so I don't know whether it matters, but, yes, I agree that in the future it will not be safe to assume that the net/http package uses TCP underneath.

https://github.com/lucas-clemente/quic-go/blob/master/example/echo/echo.go

please use   import ”net/http3“
https://github.com/lucas-clemente/quic-go/blob/master/example/echo/echo.go

Yes please to this! Very exciting!

Hello.
Sorry if I am being annoying. Is Go team planning to implement http3 (and therefore quic) client/server in go library and is there some sort of timeline?
Or is go team first waiting for the draft to be finalized? Currently, there is already support in browsers (including Google's own Chrome) based on that draft.
Thanks.

Hello.
Sorry if I am being annoying. Is Go team planning to implement http3 (and therefore quic) client/server in go library and is there some sort of timeline?
Or is go team first waiting for the draft to be finalized? Currently, there is already support in browsers (including Google's own Chrome) based on that draft.
Thanks.

is there any progress？

is there any progress？

These useless comments ping everyone who is subscribed to this thread. Stop with the spam

Now HTTP/3 is standardized
https://www.rfc-editor.org/rfc/rfc9114.html

That document has the "Proposed standard" state and not "Internet Standard" but it is on the more stable side of the standardization process now.

For that matter, HTTP/2 is a Proposed Standard.

Judging by the number of references to this issue above, it seems there are quite a few projects waiting on this for various things. I'm personally just as interested in raw QUIC support as I am HTTP/3. Any chance of it happening? It's been pretty quiet for a while despite both protocols getting standardized.

Should this issue have a proposal label? There was a proposal that was closed as a duplicate of this issue, but this one isn't labeled as one and I worry that the proposal review team may be overlooking it because of that.

I don't think it would be helpful to send this issue through the proposal committee at this point.  The proposal committee is useful for coming to agreement on new API or precisely defined new functionality.  But so far nobody has described an API or exactly what it means to support HTTP/3 (I don't know myself).
In particular the proposal committee can't cause anybody to actually work on this.  That seems like the most useful next step here.

@marten-seemann Want to work together on a proposal for HTTP/3 in the Go standard library?

@ianlancetaylor I supposed with "support HTTP/3" they refer to start to implement this draft  https://datatracker.ietf.org/doc/html/rfc9114 inside the net package of Go, exists one team have a implementation of QUIC https://github.com/lucas-clemente/quic-go this can be the start point to do the first implementation of HTTP/3, also part of this draft was wrote by the team of QUIC, this team is belong to Google, using set theory you can determine the difference between both protocols and do the parts is not in the intersection, that should be useful to continue with the rest of steps

Here appear a implementation in other programming languages https://en.wikipedia.org/wiki/HTTP/3 they says have HTTP/3 implemented, if it is true you can copy/paste that code and convert it to Go

Marten and I have already exchanged some emails on the topic. Go's standard lib would have to implement the QUIC protocol which, unfortunately, has a lot of knobs and callbacks that are needed for secure and efficient deployments. My current understanding is that adding QUIC to the standard library would export considerable API surface area, including on the crypto/tls package, which is probably not desirable. (Maybe some of it could be refactored into an internal package, but still -- not trivial.) To minimize the exported API we'd need to have smart or sane defaults, but it's not clear to me, at least, what those defaults should be in the general case.
The most minimal QUIC implementation would lose a number of security and performance enhancements. Some examples include address verification (which should be done when the server is "under load" -- but only certain kinds of load -- to prevent amplification attacks) advertising HTTP/3 in the Alt-Svc header (which requires knowing the external port number), among others.
I suppose a good, minimal starting point for the API would be to have a function like http.ListenAndServeTLS() start a listener on a UDP socket as well as it does for a TCP socket.
For methods like http.Server.Serve(ln, handler), things are a little trickier since you'd have to have a net.Listener as well as a net.PacketConn for the UDP socket. Maybe the standard library could assume the same port as the given listener (if a TCP listener) and start its own UDP listener? But that does feel a bit "magical" for the standard library. (If it was an external library, I'd be more OK with that. But I don't feel right doing that in the standard lib.)
Anyway, many questions remain to be answered in the proposal drafting process.

@mholt I think the questions you should be asking is what kind of surface API would the stdlib need to expose to support QUIC implementations in a composable manner with other transports. there is already a quic implemention for golang in the wild; but it didn't really try to be very composable with our transport APIs in the stdlib. but it has brought improvements to the TLS api just by existing.
focusing on http in particular isn't a great approach as there are far more uses for quic than http. I think the main thing stdlib is missing is a concept of a multiplex transport that has both packet and reliable transport behaviors.

Related: https://github.com/golang/go/issues/58547 : proposal: x/net/quic: add QUIC implementation

According to https://caniuse.com/http3 and if I'm reading the chart right, over 70% of clients globally now support HTTP/3, with the main holdouts being Apple Safari. As far as I know, Go doesn't even have an official server in any kind of testing; it's especially strange given that Google was a very strong driver behind the global HTTP/3 adoption.

As a user I'm a bit concerned about how the Go team is handling QUIC and HTTP/3.
It now seems they had no plan up to a few days ago with that x/net/quic proposal (which is just the definition of an API not an actual implementation).
May be we misunderstood but, like a lot of people, we thought quic-go was some kind of official "Google sponsored" effort to add QUIC & HTTP/3 to Go since Lucas Clemente is a Googler... it seems we were wrong as there are clearly no sign of collaboration between them. That one is on us, we should have ask.
But that is concerning in term of timing for an official support of HTTP/3 in Go. We're a couple years late here...and does this implies that quic-go is wasted effort or not worth reusing?
 If Go starts lagging in that area ,less & less people will use it for new projects.  Not treating the evolutions of net/http at a higher priority seems, to me, a mistake.
That been said if the Go team ever add HTTP/3 to std lib, it would be nice to avoid some of the "ugly tricks" they used when they added HTTP/2, mainly the 'h2_bundle.go' trick and that awful hardcoded exception in crypto/tls among others...

To be fair, it's not just Go. To a large extent, it's also a reliance on a proper TLS library, since OpenSSL has basically destroyed itself.
For example, this HA Proxy thread has a great explanation of the issues surrounding TLS libs that have QUIC support:
https://github.com/haproxy/haproxy/issues/680
Akamai and NGINX are in the same difficult position of trying to work with a recalcitrant and insecure OpenSSL that doesn't want to move forward, and Linux distributions need to really step up quickly as well. Perhaps the best option for the Go community as well as everyone else is to move forward with the Rust library WolfSSL, which seems to be a lot safer than OpenSSL (and more stable than Google's own BoringSSL.) It might seem to be anathema to suggest using a Rust library like WolfSSL in Go, but if it's the best solution then it would let us move forward to H3 fastest, and if all of the other web and server vendors standardize on it, then it'd help get a valid, reliable, fast, and most of all secure solution into the distros that much faster.

One issue facing not just Go, but many other systems, is the dependence on a proper TLS library, especially in light of the problems created by OpenSSL. Even libraries that support QUIC, like those used by HA Proxy, can be problematic. This issue has affected Akamai, NGINX, and others as well, as they attempt to work with OpenSSL's lack of progress and ongoing security concerns. The situation calls for quick action from Linux distributions to address the issue.
A possible solution for the Go community and others is to embrace the Rust library, WolfSSL, which has been found to be a safer and more stable option than OpenSSL or BoringSSL.
While it may seem anathema to utilize a Rust library in Go, it's no different from currently relying on a C library and settling on a new, tightly-specced library like that might help accelerate adoption of the new H3 standard and provide a secure, reliable, and fast solution for all web and server vendors, thereby expediting its inclusion in mainstream distributions.

@codewinch isn't go's using BoringCrypto anyway for the crypto primitives, and native Go code for the rest of the SSL logic?
I don't understand how is OpenSSL relevant here at all

It might seem to be anathema to suggest using a Rust library like WolfSSL in Go

I don't mind that it's Rust (In fact, I think Rust support in cgo would be neat.), but using it would break anything using SSL with CGO_ENABLED=0. If at all possible, the standard library should implement the necessary pieces itself as part of the existing pure Go SSL package that's aready in there.

Personally I’d love to use wasm for this - compiling rust to wasm is usually pretty painless, and the wazero project allows you to run wasm code without CGO.
Plus, we’ve already seen demos where go farms out to a rust wasm binary to do regex (https://github.com/loopholelabs/scale-benchmarks) and the perf using wazero is pretty good. (@codefromthecrypt)
With all that being said however, I don’t think the biggest issue is what kind of SSL lib we should use (or how) - it’s trying to find the fastest way to add HTTP/3 support (ie. with the least amount of work).
Being able to use rust via CGO is definitely cool (and I’d love to see it too!) but the go team would have to first add that feature, then integrate a foreign SSL library, and then (and only then) could they start work on the HTTP/3 implementation.
Frankly the easiest path forward would be to take the existing quic-go implementation and just integrate it into the stdlib.
Obviously you’d need to rewrite parts of it but if it already works, why throw it away?

the wazero project allows you to run wasm code without CGO

The issue isn't running it, but rather it's compilation. This change would require a Rust compiler on the system in order to build the Go standard library, and especially with the new changes in 1.20 to not ship a pre-compiled standard library with distributions of Go, this seems like a rather huge change and potential major problem for many, many people downstream.

Frankly the easiest path forward would be to take the existing quic-go implementation and just integrate it into the stdlib.

I agree, that seems like the best option to me, too. I'd like some API cleanups and whatnot, plus better integration with, say, net.Dial() possible, but the implementation itself clearly seems to work pretty well.

using a Rust library like WolfSSL

WolfSSL is C, not Rust. And it builds pretty fast (5 seconds or so). The main issue with WolfSSL is that it's not particularly dynamic, it was initially designed for embedded systems so it has a hundred or so of configure options and almost needs to be configured for the target use case. However its coverage of the openssl API seems to be pretty large (we do have regtests failing due to missing mappings but a lot of stuff seems there already). I think this lib just needs more users to start to figure what a generic use case could be and at least support being pre-built for such use cases and shipped as-is by distros.

can't we add quic-go into this package.
browsers also support this protocol now.
https://caniuse.com/http3

Any news on this? All major browsers but safari ofc support it.
I do believe this should be considered. As having standards is a must have in everything.

@32bitx64bit
It's being worked on, but a QUIC implementation needs to be created first. That's also being worked on: https://pkg.go.dev/golang.org/x/net/internal/quic

they are making a lot progress here:
https://github.com/quic-go/quic-go

@32bitx64bit
It's being worked on, but a QUIC implementation needs to be created first. That's also being worked on: https://pkg.go.dev/golang.org/x/net/internal/quic

It's been moved out of internal: https://pkg.go.dev/golang.org/x/net/quic

@32bitx64bit
It's being worked on, but a QUIC implementation needs to be created first. That's also being worked on: https://pkg.go.dev/golang.org/x/net/internal/quic

It's been moved out of internal: https://pkg.go.dev/golang.org/x/net/quic

is there any http3 implementation using it yet?


3.4 - lot of {"debug":"","code":0} in logs

Steps to Reproduce
When running latest version, I am seeing a lot of {"debug":"","code":0} in the logs
Expected Result
Not seeing these debug entries
Version of Kinvey HTML5 SDK
3.4
Pretty sure this message is coming from Kinvey, but can't be 100% sure !

Turns out may not be Kinvey related but from another library. Sorry!

No worries Alex

Actually! Now seeing a lot of {"debug":"","code":-1}
Seems to be when I have 2 network searches quickly in succession (tens of milliseconds between), from same device. Inconsistent though, mainly does not report this error (and works as expected)
That error is the error (JSON version) that is going to the error catch from a collection search query.
When I get that error, I am NOT seeing the request going to baas.kinvey - so my feeling is that the error is in query creation somewhere in the client library.
i.e.

Network request 1 - always works
Network request 2 - 95% of time works, 5% of time get the error, no request sent to baas.kinvey in these situations

Any thoughts? (or at least, do you recognise a debug error response and is it possible for the library to provide more detail as to what to look for....) Is this something left in the code your end from your development?
Currently on 3.4.0

Interestingly, I can recreate this exact error code by sending a mal-formed field list to the collection query. Means it could be my code of course.....
What I am really asking for is that you provide a bit more meat on the error message as right now its hard to know where to start

@alexbainbridge I agree a better error message would help. Do you have some sample code that can recreate this issue?

query.fields = ['_id', 'items_json']+'.'+ui_lang;
(with e.g. ui_lang sent to a string such as en, turns out that the field filtering works on secondary level values not just top level columns.... which is GREAT)
when I meant to do
query.fields = ['_id', 'items_json'+'.'+ui_lang];
That gets the same error message, 100% of the time.
Of course I have fixed that (!), but its the same error message as when something that I can't find causes an error, hence at least (perhaps) points at the area of code that creates the error..... making it possible to add more meat to the error response...
Thanks!

I did the following
var store = Kinvey.DataStore.collection('books');
var query = new Query();
query.fields = ['_id', 'items_json']+'.en';
store.find(query)
  .subscribe(function(result) {
    console.log(result);
  }, function(error) {
    console.log(error.name, error.message);
  });

I saw the following message printed QueryError fields must be an Array. Please see our troubleshooting guide for more information on errors.

Yeah that one was. The ORIGINAL one though, which is 5% intermittent, who knows. I will keep plugging away! (I wonder if showing the original query that the client THOUGHT it was, in the error message, would be helpful, if saying the query is malformed)..... its never creating network traffic so the evaluation has to be within the client library itself

What does the code look like where you log this error?

The answer is "its complicated" ;)
I have a user update, a search, a second search (with different criteria, excluding those found on the first search, i.e. ensuring that something is found if the first search doesn't come up with much). Due to the asynchronous nature of this, hard to know exactly what happens in what order as some are not done in then sections of code.
Its the second search that is intermittently failing
OK - this is on me - I will see if I can work out how to make it a constantly fail rather than intermittent fail. I can probably do this with logging my end. 50/50 this will be my end or your end!
Leave this open, let me come up with something more specific, then we can take this forwards!
Thanks Thomas

Right now I have parked solving this problem - if I get exactly that error on the 2nd search - I just run the query again, and it works...... which although is not really going to help you get to the root cause, is good enough for my situation and the user experience is not impacted (although 200ms later)
Its not network connectivity, its not logic our end (otherwise rerunning wouldn't make it work). Its something else! But it is something....

OK - I have worked out what the problem is (now that with the latest version of client library the full Kinvey error is showing)
"originalStack":"Error\n    at NoActiveUserError.g (http://localhost:8100/build/polyfills.js:3:7133)\n    at NoActiveUserError.ExtendableBuiltin (http://localhost:8100/build/main.js:142374:9)\n    at NoActiveUserError.ExtendableError (http://localhost:8100/build/main.js:142404:120)\n    at NoActiveUserError.BaseError (http://localhost:8100/build/main.js:20983:108)\n    at new NoActiveUserError
(not full message)
It seems that when doing multiple search queries on the same page, with a query processed early in the queue that updates the Kinvey user collection..... IF that update happens to hit at the same time as a later query, the later query has no active user.... as these updates are async, its hard to know what will hit when.
Now I know this, I can work around it even better....... BUT ideally I guess the client library should not have a period in the active user update where there is no active user set ?

Also I note https://support.kinvey.com/support/discussions/topics/12000008585

On the support forum message one comment is "I have a custom end point that queries a couple collections and returns. "
Hence that is also an example of multiple queries on the same page running perhaps concurrently? Sounds a similar concept to what I am doing
Slightly clutching at straws :)

Good find @alexbainbridge. We will take a look at our code used to store and update the active user.

Thanks @thomasconner
For completeness, the full error message
{"originalStack":"Error\n    at NoActiveUserError.g (http://localhost:8100/build/polyfills.js:3:7133)\n    at NoActiveUserError.ExtendableBuiltin (http://localhost:8100/build/main.js:142409:9)\n    at NoActiveUserError.ExtendableError (http://localhost:8100/build/main.js:142439:120)\n    at NoActiveUserError.BaseError (http://localhost:8100/build/main.js:20983:108)\n    at new NoActiveUserError (http://localhost:8100/build/main.js:162426:119)\n    at Object.session (http://localhost:8100/build/main.js:99634:42)\n    at KinveyRequest.getAuthorizationHeader (http://localhost:8100/build/main.js:99725:28)\n    at KinveyRequest.execute (http://localhost:8100/build/main.js:99755:19)\n    at KinveyObservable._subscribe (http://localhost:8100/build/main.js:52563:24)\n    at KinveyObservable.Observable._trySubscribe (http://localhost:8100/build/main.js:24166:25)\n    at KinveyObservable.Observable.subscribe (http://localhost:8100/build/main.js:24154:27)\n    at http://localhost:8100/build/main.js:42455:22\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14529)\n    at Object.onInvoke (http://localhost:8100/build/main.js:4425:37)\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14469)","zoneAwareStack":"Error\n    at NoActiveUserError.g (http://localhost:8100/build/polyfills.js:3:7133)\n    at NoActiveUserError.ExtendableBuiltin (http://localhost:8100/build/main.js:142409:9)\n    at NoActiveUserError.ExtendableError (http://localhost:8100/build/main.js:142439:120)\n    at NoActiveUserError.BaseError (http://localhost:8100/build/main.js:20983:108)\n    at new NoActiveUserError (http://localhost:8100/build/main.js:162426:119)\n    at Object.session (http://localhost:8100/build/main.js:99634:42)\n    at KinveyRequest.getAuthorizationHeader (http://localhost:8100/build/main.js:99725:28)\n    at KinveyRequest.execute (http://localhost:8100/build/main.js:99755:19)\n    at KinveyObservable._subscribe (http://localhost:8100/build/main.js:52563:24)\n    at KinveyObservable.Observable._trySubscribe (http://localhost:8100/build/main.js:24166:25)\n    at KinveyObservable.Observable.subscribe (http://localhost:8100/build/main.js:24154:27)\n    at http://localhost:8100/build/main.js:42455:22\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14529)\n    at Object.onInvoke (http://localhost:8100/build/main.js:4425:37)\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14469)","stack":"Error: There is not an active user. Please login a user and retry the request.\n    at g (http://localhost:8100/build/polyfills.js:3:7133)\n    at NoActiveUserError.BaseError (http://localhost:8100/build/main.js:20990:19)\n    at new NoActiveUserError (http://localhost:8100/build/main.js:162426:119)\n    at Object.session (http://localhost:8100/build/main.js:99634:42)\n    at KinveyRequest.getAuthorizationHeader (http://localhost:8100/build/main.js:99725:28)\n    at KinveyRequest.execute (http://localhost:8100/build/main.js:99755:19)\n    at KinveyObservable._subscribe (http://localhost:8100/build/main.js:52563:24)\n    at KinveyObservable.Observable._trySubscribe (http://localhost:8100/build/main.js:24166:25)\n    at KinveyObservable.Observable.subscribe (http://localhost:8100/build/main.js:24154:27)\n    at http://localhost:8100/build/main.js:42455:22\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14529)\n    at Object.onInvoke (http://localhost:8100/build/main.js:4425:37)\n    at t.invoke (http://localhost:8100/build/polyfills.js:3:14469)\n    at n.run (http://localhost:8100/build/polyfills.js:3:9741)\n    at NgZone.run (http://localhost:8100/build/main.js:4294:62)","debug":"","code":-1,"__zone_symbol__currentTask":{"type":"microTask","state":"notScheduled","source":"Promise.then","zone":"angular","cancelFn":null,"runCount":0}}

Hi @thomasconner if you get a few seconds to take a peek at this (and the support forums issue that sounds similar) would be great! Workaround I (and the support forum person) have put in is workable, but creates a momentary poor user experience, and would rather avoid it if you could fix it :)

@alexbainbridge Sorry for the delay. I am will work on having a fix out for this in the next release. I expect to have this release out in the next week or two. I will update this issue when the release it out with the fix.

Fixed with release 3.5.1


Add accessibility test

Coverage increased (+1.13%) when pulling 3c71f5897cd1994e6d66ca8062618f2be9486a02 on accessibility into 737e0563f78f20e8bf97a898f7767f394caaf6fa on master.

Changes Unknown when pulling 7fd7671ba7386672283ce6e1f2a6f05963a79c5b on accessibility into ** on master**.

Coverage increased (+1.12%) when pulling 7fd7671ba7386672283ce6e1f2a6f05963a79c5b on accessibility into 3617005e0863d23cbf8027db7b3e12657533ea88 on master.


Serialize a json string into a Pydantic model in a multipart Form

First check

[x] I added a very descriptive title to this issue.
[x] I used the GitHub search to find a similar issue and didn't find it.
[x] I searched the FastAPI documentation, with the integrated search.
[x] I already searched in Google "How to X in FastAPI" and didn't find any information.
[x] I already read and followed all the tutorial in the docs and didn't find an answer.
[x] I already checked if it is not related to FastAPI but to Pydantic.
[x] I already checked if it is not related to FastAPI but to Swagger UI.
[x] I already checked if it is not related to FastAPI but to ReDoc.
[x] After submitting this, I commit to one of:

Read open issues with questions until I find 2 issues where I can help someone and add a comment to help there.
I already hit the "watch" button in this repository to receive notifications and I commit to help at least 2 people that ask questions in the future.
Implement a Pull Request for a confirmed bug.

Example
I'm trying to serialize a json string sent in as a multipart form.
This is a minimally reproducible server:
from fastapi import FastAPI
from pydantic import BaseModel

app = FastAPI()

class Spec(BaseModel):
    some_field: str

@app.post("/foo")
async def foo(
        spec: Spec = Form(..., ),
        file: List[UploadFile] = File(...),
        ):
    return "success!"

The server will, when called with this request, as sent from python's requests library:
requests.post(url, data={"spec": spec.json()}, files={"file": (filename, file_handle)})

where spec is an instance of Spec above, return 422 with body
{"detail":[{"loc":["body","spec"],"msg":"value is not a valid dict","type":"type_error.dict"}]}

Environment

OS: Ubuntu 20.04
FastAPI Version 0.61.1
Python version: 3.8.5

This can help you: https://github.com/tiangolo/fastapi/issues/2387#issuecomment-731662551

I feel like I can understand what's going on with the following a bit better, but I believe they are essentially doing the same thing:
def as_form(cls):
    """ decorator for you pydantic model to turn them into form models """
    cls.__signature__ = cls.__signature__.replace(
        parameters=[
            arg.replace(default=Form(...) if arg.default is arg.empty else Form(arg.default))
            for arg in cls.__signature__.parameters.values()
        ]
    )
    return cls

then you use it like so:
class UserModel(BaseModel):
    username: str

@service.as_form
class UserModelForm(UserModel):
    """ form model """

any path operators that use UserModelForm accept form data. any path operators that use UserModel accept json
like so (for form data):
@router.post("/post_form")
def post_form(self, user: UserModel = Depends(UserModelForm)):
    return user

I think this solution is what you need.
import fastapi
import pydantic

app = fastapi.FastAPI()

class User(pydantic.BaseModel):
    username: str

@app.post("/create-user-json")
def create_user_json(
    user: pydantic.Json[User] = fastapi.Form(...),
    file: fastapi.UploadFile = fastapi.File(...),
) -> None:
    ...


Typescript declarations, please?

It seems there are no typescript definitions. Could you please add a vue2-perfect-scrollbar.d.ts?

Yes I can but I have to find some time to do it ;-) Otherwise you can push some PR if you need it quickly.

I know ;-) I'll see what I can do, just wanted to create this as a note.