Fix lossless formats in PortableCompressedTexture2D

This is a right copy of my previous wrong pull-request
Sorry for my bad English(((
PortableCompressedTexture2D have a problem with creating from PNG images and some other little problems.
I want to use this resource type as the way to import animations from Aseprite in my Aseprite importers plugin bundle
For now I am creating one PNG image near every *.aseprite-file that imported. Then call some methods to update filesystem and import the image. Then plugin is continuing it's work and embedding new image in an imported resource.
PortableCompressedTexture2D is a beautiful way to embed PNG data silently in SpriteFrames or other resources. But it is not usable now. Method create_from_image cannot load PNG image and shows errors in console:
WARNING: Not a PNG file
     at: PNGDriverCommon::check_error (drivers\png\png_driver_common.cpp:56)
ERROR: Condition "!success" is true. Returning: ERR_FILE_CORRUPT
   at: PNGDriverCommon::png_to_image (drivers\png\png_driver_common.cpp:69)
ERROR: Condition "err" is true. Returning: Ref<Image>()
   at: ImageLoaderPNG::load_mem_png (drivers\png\image_loader_png.cpp:64)
ERROR: It's not a reference to a valid Image object.
   at: (.\core/io/image.h:426)
ERROR: Condition "err" is true. Returning: Ref<Image>()
   at: _jpegd_mem_loader_func (modules\jpg\image_loader_jpegd.cpp:131)
ERROR: It's not a reference to a valid Image object.
   at: (.\core/io/image.h:426)
ERROR: Condition "p_width <= 0 || p_width > 16384" is true.
   at: GLES3::TextureStorage::texture_set_size_override (drivers\gles3\storage\texture_storage.cpp:1053)

This is because PNG image have not only PNG prefix ‰PNG, but also Godot's own PNG  prefix
I understand that this solution is not ideal.
Theoretically, there could be such a sequence of bytes PNG  in this memory location for some other reason. Not because Godot added it there. I don't know how to be completely sure of this. If you know such a criteria, please tell me and I will correct the code.
Result: It works! Now I use PortableCompressedTexture2D and save it directly in imported resource - SpriteFrames or PackedScene!
https://github.com/godotengine/godot/assets/7024016/79853566-1df0-4ac5-962b-49667a034b3e

I'll need add some changes to save PortableCompressedTexture2D to *.pctex-file

I've added an image file format detection to avoid trying to load unsuitable formats, red console messages, and exceptions.
This code has been thoroughly tested and conforms to the specifications of these file formats.

I found an error in servers/rendering_server.cpp on line 442 and many other lines:
An integer value in the range 0 to 65535 is casted to int16_t, which will accommodate the range from -32767 to 32767. This causes the application to crash.
Now I'll try to fix it.

Done

In a week or two I will finish developing the same set of importers for animations from Krita.  They also use PortableCompressedTexture2D.

Thanks @clayjohn, I completely rework the changes as per your advice and it worked out pretty well.
The PortableCompressedTexture2D, when writing data, specifies the type of data in the first 4 bytes (int32). When data is read, these bytes are read to CompressedTexture2D.DataFormat and the load procedure can choose image loading function.
Also, I made a separate function that can "unpack" PNG not from the buffer, but from the memory fragment by the pointer.

I was fixing some other issues with PortableCompressedTexture2D and while making my PR (https://github.com/godotengine/godot/pull/79579) I noticed this one. Looks good, but doesn't adding a new flag to the header break compatibility? PortableCompressedTexture2D is a resource, so everyone who has saved them in previous Godot versions will now get invalid resources as the code doesn't have any versioning.

@bitsawer, yes, it will break compatibility. All resources containing PortableCompressedTexture2D must be reimported(((

@bitsawer, please tell me how to avoid this if you know.

This is pretty important to fix IMO. The current implementation is broken. Even if it breaks compatibility, it was already a problem to begin with... Other things that work fine as-is will have compatibility-breaking changes in the future, I think it's justified to do the same with PortableCompressedTexture2D which doesn't work fine.

I am sure that this task can be done better than I did. But I will need your help, because I write mainly in CSharp, and have not touched CPlusPlus for a very long time.
Perhaps there is a way to avoid breaking backward compatibility.
Also, I think it is possible to give import plugins the ability to import images into CompressedTexture (.ctex) format. And the ability to embed this resource in other resources. In this case, the need for a PortableCompressedTexture will disappear completely.

I am sure that this task can be done better than I did. But I need your help, because I write mainly in C#, and have not touched C++ for a very long time.
Perhaps there is a way to avoid breaking backward compatibility.
Also, I think it is possible to give import plugins the ability to import images into CompressedTexture (.ctex) format. And the ability to embed this resource in other resources. In this case, the need for a PortableCompressedTexture will disappear completely.

The reason why compatibility might even matter is that its intended usage is for user-generated content which can't just be reimported. That it's useful for plugins is nice but it still has a purpose

The reason why compatibility might even matter is that its intended usage is for user-generated content which can't just be reimported. That it's useful for plugins is nice but it still has a purpose

Now I have managed to generate a compilation database. It helps a lot to navigate through the code.
I rebase my branch and fix the conflicts. Now I'm debugging the code.
I'll try to come up with a way to keep backwards compatibility.

Previously, I tried to add 4 bytes in front of the data in the file, which encoded the data type (IMAGE, PNG, WEBP and BASIS_UNIVERSAL). Now I have made it so that the data type is encoded in the existing 3rd and 4th bytes.
Also I've added a default value of 0 for the undefined data type for backwards compatibility. In this case, the data reading will proceed according to the previous scenario.
At the same time, the compression mode is now encoded not in the first four, but in the first two bytes. This is ok: this value fits perfectly even in 1 byte.
I also added the ability to preview PortableCompressedTexture2D to the EditorInspectorPluginTexture.

Please tell me, is it OK?
Bytes before (4 bytes for compression mode):

small bits of compression mode
small-mid bits of compression mode
mid-big bits of compression mode
big bits of compression mode

Bytes after (2 bytes for compression mode and 2 bytes for data type):

small bits of compression mode
big bits of compression mode
small bits of data type
big bits of data type

Commentary:

Concerns that this needs to keep backwards compatibility
Feature freeze is upcoming.
Improves the situation

Hiya, sorry this got lost. I'll see what I can to nudge this.

Hiya, sorry this got lost. I'll see what I can do to nudge this.

Thank you!
If anyone has any ideas on how to implement this better, I will be very happy.

@lyuma, wonderful! Now I will rebase and make your edits. I should warn you that I am not a C++ professional and usually work with C#. Therefore, be attentive to the code that I made. I may not know some subtleties.

I also removed breaks compat label since this does not break backwards compatibility. I don't think any of the concerns raised prior to september are still valid. Do you think you can double check the past review comments and click Resolve Conversation on the discussions which are no longer applicable?

@lyuma, I checked and resolved all the discussions that I could resolve.
Keep in mind:

Textures created by a previous version of the engine will be able to be opened by this version.
But textures created by this version of the engine will no longer be able to open normally with the previous version.

Looks good! Could you squash the commits? See PR workflow for instructions.

I was a little mistaken. Wait a little, now I'll fix everything.

Yes, I just rushed a little and GitExtensions executed a command that I didn't want. Now everything is fine: the branch is inherited from the most recent commit in the master branch

Thanks!

Thanks, too!  Happy New Year!


Kapacitor beta does not have tags

Seems like with 1.0.0~beta1-1 we lost the ability to add tags to deadman id/message
This tick script worked with 0.13
stream
|from()
	.measurement('processes')
	.groupBy('host','instance','ip','cluster','env')
|log()
|deadman(1.0,5m)
	.id('{{ .Name }} on {{ index .Tags "host" }}/{{ index .Tags "app" }}/{{ index .Tags "cluster" }}')
	.message('(5m) {{ .ID }} is {{ if eq .Level "OK" }} UP  {{ else }} possibly DOWN  {{ end }}: {{ index .Fields "emitted" }}/5m ')
	.log('/tmp/alerts.log')

However now it does not work.
Log output :
[global-dead_node_5m:alert6] 2016/06/13 16:07:35 D! CRITICAL alert triggered id:stats on // msg:(5m) stats on // is  possibly DOWN  : 0/5m   data:&{stats map[] [time emitted] [[2016-06-13 16:02:35.395870545 +0000 UTC 0]] <nil>}
ID: global-dead_node_5m
Error:
Template:
Type: stream
Status: enabled
Executng: true
Created: 12 Jun 16 23:10 UTC
Modified: 13 Jun 16 15:57 UTC
LastEnabled: 13 Jun 16 15:57 UTC
Databases Retenton Policies: ["telegraf"."default"]
TICKscript:
stream
    |from()
        .measurement('processes')
        .groupBy('host', 'instance', 'ip', 'cluster', 'env')
    |log()
    |deadman(1.0, 5m)
        .id('{{ .Name }} on {{ index .Tags "host" }}/{{ index .Tags "app" }}/{{ index .Tags "cluster" }}')
        .message('(5m) {{ .ID }} is {{ if eq .Level "OK" }} UP  {{ else }} possibly DOWN  {{ end }}: {{ index .Fields "emitted" }}/5m {{ index .Tags "host" }} ')
        .log('/tmp/alerts.log')

DOT:
digraph global-dead_node_5m {
graph [throughput="0.00 points/s"];

stream0 [avg_exec_time_ns="0" ];
stream0 -> from1 [processed="0"];

from1 [avg_exec_time_ns="0" ];
from1 -> log2 [processed="0"];

log2 [avg_exec_time_ns="0" ];
log2 -> noop4 [processed="0"];

noop4 [avg_exec_time_ns="0" ];

stats3 [avg_exec_time_ns="13.555µs" ];
stats3 -> derivative5 [processed="3"];

derivative5 [avg_exec_time_ns="0" ];
derivative5 -> alert6 [processed="2"];

alert6 [alerts_triggered="2" avg_exec_time_ns="0" crits_triggered="2" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];

The processes measurements contains the following tags:
name: processes
---------------
tagKey
app
cluster
env
host
instance
ip

Previous to the beta upgrade an alert would look something like this:
id:  p-host-name
msg: (5m) p-host-name is  possibly DOWN  : 0/5m
level: CRITICAL
name: stats
-----------------------------------
{
 "values": [
  [
   "2016-05-24T09:09:17.789801812Z",
   0
  ]
 ],
 "name": "stats",
 "columns": [
  "time",
  "emitted"
 ],
 "tags": {
  "instance": "i-34f4c8b4",
  "ip": "<IP_ADDRESS>",
  "app": "web",
  "cluster": "cluster",
  "host": "p-host-name",
  "env": "production",
 }
}
-----------------------------------

@motilevy If the deadman switch has never received any data then it will still trigger an alert but will do so with an empty tags less point. Based on your log that looks like what is happening.
If you send in data and then stop do the alerts still not have any tags?
Also can you share the log output of the |log() node in addition to the alert log? The log line should be prefixed with [global-dead_node_5m:log2]

Thanks Nathan, sadly at some point 1.0.1 stopped working for me completely and I reverted back to 0.13. I'll have to wait for the official release.
closing this.

@motilevy Can you share some details about what stopped working? We can't fix it if we don't know whats broken.

It just stopped working, literally.
I tried multiple things:

made sure http traffic is working
made sure the subscription looks good
made sure no errors in tick scripts or rules
deleted the kapacitor.db file and started with a single tick script
stopped kapacitor, dropped subscription and restarted
Nothing worked, no alerts were detected, the box was just sitting there and I had to get my ticks working again so I reverted back to 0.13.

One thing I noticed which seemed odd was I saw a lot of:
"linking subscriptions" in the kapacitor log but when I looked at _internal.subscriber there were a lot of empty destinations. for example:

[> select * from subscriber limit 10
name: subscriber
----------------
time			clusterID		database	destination					hostname	mode	name						nodeID	pointsWritten	retention_policy
1465942225000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	48204
1465942235000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	49984
1465942245000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	51824
1465942255000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	53438
1465942265000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	55031
1465942275000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	56885
1465942285000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	58716
1465942295000000000<PHONE_NUMBER>361268653	telegraf	udp://kapacitor.private:51379	ip-10-0-10-187	ANY	kapacitor-5cc91544-4026-4249-897a-c4d43e9eb93d	0	124		default
1465942295000000000<PHONE_NUMBER>361268653									ip-10-0-10-187								0	58891
1465942305000000000<PHONE_NUMBER>361268653	telegraf	udp://kapacitor.private:51379	ip-10-0-10-187	ANY	kapacitor-5cc91544-4026-4249-897a-c4d43e9eb93d	0	124		default
]

The kapacitor.private is the the 0.13 box i rebuilt.


fix: flakey auth unit test

Reviewers
Functional: @danieljhegeman
Readability: @metakuni

Changes

add comment to explain why the auth test might fail and how to fix it.
TOKEN_EXPIRES increase

A second in compute time is a lot. If not we ca n increase easily


resize prometheus pvc size to 20Gi

resize prometheus pvc size to 20Gi, because the minimum pvc size of alicloud is 20Gi.

Thank you @knightXun for your contribution. Before I can start building your PR, a member of the organization must set the required label(s) {'reviewed/ok-to-test'}. Once started, you can check the build status in the PR checks section below.

Can you rather configure your alicloud Seed object appropriately (https://github.com/gardener/gardener/blob/master/example/50-seed.yaml#L59)? If you set it to 20Gi then this value will be taken into account. This way we keep the gardener/gardener source code free from provider-specifics.
/hold
/status author-action

@knightXun does it work? :) Does it make sense to close the PR then?

/close as the proper solution has been proposed


Add Simplified Chinese trans

@wzxjohn thank you so much. Could you explain the difference between this PR and the cn file?

The Simplified Chinese trans should put in zh.yml to let system use it.
Trans new words in new version.

OK. I will try to PR with the right file name and do some more updates on it.

Cool, thanks! Closing this one for now.


Validation failed in API: target namespace kube-system is not assigned to the current project

question:
Steps to reproduce (least amount of steps as possible):
go to the app catelog, and search the kubernete-dashboard in library.
start the app
Result:
Validation failed in API: target namespace kube-system is not assigned to the current project
Other details that may be helpful:
Environment information

Rancher 2.0.5:
single install:

There is a note at the bottom saying it should be installed in the System project, did you select that before installing the app? It can only be installed using the kube-system namespace currently.


Share the blogpost about pull from upstream

The goal of this issue is to share this blog post with the relevant audience so that more people get to know this job and can try it.
Think about where we should write and/or discuss with the team.
Suggestions from @TomasTomecek :

<EMAIL_ADDRESS>rhel-devel

Please, provide also a TLDR version for the email body.
Mirek will create a follow-up card to prepare a workshop.

Release after packit-service#1879


Add safe_mode HomeKit (for pairing)

Description:
Add safe_mode option to HomeKit component. Setting safe_mode: True will allow pairing even if you previously got stuck after entering the pincode and error msg inside the Home App. With this PR it's no longer necessary to change python files like (old method #14567).
Important No.1: In order to find the Home Assistant Bridge when you have already tried the default before, you need to delete the .homekit.state file inside your config dictionary.
Important No.2: If you unpair the Bridge, you need to restart Home Assistant to start pairing again.
The safe_mode option does only effect pairing and unpairing. Although not recommended, it's safe to leave at True during normal use.
Related issue:
#14567
#17181
~This PR requires #18355 to be merged first. The necessary function was added with HAP-python 2.4.0. For testing proposes I've include the commit here as well. I'll do the rebase once the other is merged.~
Pull request in home-assistant.io with documentation (if applicable): home-assistant/home-assistant.io#7516
Example entry for configuration.yaml (if applicable):
homekit:
  safe_mode: True

Checklist:

[ ] The code change is tested and works locally.
[x] Local tests pass with tox. Your PR cannot be merged unless tests pass
[x] Documentation added/updated in home-assistant.io
[x] Tests have been added to verify that the new code works.

Safe mode does not seem to be working, for me.  Please see issue https://github.com/home-assistant/home-assistant/issues/19707


Mute/ unmute

As a user, i want to be able to mute videos, so that i can easily stop and resume the music all the while watching the video

Duplicate issue


Untangle Forum Links

The untangle forum links do not redirect or appear to be valid. It's difficult to try and accomplish what you have done without all the info.

Thanks for pointing that out! Fixed in this PR, which has been merged.
This is the link you're looking for: https://forums.edge.arista.com/forum/community-contribution/hacks/36649-mdns-external


Bug: [BwB] TSan doesn't work from unit tests

Describe the bug
When enabling Thread Sanitizer in a unit tests' scheme (see image below), I get this error:
error build: Unable to copy Thread Sanitizer library: Could not determine where it lives.

When enabling it for an app, it works.
Reproduction steps

Enable TSan in a unit test target's scheme
Run unit tests

Expected behavior
No errors, TSan works.
Versions

Bazel: bazel 6.0.0-pre.20220706.4
rules_xcodeproj: 0.9.0
rules_apple: 1.1.1
rules_swift: 1.1.1

I was able to repro it in the SwiftLint repo (with 0.9.0):

git clone https://github.com/realm/SwiftLint.git
bazel run :xcodeproj && xed SwiftLint.xcodeproj
Enable TSan for the test action of the SwiftLint scheme
CMD + U

I can test it later with main

Hmm, it seems that it builds, but fails at runtime:
dyld[52166]: terminating because inserted dylib '/Users/brentley/Library/Developer/Xcode/DerivedData/SwiftLint-frzeielbsmylraavwerpyxnqgmpr/Build/Products/Debug/bazel-out/darwin_arm64-dbg-ST-6a386423d34b/bin/Tests/CLITests.xctest/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib' could not be loaded: tried: '/Users/brentley/Library/Developer/Xcode/DerivedData/SwiftLint-frzeielbsmylraavwerpyxnqgmpr/Build/Products/Debug/bazel-out/darwin_arm64-dbg-ST-6a386423d34b/bin/Tests/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/Applications/Xcode-14.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/Users/brentley/Library/Developer/Xcode/DerivedData/SwiftLint-frzeielbsmylraavwerpyxnqgmpr/Build/Products/Debug/bazel-out/darwin_arm64-dbg-ST-6a386423d34b/bin/Tests/CLITests.xctest/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/usr/local/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/usr/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file)
dyld[52166]: tried: '/Users/brentley/Library/Developer/Xcode/DerivedData/SwiftLint-frzeielbsmylraavwerpyxnqgmpr/Build/Products/Debug/bazel-out/darwin_arm64-dbg-ST-6a386423d34b/bin/Tests/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/Applications/Xcode-14.0.1.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/Users/brentley/Library/Developer/Xcode/DerivedData/SwiftLint-frzeielbsmylraavwerpyxnqgmpr/Build/Products/Debug/bazel-out/darwin_arm64-dbg-ST-6a386423d34b/bin/Tests/CLITests.xctest/Contents/Frameworks/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/usr/local/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file), '/usr/lib/libclang_rt.tsan_osx_dynamic.dylib' (no such file)

@chiragramani could you take a look at this?

Interesting. Yes, absolutely - thanks for sharing the repro, I will look into it.

@marcelofabri This should be fixed on main now. Let me know if you run into more issues. Thanks for the bug report!

Thanks! I'll double check it once 0.10.0 is released since that seems pretty close :)


Added mentors' social links

Added linkedin and twitter links (Dr Rukshan Batuwita and Dr Savithru Jayasinghe haven't twitter accounts), and set target="_blank" to open social links in new tabs, also changed linkedin icons color to default.

#141

Thanks @osusara! 💯 👍 😃


prog: fix checksum dependencies

Make pseudo checksums depend (via csumUses) on the arg it requires for
calculation. Otherwise we fail to assign addrs to those args during encoding
for execution. Also add a test.

Codecov Report

Merging #974 into master will increase coverage by 0.07%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #974      +/-   ##
==========================================
+ Coverage   67.77%   67.84%   +0.07%
==========================================
  Files         114      114
  Lines       20169    20172       +3
==========================================
+ Hits        13669    13686      +17
+ Misses       5861     5847      -14
  Partials      639      639

Impacted Files
Coverage Δ

prog/checksum.go
87.91% <100%> (+0.41%)
:arrow_up:

prog/decodeexec.go
77.95% <0%> (+11.02%)
:arrow_up:

Continue to review full report at Codecov.

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

Impacted Files | Coverage Δ |
-- | -- | --
prog/checksum.go | 87.91% <100%> (+0.41%) |
prog/decodeexec.go | 77.95% <0%> (+11.02%) |
Yay!

LGTM


a question about action control on new scenes.

hi,i'm trying to control the direction of the car, and i used the command like this (and used image not in nuScene):

in the same time, i changed the code in "sampe.py",like:

but it doesn't work, the output of video doesn't change anything.
cloud you please explain that ~
And i think the reason is all of your traing data has only one direction when traing phase 2 , is that a reasonable explaination ?^_^

and i had tried control the direction by using traj, it worked ~

Thanks for your question! As mentioned in the appendix, the chance of failure persists in action control. Our model has better controllability for trajectory, angle, and speed conditions but is slightly worse for command and goal point conditions. The reason could be the limited diversity among training samples, as you said. To enable successful command control, I recommend trying a scenario where the ego vehicle arrives in front of a crossroad (or a place where turning can occur).


Concurrent call detected

Describe the bug
Hi,
I have two automations for two different tags. Those automations are tgiggered by the same trigger tough(Nordpool price change, every hour). It looks like one tag is refreshed properly, while the second one is not updated.
At the time of the event there are warnings in the HA logs like shown below:
Logger: custom_components.open_epaper_link
Source: custom_components/open_epaper_link/__init__.py:23
Integration: OpenEPaperLink ([documentation](https://github.com/jonasniesner/open_epaper_link_homeassistant), [issues](https://github.com/jonasniesner/open_epaper_link_homeassistant/issues))
First occurred: 11:00:00 (1 occurrences)
Last logged: 11:00:00
concurrent call detected, waiting

 Logger: homeassistant.util.async_
Source: util/async_.py:140
First occurred: 11:00:00 (1 occurrences)
Last logged: 11:00:00
Detected blocking call to sleep inside the event loop by custom integration 'open_epaper_link' at custom_components/open_epaper_link/__init__.py, line 24: time.sleep((round(float(filecontent)) + timebetweencalls) - curtime), please create a bug report at https://github.com/jonasniesner/open_epaper_link_homeassistant/issues

Logger: custom_components.open_epaper_link.imagegen
Source: custom_components/open_epaper_link/imagegen.py:313
Integration: OpenEPaperLink ([documentation](https://github.com/jonasniesner/open_epaper_link_homeassistant), [issues](https://github.com/jonasniesner/open_epaper_link_homeassistant/issues))
First occurred: 11:00:04 (1 occurrences)
Last logged: 11:00:04
409

To Reproduce
Steps to reproduce the behavior:

Set separate automations with the same trigger.
Wait until automations are triggered by trigger.
See error in HA logs.
Only one tag would be updated.

Expected behavior
Alle the tags should be updated.
Additional context
I don't know if this is only related to Nordpool as trigger, but I suscpect it is not.
I assume I can add delay to one of my automations after Nordpool price changes, but this is predictible trigger.
What if we have a triggers which are random and they might trigger at the same time?

Additionally, sometimes those two problem occurs at the time of above mentioned triggers:
Logger: websocket
Source: custom_components/open_epaper_link/hub.py:182
Integration: OpenEPaperLink ([documentation](https://github.com/jonasniesner/open_epaper_link_homeassistant), [issues](https://github.com/jonasniesner/open_epaper_link_homeassistant/issues))
First occurred: 08:00:39 (2 occurrences)
Last logged: 08:00:39
[Errno 104] Connection reset by peer - goodbye

Logger: custom_components.open_epaper_link.hub
Source: custom_components/open_epaper_link/hub.py:169
Integration: OpenEPaperLink ([documentation](https://github.com/jonasniesner/open_epaper_link_homeassistant), [issues](https://github.com/jonasniesner/open_epaper_link_homeassistant/issues))
First occurred: 08:00:39 (2 occurrences)
Last logged: 08:00:39
Websocket connection lost, trying to reconnect every 30 seconds

So, when those occur, both tags are not updated.

I have the same issue.
my use case is: set up an automation that runs every 5 minutes to update multiple tags at the same time (with current weather and temperature data, and whether the heating is currently on).
sometimes it works as expected. Sometimes i get back a 104 error, sometimes the number "409". Sometimes one of the tags do gets updated, sometimes none of them.

I did some additional testing.
It seems the problem is with the "drawcustom" service, I suspect that the underlying python code can not handle a lot of calls to draw a new image at the same time.
The tests I've done:
in the development tools, I created a payload for the drawcustom service and added 8 tags as a target. I called the service in about every minute for like 5 minutes. All 8 tags got updated, every time. While having 5 different automation that trigger the same time, calling drawcustom with 5 different payloads to generate the image, then sending 5 images to 5 different tags have at least one tag failing to update (most probably because it fails at the draw image stage) every single time.
So for the time being a workaround could be to generate the image in a different way if you want to update multiple tags at the same time.

Thank for the info. For now I have delayed those automations(with Nordpool price), so one of them should run with 30 secons later. It has been working wor the whole day. I assume this would be solved in the future releases.

hopefully yes. I am also thinging about how i can rearrange the refresh of the tags for my own use case to make it work.
I also have to add, that it takes about 4 full minutes for the AP to send the images to 8 tags (we are speaking about the same image). I have the v2 AP, and having a second AP might help with this, or maybe even just having the V3, but this is just a blind assumption from my side.
Initially I thought that a refresh in every minute should be fine (since the Tag calls back to the AP in every 40 seconds to check if there is a new image), but it seems, at least right now, it's not really feasible to go under 5 minutes with 8 or more tags.

hopefully yes. I am also thinging about how i can rearrange the refresh of the tags for my own use case to make it work.
I also have to add, that it takes about 4 full minutes for the AP to send the images to 8 tags (we are speaking about the same image). I have the v2 AP, and having a second AP might help with this, or maybe even just having the V3, but this is just a blind assumption from my side. Initially I thought that a refresh in every minute should be fine (since the Tag calls back to the AP in every 40 seconds to check if there is a new image), but it seems, at least right now, it's not really feasible to go under 5 minutes with 8 or more tags.

Just for what it's worth. the same problem exists on the v3 with only two tags, and two automation that just happened to trigger at the same time

This is from the 2.01 change logs for the AP firmware..
Seems it's intended! Might be that this integration is not adapted for this change as it was released yesterday

5104996


Update iqm-client

See https://pypi.org/project/iqm-client/#history, maybe update to the newest version, check remote tests and everything else?

make sure this solves:
https://github.com/CQCL/pytket-iqm/issues/22
https://github.com/CQCL/pytket-iqm/issues/20
https://github.com/CQCL/pytket-iqm/issues/12

Solved in https://github.com/CQCL/pytket-iqm/pull/30


set<tuple> should be able to match against set

P4C tests want to allow matching something of type t with a match expression of type tuple. It's easy to add this but I'm not sure the spec has caught up to practice here. This is definitely related to the issue of "flattening" keys and matches in #81.
Failing tests:

examples/checker_tests/good/action-two-params.p4

Code:
    table ingress_tbl {
	key = {
	    hdr.ipv4.dstAddr    : exact;
	}
	actions = {actTbl; drop;}
	const default_action = drop;
	const entries = {
	    {(8w0x20++8w0x02++8w0x04++8w0x20)} : actTbl(24w42, (8w0x20++8w0x02++8w0x42++8w0x00));
	}
    }

Fixing this means doing the p4c flattening thing which doesn't seem spec compliant to me... marking as a bad test and asking over there


Hex-encode defmt symbols to avoid compatibility issues.

Hex-encode defmt symbols to avoid compatibility issues.
defmt currently puts json as-is in symbol names, which can contain special
characters not normally found in symbol names like quotes ", braces {}
and spaces  .
This can cause compatibility issues with language features or tools that don't
expect this. For example it breaks sym in asm!.
This is a breaking change of the wire format, so this PR increases the
format numbre. defmt-decoder is updated to be able to decode the new format,
while keeping ability to decode older formats.

decoder: improve version mismatch error message, don't mention probe-run.
Hex-encode defmt symbols to avoid compatibility issues.

the cargo-semver-check ci error seems bogus? it's from a previous already-merged PR

I've pinged the team internally so we can work out how to fix those tests. We're on version 4 of the wire format already, so we must have a process for bumping it.

the cargo-semver-check ci error seems bogus? it's from a previous already-merged PR

Yes, that's a known problem. I marked the PR as breaking change, which is not true, but skips the check.

* How to fix backcompat CI tests? it's expected that they fail, this is a wire format version bump.

Just bump the commit hash https://github.com/knurling-rs/defmt/blob/7d74e8b2fcf74ddc21bc3d38f30c5c1ba98c121b/xtask/src/backcompat.rs#L47.

We should probably fix the input section name at the same time (i.e. the link_section = "...."). Currently this is JSON, unless you are on macOS when we hex encode it. We should probably always hex encode it, or hash it, or use the disambiguator. I *think* we do still need to put somewhere there (i.e. don't throw them all into .defmt.error` et al) so that the garbage collection can throw out symbols that aren't referenced (which happens at the input section level).


Find File feature only works if a file has been opened already

macos
VS Code - Version 1.24.0-insider (1.24.0-insider)

During a live share session with another user, when pressing CMD+P and typing a file name, no matches appeared. If I manually go to the explorer and open the file, then repeat CMD+P, the file appears in the search/match.
I expected all file matches to appear.
cc @craigshoemaker

@johnpapa We’ve been using #43 to track various file navigation features we haven’t implement yet, but we’re actually in the process of adding support for CMD+P specifically, so we can use this issue to track it. Thanks!

cool. let's close this one then


kube-prometheus: Add missing adapter to build snippet

Just noticed a difference between this file and the example.jsonnet.

We just moved kube-prometheus back to https://github.com/coreos/kube-prometheus.
I'll move your PR there! :)

I've recreated this PR with @jgustie as author. See this one: https://github.com/coreos/kube-prometheus/pull/67


enhancement: cache named models

Fixes the memory issue that was discovered in #152.

Caches named models as they are loaded to prevent reloading or creating multiple copies.
Adds test that fails if model is initialized more than once (fails on main).

This should also address concerns that Chipper was being loaded multiple times @ajjimeno.
Testing:
The following code should run without crashing or the memory footprint exploding (takes a long time):
from unstructured_inference.inference.layout import DocumentLayout
DocumentLayout.from_file("sample-docs/pdf2image-memory-error-test-400p.pdf")

cc @benjats07 since I think you brought up multiple model loads before too


503 unavailable response from datastore after app has idled for a few minutes

I've been getting this response in both production and locally (using the production datastore):
{ [Error]
  code: 503,
  metadata: Metadata { _internal_repr: {} },
  response: '' }

The error is thrown from here - https://github.com/grpc/grpc/blob/release-0_13_1/src/node/src/client.js#L411
Steps to reproduce:

Make a http request "/" that hits datastore
Wait a few minutes and don't make an http request that hits the datastore
Make a http request "/" that hits datastore

Expect: Datastore to return results
Actual: 503 unavailable

Immediately make a http request "/" that hits datastore

The datastore will work and continue to work for another few minutes.
I've deployed the bookstore sample app and it seems to have the same behavior saying "Something broke!".
Here is the code:
var gcloud = require('gcloud')({
    projectId: 'app'
});
var datastore = gcloud.datastore();

var app = express();
app.disable('etag');
app.set('trust proxy', true);

app.get('/', function(req, res, next) {
    var query = datastore.createQuery('Post').filter("Status", "staged");

    datastore.runQuery(query, function(err, posts) {
        if (err) {
            console.log(err.message)
            console.log(err.code)
            console.log(err.metadata)
            next(err)
        } else {
            res.status(200).send("Posts staged = " + posts.length)
        }
    })

});

I'm using the default app credentials and Flexible VMs. Let me know if there is any other info I could provide.

Thanks for reporting. Can you log err.stack as well? Off hand, I'm not sure of anything that might be causing this. @callmehiphop can you try to reproduce?

I'm able to reproduce if I wait about 5 minutes between requests. Also, the error stack doesn't appear to give us very much.
Error
    at gcloud-node/node_modules/grpc/src/node/src/client.js:411:17

@stephenplusplus @callmehiphop  - that's the same error stack I get.
I've tried a similar test using the Cloud Storage API where I grab a private file, wait, and then try it again & I do not run into the 503 issue or if I do it's handled.

I was able to reproduce this with the Logging API, which leads me to believe that this is related to grpc. @heidmotron this would also explain why you weren't able to reproduce it via Storage.
@murgatroid99 we're seeing an issue where we make a request and wait about 5 minutes, then all subsequent requests fail. Could this be a result of the client channel going into an idle state? Any insight you could provide here would be greatly appreciated!

@callmehiphop @murgatroid99 - In the stderr of that managed vm logs I found this.
D0425 01:16:44.599823845 26 chttp2_transport.c:698] got goaway [0]: 73 65 73 73 69 6f 6e 5f 74 69 6d 65 64 5f 6f 75 74 'session_timed_out'

@ctiller Does the gRPC core ever generate a message like that?

We're experiencing the same issue in two of our applications. The errors started occurring since the 22nd of April. Our apps are using different versions of this library, v0.30.3 and v0.27.0, the error occurs in both. Furthermore, the errors didn't seem to be introduced by an update/deploy on our side. Probably something in the underlying infrastructure has changed?

This is still happening in the BigTable plugin.


Remove ".exe" suffix from PowerTab integration

This small change was necessary to get it working on my system.

Where you getting an error or just no tab-completion?  I'm curious why removing the extension makes this work.  Are you on a non-Windows OS?

@bradrn what does Get-Command git show for you? I'm wondering if this is a difference between an Application in PATH vs an Alias.
Note the original implementation (b35085d4a32c86d85b89b2e88420f4cc7a72fdac via #63) used git.cmd, but was switched to git.exe in #66.
cc @jasonmarcher

I'm not sure if PowerTab works on PSCore on Linux/macOS but if it does, git there will have no extension at all.  Maybe that's what @bradrn is running into.  That should work on Windows as well.

@rkeithhill:

(Re https://github.com/dahlbyk/posh-git/pull/606#issuecomment-414074160) I'm not getting an error, there's just no tab-completion. When I don't load PowerTab everything works fine: it's just when I load PowerTab that problems occur.
(Re https://github.com/dahlbyk/posh-git/pull/606#issuecomment-414079103) I'm using Windows.

@dahlbyk: Get-Command git shows the following:
CommandType     Name                                               Version    Source
-----------     ----                                               -------    ------
Application     git.exe                                            <IP_ADDRESS>   C:\Program Files\Git\cmd\git.exe

Hrm... I was going to try this myself, but the PowerTab install failed. Will try to try again soon, if better guidance doesn't come along first.

Thank you @dahlbyk. I do know that I ran into this problem when I tried to install PowerTab - I eventually fixed it by doing this.

I took a peek at the PowerTab Register-TabExpansion impl.  It looks like if git.exe was already registered, the new handler is not added.  PowerTab uses the already registered handler.  Also, all of the examples I see specify the extension: ssh.exe, netsh.exe, robocopy.exe.  I do see that Register-TabExpansion has a -Force  parameter.  What happens if you put it back to git.exe but add the -Force parameter?

@rkeithhill It still doesn't work if I add -Force.
(I'm not actually using PowerTab anymore, so this issue doesn't really affect me anymore. But it would still be nice to get this working...)

Thank you!


Problems with js filter

I am using AOS with a js filter to filter categories within the page.
When I filter, the elements that are not being seen on the screen at the same time, are hidden, since as it has not been scrolled they have not been loaded.
How can I make it do the effect on the scroll and at the same time, when I filter it appears?

Hey @polemonade, try adding AOS.refresh(); after your JS filter action.

Thanks @Scopestyle for aswering. I tried AOS.refresh(); and AOS.refreshHard(); and only appears if I click two times in the filter item.

Hey!
I just read this post issue and followed the steps and for the moment is working :)
It was about recalculate all offsets and positions. I fixed this with this codepen example

Awesome, glad I could point you in the right direction 😄

Hello ! I'm having the same issue here, but the codepen use jquery and not vanilla js. I'm a bit lost because I'm adding AOS.refresh(); when the class change, so It should work 😊
 <script>
	AOS.init({
	 duration: 800,
	  easing: 'ease-in-sine',
	});

const filters = document.querySelectorAll('.filter');
filters.forEach(filter => {

  filter.addEventListener('click', function() {

    let selectedFilter = filter.getAttribute('data-filter');
    let itemsToHide = document.querySelectorAll(`.projects .project:not([data-filter='${selectedFilter}'])`);
    let itemsToShow = document.querySelectorAll(`.projects [data-filter='${selectedFilter}']`);

    if (selectedFilter == 'all') {
      itemsToHide = [];
      itemsToShow = document.querySelectorAll('.projects [data-filter]');
	  AOS.refresh();
    }

    itemsToHide.forEach(el => {
      el.classList.add('hide');
      el.classList.remove('show');
	  AOS.refresh();
  });

    itemsToShow.forEach(el => {
      el.classList.remove('hide');
      el.classList.add('show');
	  AOS.refresh();
    });
  });
});

Hey @polemonade, try adding AOS.refresh(); after your JS filter action.

Thank you! This helped! In my use case - parent with a bunch of sections that filters with toggle at the top. Once filtered it was not showing up, now with refresh its nice.


Locating the actual Dockerfile instructions

According to the AWS documentation on this page , I expected to see instructions within the Dockerfile that would indicate how exactly it was built.
Since it is based on AL2023 Minimal, I expected the Dockerfile to start with FROM amazonlinux:2023-minimal, with commands to install Ruby, etc. Instead it is based on FROM scratch and I see there are some included xz files, but I'm having trouble extracting those locally.
Can you help point me in the right direction?
Thanks

Hey @jforkan! FROM scratch is a popular method in Docker to start building minimal images, this is literally zero bytes image and from there you can add your binaries, or layers or whatever you want. I have no idea why, but It looks like Lambda built separate layers and then incorporated them into the Dockerfile to have the final image.
But I'm curious why you want to build your Lambda image from amazonlinux:2023-minimal and not from a pre-built Ruby image here. I'm not that expert in Ruby, but I have lot of Lambda in Python/TS that I build from the base image in ECR and then make customizations that I need. This is much easy because you don't need to care about installing aws_lambda_ric for Ruby, set correct PATH and other things to make it works with Lambda.
But if you still consider building your image from amazonlinux:2023-minimal, the instructions in the Using an alternative base image with the runtime interface client section on this page may help. You may need to install Ruby in the first steps, but dnf install ruby -y (Ruby 3.2) can help with that. Keep in mind that amazonlinux minimal uses microdnf and you may not have all the features that you have in dnf.
Check out all the packages included in Amazon Linux 2023 minimal here.
I hope this answer helps you build your image to run on Lambda.

Hi @leandrodamascena, thanks for your reply.
The AWS team that produces the official lambda/ruby image (that you linked to) recently changed their base image to AL2023 Minimal going forward, which as you say has microdnf--and that's actually the pain point I'm trying to solve. There are a bunch of packages/apps that I haven't been able to install using microdnf but would be able to using the regular dnf.
So, I wanted to see if I could peek into the Dockerfile used to create that image and change the base image from amazonlinux:2023-minimal to amazonlinux:2023 while reusing the rest of their setup instructions. That seems like it should be possible, and simpler than having to write my own custom ruby image from scratch myself.
Perhaps there's a Dockerfile further upstream used to create those .xz files, but it's unclear to me how those are generated. Any idea if what I'm trying to do is possible?

Hi @jforkan! Yes, now I understand better the challenge and I don't know if you can do it because in the file https://github.com/aws/aws-lambda-base-images/blob/ruby3.3/x86_64/41bd69298790635913afaf03b4ed358b68fdb1a16307b0fef634d7d671c6a816.tar.xz they overwrite the etc/usr/var directory and even if you create a new image from public.ecr.aws/amazonlinux/amazonlinux:2023 this will be overwritten. So, I really don't know if you can do this without installing everything from scratch yourself.
You can try to reproduce:
1 - Clone te repository
2 - Install the git LFS - https://docs.github.com/en/repositories/working-with-files/managing-large-files/installing-git-large-file-storage
3 - git checkout ruby3.3
4 - git lfs fetch -> git lfs install -> git lfs checkout .
5 - Modify the Dockerfile.ruby3.3 file to include FROM public.ecr.aws/amazonlinux/amazonlinux:2023 and build it.

Hi @leandrodamascena, thanks for the tip. Now that I've installed lfs I can see the contents of the xz files and this gives me something to work with.


release new dart_internal that allows the latest dev sdk (2.5.0-dev.2.0)

Today when doing a pub get I get the following warning:
Overriding the upper bound Dart SDK constraint to <=2.5.0-dev.2.0 for the following packages:

dart_internal

To disable this you can set the PUB_ALLOW_PRERELEASE_SDK system environment variable to `false`, or you can silence this message by setting it to `quiet`.

It does let me get a version solve which is good but we should publish a version nonetheless so we  can reduce the noise (this isn't useful for most users).

https://dart-review.googlesource.com/c/sdk/+/112922

Published dart_internal 0.1.6.


duffle export should populate digest field in bundle manifest

the digest fields of all invocation images and referenced images should be updated to sha256: of the uncompressed tarball of the image

closing in favor of #408


Cleanup docstrings and interfaces

This pr just cleans up the docstrings an interfaces of the API

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

Comparison is base (67c058b) 100.00% compared to head (f1fbdb6) 100.00%.
Report is 1 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           32        32
  Lines         1902      1928   +26
  Branches       304       311    +7
=========================================
+ Hits          1902      1928   +26

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


API post 1.6

Is the car_id in /api/car/$car_id/logging/resume Still a numerical value like 1 or is now the car name? Say my car name is Model 3.
Would it be
/api/car/Model_3/logging/resume
Or does it stay
/api/car/1/logging/resume
Thanks!

Should still be the same as far as I'm aware. The change that you see in Graphana should only be for convenience for those that have multiple vehicles. It is much easier distinguish cars by name than ID.

That's right, @Simple-Complexity


Document model size/complexity guidelines

In #899 users who are new to presenting 3D content on the web ran into issues when a complex model caused iOS Safari to crash. The remedy was to simplify their model, but our docs do not offer any guidelines to help them.
We should probably refer users to Scene Viewer's docs on this topic. Also, https://vr.google.com/scene-viewer-preview gives helpful warnings about model size/complexity issues.
At any rate, a section in our docs offering guidance and troubleshooting advice to our users on this topic is called for.

Would be nice to have actionable feedback in the editor, and eventually tools to help optimize models for the web.


FixFixed the problem of not deleting JOB during DROP JOB metadata playback

Description
When we perform the DROP operation, the task is deleted from the memory, but when we restart, the metadata is played back and no remove operation is performed.
Proposed changes
Keep the STOP state and implement the DROP interface separately. When Dropping, first change the job to the STOP state (some tasks in the queue still hold job object references. When these tasks start to execute, you need to check the job status to determine whether it is needed. execute) and then delete it.

Fixed the problem of not deleting JOB during DROP JOB metadata playback

DROP JOB adds IF EXISTS syntax

Fix unstable UT as it could be affected by the current time

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

run buildall

run buildall

Only the method names of some metadata have been modified. No other behavior changes


belongsToMany returns more (all) records than it should

Laravel Version: 9.51.0, also 10.0.3, possibly more
PHP Version: 8.1.0
Database Driver & Version: mysql 8.0.27-0ubuntu<IP_ADDRESS>

Description:
If belongsToMany relation is accesed $model->relModels from within a scope applied to other relation all records are returned.

class User extends Authenticatable
{
    public function groups(): BelongsToMany
    {
        return $this->belongsToMany(Group::class);
    }
}

class Item extends Model
{
    public function itemProperties(): HasMany
    {
        return $this->hasMany(ItemProperty::class)->scopes('forUser');
    }

    public function forcedItemProperties(): HasMany
    {
        return $this->hasMany(ItemProperty::class)->scopes('forcedUser');
    }
}

final class ItemProperty extends Model
{

    public static function scopeForUser(Builder $builder): void
    {
        $user = auth()->user();
        if ($user) {
            $builder->whereIn('group_id', $user->groups->pluck('id'));
            // will display number of records in group_user table
            //dd($user->groups);
            Log::debug($user->groups);
        }
    }

    public static function scopeForcedUser(Builder $builder): void
    {
        $user = auth()->user();
        if ($user) {
            $builder->whereIn('group_id', $user->load('groups')->groups->pluck('id'));
            // will display correct number of records that actually belong to user
            //dd($user->groups);
            Log::debug($user->groups);
        }
    }
}

This shows way more itemProperties because in the scope $user->groups returned all groups instead of the groups user actually belongs to.
$items = \App\Models\Item::with('itemProperties')->get();
foreach ($items as $item) {
        dump($item->itemProperties);
    }

Steps To Reproduce:
Reproduced on fresh install
https://github.com/liepumartins/laravel-belongstomany-bug

$this->hasMany(ItemProperty::class)->scopes('forcedUser')
I can't find a usage of this anywhere in our documentation so I don't think we support this. Please try a support channel:

Laracasts Forums
Laravel.io Forums
StackOverflow
Discord
Larachat
IRC

Wait what? :)
->scopes('myScope') use on relationship definitions is not supported? It just happened to work by accident?
Apart from this case, use of scopes on has worked excellent, hard to believe this was not intended.
Thanks for looking into this!


Run prisma on google cloud app engine

Is it possible to run prisma in app engine (standaard environment) without docker?

Is this part of the roadmap?

@ismaelaarab is this possible?

@teknolojia no. App engine standard environments do not support either Scala (v1) nor Rust (v2).
You need to dockerize the prisma runtime if you want to run on GCP App Engine, which is incredibly easy given that they already have an official docker image.
What's the issue with running on a flexible environment?


Add tests for session creation and closing when specifying init and close behavior

[x] This contribution adheres to CONTRIBUTING.md.

What does this Pull Request accomplish?
Adds tests for behavior introduced in #362
Why should this Pull Request be merged?
Our code should be tested
What testing has been done?
This adds auto tests for existing behavior

Consider renaming the 'Create Sessions' and 'Create and Close Sessions' folders to match 'Initialize'.

Consider renaming the 'Create Sessions' and 'Create and Close Sessions' folders to match 'Initialize'.

I did consider this but wanted to match the currently existing names of what's being tested so that it would be easier to make sense of things when it's time to go back and rename those (i.e. to avoid being confused by "are these testing the same thing? some are called Initialize and some care called Careate").


Arabic naming: alefhamzaabove.isol

FE83	alefhamza.isol	ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
FE83	alefhamzaabove.isol	ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
there are two letters that contain alef and hamza. One is above the other one is below.

Raised by @typoman

Fixed


Make pyro.distributions.util.log_gamma compatible with Tensors

Current implementation of log_gamma is not compatible with Tensors i.e. log_gamma(torch.ones(1)) throws:
RuntimeError: add() received an invalid combination of arguments - got (torch.FloatTensor), but expected one of:
 * (float other, float alpha)
 * (Variable other, float alpha)

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Btw why are you using ser = ser + torch.pow(x / c, -1) instead of ser = ser + (c / x)?

Btw why are you using ser = ser + torch.pow(x / c, -1) instead of ser = ser + (c / x)?

I'm not sure, @jpchen did you implement the first version of this?


Whats wrong

Hi,
Could you explain what it is you are trying to do? I can't make it up from just the screenshot.

Can i speak Chinese？

Unfortunately I don't speak Chinese. You could try Google Translate or get a friend to help you translate.


examples?

are there any examples or implementations of a full nework that we can try out? such as one of the lambda-resnets or even lambda-mask-rcnn etc?

+1

You may want to look at the following repo:
https://github.com/leaderj1001/LambdaNetworks

Here is an example of Lambda ResNet with training log and model on ImageNet https://github.com/d-li14/lambda.pytorch


Delete objects from cache if cached function not called

I noticed that items only get deleted when the cache is queried, this might be a design decision but might be worth documenting. I was considering using it to store large amounts of data in memory that should be removed when the expiry is up but this package will currently only expire items when the key is queried.
Example:
cache = ExpiringCaches.Cache{Int64, String}(Dates.Second(5))
get(cache, 1, "hello")
@test length(cache) == 0
get!(cache, 1, "hello")
@test length(cache) == 1
@test get(cache, 1, "not found") == "hello"

# Wait for cache to expire
sleep(5)
@test length(cache) == 0
# Fails unless get(cache, 1, "") has been called before the length check.

If we call get(cache, SOMEOTHERKEY, "") that doesn't check for any other expiring keys.
As far as I can see a user would have to iterate over all the keys and call haskey to trigger a cleanup.

I can think of two options here (sorry for the slow response BTW): 1) provide a ExpiringCaches.clear!(x) function that would basically loop thru and purge expired keys or 2) provide a keyword argument that would start an async timer task for each key-val set that would remove the key when expired.
Any thoughts/preference?

Both approaches seem reasonable to me. I think 2 could be a better API and would be what I'd expect ExpiringCaches to behave like.
Is there any need for the auto purge argument to be set on a per key basis? I'd have thought it should be a once off Cache level configurable/type.

Implemented in #7


feat(staking): add new formula for staking deposit calculation [LW-7543]

Checklist

[x] JIRA - LW-7543
[x] Screenshots added.

Proposed solution
Calculate the staking deposit based on the number of new stake keys being registered. The deposit will be presented only if the number of stake pools that we want to delegate to is higher than the current.
Testing

Stake for more pools than currently staking.
Observe the staking deposit in transaction cost section

Screenshots

Allure report
allure-report-publisher generated test report!

smokeTests: ✅ test report for 4787a935

passed
failed
skipped
flaky
total
result

Total
35
0
0
0
35
✅

LGTM
I noticed there's very similar code at /apps/browser-extension-wallet/src/views/browser-view/features/staking/components/StakePoolDetails/StakePoolConfirmation.tsx, should these changes also be reflected there, or is it living its own life?

Thanks! Yes, the browser part will be deleted as soon as we release the multidelegation. We need to live with this for now 😄

Hi @szymonmaslowski. The deposit calculator is adding the correct amount per new stakepool adddition .However I had issues when attempting to reduce my delegation from 5 pools down to a lower number. On one occasion it added the new single pool to the list of 5 pools already delegated to , then thereafter it resulted in a failed transaction. See Video. Then I cannot make any more delegation transactions

Hi @szymonmaslowski. The deposit calculator is adding the correct amount per new stakepool adddition .However I had issues when attempting to reduce my delegation from 5 pools down to a lower number. On one occasion it added the new single pool to the list of 5 pools already delegated to , then thereafter it resulted in a failed transaction. See Video. Then I cannot make any more delegation transactions

Hey Manus :)
The issue you reported is unrelated to my changes and will (hopefully) be fixed now, as I pulled the updates from the main branch.
Please test it again and let me know 🙏🏻 Thanks!
P.S. @szymonmaslowski is just a reviewer of this PR.

Hi @przemyslaw-wlodek 👍 . I rechecked since main has been merged and it is not calculating the deposit correctly for increasing stake pool amount and also for reimbursement of funds after reducing pool delegation number. See vid1 vid2 and vid3

Hi @przemyslaw-wlodek. Adding the deposit is working correctly. However when reducing the stake pool size from 5 down to 1 it does not give the user back the deposit correctly. The transaction only lists the fees on their own. See video1. Then the subsequent staking transactions fails video2

Hi @przemyslaw-wlodek. Adding the deposit is working correctly. However when reducing the stake pool size from 5 down to 1 it does not give the user back the deposit correctly. The transaction only lists the fees on their own. See video1. Then the subsequent staking transactions fails video2

Thank you @ManusMcCole. The feature is designed in this way. We don't want to show the return here but it will be listed in the activity tab (but it's a separate feature). Regarding the 2nd video, let's have a catch-up as it's likely unrelated to my changes.


TDSM - Failed to load! No backups found.

I have the latests version of TDSM, trying to run it on a linux machine. It executes and allows me to build a world, however when I try launch the server by selecting the recently created world it tells me it has failed to load and cannot find any backups. I'm not great at working with linux but any suggestions would help. Thank you.

I tested on the latest Binaries, not the latest release. But I didn't find this issue. Did you break out of the server with ctrl+c before it was done saving at one point?
Did you use the latest binaries or release? Did you create a world using a config file or with the interactive server setup?

Well I have downloaded this https://github.com/DeathCradle/Terraria-s-Dedicated-Server-Mod/releases/download/Build-5/tdsm-build-5.zip and I directly unzipped it as a root user. I run mono tdsm.exe and it starts up the server asking me to choose a world or create one. After I select a world created using the server it asks me for maxplayers, server port etc. After wards says the following.
2015-08-15 10:28:33 AM Pool> Server state changed to: WorldLoading
2015-08-15 10:28:33 AM Pool> Log message repeated 3 times
Load failed!
I started the server on windows and whilst it created a .wld file it did not create a .bak file. ls Worlds doesn't appear to be function directory on the linux machine.

Just do ls in your tdsm directory. You should have a Worlds directory if you didn't specify a different one either by command line or config file.
Ill test your particular scenario on the latest binaries first, and if I don't see I problem I'll test using the latest release as you did.

I've also just enabled world file debugging in the latest Binaries commit in the git. I'd recommend downloading these binaries and grabbing the exception for us to look at.

Hey sorry for the late reply, like I said I am novice when it comes to using Linux, how would I go about implementing the latest Binaries commit?

That's fine mate. You can clone the repo, or from the home page of the repo you can download the zip. One you have it just cd into Binaries and run the tdsm.exe

That is in the latest TDSM server modification for Terraria <IP_ADDRESS>? Can I post the error I am receiving now?

root@gameserver:~# mono tdsm.exe
2015-08-15 02:35:35 PM Run> TDSM Rebind API build 5lr running on Mono
2015-08-15 02:35:35 PM Run> Logging started to file "/root/Data/server_20150815_                     1435.log".
2015-08-15 02:35:35 PM Run> Loading plugin from TDSM.Core.dll.
2015-08-15 02:35:35 PM Run> TDSM Rebind core build 5lr
2015-08-15 02:35:36 PM Run> TDSM Rebind core enabled
2015-08-15 02:35:36 PM Run> Server state changed to: Initialising
2015-08-15 02:35:40 PM Run> Server state changed to: Starting
Terraria Server v<IP_ADDRESS>
1               Terraria
n               New World
d       Delete World
Choose World: 1
Terraria Server v<IP_ADDRESS>
Max players (press enter for 8):
Terraria Server v<IP_ADDRESS>
Server port (press enter for 7777):
Terraria Server v<IP_ADDRESS>
Automatically forward port? (y/n):
Terraria Server v<IP_ADDRESS>
Server password (press enter for none):
Terraria Server v<IP_ADDRESS>
2015-08-15 02:35:45 PM Pool> Server state changed to: WorldLoading
System.IO.FileNotFoundException: Could not load file or assembly 'WindowsBase, V                     ersion=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its                      dependencies.
File name: 'WindowsBase, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf38                     56ad364e35'
at Terraria.IO.WorldFile.LoadWorld_Version2 (System.IO.BinaryReader reader) [0                     x00000] in :0
at TDSM.API.Callbacks.WorldFileCallback.loadWorld (Boolean loadFromCloud) [0x0                     0000] in :0
System.IO.FileNotFoundException: Could not load file or assembly 'WindowsBase, V                     ersion=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its                      dependencies.
File name: 'WindowsBase, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf38                     56ad364e35'
at Terraria.IO.WorldFile.LoadWorld_Version2 (System.IO.BinaryReader reader) [0                     x00000] in :0
at TDSM.API.Callbacks.WorldFileCallback.loadWorld (Boolean loadFromCloud) [0x0                     0000] in :0
System.IO.FileNotFoundException: Could not load file or assembly 'WindowsBase, V                     ersion=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its                      dependencies.
File name: 'WindowsBase, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf38                     56ad364e35'
at Terraria.IO.WorldFile.LoadWorld_Version2 (System.IO.BinaryReader reader) [0                     x00000] in :0
at TDSM.API.Callbacks.WorldFileCallback.loadWorld (Boolean loadFromCloud) [0x0                     0000] in :0
System.IO.FileNotFoundException: Could not load file or assembly 'WindowsBase, V                     ersion=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its                      dependencies.
File name: 'WindowsBase, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=31bf38                     56ad364e35'
at Terraria.IO.WorldFile.LoadWorld_Version2 (System.IO.BinaryReader reader) [0                     x00000] in :0
at TDSM.API.Callbacks.WorldFileCallback.loadWorld (Boolean loadFromCloud) [0x0                     0000] in :0
2015-08-15 02:35:45 PM Pool> Log message repeated 3 times
Load failed!

Naturally I haven't a clue what it's telling me.

What version of mono are you running?

4.0.3

I ran the normal apt-get install mono-complete

Alright, I have another issue I need to look into for 4.0.2, so I'll install the new mono 4.0.3 tomorrow on my mac and see what I can sort out.

Sounds good, let me know if I can provide any further information that might help.

Hey COLDFIRE50, what distro and version? because from what all I can find, 3.2.8 is the latest on Ubuntu 14 and 15 right now. Did you add a ppa?

Mono JIT compiler version 4.0.3 (Stable <IP_ADDRESS>/d6946b4 Tue Aug  4 09:42:51 UTC                2015)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-proj               ect.com
TLS:           __thread
SIGSEGV:       altstack
Notifications: epoll
Architecture:  x86
Disabled:      none
Misc:          softdebug
LLVM:          supported, not enabled.
GC:            sgen
I had issues with the mono version not updating from 2.10 to version 3 and so I did add a ppa, I can't seem to recall what it was that I added but if the mono version is the issue how would I go about changing it?

Do you mind posting your config file?

evil-dan2wik which config file? For TDSM?

yes, if you use one.

#this is an example config file for TerrariaServer.exe
#use the command 'TerrariaServer.exe -config serverconfig.txt' to use this conf$
#please report crashes by emailing crashlog.txt to<EMAIL_ADDRESS>#the following is a list of available command line parameters:
#-config                                       Specifies the confi$
#-port                                           Specifies the por$
#-players  / -maxplayers        Sets the max number of players
#-pass  / -password         Sets the server password
#-world                                           Load a world and $
#-autocreate <#>                                                Creates a world$
#-banlist                                                 Specifies the l$
#-worldname                                 Sets the name of the wo$
#-secure                                                                Adds ad$
#-noupnp                                                                Disable$
#-steam                                                                 Enables$
#-lobby  or              Allows friends to join the server or$
#-ip        Sets the IP address for the server to listen on
#-lobby  or              Allows friends to join the server or$
#-ip        Sets the IP address for the server to listen on
#-forcepriority       Sets the process priority for this task. If thi$
#remove the # in front of commands to enable them.
#Load a world and automatically start the server.
#If your server is running linux make sure to use forward slashes for your dire$
#world=Worlds/world.wld
#world=C:\Users\YOUR_USERNAME_HERE\My Documents\My Games\Terraria\Worlds\world1$
#Creates a new world if none is found. World size is specified by: 1(small), 2($
#autocreate=1
#Sets the name of the world when using autocreate
#worldname=Terraria
#Sets the difficulty of the world when using autocreate 0(normal), 1(expert)
#difficulty=1
#Sets the difficulty of the world when using autocreate 0(normal), 1(expert)
#difficulty=1
#Sets the max number of players allowed on a server.  Value must be between 1 a$
#maxplayers=8
#Set the port number
#port=7777
#Set the server password
#password=p@55w0rd
#Set the message of the day
#motd=Please don’t cut the purple trees!
#Sets the folder where world files will be stored
#If your server is running linux make sure to use forward slashes for your dire$
#worldpath=Worlds/
#worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\
#worldpath=Worlds/
#worldpath=C:\Users\Defaults\My Documents\My Games\Terraria\Worlds\
#The location of the banlist. Defaults to "banlist.txt" in the working director$
#banlist=banlist.txt
#Adds addition cheat protection.
#secure=1
#Sets the server language 1:English, 2:German, 3:Italian, 4:French, 5:Spanish
#lang=1
#Automatically forward ports with uPNP
#upnp=1
#Reduces enemy skipping but increases bandwidth usage. The lower the number the$
#npcstream=60
#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNo$
#Default system priority 0:Realtime, 1:High, 2:AboveNormal, 3:Normal, 4:BelowNo$
priority=1
#=======================================================================
#================================================================
Additional TDSM configuration
#================================================================
#================================================================
Enable the whitelist. The whitelist is stored in Data\whitelist.txt.
[true|false] Default: true
usewhitelist=true
Allows communication to the TDSM heartbeat server.
Default data sent when heartbeat is enabled: Api version, core version, platf$
[true|false] Default: true
heartbeat=true
heartbeat=true
Max client queue memory size. The limit of how much data is queued to be sent$
[Integer] Default: 1024
Recommended between 1024 and 4096.
[Currently not working since 1.3]
#send-queue-quota=1024
Allows bypassing of the slot queue mechanism when the server reaches the play$
This is typically implemented by a plugin. For example when used in conjuncti$
{Integer] Default: 1
[Currently not working since 1.3]
#overlimit-slots=1
Location of a PID file to maintain.
Comment out if not using a PID file.
#pid-file=process.pid
If you are having issues with being kicked with forgery messages and you wish$
If you are having issues with being kicked with forgery messages and you wish$
NOTE: This is separate from the official server's "secure" config property.
[true|false] Default: true
cheat-detection=true
Server Side Characters (SSC)
Allows the server to store and use character files instead of letting the cli$
NOTE: Not Implemented Yet!
[true|false] Default: true
server-side-characters=true
DEVELOPER config. This is to disable TDSM starting it's own custom server imp$
Set to false to use Re-Logic server code.
[true|false] Default: true
tdsm-server-core=true
============================================
SERVER LIST
============================================
SERVER LIST
============================================
Show this server on the server list.
Default data sent when server-list is enabled: Port, max players, server name$
Requirement: heartbeat=true
[true|false] Default: true
#server-list=true
The name of this server on the server list.
Requirement: server-list=true
This option CANNOT be blank.
server-list-name=TDSM Server
Description of this server on the server list.
Requirement: server-list=true
server-list-desc=This is an example of the description for use in the TDSM Serv$
server-list-desc=This is an example of the description for use in the TDSM Serv$
Instead of displaying the IP on the server list, opt to display your domain.
Requirement: server-list=true
#server-list-domain=tdsm.org
============================================
RCON - Remote Server Console
============================================
Address for the Remote Console server to bind to.
$ Syntax: IP:PORT
Default: <IP_ADDRESS>:7023
rcon-bind-address=<IP_ADDRESS>:7023
Remote console random hashing key, set to something completely random. This i$
If this is not specified one will be generated and stored in Data\rcon.nonce
#rcon-hash-nonce=
============================================
RAWS - REMOTE ADMIN WEB SERVER
============================================
Listen Address
The address that the web server should listen on.
To disable simply comment the line out.
If you change the port please ensure you change the META TAG tdsm:port in /We$
NOTE: Web server is still in development and is disabled in build 2b.
web-server-bind-address=<IP_ADDRESS>:8448
Set to false if you wish to use another application to serve HTML files (such$
[true|false] Default: true
web-server-serve-files=true
The provider/your server name shown to the web user.
web-server-provider=TDSM Rebind Server Host
The provider/your server name shown to the web user.
web-server-provider=TDSM Rebind Server Host
#================================================================
#================================================================
Data storage
#================================================================
#================================================================
These settings apply when you use a plugin data connector
such as tdsm-sqlite-connector. These plugins handle how data
is stored. There should only ever be one data connector.

NOTE: These functions are not yet functional.
It's for an upcoming release.
#================================================================
Sets the database to be used.
sqlite=Data Source=database.sqlite;Version=3;
sqlite=Data Source=database.sqlite;Version=3;
Connection string for MySQL.
#mysql=Server=<IP_ADDRESS>;Database=tdsm;Uid=root;Pwd=;

evil-dan2wik didn't know how to upload the file but there is the text within it.

a little long, but the config isn't the issue it seems.

I can also confirm that a .bak file has not been created either

Is there a Worlds folder in the TDSM folder at all?

Yes a world folder can be created along with the .wld file inside

I don't think it's to do with the config. The 'WindowsBase' is a mono thing, and my 4.0.3 worked perfectly. So are you able to try to update mono again using mono-complete? It seems there are some parts missing. A little while back someone had this same issue and reinstalling added about 225 different packages.

Greetings DeathCradle, I can confirm that running apt-get install mono-complete did indeed fix my problem and the server is now up and running thank you for all your help in this issue evil-dan2wik,  D1G1T4L3CH0. :)

That's fantastic! I'll go ahead and close this off now. Thanks for using tdsm ;)


Issue running docker image.

Hello, I am having an issue where PowerShell will not be able to run the command "docker run --name=pokego-bot1 --rm -it -v $(pwd)/configs/config-account1.json:/usr/src/app/configs/config.json pokemongo-bot".... it tells me to do docker run --help for more information. MAy anyone help me fix this issue?

@Newbie4124 Are you still experiencing this issue? If so can you post your complete config with username, password and gmapkey removed. Also please indicate what release / branch / commit you are using.

There have been 4 docker related merges since this was opened. I am going to close it, please do git a pull and open a new issue if you're having trouble.


Should EnclosingEntity throw, why not use options here?

RE: https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/vs/Symbols.fs#L1259
Ive fallen down this pitfall trap several times, seems a shame to have to handle FCS properties with unilateral try/catch blocks...

This is used elsewhere:
https://github.com/fsharp/FSharp.Compiler.Service/blob/master/src/fsharp/vs/Symbols.fs#L842-L847

@dsyme A PR to wrap an enclosing Entity with an option?

@7sharp9 That would be great

This now uses an option


fix interrupts

vfio-e1000 -DPOLL works
vfio-e1000 -DINTX does not work

without vmux, INTX does work.

eventfd list to inject interrupts to VM is empty?

we also poll for interrupts on fd 0

Not sure if related but libvfio-user fixed some interrupt request fd issue in https://github.com/nutanix/libvfio-user/pull/731, might be a good idea to update the submodule


Downstream with rails

Hi,
I'm currently trying to include ActionController::Live and write to the response stream
ruby 3.1.1, rails <IP_ADDRESS>
ThreadError (Attempt to unlock a mutex which is not locked):

/usr/local/lib/ruby/3.1.0/monitor.rb:202:in `synchronize'
/usr/local/lib/ruby/3.1.0/monitor.rb:202:in `mon_synchronize'
actionpack (<IP_ADDRESS>) lib/action_dispatch/http/response.rb:185:in `await_commit'
actionpack (<IP_ADDRESS>) lib/action_controller/metal/live.rb:288:in `block in process'
activesupport (<IP_ADDRESS>) lib/active_support/concurrency/share_lock.rb:187:in `yield_shares'
activesupport (<IP_ADDRESS>) lib/active_support/dependencies/interlock.rb:41:in `permit_concurrent_loads'
actionpack (<IP_ADDRESS>) lib/action_controller/metal/live.rb:287:in `process'
....

Any hints if this ought to work? If yes, any hints what to try?
THX, awsome project
Sample code (streams s3 file with async-http from s3 and should write it chunked):
class CmsController < ApplicationController
  include ActionController::Live

  def get
    headers=nil
    S3_CLIENT.get_object( bucket: 'assets', key: request.env['REQUEST_PATH']) do |resp, chunk|
      unless headers
        headers=resp.headers.to_h
        logger.debug("Chunk received: #{headers}\n#{chunk.size}\n#{response.headers}\n#{chunk}\n")
        response.headers["Content-Type"] = headers["content-type"]
        response.headers.delete("Content-Length")
        response.headers["Cache-Control"] = "no-cache"
      end
      response.stream.write(chunk)
    end
    logger.debug("Done")
    response.stream.close
  end
end

I'm trying to strip down the issue so the controller looks like this:
class CmsController < ApplicationController
  include ActionController::Live

  def get
    response.headers.delete("Content-Length")
    response.headers["X-Accel-Buffering"] = "no"
    logger.debug("Request: #{request.env['X-Request-ID']}, #{request.env['REQUEST_PATH']}")
      1.upto(60) do |nr|
        response.stream.write("<p>#{nr}</p>")
        logger.debug("sending: #{nr}")
        sleep 0.5
      end
      logger.debug("Done")
  ensure
    response.stream.close
  end
end

I don't get any errors but it doesn't seem to stream, but flush the results when it's calling response.stream.close

Okay, it seem the Live plugin is not supported and not needed. I solved the downstream with rack hijack (just for others who have the same issue). Would be nice to have more control of the stream (like adding headers before writing the first chunk but perhaps that's for something later. I also posted the async_s3_client to see how proxying works (I hope I did it correctly)
class CmsController < ApplicationController
  def get
    s3_client=AsyncS3Client.new(
      access_key_id:  ENV['AWS_ACCESS_KEY_ID'],
      secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
      region: 'eu-west-1'
    )
     response.headers["rack.hijack"] = lambda do |stream|
      s3_client.get_object( bucket: 'somebucket', key: request.env['REQUEST_PATH']) do |resp, chunk|
        if chunk == :done
          stream.close
          logger.debug("CMS: Done, #{stream.class}")
        else
          logger.debug("CMS: Chunk #{chunk.bytesize}")
          stream.write(chunk)
        end
      end
    end

    response.headers["Cache-Control"] = "no-cache"
    response.headers.delete("Content-Length")
    response.headers["X-Accel-Buffering"] = "no"
    response.headers["Content-Type"] = "text/plain"
    head :ok
  end
end

require 'async/http/internet'

class AsyncS3Client

  def initialize(access_key_id:, secret_access_key:, region:)
    @access_key_id=access_key_id
    @secret_access_key=secret_access_key
    @region=region
  end

  def get_object(bucket:, key:)
    raise "need block" unless block_given?
    internet = Async::HTTP::Internet.new
<EMAIL_ADDRESS>    signer = Aws::Sigv4::Signer.new(
      service: 's3',
      region: @region,
      access_key_id: @access_key_id,
      secret_access_key: @secret_access_key,
      unsigned_headers: ["content-length"]
    )

    signature = signer.sign_request(
      http_method: 'GET',
      url: "https://#{host}#{key}",
      headers: {},
    )

    headers=signature.headers
    headers["user-agent"]="XXXX"
    headers.delete('host')

    Async do
      begin
        response = internet.get("https://#{host}#{key}", headers)
        response.each do |chunk|
            yield response, chunk
        end
        yield response, :done
      rescue
        logger.error("Error: #{$!}")
      ensure
       logger.info("Closing: #{host}#{key}")
       internet.close
      end
    end

  end

  def logger
    Rails.logger
  end
end

Rails 7.1 supports Rack 3 which allows you to use a streaming body. This works for both Falcon and Puma. I would recommend avoiding ActionController::Live.
I believe your controller can look something like this:
  def get
    s3_client = AsyncS3Client.new(
      access_key_id:  ENV['AWS_ACCESS_KEY_ID'],
      secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
      region: 'eu-west-1'
    )

    headers = {
      'content-type' => 'text/plain',
      'cache-control' => 'no-cache',
      'x-accel-buffering' => 'no'
    }

    body = lambda do |stream|
      s3_client.get_object( bucket: 'somebucket', key: request.env['REQUEST_PATH']) do |resp, chunk|
        if chunk == :done
          stream.close
          logger.debug("CMS: Done, #{stream.class}")
        else
          logger.debug("CMS: Chunk #{chunk.bytesize}")
          stream.write(chunk)
        end
      end
    end

    self.response = Rack::Response[200, headers, body]
  end

Hey @ioquatix , sorry for the resurrect. We're trying to make Falcon work with Rails 7.1 + Rack 3 streaming, but the example you've shared above doesn't work - it seems Rails doesn't like getting a Rack::Response assigned into the regular controller response. Any chance you have an example of Rails 7.1 + Falcon streaming, or tips on how to proceed with debugging/making this work? Thanks!

Sure, let me see what I've got.

Sure! Here's what we're trying to do. This is a bit simplified, but the issue with Rack vs. Rails responses still applies.
  def query
    rack_response = Rack::Response.new

    rack_response.body = lambda do |stream|
      rack_response.set_header('Last-Modified', Time.now.httpdate) # Prevent Rack ETag middleware from buffering the response
      rack_response.set_header('Content-Type', 'application/json')

      stream.write("#{Oj.dump({ scheduling: true }, mode: :compat)}\n")

      response = Typhoeus.get('https://example.com')
      rack_response.status = response.code
      stream.write(response_data)
    rescue StandardError => e
      stream.write({ error: "[#{token_hash}] Unknown error" }.to_json)
      rack_response.status = :internal_server_error
    end

    self.response = rack_response
  end

I'll investigate the issue.


Mod 'Carpet Sky Additions' (carpetskyadditions) 1.20.1-4.3.2 requires any version of cloth-config2, which is missing!

My Minecraft version is 1.20.1.
Here are the error details.

A potential solution has been determined:
         - Install cloth-config2, any version.
Unmet dependency listing:
         - Mod 'Carpet Sky Additions' (carpetskyadditions) 1.20.1-4.3.2 requires any version of cloth-config2, which is missing!
        at net.fabricmc.loader.impl.FormattedException.ofLocalized(FormattedException.java:51) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.loader.impl.FabricLoaderImpl.load(FabricLoaderImpl.java:192) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.init(Knot.java:148) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.loader.impl.launch.knot.Knot.launch(Knot.java:68) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.loader.impl.launch.knot.KnotServer.main(KnotServer.java:23) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.loader.impl.launch.server.FabricServerLauncher.main(FabricServerLauncher.java:69) ~[fabric-loader-0.14.21.jar:?]
        at net.fabricmc.installer.ServerLauncher.main(ServerLauncher.java:69) ~[fabric-server-mc.1.20.1-loader.0.14.21-launcher.0.11.2.jar:0.11.2]

What should I do to fix this error?

i had the same message, downloaded this file and it works for me https://www.curseforge.com/minecraft/mc-mods/cloth-config/files/4554906
Thank you for providing the solution. The problem has been resolved. Thank you.


caido: 0.40 -> 0.41

Description of changes
We are moving away from gcp soon and onto our custom domain.
That domain is the officially supported way of downloading caido binaries.
See https://docs.caido.io/concepts/internals/download.html
I am not a nix person so it might require additional work, please let me know.

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

LGTM

@Sytten @D3vil0p3r   backport failed, you will need to create  PR manually ( if you still wish to back port it ) . feel free to tag me

@Sytten @D3vil0p3r backport failed, you will need to create PR manually ( if you still wish to back port it ) . feel free to tag me

Thank you, November is near (24.11 release), so I think I would avoid to create a dedicated PR for backporting.

The only thing is that we are killing those older download links soon, unsure if that is a problem?

The only thing is that we are killing those older download links soon, unsure if that is a problem?

Just wait for the PR to be in production: https://nixpk.gs/pr-tracker.html?pr=344501


Move the tooltips and explanations from the html to the python.

Looks great! One more nitpick:
Can we move digits/templates/classification_custom_network_explanation.html to digits/templates/models/images/classification/custom_network_explanation.html (alongside new.html)? Same for generic_custom_network_explanation.html.
Fix that and squash these into a single commit and I think this is good to go. Thanks for the great PR!


[FLINK-35148][core] Improve InstantiationUtil for checking nullary pu…

…blic constructor

What is the purpose of the change
https://issues.apache.org/jira/browse/FLINK-35148
InstantiationUtil#hasPublicNullaryConstructor checks whether the given class has a public nullary constructor. The implementation can be improved a bit: the Modifier#isPublic check within the for-loop can be skipped as the Class#getConstructors() only returns public constructors.
We can also add a negative unit test for this.
Brief change log

Skip the Modifier#isPublic check
Use Java stream
Add negative unit test

Verifying this change
This change is already covered by existing tests, such as InstantiationUtilTest. This change added a new negative test in that class.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (yes / no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (yes / no)
The serializers: (yes / no / don't know)
The runtime per-record code paths (performance sensitive): (yes / no / don't know)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (yes / no / don't know)
The S3 file system connector: (yes / no / don't know)

Documentation

Does this pull request introduce a new feature? (yes / no)
If yes, how is the feature documented? (not applicable / docs / JavaDocs / not documented)

@snuyanzin could you take a look? Thanks,

@xintongsong Could you please take a quick look at this for me? Thanks!

@flinkbot run azure


Debug switch triggers $PSCmdlet.ShouldProcess prompt

Prerequisites

[X] Write a descriptive title.
[X] Make sure you are able to repro it on the latest released version
[X] Search the existing issues.
[X] Refer to the FAQ.
[X] Refer to Differences between Windows PowerShell 5.1 and PowerShell.

Steps to reproduce
The function below has no debug output, so I would expect that the -Debug switch would have no effect, but it triggers the -Confirm prompt.
function Test-DebugWithConfirm
{
	[CmdletBinding(
	  SupportsShouldProcess = $true
	, ConfirmImpact         = 'Low'
	)]

	Param ()

	BEGIN
	{
		$confirmImpact = $MyInvocation.MyCommand.ScriptBlock.Attributes | Where-Object { $_ -is [System.Management.Automation.CmdletBindingAttribute] } | Select-Object -ExpandProperty ConfirmImpact
		Write-Host "`$confirmImpact    : $confirmImpact"
		Write-Host "`$ConfirmPreference: $ConfirmPreference"
		Write-Host "`$DebugPreference  : $DebugPreference"
	}

	PROCESS
	{
		If ($PSCmdlet.ShouldProcess('Doing the thing.','Proceed?','Ready to do the thing.'))
		{
			Write-Host 'Doing the thing.' -ForegroundColor Green
		}
	}

	END {}
}

Set the $DebugPreference variable:
PS C:\> $DebugPreference = 'Continue'
PS C:\> Test-DebugWithConfirm
$confirmImpact    : Low
$ConfirmPreference: High
$DebugPreference  : Continue
Doing the thing.

So far, so good. Now call with the -Debug switch:
PS C:\> $DebugPreference = 'SilentlyContinue'
PS C:\> Test-DebugWithConfirm -Debug
$confirmImpact    : Low
$ConfirmPreference: High
$DebugPreference  : Continue

Ready to do the thing.
Proceed?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"): y
Doing the thing.

This time the -Confirm prompt appeared.
Expected behavior
Both examples above should behave the same (no Confirm prompt).

Actual behavior
The second example above generates a Confirm prompt.

Error details
No response
Environment data
Name                           Value
----                           -----
PSVersion                      7.1.4
PSEdition                      Core
GitCommitId                    7.1.4
OS                             Microsoft Windows 10.0.19043
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           <IP_ADDRESS>
WSManStackVersion              3.0

Visuals
No response

WG: This seems like a documentation issue as this behavior is consistent with Windows PowerShell.

Well, two wrongs don't make a right. I can submit a bug for Windows Powershell too, as necessary.

I am a bit confused by this issue (as I have just encountered it). This behaviour is present on both 5.1 and latest PowerShell.
Nothing in the documentation states that $PSCmdlet.ShouldProcess triggers the Confirm prompt if the Debug flag is present:

about_ShouldProcess 7.3 docs
about_ShouldProcess  5.1 docs

I would like to leverage ShouldProcess on a script that I am writing, but it seems counter-intuitive that it triggers the Confirm prompt when the -Debug flag is present.

The code does seem to set the ConfirmPreference if the Debug flag is present, as can be seen here.
What is the expected resolution here?

Document that when you use the Debug switch, ShouldProcess will behave the same way as if the Confirm switch is present?
Consider this as a bug and fix the code?

For future readers, a possible workaround is to set the Confirm switch to $false. Here's an example based on the previous code sample:
PS C:\> Test-DebugWithConfirm -Debug
$confirmImpact    : Low
$ConfirmPreference: High
$DebugPreference  : Continue

Ready to do the thing.
Proceed?
[Y] Yes  [A] Yes to All  [N] No  [L] No to All  [S] Suspend  [?] Help (default is "Y"):
Doing the thing.

Workaround -Debug -Confirm:$false
PS C:\> Test-DebugWithConfirm -Debug -Confirm:$false
$confirmImpact    : Low
$ConfirmPreference: None
$DebugPreference  : Continue
Doing the thing.

I really dislike this behavior. I added support for -WhatIf and added some Write-Debug statement to make it so that I could avoid causing a change and so that I could see what data would have been written. In 5.1, unexpectedly this would show me a confirm prompt and provides no context about what is being confirmed.
# [PowerShell 5.1]
.\Update.ps1 -File "Example.json" -WhatIf -Debug
DEBUG:
{"foo":"bar"}

Confirm
Continue with this operation?
[Y] Yes  [A] Yes to All  [H] Halt Command  [S] Suspend  [?] Help (default is "Y"): H
Write-Debug : The running command stopped because the user selected the Stop option.
At D:\[REDACTED]\Update.ps1:603 char:9
+         Write-Debug $JsonOut
+         ~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [Write-Debug], ParentContainsErrorRecordException
    + FullyQualifiedErrorId : ActionPreferenceStop,Microsoft.PowerShell.Commands.WriteDebugCommand

This behavior is not present with PowerShell 7.3, and this is preferred.
# [PowerShell 7.3.9]
.\Update.ps1 -File "Example.json" -WhatIf -Debug
DEBUG: {"foo":"bar"}
What if: Performing the operation "Write-PerfData" on target "Example.json".

At a minimum, I'd expect that the Confirm prompt would show after the What If logging, so it is obvious what is happening. PowerShell 5.1 behavior seems inappropriate. I think the Confirm prompt was for Write-Debug, now that I'm writing this comment, but that isn't at all clear until after you halt or elect to do something which might cause change.

Can confirm this is super annoying, it should respect my ConfirmPreference. I want to see the debug messages, I don't want to confirm all 5000 low impact command prompts individually unless my DebugPreference is set to 'inquire'

If the maintainers agree that this behavior may be changed, it's a 1 line fix here:
https://github.com/PowerShell/PowerShell/blob/master/src/System.Management.Automation/engine/MshCommandRuntime.cs#L2981


Publish 8.7-20240224011659+0000

Publish 8.7-20240224011659+0000

@bot-gradle test and merge

The merge queue build has started. Click here to see all failures if any.


Ionic app content missing

Hi man, I tried to test this demo but I can't
See please: http://screencast.com/t/OHAcPqJy
Thanks in advance!

How did you build/deploy your app?  Did you do "ionic serve" from the command line?  This is needed to bundle up all the Ionic content.

What steps exactly are required to run this app properly?
I opened a terminal and did the following steps:
-npm install
-ionic platform add android
-ionic build android
-ionic run android -l -c -s
When the app opens I only see the tabs, but there is no content and the console displays the following error:
 Uncaught Error: The Ionic app content is missing, http://<IP_ADDRESS>:8101/ace.js, Line: 180
Are there any aditional steps that I need to do?

+1

same is happening for me also...
please provide the necessary steps to build the code and run in mobile


Requesting server with token is known to be expired

First fetch is performed unconditionally even if we already know that token was expired and now refreshing token. Better first check presense of refresh request.

Good point! I will look at it during the week. Feel free to prepare pull request yourself though.

So, I am not sure if I understand your problem correctly. What I think is the problem is that we are fetching the API even when we don't have any token and therefore know that it will fail. Correct me if you had a different thing in mind!
To fix the unnecessary fetch, I believe it should be solved by making sure that the fetch you are passing into configureRefreshFetch rejects with error when the token is not present.
In the example from README it means replacing this
const fetchJSONWithToken = (url, options = {}) => {
  const token = retrieveToken()

  let optionsWithToken = options
  if (token != null) {
    optionsWithToken = merge({}, options, {
      headers: {
        Authorization: `Bearer ${token}`
      }
    })
  }

  return fetchJSON(url, optionsWithToken)
}

with something along the lines of this
const fetchJSONWithToken = (url, options = {}) => {
  const token = retrieveToken()

  if (token == null) {
    return Promise.reject(new Error('Cannot fetch without token, login first'))
  }

  const optionsWithToken = merge({}, options, {
    headers: {
      Authorization: `Bearer ${token}`
    }
  })

  return fetchJSON(url, optionsWithToken)
}

Hi,
Not exactly. I mean replacing first fetch in function configureRefreshFetch with something like:
return (url: any, options: Object) => {
  if (refreshingTokenPromise != null) {
   return refreshingTokenPromise
            .then(() => fetch(url, options))
            .catch(() => {
              // If refreshing fails, continue with original error
              throw error
            })
  } else {
    return fetch(url, options)
    ...

It's just draft of course.

Oh, I see! Added in 321977a86069e1a646ff23e5628172dad467f6d5 , published as version 0.5.0.


Image Links Broken in Documentation of SCS 3.0.x

I am reading the docs of SCS 3.0.6 and all image links seem to be broken.
Would be great, if they could be fixed, as the images really help in understanding the documentation better.
Thanks!

This is difference between both the image URIs:
https://raw.githubusercontent.com/spring-cloud/spring-cloud-stream/master/docs/src/main/asciidoc/images/producers-consumers.png
https://raw.githubusercontent.com/spring-cloud/spring-cloud-stream/1.0.x/docs/src/main/asciidoc/images/producers-consumers.png

Thanks, that's good to know.
Then I would suggest to update the link on this page which I guess a lot of people use to jump into the topic (at least I did):
https://spring.io/projects/spring-cloud-stream#learn
If you follow the link to Horsham.SR6 [3.0.6 RELEASE] CURRENT GA you end up with a URL that contains the actual version and not current and the images are missing.

This issue has been addressed. https://docs.spring.io/spring-cloud-stream/docs/current/reference/html/


Honor cache timeout for discovery.

Nit fix to honor stats timeout instead of just passing max value. Since discovery is a very fast operation the batch size should be sufficient to trigger the discovery cache but just in case the batch size is made configurable and for some strange reason discovery is slow, this would help clear up the cache sooner.

Hi @AbhitejJohn, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

It looks like you're a Microsoft contributor (Abhitej Anoop John Bandi). If you're full-time, we DON'T require a Contribution License Agreement. If you are a vendor, please DO sign the electronic Contribution License Agreement. It will take 2 minutes and there's no faxing! https://cla.microsoft.com.

TTYL, MSBOT;

Since the variable is now used for both Discovery and Execution, we should rename it appropriately.


AnyObject is not convertible ot [AnyObject]; did you mean to us as! for force downcast?

line 142
144
173
184
etc..
xcode 6.3

wrong swiftyjson version.