Crash due to ArrayIndexOutOfBoundsException for RecylerMessageAdapter list items

Stacktrace
Crashed: main: 0 0 0x0000000000000000
       at java.util.ArrayList.get(ArrayList.java:310)
       at com.zulip.android.activities.RecyclerMessageAdapter.getItem(RecyclerMessageAdapter.java:581)
       at com.zulip.android.activities.MessageListFragment.scrolledToLastMessage(MessageListFragment.java:791)
       at com.zulip.android.activities.ZulipActivity.onNewMessages(ZulipActivity.java:2265)
       at com.zulip.android.networking.AsyncGetEvents$6.run(AsyncGetEvents.java:401)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:145)
       at android.app.ActivityThread.main(ActivityThread.java:5942)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

--

Fatal Exception: java.lang.ArrayIndexOutOfBoundsException: length=12; index=-1
       at java.util.ArrayList.get(ArrayList.java:310)
       at com.zulip.android.activities.RecyclerMessageAdapter.getItem(RecyclerMessageAdapter.java:581)
       at com.zulip.android.activities.MessageListFragment.scrolledToLastMessage(MessageListFragment.java:791)
       at com.zulip.android.activities.ZulipActivity.onNewMessages(ZulipActivity.java:2265)
       at com.zulip.android.networking.AsyncGetEvents$6.run(AsyncGetEvents.java:401)
       at android.os.Handler.handleCallback(Handler.java:739)
       at android.os.Handler.dispatchMessage(Handler.java:95)
       at android.os.Looper.loop(Looper.java:145)
       at android.app.ActivityThread.main(ActivityThread.java:5942)
       at java.lang.reflect.Method.invoke(Method.java)
       at java.lang.reflect.Method.invoke(Method.java:372)
       at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)
       at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)

@Sam1301 i would like to work on this

@Sam1301 How should a user try to reproduce this error?

We got this from crash reporting, so I don't think we actually know how to reproduce it.

@Jonsnow21  so I couldn't reproduce this error but got this in crashylytics. There must be some state in which the app gets which causes this. Here's the full stacktrace(stacktrace.txt) in case you want to investigate. If you still can't reproduce the error, one thing you could try is testing the app on older releases of zulip server(https://github.com/zulip/zulip/releases). For this you'll need to set your development environment (https://github.com/zulip/zulip-android#connecting-to-a-development-server).
Happy debugging :)

Do we have any other Information about this ?
Any other instance of crashing ?

I think someone will need to read the code around this stack to debug this.

I investigated and got 1 Thing.
The Lines Number of Methods is Changed.
And this branch has not got any Merge done after 13th.
This suggests that either this is issue on old code. I am looking into previous commits when the Line Numbers are matching the case.

@meghalagrawal this bug is for release v1.2.1 (https://github.com/zulip/zulip-android/releases/tag/1.2.1) hence the line numbers may have changed.

I think I've found out, what this bug is about. In my opinion, public boolean scrolledToLastMessage(), which is in MessageListFragment.java (line 790) should first check, what linearLayoutManager.findLastVisibleItemPosition() returns and then, if it != -1, call adapter.getItem(int position) method with it as an argument. If it == -1, then we should change it to some default value.
So it should look somewhat like this (if we want scrolledToLastMessage use position 0 as default):
public boolean scrolledToLastMessage() {         int position = linearLayoutManager.findLastVisibleItemPosition();         if (position != -1)             position = 0;         Object object = adapter.getItem(position);         return object instanceof Message && (((Message) object).getId() >= app.getMaxMessageId() - 2);     }
(I'm sorry I can't make this code look normal here.)

This is a solution but the thing is this is not the real Culprit.
We should know in which case is it Returning -1 ?? and why ?


Unable to set shared_key for vpn_connections.

Is there an existing issue for this?

[X] I have searched the existing issues

Description
Unable to set shared_key for vpn_connections when using a sensitive value.
╷
│ Error: Invalid for_each argument
│
│   on .terraform/modules/vgw/main.tf line 163, in resource "azurerm_virtual_network_gateway_connection" "vgw":
│  163:   for_each = local.virtual_network_gateway_connections
│     ├────────────────
│     │ local.virtual_network_gateway_connections has a sensitive value
│
│ Sensitive values, or values derived from sensitive values, cannot be used as for_each arguments. If used, the sensitive value could be exposed as a resource instance key.
╵
Error running terraform apply : exit status

New or Affected Resource(s)/Data Source(s)
azurerm_virtual_network_gateway_connection.vgw
Potential Terraform Configuration
resource "azurerm_virtual_network_gateway_connection" "vgw" {
  for_each = nonsensitive(local.virtual_network_gateway_connections)
  ...
}

References
No response

@jz-wilson Thanks for raising this, we'll look into some potential workarounds

@jz-wilson, can you please provide tfvars file you used (omitting the obvious) to help me reproduce this error. Thanks.

I am using local.local_network_gateways and the module terraform-aws-modules/vpn-gateway/aws. The shared_key is sensitive so when that is set it doesn't allow it to be created. When you set the shared key to something manual like "blah" it doesn't error. I think you can test using the resource random.password.result as that should be a sensitive value.
  local_network_gateways = {
    ("${module.vpn_gateway["aws"].vpn_connection_id}-tunnel1") = {
      name            = "${module.vpn_gateway["aws"].vpn_connection_id}-tunnel1"
      gateway_address = module.vpn_gateway["aws"].vpn_connection_tunnel1_address
      address_space   = ["<IP_ADDRESS>/16"]
      connection      = {
        name                = "${module.vpn_gateway["aws"].vpn_connection_id}-tunnel1"
        type                = "IPsec"
        enable_bgp          = false
        dpd_timeout_seconds = 45
        shared_key          = module.vpn_gateway["aws"].tunnel1_preshared_key
      }
}

Thanks, looking to get a PR in this week.


Merging updated YAMLs

@ggchiriac Sounds good 👍
Only reason I kept this up was because manually moving the YAMLs would eliminate those commits from Julia's commit history, but I think we've made our case to Oleg. My bad for not merging this earlier.

Will merge YAMLs locally.


Support SELinux configuration/toggling

This is already done.
https://github.com/rancherfederal/rke2-ansible/blob/main/roles/prereqs/tasks/config.yml#L26


Update docker integration tests to use golem

Use registry example from golem repository.
Use the golem test runner for the docker integration environment

Current coverage is 51.17%

Merging #1583 into master will decrease coverage by -6.80% as of 3449065

@@            master   #1583   diff @@
======================================
  Files          122     122
  Stmts        10659   10637    -22
  Branches       838     748    -90
  Methods          0       0
======================================
- Hit           6180    5444   -736
+ Partial        838     748    -90
- Missed        3641    4445   +804

Review entire Coverage Diff as of 3449065

Uncovered Suggestions

+0.31% via .../driver/s3-aws/s3.go#730...761
+0.29% via .../driver/s3-aws/s3.go#266...295
+0.22% via .../driver/s3-aws/s3.go#882...904
See 7 more...

Powered by Codecov. Updated on successful CI builds.

Is the idea that the distribution-specific tests and fixtures will move out of the golem repository into distribution? Makes sense, but if that's not the plan, I would prefer that CI check out golem to get these files so they are not duplicated.

I guess my main feedback (from a very quick look :)) is: do we have to "vendor" all that? Or can we rely on a prebuilt malevolent image instead of having all the code here?

I was just looking at the vendoring. We should at least remove malevolent/vendor/github.com/docker/distribution :).

@aaronlehmann I guess we are poking the same issue here :)

No need to revendor logrus either.

I am not opposed to splitting out malevolent, my feeling though when I originally wrote it is that it was highly specific to the tests. I agree it does bring in a lot of "cruft" by having another vendor directory, but I am not convinced that should not be allowed.

Can we remove hello-golem and the hello binary? This might make sense for upstream golem, but I don't think it's applicable to the distribution tests. Also, I would like to avoid checking in binary executables if at all possible.

@aaronlehmann yes we can remove it. These are only used for the v1 tests which don't need to be part of the distribution tests, it will also decrease startup time so it was already on the chopping block.

Removed v1 tests (we can re-add something similar in the future if we have useful test cases). No more binaries.

LGTM

Could you add a HOWTO or some documentation explaining golem in the /docs dir?

@RichardScothern I will in a follow up PR, you have my word

You have my blessing, child :pray:


[Question]

Checklist

[x ] I'm asking a question
[x ] I've looked through the README and FAQ for similar questions
[x ] I've searched the bugtracker for similar questions including closed ones

Question

I was trying to download a video with multiple audio streams using youtube-dl and the following command
.\youtube-dl.exe -f "bestvideo+audio_0-Ambient_Sound,audio_0-English" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" m3u8link here.
This downloads the video and only one audio stream into one well-formed file.
When asked how to download multiple audio streams, I was told to try yt.dlp, and I tried the following cmd:
.\yt-dlp.exe -f "all[vcodec=none],bestvideo" --audio-multistreams -o "recon.mp4" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0" m3u8 here
However with this command all I get is this:
[info] index.m3u8?aws: Downloading 3 format(s): audio_0-Ambient_Sound, audio_0-English, 6191
[hlsnative] Downloading m3u8 manifest
[hlsnative] Total fragments: 727
[download] Destination: recon.mp4
[download] 100% of 66.55MiB in 01:29
[FixupM3u8] Fixing malformed AAC bitstream of "recon.mp4"
[download] recon.mp4 has already been downloaded
WARNING: index.m3u8?aws: malformed AAC bitstream detected
[download] recon.mp4 has already been downloaded
WARNING: index.m3u8?aws: malformed AAC bitstream detected
and obviously the file is much larger than 66mb.

-o "recon.mp4"
U have hardcoded the name therefore it won't overwrite
use a better output template

If you are trying to download all the streams into a single file, it should be -f "bv+all[vcodec=none]". Note the +, not ,
If instead you want multiple files, like Ashish said, use an output template that gives different names to the different files

With two audio streams, ambient and english this is what I got
.\yt-dlp.exe -f "bv+all[vcodec=none]" --audio-multistreams --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
resulted in one video file with with ambient, and a standalone audio with ambient.
.\yt-dlp.exe -f "bv+all[vcodec=none]" --audio-multistreams -o "%(format_id)s.%(ext)s" --user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0"
resulted in two videos, both with ambient

Send output of -F

ID                    EXT RESOLUTION FPS |   TBR PROTO  | VCODEC        VBR ACODEC  MORE INFO

audio_0-Ambient_Sound mp4 audio only     |       m3u8_n |                   unknown [qis], Ambient Sound
audio_0-English       mp4 audio only     |       m3u8_n |                   unknown [eng], English
352                   mp4 416x240    25  |  352k m3u8_n | avc1.42C01E  352k
471                   mp4 416x240    25  |  471k m3u8_n | avc1.4D401F  471k
669                   mp4 640x360    25  |  669k m3u8_n | avc1.64001F  669k
1127                  mp4 640x360    25  | 1127k m3u8_n | avc1.64001F 1127k
1549                  mp4 640x360    25  | 1549k m3u8_n | avc1.64001F 1549k
1831                  mp4 960x540    25  | 1831k m3u8_n | avc1.64001F 1831k
2394                  mp4 1280x720   25  | 2394k m3u8_n | avc1.640029 2394k
3716                  mp4 1280x720   50  | 3716k m3u8_n | avc1.640029 3716k
6191                  mp4 1920x1080  50  | 6191k m3u8_n | avc1.64002A 6191k

resulted in one video file with with ambient, and a standalone audio with ambient.

it should be mergeall, not all. Updated my above comment


How to action-copy a PNG sequence

Hey there,
I currently have Nexrender rendering my project as a PNG sequence, and now I'm wondering how to copy that outputted sequence to my folder.
Currently, it moves the first image, then shows this:

My code looks like this:

I have tried setting the output to both "output.png" and "output_[#####].png"
Thanks a lot for any help

Hello @BasicWatermelon
I'm afraid the action-copy lacks support for multi-image sequences atm, as you can see the whole code is quite small and takes care only of video files: https://github.com/inlife/nexrender/blob/master/packages/nexrender-action-copy/index.js

Alright, no problem. I have an idea on how to bodge it to work.
Thanks a lot!

@BasicWatermelon How did you get it to work? I'm running into a similar issue?

@BasicWatermelon How did you get it to work? I'm running into a similar issue?

My end goal use case was extremely specific so I ended up making my own module and not using the action-copy one.


pink + green theme

Not sure how we'll feel about the green in this one

The green here gets flagged for color contrast, may need to change to- #627354- are you OK with me doing that?

The green here gets flagged for color contrast, may need to change to- #627354- are you OK with me doing that?

Ok this one is all set too- take a look and thumbs up if it looks good to you! And thank you again 💐

Ok this one is all set too- take a look and thumbs up if it looks good to you! And thank you again 💐

LGTM!

LGTM!


Update humantomato

I provide a highly related work "HumanTOMATO: Text-aligned Whole-body Motion Generation" (https://lhchen.top/HumanTOMATO/).

❤ Thanks for sharing that!


Relative imports, everywhere?

Why you guys still using relative imports? ? ? ? ? ?

Thanks for your feedback.  We will be updating to support absolute imports in future versions.


service removing problem under OSX

Hi, i'm working on OSX 10.13.3
Service is not unload when you remove it on OSX.
You can remove service and trying to install it, you will get: "service is already running" because function Remove() doesn't unload service before removing the plist file.
Some solution possible:
1 - Add in my code Stop() before call Remove() (very bad solution)
2- In function Remove() add this code to check if service is running and stop it before remove it:
if _, ok := darwin.checkRunning(); ok {
	stopAction, err := darwin.Stop()
	if err != nil {
		return stopAction, err
	}
}

@takama up


Update plugin to be compatible with Cypress 10

Hello 👋 I'm writing on behalf of the Cypress DX team. We wanted to write you before the release of Cypress 10, and ask that you ensure this plugin is compatible with our next major release. For more information, here is our official plugin update guide.

I think this project is unusable with Cypress >10.

@stuaylward frankly speaking. I'm sure if people are really using this application in their real life projects. So I have not provided any fix or update from along time.


WIP code for cli interface

I noticed:

build a emacs-less cli for org-mode (working on it)

Wondering where I might find the WIP code.

It will be here in this repo if I start to work on it. Currently it doesn't exist yet.

Ah that explains it, thanks.


Question about backward process for mask

Hello, thanks for your great effor.
I have a question about the backward process for mask here. It seems that the mask is back propagate as the volume rendering process like depth or color. However, the mask, which is 1-T, is just the multiplication from (1-alpha_1) to (1-alpha_n).
So, in my view, the gradients from masks is just dL_dalpha += (dL_dmask[pix_id]) * (T_final/(1.f - alpha)) because  d_mask_d_T = -1, dT_d_alpha = (-T_final / (1.f - alpha)).
Is this a correct thought?
Thanks for your future reply in advance!

Hi, @JunyuanDeng, thanks for your interest.

Is this a correct thought?

Yes, you‘ve got the right idea.
But please note that
1 - \prod_{1}^{n} (1-\alpha_{i}) = 1 - T = \sum_{i}^{n} \alpha_{i} \prod^{i-1}_{j} (1-\alpha_{j})

They are two equivalent views. Since we used the latter in the forward computation, we kept the same volume-rendering style when compute its gradient in the back-propagation.
Actually, your formulation of gradient is also equal to the current implemention. Because the (1.0 - accum_mask_rec) in L1044 is the product from (1-alpha_{i+1}) to (1-alpha_{n}) and T in L1046 is the product from (1-alpha_{1}) to (1-alpha_{i-1}), so the product of them is just (T_final/(1.f - alpha_i)).

Thanks for your rely, I understood.


MacOS crash when trying to Run project

Godot version
v4.1.rc1.official [1f9e540f1]
System information
Godot v4.1.rc1 - macOS 13.3.1 - Vulkan (Mobile) - dedicated AMD Radeon Pro 5300M - Intel(R) Core(TM) i9-9980HK CPU @ 2.40GHz (16 Threads)
Issue description
Here is the MacOS error report and the Terminal output when running my project from the terminal.
I have tested this on a new and clean project with only a Node2D as the root and a Sprite2D as a child, and the project Runs fine, so it has to be something I have done. I have no Shaders, no Particles, and the only thing left is trying to write to the user:// folder, but I have commented those out and it still crashes. My project currently consists of Control nodes, this project is mainly UI focused.
Oddly enough, I can build for iOS just fine, but when trying to export for MacOS it does the exact same crash, with the same error log. I only use my Macbook when I'm not at home, I usually use my desktop, which is running Windows 11 and it works just fine.
pycbouh over on Reddit had me try different versions and I went all the way back to 4.1 dev 4 and still the same issue.
Steps to reproduce
After selecting my project and the Editor opens, I click the Run button and it crashes back to the Editor. Usually no error in console, and sometimes MacOS will provide an error popup.
Minimal reproduction project
I would like to supply a reproduction project, but this project isn't something I am comfortable giving out publicly.

Thanks for the report and the testing done so far!
Without a reliable way to reproduce it on our side, we'll be reliant on more testing from you to help narrow down what causes the issue, if you're willing.
I'm not sure exactly how to debug things yet, but these are things you could try (or confirm if already tried) to help us narrow it down:

You mentioned "I went all the way back to 4.1 dev 4 and still the same issue." Does it mean that you tried 4.1 dev 3 and it worked fine (i.e. the issue started in dev 4), or you didn't test earlier builds? If the latter, could you test dev 3, dev 2 and dev 1 too, to pinpoint the first one where the bug starts?

The macOS report and terminal output don't provide enough information because the Godot binary we provide doesn't include debug symbols by default. There's still at least a hint that it might be a crash of the Vulkan (MoltenVK) renderer, though this could be a false positive. To narrow it down, you could:

Check whether running your project with OpenGL works around the issue. You can change this in the Project Settings by changing "Rendering Method" to "GL Compatibility".
Compile Godot from source with scons debug_symbols=yes to have debug symbols, and use that compiled binary to run your project and see if you get more details when it crashes. Here's the relevant documentation if you want to try that.

Since you mention that other projects don't fail, and exporting your project to iOS also works fine, this may suggest something specific to the configuration of your macOS export preset in the Export menu. Or it could be some cached data that somehow messes things up. To test that, could you:

Temporarily move/rename the export_presets.cfg file so that it no longer uses whatever you have configured in it for macOS, and see if the project runs OK.
Temporarily move/rename the res://.godot folder to force reimporting assets and re-creating cached editor data and shaders, and see if the project runs OK.
Temporarily move/rename the folder ~/Library/Application Support/Godot/projects/<project name>-<hash>/, and see if the project runs OK.
Temporarily move/rename the folder ~/Library/Application Support/Godot/app_userdata/<project name>/, and see if the project runs OK.
All these "temporarily" are because if one of them fixes the issue, it could be useful to still have access to the old bad data to compare them and see how the engine could solve the problem of using such bad data.

I have finally got time to build from source on my Macbook, here is the MacOS Crash Report.
I would be willing to upload my project if someone wanted to peek at it, I just don't want it public as I don't know where I am going with this and if I do release it for purchase, I don't want the source floating around.

Thanks, that's very helpful! According to the log, it's crashing on this line:
https://github.com/godotengine/godot/blob/46424488edc341b65467ee7fd3ac423e4d49ad34/main/main.cpp#L3225
So it's crashing when setting the window icon. Is it a custom icon, and if so can you share it?
CC @bruvzg

I do have a custom icon set, I used an online generator to create one based on my PNG icon I created. I cleared that and it seems to be working now. Whats strange, is that was so early on in the project, that it would have been working back then and at some point stopped working.

Great! That should be fixable, but also doesn't sound too critical for 4.1 anymore since most users shouldn't have a corrupted custom icon.


Fix python unittest runtime error in ament_tools

Fix python unittest runtime error due to no support to option -o in python3-pytest
Signed-off-by: Ethan Gao<EMAIL_ADDRESS>

This is the part of the hot patch to issue #185

No need to fix with this PR after upgrading pytest to latest e.g 3.5.0, abandon it !


Support cri-o runtime

With official Docker version support being frozen on 1.12.x, no so long there will be a  need for alternative.
It seems that there is  new player CRI-O, which is presented as a kubernetes compatible container runtime designed around kubernetes in mind. From https://www.projectatomic.io/blog/2017/06/6-reasons-why-cri-o-is-the-best-runtime-for-kubernetes/

CRI-O directly implements the Kubernetes Container Runtime Interface and the only supported user is meant to be Kubernetes. CRI-O is entirely shaped around Kubernetes, you won’t ever see a feature being added if it isn’t strictly necessary for Kubernetes.
We do run upstream Kubernetes node-e2e tests and e2e tests before accepting any patch. If our CI isn’t green you must fix your code. Test suites are also run before any release. In addition to the Kubernetes tests, CRI-O has its own integration tests and the CRI-O development community is continually adding to them. Unlike other container runtimes meant to work with other container orchestrators, CRI-O will block a release on any breakage of the Kubernetes test suites. You read it right, we’re going to block a release if it breaks Kubernetes.

"Kubernetes the hard way" guide was recently updated to use cri-o as a runtime too.

Just a note https://github.com/kubernetes/kubernetes/issues/42926

@redbaron Docker 1.13.x and 17.x will still be officially supported. Also, please check https://github.com/kubernetes-incubator/cri-containerd

CRI-O 1.0 released https://github.com/kubernetes-incubator/cri-o/releases/tag/v1.0.0

I think it's useful to know that e2e tests using Docker 17.09  are passing and that CoreOs will switch to Docker 17.09 in the stable channel starting December 6 2017.
December 6, 2017: The stable channel defaults to Docker 17.09 unless /etc/coreos/docker-1.12 is set to yes.
More info here

@mumoshu how do we feel about supporting containerd or even replacing docker with it?https://kubernetes.io/blog/2018/05/24/kubernetes-containerd-integration-goes-ga/

I think containerd is the way to do. I've been fighting with docker bugs during the last year and it can be solved moving to containerd


Add audit log for debugging

This adds the papertrail gem to the app and sets it up. Paperclip will keep track of all of the changes in the models (Document, Image, User).
The reason for this is to keep an audit log of all of the changes. While we're busy building this application, we're very likely to run into a situation where a document has entered a particular state, and we're not sure how this happened. Having a full log of changes will help us a lot in debugging. And with time being linear, we won't be able to add this feature retroactively if something goes wrong.
It's worth noting that this is a distinct & separate use case from the history timeline (https://github.com/alphagov/content-publisher/pull/270), which is a feature designed for end-users. The two shouldn't be coupled.
Downside of having this:

It slow all of the writes down. When a document is edited, there will be multiple versions created because of the state changes.
The versions table is likely to grow a lot. We'll need to make sure that we clean up if the table becomes too large. There's a ticket on the planning board for this: https://trello.com/c/XMrIPU88. This is also the reason that we need to keep the history feature and this audit trail separate, because we should be able to truncate the table without losing end-user functionality.

This PR also adds the entries to a document "debug" page.

Just to understand the context, Is this intended entirely for debugging purposes or are they any ideas about it's usage with regards to rolling back?
It seems a cool idea and I can see it being useful in the early days. I have a concern that if we're not looking at it often it could fill up a lot of data.
What sort of future do you see for this with the context of storing revisions?

@kevindew argh, tried to communicate that in the PR description but it wasn't clear enough. Papertrail should only be used as an audit log, and absolutely nothing else. This will make it easy for us to throw away the data and have a functioning application.

Can you add comment above the Papertrail lines to indicate what it's being used for. I reckon when we eventually have two kinds of history it'll confuse people unless we clearly signpost it for them.


Improve pubkey memory management

Because of legacy code, the app until now used serialized (bip58-encoded) pubkeys everywhere. That's less efficient for no good reason, and requires more memory.

Codecov Report
Patch coverage has no change and project coverage change: -0.24 :warning:

Comparison is base (f292967) 84.50% compared to head (a795a8c) 84.27%.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #185      +/-   ##
===========================================
- Coverage    84.50%   84.27%   -0.24%
===========================================
  Files           17       17
  Lines         2162     2168       +6
===========================================
  Hits          1827     1827
- Misses         335      341       +6

Flag
Coverage Δ

unittests
84.27% <0.00%> (-0.24%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

src/common/wallet.c
84.41% <0.00%> (-0.35%)
:arrow_down:

src/common/wallet.h
100.00% <ø> (ø)

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


LaunchContext changes

We need to move CudaContext and correpsonding holder structures down to C++ level before adding multi-device support to SameDiff/libnd4j Graph execution.
LaunchContext should also get proper support for cuBLAS handles sharing and device affinity.

Implemented in beta5


Useage? How?

Hey, how can I use the prettier version of ImageGlass? :D
I'm an active ImageGlass user and this version seems pretty cool. But how can I use it?

Oh this is just my experiment on electronjs, but there are lots of challenges. Hence, there are no future plan on this.
Thanks for the question :)

I like the design of it a lot. Which framework are you currently using? WPF?


Order placement

It would be great to have some additional documentation around the  order placing.
Thanks

Yep. I'm working on getting docs generated. For now, this test here may give you an idea on how to place, match and cancel orders:
https://github.com/serum-community/pyserum/blob/c7a7d61f01fcb1ef765b0746b366074a5e59d23d/tests/integration/test_market.py#L85

Thanks @michaelhly

@michaelhly can you please provide an example on how to place a order? Thanks

Sorry about this. I'm doing something for the Solana hackathon so haven't gotten around to write docs.
Let me know if this is helpful:
from pyserum import conn
from pyserum.market import Market
from solana.account import Account
from spl.token.client import Token
from spl.token.constants import TOKEN_PROGRAM_ID

payer = Account() # Your account to pay fees
quote_token = Token(
    pubkey="EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v", # mint address of token
    program_id=TOKEN_PROGRAM_ID,
    payer=payer,
)
quote_wallet = srm_token.create_account(payer.public_key()). # Make sure you send tokens to this address

cc = conn("https://api.mainnet-beta.solana.com/")
market_address = "5LgJphS6D5zXwUVPU7eCryDBkyta3AidrJ5vjNU6BcGW" # Address for BTC/USDC
market = Market.load(cc, market_address)

tx_sig = bootstrapped_market.place_order(
    payer=quote_wallet,
    owner=payer.public_key(),
    side=Side.Buy,
    order_type=OrderType.Limit,
    limit_price=1000,
    max_quantity=3000,
)

@michaelhly thanks for the example. Can't find the module spl.token.client, do you mind pointing me to it?

https://michaelhly.github.io/solana-py/spl.html#module-spl.token.client
You need to install solana.py with:
pip install solana

Closed this issue for now. Feel free to reply below if there are additional questions. We're adding some more documentation to the project now.

@michaelhly Thanks for the example!
Just tested but i'm getting the following error while creating the quote_token
Traceback (most recent call last):
File "order_example.py", line 39, in
quote_wallet = quote_token.create_account(payer.public_key())  # Make sure you send tokens to this address
File "/home/starscream/apps/serum-projects/pyserum/.venv/lib/python3.7/site-packages/spl/token/client.py", line 223, in create_account
balance_needed = Token.get_min_balance_rent_for_exempt_for_account(self._conn)
File "/home/starscream/apps/serum-projects/pyserum/.venv/lib/python3.7/site-packages/spl/token/client.py", line 91, in get_min_balance_rent_for_exempt_for_account
resp = conn.get_minimum_balance_for_rent_exemption(ACCOUNT_LAYOUT.sizeof())
TypeError: get_minimum_balance_for_rent_exemption() missing 1 required positional argument: 'usize'
I know this maybe is related to the solana package

@aqt01 I wasn't able to reproduce your error. Could you send over your order_example.py script.
Also it's my bad. There were some errors in the example, here is a working version:
<EMAIL_ADDRESS>You should expect an output like
quote wallet:  CW4Kx4WhvedvWDV9F5NyMeoQChHzYxDNKdgnkdaNyLWD
{'jsonrpc': '2.0', 'result': '2bVdR3YeWnLaCv4AQ5NfPitLtEr6yiL4qjDEvMvKofA2TER2dp2pz3YiN2jMj9HmjVw3WzgL7Ne8qziWBZH3Tmaf', 'id': 10}

@michaelhly
Thanks for your time!
Yes you can find the code example here:
https://gist.github.com/aqt01/50d45df62d065683ed074ede99ccb109

Okay. Let me know if you're still having issues.

Hi, i'm really happy to found this ... thanks a lot! but ho do we have to enter the private key? (' ', [], etc ...)
i have errors , and tried every thing, with my private key, (ex: "PrivateKey must be created from a 32 bytes" ---> when use '  ')

@kal1er If you have a 64-byte keypair array. The private key is the first 32 bytes.

i have 88 characteres... do i have to pick the 32 first like that : priv_key =  priv_key[:32]

i have 88 characteres... do i have to pick the 32 first like that : priv_key = priv_key[:32]

If your priv_key is created from sollet, you can do:
import base58
private_key = base58.b58decode(private_key_string)
payer = Account(private_key[:32]) # Your account to pay fees

thank you yurenji... it's exactly what i did after some help... i have other questions about building cancel orders and settling requests...
tx_settl = market.settle_funds(
owner=payer,
open_orders=-----------,
base_wallet='XWvGe......................................8MgjosdFQ',
quote_wallet='Hrr32W....................................3fgdozg9PYrcZ'
)
tx_cncl = market.cancel_order(
owner=payer,
order= ---------------------
)
what modules and what data do we have to add in the "open-orders" arg. for settling and in the "order" arg. for cancelling,
i made some research in the "market"and "open_orders_account"  script  in pyserum and in the "api" script in solana/rpc,
but i'm a little lost, it's my limit skills...

@kal1er. Here is what we do for testing:
https://github.com/serum-community/pyserum/blob/43c66c7f3fe2b0578bb5f1c8d9c00d03c1350f96/tests/integration/test_market.py#L83
Let me know if this helps.

@michaelhly , It seems to be almost working, i have this error for the cancellation:
{'code': -32002, 'message': 'Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1000680', 'data': {'err': {'InstructionError': [0, {'Custom': 16778880}]}, 'logs': ['Call BPF program EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o', 'BPF program consumed 1270 of 200000 units', 'BPF program EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o failed: custom program error: 0x1000680']}}
and this one for the settling:
{'code': -32002, 'message': 'Transaction simulation failed: Error processing Instruction 0: custom program error: 0x10006c0', 'data': {'err': {'I
nstructionError': [0, {'Custom': 16778944}]}, 'logs': ['Call BPF program EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o', 'BPF program consumed 452
4 of 200000 units', 'BPF program EUqojwWA2rd19FZrzeBncJsm38Jm1hEhE3zsmX3bRc2o failed: custom program error: 0x10006c0']}}

Can you provide us your script?
You're likely failing this assertion check when canceling:
https://github.com/project-serum/serum-dex/blob/cb43d3707fef74dd59bb293475c9a74467a19d65/dex/src/state.rs#L1669
And one of these when trying to settle:
https://github.com/project-serum/serum-dex/blob/cb43d3707fef74dd59bb293475c9a74467a19d65/dex/src/state.rs#L1728

i add a new issue here: https://github.com/serum-community/pyserum/issues/61

Closing this for no activity


need to allow anonymous bind to browse an ldap repository

I am porting an old php application to nodejs, and in the old application it performs an anonymous bind to our ldap server to be able to retrieve cn , sn, email, and also be able to locate upstream managers.
Based on the documentation I have seen for ldapjs, there is no way to perform an anonymous bind.
Is this possible, and if so how is it done, If not can it be added?

According to the docs

You can bind any number of times on a single connection and change that identity. Technically, it's optional, and you can support anonymous operations from clients

(by default ldapjs will have a DN of cn=anonymous if the client didn't bind).

So if i don't explicitly perform a bind, then the client is bound anonymously?
I have written a little test script to see if I get anything back from ldap:
console.log("Starting script.");
var assert = require('assert');
var ldap = require('ldapjs');
var client = ldap.createClient({
  url: 'ldap://ldap.example.com',
  reconnect: true
});
console.log("after createClient");

var opts = {
  filter: '(email=john.doe@example.com)',
  scope: 'sub',
};
client.search('dc=example,dc=com', opts, function(err, res) {
  assert.ifError(err);

    res.on('searchEntry', function(entry) {
	    console.log('entry: ' + JSON.stringify(entry.object));
		  });
		    res.on('searchReference', function(referral) {
			    console.log('referral: ' + referral.uris.join());
				  });
				    res.on('error', function(err) {
					    console.error('error: ' + err.message);
						  });
						    res.on('end', function(result) {
							    console.log('status: ' + result.status);
								  });
								  });

console.log("After search");
client.unbind(function(err) {
  assert.ifError(err);
});
console.log("After unbind");

When I run this script, I see the console messages saying that the script started and after each of the connect, search, and unbind steps.
However, I don't get any message about the search results so what am I doing wrong?  are my search options not sufficient for the task of searching?

add
client.on("error", (err) => {
  assert.ifError(err);
});
client.on("setupError", (err) => {
  assert.ifError(err);
});
client.on("connectError", (err) => {
  assert.ifError(err);
});
client.on("connectTimeout", (err) => {
  assert.ifError(err);
});
client.on("connectRefused", (err) => {
  assert.ifError(err);
});

to see if there are any connection errors

@UziTech  Thank you for the code.  I added it to my script and didn't get any errors displayed.
After all of my console.log statements were output, I did get some search results, but the long and short of it was that it didn't return any results.
I don't know what kind of ldap server my company is using, so I can't make my question any more specific.
Based on the output, it didn't look like there were any errors encountered during the search just no results.
my code is as follows:
    const ldap = require('ldapjs');
    const assert = require('assert');

    // LDAP Connection Settings
    const server = "ldap.example.com";
    const userEmail =<EMAIL_ADDRESS>    const adSuffix = "dc=example,dc=com"; // test.com

    // Create client and bind to AD
    console.log("Prepared to create the ldapjs client");
    const client = ldap.createClient({
        url: `ldap://${server}`
    });
    client.on("error", (err) => {
      assert.ifError(err);
    });
    client.on("setupError", (err) => {
      assert.ifError(err);
    });
    client.on("connectError", (err) => {
      assert.ifError(err);
    });
    client.on("connectTimeout", (err) => {
      assert.ifError(err);
    });
    client.on("connectRefused", (err) => {
      assert.ifError(err);
    });
    console.log("Client created.");

    /*
    client.bind(userPrincipalName,password,err => {
        assert.ifError(err);
    });
    */
    // Search AD for user
    const searchOptions = {
        scope: "sub",
        filter: `(email=${userEmail})`
    };

    console.log("Performing search...");
    client.search(adSuffix,searchOptions,(err,res) => {
        assert.ifError(err);

        res.on('searchEntry', entry => {
    		console.log("Search results:");
            console.log(entry.object);
        });
        res.on('searchReference', referral => {
    		console.log("Referral:");
            console.log('referral: ' + referral.uris.join());
        });
        res.on('error', err => {
    		console.log("Error during search");
            console.error('error: ' + err.message);
        });
        res.on('end', result => {
            console.log(result);
        });
    });
    console.log("After search.");
    // Wrap up
    client.unbind( err => {
        assert.ifError(err);
    });
    console.log("After unbind");

Is there anything in particular I should look for in the search result object to help determine why I got no usable results?
an excerpt from the search results:
SearchResponse {
messageID: 1,
protocolOp: 101,
controls: [],
log: { child: [Function] },
status: 0,
matchedDN: '',
errorMessage: '',
referrals: [],

I discovered by looking at the php code I am replacing that I constructed the search filter incorrectly.  Once I fixed that, I did get a lot of information in the response object.
The thing I still find interesting is that the console.log message stating that I was unbinding was printed before the search results were printed.
Is there a way to wait until I get a response to proceed or do I just need to add code into the
    res.on('searchEntry', entry => {

function to process the results once they arrive?

It may be because you are unbinding before the results come in?


URL regex: detect URL when HTLM tag before URL

Hi,
In my previous commit I dealt with the case when there's an HTML tag after the URL but I forgot the case when there's an HTML tag before the URL..
(yes, I use this tweet parser with something else than just tweets ;))
Probably it could be relevant to also add punctuation ("." , ";" , "," , etc.) to the list. Not sure about that.

nice ! :) :+1:


How to delete node

I am new in react flow and started building new application. following are the issues I am facing

how to show delete icon or how to delete node in flow.
how to get click event of node so we can perform operations. i need to do like after clicking on node one popup will come for filling details regarding that node.

You can delete a node with removeElements documented here: https://reactflow.dev/docs/api/helper-functions/
You can use onElementClick on ReactFlow and an example can be found here: https://reactflow.dev/examples/custom-node/

You can delete a node with removeElements documented here: https://reactflow.dev/docs/api/helper-functions/
You can use onElementClick on ReactFlow and an example can be found here: https://reactflow.dev/examples/custom-node/


Warning: componentWillReceiveProps has been renamed

Consolo is warning this message

Warning: componentWillMount has been renamed, and is not recommended for use. See https://fb.me/react-unsafe-component-lifecycles for details.

Move code with side effects to componentDidMount, and set initial state in the constructor.
Rename componentWillMount to UNSAFE_componentWillMount to suppress this warning in non-strict mode. In React 17.x, only the UNSAFE_ name will work. To rename all deprecated lifecycles to their new names, you can run npx react-codemod rename-unsafe-lifecycles in your project source folder.

Please update the following components: AvForm, AvInput, AvRadioGroup

I'm using
React -  16.13.1
availity-reactstrap-validation - ^2.6.1

I'm creating a minimum case test

duplicate of #155


[SMALLFIX] Change some logs's level from info to debug

@gpang

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/10221/
Test PASSed.

Merged build finished. Test PASSed.

LGTM

LGTM


Incorrect Legendre polynomial coefficients

scipy.special.legendre appears to give incorrect result for degrees higher than 3. Basic rules are:

odd-degree Legendre polynomial should have only odd coefficients
even-degree Legendre polynomial should have only even coefficients

But now it could produce some non-zero even coefficients for odd-degree polynomial, and vice versa.
Reproducing code example:

from scipy.special import legendre
print(legendre(4))
print(legendre(5))

The output is
       4             3        2
4.375 x + 4.857e-16 x - 3.75 x + 2.429e-16 x + 0.375
       5        3             2
7.875 x - 8.75 x - 4.372e-16 x + 1.875 x

Scipy/Numpy/Python version information:

1.5.2 1.18.1 sys.version_info(major=3, minor=7, micro=6, releaselevel='final', serial=0)

This looks like the result of floating point imprecision in the method that is used to generate the coefficients.  Other polynomial functions have the same issue.  For example:
In [27]: from scipy.special import chebyt, chebyu, hermite

In [28]: chebyt(4)
Out[28]:
poly1d([ 8.00000000e+00,  0.00000000e+00, -8.00000000e+00, -2.22044605e-16,
        1.00000000e+00])

In [29]: chebyu(4)
Out[29]:
poly1d([ 1.6000000e+01,  0.0000000e+00, -1.2000000e+01, -4.4408921e-16,
        1.0000000e+00])

In [30]: hermite(4)
Out[30]:
poly1d([ 1.6000000e+01,  0.0000000e+00, -4.8000000e+01, -8.8817842e-16,
        1.2000000e+01])

The functions are defined in orthogonal.py, and it looks like it would be a simple change to zero out the coefficients that we know should be zero in functions such as legendre, chebyt, chebyu, and hermite.   Does anyone see a reason to not do this?

I think it would be pointless, roundoff error would still bite once the polynomial was evaluated. The precision can probably be improved by using a more careful algorithm, but not significantly.
In [12]: H.basis(4).convert(kind=P).coef
Out[12]: array([ 12.,   0., -48.,   0.,  16.])

Note the reversal of coefficient order. It's prettier, but that may mostly be the printing precision. If you really want exactness, symbolic math over the rationals is the way to go, but that is a different package.


Battlefield 3 Drivers Unknow

Hello. I have a problem with launching Battlefield 3
An error pops up during level loading
Information about my system:
OS: Linux Mint 19.3
Drivers: Nvidia 440.44
Graphics card: Nvidia GTX 1050ti
DXVK: i have tried to use 1.4-1.5.1
Wine version: 3.21-5.0rc4

Please make an apitrace.

Please make an apitrace.

How can i do it?

https://github.com/doitsujin/dxvk/wiki/Common-issues#apitrace

Posting log files would also be nice... there's a reason why the issue template asks for them, ignoring that just means that addressing your issue will take longer.

Which level/map is crashing? Campaign? Multiplayer?

Posting log files would also be nice... there's a reason why the issue template asks for them, ignoring that just means that addressing your issue will take longer.
Battlefield 3 is actually known to work with DXVK so this probably isn't really a bug, but something weird on your system/wine setup (does the game need d3dx11?).

I don't know how i can create log file and apitrace file. :( Tell me please.

I don't know how i can create log file and apitrace file. :( Tell me please.

https://github.com/doitsujin/dxvk/issues/1335#issuecomment-573421892

Hi,
try to disable the nvapi64 and/or nvapi32 Libraries in winecfg and try again.
Is a old BF 3 Bug and many other games has the same probs with nvapixx. I don't think it has anything to do with DXVK.
Hope it will help you.
All the Best :-)
lle

I'm sorry for the long answer. After updating the driver everything worked


more tests, coverage now at 80%

Reorganized and extended the API test suite.

Current coverage is 79.97%

Merging #230 into master will increase coverage by +5.93% as of 8aee3b3

@@            master    #230   diff @@
======================================
  Files           28      25     -3
  Stmts         1680    1663    -17
  Branches         0       0
  Methods          0       0
======================================
+ Hit           1244    1330    +86
  Partial          0       0
+ Missed         436     333   -103

Review entire Coverage Diff as of 8aee3b3

Powered by Codecov. Updated on successful CI builds.

Searching https://hg.python.org/cpython/raw-file/15c95b7d81dc/Misc/NEWS for zipfile answers my question in the positive :)

Great! thanks @xrotwang


nixos/avahi-daemon: make mdns optional and off by default in nssDatabases.hosts to avoid slow dns resolution

Describe the bug
After enabling nssmdns in avahi, the dns resolution in my nixos vm is very slow (above 5s), I believe it is caused by the last entry mdns in the nss hosts.
Steps To Reproduce
Steps to reproduce the behavior:

Enable nssmdns in services.avahi in nixos configuration.nix:

  services.avahi = {
    enable = true;
    nssmdns = true;
    publish = {
      enable = true;
      addresses = true;
    };
  };

Run sudo nixos-rebuild switch and check the generated /etc/nsswitch.conf:

hosts:     mymachines mdns_minimal [NOTFOUND=return] files myhostname dns mdns

Ping some domain for test:

❯ time ping -c 1 -q github.com
PING github.com (<IP_ADDRESS>) 56(84) bytes of data.

--- github.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 90.951/90.951/90.951/0.000 ms

________________________________________________________
Executed in    5.47 secs      fish           external
   usr time    0.16 millis  159.00 micros    0.00 millis
   sys time    2.11 millis  186.00 micros    1.93 millis

Add some workaround in nixos configuration.nix:

system.nssDatabases.hosts = lib.mkAfter ["[!UNAVAIL=return]"];

Run sudo nixos-rebuild switch and check the generated /etc/nsswitch.conf:

hosts:     mymachines mdns_minimal [NOTFOUND=return] files myhostname dns [!UNAVAIL=return] mdns

Ping the same domain again for test:

❯ time ping -c 1 -q github.com
PING github.com (<IP_ADDRESS>) 56(84) bytes of data.

--- github.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 90.492/90.492/90.492/0.000 ms

________________________________________________________
Executed in  124.60 millis    fish           external
   usr time    1.01 millis  312.00 micros  701.00 micros
   sys time    0.70 millis    0.00 micros  701.00 micros

Expected behavior
No more slow dns resolution above 5s. Add an option to disable the last mdns entry and even make it the default.
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
In nixos-23.11 and nixos-unstable the mdns entry is unconditionally appended to the nss hosts:
https://github.com/NixOS/nixpkgs/blob/3cb4ae6689d2aa3f363516234572613b31212b78/nixos/modules/services/networking/avahi-daemon.nix#L269
https://github.com/NixOS/nixpkgs/blob/cbc4211f0afffe6dfd2478a62615dd5175a13f9a/nixos/modules/services/networking/avahi-daemon.nix#L286
Notify maintainers

Metadata
Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.1.78, NixOS, 23.11 (Tapir), 23.11.4621.3cb4ae6689d2`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos-23.11"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

Add a :+1: reaction to issues you find important.

No more slow dns resolution above 5s. Add an option to disable the last mdns entry and even make it the default.

The only function of this option is to add that entry.
On unstable the option got split into IPv4 and IPv6 and only IPv4 is recommended to be enabled according to upstream as IPv6 often times out, as you have observed.
Since this could be considered a breaking change, it didn't get backported.

The only function of this option is to add that entry.

Actually option nssmdns adds two nss host entries: mdns[4,6]_minimal and mdns[4,6]. The mdns_minimal module handles queries for the .local TLD only, and the full mdns module supports other TLDs.
I understand breaking changes won't get backported. But since there are ongoing breaking changes for this module, I think it's good time to add a new option for users to choose between mdns[4,6]_minimal with or without the full mdns[4,6].
The following snippet is from nixos-unstable:
https://github.com/NixOS/nixpkgs/blob/548a86b335d7ecd8b57ec617781f5e652ab0c38e/nixos/modules/services/networking/avahi-daemon.nix#L275-L288

On unstable the option got split into IPv4 and IPv6 and only IPv4 is recommended to be enabled according to upstream as IPv6 often times out, as you have observed.

I just manually tested the nssmdns handling logic of nixos unstable, even if I disable ipv6, it does not work. I firstly reproduced it in my archlinux workstation, then the nixos stable is the same. As nixos is highly reproducible, I doubts that there is something wrong with my DNS/NSS setup, but if it is the router, I can't control it. That said, in my setup the [!UNAVAIL=return] is still needed if I upgraded to nixos 24.05 in the future.

Make nsswitch.con temporarily editable

cd /etc
sudo mv nsswitch.conf nsswitch.conf.backup
sudo cp nsswitch.conf.backup nsswitch.conf

Use mdns4_minimal and mdns4, emulate the behavior of nixos unstable, the dns resolution is still above 5s

hosts:     mymachines mdns4_minimal [NOTFOUND=return] files myhostname dns mdns4

$ time ping -c1 -q github.com
PING github.com (<IP_ADDRESS>) 56(84) bytes of data.

--- github.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 90.643/90.643/90.643/0.000 ms

real    0m5.125s
user    0m0.001s
sys     0m0.001s

Remove the trailing mdns4 entry, the dns resolution is below 100ms

hosts:     mymachines mdns4_minimal [NOTFOUND=return] files myhostname dns

$ time ping -c1 -q github.com
PING github.com (<IP_ADDRESS>) 56(84) bytes of data.

--- github.com ping statistics ---
1 packets transmitted, 1 received, 0% packet loss, time 0ms
rtt min/avg/max/mdev = 93.290/93.290/93.290/0.000 ms

real    0m0.206s
user    0m0.001s
sys     0m0.001s

P.S.
I changed the shell from fish to bash, so the timing format changed.
Some related article:

With Avahi upstream maintainer hat on, I would say it still makes sense
to have separate mdns*_minimal and mdns? modules. I would say mdns
(non-minimal) should be rarely needed, because by default it should be
used just for *.local names.

https://lists.fedorahosted.org/archives/list/devel@lists.fedoraproject.org/thread/WCZ73YQYF7ULX674Q72DCJQV7M5C6VRY/?sort=date
https://bugs.launchpad.net/ubuntu/+source/nss-mdns/+bug/94940

@flokli can you help?

Related: https://github.com/iputils/iputils/issues/491

Related: iputils/iputils#491

@Atemu Hello!
Have you noticed similar issue with other tools besides ping? Anyway, as ping is so ubiquitous and the full mdns (non-minimal) nss module should be rarely needed, it is still helpful to disable that on the nixos side.
P.S.
While I use system.nssDatabases.hosts = lib.mkAfter ["[!UNAVAIL=return]"]; to bypass the final mdns entry in nsswitch.conf, I'm still wondering if there is some nix expression to just remove the final mdns entry. Is it possible to achieve that on configuration.nix? (I'm not a long time nix user.)


Whmii redesign

Add error page templates
Clean up default page template and site header
Add subscribe form partial
Remove all HTML classes and unnecessary elements/content
Add post.feature_image and post.author.profile_image to the post

This is the second half of clearing things out. I have decided the best course of action is to remove all styles and classes from the theme so that a designer/developer can do what works best for their project.
Instances of {{body_class}}, {{post_class}}, etc… have been left since they are a feature of the CMS.

Looking good 🍔


ERROR: setUpModule (main)

Hello~ I am getting an error in the setUpModule as seen here, please help to check it.

That's odd, have you installed Chromedriver?

Yes, i had install ChromeDriver by the following steps:
sudo apt-get install unzip
wget -N http://chromedriver.storage.googleapis.com/2.24/chromedriver_linux32.zip
unzip chromedriver_linux32.zip
chmod +x chromedriver
sudo mv -f chromedriver /usr/local/share/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/local/bin/chromedriver
sudo ln -s /usr/local/share/chromedriver /usr/bin/chromedriver
besides, the "Chrome://Version" page would be pop-up as below:

Can you try running the string of commands from the Python interpreter, and then right before you get to this line of code, see what keys are available for chromedriver.driver.dict['capabilities']['chrome'] ? I wonder if this is some change that we are seeing on Windows.

sorry for the response so late,
i try to install ChromeDriver again, and put the chromedriver binary in the path, then the issue would not occurred.
but i met another issue as below:
LogoCert ERROR: Timed out finding XPaths: //*[contains(text(), "Details")]
LogoCert ERROR: Error finding details button on printer page.
do the LogoCert can't find the "Details" button in chinese?

I'm not sure if it will find it if it's in Chinese. To know for sure, navigate to this page and open developer tools and see what this web element looks like. My guess is that in Chinese it may be some double byte encoded characters, and not "Details". You may need to run this using English language.

Change to English language is OK.


GitHub requires 'reviewers' and 'team_reviewers' to be sent, even if empty

Otherwise an error is returned. Extracted from our logs:
level=error msg="POST https://X/api/v3/repos/X/Y/pulls/2234/requested_reviewers: 422 Invalid request.\n\n\"reviewers\" wasn't supplied. []"

I think we should try to match GitHub documentation, and if there's a discrepancy, report it to GitHub so they either update documentation, or fix a bug on their side. Otherwise, we're going to diverge from documented behavior and have a library that works unpredictably and is harder to develop and maintain.
Currently, at https://developer.github.com/v3/pulls/review_requests/#create-a-review-request, neither reviewers nor team_reviewers are listed as required parameters. Contrast that with, for example, https://developer.github.com/v3/pulls/comments/#create-a-comment, where all 4 input fields are documented as required.
The team_reviewers field is a part of an API preview, which further means this could be indicative of an issue on GitHub API side.
That's why I don't think we should try to work around it on our side, but rather contact GitHub and let them know about the discrepancy in behavior.
Also see this warning:

Thanks @e-beach @shurcooL. On further investigation, team_reviewers doesn't appear to be required, so I've updated my diff to reflect that. I've also contacted GitHub via their support email address to see about updating the documentation. I'll let you know if they get back to me.

Got a response from GitHub :tada:

Hey Andy,
The team talked about this and they tweaked the behavior so that neither parameter is required (in the sense that it needs to be present in every request), but at least one needs to be provided (either reviewers or team_reviewers).
Hope this helps. And if you notice anything else that looks strange -- let us know!
Cheers,
Ivan

Contacting GitHub was definitely the right choice. Thanks for nudging me that way @shurcooL. No need for this code anymore.


dist: fix "other" permissions so rkt list can work without root/rkt-admin

cc @marineam

LGTM

I'm not sure this is right... we were trying to restrict the world from reading /etc/rkt/trustedkeys/. Maybe we need to create that dir in here with the more restricted perms? but leave /etc/rkt owned by the group rkt?
/cc @iaguis

'm not sure this is right... we were trying to restrict the world from reading /etc/rkt/trustedkeys/

What's the reasoning here?

@iaguis you wrote it https://github.com/coreos/rkt/commit/e1ba9ef00f553ebc97cdecba1916b5af5d3a33b0#commitcomment-17500919

edit: or maybe not quite. you mean the reasoning for restricting them from reading?

this

I'm misremembering.


Add clearer documentation about runtime arguments

Add documentation as mentioned by @brunopinheiro in Issue #45.
class PetOwner {
   var pet: AnimalType
}

container.register(PetOwner.self) { (_: ResolverType, pet: AnimalType) in
   var petOwner = PetOwner()
   petOwner.pet = pet
   return petOwner
}

var cat = Cat(name: "Bilbo")

// Won't work, since we don't have any Registration Key matching [PetOwner, (Cat) -> PetOwner]
var petOwner = container.resolve(PetOwner.self, argument: cat)!

// This is the correct Registration Key [PetOwner, (AnimalType) -> PertOwner]
var petOwner = container.resolve(PetOwner.self, argument: cat as AnimalType)!

Add the documentation by 5b2d0474e43a2737864db4ab84854a68c22bbe73.


feat(WireMockContainer): add wiremock_container pytest fixture

Codecov Report
Attention: 3 lines in your changes are missing coverage. Please review.

Comparison is base (0d1d1cc) 97.20% compared to head (3a3c26d) 96.60%.

:exclamation: Current head 3a3c26d differs from pull request most recent head 5e635d1. Consider uploading reports for the commit 5e635d1 to get more accurate results

Files
Patch %
Lines

...modachi_testcontainers/pytest/fixtures/wiremock.py
85.71%
2 Missing and 1 partial :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #157      +/-   ##
==========================================
- Coverage   97.20%   96.60%   -0.61%
==========================================
  Files          70       71       +1
  Lines        2255     2267      +12
  Branches      341      203     -138
==========================================
- Hits         2192     2190       -2
- Misses         50       56       +6
- Partials       13       21       +8

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


test issues

Search before asking

[ ] I searched the issues and found no similar issues.

What happened + What you expected to happen
Reproduction way
Anything else
Are you willing to submit a PR?

[ ] Yes I am willing to submit a PR!

?

2

test issue


Add heading-anchor extension

This pull request adds support for heading anchor!
It is a great feature for feature features, like searching...

Does it make sense to introduce a new extension for this functionality? It could be a functionality of the core markdown extension, probably guarded by a config flag...

@mkouba I am also not sure about how to deal with those, but since they are runtime dependencies, better split like this IMO

@mkouba I am also not sure about how to deal with those, but since they are runtime dependencies, better split like this IMO

Does it make sense to introduce a new extension for this functionality? It could be a functionality of the core markdown extension, probably guarded by a config flag...

I really prefer this approach for the simplicity, it would be enabled by default.

@mcruzdev @ia3andy I don't think it's reasonable to add a new extension for each major feature. IMO a new extension is adequate if a feature requires a new dependency (another extension or library).

It requires a new dependency

It requires a new dependency

Ah, sorry I completely missed the commonmark-ext-heading-anchor dependency. So pls ignore my previous comments ;-).


benchmarks?

Hey @haadcode, It would be great to have a set of benchmarks for orbitdb that would allow us over in ipfs-land to ensure that we're always pushing changes that improve performance for projects that use ipfs.
Thanks :)

@whyrusleeping you hit my favorite topic :) been benchmarking since day 1.
Would these get you started?  https://github.com/orbitdb/orbit-db/blob/master/examples/benchmark.js and https://github.com/haadcode/ipfs-log/tree/master/benchmarks (should work with go-ipfs through js-ipfs-api)
We don't have benchmarks for network throughput atm, which would be great to have.
Anything else you have in mind to benchmark?

You might find the benchmarks for ipfs-log helpful to benchmark some parts of IPFS (it only uses object.get/.put).
More updated benchmarks coming in soon for OrbitDB.

We now have more benchmarks for OrbitDB.

Latest orbitdb including a number of benchmarks. We can continue to expand on them as required.


New channels from IPTV provider reorder existing channel lineup. Requesting method to assign channel ranges to filters

Is your feature request related to a problem? Please describe.
When ever channels are removed/changed by the IPTV provider, the lineup is changed and causes confusion when viewing the guide, such as in Plex. If News channels were channels 1000-1200 and the IPTV channels change, there will be documentary or drama channels among news channels
Describe the solution you'd like
It would be very helpful to assign channel ranges to filters, so that channels that are a member of the "news" m3u group always are assigned to channels 1000-1200, Documentary to channels 2000-2400 etc...
Describe alternatives you've considered
The current workaround is to delete my filters and recreate them so that channel types are contiguous.
Additional context
This is particulary useful when re-freshing the mappings which sometimes don't automatically get associated with the epg data unless the m3u playlist is deleted and readded.

I second this.  I was going to open my own feature request but decided to read first and found this one.  I couldn't of worded the problem better my self.

I made this script to sort channels, hope it helps you all :)
import collections
import time

# for xteve communication
from ws4py.client.threadedclient import WebSocketClient

# a fake websocket client
class Stupid(WebSocketClient):
    def opened(self):
        pass

    def closed(self, code, reason):
        print(("Closed", code, reason))

    def received_message(self, m):
        print(("Message", json.loads(m.data.decode('utf-8'))))

# grab the current xepg
xepg_dict = {}
with open('/root/.xteve/xepg.json','r', encoding='utf-8') as f:
  xepg_dict = json.load(f)

# list the categories
categories = {
    'REGIONAL LOCALS': 1000,
    'NETWORK TV': 2000,
    'PREMIUM MOVIE CHANNELS': 3000,
    'SPORTS NETWORKS': 4000,
    'NFL': 5000
}

inactive_channel_num = 10000
def sortChannelCategory(category):
    global xepg_dict
    global inactive_channel_num

    # issue the start of these channels
    start_channel_num = categories.get(category)
    current_channel_num = 0

    # sort the channel category by channel name
    channels = {k: v for k, v in xepg_dict.items() if xepg_dict[k].get('x-group-title') == category}
    channels = sorted(channels.items(), key=lambda x: x[1].get('name'))

    # for each channel
    for xepg_id, channel in channels:

        # set the new channel number
        active = channel.get('x-active')

        # add to the front
        if active:
            channel['x-channelID'] = str(start_channel_num + current_channel_num)
            current_channel_num = current_channel_num + 1
        else:
            channel['x-channelID'] = str(inactive_channel_num)
            inactive_channel_num = inactive_channel_num - 1

        # and now add it
        xepg_dict[xepg_id] = channel

for category in categories.keys():
    sortChannelCategory(category)

def save():
    ws = Stupid('ws://xteve/data/')
    ws.daemon = False
    ws.connect()
    data = {
        'epgMapping': xepg_dict,
        'cmd': 'saveEpgMapping',
    }
    ws.send(json.dumps(data))
    print('waiting...')
    ws.close()

save()

before I run this, can you give some info on how it determines the files?
hard coded config path to change:
/root/.xteve/xepg.json
This is categories, but does it use the xteve filter name, or the "group title" from the playlist?
categories = {
'REGIONAL LOCALS': 1000,
'NETWORK TV': 2000,
'PREMIUM MOVIE CHANNELS': 3000,
'SPORTS NETWORKS': 4000,
'NFL': 5000
}
Thank you for this, this is great once I understand more!

The categories are aligned with the group title inside the m3u playlist. I set the value to the starting channel number... basically any channel within 'REGIONAL LOCALS' will get assigned to 1000+ and sorted by the channel name. You also need to install this https://ws4py.readthedocs.io/en/latest/sources/install ... it talks to the xTeVe websocket admin interface. Once you run it, it will sort like so:

Nice! Thank you, this suits the issue nicely.

I run xTeVe from an auto updating docker.  Is this implementable in this situation?

I know it's been almost 2 years but I'm just starting to work on this.  I'm running threw the errors and fixing them and I've gotten stuck.  Google search brought me to a page and the code looks correct to me.  Please help.
Error:
root@d6306334178d:/config# ./Channel_Number_Update.sh Traceback (most recent call last):   File "/config/./Channel_Number_Update.sh", line 22, in <module>     xepg_dict = json.load(f) NameError: name 'json' is not defined
The section in the script:
# grab the current xepg xepg_dict = {} with open('/config/xepg.json', 'r', encoding='utf-8') as f:   xepg_dict = json.load(f)
Thank you for any insight in advance.

Never mind, After lots more searching I figured out the script was missing some things.
Problem #1:
Install all dependancies
Problem #2: Add to top of script
#!/usr/bin/env python3
Problem #3: Add after import time
import json
Problem #4:
Categories are case sensitive!
Problem #5: The cron calls can be performed from the host computer with command:
docker exec Docker-Mailserver '/config/Channel_Number_Update.sh'
It works!!  Now, I just have to figure out how to make my discrepancies stick across updates.
Thank you so much @buroa for your work on this script!  It is EXACTLY what I needed!

Thank you so much @buroa for your work on this script!  It is EXACTLY what I needed!

Glad you figured it out & thank you for providing examples for others to follow! Sorry for the later reply, was quite busy today :-)


Fix ACME certificate for wildcard and root domains

What does this PR do?

This Pull Request introduces a mechanims which allow retrying to generate a ACME certificate when a DNSChallenge failed to obtain a certificate for both wildcard and root domain.
Motivation

Since the feature which allows Træfik users to generate ACME certificates for both wildcard domain (as CN) and root domain (as SAN), a flaky behavior is noted.
Sometimes everything works well, sometines challenges cannot be solved with different errors (TXT record missing or incorrect).
These errors exist for almost all the DNS providers.
Fixes #3468 #3445.
More

[x] Added/updated tests

Additional Notes
A first analysis showed that the problem is due to the name of the TXT records needed by Let's Encrypt: a wildcard domain and its root domain are challenged thanks to a TXT record with the same name. In function of the TTL given to the TXT records, it was unable to Let's Encrypt the get all the values asked in the allowed time.
After analyzed deeply the problem (and made some tests), it appears that the problem is due to the time to propagate a TXT record creation/deletion/update in the DNS provider infrastructure.
Indeed, LEGO makes a pre-check on all the TXT records before to ask Let's Ecrypt to do the challenge. But, sometimes, the result caught by LEGO and the other one caught by Let's Encrypt are differents (it's maybe due to the time to propagate the modifications into all the DNS provider infrastructure).
The modification introduced by this PR allows Træfik to retry to obtain a ACME certificate for a wildcard and its root domain when errors happens.
The retry works because Let's Encrypt does not ask to challenge twice the same domain.
Thus, if during the first iteration the wildcard is successfully checked, during the second iteration only the root domain will be checked.

Hi @nmengin,
I'm afraid the problem is not fixed yet. I'm running traefik in a docker container based on traefik:1.7-alpine. The actual version is v1.7.0-rc3. Tried to generate wildcard certificates for two domains and got the same incorrect TXT record error:
traefik.log
I'm using cloudflare.
.txt as github doesn't allow .toml files
traefik.toml.txt
Any ideas what could be causing this?

Update: Certificates are generated for domains using route53 provider, but the error appears when using cloudflare

You should raise a new issue
On Wed, Aug 15, 2018 at 8:10 PM Alex<EMAIL_ADDRESS>wrote:

Update: Certificates are generated for domains using route53 provider,
but the error appears when using cloudflare
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/containous/traefik/pull/3675#issuecomment-413178870,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AHxUf2rEsx7eGRMYkBoY9DldDsyPYtBRks5uRA-lgaJpZM4VgUl2
.

Hello @A-Shleifman ,
Many thanks fro your feedback.
I guess the problem comes from the paramtrization of the cloudflare provider into LEGO :+1:
The TTL and the check timeout are equals (120s) that's why even if we try twice the problem persists.
I'll try to find another solution when I'll be back at the office (monday).
Can you open a new issue as @BirkhoffLee suggested please?

Done => #3761 :)

Hello,
with the latest build (codename: maroilles) and NS1 provider I started to get new errors. Is this somehow related?
config:
[[acme.domains]]
  main = "*.abc.com"
  sans = ["abc.com"]

traefik          | time="2018-08-19T05:43:50Z" level=info msg="legolog: [INFO] acme: Registering account for<EMAIL_ADDRESS>traefik          | time="2018-08-19T05:43:51Z" level=info msg="legolog: [INFO] [*.abc.com] acme: Obtaining bundled SAN certificate"
traefik          | time="2018-08-19T05:43:51Z" level=info msg="legolog: [INFO] [*.abc.com] AuthURL: https://acme-v02.api.letsencrypt.org/acme/authz/..."
traefik          | time="2018-08-19T05:43:51Z" level=info msg="legolog: [INFO] [abc.com] acme: Trying to solve DNS-01"
traefik          | time="2018-08-19T05:43:51Z" level=error msg="Unable to obtain ACME certificate for domains \"*.abc.com\" : unable to generate a certificate for the domains [*.abc.com]: acme: Error -> One or more domains had a problem:\n[abc.com] error presenting token: dns: domain must be fully qualified\n"

Hello @pwaldon ,
Many thanks for your interest in the project.
Your problem does not seem to be related to this issue.
If you need more help, please join our Slack workspace for more community #support.

without setting timeout to >90 sec, I'm getting this behavior with Gandi V5 trying to issue a wildcard cert with traefik
traefik:
Gandi DNS: DNS Record Created
Gandi DNS: Zone record deleted
Gandi DNS: DNS Record Created
Gandi DNS: Zone record deleted
time="2018-09-18T21:47:29Z" level=error msg="Unable to obtain ACME certificate for domains \"**.domain.com, domain.com\" : cannot obtain certificates: acme: Error -> One or more domains had a problem:\n[domaincom] acme: Error 403 - urn:ietf:params:acme:error:unauthorized - Incorrect TXT record \"QEpHmVXXXXXXXcz0Au3ZrFphtXFMKZrkdCM\" found at _acme-challenge.domain.com\n"
Gandi DNS: DNS Record Created

traefik.toml
defaultEntryPoints = ["http", "https"]

[web]
# Port for the status page
address = ":8080"

# Entrypoints, http and https
[entryPoints]
  # http should be redirected to https
  [entryPoints.http]
  address = ":80"
    #[entryPoints.http.redirect]
    #entryPoint = "https"
  # https is the default
  [entryPoints.https]
  address = ":443"
    [entryPoints.https.tls]

[retry]

# Enable ACME (Let's Encrypt): automatic SSL
[acme]
# Email address used for registration
email =<EMAIL_ADDRESS>storageFile = "acme.json"
entryPoint = "https"
onDemand = false
onHostRule = false
# Use a HTTP-01 acme challenge rather than TLS-SNI-01 challenge
#[acme.httpChallenge]
#entryPoint = "http"

caServer = "https://acme-v02.api.letsencrypt.org/directory"

# optional but recommend
#[acme.tlsChallenge]

  [acme.dnsChallenge]
    provider = "gandiv5"
    delayBeforeCheck = 91

  [[acme.domains]]
    main = "*.domain.com"
    sans = ["domain.com"]
# Enable Docker configuration backend
[docker]
endpoint = "unix:///var/run/docker.sock"
domain = "domain.com"
watch = true
exposedbydefault = false
[api]
  entryPoint = "traefik"
  dashboard = true
  [api.statistics]
    recentErrors = 10


Store the URL of a Checkout Session in addition to the session ID

Feature request

Extension name: firestore-stripe-subscriptions

Is your feature request related to a problem? Please describe.
I'd like to manually handle the opening of a browser window when calling createCheckoutSession.
Describe the solution you'd like
I'd like the createCheckoutSession function to also store the session.url inside Firestore, in addition to the session.id, like a manual POST to Stripe would return.
Right now, only the session.id is stored, and I have to use that in the client-side with stripe.redirectToCheckout({ sessionId }).
Describe alternatives you've considered
I tried manually building the URL, but of course it doesn't work due to a fragment I don't know anything about (probably some kind of checksum or additional data).
Additional context
https://github.com/stripe/stripe-firebase-extensions/blob/master/firestore-stripe-subscriptions/functions/src/index.ts#L172-L176

I managed to find a solution that doesn't require the feature implementation.
If anyone stumbles here, I created a new function that triggers on the checkout session document update and retrieves the session URL using Stripe API.
import Stripe from 'stripe';

exports.updateCheckoutSessionUrl = functions.firestore.document(`/user_data_collection/{uid}/checkout_sessions/{id}`).onUpdate(async (snap, _) => {
  try {
    const { sessionId, sessionUrl } = snap.after.data();
    if (!sessionId || sessionUrl) return;
    const stripe = new Stripe(functions.config().stripe.secret_key, {
      apiVersion: '2020-08-27',
    });
    const { url } = await stripe.checkout.sessions.retrieve(sessionId);
    await snap.after.ref.update({ sessionUrl: url });
    return null;
  } catch (error) {
    functions.logger.error(error);
    return { error };
  }
});


Add /sessions command

This adds a WebDriver method Sessions(), which returns an array of active server sessions according to the JsonWireProtocol command “/sessions”. A test for Sessions() is included in remote_test.go.
No existing code is modified, so nothing breaks when people update.

This fixes issue #8.

Great! Disregard my comment on that issue. My phone just loaded this. I will review this tomorrow (in about 12 hours).

Thanks!

Awesome, thank you!


Grab just single Project

Hi, how is it possible to clone just a single project (for example React version) and keep it sync with master at the same time I have my changes in my repo.
I don't know if I explain very well.

Same problem, running ng test failed.
Chrome 58.0.3029 (Mac OS X 10.11.6) AppComponent should create the app FAILED
	'router-outlet' is not a known element:
	1. If 'router-outlet' is an Angular component, then verify that it is part of this module.
	2. If 'router-outlet' is a Web Component then add 'CUSTOM_ELEMENTS_SCHEMA' to the<EMAIL_ADDRESS>of this component to suppress this message. ("[ERROR ->]<router-outlet></router-outlet>"): ng:///DynamicTestModule/AppComponent.html@0:0
	Error: Template parse errors:
...


Let users pick a different theme for light/dark system mode

What feature do you want to see added?
It'd be nice if theme manager allowed users to pick different themes depending on their system appearance, e.g. I want 'Solarized' when my system is in light mode but 'Dark theme' when it's in dark mode.
This currently requires additional work by theme developers to support this.
Upstream changes
No response

Interesting, I see GitHub has that feature:
https://github.com/settings/appearance


JSON format

Hi,
Great work!
Can you pls provide an estimate for the release of the datasets annotations in JSON format, similar to COCO annotations?
Man thanks!

hi, pls find below for the download links:
https://fashionpedia.github.io/home/data.html


Initialize AWS session lazily

See commit messages for more explanation.

@aengelas will do!

lazySsmClient implements the interface that the sdk expects?

It implements (ssmClient](https://github.com/remind101/ssm-env/blob/b2c8264f9fc52cce13e78dedf583a7ae1926c268/main.go#L102-L104), which is all that the expander needs. The SDK isn't really interfaced with directly.

@aengelas updated with more comments


Unable to run dockerized SparkNLP

Unable to run dockerized SparkNLP

Ran into a series of issues running docker-compose. Here documented the troubleshooting process and 1 remaining issue. SparkNLP is a commercialized tool. I have acquired a new license for running this tool.
Issue 1 (resolved): No matching distribution found for spark-nlp-jsl==3.1.1
Replicate the error

Clone the repo
Run "Docker compose up --build"

Solutions
Changing spark-nlp-jsl to spark-nlp resolved this issue code
Issue 2 (resolved):  Key"clinical/models/ner_deid_large_en_2.5.3_2.4_1595427435246.zip" does not exist
Replicate the error

Fix issue 1
Run "Docker compose up --build"

Solutions
Going to SparkNLP website and updating the version of the NER model resolved this issue. code
Issue 3 (remaining): 500 Error: INTERNAL SERVER ERROR
Replicate the error

Fix issue 1 and 2
Run "Docker compose up --build"
Go to the UI page, enter a sentence for annotation test.

Error details

Expected behaviors
Annotate the test sentence and return PHI annotations.

@yy6linda If you just want to apply this tool to some data, you can use one of the following images:

docker.synapse.org/syn22277124/phi-annotator-spark-nlp-ner-deid-large
docker.synapse.org/syn22277124/phi-annotator-spark-nlp-ner-deid-synthetic

I placed these images in the private project NLP Sandbox - Staging because they include proprietary models. By default, Spark NLP requires a connection to their server, but I followed their instructions so that the models can be used offline.
For example, use the default docker-compose.yml from the main branch and the following commands to start the tool for the first model:
docker-compose pull
docker-compose up

Open your browser and navigate to http://localhost/ui to test the tool. Note that these Spark NLP models can take about ~40 seconds to initialize the first time you annotate a clinical note. This applies only to the first clinical note annotated after starting the tool.

I ran the images. It broke after annotating ~200 notes.

Thanks for updating your post with the actual error message. You could try to increase the amount of memory made available to the container in docker-compose.yml and see if you can process more notes. If yes, it means that there is a memory leak somewhere in Spark or in the way Spark is used.
Regarding

Changing spark-nlp-jsl to spark-nlp resolved this issue code

Here you are replacing the private library by the public one, which is not what you want to do if you want to use a private model. You should be able to build the image if you specified your Spark license properly in .env.

I have "spark license specified properly" but It's not working with the error spark-nlp-jsl not found. Were you able to build docker image from scratch now? If so, please share with me the newly built docker images. The nginx implemented in the new version can resolve issue 3.  Same issue found in neuroner images and rebuilding the images resolved the issue.

I have "spark license specified properly" but It's not working with the error spark-nlp-jsl not found.

I will send you by email how I used to set my license in .env. Just to give you an example.

Were you able to build docker image from scratch now?

No, I don't have a valid license.

The nginx implemented in the new version can resolve issue 3. Same issue found in neuroner images and rebuilding the images resolved the issue.

I used the neuroner image hosted on Synapse last week and it worked fine.

Thank you for sharing the example through the email. I specified the spark license the same way as you and the credentials are from the JSON file downloaded from sparkNLP after registration.

In .env, try to set SPARK_JSL_VERSION to the version number included at the start of your SPARK_NLP_LICENSE.
SPARK_NLP_LICENSE=x.y.z-<more>
SPARK_JSL_VERSION=x.y.z


Editor settings wiped out when going from latest 4.3.dev to older releases

Tested versions
4.3[3b1806182a3564736ad64793b203c2c13c251f56]
System information
Windows 11 - Vulkan - Nvidia RTX 4070 - intel i5 13600KF
Issue description
I updated my 4.3 master branch yesterday (previous update was from couple days ago) and after opening the editor all my settings in Editor settings were wiped out.
Shortcuts, anything I had set up (external editor, blender path, everything), editor theme, nothing left the same.
Just to be clear, this project was created in 4.3 (I don't remember when) so it's not a conversion from 4.2 -> 4.3 and it was working just fine just in a couple days old master build.
Steps to reproduce

Create a project in 4.3 master let's say from a week ago.
Change editor settings, add shortcuts, change the editor theme, ...
Open your project in the 4.3 master updated to 3b1806182a3564736ad64793b203c2c13c251f56.
See if the editor settings are still intact.

Minimal reproduction project (MRP)
N/A - it doesn't seem to be specific to a project in particular, it's related to editor settings.

I noticed the opposite, accidentally opening project in Godot 4.3dev5 after opening it in master wiped all of the editor settings

Yes it should be like what @passivestar described, and it's expected due to the change of the text resource format after #89186.
We're looking into ways to mitigate this to avoid this kind of annoying errors, but technically it's behaving as expected here.

I don't want to talk into this since I don't understand much but the change in the name says going from latest to older but for me it was going from older to latest.

I don't want to talk into this since I don't understand much but the change in the name says going from latest to older but for me it was going from older to latest.

Can you reproduce it if you try again with 4.3-dev5 vs latest master? The loss of data going from dev5 or earlier to current master is very clear and expected, but I don't see any reason to happen the other way around. So I suspect you might have mixed up versions and actually lost data when going from latest to older commits.

Yeah, my bad, I just realized before going up I went quickly down disecnting an issue. TY.


Infinite "Processing" State for Invalid URLs in CodeDrop

When a user navigates to a URL that does not correspond to a valid paste ID on the CodeDrop website, the page gets stuck in an infinite "Processing" state. There is no error message displayed to the user, which leads to confusion and a poor user experience.
Steps to Reproduce:

Visit the CodeDrop website.
Enter an invalid or non-existent URL, such as https://codedrop.vercel.app/something.
Observe that the page continuously shows the "Processing..." state without any error message or indication of the issue.

Expected Behavior:

An appropriate error message should be displayed to inform the user that the paste ID is invalid or does not exist.
The "Processing" state should not persist indefinitely.

Actual Behavior:

The "Processing" state remains active indefinitely for invalid URLs.
There is no error message or indication that the URL is invalid.

Relevant Code:
The issue might be related to error handling in the /src/routes/[id]/+page.svelte file. Review the fetch request and error handling logic to ensure that invalid responses are appropriately handled and displayed.
Proposed Solution:

Implement error handling for invalid paste IDs.
Display a user-friendly error message indicating the issue with the URL.
Ensure that the "Processing" state is exited once an error is encountered.

Screenshots:

Additional Context:
This issue affects user experience and may lead to confusion when navigating to invalid URLs. Proper error handling and messaging will improve usability.

me

I can take the issue

Assigned @Aryanfour5


language-independent slot values

It would be great to be able to define slots with a language-independent value. For instance, we could have an intent callContact, to make a phone call, with a contactName slot and a phoneType slot which would specify on which of possibly several phones the contact should be called. Slot value LANDLINE would map to the different ways to name a landline for different supported languages.

Hi @syl22-00 ,
You can use synonyms and map different values in various languages to the same reference value (LANDLINE in your case).
In your example, that could translate like this in english:
# phoneType entity in English
---
type: entity
name: phoneType
values:
  - [LANDLINE, home, landline]
  - [MOBILE, mobile, cellphone]

And in french:
# phoneType entity in French
---
type: entity
name: phoneType
values:
  - [LANDLINE, maison, domicile, fixe]
  - [MOBILE, mobile, portable, téléphone portable]

Would that be a suitable solution ?

My understanding with that solution is that the reference value is part of the list of accepted words, so it could create confusions if it is also a valid word in a non-English language, possibly with a very different meaning (such as ENTREE which means a main course in American English and a starter in French, if you want an entity to catch a dish type).
The right way could be to use some kind of namespace in those reference values to make sure they are used as reference value only, and never found as is in the input: PHONETYPE-LANDLINE, PHONETYPE-MOBILE, DISHTYPE-ENTREE.
Does that sound correct?
Many thanks for helping

Indeed, the reference value will be considered as a valid entity value. The namespacing solution that you mentioned is a valid workaround.
There is a feature that we discussed recently which would address properly this use case. It would be to have an optional value_id attached to each group of synonyms. This new attribute would only be used in the final resolution step of the NLU, and would not be considered as a valid entity value, hence avoiding any confusion.
In the dataset, that could look like this:
{
  "phoneType": {
    "data": [
      {
        "value": "landline",
        "value_id": "LANDLINE",
        "synonyms": [
          "home"
        ]
      },
      {
        "value": "mobile",
        "value_id": "MOBILE",
        "synonyms": [
          "cellphone"
        ]
      }
    ],
    "use_synonyms": true,
    "automatically_extensible": false,
    "matching_strictness": 1.0
  }
}

And in the parsing result:
{
  "slots": [
    {
      "range": {
        "start": 22,
        "end": 26
      },
      "rawValue": "home",
      "value_id": "LANDLINE",
      "value": {
        "kind": "Custom",
        "value": "landline"
      },
      "entity": "phoneType",
      "slotName": "phoneType"
    }
  ]
}

This is still at the discussion and specification stage though.

does value_id is implemented yet ?


Replace mavserver with the mavlink_vehicles submodule

The mavlink_vehicles library is a more encapsulated and more generic version of the mavserver. This pull request has been created to centralize the review of the modifications that are needed for gzsitl to be compatible with the mavlink_vehicles library, however, it should not be merged until mavlink_vehicles is made fully available (for now it has restrict access under git://git-amr-4.devtools.intel.com/vision-mavserver.git).

@dakerfp, @rchiossi, I thought github would be smart enough to get rid of the commits that had already been merged into master but that's was not the case. Just a heads-up: only commits from Jul, 25 onwards are new.

See #25


Updated ltsc2019 for newer version of Nuget CLI

@r4nc0r - Thank you for your contribution.  Due to the potential breaking changes between 4.4.1 and 5.1.0, we're not going to take this change.  It could break consumers of this image.  Instead, you'll need to copy over a newer NuGet client in your own Dockerfile that is based on this image.


Add configuration to toggle HSTS preload

In order to follow the recommended deployment of the HSTS header, this PR allows the preload directive to be optional. When including the preload directive, it is considered to be requesting inclusion in the preload list. This can lead to issues when all subdomains cannot be accessed with HSTS enabled. See all notes at the HSTS Preload page for additional notes and warnings.
Configuration is set to false as default but the library defaults to true if the preload configuration is missing. This should avoid any backwards-compatibility issues.

Hi @mattdfloyd,
Thanks a lot. Could you also update the tests to pass the CI build? Besides, I think the preload default value should be true, otherwise it will be a breaking change.

Hi @mattdfloyd,
Thanks a lot.


xo defaults

@hmeissner in slack

I vote for no semicolons
I also vote for spaces (tab is xos default)

I have spaces set already. No semicolons is up for a vote. I usually go semicolons but I'm ok with either way.

same, @hmeissner @rafacm last chance to rally against semicolons


Allow to configure color range for code coverage badges

Thanks for this awesome badge service! Here's one suggestion for further improvement:
CodeCov allows to configure a range for code coverage. For instance, our codecov configuration contains the line range: "50...90", resulting in code coverage below 50% to be displayed in deep red, and code coverage above 90% in deep green (and scaling the other colors accordingly).
It would be awesome to be able to configure this for code coverage badges, too (this would maybe also take care of #735).

Hi, thanks for your suggestion. Is this information fetchable from their API? Or, would it need to be included in the badge?
It wouldn't be too hard to add a field in the Shields URI for the coverage badges, maybe comma-separated, which passes values into floorCount.

The information is passed to CodeCov at coverage upload time, and seems to not be available through their API.
I was thinking in the line of this: I guess you have a shields.io specific notion of deep green and deep red. Now, if the badge URI would allow to pass the lower and upper ends of a coverage range, the shields.io code could receive the coverage rate from CodeCov and compute a color taking that range and the specific colors from above into account. The result would be a badge which would (color-wise) fit perfectly into the overall shields.io look, and still keep that information.
Currently, this is not the case: The original CodeCov badge shows the color with respect to the configured range, but would most likely do not go well with other shields.io badges if coverage was >90%, since the green versions would probably differ

The shields.io CodeCov badge has compatible colors, but does not respect the range

Yup, makes sense to me.
It would be good to do this in a way that works across all the coverage badges.
Would you like to work on a PR?

A lots changed since this issue was first reported, and I wonder if we should close this now with a recommendation to utilize a Custom Endpoint badge for this type of customization.
It would feel somewhat contradictory to me for us to allow this level of customization while we've been explicitly rejecting requests for simpler customizations (e.g. whether to include a leading v on the message of various version badges). I'm not necessarily opposed to supporting this because code coverage metrics are so inherently subjective and team/user specific, but I think it'd be incumbent upon us to be able to articulate the "why this customization but not those others" position.
The vast majority (perhaps all?) of our coverage badges are using coveragePercentage which internally sets the yellow, yellowgreen, and green thresholds at 80, 90, and 100 respectively. So the simplest option (mentioned above) for providing some sort of customization would still be constrained to those four ranges with non-inclusive boundaries, and would require a new/updated helper function to maintain the defaults. Users that wanted fewer ranges could do so by setting the same value for sequential range boundaries, but users that wanted more ranges would be out of luck.


Update database room match type on settings change

Resolves https://github.com/ppy/osu/issues/14163.

Has been deployed to dev and production.


Replace Context Menu/Edit Install Option

I'd like an install option to have vscode replace Notepad/Powershell ISE/etc as my default editor when I select "Edit" from the context menu.

What is your OS?

W10

We won't overwrite that Edit menu, but you can associate your file to open with VS Code, such that a double click would do it.


Removal of using namespace

Hi, thank you for your pull request!
We try to use the full namespace when using libraries, so I made an edit suggestion for you :)
Feel free to merge this or make the changes yourself into the pull request.

Thanks!


Move material attributes from shader declaration

I have some proposal for shader material optimization.
Currently material properties such as blend_xxx, depth_xxx and cull_xxx are declared in shader code.
It is required create a lot of similar shaders with different combination of these properties that affect on number of shaders and compilation time.
If these properties will be moved to material properties it will significant reduce amount of shaders and reduce total compilation time.

I am implementing stencil buffer support right now in a fork, for that I want to be able to set the reference values and the mask values via a script without recompiling the shaders, so I am hardcoding a system like this for my usecase right now.
I agree that such a material/shader-wide parameter system would be better than hardcoding the values into the shader source code.

Moving to the 3.2 milestone where most new rendering features will be considered, it's too late for 3.1.

Feature and improvement proposals for the Godot Engine are now being discussed and reviewed in a dedicated Godot Improvement Proposals (GIP) (godotengine/godot-proposals) issue tracker. The GIP tracker has a detailed issue template designed so that proposals include all the relevant information to start a productive discussion and help the community assess the validity of the proposal for the engine.
The main (godotengine/godot) tracker is now solely dedicated to bug reports and Pull Requests, enabling contributors to have a better focus on bug fixing work. Therefore, we are now closing all older feature proposals on the main issue tracker.
If you are interested in this feature proposal, please open a new proposal on the GIP tracker following the given issue template (after checking that it doesn't exist already). Be sure to reference this closed issue if it includes any relevant discussion (which you are also encouraged to summarize in the new proposal). Thanks in advance!