Problem with TCP RST (reset) packets

Hi,
It seems that when I close a socket I get an PSH ACK (acknowledgement) packet (after the fact) that isn't handled and then the router issues a RST packet.
I'm a bit concerned this will come to be a bigger issue in prolonged usage. I tried to reproduce with python & jquery and it does not seem to be a server issue but directly related to when I use easywsclient.
I think ws->close() does not handle the ACK packet and closed prematurely. Any thoughts on how to mitigate this?

Thanks for reporting this. Which side is initiating the close? When initiating close from easywsclient, it will do this:

It will queue a opcode=close (0x8) message for transmission in txbuf.
On the subsequent calls to pull(), easywsclient will try to flush out the tx queue (txbuf).
Finally, call close() on the socket when txbuf is empty (which should send RST from easywsclient).

Question for you: after step 3, what ACK packet is there to be handled? Let me know if I misunderstood this. Thanks.

So, after the pull() the other side sends an ACK and then easywsclient sends a RST. I'm guessing the RST is actually sent my the kernel as easywsclient has closed the socket already. I'm not sure if this ACK is handled or not to be honest and I'm not sure how to test it.


Feature request - remember Reader view preference on a per feed basis

I would like to specify that certain feeds default to using reader view.

Mac or iOS?

Sorry, Mac OS
Tim
On 29 Sep 2020 at 18:23 +0200, Brent Simmons<EMAIL_ADDRESS>wrote:

Mac or iOS?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

Select a feed in the sidebar, choose Window > Info, check “Always use Reader view”

Thanks Brent.
However, there's no way I'd have found that.  Perhaps it could just be added as a toggle menu item to the context menu?


ref(controller): remove duplicate _start_containers() logic

That does (did) look like duplicated code to me. Showing 1 changed file with 4 additions and 26 deletions is always nice. Code LGTM.

Interesting. Definitely looks like duplication. Not sure how that got in there.
Code LGTM.

old code cruft, my best guess :)


Update README.md

What
The link to Avro Object Container Files did not point to the Object Container Files section in the docs.
Solution
Updated the link

Thanks @alexrs - I believe that the conventional commits linter will not allow this commit message - could you please update your commit to docs: update README.md?


Quastion - is it possible to make TryLogin work in offline mode

Is it possible to make TryLogin work  when internet is disconnected ? i need to find out if person is loged in , inside SPA application without hitting the identity server. basically i dont want to hit the server every time i need to check log in/out state.

Hi,
I would use hasValidAccessToken() and/or hasValidIdToken() for this.
Would this work for you?
Wishes,
Manfred

Thanks Manfred.

By the way it would be great if you check issuer as well inside hasValidAccessToken().
Point is i can inject valid token from somewhere else with same name inside browser storage and pass this method.

Thx for pointing this out. The reason for this is, that per definition the AccessToken is just a string for the client. It can be everything as long as the resource server can read it. When using OIDC you get an id_token which brings further security (e. g. signature and hash value of the access_token).
Would it help you if the lib had a flag that makes it to use the access_token instead of the id_token?


LuckPerms server consistent crashing

Hi! I have a small 1 GB RAM server which runs the plugins:
Citizens // CompromiseMOTD // EpicRename // EssentialsX set // GUIPlus // HolographicDisplays // LuckPerms // MyCommand // PlaceholderAPI // Vault // WorldEdit
Every few hours or so, the server will crash with the same console log: https://pastebin.com/QTesyDcs
It repeats luckperms-scheduler-worker-(random number)
I'm running PaperSpigot 1.15.2
Any help to solve the issue would be greatly appreciated!
Thank you!
Have a nice day!

While it says luckperms in the thread dump, the first section that says (look for plugins here) is the important part. It's probably a lack of RAM, and definitely not luckperms causing it.

While it says luckperms in the thread dump, the first section that says (look for plugins here) is the important part. It's probably a lack of RAM, and definitely not luckperms causing it.

Oh alright, I'll be sure to upgrade soon! Thank you!!


Old Function secret values removed after adding a new ones and pusing them to another environment

How did you install the Amplify CLI?
No response
If applicable, what version of Node.js are you using?
No response
Amplify CLI Version
12.1.1
What operating system are you using?
Pop Os
Did you make any manual changes to the cloud resources managed by Amplify? Please describe the changes made.
No
Describe the bug
In a multi-environment project when I add new Secret values to a Lambda in dev, merge changes to staging and push them, CLI tries to remove every old Secret value and only keep the new ones. This happens after CLI prompts me to add values for the new secrets, and then asks if I want to continue.
I see these changes made by the CLI:
Old secrets are removed at function-parameters.json from the secretNames array and from the top level comment at app.js of my Lambda (getParameters example).
I have had this issue before, and then resetting changes done by CLI have lead into no problems on the push, but now CLI removed all of my old secrets even after resetting the changes before proceeding with the Amplify push. This makes it extremely scary to push anything into  production.
I mentioned this issue on another ticket, where something got fixed at 12.0.0. I had multiple issues on that issue, so perhaps this one was not the one that got fixed.
https://github.com/aws-amplify/amplify-cli/issues/12188
Expected behavior
Old secret values should not be removed
Reproduction steps

Have a Lambda with one or more existing secret values. Not sure if it matters, but this particular Lambda is added with a API Gateway, so that the Lambda is invoked by REST API.
Add two new secret values and push the changes
Commit changes to Git
Merge changes to another environment and amplify env checkout newEnv
amplify push, add missing values for the new secrets
When CLI asks Are you sure you want to continue? (Y/n) ‣ , observe from git diff how CLI tries to remove every old existing Secret.
Try to reset the changes, and after that proceed with the push
After push is completed, observe how the old secrets are removed in  the code and in the Parameter store (in cloud).
I can recover from this by resetting all the changes occurred after amplify push, and updating each removed secret one by one.

Project Identifier
6b0d8978f235dda0a7c441c51bcf218f
Log output

# Put your logs below this line

Additional information
No response
Before submitting, please confirm:

[X] I have done my best to include a minimal, self-contained set of instructions for consistently reproducing the issue.
[X] I have removed any sensitive information from my code snippets and submission.

The current workaround seems to be populating the new secret values with amplify function update -> update secrets. This happens after merging and env checkout, and before doing amplify push.

Hey @parvusville :wave: thanks for raising this and for providing those details! I was able to successfully reproduce this. Marking as a bug.

Just ran into this; it is pretty painful!


add Vcb exclusive schemes

@DavidMStraub this is an attempt to implement CKM schemes based on Vcb exclusive either from B0->Dlnu or from B0->D*lnu using the HFLAV combination. I thought that the exclusive branching ratios have the same CKM prefactor Vcb**2 as the inclusive branching ratio and therefore ckm_fac, get_ckm, and jacobian can be copied from the Vcb inclusive scheme. However, doing this, the determined Vcb is much too small (by roughly a factor of 2, Vcb~0.02) (cf. par_ckm_CKMSchemeRmuBtaunuBDlnuDeltaM.yaml and par_ckm_CKMSchemeRmuBtaunuBDstlnuDeltaM.yaml)
Do you have any idea what I'm doing wrong?

It's quite shocking, but this is apparently a bug in flavio,
https://github.com/flav-io/flavio/issues/96
The new FF implementation was tested thoroughly against EOS, so I don't understand how this is possible, but perhaps there is a difference in conventions or something :frowning_face:
Independently of that: I think it is inconsistent to use exclusive b->c branching ratios as CKM inputs in smelli.

They assume LFU
They often assume specific form factor parametrizations which are not necessairly consistent with what is otherwise used in smelli

Quite in general, I think one should not use input observables that depend in a complicated way on poorly known hadronic quantities.


Added send-HTTP-request function using Dart

Signed-off-by: Tanmay Sarkar<EMAIL_ADDRESS>Performing POST request to <IP_ADDRESS>:3000 with JSON Body containing payload.

I am eagerly waiting for you reviews @Meldiron @wess @TorstenDittmann @abnegate @christyjacob4

@sarkartanmay393 have you had a chance to address my comments?

Hey there 👋
We are temporarily closing your PR as there has been no activity on it. Feel free to re-open it when you're ready to start working on it again 😇


index.html.ninja-mann07.github.io/settings/notifications/excalidraw.obsidian/updates

viewUpdateScene (
scene: {
elements?: ExcalidrawElement[],
appState?: AppState,
files?: BinaryFileData,
commitToHistory?: boolean,
storeAction?: "capture" | "none" | "update",
},
restore: boolean = false,
):void ;
### Tasks
- [ ] https://github.com/excalidraw/excalidraw/pull/8111
- [ ] https://github.com/excalidraw/excalidraw/pull/8108
- [ ] https://github.com/excalidraw/excalidraw/issues/8109
- [ ] https://github.com/excalidraw/excalidraw/issues/8107
- [ ] https://github.com/excalidraw/excalidraw/issues/6777
- [ ] https://github.com/excalidraw/excalidraw/issues/7873
- [ ] https://github.com/excalidraw/excalidraw/issues/8104
- [ ] https://github.com/excalidraw/excalidraw/issues/8106
- [ ] https://github.com/excalidraw/excalidraw/issues/8103
- [ ] https://github.com/excalidraw/excalidraw/issues/8105
- [ ] https://github.com/excalidraw/excalidraw/issues/7903
- [ ] https://github.com/excalidraw/excalidraw/pull/7429
- [ ] https://github.com/excalidraw/excalidraw/pull/8012
- [ ] https://github.com/excalidraw/excalidraw/pull/6382
- [ ] https://github.com/excalidraw/excalidraw/issues/4847
- [ ] https://github.com/excalidraw/excalidraw/issues/7998
- [ ] https://github.com/excalidraw/excalidraw/issues/7237
- [ ] https://github.com/excalidraw/excalidraw/pull/7722
- [ ] https://github.com/excalidraw/excalidraw/issues/5370
- [ ] https://github.com/excalidraw/excalidraw/issues/3510
- [ ] https://github.com/excalidraw/excalidraw/issues/6619
- [ ] https://github.com/excalidraw/excalidraw/issues/6095
- [ ] https://github.com/excalidraw/excalidraw/issues/7721
- [ ] https://github.com/excalidraw/excalidraw/issues/8088
- [ ] https://github.com/excalidraw/excalidraw/pull/8102
- [ ] https://github.com/excalidraw/excalidraw/issues/8071
- [ ] https://github.com/excalidraw/excalidraw/issues/8101
- [ ] https://github.com/excalidraw/excalidraw/issues/8100
- [ ] https://github.com/excalidraw/excalidraw/pull/8099
- [ ] https://github.com/excalidraw/excalidraw/issues/8094
- [ ] https://github.com/excalidraw/excalidraw/issues/8098
- [ ] https://github.com/excalidraw/excalidraw/issues/8096
- [ ] https://github.com/excalidraw/excalidraw/issues/8095
- [ ] https://github.com/excalidraw/excalidraw/issues/8063
- [ ] https://github.com/excalidraw/excalidraw/issues/8097
- [ ] https://github.com/excalidraw/excalidraw/issues/7900

8107 #8110 #8108  #8109 @Ninja-mann07


References for synaptic mechanisms

Hi, I am interested in understanding the implementation of synaptic mechanisms in DynaSim (e.g., AMPA.mech). Would you mind sharing relevant literature for time constants and parameter values?

And where can I find functions that handle postsynaptic response?


Allow dependencies using terminal_size to compile even on non-supported platforms

(Looking at wasm32-wasi here.)

LGTM, thanks!

LGTM, thanks!

This is now published as v0.1.16

This is now published as v0.1.16


ISBD Messages

Convert the hourtab values from FP2 to IEEE4 and update the ISBD message structure.

Hourtab is a datatable that contains all variables meant to be transmitted via ISBD.  Previously all values were stored as FP2 and only 2 bytes.  This was constricting to the size of numbers that could be represented.
-All values (where necessary) have been converted to IEEE4 values.  These are 4 byte floating point decimal values.
-An actual timestamp was added to the message to replace the hour count.
-There were many issues with constructing the message with relation to changing data types (e.g. the timestamp is a string that is to be sent as a long).
-Binary is not entirely visible to the user and looks deceiving where it is, so Hex and Ascii versions of the message are shown to help the user.  Located in the public data table.
-The variable the message is stored in must be a public variable or else the datalogger is unable to send the message to the modem.

Final message structure:

Campbell transmits in Big Endian.


MKV thumbnail not correctly embedded

[x] I've verified and I assure that I'm running youtube-dl 2016.08.13
[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

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

When using --embed-thumbnail, it seems that the thumbnail isn't added as an image resource (cover.jpg) to the mkv video file but instead added as a second video stream. Seemingly using the same code as is used for embedding cover art for a mp3. This results in the embedded thumbnail not being displayed and instead no thumbnail or a automatically generated one being shown.
Tested with this video:
https://www.youtube.com/watch?v=k_okcNVZqqI
youtube-dl https://www.youtube.com/watch?v=k_okcNVZqqI --embed-thumbnail
Using youtube-dl 2016.08.13 and ffmpeg-20160815-3282e31-win64-static
MediaInfo, thumbnail embedded with --embed-thumbnail:
INK DROPS 4K (ULTRA HD)-k_okcNVZqqI.mkv.MediaInfo.txt
MediaInfo, thumbnail embedded with mkvpropedit:
INK DROPS 4K (ULTRA HD)-k_okcNVZqqI-proper.mkv.MediaInfo.txt
Related to this the request for thumbnail embedding support for webm files when this is fixed. (#10360)

This results in the embedded thumbnail not being displayed

Sorry for being late. Which player are you using?

I mainly use a software called Icaros which enables MKV files showing thumbnails in windows explorer using the thumbnail inside the file or, if there is no thumbnail inside it, using a generated one.
But I see the same thing with Windows Media Player and VLC media player.
The correct thumbnail from youtube is only correctly displayed for the file where I used --write-thumbnail and mkvpropedit to embed the thumbnail.
For the file where I used the --embed-thumbnail option, either no thumbnail is being displayed or one is generated from the video.

Hi, you might be interested in merging https://github.com/Alex131089/youtube-dl/compare/Alex131089-mkv-thumbnail or https://github.com/Alex131089/youtube-dl/compare/Alex131089-mkv-thumbnail-filename, I was able to embed thumbnail without issue in VLC or MPC-HC with this.
The second branch tries to respect the filename convention (there's no orientation check nor dimensions enforcement/conversion), but using another/video's filename works too, at least in VLC.
Thanks for this utility :)

Awesome! Does it support non-ASCII thumbnail filenames? And I wonder how accurate guess_type is.

Awesome! Does it support non-ASCII thumbnail filenames?

No idea, but as much as for the MP3 I guess.

And I wonder how accurate guess_type is.

Mimetypes module seems to rely on the extension, so it's very "light".
And with only 2 extensions recognized by the convention, I came with this much simpler version : https://github.com/Alex131089/youtube-dl/tree/Alex131089-mkv-thumbnail-simpler.
For other filetypes, you'd still need mimetype detection.

This looks good, any reason it isn't merged yet?

http://github.com/rg3/youtube-dl/issues/11981

http://github.com/rg3/youtube-dl/issues/12126

http://github.com/rg3/youtube-dl/issues/12459

http://github.com/rg3/youtube-dl/issues/8379

https://github.com/rg3/youtube-dl/pull/15445

Any chance of merging this soon?


chore: fixed svg attribute order

Preview environments are getting posted here, as soon as they are ready!


Refactor hit region initialization into its own class

And move handling of secret objects' hit regions into latkazombit.js

TODO: Unit tests for HitRegionFilter.


InvalidCastException on reflected method

It worked with the previous version, however now I  get a "Nothing Selected" dropdown when attempting to pick a method to call.
And as a note to this, if I discard the changes using GIT, Unity will display the proper method. If I deselect the object, and then reselect it, "Nothing Selected" is displayed again
InvalidCastException: Cannot cast from source type to destination type. ExtendedEvent+Parameter.LoadDefaultValue () (at Assets/Libraries/ExtendedEvent/ExtendedEvent.cs:200) ExtendedEvent+Parameter..ctor (System.Reflection.ParameterInfo info) (at Assets/Libraries/ExtendedEvent/ExtendedEvent.cs:125) ExtendedEvent+Member..ctor (System.Reflection.MethodInfo info, System.Type infoType, System.Type type, System.Reflection.ParameterInfo[] parameters) (at Assets/Libraries/ExtendedEvent/ExtendedEvent.cs:381) ExtendedEvent+GameObjectContainer.ReadObject (System.Type type, System.Collections.Generic.List 1& tempList) (at Assets/Libraries/ExtendedEvent/ExtendedEvent.cs:720) ExtendedEvent+GameObjectContainer.Reset () (at Assets/Libraries/ExtendedEvent/ExtendedEvent.cs:643) ExtendedEventPropertyDrawer.DrawElementInternal (Rect rect, Int32 index, Boolean isActive, Boolean isFocused) (at Assets/Libraries/ExtendedEvent/Editor/ExtendedEventPropertyDrawer.cs:119) UnityEditorInternal.ReorderableList.DoListElements (Rect listRect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:547) UnityEditorInternal.ReorderableList.DoList (Rect rect) (at C:/buildslave/unity/build/Editor/Mono/GUI/ReorderableList.cs:390) ExtendedEventPropertyDrawer.OnGUI (Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Libraries/ExtendedEvent/Editor/ExtendedEventPropertyDrawer.cs:48) UnityEditor.PropertyDrawer.OnGUISafe (Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyDrawer.cs:23) UnityEditor.PropertyHandler.OnGUI (Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/ScriptAttributeGUI/PropertyHandler.cs:134) UnityEditor.EditorGUI.PropertyFieldInternal (Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, Boolean includeChildren) (at C:/buildslave/unity/build/Editor/Mono/EditorGUI.cs:4891) UnityEditor.EditorGUI.PropertyField (Rect position, UnityEditor.SerializedProperty property, Boolean includeChildren) (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorGUIBindings.gen.cs:963) UnityEditor.EditorGUI.PropertyField (Rect position, UnityEditor.SerializedProperty property) (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorGUIBindings.gen.cs:958) UnityEditor.Editor.OptimizedInspectorGUIImplementation (Rect contentRect) (at C:/buildslave/unity/build/artifacts/generated/common/editor/EditorBindings.gen.cs:234) UnityEditor.GenericInspector.OnOptimizedInspectorGUI (Rect contentRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/GenericInspector.cs:33) UnityEditor.InspectorWindow.DrawEditor (UnityEditor.Editor editor, Int32 editorIndex, Boolean rebuildOptimizedGUIBlock, System.Boolean& showImportedObjectBarNext, UnityEngine.Rect& importedObjectBarRect) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1211) UnityEditor.InspectorWindow.DrawEditors (UnityEditor.Editor[] editors) (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:1028) UnityEditor.InspectorWindow.OnGUI () (at C:/buildslave/unity/build/Editor/Mono/Inspector/InspectorWindow.cs:352) System.Reflection.MonoMethod.Invoke (System.Object obj, BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at /Users/builduser/buildslave/mono-runtime-and-classlibs/build/mcs/class/corlib/System.Reflection/MonoMethod.cs:222) UnityEditor.HostView:OnGUI()

Could you give some more context on the method you are using?
What parameters does it have?
Thanks.

Just Vectors and floats I think:

Your latest commit fixed my issues, thanks!

Yeah I noticed it was crashing on floats as well. I think it appeared if you have a default value of 0 for floats, and null for objects etc. This way it cannot cast them to its necessary type (weird for floats though, but hey, it works now).


Left join

[x] verify project, git branch, and file names
[x] create left_join function

[x] test output variations
[x] document function

[ ] stretch goals

[ ] add flag for right join

Coverage increased (+0.05%) to 95.473% when pulling 99783df96ad41d4d0ba610fb7f03c1606276820d on left_join into 4f9da0aab0eac71a8c75bbe52e024e7ef492460c on master.


Automatically open SSH tunnel with port forwarding

What would you like to be added:
Port-forwarding of K8s API via SSH. Run ssh<EMAIL_ADDRESS>-L 6443:kubernetes-api-example:6443 when selecting a cluster and close the connection when selecting different cluster
Why is this needed:
When working with multiple clusters where the Kubernetes API is not accessable from public, one has to manually open and close SSH connections when switching clusters
Environment you are Lens application on:

Kubernetes distribution: Bare metal
Desktop OS: Linux

You can achieve that by use different port for tunnel.
For example:
ssh<EMAIL_ADDRESS>-L 10443:kubernetes-api-example-1:6443
ssh<EMAIL_ADDRESS>-L 11443:kubernetes-api-example-2:6443

and change server api port in kubeconfig file.
In my case, I run in Windows, so create ssh tunnel is not as simple as linux.
LENS with connect via SSH setting would be cool.

I agree, a lot of K8S APIs are behind a bastion host. This feature inside lens would be awesome.
Additionaly, on windows there isn't a good ssh tunnel manager. The handling is a pain.

Seconded.  We have recently moved to a more secure cluster config, where one must log into a bastion host to issue kubectl commands, and this means no more Lens for us.  We see many of our customers who also cannot use Lens for similar reasons.
Being able to set up an SSH session to the bastion would solve this problem, so long as the Kubernetes credentials used only remains on the bastion.

nobody care(

Just about every sql ide supports this, maybe copying UX/workflow from there would make it easier to implemetn. It would make lens so much more useful

I need it too

Very much needed functionality !!!


Anyone know what protocol is this?

Hi,
My mini tracker have ARM processor.
Its send this lines on port 2005 UDP but I dont know what is the protocol:
42ANP3230514014534W49054183S222068960400000aba1338L500000438.P$ 5:00000000000000F
42ANP3230514015106W49054206S222068920700000aba1338L500000440.P#<PHONE_NUMBER>000000F
42ANP3230514015106W49054206S222068920700000aba1338L500000440.P#<PHONE_NUMBER>000000F
42ANP3230514015106W49054206S222068920700000aba1338L500000440.P#<PHONE_NUMBER>000000F

Closing as stale. If you have protocol documentation, it would be possible to implement. Please reopen if needed.


tests: devicetree: device: utilize DEVICE_DT_NAME

Convert DT_LABEL to DEVICE_DT_NAME.  This lets us drop label properties
in the app.overlay.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

@gmarull can you renew your +1?


Add our community/location names to the API

GeoJSON collection of points; CSV; JSON, something!

This is done via /places/all and related endpoints.


When having multiple subscriptions and one one of them requires MFA - WHY ask me MFA for all of them???

v.1.16.0, Windows 10 x64
So I have quite a few subscriptions and only 1 or 2 has MFA, and I use same account for all of them. Every time I open storage explorer and want to get into this MFA protected storage accounts, I have to 'Reenter my creds'. And I have to do this 'number of subscriptions' times! Can you just ask to auth for this single subscription I'm trying to open?

Duplicate of #460


Run tests on qemu-system-aarch64

Without these patches, the ARM64 CI can not run successfully. hope to merge these to master branch.

@datawolf @ibuildthecloud Please take a look. This should be ready to go.

https://github.com/rancher/os/issues/672


Frontend needs to implement fixed-size integer semantics during const evaluation

With fixed-sized integers, the frontend needs to implement 64-bit wrap-around integer semantics during const-evaluation (for the VM).
See https://github.com/dart-lang/sdk/blob/master/docs/language/informal/int64.md for the proposed semantics.
Note that const-evaluation should yield the same result as during runtime. It's not completely obvious which parts of expressions are const and which ones aren't and if they had different semantics that would be very confusing.

@sjindel-google

At least for AOT we plan on using the kernel2kernel constant evaluation transformation in package:kernel/transformations/constants.dart.
I have an in-progress change which fixes a few necessary things before it can be enabled by default. These changes include also adding support for doing the wrap-around semantics during the const evaluation.

We don't do constant evaluation in the front end (yet).  We are aware of the differences in integer semantics and we're unlikely to implement something that ignores it.


Support different output formats

Added a --format option which allows changing the output format of the program. It currently supports package.use (default), make.conf and a "plain" formats:

$ ./cpuid2cpuflags
CPU_FLAGS_X86: aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3
$ ./cpuid2cpuflags -f make
CPU_FLAGS_X86="aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3"
$ ./cpuid2cpuflags -f plain
aes avx f16c mmx mmxext pclmul popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3

Updated the README file and help message accordingly.
Additionally, I've updated the README file with basic instructions on how to compile the program.

I'm open to feedback before merging.

Thank you for your work. However, I have expressed multiple times that I'm not interested in the added complexity to support obsolete configuration formats.


OCR識別問題

What is OCR looking at...
Probably the upper right of "半"

auto-derby.zip

模拟器需要用1080x1920分辨率

I'm sorry. I fixed it to 1080 x 1920. But another error occurre. And do you have a recommended DPI?
debug.1.zip


Fix issues with iOS 6 style auto-renewable receipts

Fixes #33
This PR address two issues.
First, as noted in #33, when verifying iOS 6 style auto-renewable receipts, latest_receipt_info is a hash, not an array. The code was expecting an array and threw an error.
Second, this PR adds support for parsing the expires_date field in the in-app receipt, as documented by Apple:
Subscription Expiration Date
The expiration date for the subscription, expressed as the number of milliseconds since January 1, 1970, 00:00:00 GMT.

ASN.1 Field Type 1708
ASN.1 Field Value IA5STRING, interpreted as an RFC 3339 date
JSON Field Name expires_date
JSON Field Value string, interpreted as an RFC 3339 date

This key is only present for auto-renewable subscription receipts. Use this value to identify the date when the subscription will renew or expire, to determine if a customer should have access to content or service. After validating the latest receipt, if the subscription expiration date for the latest renewal transaction is a past date, it is safe to assume that the subscription has expired.

My receipts do not have the expires_date_ms field, so expires_at was not getting set. I also noticed that expires_date_ms is not documented by Apple so should perhaps not be relied upon.
None of the changes made should be breaking changes, but are just fallbacks to handle the two scenarios mentioned above.

@stevehanson Thank you!


Improve resilience of Live Share to psql -f

Bug report
While building a demo using the Live Share feature of database.build, I've seen many intermittent failures of the connection. Usually fixed by stopping the Live Share, reloading the tab and restarting the Live Share.
Describe the bug
While running many statements (via psql -f) against a Live Share'd non-trivial DB the server/proxy regularly loses sync, while seemingly hallucinating gigabyte-sized messsage sizes<PHONE_NUMBER> bytes or<PHONE_NUMBER> bytes as examples).
psql:schemamap_init.sql:462: lost synchronization with server: got message type "e", length<PHONE_NUMBER>
psql:schemamap_init.sql:462: error: connection to server was lost

To Reproduce
Steps to reproduce the behavior, please provide code snippets or a repository:

Open database.build
Run prompt: Create a well-modeled ERP schema, with multi-tenancy, constraints on most columns (especially tenant_id) and mock data.
Enable Live Share, copy URI
Download schemamap_init.txt (sql script)
Run: psql -f ./schemamap_init.txt "$URI"
Expectation: it should succeed, although there are sometimes failures here as well
Try rerunning step 5 a few times, eventually you will a get a "lost synchronization".

Expected behavior
The client does not get out of sync.
System information

OS:

MacOS: psql (PostgreSQL) 15.8
Linux: psql (PostgreSQL) 15.8

Browser: Firefox 131.0.3 (aarch64)
Version of supabase-js: N/A
Version of Node.js: N/A

Additional context
I'm aware the client is not major 16 version, but for these simple statement executions, it should not matter.
Another invocation failed later:
psql:schemamap_init.txt:1361: lost synchronization with server: got message type "m", length<PHONE_NUMBER>
psql:schemamap_init.txt:1361: error: connection to server was lost

I haven't been able to reproduce the bug on Google Chrome 130.0.6723.92 (Official Build) (arm64)

Thanks for reporting @thenonameguy, we'll dig into this. cc @jgoux

@thenonameguy by chance do you have the original migrations create by AI prior to using Live Share to help us closer reproduce this?

I made something even better. Followed the repro steps and stopped live sharing after receiving:
Failed to install SDK: psql:<stdin>:17: lost synchronization with server: got message type "o", length<PHONE_NUMBER>
psql:<stdin>:17: error: connection to server was lost

Then exported the state of the PGLite:
erp-schema-with-multi-tenancy-1730479427654.gz

Hello @thenonameguy and thanks for your detailed report!
Unfortunately I wasn't able to reproduce the issue on my end. I tried in Firefox using your initial migration file then enabling Live Sharing and executing your schemamap_init.sql file using psql v15.8. I did like ~20 runs of it and they all succeeded.
Let's wait to see if there are other reports. 👍
Also, we just released the ability to drop .sql files directly into the chat, so you can now run your script directly against your in-browser database without going through Live Share! 🎊

Thanks for looking into it @jgoux!
My current hunch is that this might be related to the Websocket proxy.
I've had some friends/ex-colleagues try out the demo flow with Live Share in different countries/web browsers, and the issues popped up the same.
The demo is available here, after clicking "Yes".
https://app.schemamap.io/demo
Since I'm using a single VPS to connect to the Websocket proxy, might it be related to hitting some form of rate limits?
I've been also getting portal "p2" does not exist errors as well since.
I'm adding metric & trace collection to connection failures so I can provide a bit more detail on the ticket, please don't close it just yet. Cheers!


Message management for expandable errors

\msg_expandable_error:n is currently doing what we really don't like about LaTeX2e's \PackageError: mixing the error messages into the code. I haven't looked at the l3msg module long enough to think of how the management could take place.
Probably, l3msg uses props a lot. For an expandable version, the expandable \prop_get:Nn and \prop_if_in:NnTF will be useful.

Expandable error messages are intended for use really only by the kernel. Proper TeX errors are simply not expandable, so we are using a 'trick' to get something in place. That does not mean it should be the main approach. As kernel errors are not filterable, there is no need to worry about the property lists and so on (it would be a lot of work for no really reason).
That said, we certainly can separate out the text of the message from the point at which it is fired. That change should be easy enough.

For performance, some string conversions should happen within an \edef. The most natural is to throw expandable errors if the string is not quite valid, and those should be filterable since the user might not care that the string is invalid.
However, I found a way out, using "flags". That'll use the fact that TeX can do one assignment expandably: if \l_my_flag is undefined, then \exp_args:Nc \use_none:n { l_my_flag } makes it be \relax. I call that "raising" the flag. Flags can be raised expandably, and lowered non-expandably. Then, instead of producing an expandable error, the best is to raise a flag, \l_invalid_string_flag. After the conversion, if \l_invalid_string_flag is still undefined, the conversion was successful, otherwise it was a failure.
On separation, yes, I agree that we should do that.

I'm struggling to see where a user supplied string could crop up such that errors should be ignored. Could we have an example?
I'll see what I can do about expandable errors: I suspect a simple \csname-based approach is easiest, and as we don't expect too many of these would also be reasonably easy to implement.

About string conversion: I found ways to delay the "invalid string" error until the end of the conversion, where it can use the conventional non-expandable error method. So that's not a problem in fact.
I think we don't need filtering in fact, but that separating the definition of expandable errors from their calling is a good thing. Not sure what the best way would be.

The natural analog of \msg_new:nnn and \msg_error:nnx is
\msg_new_expandable:nnn { seq } { empty } { Empty~sequence~#1. }
\msg_expandable_error:nnn { seq } { empty } { \l_foo_seq }

It is a little bit annoying that we cannot easily expand the arguments of the error.

Another method is
\msg_new_expandable:Nn \seq_empty_error:N #1 { Empty~sequence~#1. }
\seq_empty_error:N \l_foo_seq

Here, it would be easy to expand the arguments of the error if needed.
Both ways use the same number of csnames (one per error), and produce the same error. Both ways separate message definition from message calling. The second exposes the implementation a little bit more, and does not use a common function \msg_expandable_error:nnn. But I prefer the second, since it is only for very few kernel errors.

What's wrong with supplying \msg_expandable_error:nnV to go with \msg_expandable_error:nnn in the first scheme? We then don't need a separate \msg_new_expandable:nnn at all (I think: need to check in detail).

Starting to implement that, I see that the custom is to use \msg_kernel_new:nnnn and \msg_kernel_error:nnxxxx for kernel errors (that adds LaTeX/ at the start of the message's csname). Should I provide both \msg_kernel_expandable_error:nnnnnn and \msg_expandable_error:nnnnnn (plus shorter forms with 3,2,1,0 args)? The whole idea seems to work quite cleanly, so maybe it could be used outside the kernel?

At the end of the day, I implemented \msg_kernel_expandable_error:nnnnnn (with variants having 2 to 6 arguments), and messages are defined with \msg_kernel_new:nnn. Non-filterable.


Shard Mappers perform query re-writing

This is @otoolep 's work.  He's on vacation and I manually rebased it on the recent engine refactor work that was merged into master.  His original work was done in branch statement_rewrite2.
With this change query-rewriting, critically wildcard-rewriting, is performed by the LocalMappers and not by Executors. This is necessary since only shard indexes know what fields should replace * within a given SELECT query.
This required the following changes:
Mapper responses now include the list of fields names, always in alphabetical order, for the data being returned to the Executor.
The Executor, when in raw mode, can use this to form the complete set of column names.
The Executor does not now re-write queries, but still uses the version of the statement passed to it to initialize reducer functions (in the case of aggregate queries) and mathematical functions. Fortunately this processing does not require wildcards or regexes to be replaced so the Executor can continue to work with the non-rewritten version of the SELECT statement.
Aggregate queries did not need much work, since aggregate queries may not contain wildcards, so re-writing is irrelevant.
RemoteMapper updated as needed.
Unit tests updated as needed. An important new test was added -- SELECT * FROM cpu where the query requires that two complete decoupled shards (and TSDB stores) objects mush be processed.

I think this looks good, but will need to dig into the code. Good to merge for now and we can take it forward later with the work we need to do on select * queries.


Add L channels ??

Hello, Is it possible to add the L Channels for the band ??
https://github.com/sheaivey/rx5808-pro-diversity/issues/75

I just checked the datasheet for the RichWave receiver unit that is used by the Cyclops googles and according to it, the lowest possible frequency the receiver can receive is 5725 KHz. The L band consists of eight frequencies below 5725 (5362KHz-5621KHz). If the datasheet is correct, it is technically impossible to implement L-band support.
That said, harware can sometimes be used at out of spec settings. 5725 KHz is the lower end of the legal 5.8 MHz band, so it makes little sense for manufacturers to claim support for a wider frequency range, even if the hardware supports it. I am however not in a position to experiment with trying to use the receiver at L-band settings, since I do not have any transmitter that is L-band capable. So, for the moment the answer to the question is;
No, it is not possible to implement L-band support.

Are you reopening this now ??

Yes, I have bought an L-Band capable transmitter and will test if it is possible to tweak the transmitter of the CYCLOPS to receive the lower frequencies. The specifications clearly says that it is not possible, but you never know.

Well thats great, let me know if you want the code tested..
Matt

On 2 Mar 2017, at 12:35, Kjell Kernen<EMAIL_ADDRESS>wrote:
Yes, I have bought an L-Band capable transmitter and will test if it is possible to tweak the transmitter of the CYCLOPS to receive the lower frequencies. The specifications clearly says that it is not possible, but you never know.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub https://github.com/Dvogonen/cyclop_plus/issues/20#issuecomment-283642239, or mute the thread https://github.com/notifications/unsubscribe-auth/AKplqGUwyrQt1JUXAZzxPuuVXhSFXgzFks5rhreqgaJpZM4LuoJO.

I have just released 1.5 with full support for the L-band.


Server crashes by using Circular Saw

When trying to use the circular saw, the server crashes with this message:
ERROR[Main]: ServerError: AsyncErr: Lua: Runtime error from mod 'moreblocks' in callback nodemeta_inventory_OnTake(): InventoryList 'output' is currently in use and cannot be deleted or resized.
ERROR[Main]: stack traceback:
ERROR[Main]:       [C]: in function 'set_list'
ERROR[Main]:       /opt/minetest/bin/../mods/moreblocks/circular_saw.lua:201: in function 'update_inventory'
ERROR[Main]:       /opt/minetest/bin/../mods/moreblocks/circular_saw.lua:358: in function </opt/minetest/bin/../mods/moreblocks/circular_saw.lua:329>

Which Minetest version are you using?

# /opt/minetest/bin/minetestserver --version
Minetest 5.8.0-dev-b35aa10-dirty (Linux)
Using LuaJIT 2.1.0-beta3
BUILD_TYPE=Release
RUN_IN_PLACE=1
USE_CURL=1
STATIC_SHAREDIR="."

see https://github.com/minetest/minetest/issues/13465

I have the same problem, the current engine issue is here: https://github.com/minetest/minetest/issues/13490


[style] set the video title height on the video card

before

after

i dont understand why we should leave a space to achieve alignment, it seems a bit weird...
the current design is already very good


EBS volume mount failed to resolve path for mount source for Windows containers in containerd 1.7.4+

Description
The CSI EBS volume mount failed with containerd 1.7.4 and 1.7.11, but succeeded with 1.7.3.
The error message from containerd is:
     Message:      failed to create containerd task: failed to create shim task: failed to resolve path for mount source "\\\\?\\Volume{b43f9d35-4667-4057-b528-66e5a67a8d48}": Incorrect function.: unknown
We don't know the exact root cause but we are suspecting the regression is caused by this PR: https://github.com/containerd/containerd/pull/8926
Could you please look into this issue and provide some insights? This is blocking our migration to containerd 1.7.x.
Steps to reproduce the issue

Deploy an EKS cluster in 1.28
Join a Windows 2019 Full node to the cluster
Deploy EBS CSI driver on the cluster
Deploy a sample app with storageclass and PVC

apiVersion: apps/v1
kind: Deployment
metadata:
  name: windows-server-iis
spec:
  selector:
    matchLabels:
      app: windows-server-iis
      tier: backend
      track: stable
  replicas: 2
  template:
    metadata:
      labels:
        app: windows-server-iis
        tier: backend
        track: stable
    spec:
      containers:
        - name: windows-server-iis
          image: mcr.microsoft.com/windows/servercore:1809
          ports:
            - name: http
              containerPort: 80
          imagePullPolicy: IfNotPresent
          command:
            - powershell.exe
            - -command
            - "Add-WindowsFeature Web-Server; Invoke-WebRequest -UseBasicParsing -Uri 'https://dotnetbinaries.blob.core.windows.net/servicemonitor/<IP_ADDRESS>/ServiceMonitor.exe' -OutFile 'C:\\ServiceMonitor.exe'; echo '

<marquee>
Hello EKS!!!
<marquee>' > C:\\inetpub\\wwwroot\\default.html; C:\\ServiceMonitor.exe 'w3svc'; "
          volumeMounts:
            - name: persistent-storage
              mountPath: C:\data
      nodeSelector:
        kubernetes.io/os: windows
      volumes:
        - name: persistent-storage
          persistentVolumeClaim:
            claimName: ebs-claim
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: ebs-claim
spec:
  storageClassName: windows
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 1Gi
---
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: windows
provisioner: ebs.csi.aws.com
volumeBindingMode: WaitForFirstConsumer
parameters:
  fstype: ntfs

Observe the pod status

Exact repro steps can be found at
https://github.com/kubernetes-sigs/aws-ebs-csi-driver/tree/master/examples/kubernetes/windows
Describe the results you received and expected
Received result:
The EBS CSI driver was deployed successfully but the containers for the sample app failed to start.
NAMESPACE          NAME                                      READY   STATUS             RESTARTS      AGE
kube-system        pod/aws-node-bhbwb                        2/2     Running            2 (18h ago)   18h
kube-system        pod/aws-node-xdj8j                        2/2     Running            2 (18h ago)   18h
kube-system        pod/coredns-7864b4f64c-5f9t4              1/1     Running            1 (18h ago)   18h
kube-system        pod/coredns-7864b4f64c-k2m7m              1/1     Running            1 (18h ago)   18h
kube-system        pod/ebs-csi-controller-6ddcd6dbd5-jzsvm   6/6     Running            0             2m35s
kube-system        pod/ebs-csi-controller-6ddcd6dbd5-xwz6d   6/6     Running            0             2m35s
kube-system        pod/ebs-csi-node-mb7wb                    3/3     Running            0             2m35s
kube-system        pod/ebs-csi-node-rl8k2                    3/3     Running            0             2m35s
kube-system        pod/ebs-csi-node-windows-wf8m7            3/3     Running            0             2m35s
kube-system        pod/kube-proxy-nkpjw                      1/1     Running            1 (18h ago)   18h
kube-system        pod/kube-proxy-r879r                      1/1     Running            1 (18h ago)   18h
test-ns-4ba8c6f4   pod/windows-server-iis-6c8bbb9956-fwb49   0/1     CrashLoopBackOff   1 (4s ago)    2m13s
test-ns-4ba8c6f4   pod/windows-server-iis-6c8bbb9956-nl96p   0/1     CrashLoopBackOff   1 (4s ago)    2m13s

Events from the failed pod:
Events:
  Type     Reason                  Age                From                     Message
  ----     ------                  ----               ----                     -------
  Warning  FailedScheduling        2m28s              default-scheduler        0/3 nodes are available: persistentvolumeclaim "ebs-claim" not found. preemption: 0/3 nodes are available: 3 Preemption is not helpful for scheduling..
  Warning  FailedScheduling        2m26s              default-scheduler        running PreBind plugin "VolumeBinding": Operation cannot be fulfilled on persistentvolumeclaims "ebs-claim": the object has been modified; please apply your changes to the latest version and try again
  Normal   Scheduled               78s                default-scheduler        Successfully assigned test-ns-4ba8c6f4/windows-server-iis-6c8bbb9956-nl96p to ip-192-168-78-77.us-west-2.compute.internal
  Normal   ResourceAllocated       78s                vpc-resource-controller  Allocated Resource vpc.amazonaws.com/PrivateIPv4Address: <IP_ADDRESS>/19 to the pod
  Normal   SuccessfulAttachVolume  77s                attachdetach-controller  AttachVolume.Attach succeeded for volume "pvc-4531be14-ca3f-42aa-8268-2a7629e0ae09"
  Warning  Failed                  19s (x2 over 25s)  kubelet                  Error: failed to create containerd task: failed to create shim task: failed to resolve path for mount source "\\\\?\\Volume{b43f9d35-4667-4057-b528-66e5a67a8d48}": Incorrect function.: unknown
  Warning  BackOff                 17s (x2 over 18s)  kubelet                  Back-off restarting failed container windows-server-iis in pod windows-server-iis-6c8bbb9956-nl96p_test-ns-4ba8c6f4(467a82d8-3613-44aa-90ae-4b24d073112c)
  Normal   Pulled                  3s (x3 over 30s)   kubelet                  Container image "mcr.microsoft.com/windows/servercore:ltsc2022" already present on machine
  Normal   Created                 3s (x3 over 30s)   kubelet                  Created container windows-server-iis

Expected: Pod should be able to start normally.
What version of containerd are you using?
1.7.4
Any other relevant information
No response
Show configuration if it is related to CRI plugin.
No response

Hi!
It seems unlikely that PR is related. IIRC that function is used only for VOLUME directives in the Dockerfile, not CSI volumes. Also, that only changes something if platform.OS == "linux", but that isn't the case in your case, right?
Also, this was also backported to 1.6, so if 1.6 is working... I don't think this is it. Can you try to bisect the commit that introduced the failure?
For what is worth, after a few months we gave up in runc trying to force abs paths (it is deprecated and not recommended, but it will work), so if it helps, this can be reverted. But as I said, I doubt it is related.


<EMAIL_ADDRESS>

Release: https://github.com/google/snappy/releases/tag/1.2.0
Used by:

https://github.com/google/riegeli

Hello @bazelbuild/bcr-maintainers, modules without existing maintainers (snappy) have been updated in this PR. Please review the changes.


Fix Issue 17510 - How could 509 be a byte value?

Maybe you should also mention that the maximum value is \377, just for clarity
(https://github.com/dlang/dmd/blob/v2.074.1/src/ddmd/lexer.d#L1233). The hex version already implies that, because obviously the largest representable number made of two hex digits is 255 - i.e. there's no room for error.

@CyberShadow I took the liberty to add this to your PR, s.t. we can move forward. Feel free to edit or drop the commit if you don't like it.

LGTM :)


Improving test of isBoolean validator, boolean is not string

Did I do something wrong with this PR?

Boolean provided through query parser is a string type, not a boolean type.
You need to use "==" operator


net/http: data race when response is returned before the full request's body is written

What version of Go are you using (go version)?

$ go version
go version go1.12 linux/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/januszm/.cache/go-build"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/januszm/.go"
GOPROXY=""
GORACE=""
GOROOT="/usr/local/go"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD=""
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build489382708=/tmp/go-build -gno-record-gcc-switches"

What did you do?
Run following script with: go run -race concept.go
package main

import (
	"crypto/rand"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"sync"
	"time"
)

const (
	addr1 = "localhost:8060"
	addr2 = "localhost:8061"
)

type customReader struct {
	iter int
	size int
}

func (r *customReader) Read(b []byte) (int, error) {
	maxRead := r.size - r.iter
	if maxRead == 0 {
		return 0, io.EOF
	}
	if maxRead > len(b) {
		maxRead = len(b)
	}
	n, err := rand.Read(b[:maxRead])
	r.iter += maxRead
	return n, err
}

func (r *customReader) Close() error {
	// Uncomment this for even more races :((
	// r.iter = 0
	return nil
}

func (r *customReader) Reset() {
	r.iter = 0
}

func second(w http.ResponseWriter, r *http.Request) {
	ioutil.ReadAll(r.Body)
}

func first(w http.ResponseWriter, r *http.Request) {
	http.Redirect(w, r, "http://"+addr2+"/second", http.StatusTemporaryRedirect)
}

func main() {
	mux1 := http.NewServeMux()
	mux1.HandleFunc("/first", first)
	srv1 := http.Server{
		Addr:    addr1,
		Handler: mux1,
	}
	go func() {
		err := srv1.ListenAndServe()
		fmt.Printf("err: %v", err)
	}()

	mux2 := http.NewServeMux()
	mux2.HandleFunc("/second", second)
	srv2 := http.Server{
		Addr:    addr2,
		Handler: mux2,
	}
	go func() {
		err := srv2.ListenAndServe()
		fmt.Printf("err: %v", err)
	}()

	time.Sleep(time.Second)
	client := http.DefaultClient

	wg := &sync.WaitGroup{}
	for i := 0; i < 1000; i++ {
		reader := &customReader{size: 900000}
		wg.Add(1)
		go func(r *customReader) {
			for {
				req, err := http.NewRequest(http.MethodPut, "http://"+addr1+"/first", r)
				if err != nil {
					fmt.Printf("%v", err)
				}
				req.GetBody = func() (io.ReadCloser, error) {
					return &customReader{size: 900000}, nil
				}

				if resp, err := client.Do(req); err != nil {
					// fmt.Printf("error: %v", err)
				} else if resp.StatusCode >= http.StatusBadRequest {
					// fmt.Printf("status code: %d", resp.StatusCode)
				}

				// Reset reader and try to reuse it in next request
				r.Reset()
			}

			wg.Done()
		}(reader)
	}

	wg.Wait() // infinite wait

	srv1.Close()
	srv2.Close()
}

What did you expect to see?
No races
What did you see instead?
Races:
==================
WARNING: DATA RACE
Write at 0x00c0003e00a0 by goroutine 87:
  main.main.func3()
      /home/januszm/concept.go:43 +0x55

Previous write at 0x00c0003e00a0 by goroutine 3899:
  [failed to restore the stack]

Goroutine 87 (running) created at:
  main.main()
      /home/januszm/concept.go:91 +0x3b0

Goroutine 3899 (finished) created at:
  net/http.(*Transport).dialConn()
      /usr/local/go/src/net/http/transport.go:1358 +0xb89
  net/http.(*Transport).getConn.func4()
      /usr/local/go/src/net/http/transport.go:1015 +0xd0
==================
==================
WARNING: DATA RACE
Write at 0x00c0002ca750 by goroutine 488:
  main.main.func3()
      /home/januszm/concept.go:43 +0x55

Previous write at 0x00c0002ca750 by goroutine 1951:
  main.(*customReader).Read()
      /home/januszm/concept.go:33 +0x156
  net/http.transferBodyReader.Read()
      /usr/local/go/src/net/http/transfer.go:62 +0x77
  io.copyBuffer()
      /usr/local/go/src/io/io.go:402 +0x143
  net/http.(*transferWriter).writeBody()
      /usr/local/go/src/io/io.go:364 +0x76e
  net/http.(*Request).write()
      /usr/local/go/src/net/http/request.go:655 +0x7c3
  net/http.(*persistConn).writeLoop()
      /usr/local/go/src/net/http/transport.go:1961 +0x321

Goroutine 488 (running) created at:
  main.main()
      /home/januszm/concept.go:91 +0x3b0

Goroutine 1951 (running) created at:
  net/http.(*Transport).dialConn()
      /usr/local/go/src/net/http/transport.go:1358 +0xb89
  net/http.(*Transport).getConn.func4()
      /usr/local/go/src/net/http/transport.go:1015 +0xd0
==================
==================
WARNING: DATA RACE
Write at 0x00c0002ca780 by goroutine 491:
  main.main.func3()
      /home/januszm/concept.go:43 +0x55

Previous write at 0x00c0002ca780 by goroutine 3360:
  ??()
      -:0 +0xffffffffffffffff
  fmt.(*fmt).fmtInteger()
      /usr/local/go/src/fmt/format.go:307 +0x441
  fmt.(*pp).fmtInteger()
      /usr/local/go/src/fmt/print.go:386 +0x297
  fmt.(*pp).printArg()
      /usr/local/go/src/fmt/print.go:662 +0xf13
  fmt.(*pp).doPrintf()
      /usr/local/go/src/fmt/print.go:1016 +0x315
  fmt.Fprintf()
      /usr/local/go/src/fmt/print.go:199 +0x7f
  net/http/internal.(*chunkedWriter).Write()
      /usr/local/go/src/net/http/internal/chunked.go:203 +0xd8
  io.copyBuffer()
      /usr/local/go/src/io/io.go:404 +0x282
  net/http.(*transferWriter).writeBody()
      /usr/local/go/src/io/io.go:364 +0x76e
  net/http.(*Request).write()
      /usr/local/go/src/net/http/request.go:655 +0x7c3
  net/http.(*persistConn).writeLoop()
      /usr/local/go/src/net/http/transport.go:1961 +0x321

Goroutine 491 (running) created at:
  main.main()
      /home/januszm/concept.go:91 +0x3b0
==================

Are you positive that the race is in net/http and not your use of it? If you're not sure, have you tried asking on one of the forums for help?

No, I'm not positive and I haven't ask on the forums. Though, there is nothing said in (c *Client) Do about this case so I concluded that this is unexpected
I will try to post on forums to ensure that this is not my fault. If it is, it would mean that one cannot change fields in Close method which are also used Read in reader which seems odd. As a result we couldn't be able use *File as ReadCloser in Body for redirected requests since it does modify (on Close) descriptor which Read is using.

https://groups.google.com/forum/#!topic/golang-nuts/1rst28pnlt8
The problem is not net/http but simultaneous use of a reader := &customReader{...} variable in 1000 goroutines. I believe it could be closed.

I'm sorry but could you point out where I use it simultaneously? I create new(!) reader for each goroutine.
If you want, you can remove this goroutine staff and have single infinite for loop. The code will still have a races but you probably need to run it for a little bit longer time to see them
Single thread race
package main

import (
	"crypto/rand"
	"fmt"
	"io"
	"io/ioutil"
	"net/http"
	"sync"
	"time"
)

const (
	addr1 = "localhost:8060"
	addr2 = "localhost:8061"
)

type customReader struct {
	iter int
	size int
}

func (r *customReader) Read(b []byte) (int, error) {
	maxRead := r.size - r.iter
	if maxRead == 0 {
		return 0, io.EOF
	}
	if maxRead > len(b) {
		maxRead = len(b)
	}
	n, err := rand.Read(b[:maxRead])
	r.iter += maxRead
	return n, err
}

func (r *customReader) Close() error {
	// Uncomment this for even more races :((
	// r.iter = 0
	return nil
}

func (r *customReader) Reset() {
	r.iter = 0
}

func second(w http.ResponseWriter, r *http.Request) {
	ioutil.ReadAll(r.Body)
}

func first(w http.ResponseWriter, r *http.Request) {
	http.Redirect(w, r, "http://"+addr2+"/second", http.StatusTemporaryRedirect)
}

func main() {
	mux1 := http.NewServeMux()
	mux1.HandleFunc("/first", first)
	srv1 := http.Server{
		Addr:    addr1,
		Handler: mux1,
	}
	go func() {
		err := srv1.ListenAndServe()
		fmt.Printf("err: %v", err)
	}()

	mux2 := http.NewServeMux()
	mux2.HandleFunc("/second", second)
	srv2 := http.Server{
		Addr:    addr2,
		Handler: mux2,
	}
	go func() {
		err := srv2.ListenAndServe()
		fmt.Printf("err: %v", err)
	}()

	time.Sleep(time.Second)
	client := http.DefaultClient

	reader := &customReader{size: 900000}
	for {
		req, err := http.NewRequest(http.MethodPut, "http://"+addr1+"/first", r)
		if err != nil {
			fmt.Printf("%v", err)
		}
		req.GetBody = func() (io.ReadCloser, error) {
			return &customReader{size: 900000}, nil
		}

		if resp, err := client.Do(req); err != nil {
			// fmt.Printf("error: %v", err)
		} else if resp.StatusCode >= http.StatusBadRequest {
			// fmt.Printf("status code: %d", resp.StatusCode)
		}

		// Reset reader and try to reuse it in next request
		r.Reset()
	}

	srv1.Close()
	srv2.Close()
}

The problem is with your reader. iter is being updated in multiple goroutines, via Read() and Reset(). The underlying http transport is not guaranteed to use a single goroutine to handle your request/response.
Although on my machine, I never got a data race detection, but call me lucky in this case.

The problem is with your reader. iter is being updated in multiple goroutines, via Read() and Reset().

But how is that possible? Reset is called AFTER client.Do so I would expect all Reads/Writes or whatever, are done and I can still use my reader. Is that bad assumption? If so, the client.Do documentation should state that it is not safe to use reader (req.Body) after client.Do.

The underlying http transport is not guaranteed to use a single goroutine to handle your request/response.

And I don't expect it to use single goroutine. It can use two or million of goroutines. I don't care as long as it does it safely. If safety is on my (user) side then I would expect that 99.9% implementations that use readers in req.Body are unsafe and prone to races since they do not use locks or any synchronization mechanism.

I'm sorry for incorrect claim. I've run your code in debugger, as far as I understand there is a goroutine per connection writing/reading data. The communication between the routines is done over channel and I believe that client.Do will never return before everything is done.
The relevant code responsible for processing request/response is in transport: https://github.com/golang/go/blame/master/src/net/http/transport.go#L2164
@bradfitz done a lot of changes in transport and probably can tell you more, especially confirm or deny my implicit assumption about the client.Do.

You haven't closed your Response.Body, so the Transport is still handling (thus, owning) the request when you Reset its Body.

Closing Response.Body doesn't solve the problem.
Brad, I've read the code in transport.go. There's a select on L2177. I cannot find a sync mechanism in place between writing request / reading response.
I believe that in the above code the exact case described in comment on L2156 happens:
// Write the request concurrently with waiting for a response,
// in case the server decides to reply before reading our full
// request body.

and the case on L2205 is executed causing to return before the writeLoop fails.
Because @VirrageS is reusing the io.Reader the race detector finds the data race, but this indeed is either a bug or undocumented behaviour.

@bradfitz: as @orian mentioned, adding resp.Body.Close() does not solve the problem. Races are still possible (and reproducible) between Read and Close/Reset.

@bradfitz I believe the issue may be that there is no guarantee that the writeLoop is finished. The writeLoopDone channel is only checked on a broken connection.
Just a hunch.

I've verified. The issue is reproducible in 1.12.6.
The io.Copy function, causing the writeLoop to take keep the req.Body resource:
https://github.com/golang/go/blob/2012227b01020eb505cf1dbe719b1fa74ed8c5f4/src/net/http/transfer.go#L358
was encapsulated:
https://github.com/golang/go/blob/88548d0211ba64896fa76a5d1818e4422847a879/src/net/http/transfer.go#L348
However, the io.Copy cannot be easily interrupted and therefore causing race condition.
I've checked writeLoopDone, this is per connection variable and I think it should not be modified when a response is returned before the full request's body has been written.
The solutions I see are:

Document the current behaviour and leave as it is.
Block until the writeLoop finish writing the Request.Body. (I've implemented it using per request channel to block a return from roundTrip).
Same as 2. but with extra mechanism to interrupt the writeLoop from copying all Body data.

I'm happy to contribute the fix, but someone must make decision

@orian Thanks for looking into this issue!
Another thing that worried me a little in writeBody function is that reader passed in request is wrapped into this internal.NewChunkedWriter. This becomes an issue when the reader implements WriteTo method and can be sent without extra buffering (io.Copy should catch that). But since internal.NewChunkedWriter does not implement this it will only use the Read method. And also eg. we are streaming something through single request the problem is that we will use default 32KB buffer, provided in io.Copy implementation and there is no way to make it bigger or smaller what could potentially have impact on performance.
But this probably needs another issue and separate discussion.

@andybons could you change the bug name to "net/http: datarace when response is returned before the full request's body is written" or something similar?

Was there any decision made regarding this issue?

Ping @bradfitz regarding https://github.com/golang/go/issues/30597#issuecomment-509411481 .

this is also happening when trying to use the DumpRequestOut: https://golang.org/pkg/net/http/httputil/#DumpRequestOut

ping @bradfitz

I've just ran into this issue while testing http.Handler concurrently with http.DefaultTransport and httptest.Server, is there a workaround?
I've tried (&http.Transport{}).RoundTrip(req), but apparently it still uses same shared loop internally as race was detected.

Is there any progress on this issue?

The issue is reproducible in go 1.14.6 and go 1.15.3.

The default RoundTripper implementation explains why the races may appear:
	// RoundTrip should not modify the request, except for
	// consuming and closing the Request's Body. RoundTrip may
	// read fields of the request in a separate goroutine. Callers
	// should not mutate or reuse the request until the Response's
	// Body has been closed.
	//
	// RoundTrip must always close the body, including on errors,
	// but depending on the implementation may do so in a separate
	// goroutine even after RoundTrip returns. This means that
	// callers wanting to reuse the body for subsequent requests
	// must arrange to wait for the Close call before doing so.

It's non-intuitive to add special code that would make sure that we wait until the body can be reused but I guess we shouldn't expect any changes in std library to make this easier.

Nope, it was intentional. I should have left the comment.
In the documentation there are no guarantees on when the Request.Body is closed (see: https://pkg.go.dev/net/http#Client.Do). So I guess it kind of works as expected. I can re-open issue if needed, but I don't think there is any interest in changing the current behavior.


Translate CDN Links page

Translating the CDN Links page in Nepali language.
Please do provide feedback.

this is awesome, Thanks

Thanks @samundrak and @nootanghimire for reviewing this PR.
Since it is approved, I'll go ahead and merge this in.
Please let me know if there is any other process that needs to be followed for merging the PR.


e2e tests are not cleaning up

Each e2e test spec needs to clean up after itself.
When I run e2e tests I can see a lot of components that were left after the test finished.
It is not enough to clean up everything at the end. The test needs to delete everything that was created right after finishes (no matter in what state it ended)

When I run e2e tests I can see a lot of components that were left after the test finished.

Right, some test file have implemented the clean up logic just by deleting the self created project at the end of the test. However in other test file cleanup is not properly implemented or missing.
Thanks for the issue.

/remove-lifecycle stale
this is still an issue, I just run integrations tests and after everything was done there were 2 projects left on the cluster that ware created by tests.

this is still valid
/remove-lifecycle rotten
/lifecycle frozen

@anandrkskd's work on #4467 would fix this.
/close


Remove examples folder

and the documentation on haproxy-marathon-bridge since it was deprecated a long time ago.

Do we really want to remove the examples? I had some plans to use them in docs.

Which one would you want to use? From what I can see they are at least 2-3 years old except for 2 group examples which were added 7 months ago.

I would just put examples (not necessarily these ones, of course) into the docs, instead of referencing the ones in the repo.

also good source of examples are jsons that we use for SI tests... cc. @meln1k


Error on generating the foundry test

When ity finds a solution it gives this error when tries to create the test file:
generate_test error: failed to register template file.

solution to fix: Manually copy the foundry_test.hbs in to the current directory and then run ity

Embed the contents of the hbs file into the solution.rs as a string so that it can be loaded when cargo building.
How do u think? @jacob-chia


The example is wrong and not working

https://www.motor-js.io/docs/useListObject#retrieve-data-from-the-model
The example is wrong and not working.
The constants and custom hooks are wrapped in return statement which is incorrect.
Typoe  Err -->  const diemnsion = [Product Sub Group Desc];
also Dim should be embeded in single quotes in Square bracket.

Incorrect example removed from documentation


Seems to have stopped working

Version: Release v0.4.0-beta.9
Browser: Firefox
3 hours ago it was working fine, but in the last hour the floating button and the menu bar has stopped loading,
console is now showing the following error
[AO3E] TypeError: t is null
ready moz-extension://d9bea787-5f5e-42a0-bf94-2c33aa2f8c2a/content_script/content_script.js:20
Qt moz-extension://d9bea787-5f5e-42a0-bf94-2c33aa2f8c2a/content_script/content_script.js:20
content_script.js:20:147795
 moz-extension://d9bea787-5f5e-42a0-bf94-2c33aa2f8c2a/content_script/content_script.js:20
Have tried a clean reinstall incase it was something in my settings.

its not just you the same is happening for me (using crome)

same for me using Opera GX

looking into it this line "t = Array.from(e.querySelectorAll(":scope > li.dropdown")).pop()" is giving an error "Uncaught (in promise) TypeError: Cannot read properties of null (reading 'querySelectorAll')"

Also happening with Vivaldi (v. 6.6.3271.55) on Windows 11, extension version 0.3.2
This is the error I see in the console:

Same, stoped working a few hours ago.

same thing here, using chrome.

Yep, completely stopped working. Luckily I am back to working on it, but since chrome webstore will not let me upload a fixed version using a manifest V2, and I am nly currently about 50% done with the MV3 version, then you will unfortunately have to wait a bit for a fix. I'm really sorry.

I've attempted to start a build (https://github.com/jsmnbom/ao3-enhancements/commit/14471ec4699e4ee7638082bcb65d276ff7ff1d5a) for the people comfortable installing beta versions directly from files.
(also for the people using beta versions: do note that the reading list feature is going away next full release - I lost interest in maintaining it, and it was buggy as hell - sorry)

Okay for firefox (and similar) users, you can now use https://github.com/jsmnbom/ao3-enhancements/releases/tag/v0.4.0-beta.10 (just click the .xpi file).
Chrome users please see: https://github.com/jsmnbom/ao3-enhancements/wiki/Installing-prereleases or wait till the Manifest V3 version is ready.
Phew... this took a while to get working and it's 5am now - i'm going to bed. Hopefully nothing else blows up in the meantime :P

I've attempted to start a build (14471ec) for the people comfortable installing beta versions directly from files.
(also for the people using beta versions: do note that the reading list feature is going away next full release - I lost interest in maintaining it, and it was buggy as hell - sorry)

Shame, the reading list feature for tracking what chapters i'd already read, and which fic's i'd started then dropped was one of the main features of the extention that i was intrested in using (even without the ability to sync it).
in the meantime however - the new beta works great.

For anyone curious and is just skim reading this issue.
The current dev build of this extension can be installed and seems* to run as expected.
If you have Firefox
The current latest beta is working still on Firefox 125.0.3 (Working on an Nov 2023 Macbook Pro, Apple M3 Pro chip). Just download that file and run it.
If you have chrome
follow this guide. It seems straight forward, but I don't use chrome so I have no idea if it works or doesn't work -- I'm not gonna mess with it, but please someone let me know, I'd love to know!
This thread hasn't been updated in ~1 month, but it seems that the dev build is stable enough to run short-term (probably medium term) if you so desire.
About the failed build on main
It looks like (just from glancing through the logs while I'm at work) that the release push failed for some reason? Dunno why, considering the release went through?
For jsmnbom --
Thank you for your work on this extension! I can't imagine it's easy with 10131 lines of code (according to cloc, not counting JSON/HTML).

Yeah the release push failed, but I manually created the release from 1) local source archive 2) local chrome build 3) signed build from AMO. Should be identical to what the build system would have made but yeah, this was easier for a hotfix, and next version needs big changes to the pipeline so yee.
Thankuu <3 I'm actually almost done with a new release (so my timeline of a month turned out to be more or less corrrect. Im currently in a move but moving to have a prerelease out within  week or so, and then a full proper (chrome web store & AMO) release out a week after if all goes well (i'm in the middle of a move rn, so this is also assuming that goes well).
The dev build should be fairly stable BUT i has the in  progress feature of "Reading List" which never worked well and is flaky and therefore it's getting axed for next release - so i don't recommend using it at all cause you will just be disappointed when it's gone xD If there's enough demand maybe in the future i can work on integrating it back in a more robust way.

Yeah the release push failed, but I manually created the release from 1) local source archive 2) local chrome build 3) signed build from AMO. Should be identical to what the build system would have made but yeah, this was easier for a hotfix, and next version needs big changes to the pipeline so yee.
Thankuu <3 I'm actually almost done with a new release (so my timeline of a month turned out to be more or less corrrect. Im currently in a move but moving to have a prerelease out within week or so, and then a full proper (chrome web store & AMO) release out a week after if all goes well (i'm in the middle of a move rn, so this is also assuming that goes well).
The dev build should be fairly stable BUT i has the in progress feature of "Reading List" which never worked well and is flaky and therefore it's getting axed for next release - so i don't recommend using it at all cause you will just be disappointed when it's gone xD If there's enough demand maybe in the future i can work on integrating it back in a more robust way.

So glad it's being fixed, I can't wait to use the new one. I'm not very good at trying to do the hotfix. Thank you so much for your hard work, it's appreciated.

While the .xpi works perfectly on desktop Firefox, even in Firefox Beta for Android I can't get the .xpi to work. So I'm hoping that eventually the extension itself will work so I can have AO3 Enhancements on both desktop and mobile, because this extension has been a lifesaver for me.

Please help test v0.5.
Hoping to have a full release (also for chrome) out this week, but since it's such a big overhaul of more or less all the code, I'd like some feedback on if stuff works first ^^
Please make a backup of your settings before trying out this pre-release build!!! (this is done by pressing Export on the options page)
https://github.com/jsmnbom/ao3-enhancements/releases/tag/v0.5.0-beta.14
See this guide on how to install.

Fixed in v0.5.
See https://github.com/jsmnbom/ao3-enhancements/releases/tag/v0.5.4.


[Bug]: Password protection & SSR API requests fail due to 401

Summary
I enabled password protection from the Netlify UI. After logging in through the Netlify basic auth, I have a Next Auth sign-in page. The page as the following function:
export const getServerSideProps: GetServerSideProps = async (context) => {
  return {
    props: {
      providers: await getProviders(),
    },
  };
};

The function getProviders now fails, apparently because the API call to /api/auth/providers is also behind the same Netlify password protection. I would expect those SSR fetches to bypass the protection.
Steps to reproduce

Create a page with SSR API calls to the same domain
Add password protection in Netlify UI
Go to the URL and type in the password
Experience SSR API call failure due to 401

A link to a reproduction repository
No response
Plugin version
4.3.2
More information about your build

[ ] I am building using the CLI
[ ] I am building using file-based configuration (netlify.toml)

What OS are you using?
No response
Your netlify.toml file

`netlify.toml`
# Paste content of your `netlify.toml` file here

Your public/_redirects file

`_redirects`
# Paste content of your `_redirects` file here

Your next.config.js file

`next.config.js`
# Paste content of your `next.config.js` file here. Check there is no private info in there.

Builds logs (or link to your logs)

Build logs
# Paste logs here

Function logs

Function logs
# Paste logs here

.next JSON files

generated .next JSON files
# Paste file contents here. Please check there isn't any private info in them
# You can either build locally, or download the deploy from Netlify by clicking the arrow next to the deploy time.

Closing as stale. If this is still an issue, please re-open


Content fixes

fixes #117 #118 #119 #114 #120 #115

We need to get a dev to look at this and properly tidy it all up. And we need to stop working on the master as we could loose all the work (worst case scenario) apparently!


IOException still happening even after restore driver defaults

Hi!
I tryed upgrade to the version 3.5.2, but I found this error:
DBException: Error resolving dependencies
  java.io.IOException: IOException: Maven artifact 'maven:/net.sourceforge.jtds:jtds:release' not found

I already reset the drivers defaults, restarted DBeaver, but nothing changes.

I think it is a result of the mess with maven artifacts config changes in 3.5.1->3.5.2. In most cases "Reset to defaults" helps but sometimes it is not.
Workaround:

delete artifact "net.sourceforge.jtds:jtds:release"
add artifact "net.sourceforge.jtds:jtds:RELEASE"
click on "Download/Update" -> Download.

Problem solved. Thanks!

The artifact "net.sourceforge.jtds:jtds:release" always comes back.

Well, let's use heavy weapons then.

Close DBeaver
Open file $HOME/.dbeaver/.metadata/.plugins/org.jkiss.dbeaver.core/drivers.xml.
Find the line with "net.sourceforge.jtds:jtds:release" in it and delete it.
Start DBeaver

It is definitely not a general solution, just a workaround for the issue I can't reproduce.
Anyhow I'll add a fix in 3.5.3 which will solve similar problems.

I edited the drives.xml, delete the line with wrong artifact, but each time that I run DBeaver, the line is inserted again.
And I tried more the once, just to make sure. :D

I also tried edit drives.xml while DBeaver was running, then I started a connection. The exception error screen shows up and the line is inserted on the XML.

That's weird. Could you recheck that you are using 3.5.2 version?
If you have installed deb then try to remove /user/share/dbeaver (rm -rf) and reinstall again.
Also you could try EA version (http://dbeaver.jkiss.org/files/ea/), it contains some fixes related to driver management.

Yep, 3.5.2, I checked in About menu.
But now that you say, the JSON result set export it's not available...

Now I think that the problem is definitely fixed. I deleted the /usr/share/dbeaver and install ea version.
Even the JSON export appears now.
Thanks again.

Great. So there were actually two different issues. That's why its was so hard to reproduce it.
I'll create another issue regarding problems with debian package upgrade..

@serge-rider I had the same problem with Hive driver. I deleted the complete block on the xml and then it works for me.


About box API

This API is the front-end part of the work on showing licenses.
Future patches will:

Provide an API for registering what licenses should be shown here,
which will be used by this feature to shown licenses but could also be
used by custom code for showing licenses (e.g. for people not using
the Material widgets).

Actually populate this license API from all the licenses we currently
use in the engine, in the framework, and from any pub packages that
are used (directly or indirectly) by the application.

Related to https://github.com/flutter/flutter/issues/109 and https://github.com/flutter/flutter/issues/4279

Fixes https://github.com/flutter/flutter/issues/4279
Fixes https://github.com/flutter/flutter/issues/4434

I also added a way to add contents to the about box, per Hans' request.


Drive access skims

Drive access skims was originally developed by Kevin, but it got lost during the refactoring, adding it back

Ran drive access skimming with v12 9-county network. Need to create test for union city test network after #102


Feature: styled terminal output screenshot

Is your feature request related to a problem? Please describe.
The screenshots of the terminal output, although it serves it purpose (to display a real example), seems a little out of place. To attribute a familiar design to it (like a window frame) might be easier for the reader to situate itself.
Describe the solution you'd like
We may use a tool like https://carbon.now.sh/ to generate images from the text in the current screenshots. We can customize font family, font size, colors and even syntax highlight (although for terminal "output" it might be a bit wrong when using ie. bash ou powershell as language option).
Additional context
A simple example for:
root@docker:~# docker version
Client:
 Version:           20.10.7
 API version:       1.41
 Go version:        go1.13.8
 Git commit:        20.10.7-0ubuntu1~21.04.2
 Built:             Fri Oct 1 03:50:45 2021
 Os/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server:
 Engine:
  Version:          20.10.7
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.13.8
  Git commit:       20.10.7-0ubuntu1~21.04.2
  Built:            Fri Oct 1 02:50:01 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.5.2-0ubuntu1~21.04.3
  GitCommit:
 runc
  Version:          1.0.0~rc95-0ubuntu1~21.04.2
  GitCommit:
 docker-init:
  Version:          0.19.0
  GitCommit:

Currently

Carbon generated

If you consider replacing the images like so, I volunteer to generate them and PR the new ones.

Hi @cristianofromagio this is a great idea! Would be awesome if you had the time to do that!

Hello @bobbyiliev, it is me again! Sorry for the super late get back to this feature but you know, life gets in the way sometimes...
Anyways, I've been tinkering with a solution for this and now gonna list what I've managed to get sorted. First of all, this was really fun to research and build until now!
Goals
I've set that this feature should at least be able to be somewhat automated, meaning we should be doing the bare minimal of manual setting.

gather text from current used images (my first thought was to use OCR)
automatically generate all images from collected text outputs

with syntax highlight and "terminal" window titlebar

optimize generated images

Tested solutions

Using kinda of an undocumented API (previously here) from Carbon to automatically generate all highlighted images

I iniatially used this feature to learn some python, so I looked through the said API source code to make requests and get all images created. I've managed to get some results back in Oct/2021, but it seems they changed the API because my script doesn't work anymore.
The main problem from the beginning was that the command output "code" (or even the command itself) was not properly highlighted.

Open to see some outputs from Carbon

From Carbon not working out, I've come across Torchlight on the Laravel Docs website footer. After reading the docs for a bit, I found they had a themsaid/ibis plugin to automatically convert markdown code blocks from e-book content files into highlighted code blocks on the PDF output.

They have a free tier plan for "Personal / Open Source" usage, so I thought they could be used here.
To use it, I simply run the images through an OCR (GoOCR and OCR Space) to get the output text from the content image files, then replaced the images on the markdown files with a code block with shell as language syntax.
After getting it to work, a problem with it was sometimes it wouldn't properly style the code blocks (background-color), although it properly highlighted all of the code blocks on content files, even the single lines we didn't account for.
The main "problem" is that it is just a code syntax highlighter. I've tried to append an element inside the generated HTML content before the PDF creation on ibis build to display the terminal window bar but never got to get it working, mainly because of mPDF limitations (mPDF being the package ibis uses to transform HTML into PDF). I tried CSS solutions like pseudo elements, border-images and background-images, all of which had little to no support.

The styling issues faced from Torchlight-ibis made me look for other code syntax highlight solutions, and that is when I ended up finding PrismJS.

After setting up a little project using Marked + Prism I could finally get to see a code highlighted with a window titlebar.
The problem was that I was unable to implement this tooling into the ibis project because it uses league/commonmark for markdown rendering and scrivo/highlight.php for code syntax highlight (both from spatie/commonmark-highlighter), in other words, it was a PHP tooling, not a JS one.
Because of that inability to embed the highlighted code into the rendered HTML (as we get from using Torchlight), I set up a little script to save a image from the Marked+Prism code styled+highlighted blocks. The only problem with it was we now lose the ability to copy/select the commands and text from the images. To bypass this, I thought of instead of saving the code blocks nodes as a PNG image, what if I could save it as SVG and embed it into the content? And was then that I discovered the DOM to SVG library. I've saved all code blocks to SVG files and embed them into the content files, replacing the old images. But there was just one problem: mPDF (yep, this one again). mPDF doesn't support some SVG properties exported by dom-to-svg, so the images where all messed up on the PDF output. After that I would go on a quest to replace ibis's mPDF dependency with something else (TCPDF) only to find out its CSS support was even lesser than mPDF.
One of the main points that made PrismJS attractive was the command-line plugin. It displays the command output with a specific layout, something other solutions didn't have.

Open to see some outputs from Prism

Suggestions
After all this report, what I got to say is that I don't know how to finish this feature. My main suggestion is that we generate the terminal output images using the Prism project I made, replace the old images with the new styled ones and then run the PDF through PDF OCR so we can have the styling without losing the functionality of selecting the text.
My question now is: what do? How can we finish this feature? I'm gonna need some help with this. I could make the Marked+Prism little project available or incorporate it inside the project. Or just create the images and we get going. What do you think is the best for the project? @bobbyiliev
And again, sorry for the late feedback. This was really fun to piece together!

 Thank you so much for putting this together! I will use this as a blueprint and take it from here!


Update autoresponse to latest copy, including FAQ link

@vrajmohan Correct, since we can't infer the language of an arbitrary text received, we just have the English autoresponse. I suppose we could try having a bilingual autoresponse, with the English & Spanish both included.


[Dubbo-3727] Fix NullPointerException when protocoluff protocol serializes an empty object

What is the purpose of the change
Fixed the problem that the protocoluff protocol is not judged empty when serialized
Brief changelog
XXXXX
Verifying this change
XXXXX
Follow this checklist to help us incorporate your contribution quickly and easily:

[x] Make sure there is a GITHUB_issue field for the change (usually before you start working on it). Trivial changes like typos do not require a GITHUB issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[ ] Format the pull request title like [Dubbo-XXX] Fix UnknownException when host config not exist #XXX. Each commit in the pull request should have a meaningful subject line and body.
[ ] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[ ] Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[ ] Run mvn clean install -DskipTests=false & mvn clean test-compile failsafe:integration-test to make sure unit-test and integration-test pass.
[ ] If this contribution is large, please follow the Software Donation Guide.

Codecov Report

Merging #3734 into master will increase coverage by 0.01%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##             master   #3734      +/-   ##
===========================================
+ Coverage     63.58%   63.6%   +0.01%
  Complexity       71      71
===========================================
  Files           703     703
  Lines         31000   31000
  Branches       5022    5022
===========================================
+ Hits          19712   19716       +4
- Misses         9018    9020       +2
+ Partials       2270    2264       -6

Impacted Files
Coverage Δ
Complexity Δ

...n/serialize/protostuff/ProtostuffObjectOutput.java
100% <100%> (ø)
0 <0> (ø)
:arrow_down:

...pache/dubbo/registry/support/AbstractRegistry.java
79.52% <0%> (-1.19%)
0% <0%> (ø)

...dubbo/remoting/exchange/support/DefaultFuture.java
74.14% <0%> (+1.36%)
0% <0%> (ø)
:arrow_down:

...bo/rpc/cluster/support/FailbackClusterInvoker.java
70.49% <0%> (+3.27%)
0% <0%> (ø)
:arrow_down:

.../apache/dubbo/remoting/transport/AbstractPeer.java
67.39% <0%> (+4.34%)
0% <0%> (ø)
:arrow_down:

...ng/exchange/support/header/HeartbeatTimerTask.java
78.94% <0%> (+5.26%)
0% <0%> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

LGTM

@CrazyHZM Will this merge request be released in 2.7.1-RELEASE?

@CrazyHZM Will this merge request be released in 2.7.1-RELEASE?

This merge request will be released in 2.7.2.


Move rustdoc header out of rustdoc container (Fixes #935)

Closes #935.

Uh, this is wrong.

For the record:
$ git show HEAD~:templates/rustdoc/body.html | diff - templates/rustdoc/header.html
238,270d237
<
< <script type="text/javascript" src="/menu.js?{{ docsrs_version() | slugify }}"></script>
< <script type="text/javascript" src="/index.js?{{ docsrs_version() | slugify }}"></script>
< <script>
<       // Reset the scroll offset on browsers that don't support
<       // scroll-padding-top (Desktop & Mobile Safari):
<       const maybeFixupViewPortPosition = function() {
<         if (window.location.hash) {
<           const anchorElement = document.getElementById(window.location.hash.substr(1));
<           const navBarHeight = document.getElementsByClassName("nav-container-rustdoc")[0].offsetHeight;
<           if (anchorElement &&
<               anchorElement.getBoundingClientRect().top <= navBarHeight &&
<               Math.abs(anchorElement.getBoundingClientRect().top) >= 0) {
<             // It's just overlapped by the nav bar. This can't be a coincidence, scroll it into view:
<             requestAnimationFrame(function() {
<               scrollBy(0, -navBarHeight);
<             });
<           }
<         }
<       };
<       window.addEventListener("hashchange", maybeFixupViewPortPosition, false);
<       // Fix up the scroll position if this was a direct visit to the page
<       // (not back/forward navigation):
<       if (window.performance) {
<         const navEntries = window.performance.getEntriesByType('navigation');
<         const usedBack = navEntries.length > 0 && navEntries[0].type === 'back_forward' ||
<               (window.performance.navigation &&
<                window.performance.navigation.type == window.performance.navigation.TYPE_BACK_FORWARD);
<         if (!usedBack && window.location.hash) {
<           window.addEventListener("scroll", maybeFixupViewPortPosition, {"once": true});
<         }
<       }
< </script>

@cynecx is there a reason you added the extra script?

@jyn514 Uh. I didn't add anything script related. I've just moved the html from one place to a new template file? Am I missing something?

Oh I misread the diff - you kept the script in body.html and didn't add it to header.html. Yeah, that seems fine.

@jyn514 Well I wasn't sure where changing the location of the script had any semantic difference, so I've just left it there :)

🤦 I finally figured out the issue with my styles, I never ran a build with the new styles. Don't worry about getting a screenshot yourself, here's one:

So this did fix the issue, nice :) looks good to me after nit.

@jyn514 God damn it. You beat me.  You beat me. I was just running docker-compose xD.

Well, I did already have the full build cached :P


Implement a first basic pipeline string parser for the currently existing pipeline operators

TBD:

[ ] cleanup/optimization
[ ] description

This will be replaced by  a PR based on the Hackathon pipeline operator branch.


Migrations?

The main readme say's we'll offer SQL files as well as migrations.
Phinx is my migration provider of choice. Thoughts on using that?

Fine with me.  Only concern I have as we go deeper into this is I want to avoid having a million dependencies, so I might prefer straight SQL unless it's an issue.

the sal are already delivered btw

@kayladnls , @benedmunds i will like to try to make this migrations

Straight sql would work. Might be cool to write a CLI tool to run said sql, though. (Mainly because I've never done that and I wasn't to)


generated SVG sprite in not optimized

Hello, the svg sprite generated is not optimized

Sorry for the late response, could you make an example?

@ahmedfaical you can further optimize generated sprite by providing custom config object for SVGO:
svgSprite: {
    svgoConfig: {
       // https://github.com/nuxt-community/svg-sprite-module/blob/master/docs/svgo-config.md
    }
  }


Bluetooth State "Unknown" after Navigator.pop

My  app has a login page. After the login, I push your example connection page for now.
When I login for the first time, everything works fine. But if I logout and then use Navigator.pop or push, login again and come back to connection page, then bluetooth state gets stuck at "Unknown". Only fix is to restart the app.
Dispose etc doesnt work

@KatayR BluetoothState will update only if there is any change in BluetoothRaio ( on/off ) etc
but you can also call
WinBle.getBluetoothState().then((BleState state){
// Here get BleState
});
WinBle.bleState.listen((BleState state) {
// Set listener for further updates
});

@KatayR BluetoothState will update only if there is any change in BluetoothRaio ( on/off ) etc but you can also call
WinBle.getBluetoothState().then((BleState state){
  // Here get BleState
});

WinBle.bleState.listen((BleState state) {
    // Set listener for further updates
});

Somehow it doesnt get completed. Print state in here never prints:
  void getLatestBluetoothState() async {
    WinBle.getBluetoothState().then((BleState state) {
      print("new Bluetooth State : " + state.toString());
      setState(() {
        bleState = state;
      });
    });
  }

  @override
  void initState() {
    super.initState();
    getLatestBluetoothState();
...
...

@KatayR is it completing for the first time, or it never worked for you ?

Never works

@KatayR can you please try in example app

It's already almost completely same as example app tho. I only renamed your MyApp widget in main.dart to ConnectionSetupPage widget and put a login page before it.
So main.dart > LoginPage > ConnectionSetupPage(your main.dart codes and a logout button)

@KatayR ok its hard to tell why your app is not getting bluetooth state, but you can try to toggle bluetooth on/off after running app to see if bleState listener getting any updates


"Cannot match any routes" with links inside a lazy module

I'm having an issue with a lazy module but steps to reproduce are quite different than https://github.com/Greentube/localize-router/issues/25 .
App routes :
const routes: Routes = [
  {
    path: 'user',
    loadChildren: 'app/auth/auth.module#AuthModule'
  }
];

Auth routes :
const routes: Routes = [
  {
    path: '',
    component: AuthComponent,
  },
  {
    path : 'login',
    component: LoginComponent,
  },
  {
    path: 'subscription',
    component: SubscriptionComponent
  }
];

When I enter "http://localhost:4200/en/user/subscription" or "http://localhost:4200/en/user/" directly in browser, there is no problem, components are correctly lazy loaded.

With "http://localhost:4200/fr/utilisateur" it works great

But with "http://localhost:4200/fr/utilisateur/inscription" I've got this error Cannot match any routes. URL Segment: 'fr/utilisateur/inscription'

I have another problem with this configuration when I put my links directly in the "app.component.html" file.

This works : {{ 'Login' | translate }}
This needs two clicks on link : {{ 'Subscription' | translate }} (First click throw this error Cannot match any routes. URL Segment: 'fr/utilisateur/inscription' and second click works)

It's exactly the problem described in #45. I am closing this as a duplicate.


Desktop shortcut implementation

Coverage remained the same at 98.987% when pulling bec2665d67de5a4de247715baf906bb108c09d4b on kokulansk:desktop-shortcut into b8ce356ae60a065379a26484031c0c24d60e2a33 on felixrieseberg:master.

desktop shortcut feature

Added desktop shortcut creating feature


Paging stops being triggered from the bottom if the screen height is <~832px

Tested on Firefox: If the screen height is <~832px, paging (in user profile) is not triggered when the browser window is at the absolute bottom of the page. I actually have to scroll up a bit to trigger the paging.

Fixed


Add The Guild to list of Changesets adopters

Hi there!
We at The Guild are huge fans of Changesets.
We are using it in popular libs like graphql-yoga, GraphQL Code Generator, graphql-tools and a lot more (~20 more repos).
We are using most of Changesets features and also extended it with some custom configurations (like publishing canary/alpha releases based on changesets for each in-progress PR).

Thank you for your PR! I am slightly torn on what I should do with it though. There are two aspects here that I take into consideration:

The Guild is a company and not a single project, everything else on the list is a project. I understand that this somewhat acts as an umbrella for all of the projects that you maintain but the point stands.
the list already is somewhat long and it can grow somewhat indefinitely with time

I'm not saying that I don't want to merge this - I'm just considering, in general, what's the best course of action here. I think that ideally I would like to replace the vertical list with a list of logos that could be wrapped horizontally - with such in place I wouldn't object to including The Guild as a whole on the list. But perhaps right now I would prefer this to be replaced with a project or two.
Note that this is mostly me thinking out loud - if you have any other point of view on the matter I would happily discuss this further, don't feel obliged to make any changes right away.

Thanks @Andarist , I agree with your take on this one. I updated the PR and added a list of projects :)


⚠ Bofrost.be has degraded performance

In 6f17412, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1208 ms

Resolved: Bofrost.be performance has improved in 01a01e3 after 6 minutes.


Update android SDK 26

Hi! This PR is updating a bunch of code that is not related to Android. Could you clarify and/or open a new pull request?

Hi! Thanks for this. I think #527 is a better way forward, which lets each project configure this. So, closing in favor of that.