friboo.log limitations.

They should be documented or resolved.

Log value that has no JSON serializer (I'd prefer Clojure serialization, but that's a matter of preference)

(org.zalando.stups.friboo.log/info "Message %" (reify Runnable (run [this])))
;=> JsonGenerationException Cannot JSON encode object of class: class user$eval37467$reify__37468: user$eval37467$reify__37468@79fe11e0  cheshire.generate/generate (generate.clj:154)

friboo.log assumes that only errors are exceptions. I have some checks that might detect problems. I cannot log those problems at error level, barring following hack that is :)

(org.zalando.stups.friboo.log/error (RuntimeException. "Error") "This is an error but not an exception.")

Leaving other inconveniences aside, like misleading data structures logging: square brackets produced by formatter are not part of structure: (log/info "The list is %s" [1 2 3]) --> "The list is [[1, 2, 3]]"

For the "error and exception" discussion: this depends on your logging strategy. By our definition, an "error" is an unrecoverable error situation. This normally means, you want to leave the normal code flow. So there are these two error cases:

Error that can be recovered or handled gracefully: log a warning
Error that can't be handled: throw an exception to leave normal business logic to cleanup tasks and central error logger

The brackets [ ] are part of our logging guidelines to explicitly mark dynamic values - having double brackets for vector values makes sense here.

For the "error and exception" discussion: If you mean that only central error logger exists, why then friboo have error function in the first place?
For instance, I received nil from a channel (where unrecoverable exception happened) and would like to consider this an error and log it with proper formatting and explanation. In your definition — should I throw an exception instead and hope that central logger would print it correctly?
For the brackets: This was quite a surprise for me as well and threw me off for a while. I had to scratch my head intensively to understand why I have double-nested vector.
I also vote that this is something that should be documented and be very clear or maybe different enclosing symbols could be chosen, like '{:foo "bar"}'

Regarding [ ],  in this case all values are rendered by friboo.log as JSON so empty or white-space strings are never the case. Therefore these braces are are always redundant.
I feel that writing all values is not much of convenience since Clojure can perfectly print it's values but still we have it here.

Regarding exceptions as errors, while yes, in most cases exception is the reasonable way to handle situation, but sometimes the purpose of the code is to detect error which is normal flow in that case :)


FullScreen対応

詳細
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
期待する挙動
A clear and concise description of what you want to happen.
検討した解決方法
A clear and concise description of any alternative solutions or features you've considered.
その他の情報
Add any other context or screenshots about the feature request here.

以下で解決

97636f74abe1817cc2b38c3231b3b8c96f7b12cb
c7c5a7dcf8c4d48bfb4df8cc7635dcd3b90552ff


Unable to build wrapper on Jetpack 5.0.2 w/ ZED SDK 3.8.2

Preliminary Checks

[X] This issue is not a duplicate. Before opening a new issue, please search existing issues.
[X] This issue is not a question, feature request, or anything other than a bug report directly related to this project.

Description
I am getting a bunch of warnings and eventually some unknown errors building the wrapper. I am installing the wrapper
on Jetpack 5.0.2 w/ ZED SDK 3.8.2. I have followed the exact steps documented in
https://www.stereolabs.com/blog/getting-started-with-ros2-on-jetson-agx-orin/
Any idea what the issue might be?

Finished <<< zed_interfaces [1min 36s]
Starting >>> zed_components
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
[Processing: zed_components]
--- stderr: zed_components

Found ROS2 foxy
ROS2 foxy is officially supported by this package.

Finished <<< zed_components [3min 32s]
Starting >>> zed_wrapper
[Processing: zed_wrapper]
--- stderr: zed_wrapper

Found ROS2 foxy
ROS2 foxy is officially supported by this package.

Finished <<< zed_wrapper [38.3s]
Starting >>> zed_ros2
--- stderr: zed_ros2

Found ROS2 foxy
ROS2 foxy is officially supported by this package.

Finished <<< zed_ros2 [3.14s]
Summary: 4 packages finished [5min 50s]
4 packages had stderr output: zed_components zed_interfaces zed_ros2 zed_wrapper
ZED Camera model
ZED2i
Environment
OS: Ubuntu 20.04
Jetpack: 5.0.2
ZED SDK: 382
Hardware: Jetson Xavier NX

Anything else?
No response

@acampbellb there are no error messages. All the packages are correctly built.
There are a few warnings about missing pre-installed packages, try to clone and install also the zed-ros2-examples repository

This does not indicate an error?
4 packages had stderr output: zed_components zed_interfaces zed_ros2 zed_wrapper

I was confused by the stderr output, it appears this is fine.


Image resizing -- client vs. server

Clientside image preprocessing
Pros:

Reduce server load
Reduced bandwidth usage

Cons:

Hefty dependencies
Not easy to add cross-language support
Makes for a heavier client

Serverside image preprocessing
Pros:

Thin client makes for more easily maintainable code
Cross-language

Cons:

Higher server load
Higher bandwidth usage

Client side resizing using Pillow has been added.


Ignore the generated folder

Ignore the generated folder made from the make process

LGTM

Auto-merge toggled on


Load svg from resources

It should be possible to load an svg as a Drawable from int resId without any special methods and classes

I see three ways to make it work.
1: You need to extend Activity to return Resource class thats extends getDrawable().
Acitivity creates window object thats uses context.
Context are provided by activity (self), and uses to create resources by Resource class.
2: Extend all basic views.

Use reflection.

Do you have any other idea?

1st one is actually very good, but introduces one more configuration step. Either an Activity class or a Context wrapper.
2nd one is pretty easy as I already have all basic views extended.
I'm afraid that I don't understand the last option. I don't want to use reflection as long as it can be done in other way.

About third, if you really extend all views so, we dont need talk about the worst solution.

It's done using 1st approach for 3rd party libraries and 2nd approach for Carbon widgets.


Haskell Code Quality: Fix compiler warnings

For release, the code on the main branch should compile without compiler warnings.

In branch dev, there are currently no compiler warnings


Issue 7-30-21

So I installed Yamipa on my 1.17 server and it didn't make a folder for me to upload images.
latest.log

So I installed Yamipa on my 1.17 server and it didn't make a folder for me to upload images.
latest.log

Install protocollib, and remove DefinedHUD, since that isn't working, update plotsquared, worldedit.
only the first step is required.

So I got it working but when I try to place an image that I put in the folder it tells me "An internal error occurred while attempting to perform this command"

@Trippyx87,
If you got an internal error when running a Yamipa command it should have left a trace on the server logs. Check that and paste the stack trace here.
Based on the previous "latest.log" file, your server has a few compatibility issues with other plugins. You can try disabling those temporarely (except ProtocolLib) and check whether Yamipa is still not working without them.

Closing due to inactivity.


Automatically split lines in TextTable #696

Automatically split lines in TextTable

Codecov Report

Merging #741 into master will increase coverage by 0.02%.
The diff coverage is 100%.

@@             Coverage Diff              @@
##             master     #741      +/-   ##
============================================
+ Coverage     93.19%   93.22%   +0.02%
  Complexity      370      370
============================================
  Files             2        2
  Lines          5572     5590      +18
  Branches       1450     1457       +7
============================================
+ Hits           5193     5211      +18
  Misses          183      183
  Partials        196      196

Impacted Files
Coverage Δ
Complexity Δ

src/main/java/picocli/CommandLine.java
92.9% <100%> (+0.02%)
255 <0> (ø)
:arrow_down:

Continue to review full report at Codecov.

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

Thank you very much for the PR!
I put some comments with requests for minor changes, but this looks nearly ready to merge. Thank you!

@remkop - should be ready to merge now.

Merged.
I’ll update the release notes later.
Thank you for the contribution!


Can video-only streams be played by flv.js?

i have a video-only stream, flv.js can get it but cannot play it.

Audio only or video only stream is supported,
But you need explicitly indicate hasAudio: false in onMetaData structure or in FLV header.

do you mean: if i use ffmpeg to push a stream to srs, i should add -metadata "hasAudio=false" option?

its worth to try

Improved in #135
Now Indicates hasAudio: false in MediaDataSource structure should got it works

thanks, it works.


How to make the rear view appear over front view like Google + Slide Drawer?

I found the same question solved here : https://github.com/John-Lluch/SWRevealViewController/issues/312
But,the problem is I don't know anything about in Obj-C
Any Help in Swift?

What about this?
SWFrontMenu.zip

otherwise there is:
https://github.com/alexkrzyzanowski/SidebarOverlay
https://github.com/evnaz/ENSwiftSideMenu
https://github.com/jonkykong/SideMenu

Hi @iDevelopper, your example is great and give me some ideas how to implement this requirement. But how could I make the frontview dim black when the menu appear ? and the menu seem missing width when run on iphone 5s and smaller device.
Thank you

Hi @leizard , for the front view dim black, have a look at the RevealViewController.swift, I added a coverView. And for the width, you can act on font's size. Have a look in cellForRowAtIndexPath function in MenuTableViewController.swift. I added also a rightViewController to the otherController.
MapSample 3.zip

Hi @leizard , it was a mistake as the sample was not the good one. So I deleted my response. Have a look to the coverView I added in the RevealViewController class (subclass of SW). The coverWiew is added to the right view (not the front view) when menu is open. Regarding the width, see the rightWidth variable.
SWFrontMenu 2.zip

The latest sample: I modified some features
SWFrontMenu 3.zip

Hi @iDevelopper, I finally used https://github.com/jonkykong/SideMenu to implement my side menu, it resolve this requirement quite good beside some great animation configs.
Your sample works perfectly, I hope it will help others who need to implement this kind of menu.
Thank you for spending your time.

I had a look quickly! You are probably right as this project is recent and John-Lluch does not seems to maintain his one anymore. But I can't see how to replace the main view controller when selecting a cell in the left menu. (As the front view in SW). I don't like the push to the presented view controllers. I would like to change the content of the main view controller. Did you understand how to do this?

Hi @iDevelopper, I am a Swift beginner and just found sidemenu of jonky is easy to implement, I think this package doesn't provide the solution of replacing the main view controller but just push the new presented one. Is this approach not good ?

I did not say it is not good, just I don't like. I am also a Swift beginner since only two or three weeks (I followed some tutorials) but I know Objective-c since 2009. It help! Did you have a look at the two others library I mentioned in this post? What disturbing you in SW? Sorry for my english!

Yes I did. And I found that the jonky's one provides great animations and easy to setup the kind of sidemenu that I want. Though recently I have some issue when using unwind segue to push new view. So I'm going to dig deeper to your sample and response asap.
Thank you very much for your time and your great responses.

Hi @leizard , I wrote another sample (a better one!). Much simpler. Could you have a look?
SWTopMenu.zip

Hi @leizard , I wrote another sample (a better one!). Much simpler. Could you have a look?
SWTopMenu.zip

Hi @iDevelopper, your sample is nice but I think it is missing animation when changing front view (appear from right to left). is there easy way to add animation ?
And I think I get your idea. With SWReveal, the side menu will not reload because it is just replacing the front view, in the other side, jonky's side menu will because it push new view every time navigate out. Please correct me if I'm wrong.

What kind of animation? Within SW, there is no more animation between front and right. You can push the same view controller each time if you save it in a property like I do for the map controllers.

Sorry very much for late response. I was snowed under with other tasks, now come back to sidemenu. The kind of animation that I mentioned before is similar with the animation of this sidemenu:
https://github.com/evnaz/ENSwiftSideMenu
When you change front view, the new front view appear from right to left, like it pushing the sidemenu to close.

Yes, what about this?
SWTopMenu 2.zip

That 's slick. And wow, such a good and fast support from you. Could you help me one last favour by giving another sample about implementing 2 side menu left - right ?
Thank you very much :)

Wa can't because you wanted the menu on top, then we used the front view controller for the menu and the right view controller for the controllers to display. You can have another menu with rear view controller. Then two menus on the left. Otherwise you add a button to yours controllers and push a menu on the right with the navigation controller.

Thank you for your information. I'm looking to it.

@leizard :
SWTopMenu 3.zip

Not very good because the right menu is full screen. I will do it with a popover.

SWTopMenu 4.zip
I added a RightMenuTableViewController and it is display in a popover.


Integration tests

Are there built-in integration tests?

The library itself uses Unirest for integration tests: Here is an example: https://github.com/tipsy/javalin/blob/master/src/test/java/io/javalin/TestApiBuilderTwoServices.java


Check consumers for pending messages before deletion

This fixes the original issue by checking consumer info first but still has a chance of a race condition (in theory). I also added a test which can reproduce the issue with lost messages without that fix.
Having an additional loop to handle consumer deletion would need some more changes though, so I went for the easier solution for now.
Fixes #24

@hlubek Great job! I've made some minor improvements to your code and also included configuration options for the subscriber. Take a look at the changes I've made in this branch: https://github.com/ThreeDotsLabs/watermill-redisstream/tree/pr-24
Please feel free to reference my code and integrate it with yours. We can then update the new version in this PR.

@minghsu0107 Thanks! I just integrated your changes.

LGTM


Add bitcoind logs to loader

based on #630

Thanks. Now that we log them on failure, do you think it's still worth logging everything?


Initial retained message gets dropped

Hello, I'm trying to use your library however I've run into an issue I can't solve.
Basically I want to subscribe to a topic and if it doesn't have a value populate it with a default one after some timeout.
However with my own code the initial retained message seems to disappear into the ether.
Here's the full debug run of the two runs:
First:
Running `target\debug\rusty-fridge.exe -s home.h4cker.fun:1883 -u hass -p xxxx -i zigbee2mqtt/office/air -o foobar`
Jul 13 17:38:16.456 DEBUG mqtt_async_client::client::client: Connecting to home.h4cker.fun:1883
Jul 13 17:38:16.456  INFO rusty_fridge: connected!
Jul 13 17:38:16.457 TRACE subscribe{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [], topic_map: {} } topic="zigbee2mqtt/office/air"}: rusty_fridge: Subscribing... topic="zigbee2mqtt/office/air"
Jul 13 17:38:16.461 TRACE mio::poll: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
Jul 13 17:38:16.462 DEBUG mqtt_async_client::client::client: IoTask: Sending connect packet
Jul 13 17:38:16.462 TRACE mqtt_async_client::client::client: write_packet p=Connect(
    Connect {
        protocol: MQTT311,
        keep_alive: 30,
        client_id: "",
        clean_session: true,
        last_will: None,
        username: Some(
            "hass",
        ),
        password: Some(
            [
                104,
                97,
                115,
                115,
            ],
        ),
    },
)
Jul 13 17:38:16.462 TRACE mqtt_async_client::client::client: write_packet bytes p=[16, 24, 0, 4, 77, 81, 84, 84, 4, 194, 0, 30, 0, 0, 0, 4, 104, 97, 115, 115, 0, 4, 104, 97, 115, 115]
Jul 13 17:38:16.462 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:16.463 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:16.468 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[32, 2, 0, 0]
Jul 13 17:38:16.468 TRACE mqtt_async_client::client::client: read_packet decoded=Some(
    Connack(
        Connack {
            session_present: false,
            code: Accepted,
        },
    ),
)
Jul 13 17:38:16.468 TRACE mqtt_async_client::client::client: read_packet old_len=4 new_len=0 read_bufn=4
Jul 13 17:38:16.468 TRACE mqtt_async_client::client::client: read_packet Remaining buf=[]
Jul 13 17:38:16.468 DEBUG mqtt_async_client::client::client: IoTask: connack with code=Accepted.
Jul 13 17:38:16.468 TRACE mqtt_async_client::client::client: write_packet p=Subscribe(
    Subscribe {
        pid: Pid(
            1,
        ),
        topics: [
            SubscribeTopic {
                topic_path: "zigbee2mqtt/office/air",
                qos: AtMostOnce,
            },
        ],
    },
)
Jul 13 17:38:16.469 TRACE mqtt_async_client::client::client: write_packet bytes p=[130, 27, 0, 1, 0, 22, 122, 105, 103, 98, 101, 101, 50, 109, 113, 116, 116, 47, 111, 102, 102, 105, 99, 101, 47, 97, 105, 114, 0]
Jul 13 17:38:16.469 TRACE mqtt_async_client::client::client: Tracking subscription topic='zigbee2mqtt/office/air', qos=AtMostOnce
Jul 13 17:38:16.469 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:16.469 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:16.471 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[144, 3, 0, 1, 0]
Jul 13 17:38:16.471 TRACE mqtt_async_client::client::client: read_packet decoded=Some(
    Suback(
        Suback {
            pid: Pid(
                1,
            ),
            return_codes: [
                Success(
                    AtMostOnce,
                ),
            ],
        },
    ),
)
Jul 13 17:38:16.471 TRACE mqtt_async_client::client::client: read_packet old_len=5 new_len=0 read_bufn=5
Jul 13 17:38:16.472 TRACE mqtt_async_client::client::client: read_packet Remaining buf=[]
Jul 13 17:38:16.472 TRACE mqtt_async_client::client::client: Sending response PID=Pid(1) p=Suback(Suback { pid: Pid(1), return_codes: [Success(AtMostOnce)] })
Jul 13 17:38:16.472 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:16.472  INFO subscribe{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [], topic_map: {} } topic="zigbee2mqtt/office/air"}: rusty_fridge: Done subscribing topic="zigbee2mqtt/office/air" res=SubscribeResult { return_codes: [Success(AtMostOnce)] }
Jul 13 17:38:16.472 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:16.472 TRACE rusty_fridge: Starting temperature topic callback
Jul 13 17:38:16.472 TRACE subscribe{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [JoinHandle], topic_map: {"zigbee2mqtt/office/air": broadcast::Sender} } topic="rusty-fridge/foobar"}: rusty_fridge: Subscribing... topic="rusty-fridge/foobar"
Jul 13 17:38:16.472 TRACE mqtt_async_client::client::client: write_packet p=Subscribe(
    Subscribe {
        pid: Pid(
            1,
        ),
        topics: [
            SubscribeTopic {
                topic_path: "rusty-fridge/foobar",
                qos: AtMostOnce,
            },
        ],
    },
)
Jul 13 17:38:16.473 TRACE mqtt_async_client::client::client: write_packet bytes p=[130, 24, 0, 1, 0, 19, 114, 117, 115, 116, 121, 45, 102, 114, 105, 100, 103, 101, 47, 102, 111, 111, 98, 97, 114, 0]
Jul 13 17:38:16.473 TRACE mqtt_async_client::client::client: Tracking subscription topic='rusty-fridge/foobar', qos=AtMostOnce
Jul 13 17:38:16.473 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:16.473 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:16.475 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[144, 3, 0, 1, 0]
Jul 13 17:38:16.475 TRACE mqtt_async_client::client::client: read_packet decoded=Some(
    Suback(
        Suback {
            pid: Pid(
                1,
            ),
            return_codes: [
                Success(
                    AtMostOnce,
                ),
            ],
        },
    ),
)
Jul 13 17:38:16.476 TRACE mqtt_async_client::client::client: read_packet old_len=5 new_len=0 read_bufn=5
Jul 13 17:38:16.476 TRACE mqtt_async_client::client::client: read_packet Remaining buf=[]
Jul 13 17:38:16.476 TRACE mqtt_async_client::client::client: Sending response PID=Pid(1) p=Suback(Suback { pid: Pid(1), return_codes: [Success(AtMostOnce)] })
Jul 13 17:38:16.476 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:16.476  INFO subscribe{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [JoinHandle], topic_map: {"zigbee2mqtt/office/air": broadcast::Sender} } topic="rusty-fridge/foobar"}: rusty_fridge: Done subscribing topic="rusty-fridge/foobar" res=SubscribeResult { return_codes: [Success(AtMostOnce)] }
Jul 13 17:38:16.476 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:16.476 TRACE rusty_fridge: Starting controller topic callback
Jul 13 17:38:22.488  INFO rusty_fridge: Topic is empty, populating with default value topic="rusty-fridge/foobar" pid=Pid { kp: 1.0, ki: 0.0, kd: 0.0, p_limit: 100.0, i_limit: 30.0, d_limit: 30.0, output_limit: 100.0, setpoint: 20.0, prev_measurement: None, integral_term: 0.0 }
Jul 13 17:38:22.489 TRACE mqtt_async_client::client::client: write_packet p=Publish(
    Publish {
        dup: false,
        qospid: AtLeastOnce(
            Pid(
                1,
            ),
        ),
        retain: true,
        topic_name: "rusty-fridge/foobar",
        payload: [
            123,
            34,
            107,
            112,
            34,
            58,
            49,
            46,
            48,
            44,
            34,
            107,
            105,
            34,
            58,
            48,
            46,
            48,
            44,
            34,
            107,
            100,
            34,
            58,
            48,
            46,
            48,
            44,
            34,
            112,
            95,
            108,
            105,
            109,
            105,
            116,
            34,
            58,
            49,
            48,
            48,
            46,
            48,
            44,
            34,
            105,
            95,
            108,
            105,
            109,
            105,
            116,
            34,
            58,
            51,
            48,
            46,
            48,
            44,
            34,
            100,
            95,
            108,
            105,
            109,
            105,
            116,
            34,
            58,
            51,
            48,
            46,
            48,
            44,
            34,
            111,
            117,
            116,
            112,
            117,
            116,
            95,
            108,
            105,
            109,
            105,
            116,
            34,
            58,
            49,
            48,
            48,
            46,
            48,
            44,
            34,
            115,
            101,
            116,
            112,
            111,
            105,
            110,
            116,
            34,
            58,
            50,
            48,
            46,
            48,
            44,
            34,
            112,
            114,
            101,
            118,
            95,
            109,
            101,
            97,
            115,
            117,
            114,
            101,
            109,
            101,
            110,
            116,
            34,
            58,
            110,
            117,
            108,
            108,
            44,
            34,
            105,
            110,
            116,
            101,
            103,
            114,
            97,
            108,
            95,
            116,
            101,
            114,
            109,
            34,
            58,
            48,
            46,
            48,
            125,
        ],
    },
)
Jul 13 17:38:22.494 TRACE mqtt_async_client::client::client: write_packet bytes p=[51, 178, 1, 0, 19, 114, 117, 115, 116, 121, 45, 102, 114, 105, 100, 103, 101, 47, 102, 111, 111, 98, 97, 114, 0, 1, 123, 34, 107, 112, 34, 58, 49, 46, 48, 44, 34, 107, 105, 34, 58, 48, 46, 48, 44, 34, 107, 100, 34, 58, 48, 46, 48, 44, 34, 112, 95, 108, 105, 109, 105, 116, 34, 58, 49, 48, 48, 46, 48, 44, 34, 105, 95, 108, 105, 109, 105, 116, 34, 58, 51, 48, 46, 48, 44, 34, 100, 95, 108, 105, 109, 105, 116, 34, 58, 51, 48, 46, 48, 44, 34, 111, 117, 116, 112, 117, 116, 95, 108, 105, 109, 105, 116, 34, 58, 49, 48, 48, 46, 48, 44, 34, 115, 101, 116, 112, 111, 105, 110, 116, 34, 58, 50, 48, 46, 48, 44, 34, 112, 114, 101, 118, 95, 109, 101, 97, 115, 117, 114, 101, 109, 101, 110, 116, 34, 58, 110, 117, 108, 108, 44, 34, 105, 110, 116, 101, 103, 114, 97, 108, 95, 116, 101, 114, 109, 34, 58, 48, 46, 48, 125]
Jul 13 17:38:22.495 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:22.495 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:22.498 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[64, 2, 0, 1]
Jul 13 17:38:22.498 TRACE mqtt_async_client::client::client: read_packet decoded=Some(
    Puback(
        Pid(
            1,
        ),
    ),
)
Jul 13 17:38:22.499 TRACE mqtt_async_client::client::client: read_packet old_len=4 new_len=0 read_bufn=4
Jul 13 17:38:22.499 TRACE mqtt_async_client::client::client: read_packet Remaining buf=[]
Jul 13 17:38:22.499 TRACE mqtt_async_client::client::client: Sending response PID=Pid(1) p=Puback(Pid(1))
Jul 13 17:38:22.499 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:22.499 TRACE run{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [JoinHandle, JoinHandle], topic_map: {"zigbee2mqtt/office/air": broadcast::Sender, "rusty-fridge/foobar": broadcast::Sender} }}: mqtt_async_client::client::client: read_subscription io_task=Ok(IoTaskHandle { tx_io_requests: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x29a649e94b0, tail_position: 3 }, semaphore: (Semaphore { permits: 1024 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } }, rx_recv_published: Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x29a64d988a0, tail_position: 0 }, semaphore: (Semaphore { permits: 1024 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..."  } } }, rx_recv_published: Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x29a64d988a0, tail_position: 1 }, semaphore: (Semaphore { permits: 1024 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..."
Jul 13 17:38:52.745 DEBUG mqtt_async_client::client::client: Connecting to home.h4cker.fun:1883
Jul 13 17:38:52.746 TRACE subscribe{self=SubHandler { client: Client { options: ClientOptions { host: "home.h4cker.fun", port: 1883, username: Some("hass"), keep_alive: Enabled { secs: 30 }, client_id: None, packet_buffer_len: 1024, max_packet_len: 65536, operation_timeout: 20s, automatic_connect: true, connect_retry_delay: 30s } }, tasks: [], topic_map: {} } topic="zigbee2mqtt/office/air"}: rusty_fridge: Subscribing... topic="zigbee2mqtt/office/air"
Jul 13 17:38:52.750 TRACE mio::poll: registering event source with poller: token=Token(0), interests=READABLE | WRITABLE
Jul 13 17:38:52.751 DEBUG mqtt_async_client::client::client: IoTask: Sending connect packet
Jul 13 17:38:52.751 TRACE mqtt_async_client::client::client: write_packet p=Connect(
    Connect {
        protocol: MQTT311,
        keep_alive: 30,
        client_id: "",
        clean_session: true,
        last_will: None,
        username: Some(
            "hass",
        ),
        password: Some(
            [
                104,
                97,
                115,
                115,
            ],
        ),
    },
)
Jul 13 17:38:52.751 TRACE mqtt_async_client::client::client: write_packet bytes p=[16, 24, 0, 4, 77, 81, 84, 84, 4, 194, 0, 30, 0, 0, 0, 4, 104, 97, 115, 115, 0, 4, 104, 97, 115, 115]
Jul 13 17:38:52.752 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[]
Jul 13 17:38:52.752 TRACE mqtt_async_client::client::client: read_packet read read_bufn=0 readlen=65536
Jul 13 17:38:52.754 TRACE mqtt_async_client::client::client: read_packet Decoding buf=[32, 2, 0, 0]
Jul 13 17:38:52.754 TRACE mqtt_async_client::client::client: read_packet decoded=Some(
    Connack(
        Connack {
            session_present: false,
            code: Accepted,
        },
    ),
)
Jul 13 17:38:52.755 TRACE mqtt_async_client::client::client: read_packet old_len=4 new_len=0 read_bufn=4
Jul 13 17:38:52.755 TRACE mqtt_async_client::client::client: read_packet Remaining buf=[]
Jul 13 17:38:52.755 DEBUG mqtt_async_client::client::client: IoTask: connack with code=Accepted.
 } } }, rx_recv_published: Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x21cc557bc50, tail_position: 1 }, semaphore: (Semaphore { permits: 1023 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..."  } } }, rx_recv_published: Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x21cc557bc50, tail_position: 1 }, semaphore: (Semaphore { permits: 1024 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..."  } } }, rx_recv_published: Receiver { chan: Rx { inner: Chan { tx: Tx { block_tail: 0x21cc557bc50, tail_position: 2 }, semaphore: (Semaphore { permits: 1024 }, 1024), rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } }, halt: false })
Jul 13 17:38:58.800  INFO rusty_fridge: Got message msg=ReadResult { topic: "rusty-fridge/foobar", payload: [123, 34, 107, 112, 34, 58, 49, 46, 48, 44, 34, 107, 105, 34, 58, 48, 46, 48, 44, 34, 107, 100, 34, 58, 48, 46, 48, 44, 34, 112, 95, 108, 105, 109, 105, 116, 34, 58, 49, 48, 48, 46, 48, 44, 34, 105, 95, 108, 105, 109, 105, 116, 34, 58, 51, 48, 46, 48, 44, 34, 100, 95, 108, 105, 109, 105, 116, 34, 58, 51, 48, 46, 48, 44, 34, 111, 117, 116, 112, 117, 116, 95, 108, 105, 109, 105, 116, 34, 58, 49, 48, 48, 46, 48, 44, 34, 115, 101, 116, 112, 111, 105, 110, 116, 34, 58, 50, 48, 46, 48, 44, 34, 112, 114, 101, 118, 95, 109, 101, 97, 115, 117, 114, 101, 109, 101, 110, 116, 34, 58, 110, 117, 108, 108, 44, 34, 105, 110, 116, 101, 103, 114, 97, 108, 95, 116, 101, 114, 109, 34, 58, 48, 46, 48, 125] }
error: process didn't exit successfully: `target\debug\rusty-fridge.exe -s home.h4cker.fun:1883 -u hass -p xxxx -i zigbee2mqtt/office/air -o foobar` (exit code: 0xc000013a, STATUS_CONTROL_C_EXIT)

Notice how in the second run we see the retained message getting read and decoded:
    Publish(
        Publish {
            dup: false,
            qospid: AtMostOnce,
            retain: true,
            topic_name: "rusty-fridge/foobar",
....

However it's never getting read out of  read_subscriptions, any idea what could be causing this? I've attemtped to add more logging to your lib and can see the message gets sent into tx_recv_published but never comes out on the other end of rx_recv_published.
I've tried increasing the packet buffer size to 1k but no luck there either.
Any ideas what could be going wrong?

It should be noted all my code can be found at https://github.com/Zagitta/rusty-fridge

After a break it turns out this was just an issue in my own code not actually calling read_subscriptions as it was awaiting on a timeout.
Sorry for the inconvenience!

Glad you got your issue sorted!


optimize: should omit comparison to bool constant

Codecov Report

Merging #141 into develop will decrease coverage by 0.03%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           develop     #141      +/-   ##
===========================================
- Coverage    53.19%   53.15%   -0.04%
===========================================
  Files          208      208
  Lines        21108    21108
===========================================
- Hits         11228    11221       -7
- Misses        8616     8622       +6
- Partials      1264     1265       +1

Impacted Files
Coverage Δ

bfe_balance/bal_slb/bal_rr.go
72.47% <100%> (ø)
:arrow_up:

bfe_basic/condition/primitive.go
43.76% <100%> (ø)
:arrow_up:

bfe_util/fixed_pool.go
83.33% <0%> (-16.67%)
:arrow_down:

bfe_websocket/server_conn.go
74.24% <0%> (-3.79%)
:arrow_down:

bfe_spdy/server_write_sched.go
78.46% <0%> (-1.54%)
:arrow_down:

bfe_http2/writesched.go
79.38% <0%> (-1.53%)
:arrow_down:

bfe_http2/server.go
71.83% <0%> (-0.17%)
:arrow_down:

bfe_spdy/frame_read.go
58.11% <0%> (+0.75%)
:arrow_up:

bfe_spdy/server_conn.go
78.98% <0%> (+0.88%)
: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 b386c24...dfd3b20. Read the comment docs.


Filter text box in testing tab cannot be reset to blank

Issue Type: Bug
Behaviour
Expected vs. Actual
The testing tab filter text box remembers the last filter text you typed in when closing VSCode. Thus, opening VSCode again shows whatever filter you had typed in.
The problem is that this "memory" does not reset when the text box is cleared. Thus, VSCode always starts up with the last non-empty string in that text box. A simple white space does not "reset" it.
Steps to reproduce:

Open Python repo with a unit test file so testing tab shows up.
Type something into the filter box.
Close VSCode
Open VSCode
Check testing tab. Filter box test should be whatever you typed in.
Delete all the text in the filter box.
Close VSCode
Open VSCode
Check the testing tab. It should be blank, but instead, shows the text you deleted in step 6.

See gif below:

Diagnostic data

Python version (& distribution if applicable, e.g. Anaconda): 3.8.10
Type of virtual environment used (e.g. conda, venv, virtualenv, etc.): Venv
Value of the python.languageServer setting: Default

Output for Python in the Output panel (View→Output, change the drop-down the upper-right of the Output panel to Python)

XXX

User Settings

languageServer: "Pylance"

linting
• flake8Enabled: true
• flake8Path: "<placeholder>"
• mypyEnabled: true
• mypyPath: "<placeholder>"

formatting
• autopep8Args: "<placeholder>"
• autopep8Path: "<placeholder>"

testing
• pytestEnabled: true

Extension version: 2022.10.1
VS Code version: Code 1.69.2 (3b889b090b5ad5793f524b5d1d39fda662b96a2a, 2022-07-18T16:12:52.460Z)
OS version: Windows_NT x64 10.0.19043
Restricted Mode: No

System Info

Item
Value

CPUs
AMD Ryzen 9 5950X 16-Core Processor             (32 x 3400)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
63.92GB (50.28GB free)

Process Argv
--crash-reporter-id 0c3e1923-694a-4dbb-ba8f-3328f46c778d

Screen Reader
no

VM
0%

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383cf:30185419
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
vsaa593cf:30376535
vsc1dst:30438360
pythonvs932:30410667
wslgetstarted:30449410
vscscmwlcmt:30465135
cppdebug:30492333
pylanb8912:30529769
vsclangdc:30486549
841h4636:30534092

A crude workaround is to put something common into the filter like test. While a software fix is being developed it would be helpful if the dev team could provide some kind of manual cache clearing command.

Looks like this might be test UI caching something when it should not. Moving this to VS Code core.


Is it possible to implement this in a smart contract ?

There are A, B, C, and D cards.
I would like to distribute this card at random without knowing each other.
User1: A
User2: B
User3: C
User4: D
The user should not know what his / her other card is
Duplication is not possible.
Is it possible?

It is possible to do with cryptography, but not easy. I recommend looking up "mental poker".
Keep in mind that every piece of data accessible to a contract deployed on a public blockchain is viewable to anyone in the world. The only way to hide information is to properly use cryptographically, which is often not an easy task.
By the way, the GitHub issues of this repository are not the appropriate place to ask these types of questions. I recommend trying something like eosio.stackexchange.com or Telegram groups dedicated towards EOS contract development.


Bech32 implementation (BIP173)

This pull request provides an implementation of BIP173 for bitcoin-s-core.
Here is the motivation for Bech32 from the BIP:

For most of its history, Bitcoin has relied on base58 addresses with a truncated double-SHA256 checksum. They were part of the original software and their scope was extended in BIP13 for Pay-to-script-hash (P2SH). However, both the character set and the checksum algorithm have limitations:
Base58 needs a lot of space in QR codes, as it cannot use the alphanumeric mode.

The mixed case in base58 makes it inconvenient to reliably write down, type on mobile keyboards, or read out loud.

The double SHA256 checksum is slow and has no error-detection guarantees.
Most of the research on error-detecting codes only applies to character-set sizes that are a prime power, which 58 is not.

Base58 decoding is complicated and relatively slow.

Here are the main parts of the implementation:

The abstract class used to represent/create a Bech32Address
The companion object used to create a Bech32 address
A new UInt8 number type to help with abstractions used with unsigned integers and signed integers in Bech32 address calculations

Coverage decreased (-0.7%) to 89.904% when pulling 07ff9865e0f993986694bbedd812b5f16066b4a4 on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.5%) to 90.122% when pulling cdb19a6eba61bb5bb8d8539fe3a324b62089033f on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.4%) to 90.241% when pulling 5985c27ed578f9abfb77621bfb633f00d2871548 on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.4%) to 90.189% when pulling d170bbee4b7e21b473ce5b850654aaaa8a79fd4f on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.3%) to 90.329% when pulling dd3c3139c26ddbc3c10692a388183f87bb4ecf48 on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.5%) to 90.148% when pulling 991d1c24fad1ab75fcddadb507cbc0c08a4a11eb on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.5%) to 90.13% when pulling 1e9d40c30b62d0aaa4bac2641450e1043a7b0c45 on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.

Coverage decreased (-0.5%) to 90.13% when pulling 8d7c0424b9fd8d35896c4b4e76c5da1d60721273 on Christewart:bech32 into 2b25a73f61c79959ce97557723c8a043d0f83dd4 on bitcoin-s:master.


<EMAIL_ADDRESS>throws docker error (exit code 2) after successfully running tests using Unity 2019.4.8f1

Describe the bug
Using the standard main.yml provided in the getting started guide as a template, but substituting in the Unity 2019.4.8f1 image, throws an unspecified docker error and returns exit code of 2. However, the tests successfully run (both passing and failing). As far as I am aware, running failing tests should not throw an error in the docker container.
To Reproduce
Run the following workflow on a repository containing edit and play mode tests written for Unity 2019.4.8f1, after obtaining the appropriate license file for the repository and storing it the repository secrets under UNITY_LICENSE:
name: Actions 😎

on:
  pull_request: {}
  push: { branches: [master] }

env:
  UNITY_LICENSE: ${{ secrets.UNITY_LICENSE }}

jobs:
  build:
    name: Build my project ✨
    runs-on: ubuntu-latest
    steps:
      # Checkout
      - name: Checkout repository
        uses: actions/checkout@v2
        with:
          lfs: true

      # Cache
      - uses<EMAIL_ADDRESS>        with:
          path: Library
          key: Library

      # Test
      - name: Run tests
        uses<EMAIL_ADDRESS>        with:
          unityVersion: 2019.4.8f1

      # Build
      - name: Build project
        uses<EMAIL_ADDRESS>        with:
          unityVersion: 2019.4.8f1
          targetPlatform: WebGL

      # Output
      - uses: actions/upload-artifact@v1
        with:
          name: Build
          path: build

Expected behavior
Regardless of if the other actions (build/output) fail, the tests should run successfully and the test action should be completed.
Screenshots
If applicable, add screenshots to help explain your problem.

Additional context
I have had an identical issue using Unity 2020.1.0f1 as well. I have also had this issue using<EMAIL_ADDRESS>and when removing all steps after Run tests. It is possible that I am misunderstanding something about how unity-test-runner works, such as if it is supposed to fail if there are failing tests. However, it seems strange that if this is the case, it would throw a docker error.
There is an NSubstitute dll included in the project that I use in the test suite. However, because the tests successfully run I am skeptical that the dll is what is causing the issue.
AFAIK, exit code 2 is returned when an unspecified function is called. However, since the tests run successfully and the error is only caused after the test is run, I'm not sure what could be causing the error.
I apologize if there is missing information from this bug report. This is my first attempt at using any form of continuous integration on a project and there may be some obvious mistake I am making.
Thank you for your time.

This might be related to https://github.com/webbertakken/unity-actions/issues/84 as it's also concerns one of the latest builds.

I want to preface this by stating that I am not providing the following approach as a fix or workaround, but rather to add texture to the problem and gauge its similarity to issue #84. Adding a nographics flag, as stated in #84, should not be used as a workaround for backward compatibility issues. That being said...
I modified my main.yml thusly:
 # Test
      - name: Run tests
        uses<EMAIL_ADDRESS>        with:
          unityVersion: 2019.4.8f1
          customParameters: '-nographics'

It does not change the output in any way, and instead it produces a warning at the beginning of the test step:
##[warning]Unexpected input(s) 'customParameters', valid inputs are ['unityVersion']

It is possible I made some mistake in how I am providing the -nographics flag to the action, since I am new to both Github Actions and Unity Actions.

The warning you're referring to was caused by an update in GitHub Actions that before never showed warning for missing variables in the action.yml file. This warning is not harmful and does not block the test runner in any way.
The -nographics flag probably should have solved the problem. and will be solved in v2 alpha of test runner.


[Applied theory in RS] How are depth frames projected into a large resolution color frame?

I'm curious in the actual algorithm logic behind aligning a depth frame into a color frame? I haven't been able to find a lot of literature on this topic. So I'd like to know how librealsense does it. Do you get the depth frame, upscale it to fit the larger color image resolution and then project it into the color frame with the extrinsics? If so, do the extrinsics change when you upscale the depth frame?
Thanks in advance for any reply and suggestion :)

Hi @drapado  The RealSense SDK uses an align processing block to automatically align depth and color, making adjustments for different resolution and sensor field of view sizes.
The field of view size is adjusted to match that of the 'target' sensor.  So if depth was being aligned to color then the color sensor would be the target, and the depth FOV is sized to match the color sensor FOV.  On the D435 and D435 camera models that have a smaller FOV on the depth sensor, the outer regions of the image can have depth information excluded from the aligned image.
When color is aligned to depth - a much rarer procedure demonstrated by the rs-measure SDK example program - then on the camera models with a smaller color FOV, the aligned image is typically stretched to fit the larger FOV size of the depth sensor target.
https://github.com/IntelRealSense/librealsense/tree/master/examples/measure
The opening Overview paragraph of the rs-align example provides further information about the principles of alignment.
https://github.com/IntelRealSense/librealsense/tree/master/examples/align#overview
In the rs-align example program, you can toggle between depth to color and color to depth alignment to see how the image is affected
'Align to Depth mode of rs-align'

'Align to Color' mode of rs-align

Hi @drapado  Do you require further assistance with this case, please?  Thanks!

Case closed due to no further comments received.


Better error messages

This is probably a large issue, with multiple improvements that can be done.
For example, when removing the given Print[Int] = _.toString from the readme example, the error message is:
[error] -- [E008] Not Found Error: Test.scala:33:77
[error] 33 |  println(Tree.Branch(Tree.Branch(Tree.Leaf(1), Tree.Leaf(2)), Tree.Leaf(3)).print)
[error]    |          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error]    |value print is not a member of Test.Tree.Branch[Int].
[error]    |An extension method was tried, but could not be fully constructed:
[error]    |
[error]    |    Test.Tree.derived$Print[T](
[error]    |      Test.Print.derived[A](
[error]    |        /* missing */
[error]    |          summon[
[error]    |            deriving.Mirror{
[error]    |              MirroredType >: Int; MirroredMonoType >: Int;
[error]    |                MirroredElemTypes <: Tuple
[error]    |            }
[error]    |          ]
[error]    |      )
[error]    |    ).print()
[error] one error found

Maybe we could do better here?

Currently derivations often fail with messages like:
cannot reduce summonFrom with (...)

TODO: example

Promised example, using the classes from tests:
case class Param(a: String, b: String)
case class TestEntry(param: Param)

When you do:
SemiPrint.derived[TestEntry].print(TestEntry(Param("a", "b")))

you get:
[error] -- Error: /Users/adamw/projects/magnolia/src/test/tests.scala:234:14 -----------
[error] 234 |    val res = SemiPrint.derived[TestEntry].print(TestEntry(Param("a", "b")))
[error]     |              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[error]     |cannot reduce summonFrom with
[error]     | patterns :  case given t @ _:magnolia.examples.SemiPrint[magnolia.tests.Param]
[error]     | This location contains code that was inlined from package.scala:140
[error]     | This location contains code that was inlined from magnolia.scala:52
[error]     | This location contains code that was inlined from magnolia.scala:13
[error]     | This location contains code that was inlined from magnolia.scala:88
[error]     | This location contains code that was inlined from magnolia.scala:90
[error] one error found

Which could be better :)


[10.x] Fix primary key creation for MySQL with sql_require_primary_key enabled

This pull request addresses an issue in Laravel's Schema Builder when working with MySQL databases that have the sql_require_primary_key setting enabled. The current behavior in Laravel's database migrations fails to add a primary key within the table creation SQL statement. This leads to errors in environments where sql_require_primary_key is enforced, as reported in issue #33238.

Seems like this could use tests?

@taylorotwell Test added!


New Firmware

Firmware should be able to demo:

[ ] Wav decoding for sstv (and maybe other formats)
[ ] Working with the nokia screen.

stale


Poker crashes randomly with dodo helper

Hi,  I'm not sure if I'm doing something wrong or what.
but the dodo helper randomly crashes the acnh poker app, when I enable it.
Sometimes it takes 2 mins to crash it sometimes a lot longer.
I have everything up to date, not sure if that a problem.

Do you have regen running? Or do you only have dodo helper running? (Standalone mode)
When you say crash, does it show you an error message? Or does it just freeze the app?
My guess is that the wifi connection is not stable and the connection was dropped in the middle of the operation.
How was your switch's wifi signal strength?

Standalone mode
just suddenly disappear. I just noticed the screen once when I saw the island status go to offline and then it just closes.
my pc is connected with an ethernet cable. the router is 5 foot from where I use my switch.
wifi singal always full.
The gates stay open and everything is normal in-game.

This might require a bit more testing to find the problem.

Close your gate and start the Dodo helper with the "Restore Dodo" Option off

Dodo Helper should show "OFFLINE" and keep printing something like "OverworldOrInAirport" and a number.

Let it run for a few minutes and see if it crash. While monitoring the Dodo Helper, you can move your character around like entering/exiting a building if you like. Dodo Helper should keep printing out the status.

If no crash happens, manually go and open the gate yourself. Dodo helper should show "ONLINE" and display the Dodo code as soon as you open your gate.

Go outside the airport and let it run for a few minutes just like step 3. See if any crash happens. Again, you are free to move your character around and play the game.

If no crash happens, manually go and close the gate. Dodo helper should show "OFFLINE" as soon as you close your gate.

Go outside the airport and let it run for a few minutes just like step 3. See if any crash happens. Again, you are free to move your character around and play the game.

If no crash happens, click the check box of "Restore Dodo" while you are outside of the airport. This should start the restore sequence.

Let it run and see if it crash in the middle of the restore.

See if you can pinpoint where the crash is happening.

Everything went ok and I left steps 3, 5, and 7 run for about 10 minutes each. No crashes.
After the restoring finished and after about 4 minutes I noticed an error message but couldn't read it all fast before the whole app clsoed. It said (Could not find recognisable ....)


chore: replace stdlib assertions with zod

Fixes #3670

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

91 of 132 (68.94%)  changed or added relevant lines in 18 files are covered.
1 unchanged line in 1 file lost coverage.
Overall coverage increased (+0.2%) to 84.489%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

libraries/botbuilder-core/src/botComponent.ts
3
4
75.0%

libraries/botbuilder-core/src/storage.ts
4
5
80.0%

libraries/botbuilder-dialogs-declarative/src/componentDeclarativeTypes.ts
2
4
50.0%

libraries/botframework-connector/src/auth/userTokenClientImpl.ts
1
7
14.29%

libraries/botframework-connector/src/auth/botFrameworkClientImpl.ts
3
10
30.0%

libraries/botframework-schema/src/index.ts
38
62
61.29%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-lg/src/templateExtensions.ts
1
84.48%

Totals

Change from base Build<PHONE_NUMBER>:
0.2%

Covered Lines:
19573

Relevant Lines:
21939

💛  - Coveralls


Xiaomi-Onoff-Switch

Will this work?

It should, did you try it?

No, I'm not experienced enough to compile this or create a repository, but when I made edits I looked at the analogy on other buttons

Ok, I'll try it locally in some way. Give me some time, I am super busy in this period with my real job 😬

I have tried to compile and run this code myself but yarn throws some errors I have attempted to fix this myself and have gotten it to compile but my button is unresponsive. I will add some comments to this code soon.

This is my current 'xiaomi-wireless-switch.ts' file
after device paring, I do not get the device successfully configured in the log after atempting to mount

there doesnt seem to be any info in the device payload

This is weird. We probably need to check the zigbee-herdsman lib about this. Is it the device fully supported by zigbee2mqtt?

I believe so but I'm not sure, I don't understand how to check what is and isn't in the herdsman library. It is present in the supported devices for Zigbee2MQTT  however.


Strict time ordering events

I'm trying to use calendar for rendering events with duration between days, events isn't overlaping.
Events doesn't sorting by time in day block, but sorting by available space:
http://dl4.joxi.net/drive/2018/02/15/0005/4033/360385/85/a4ae49a9f7.png
I need to reorder events in day block. "Event 3" should be after "Event 2", "Event 5" after "Event 4".
https://image.ibb.co/fEqjGS/Screen_Shot_2018_02_19_at_13_56_16.png
It's like agenda view but for month timeline.

Problem solved :)

How did you solve that?

With moment.js and fake events.
Add fake event directly after normal event and set duration to end of the week, then hide all fake events thought css styles. Dummy and simple.


[CH-382] Fix bug about collect_list

What changes were proposed in this pull request?
(Please fill in changes proposed in this fix)
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
unit tests
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
close https://github.com/Kyligence/ClickHouse/issues/382

Can one of the admins verify this patch?


[TPU] Correct the check for TPU device in a pod environment

What does this PR do?
#6719 provides a partial fix to #6692, however, I find it still causes "No TPU devices were found" error in a v2-32 env. I look into some internals and see that xmp.spawn(.., nprocs=1) will hold extremely long, and eventually a timeout. I try removing nprocs settings (that equals to nprocs = 8) and works fine. This PR completes the solution in this direction.
Besides

waiting timeout 25 is not sufficient in case of pod. It is highly likely to exceed.
because processes are spawned, it is not possible to define the _TPU_AVAIALBE flag at the module scope. I remove it completely and replace with _XLA_AVAILABLE (if global) or XLADeviceUtils.tpu_device_exists() (if local).

Fixes #6692
Related to #6719
Before submitting

[X] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[X] Did you read the contributor guideline, Pull Request section?
[X] Did you make sure your PR does only one thing, instead of bundling different changes together?
[ ] Did you make sure to update the documentation with your changes? (if necessary)
[ ] Did you write any new necessary tests? (not for typos and docs)
[ ] Did you verify new and existing tests pass locally with your changes?
[ ] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is free to review the PR once the tests have passed.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[ ] Is this pull request ready for review? (if not, please submit in draft mode)
[ ] Check that all items from Before submitting are resolved
[ ] Make sure the title is self-explanatory and the description concisely explains the PR
[ ] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Make sure you had fun coding 🙃

Hi @jiasenwu, could you please add _TPU_AVAILABLE back as Thomas has mentioned? We could take it from there.

Hi @jiasenwu, could you please add _TPU_AVAILABLE back as Thomas has mentioned? We could take it from there.

Hi, surely I don't break the backward compatibility. Then I would suggest not test the actual devices at all, because testing the TPU device really requires to spawn. We can set _TPU_AVAILABLE === existence of XRT* environment variable.

Okay, I have reverted all changes related to the global flag _TPU_AVAILABLE. Let me know if I can do anything more. I appreciate very much all your works on supporting the TPU (both single device and pod). Particularly if the issue can be addressed early in Q2, as a customer of pytorch-lightning & GCP/TPU, we may reply on the feature a lot.

@jiasenwu Thank you! We appreciate it, we will patch the fix asap. Will review it in some time & get back to you.

Hi @jiasenwu, we decided to take a different approach to check TPUs availability #6767,

Cool, it is a super good solution with the minimum code change!

Dear @jiasenwu.
Would you mind joining Pytorch Lightning Slack channel. We would really like if you could help us to make sure TPUs are reliably working in PyTorch Lightning.
Would you mind trying out this branch: https://github.com/PyTorchLightning/pytorch-lightning/pull/6781/files on v2-32 ?
Best,
T.C

Dear @jiasenwu.
Would you mind joining Pytorch Lightning Slack channel. We would really like if you could help us to make sure TPUs are reliably working in PyTorch Lightning.
Would you mind trying out this branch: https://github.com/PyTorchLightning/pytorch-lightning/pull/6781/files on v2-32 ?
Best,
T.C

Awesome, happy to join. I will be on holiday for a few days, and then should be able to find a slot to test it next Tuesday! Thank you very much :D


Deploy to IBM

As a Developer
I need the service deployed using IBM
So that the API can interact can use the cloud to host the service.
Assumptions

Ability to integrate the service with IBM cloud.

Acceptance Criteria
Given I have the service set up
When I create the IBM instance and have it set up.
Then I should be able to access the service through the cloud.


can not construct span_body

Hey,
I want to replace the currently used string_body with a span_body in my request parser, so that I do not have to use dynamic memory. Anyway, I can not construct a request parser (or most likley a span_body) object the way I understand the documentation:
 std::array<std::uint8_t, 100> a; boost::beast::http::request_parser<boost::beast::http::span_body<std::uint8_t>> req_parser{ a };
Can you please tell me what I am doing wrong?

gcc 9.2.0
beast version 277

Hi @SantinoKeupp ,
I manage to get it compile using the piecewise_construct version the the constructor.
Having said, that the output of my test program does not look correct:
https://godbolt.org/z/yube65
I must admit, I've only every used the empty_body and the allocating bodies in the past.
I'll speak to @vinniefalco when he comes online and get back to you.
copy of test program here:
#include <boost/beast/http.hpp>
#include <array>
#include <iostream>
#include <cassert>

int main()
{
    namespace http = boost::beast::http;
    namespace beast = boost::beast;
    namespace net = beast::net;

    std::array<std::uint8_t, 100> a;
    http::request_parser<http::span_body<std::uint8_t>> req_parser(std::piecewise_construct, std::make_tuple(a.data(), a.size()));

    auto dat = std::string(""
    "POST / HTTP/1.1\r\n"
    "target: example.com\r\n"
    "\r\n\r\n"
    "hello");
    beast::error_code ec;
    req_parser.put(net::buffer(dat), ec);
    if (ec) { std::cerr << ec.message() << std::endl; std::exit(1); }
    req_parser.put_eof(ec);
    if (ec) { std::cerr << ec.message() << std::endl; std::exit(1); }
    auto&& msg = req_parser.get();
    auto&& span = msg.body();

    auto payload = std::string(span.begin(), span.end());
    std::cout << payload << std::endl;
}

Hi @SantinoKeupp, here is the corrected code:
#include <boost/beast/http.hpp>
#include <array>
#include <iostream>
#include <cassert>

int main()
{
    namespace http = boost::beast::http;
    namespace beast = boost::beast;
    namespace net = beast::net;

    std::array<std::uint8_t, 100> a;
    auto req_parser = http::request_parser<
                        http::span_body<std::uint8_t>>(
                            std::piecewise_construct,
                            std::make_tuple(a.data(), a.size()));
    req_parser.eager(true);

    auto dat = std::string(""
    "POST / HTTP/1.1\r\n"
    "Target: example.com\r\n"
    "Content-Length: 5\r\n"
    "\r\n"
    "hello");
    beast::error_code ec;
    req_parser.put(net::buffer(dat), ec);
    if (ec) { std::cerr << ec.message() << std::endl; std::exit(1); }
    req_parser.put_eof(ec);
    if (ec) { std::cerr << ec.message() << std::endl; std::exit(1); }
    auto&& msg = req_parser.get();
    auto&& span = msg.body();

    auto remaining = span.size();
    auto consumed = a.size() - span.size();
    std::cout << consumed << std::endl;
    auto payload = std::string(a.data(), a.data() + consumed);
    std::cout << payload << std::endl;
}

godbolt: https://godbolt.org/z/cpwXnu
Something to note is that the span_body within the parser consumes the internal span as the body is written.
This means that in order to see the body you must:

compute the difference between a.size() and req_parser.get().body().size()
Use a.data() and the computed size to determine the bouns of the request's body data.

(see demo code)

Hey @madmongo1,
piecewise_construct was the missing part. Thank you for that! But now that I think about it, it is quite obvious :)
The thing with the span_body makes sense if I take a look at the implementatoin, but it is not what I expected. Maybe a hint in the documentation would help here?

span_body was a mistake

span_body was a mistake

So what would you recommend instead to avoid heavy dynamic memory allocation?
(Assumption: max body size is known)
vectory_body (preallocated) or buffer_body?

span_body was a mistake

So what would you recommend instead to avoid heavy dynamic memory allocation?
(Assumption: max body size is known)
vectory_body (preallocated) or buffer_body?

'mistake' is a broad term. It's reasonable to use the buffer_body (even though accessing the data in it is not intuitive). I think what Vinnie means is that although the intentions were good, the design didn't come out as well as planned.

avoid heavy dynamic memory allocation

What's wrong with allocating memory? What problem are you trying to solve? Simple is usually better. Just use http::string_body and get on with it.


Notification sent with Text format despite HTML being selected

Describe the bug
Using the Telegram notification service and selecting HTML format, HTML tags are stripped from the notification text and title.
Passing ?format=html manually fixes this.
Version
v0.39.11
To Reproduce
Steps to reproduce the behavior:

Go to Notification settings

Add telegram notification service

Set Notification Format to HTML

Use HTML tags in title and/or body. I used:
Title:
🚨 Change detected for {watch_title}
Body:
{watch_title} had a change

Expected behavior
Receive formatted message, like the second one from the screenshot.
Screenshots

Both notifications were sent when HTML is selected. First was sent with normal tgram:// URL, second after adding ?format=html.

Did you select markdown format?

Yes of course, I mentioned several times in the bug report that HTML format is selected.

Looks like an issue with https://github.com/caronc/apprise/issues , could you please file an issue there? we are sending the correct format :(

                apobj.notify(
                title=n_title,
                body=body,
                body_format=n_format)

n_format is html which is correct according to https://github.com/caronc/apprise/blob/b28cd4cdff1a6a09101cc235366cbcbe5238225a/apprise/common.py#L71
so sorry, i cannot help you here

Just ran in the same issue. It looks like it's fixed upstream, maybe you could do a new release? 🙏


AbstractContentManager - Add IsShowing, Groups, GetAllShowingOfType

Allow callers to check if a specific view controller is showing in a group and, optionally, receive the instance via out parameter
Allow callers to get all showing of a specific view type
Allow callers to iterate groups

@tjvezina is this what you were wanting?
@jkeon, @tjvezina if this is an API we're happy with I'll take the time to clean it up and add /// docs.
What is the current behaviour?

Callers have to know all content groups and check them individually to see if a specific piece of content is showing.
Callers have no way of iterating all groups in a content manager

What is the new behaviour?
IsShowing
Callers can call AbstractContentManager.IsShowing<T>() to figure out if a view is showing. Overloads and parameters of the method support.

Only looking for the exact type vs any subclass of the target type
Looking for a specific controller instance
Receiving the found content instance

GetAllShowingOfType
This is the plural version of IsShowing that returns all showing content of a given type. Includes the exact type vs subclass option of IsShowing
Groups Getter
Callers can get an IReadonlyCollection<T> of groups
What issues does this resolve?

None

What PRs does this depend on?

None

Does this introduce a breaking change?

[ ] Yes
[x] No

Ready for review.

Docs added
Removed generic parameter from the instance specific IsShowing method since it isn't required.


pre-commit hooks no longer self contained: requires local system dependency on executable Rscript

refs https://github.com/apache/sedona/pull/1717
sedona$ make check
pre-commit run --all-files
[INFO] Installing environment for https://github.com/lorenzwalthert/precommit.
[INFO] Once installed this environment will be reused.
[INFO] This may take a few minutes...
An unexpected error has occurred: CalledProcessError: command: ('Rscript', '--vanilla', '/tmp/tmpsowm04ew/script.R')
return code: 1
stdout:
    Executable `Rscript` not found
stderr: (none)
Check the log at /home/abe/.cache/pre-commit/pre-commit.log
make: *** [Makefile:19: check] Error 3

https://pre-commit.com/#r
"Support: r hooks work as long as R is installed and on PATH. It has been tested on linux, macOS, and windows."

OK. I guess we might want to revert this commit? @gregleleu

I'm a bit confused why it works on the Github Action machine, where we never specifically install R. But ok to revert and drop the idea of pre-commit for R


Error when running 'bun dev'

Hi.
On a fresh repo clone, the command  bun dev fails with error:

@repo/jobs:dev: ERROR: command finished with error: command (C:\Github\basilic-evm\services\trigger)

Node version:  v20.18.0
npm version:  10.9.0
bun version:  1.1.29
Thanks.

Hi @ccalvarez,  I'll fix this on January, big update planned.


Fix detached elements are no longer deletable

This isn't possible for over 3 years, but the docs were never updated to reflect these changes.

 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.


Use TypeScript

I would like to propose we use TypeScript as I believe it will improve scalability. It will allow us to use static checking, interfaces, etc. It is also something we can add little by little until we have the desired code coverage we are looking for. In my opinion, it makes React a lot more readable.

I agree, please proceed.


Added reject condition for FractionalLoad + DepthU!=power of 2

FL + DU=not power of 2 causes mismatch.


rules_js 2.0 coming soon...

Hey @hjellek, just noticed this new rule set from the BCR PR this morning. Its great to see the community building out support for more node tools on top of rules_js.
Just a heads up that we're currently working on releasing rules_js 2.0 which has breaking changes to the internal API that rules_jest is using. Here is what the change looks like in rules_jest: https://github.com/aspect-build/rules_jest/pull/269.
Here is a tracking issue for the release work: https://github.com/aspect-build/rules_js/issues/1671. We're probably a few weeks away from releasing with a few more things we'd like to get in.
In any case, just wanted to give you a heads up incase you wanted to wait until we have a rules_js 2.0 release out before you launch rules_vitest.

Hi @gregmagolan, thanks for reaching out and thanks for all your work.
I noticed that the pre-submit actions in BCR failed with an error anyway, so it sounds like a good idea to wait for rules_js 2.0.
Thanks for the heads up, I will submit a new PR once we have upgraded to rules_js 2.0.

Note, the first Release Candidate of rules_js 2.0 is now published :)


[Blocker] Removal of PySpark bundles broke Seahorse on EMR

While I support the removal of the PySpark bundles in lieu of what's provided by default, the reliance on SPARK_HOME doesn't appear to work on EMR. This appears to be the commit of issue:
https://github.com/deepsense-ai/seahorse/pull/65/commits/542eaddde86aa5f6807732203e7fb588cdc51a62
Given the prevalence of EMR users, I would suggest an EMR compatible solution be constructed, and deployment-oriented changes like this be tested on EMR before merging to master.
cc: @mobsy74

PS: Not entirely sure it's SPARK_HOME that's a fault here; just a guess. Do know that PySpark nodes work in local mode, but not in EMR. The error we get is

Error from python worker:
/usr/bin/python: No module named pyspark
PYTHONPATH was:
/mnt/yarn/usercache/hadoop/filecache/19/__spark_libs__4018792296441039254.zip/spark-core_2.11-2.2.0.jar:we-deps.zip:we-deps.zip

Does https://github.com/deepsense-ai/seahorse/pull/78 fix it? I don't have EMR to check that.

Implementing the fix in #78 fixed our issue with the missing pyspark module.  But now we are getting an error that we are missing the numpy module.  We know that this is installed on the session manager.  Is there a way to just push all installed python packages out to any cluster you attach to?

@mobsy74, managing Python dependencies on external cluster is not Seahorse responsibility (at least for now). Maybe the best solution is to install them on all YARN workers?
This seems interesting: https://blog.cloudera.com/blog/2017/04/use-your-favorite-python-library-on-pyspark-cluster-with-cloudera-data-science-workbench/
And Conda Creator from here: https://github.com/dask/knit


Add wallet selection and automation for non-archival nodes

[init] suppress CLI download message
[project] grab user from builtin instead of env vars
[install] bump version
[dev] add dev install script
[monitor] add is-archival as a report

Uploaded to pypi


TrakEM2 question on transferring  manual aligmentss

I hope this is the right place to ask this question. In TrakEM2, can I transfer the alignment data (i.e. rotation angle/ translation/ scaling) from one stack of images to another stack of images?
My problem is that I have to align the slices of a mouse brain but there are two channels, one red and one blue.  Is there any way that I can only align one channel and translate that information to have the other channel exactly like the first one?
The only option I could come up with is to align my first channel, then interleave the second channel in the aligned stack ( add the images of the unaligned stack in between the images of the aligned stack) and try to apply the changes visually.
Please and thanks in advance for the help.

I run into this problem all the time too (monkies in my case), but unfortunately this isn't the right place to ask that question.
#262


Add Laboratory.check() for cleaner conditionals

Why?
To simplify conditionals.
Before:
if (laboratory.experiment<Feature>() == Feature.Option) {
  // ...
}

After:
if (laboratory.check(Feature.Option) {
  // ...
}

Naming
Is hard. check may be misleading because there's kotlin.check which throws IllegalStateException.
Alternatives:

experimentIs(Feature.Option) + experimentIsBlocking(Feature.Option)
This was the original name. Is is cool because it implies boolean value, however the blocking variant reads... not so well. Is the value blocking?
Thesaurus-mode: analyze, confirm, examine, probe, prove, sample, verify.

experimentIs will be consistent with current naming. verify and confirm also sound good.

tylko mysle jeszcze nad experimentIsBlocking -> experimentBlockingIs ;)


Fix ADO pipeline build breaks due VMs updated to use VS version 16.5

The VS update from 16.4 to 16.5 exposed a bug in the .yml file. Updating to latest version of NuGetToolInstaller fixes the issue.


[Sema] Record specify contextual type for nil in placeholder context

Even in placeholder context, if the hole is on a locator that is anchored in a nil literal expression, let's record a specify contextual type for nil fix.

Resolves https://github.com/apple/swift/issues/63130

@swift-ci Please smoke test

@swift-ci please test Windows platform


[SPARK-26856][PYSPARK][FOLLOWUP] Fix UT failure due to wrong patterns for Kinesis assembly

What changes were proposed in this pull request?
After SPARK-26856, Kinesis Python UT fails with Found multiple JARs due to a wrong pattern.

https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/104171/console

Exception: Found multiple JARs:
.../spark-streaming-kinesis-asl-assembly-3.0.0-SNAPSHOT.jar,
.../spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT.jar;
please remove all but one

It's because the pattern was changed in a wrong way.
Original
kinesis_asl_assembly_dir, "target/scala-*/%s-*.jar" % name_prefix))
kinesis_asl_assembly_dir, "target/%s_*.jar" % name_prefix))

After SPARK-26856
project_full_path, "target/scala-*/%s*.jar" % jar_name_prefix))
project_full_path, "target/%s*.jar" % jar_name_prefix))

Since the assembly jar has different names, this PR recovers the pattern _ and -.
SBT Build
-rw-r--r--  1 dongjoon  staff  87459461 Apr  1 19:01 spark-streaming-kinesis-asl-assembly-3.0.0-SNAPSHOT.jar
-rw-r--r--  1 dongjoon  staff       309 Apr  1 18:58 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT-tests.jar
-rw-r--r--  1 dongjoon  staff       309 Apr  1 18:58 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT.jar

MAVEN Build
-rw-r--r--   1 dongjoon  staff   8.6K Apr  1 18:55 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT-sources.jar
-rw-r--r--   1 dongjoon  staff   8.6K Apr  1 18:55 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT-test-sources.jar
-rw-r--r--   1 dongjoon  staff   8.7K Apr  1 18:55 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT-tests.jar
-rw-r--r--   1 dongjoon  staff    21M Apr  1 18:55 spark-streaming-kinesis-asl-assembly_2.12-3.0.0-SNAPSHOT.jar

How was this patch tested?
Manual. Please note that this will remove only Found multiple JARs exception. Kinesis tests need more configurations to run locally.
$ build/sbt -Pkinesis-asl test:package streaming-kinesis-asl-assembly/assembly
$ export ENABLE_KINESIS_TESTS=1
$ python/run-tests.py --python-executables python2.7 --module pyspark-streaming

Test build #104178 has started for PR 24268 at commit 690c136.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9518/
Test PASSed.

cc @HyukjinKwon and @gaborgsomogyi .

Thanks for catching this.

Thank you for review and approval, @HyukjinKwon .

Test build #104178 has finished for PR 24268 at commit 690c136.

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

Merged build finished. Test PASSed.

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

Hey @dongjoon-hyun, just to doubly sure, can you check Avro ones as well?

Ah, thank you so much, @HyukjinKwon . Avro has different pattern. I'll update PR once more with that.

Test build #104181 has started for PR 24268 at commit d738df7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9521/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/9522/
Test PASSed.

Test build #104182 has started for PR 24268 at commit 0a03c16.

Test build #104181 has finished for PR 24268 at commit d738df7.

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

Merged build finished. Test PASSed.

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

Test build #104182 has finished for PR 24268 at commit 0a03c16.

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

Merged build finished. Test PASSed.

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

Merged to master.

Thank you for review and merging, @HyukjinKwon !

Late LGTM, thank you @dongjoon-hyun for fixing this.


Urgent update of download-peerunity page 26.03.16

Updated links to Peerunity 0.2.0

@TheWildHorse @FuzzyBearBTC Please merge ASAP :)

@TheWildHorse @FuzzyBearBTC Bump

@super3 @brossi Please merge :)

Bump

@sunnyking @glv2 @sigmike Do you guys have merge access?

Sorry for the late response. Merged.

No worries :)


Treat timestamps of a histogram dataview as UTC

Context
In Time series dataviews, we are parsing the data coming from the API and making a translation of timestamps using the current selected offset.
Although it seems to be working, it's provoking some errors with filtering. Windshaft expects all timestamps in UTC so in order to get translated ones we need to be doing conversions in both directions in several places.
Solution
Don't apply offsets to parsed payload and only make a conversion when showing the formatted timestamp to the user.
Related issues
https://github.com/CartoDB/cartodb/issues/12637
### Datasets
This dataset contains two points: one at 2 Jan 1970 00:00 UTC and another one at 2 Jan 1970 01:00 UTC. Useful for seeing changes after changing timezone.
dospuntos copy.txt
Acceptance (how to)
Builder

[ ] Using a dataset (the one above, for instance) create a time series widget. Test several combinations of aggregations and timezones. Check that chart changes and chart ticks and filter labels are properly formatted.
[ ] Check also that setting the widget in local timezone changes ticks and labels. This is better shown in hour aggregations.
[ ] Do the same checks in a torque widget.

Embed

[ ] Repeat the Builder checks in an embed view.

### Known bugs
In some aggregations, filtering does not work properly. Using the attached dataset if you aggregate by day and set an UTC - 1 offset you can see it. That's provoked by how the API is making the aggregation.
In any case, if you find something strange, please write it in this ticket.

Using the dataset you provided with this parameters:

It creates 2 buckets, one of them empty:

Is that the expected behavior? @ivanmalagon

It's not but it is what it is. The API returns two buckets, one of them empty. At least in that case if filtering is consistent with the points it's good enough.

Related ticket to that https://github.com/CartoDB/Windshaft-cartodb/issues/732

This is a tricky one, using
1970-01-01T00:00:00Z
1970-01-01T01:00:00Z

with this parameters

results in this, it says there are two buckets, with one point in each one, but when filtering there is none in the first bucket but two in the second one

I can't find anything else besides the current known bug :)

Bug mentioned above in https://github.com/CartoDB/cartodb/issues/13070#issuecomment-344228542 fixed with the closing of Windshaft #792


replace @class to @__PURE__ annotation.

see https://github.com/mishoo/UglifyJS2/issues/2279

That’s unfortunately not a safe operation.  All classes are not guaranteed to be side effect free.  The build optimizer currently analyzes the code structure to determine the presence of a downlevel class and further work is being considered to determine the presence of potential side effects to improve the safety of the optimization.
It’s also important to note that the use of pure is a misnomer in this situation and an unnecessary threshold for the intended optimization.


Artboards Overlapping

On version 41, when generating the icon artboards, they're overlapping.

Please check issue #19, that's happening when it's not on the first page of Sketch document.


Improve autocomplete according to Node.js docs

Hello,
my suggestion is to improve autocomplete according to Node.js docs, because sometimes it lacks of autocomplete in some places, for e.g.
const dgram = require('dgram');
const server = dgram.createSocket('udp4'); // There's no autocomplete for udp4 and udp6

This is not only this place, there are more.

Tracked upstream by: https://github.com/DefinitelyTyped/DefinitelyTyped/issues/16712
Please open any further core node module typings issues against DefinitelyTyped

@mjbvz Thank you very much for letting me know and opening the issue! :heart:


No "Connection Refused" error or exception anywhere

From the command line:
$ curl <IP_ADDRESS>:1234
curl: (7) Failed to connect to <IP_ADDRESS> port 1234: Connection refused

But from typhoeus:
>>> response = Typhoeus.get("<IP_ADDRESS>:1234")
...
return_code=>:couldnt_connect
...

It seems no where in the output is there anyway to find out the cause of typhoeus failing to connect other than a not very description :couldnt_connect
Any ideas how to access the real reason "Connection refused" from typhoeus?

There is also return_message which is like a description.

Doesn't help either, similar "couldn't connect" message without saying the connection was refused :(
[4] pry(main)> response.return_message
=> "Couldn't connect to server"

Thats all I know. Btw what is the difference?

"Connection Refused" means there is nothing listening on the port and the server has refused the connection, "Couldn't connect" could mean anything - maybe the server is not pinging at all, maybe the server is silently dropping the request, maybe the web server is responding too slowly, etc - so if there is an intermittent issue it would be difficult to figure out what is going on from the logs.

Thanks for the explanation although I still don't understand how all these things are different from a client perspective.
On the libcurl error page it also mentions Error 7 (which is the number from your curl output):

CURLE_COULDNT_CONNECT (7): Failed to connect() to host or proxy.

Which indicates that it is the same after all.

I'm looking for an HTTP library to use to communicate between RESTful services. When something goes wrong - as it often does with my code, heh - it helps to know what it was by looking at the logs and "couldn't_connect" is not very helpful/useful :(
Even an exception like Errno::ECONNREFUSED would be more helpful than a generic error which doesn't say very much.

It sounds like Typhoeus might not be what you are looking for.

Typhoeus doesn't raise exceptions like these on purpose btw.

I prefer not to have exceptions too, but I need some kind of information as to why the request failed :(

There are plenty in Typhoeus - more in any other client I know. I think your example is impossible to tell apart for clients. Even your example
$ curl <IP_ADDRESS>:1234
curl: (7) Failed to connect to <IP_ADDRESS> port 1234: Connection refused

is basically saying the same like Typhoeus. Which is not surprising since they are using the fundamentals: libcurl.

It isn't, it's saying "Connection refused" - that is the bit I am after but I cannot get it in typhoeus - "Connection refused" is very descriptive, it says the operating system refused the connection to the port.
"couldnt_connect" says nothing. Why couldn't it connect?

Yes it is not saying the same. But the error number points to the same underlying problem: couldnt_connect.
I think you are mistaken and this is the same error you get in Typhoeus. I also think it is impossible to tell if the connection was refused or if it wasn't able to connect.

@hackeron Have a look at: http://curl.haxx.se/libcurl/c/libcurl-errors.html
There's no "connection refused" error code for these cases, just CURLE_COULDNT_CONNECT.
The CLI curl client probably provides that message when that error code is encountered, as it's probably making the assumption the only reason for that error would be a refused connection. Otherwise it would have been CURLE_COULDNT_RESOLVE_HOST or some other code.
Typhoeus simply forwards the information libcurl is giving it and from a programmatic perspective that's what it should be doing.
The discrepancy between the libcurl codes and the curl CLI client is interesting though, but that's not an issue with Typhoeus.

Not true, it is not making an assumption. For example, even when a connection times out in Typhoeus, it still does not return the reason for why it could not connect:
>>> response = Typhoeus.get("<IP_ADDRESS>:1234")
:return_code=>:couldnt_connect
>>> response.return_message
=> "Couldn't connect to server"

On the other hand curl, wget, telnet, etc, etc and several ruby HTTP libraries I tried all give you a reason, some examples:
$ curl <IP_ADDRESS>:1234
curl: (7) Failed to connect to <IP_ADDRESS> port 1234: Connection refused
$ curl <IP_ADDRESS>:1234
curl: (7) Failed to connect to <IP_ADDRESS> port 1234: Operation timed out

$ telnet <IP_ADDRESS> 1234
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: Connection refused
telnet: Unable to connect to remote host
$ telnet <IP_ADDRESS> 1234
Trying <IP_ADDRESS>...
telnet: connect to address <IP_ADDRESS>: Operation timed out
telnet: Unable to connect to remote host

$ wget <IP_ADDRESS>:1234
--2015-03-16 18:51:09--  http://<IP_ADDRESS>:1234/
Connecting to <IP_ADDRESS>:1234... failed: Connection refused.
$ wget <IP_ADDRESS>
--2015-03-16 19:02:16--  http://<IP_ADDRESS>/
Connecting to <IP_ADDRESS>:80... failed: Operation timed out.

I think this is quite a serious omission in typhoeus that needs to be addressed (even if outside of libcurl). Because except for this issue, this libraries is perfect for my use.

You are correct on that front, sometimes it returns operation_timedout and others couldnt_connect, but @i0rek is better suited to answer why that is.
I do believe that this issue is separate from your original one as there doesn't seem to be an error code for a refused connection in libcurl in the first place.
I'd also quite like to know about the inconsistent return codes for timed out operations though.

Thank you :) - I edited the title and description to better reflect the issue I am seeing - I am actually not seeing operation_timeout at all, it's returning couldnt_connect for tcp connection timeouts.

I remember it doing that and there's code in my system to account for that behavior (checks for both operation_timedout and couldnt_connect to identify time-outs) so I guess there must have been a reason.
There are multiple phases during each request that can time-out so I guess it depends on when it happens. There may be a DNS resolution timeout, a connection timeout, an HTTP response time out or the combination of all those operations violating the given timeout.


ci: add dependabot

:tada: This PR is included in version 1.0.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Documentation/Missing feature for nested components and static.willTransitionTo

I have this nested structure:

App

Page/:page handler=Page
Other

And both App, and Page have static.willTransitionTo then:
A) The first time I arrive to the page both App and Page static.willTransitionTo will be called;
B) Now when I move from Page/1 to Page/2 only the Page static.willTransitionTo will be called;
C) If I change from Page/2 to Other both App and Page static.willTransitionTo will be called;
I would expect in scenario (B) the App's static.willTransitionTo to be called too because of (C) and also because that is what the docs says:

Called when a handler is about to render, giving you the opportunity to abort or redirect the transition. You can pause the transition while you do some asynchonous work and call callback(error) when you're done, or omit the callback in your argument list and it will be called for you.

Thanks
Related to: https://github.com/rackt/react-router/issues/1630

which version?

v0.13.3

every route component that was not already mounted should get willTransitionTo, and every route component that was mounted but is no longer mounted should get a willTransitionFrom.
the code base has moved a long way from this so I need to close it, but if you feel like digging into the 0.13.x branch to fix anything you might find we can merge and cut a release.


Replace straight quotes in curly quotes

This commit replaces several straight quotes with their curly
equivalents, to match the rest of the design system documentation.
Straight quotes have been retained when they have been in a technical
context, such as code comments or as string delimiters.
This follows the guidance set out by this 2015 blog post:
https://designnotes.blog.gov.uk/2015/09/16/tips-for-creating-good-typography/
For more information, see https://practicaltypography.com
This commit ignores that of Markdown for the reasons given at:
https://github.com/alphagov/govuk-design-system/pull/952#issuecomment-509230660
cf. #952

You can preview this change here:
Built with commit 851dbcc65e58b139fac55ac44cf734d1296bca0e
https://deploy-preview-955--govuk-design-system-preview.netlify.com

Thanks for your patience with this once, nice work getting these consistent.


chore: Property pane design changes

Description
Resolves issues regarding property pane search

/ok-to-test sha=4870dcc

/ok-to-test sha=6597523

/ok-to-test sha=ca371ab

/ok-to-test sha=9a5d5c6

/ok-to-test sha=fb0279e

/ok-to-test sha=84b93aa

/ok-to-test sha=00c2f00

/ok-to-test sha=e4ae219

/ok-to-test sha=7f994e2


Weekly Patch Release v1.5.5

What does this PR do?
Contains all bugfixes to be released next week. As bugfixes get merged to master, they will get cherry-picked into this branch by the individual author (core) or on-caller.
For staff/core: The new release guide is here.
gh pr list -s merged -S 'merged:2021-12-01T18:30:00.000Z..2021-12-07T18:30:00.000Z' --json mergedAt,milestone,url,mergeCommit,title --jq 'sort_by(.mergedAt) | reverse | .[] | select((.milestone.title ==
"1.5.x") or (.milestone.title == null)) | [.mergedAt, .url, .mergeCommit.oid, .title] | join(" ")' --limit 100

Does your PR introduce any breaking changes? If yes, please list them.

Before submitting

[x] Was this discussed/approved via a GitHub issue? (not for typos and docs)
[x] Did you read the contributor guideline, Pull Request section?
[x] Did you make sure your PR does only one thing, instead of bundling different changes together?
[x] Did you make sure to update the documentation with your changes? (if necessary)
[x] Did you write any new necessary tests? (not for typos and docs)
[x] Did you verify new and existing tests pass locally with your changes?
[x] Did you list all the breaking changes introduced by this pull request?
[x] Did you update the CHANGELOG? (not for typos, docs, test updates, or internal minor changes/refactorings)

PR review
Anyone in the community is welcome to review the PR.
Before you start reviewing make sure you have read Review guidelines. In short, see the following bullet-list:

[x] Is this pull request ready for review? (if not, please submit in draft mode)
[x] Check that all items from Before submitting are resolved
[x] Make sure the title is self-explanatory and the description concisely explains the PR
[x] Add labels and milestones (and optionally projects) to the PR so it can be classified

Did you have fun?
Part of #1

Awesome, thanks @rohitgr7 for opening it!

I will mark it ready for review already, to enable the full CI to run here.