Two ReactART TODOs implemented on Android

Implemented 2 TODOs from ReactART for Android:

TODO(7255985): Use TextureView and pass Surface from the view to draw on it asynchronously instead of passing the bitmap (which is inefficient especially in terms of memory usage)
TODO(6352067): Support dashes in ARTShape

We use ReactNativeART in our Android project.

Our app crashes sometimes on large screen smartphones with OutOfMemoryError. Crashes happen in ARTSurfaceShadowNode where TODO(7255985) was suggested in a comment in order to use memory more efficiently.
We needed dashes for drawing on ARTSurface.

Test plan (required)
I attach a screenshot of our app which shows dashed-lines and two ARTSurfaces on top of each other rendering exactly the same as in the pervious implementation of ARTSurface.

By analyzing the blame information on this pull request, we identified @spicyj and @emilsjolander to be potential reviewers.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@tepamid updated the pull request - view changes

@sebmarkbage, when will you be able to check my PR?

Sorry, I'll take a look next week.

@sebmarkbage, a friendly reminder.

Thanks for doing this!
I haven't used these APIs in the past - @foghina Are you familiar with TextureView and related APIs or do you know anyone who is? :)

I integrated this PR into a custom build of ReactAndroid and it's used in my app's production version. It gave a significant FPS speedup while drawing on ARTSurface, so drawing performance in Android got roughly on par with its iOS counterpart.
Although sometimes IllegalArgumentException is reported while unlocking canvas. I'm investigating this issue and will update this PR accordingly in a while.

It's been a while since the last commit was reviewed and the labels show this pull request needs review. Based on the blame information for the files in this pull request we identified @emilsjolander as a potential reviewer. Could you take a look please or cc someone with more context?

@tepamid it is great! but there seems to be some merge conflicts now

Hey, what's the status of this?

@tepamid did you get rid of the random IllegalArgumentExceptions?

@foghina I couldn't reproduce IllegalArgumentException myself, the code works fine. However in our production exception trackers (Raygun and Google Analytics) I rarely see that some users do face IllegalArgumentExceptions. Even more strange is that there are cases when the Surface is valid and can be successfully locked before drawing, but after drawing while unlocking the Surface IllegalArgumentException is thrown.
I googled this case and found a "holy-war" in stackoverflow whether adding try-catch around Surface locking-unlocking is a dirty hack or a reliability necessity. I personally tend to think it's a hack, but otherwise the app crashes which is even worse.
Finally, I ended with adding try-catch to handle random IllegalArgumentExceptions.

@tepamid nice, thanks for the summary.  Does the app end up in a bad state, or does the next draw go through correctly?

@foghina before I had a synthetic testcase which reproduced IllegalArgumentException in drawing on ARTSurface. An exception happened when I navigated between app screens and the screen containing ARTSurfare was unmounted. I suspect that native Android TextureView can be unmounted during drawing process putting surface handle (i.e. Canvas or Surface) into an invalid state even after the surface had been previously locked. So there won't be any more render cycles for this unmounted component and therefore lockCanvas attempts.
Also exceptions occur either in lockCanvas or unlockCanvas methods. And not during drawing shapes on a canvas.

Cool, thanks for the explanation! I'll go ahead and try to land this.


Support PT_FD param types when converting to json/string

No filterchecks have PT_FD params, but it's possible to have an
evt.arg.fd param for many syscalls and that could be printed in output
fields.
It's a 64 bit int so just add it to the sections that work with that
underlying type.
Signed-off-by: Mark Stemm<EMAIL_ADDRESS>
What type of PR is this?

Uncomment one (or more) /kind <> lines:

/kind bug

/kind cleanup

/kind design

/kind documentation

/kind failing-test

/kind feature

Any specific area of the project related to this PR?

Uncomment one (or more) /area <> lines:

/area build

/area driver-kmod

/area driver-ebpf

/area libscap

/area libsinsp

/area tests

/area proposals

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Support PT_FD param types when converting to json/strings.

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: mstemm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [mstemm]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

You're on fire 🔥 man!
Thanks for this! I agree with you, it makes sense to me!

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: FedeDP, mstemm
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS [FedeDP,mstemm]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

LGTM label has been added.  Git tree hash: ed0ae0dce237adc318a131ed806cadbdefb9c520

/test build-libs-with-chisels

/retest


[Improvement] Parse URI when pasted into address field

When pasting a URI into the address field, all information should auto fill, address, amount, etc.
I was unable to find a patch upstream which does this
Please see video: https://www.youtube.com/watch?v=1lIPihP1S_E for the UX electrum dash has and the current UX that Dash Core has.

There is also the "File -> Open URI..." action in the menu to paste URI's in a more convenient way compared to how he is doing it in the video.

If we still want to have the "Paste an URI into the address field" thing i can add this for sure. Other opinions?

Yep, "Open URI" does exactly this - parses URI and fills all the fields. But I agree, parsing an URI pasted into "Pay To" would make user experience a bit (much?) better.


TrayNotification

I copied the sample code and actually recieve a message.
PushPlugin.onMessageReceived(function callback(message, data, notification) {     });
However, my first parameter is null, the second one contains the data I actually need.
My console log:
02-13 16:29:00.040 14012 14101 W System.err: org.json.JSONException: No value for message 02-13 16:29:00.040 14012 14101 W System.err: 	at org.json.JSONObject.get(JSONObject.java:389) 02-13 16:29:00.040 14012 14101 W System.err: 	at org.json.JSONObject.getString(JSONObject.java:550)
How do I manipulate Notification (message and action)?
I'm using 0.1.2

can someone help me with this please?

@philippsander At some point and depending on your payload, the message parameter will be empty. Please read more here - https://github.com/NativeScript/push-plugin#receive-and-handle-messages-from-fcm-on-android
If there is further ambiguity or uncertainty let me know the payload you are sending and I will try to help you out.
Happy coding!

sorry... I don't understand how to use it.
`PushPlugin.onMessageReceived(function callback(message, data, notification) {
});`

this is my method. How am I supposed to change the message of the notification?

@philippsander
Philip, here are some more explanations. However, you need first to be examine the payload sent to your app and what you would like to handle.
For example, payload for Android consists of a JSON object that contains either a data or notification keys in it, or both.
Utilizing the callback parameters depends on what you are sending with the payload. The message argument is usually precooked for you if there is a message key in the data payload. For full experience usually you need to leverage the second and third parameter depending on the payload and the app state (more in the documentation link from my previous reply). That is why I asked for your payload.
Example:
{
    "data":{
        "title":"my title",
        "message":"my message", // will be populated in the first argument of the callback
... other keys
    },
   "notification": {
   // as per the docs https://firebase.google.com/docs/cloud-messaging/concept-options
    }
}

Regards,
Anton

The firebase system is coming from someone else. I need to manipulate the notification in my app if possible. is that possible or not?

@philippsander
Yes, you can leverage the data and notification arguments of the callback:
PushPlugin.onMessageReceived(function callback(message, data, notification) {

});`

I feel so stupid.... how?!
data is a string... message and notification are null

i just want to change the message of the notification from within my app... it can't be that hard.

@philippsander To be honest, initially I did not get right your question.
According to your payload, your app will receive in the second argument of the callback an object with the following keys: Header, Body, and the plugin set property foreground. However, the entry in the tray will note feature any title or message because the plugin is expecting them as "title" and "message" keys in the data payload.
To change the title and message you have the following two ways. Note that you cannot change them from the app because the notification is already processed as of that moment in time (however, you should be able to create with the native APIs a new notification and place it in the tray if you need to).

From the server:

Set the title and message keys in the data payload (the plugin is designed to set them in the tray):

{
    "data":{
        "title":"title 1",
        "message":"message 1"
    }
}

set the title and body of the notification:

{
    "notification":{
        "title":"my title",
        "body":"my message"
    }
}

From the plugin native code:

As you can see in the native code here the tray's notification is built there with title and message. You can use default values if you need to by modifying the plugin.
I hope this answers your question.
Some further notes:
The plugin automatically handles some keys in the data object like message, title, color, smallIcon, largeIcon and uses them to construct a notification entry in the tray. More information on these keys is available in the documentation of the Telerik Platform Notifications service documentation article.

I think it would be a handy feature to be able to modify the msgData.
beforeMessageReceived for example


Added Colorization/Brace Matching Roslyn Services

/cc @Microsoft/fsharp-compiler @jasonmalinowski @CyrusNajmabadi @dsyme

Great work.

Addressed comments.
@jaredpar @dsyme can you please comment on the open comments?

I like this, nice work.

Shouldn't [< >], [| |], <@ @> <@@ @@>  brace pairs be included too?

Modifying the cache to hold lex states for each line, to allow partial parsing per @dsyme comments.

What's the red in appveyor? https://ci.appveyor.com/project/KevinRansom/visualfsharp-radou/build/<IP_ADDRESS>2

@dsyme  it is because I'm building against a non-shipped version of Roslyn (on myget), which has internals exposed to F#, so the nuget packages expire quickly. Later on when we have a more stable nuget package, I'll switch this F# branch to use it.

@otawfik-ms can you add the myget feed in Nuget.config? that should fix appveyor, and local build too.
If this project is really open source, all dependancies should exists outside microsoft (binaries or sources), otherwise it's not open source, it's a code dump /cc @KevinRansom @NumberByColors

@enricosada myget is already out and public :) Roslyn uses it for daily builds, and it is added to this branch's nuget config:
https://github.com/Microsoft/visualfsharp/blob/roslyn/.nuget/NuGet.Config
The issue is that we are still depending on the daily builds on Roslyn, and they expire quickly (myget deletes older packages, nuget holds them forever).
Devs working on this branch need to consistently update their packages.config with newer versions, until Roslyn merges these changes into a stable branch and produce a permanent nuget package for us to use.

Looks ok to me.


applier: allow ignoring errors (and report them as warnings)

Some errors during apply are expected and can be handled on the caller side:

EPERM from mknod when running in userns

caller would just ignore

EINVAL from chown when running in userns and uid_map/gid_map does not contain sufficient entries

caller would ignore or set user.rootlesscontainers xattr value

This change is intended be used for https://github.com/jessfraz/img
cc @jessfraz

Changes
gRPC API change:
diff --git a/api/services/diff/v1/diff.proto b/api/services/diff/v1/diff.proto
index 66d7ecb1..843d6957 100644
--- a/api/services/diff/v1/diff.proto
+++ b/api/services/diff/v1/diff.proto
@@ -25,6 +25,7 @@ message ApplyRequest {
        containerd.types.Descriptor diff = 1;

        repeated containerd.types.Mount mounts = 2;
+       bool continue_on_error = 3;
 }

 message ApplyResponse {
@@ -32,6 +33,14 @@ message ApplyResponse {
        // If the input was a compressed blob then the result will be
        // the descriptor for the uncompressed blob.
        containerd.types.Descriptor applied = 1;
+       // warnings is available only when ApplyRequest.continue_on_error was true.
+       repeated ApplyWarning warnings = 2;
+}
+
+message ApplyWarning {
+       string path = 1;
+       string warning = 2;
+       // TODO(AkihiroSuda): add errno and syscall name? (optional)
 }

 message DiffRequest {

Go API change:
diff --git a/diff/diff.go b/diff/diff.go
index 2b6f01c7..c6734dc5 100644
--- a/diff/diff.go
+++ b/diff/diff.go
@@ -51,6 +51,18 @@ type Comparer interface {
        Compare(ctx context.Context, lower, upper []mount.Mount, opts ...Opt) (ocispec.Descriptor, error)
 }

+// ApplyErrorHandler handles apply errors.
+// Apply stops if the handler is set and returns non-nil error.
+type ApplyErrorHandler func(name string, err error) error
+
+// ApplyConfig is used to hold parameters needed for an apply operation
+type ApplyConfig struct {
+       OnError ApplyErrorHandler
+}
+
+// ApplyOpt is used to configure an apply operation
+type ApplyOpt func(*ApplyConfig) error
+
 // Applier allows applying diffs between mounts
 type Applier interface {
        // Apply applies the content referred to by the given descriptor to
@@ -58,7 +70,7 @@ type Applier interface {
        // implementation and content descriptor. For example, in the common
        // case the descriptor is a file system difference in tar format,
        // that tar would be applied on top of the mounts.
-       Apply(ctx context.Context, desc ocispec.Descriptor, mount []mount.Mount) (ocispec.Descriptor, error)
+       Apply(ctx context.Context, desc ocispec.Descriptor, mount []mount.Mount, opts ...ApplyOpt) (ocispec.Descriptor, error)
 }

 // WithMediaType sets the media type to use for creating the diff, without
@@ -87,3 +99,11 @@ func WithLabels(labels map[string]string) Opt {
                return nil
        }
 }
+
+// WithApplyErrorHandler sets ApplyErrorHandler
+func WithApplyErrorHandler(onError ApplyErrorHandler) ApplyOpt {
+       return func(c *ApplyConfig) error {
+               c.OnError = onError
+               return nil
+       }
+}

(almost) Full change: https://github.com/containerd/containerd/compare/master...AkihiroSuda:apply-warn.20180226?expand=1

This is super dope.
Also so sorry I intend on moving all that stuff upstream. I just wanted to find a way out of the hole I made for myself first but seriously it goes against all my morals what I did.
Updating the apply logic to have a callback makes sense, I am not sure about updating the GRPC API though. Not sure if we are trying to support the daemon to be run non-root at this time. In the diff case though, the client does not need the daemon at all and the diff service is just there as a helper/optimization. This logic can be used as non-root by the client instead of calling a GRPC service.

Those are really weird fields for an API.  It kinda feels like brute forcing it to do what you want.  Wouldn't these settings be better as daemon level options on the differ services?

What this is proposing I'm not sure I need. I kinda just turned off
mounting all together.
I can give more details when I have more time but I basically just replaced
the mount temp function with something that doesn't mount
On Mon, Feb 26, 2018 at 12:03 Michael Crosby<EMAIL_ADDRESS>wrote:

Those are really weird fields for an API. It kinda feels like brute
forcing it to do what you want. Wouldn't these settings be better as daemon
level options on the differ services?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/containerd/containerd/issues/2158#issuecomment-368628181,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABYNbDsxwaN1gRt64bhBEfPCVGA7AgpZks5tYwuVgaJpZM4STESh
.

--
Jessie Frazelle
4096R / D4C4 DD60 0D66 F65A 8EFC  511E 18F3 685C 0022 BFF3
pgp.mit.edu http://pgp.mit.edu/pks/lookup?op=get&search=0x18F3685C0022BFF3

Do these errors only occur in the rootless scenario?

I haven't investigated deeply yet, but potentially even the root in the initial namespace may face errors:

unsupported timestamp (e.g. day after Apr 25, 2514 on ext4)
certain xattrs, probably

Not sure if we are trying to support the daemon to be run non-root at this time.

I think we can begin experimental support for rootless mode, and it should be benefical for hardening security.
What we need substantially on containerd are only this proposal and some runc flag modification (https://github.com/containerd/containerd/pull/2006).

Wouldn't these settings be better as daemon level options on the differ services?

I have once considered that, but I think we should have interface for propagating warnings to the client, especially for allowing client to set user.rootlesscontainers xattr. (If we can implement user.rootlesscontainers xattr on this repo, it is even better for me, but it might be controversial at this time)
If this gRPC proposal is weird we could use event API, but I'm not sure event API is suitable for this.

What this is proposing I'm not sure I need. I kinda just turned off
mounting all together.

This proposal is not only for jessfraz/img.
I have even plan to run Kubernetes without root privileges.

I'm officially a NOTLGTM for the API changes with warnings.  Things either fail or they work, I don't like some middle state.  As a consumer what am I supposed to do with a warning?  Did it work or what am I supposed to do to resolve this?  I think it just adds more confusion for everyone especially when you are designing an API for 1 specific usecase.

OK, withdrawing gRPC API part for now.
I still think Go part might be useful, but if we can't make this gRPC API change, even Go part won't work for diffRemote (https://github.com/containerd/containerd/blob/master/diff.go) .
So I'm closing this issue, but maybe reopen for Go part after some consideration.
W.r.t. mknod issue, I found it is already being attempted to ignore in https://github.com/containerd/containerd/blob/25c403415aa99d0f3a609043429f3d24c8b70c0c/archive/tar_unix.go#L99-L123
However, it seems broken, as ctr images pull docker.io/library/ubuntu:latest fails with lchown /home/suda/.local/share/containerd/tmpmounts/containerd-mount363494842/dev/agpgart: no such file or directory.
I'll open a PR to fix this bug later.
W.r.t. chown issue, if I'm going to implement user.rootlesscontainers xattr, probably I'd (initially) implement it as another differ plugin.

opened https://github.com/containerd/containerd/pull/2163 for mknod


[FLINK-28485][doc] Structure examples better and add README/doc

What is the purpose of the change
Create a README.md file for the examples. Describing the usage of those.
Brief change log
Some descriptions, and usage examples
Verifying this change
This change is a documentation change without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): no
The public API, i.e., is any changes to the CustomResourceDescriptors: no
Core observer or reconciler logic that is regularly executed: no

Documentation

Does this pull request introduce a new feature? no

Thanks for the review @mbalassi, @bgeng777 and @gyfora for the merge!


IE support?

Hey, I'm interested in using this! But I noticed the builds have been failing for IE. Sorry I haven't tested myself, but is this indicative of IE support or should it be good to use?

Hey, it's been working until I upgraded to the latest isomorphic-fetch. It's top of my list to work on right. Will let you know when its fixed (Hopefully day or two)

IE Support is now back. Technically it never went away, it was just the tests were broken


Update doesn't seem to work

This is with a fresh download a few minutes ago.

Here's using the extended command as I interpreted it.

Should be just .\ark-tools.exe updateData without the duplicate Update in there.
I'm planning to add an update command once the jar is signed.

Doh. My bad :)


Keep Websocket Connection open while App is in Background Mode

As the title says, how am I able to keep the connection open and receive messages even when the app is in the background? Because now, everytime i set it to background or i lock my iPhone and unlock it, the websocket gets disconnected.
I've already found a solution and it says i should enable Voip in my Info.plist and then just do socket.voipEnabled = true, but it then says that Websocket does not have the member voipEnabled.
Does anyone have a quick example on how to run Websocket in background?
Thanks in advance

@texasexile is correct. See issue #309 for more information on this.


Enforce test coverage

Require each PR to have at least 80% unit test coverage
fixes #577

Added as a phar due to the composer issue not being sorted, when that PR is moved this can be moved to composer instead. Trying to avoid a merge issue


refactor(fee): removed bouncer resources field from tx execution info

This change is

Codecov Report
Attention: Patch coverage is 78.26087% with 5 lines in your changes are missing coverage. Please review.

Project coverage is 72.43%. Comparing base (39d0131) to head (2bfd635).

Files
Patch %
Lines

crates/blockifier/src/transaction/objects.rs
75.00%
0 Missing and 2 partials :warning:

crates/blockifier/src/fee/gas_usage.rs
0.00%
0 Missing and 1 partial :warning:

crates/native_blockifier/src/py_block_executor.rs
0.00%
1 Missing :warning:

...ve_blockifier/src/py_transaction_execution_info.rs
0.00%
1 Missing :warning:

Additional details and impacted files
@@                      Coverage Diff                      @@
##           dori/refactor-actual-cost    #1696      +/-   ##
=============================================================
- Coverage                      72.49%   72.43%   -0.07%
=============================================================
  Files                             59       59
  Lines                           8730     8717      -13
  Branches                        8730     8717      -13
=============================================================
- Hits                            6329     6314      -15
- Misses                          1922     1924       +2
  Partials                         479      479

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


Place new layers in tree based on layer selection

Implements #490.
I wasn't sure where to place the new get_new_layer_location fn since im not too familiar with the codebase yet,
so its sitting in editor/src/viewport_tools/tools.rs for now. Maybe some kind of utility module would be better.

https://github.com/GraphiteEditor/Graphite/pull/526/commits/7976f3ab49207ef9bf282b91b187c0ee90652496 implements the changes suggested by @TrueDoctor and also applies the new insert functionality to the text tool (#490 didnt ask for this but i think it makes sense)


Link to KeDeregisterBugCheckReasonCallback actually links to KeDeregisterBugCheckCallback

In the text that says "Drivers can use the KeDeregisterBugCheckReasonCallback routine to remove the bug check callback registration". The hyperlink for KeDeregisterBugCheckReasonCallback  actually goes to https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-kederegisterbugcheckcallback which is NOT the correct function to deregister a bugcheck reason callback. The should link to https://docs.microsoft.com/en-us/windows-hardware/drivers/ddi/wdm/nf-wdm-kederegisterbugcheckreasoncallback. This may cause a developer to use the wrong function. The system can then crash if an unloaded driver is reloaded, giving the bugcheck "SYSTEM_SCAN_AT_RAISED_IRQL_CAUGHT_IMPROPER_DRIVER_UNLOAD (d4)
A driver unloaded without cancelling lookaside lists, DPCs, worker threads, etc."

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 831ec76c-5bf3-15ef-1ef9-229e9521816b
Version Independent ID: e69d0496-53f6-abc4-b1ab-84cf20051d8a
Content: KeRegisterBugCheckReasonCallback function (wdm.h) - Windows drivers
Content Source: wdk-ddi-src/content/wdm/nf-wdm-keregisterbugcheckreasoncallback.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

@jcbottorff-ampere - Thanks for filing this issue, as this was an error in the docs. I updated the topic, so that the link goes to the correct target - KeDeregisterBugCheckReasonCallback. Thanks again for filing this issue, and good luck with your work on bugchecks.


Community link is fixed DevOps section

After reading the contribution guide, I have fixed the community link in the DevOps section. This issue was already reported.
I have opened this PR. Please review this PR.
Thanks

@smoeinbbp Please merge it as it approved for more than 3 weeks. Thank you


Broken links in README

It's hard to navigate from the titlepage

Sorry,
I am changing packet organization, should have it fixed by tomorrow.
Thanks

@Ferrine
Hi ,
I made some updates , will add links to ipython notebooks later
Thanks!


Support tails in Hapi

As described by @AdriVanHoudt on PR PR 379:
"In hapi there is a concept of tails where you can still do stuff in your handler after you replied.
In this case you end the span when you call reply. I have some routes where I do some queries after replying for performance reasons and it would be great if those queries would also end up in the trace of that request.
Would it be possible to integrate this? You have access to the full request object on that event and it is fired only once per request.
See https://github.com/hapijs/hapi/blob/master/API.md#server-events and https://github.com/hapijs/hapi/blob/master/API.md#requesttailname for more info.
And https://pbs.twimg.com/media/CL-bp3_W8AAimRi.png:large for a nice overview of how the hapi lifecycle works"

Thanks, do you have any initial comments on it? Do you think the proposed change would be ok?

At first glance, this looks like a good addition but we will want to make sure it is clear in generated spans when a response is sent to the user. Currently, the trace service/UI require that all child spans end before the root span associated with the request. We could make this work for tails by introducing a new root span which tracks the time from receiving a request to finishing all associated tails with a child span for tracking time between receiving a request and sending a response and a separate child span tracking time spent in the tails.
At the moment, we are working to port our existing instrumentation to the new plugin api that you've seen in recent pull requests. For now we are focused on getting the new plugins up to feature parity with the old instrumentations. Once we're finished porting these instrumentations, we can switch back to adding support for new features such as this.

This seems blocked by #794


Improve article 2305.15852

Exact location of issue
Article content is missing.
Problem details
The conversion log suggests that iclr2024_conference.sty and soulutf8.sty need new support for latexml.

Thank you for the report. I have updated the description with the technical problem.


Bug 2

Different topic title.
https://store.steampowered.com/app/440000/Portal_2_Community_Edition/
https://cs.rin.ru/forum/viewtopic.php?f=10&t=131898

Looks like the script appends text "Cracked easily" when there are no other tags after topic title. I'm not sure if it's correct behavior because there can be games that are not cracked but does not have a tag (especially new ones).

Yes, it's true, I really didn't know what to write instead, and that's the case for most games that don't have anything written down, that's why...

concerning the @dogan bug, it's "normal". It's the same bug as the first issue.

For anything with this square, the script currently does not work

It's not really a duplicate of #5 because in #5 the problem is with searching of the topic on rin, and here the problem is that the tag added to game name on Steam/SteamDB ("Cracked easily") is not the same as tag present on rin (no tag at all).
At the moment I can see two possible solutions to this:

remove this "Cracked easily" tag from Steam/SteamDB (as it can be misleading in some cases)
explain this behavior in Readme

Personally I'd opt for 1.

Leave the Cracked easily written part 😢


ntr: reduced actin patch localization to non-growing cell end   PMID:10574765

standard def

We've had "decreased actin cortical patch localization at non-growing end" as a related synonym for FYPO:0001397 monopolar actin cortical patch localization to old end for a while. Can you use that term for this phenotype, or should I remove the synonym and add a new term?

It sounds the same, I'll use it!

hooray! I'll add another synonym.


Confusing resolution error message

From this CI failure:

× No solution found when resolving dependencies:
╰─▶ Because pandas-stubs==<IP_ADDRESS>814 depends on numpy>=1.25.0 and you
require numpy==1.24.4, we can conclude that you require==0a0.dev0 and
pandas-stubs==<IP_ADDRESS>814 are incompatible.
And because you require pandas-stubs==<IP_ADDRESS>814, we can conclude that
the requirements are unsatisfiable.

The requirements.txt was generated on a different platform than CI, should be able to reproduce by running pip install on this file, on Ubuntu (though there may be some other marker environments involved).

Fixing the bad error message


TS1256 & TS2574: A rest element type must be an array type.

🐞 Bug Report
Describe the bug

I upgraded a package of mine merge-anything to latest version of ts-toolbelt, but ever since then I cannot build some projects any more that use merge-anything.
Here is the error I'm seeing:

When I follow the error line, it usually points to usage of ...L in your library.

Reproduce the bug
You can clone cycraft/blitzar then do npm run dep:install and lerna exec "build"
Expected behavior
No error
Possible Solution
I'm not sure :D
Screenshots
See above
Additional context
Here is the package.json of merge-anything:
https://github.com/mesqueeb/merge-anything/blob/production/package.json#L49

I think that typescript@4 has not been explicitly set

I see! So, if my project is TS 3, and I want to use merge-anything which has the latest ts-toolbelt, which needs TS 4, then as result, my project will also be forced to use TS 4! :O I get it now.

It's hard to put typescript as a peer dependency - something most people don't want


better error propagate on service handle exit

i'll self-review this

had to merge over borked CI


SDK throws error on asynchronous workflow execution

Context:
when calling execute_async in https://github.com/knix-microfunctions/knix/blob/master/mfn_sdk/mfn_sdk/workflow.py,
it throws "AttributeError: 'MfnClient' object has no attribute 'host'" on bare metal installation when executing:

return Execution(self.client, self.client.host+r.headers['Location'])

Expected Behaviour
execute_async should return an object usable for querying for asynchronous execution results

I think this might have already been fixed in the 'develop' branch.
Need a test to check that.

just checked out develop branch to check - does not fix, the same statement now throws "KeyError: 'location'".

Test added and fixed in 'develop'.

Test added and fixed in 'develop'.

I had also started working on this and fixed different things in frontend.go.
You've pushed this to k-list, can we merge this?


Reorder tasks shortcut

reviving this pr https://github.com/LukeberryPi/phived/pull/71

thanks for the great idea @ranieryrs


Correction for raw affiliation Centre de lutte Contre le Cancer Eugène Marquis  Rennes France; INSERM U1242, University of Rennes, France

Correction needed for raw affiliation Centre de lutte Contre le Cancer Eugène Marquis  Rennes France; INSERM U1242, University of Rennes, France
raw_affiliation_name: Centre de lutte Contre le Cancer Eugène Marquis  Rennes France; INSERM U1242, University of Rennes, France
new_rors: 015m7wh34;02vjkv261;01yezas83;00bf6bf92
previous_rors: 015m7wh34;02vjkv261;01yezas83
works_examples: W4360599811
contact: c8cf8af26e463b59f9279d9ba07368de:9576d3996781273c1df1e5b17fd4f4aa @ univ-rennes.fr

This issue was accepted and ingested by the OpenAlex team on 2024-10-10. The new affiliations should be visible within the next 7 days.


Add rules_jsonnet

Even though we haven't performed a release of rules_jsonnet in ages, it's still seeing some active use. Adding it to BCR is relatively easy, because it mostly just depends on jsonnet and jsonnet_go. The documentation parts depend on skydoc and rules_sass, but those aren't necessary to use the rules themselves.

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

With regards to CI failing, it looks like rules_jsonnet doesn't have any release archives. Only source archives. Anything we need to do about that?


Consider using solc's --standard-json instead of --combined-json

According to this piece of code Saddle is using Solidity's --combined-json option. We are trying to retire this option (see https://github.com/ethereum/solidity/issues/10278), and Saddle is one of the very few tools which still use this functionality.
We suggest to use --standard-json instead, which has been available since 0.4.11. See the documentation for more details.
Removal of --combined-json could happen earliest in the 0.9.0 release.

How?


Proper User Input

Integrity Problems, with user inputs when characters such as ; are used, followed by a command

I've begun to fix this. I added some integrity checks that can ensure that a string is a valid email, and check for non-alphanumeric characters. I haven't been able to do this for all code yet, though.

I added a few more checks. My changes are on the integrity-checks branch. I fixed everything I've seen, but someone will need to review my work.

Jordan, I'm going to have you review my work. I need you to ensure that sufficient checks are done on both client and server side code.


drivers: spi: add Broadcom iProc I2C driver

Add device driver, bindings and build-only test for Broadcom iProc I2C.

Commit message has spi rather than i2c in its title, seems like an oops

Updated commit message and updated the driver to use I2C_DEVICE_DT_INST_DEFINE


BUG: rqt service caller didn't list node turtle1 & turtle2

Windows + ROS2-galactic ros2-galactic-20210616-windows-release-amd64.zip
I followed the instruction from
https://docs.ros.org/en/galactic/Tutorials/Turtlesim/Introducing-Turtlesim.html
to run turtlesim，
D:> ros2 run turtlesim turtlesim_node
D:> ros2 run turtlesim turtle_teleop_key
D:> rqt #(or rqt --force-discover)
unfortunately, when I use  Plugins --> services --> Service Caller， I cannot find turtle1 (or turtle 2 after spawn) in the service combo box as described in 5.2. I can only find /clear  /reset /kill  /spawn services.
I use "ros2 topic list" and can only see the following 2 topics,
D:>ros2 topic list
/parameter_events
/rosout
D:>ros2 topic list --include-hidden-topics
/parameter_events
/rosout
D:>ros2 topic list -v
Published topics:

/parameter_events [rcl_interfaces/msg/ParameterEvent] 1 publisher
/rosout [rcl_interfaces/msg/Log] 1 publisher
Subscribed topics:

However, if I running this example
https://docs.ros.org/en/galactic/Tutorials/Understanding-ROS2-Nodes.html
after "rqt" graphics windows appears, sometimes I can see all the nodes, including my_turtle, teleop_turtle, turtle1, turtlesim in the service combo box.
I also installed ros2-foxy (ros2-foxy-20220208-windows-release-amd64.zip), and I got the similar problems.
It seems the service caller is not stable. Any idea what is going on, and how can I debug this problem?

I also thought I had the same issue, but at some point in time it just worked.

Make sure that in RQT you press refresh (left button next to "Service"), then when you need scroll (!!!) after clicking the down arrow at service.
If that does not work, spawn a turtle: Choose spawn command, change x to 5, change y to 5, change name to "turt99" and press "Call", now try to list the services again. In my case they just showed.


Unable to install python and jupyter extension in VS code

Type: Bug
Need the installation of python and jupyter for vscode , getting the error :
Unable to read file 'c:\Users\vaibh.vscode\extensions\ms-python.vscode-pylance-2024.6.1\package.json'
VS Code version: Code 1.90.1 (611f9bfce64f25108829dd295f54a6894e87339d, 2024-06-11T21:01:24.262Z)
OS version: Windows_NT x64 10.0.22631
Modes:

Thanks resolved myself :)


[Client JS] ajaxErrors doesn't support fetch

Please answer these questions before submitting your issue.

Why do you submit this issue?
[ ] Question or discussion
[ ] Bug
[x] Requirement
[x] Feature or performance improvement

Requirement or improvement
Hi ~ I found that ajaxErrors doesn't contains the errors of fetch, should it be supported ?
By the way, would you please conside to add a params in registermethod, to customize ajaxError, just like some business exception?

PromiseErrors is able to catch fetch errors

PromiseErrors is able to catch fetch errors

PromiseErrors just catches the unhandled rejections,  it won't work if I catched in my code, maybe it's better to create an interceptor?

Let's fix this.


Update README.md

Hey @Anishka0107 we have removed owner part from the README.md since it's no longer used an an argument. Can you sync your fork and submit rest of the changes.

Thanks :)

@Anishka0107  We are rapidly changing our API, therefore some of the points mentioned here are now deprecated.


change

where I can change the basic prop to another need for prop_boombox_01 i tried it but the object is not visible

10/10 PR


Uncaught SyntaxError: Enexpected identifier

Trying to use the example included and receive the error Uncaught SyntaxError: Enexpected identifier in both Chrome and Firefox. Why?
Here is a screenshot

Nevermind, it was due to a minification issue.


Allow per-user installation in installer.

This'll help for when winget requires packages to offer it. Copying this issue to UXL Launcher's repo.

Looks like it just requires {autopf} for the program files path, and commandline dialog for the override permissions field. More info on the autopf thing: https://jrsoftware.org/ishelp/index.php?topic=consts

This is ready for when I change stuff for the installer script. It'll require uninstalling and reinstalling to switch between per-user and for everyone.

Per-user installation is available, but winget still doesn't work with it yet.

Oh wait, I forgot this issue existed when writing #121.


Add Json.traverse* methods

It's similar to Json.map* transformations but with a drop of F[_] : Applicative
We mangle a lot with JSON AST, often in some monadic context. This collection of methods would come in handy.

Codecov Report

Merging #1648 (66477cf) into master (2463517) will decrease coverage by 1.09%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1648      +/-   ##
==========================================
- Coverage   86.13%   85.03%   -1.10%
==========================================
  Files          61       61
  Lines        2423     2453      +30
  Branches      138      145       +7
==========================================
- Hits         2087     2086       -1
- Misses        336      367      +31

Impacted Files
Coverage Δ

...les/core/shared/src/main/scala/io/circe/Json.scala
69.85% <0.00%> (-11.71%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.63% <0.00%> (-0.27%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
87.71% <0.00%> (ø)

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 2463517...66477cf. Read the comment docs.

Codecov Report

Merging #1648 (66477cf) into master (2463517) will decrease coverage by 1.09%.
The diff coverage is 0.00%.

@@            Coverage Diff             @@
##           master    #1648      +/-   ##
==========================================
- Coverage   86.13%   85.03%   -1.10%
==========================================
  Files          61       61
  Lines        2423     2453      +30
  Branches      138      145       +7
==========================================
- Hits         2087     2086       -1
- Misses        336      367      +31

Impacted Files
Coverage Δ

...les/core/shared/src/main/scala/io/circe/Json.scala
69.85% <0.00%> (-11.71%)
:arrow_down:

.../core/shared/src/main/scala/io/circe/Decoder.scala
85.63% <0.00%> (-0.27%)
:arrow_down:

...rc/main/scala/io/circe/numbers/BiggerDecimal.scala
87.71% <0.00%> (ø)

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 2463517...66477cf. Read the comment docs.

Thanks for the PR.  Love the idea.  What do you think of changing the signature though to be a little more flexible.
From:
def traverseBoolean[F[_]](f: Boolean => F[Boolean])(implicit F: Applicative[F]): F[Json]
To:
def traverseBoolean[F[_]](f: Boolean => F[Json])(implicit F: Applicative[F]): F[Json]
I think this would allow more transformation within the monadic context.  This would make it more akin to the with* methods than the map* methods, but you get a greater flexibility.

I think this would a nice set of combinators to have, @sergeykolbasov are you willing to make the changes suggested by @zarthross ?
The boolean case is an example, it would be the same for all the new traverseX functions

mimaErrors are genuine. We do not have these in previous releases, so we need to add exclusions rules here.

:warning: Please install the  to ensure uploads and comments are reliably processed by Codecov.
Codecov Report
Attention: Patch coverage is 0% with 30 lines in your changes missing coverage. Please review.

Project coverage is 85.03%.

Files
Patch %
Lines

...les/core/shared/src/main/scala/io/circe/Json.scala
0.00%
30 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@                Coverage Diff                @@
##           series/0.14.x    #1648      +/-   ##
=================================================
- Coverage          85.13%   85.03%   -0.10%
=================================================
  Files                 76       61      -15
  Lines               2772     2453     -319
  Branches             369      145     -224
=================================================
- Hits                2360     2086     -274
+ Misses               412      367      -45

Flag
Coverage Δ

2.12
?

2.13
?

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

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


[Feature Request] Template should allow us to customize the frontmatter

My notes usually have created and updated fields in the frontmatter as part of the core Templates (which are then kept up to date by obsidian-linter).
It would be nice if the template setting actually included the current frontmatter that's injected by this plugin, so that I can add my own fields (also want to add tags:).
It would be even nicer too if the updated date could be filled in to be the most recent date of all the highlights/annotations that are synced.  As for the created date, maybe it could be set to the oldest date.

Hi Huy,
Frontmatter is integral to the functionality obsidian-hypothesis, and implementing it in a non dangerous way will require deliberation. Are you ok with:

Keeping the doc_type and url frontmatter? It would be much much harder to ditch those
A very rudimentary implementation, you would be writing json like a caveman, no yaml for you!

Still, with those clauses this is absolutely possible and I would be happy to implement it

Actually I don't care about your opinion. Frontmatter here we come!!!!!!

@boehs At first glance, sounds good to me. Any first iteration is a good idea.

Would this allow me to create a template such that the date the page of annotations was created was added to the metadata and not changed/replaced upon subsequent updates? This is what I would like to do in order to automate pulling in "things read on Date X" based on that being that initial date.

Any progress with the possibility to use frontmatter in template? I'd love to have it!

@boehs , is it possible to get the date (of the first annotation and/or the last update) in the front matter?

+1 :)

@weichenw any chance you can take a look? 🙏


Add queue string param to celery task decorator

Could not find the docs for this param, but we have been using it for a while and I believe it's forwarded to apply_async at some level

Thank you!

Thank you the project :sparkles:


Update github action paths

From looking at the docs site (https://rapidsai.github.io/node-rapids/), it seems that the docs use the repo's README.md file for the index page.
This PR updates the GitHub Action that publishes the docs to run anytime the README.md file is changed.

:pray:


feat: Use double quotes in vue file snippets

Updated snippets to use double quotes instead of single quotes in the <script> tag to keep consistency across the template as discussed in this issue :)
I was able to successfully test the changes locally, everything seems to work as expected, here's a small sample test video I recorded:

No need to bump version and create changelog, it will be done automatically when I release package. Can you please remove it?

done!

Thank you!


No connection errors with traffic proxying or disconnect from the network

Hello!
I have an issue with an error observing.
When I disconnect the network on my device or proxy it with Charles, set it up with 403 or Drop Connection for my wss-hosts in the block list, I don't catch any error in Starscream delegates in my Xcode project. No, more: I catch nothing at all.
In Charles logs I receive 403 code in the first case and nothing in the second.
I just want to know how to handle any connection errors in Starscream? Because now it looks impossible.
Starscream (4.0.4)
Xcode 12.5
iOS (Any version of iOS on the Xcode simulator)
Charles v4.6.1
Best wishes,
Andrew.

I have same issue :((


projects running on different jenkins server

I have jobs for  projects running on different Jenkins server. When I configure this plugin at project level, it looks like overwriting credentials. No sure whether the current plugin supports only one Jenkins server!

Hi
Currently only on Jenkins server is supported. I Started to support multiple server but it is still in progress.
The overwritten credentials is handled here: #113
There are some settings stored per project and other on per worksapce or application
I refactor this to use only one of them (with choose the location)
see also: #158, #41

Oh yeah, this plugin is super-cool! But I run against a bunch of jenkins servers at my company. So if you could do this, I'd love it even more (is that possible?).

Yes it is possible but i need some time yet
So I cannot say a date for it. But maybe in next major release

No worries, it's all cake & icing. Patiently looking forward to it.


Failed to load  JuiceFS text file in Notebook

Issue Description
When running byzer-lang with juiceFS, loading JuiceFS text file in Notebook LOAD text.jfs://test/access.log AS nginx_raw_access_log; failed with an exception
2022-02-12 20:37:51,607 INFO job.DefaultMLSQLJobProgressListener: [owner] [admin] [groupId] [6908c4e6-17fb-4c89-b256-5d692a25ed82] __MMMMMM__ Total jobs: 1 current job:1 job script:LOAD text.`jfs://test/access.log` AS nginx_raw_access_log
org.apache.spark.sql.AnalysisException: Path does not exist: file:/mlsql/admin/jfs:/test/access.log
    at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$checkAndGlobPathIfNecessary$4(DataSource.scala:803)
    at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$checkAndGlobPathIfNecessary$4$adapted(DataSource.scala:800)
    at org.apache.spark.util.ThreadUtils$.$anonfun$parmap$2(ThreadUtils.scala:372)
    at scala.concurrent.Future$.$anonfun$apply$1(Future.scala:659)
    at scala.util.Success.$anonfun$map$1(Try.scala:255)
    at scala.util.Success.map(Try.scala:213)
    at scala.concurrent.Future.$anonfun$map$1(Future.scala:292)
    at scala.concurrent.impl.Promise.liftedTree1$1(Promise.scala:33)
    at scala.concurrent.impl.Promise.$anonfun$transform$1(Promise.scala:33)
    at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:64)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1067)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1703)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:172)

Cause analysis
The exception shows real path is file:/mlsql/admin/jfs:/test/access.log.  /mlsql/admin is user admin's home directory, and jfs://test is JuiceFS's scheme name, which is defined in core-site.xml
<property>
  <name>juicefs.test.meta</name>
  <value>mysql://zjc:zjc@(localhost:13306)/jfs</value>
</property>

The realPath logic is in
DslAdaptor.scala
def withPathPrefix(prefix: String, path: String): String = {

    val newPath = cleanStr(path)
    if (prefix.isEmpty) return newPath

    if (path.contains("..")) {
      throw new RuntimeException("path should not contains ..")
    }
    if (path.startsWith("/")) {
      return prefix + path.substring(1, path.length)
    }
    return prefix + newPath
  }

This works for path starting with "/"; but breaks if path starts with jfs:// hdfs:// wasb:// etc.
Proposed Solutions
Code Change
Since Byzer-lang uses HDFS-compatible APi to access 3rd-party storages, The real path format should be <storage_type>://<scheme>/<user_home_path>/<original_path>  .  In the case of juicefs, the real path should be jfs://test/mlsql/admin/access.log  for JuiceFS.
For local fileSystem, the real path is /<user_home_path>/<original_path> .
So the new logic should be:

If original path does not start with "/",  generate real path like:  <stroage_type>:///<user_home_path>/<original_path>
If the original path starts with "/", it's local file system. generate path like: /<user_home_path>/<original_path>.

Personally, I prefer this solution.
Configuration Change
Add config to core-site.xml and change code to LOAD text./access.log;`
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>juicefs://test/</value>
    </property>
</configuration>

Conclusion:
The storage scheme should not exposed to users. Second solution(Configuration Change) is used.


net/mail: ParseAddress error messages don't make sense in some cases

What version of Go are you using (go version)?
go1.10.2 darwin/amd64
go1.10.3 linux/amd64
Does this issue reproduce with the latest release?
1.10 is the latest release
What operating system and processor architecture are you using (go env)?
Primary platform is linux/amd64
What did you do?
net/mail's mail.ParseAddress("some.bogus.email.address.with.no.at")
What did you expect to see?
"No @ in addr-spec"
Even better, an error message that doesn't require domain knowledge of RFC 5322 to be understood.
What did you see instead?
"mail: no angle-addr"
I believe the parser tries parsing an email address without angle-brackets first, and then tries to consume angle brackets. On the second pass, upon not finding angle brackets in the email address, it complains that the address isn't an angle-addr.
In any event, the validation error of: some.bogus.email.address.with.no.at should likely be that it lacks an @ symbol, not that it's not an angle-addr.
See: https://tools.ietf.org/html/rfc5322
I would prefer if error messages were either descriptive enough to be comprehensible by end users, or properly made into package globals so they could be trapped for without string matching, or both.

I've had a look. I'm not sure what we could do here. We can't always return "missing @" in the case where there is no address, as we do want ParseAddress("John Doe") to error like it does now.
The closest fix that comes to mind without altering the error message for that case is to detect when the string given could be a valid addr-spec, if only followed by @domain.
That way, we could have ParseAddress("john.doe") return something like `missing @ or angle-addr'. That seems OK to me, but I wonder what other mail address parsers out there do in this case.
If you have more ideas on how to make this error more comprehensive without handling edge cases, ideas are welcome. I don't think we should mention the @ symbol in the "John Doe" case, as that's clearly wrong.

Another way would be to provide additional API for parsing only email address without name.


update to v2.0.6

@dannysperry @joecorcoran What do you guys think? If this gets merged I can tag and publish (if I have permissions).
thanks

Looks good to me! You have permissions both here and on Rubygems now.

👍https://rubygems.org/gems/judge/versions/2.0.6


Create Docsify Website

You can checkout a live build here.
Let me know what you think 🙃

Like the idea, but we'll have to update the base readme for every new recipe. For this reason, holding off on merging this PR until the majority of recipes have been written.

Sounds goods, that's the reason I've made the PR as a draft. I will also take a look at other alternatives like Docosaurus.


Feature request: Ignore last hours of the day, if hours after midnight are cheaper

Add a configuration option to the script (e.g., rank and price) that allows you to ignore the last hours of the day if there are cheaper hours after midnight.
Problem: When the cheapest hours are checked for each day, there come situations when the relay is turned on for the last hours of the day, but just after midnight, there are even cheaper hours. I use Shelly with a water boiler, and water is getting heated up during the last "expensive" hours of the day, even if it would be okay to delay the heating to the next day as there is not much water usage before midnight.
This picture illustrates the problem.

Possible solution: Make a configuration switch that ignores X last hours of the day (even if they're the cheapest) if there are cheaper hours after midnight. The number of hours checked after midnight should be, e.g., 5-6 (or configurable). I want the heating to be completed during the night.

Yes, you're right! I haven't paid much attention to scripts other than rank and price, but the minimal heating script contains all the necessary features that I now use from the rank and price -script. And as you said, almost always the cheapest hours are almost always between 22 and 07.
It's great that you didn't start to plan over complex features to the rank and price -script :) Keep up the good work!


[Snyk] Upgrade typescript from 4.2.4 to 4.8.4

This PR was automatically created by Snyk using the credentials of a real user.Snyk has created this PR to upgrade typescript from 4.2.4 to 4.8.4.

:information_source: Keep your dependencies up-to-date. This makes it easier to fix existing vulnerabilities and to more quickly identify and fix newly disclosed vulnerabilities when they affect your project.

The recommended version is 551 versions ahead of your current version.
The recommended version was released a month ago, on 2022-09-27.

Note: You are seeing this because you or someone else with access to this repository has authorized Snyk to open upgrade PRs.
For more information:
🧐 View latest project report
🛠 Adjust upgrade PR settings
🔕 Ignore this dependency or unsubscribe from future upgrade PRs

This typescript version are not supported with our current Angular version


Docker build environment

Would you be interested in a Docker based building environment, I was debating on doing something like that, just figured I'd get some feedback before I do it.  Any thoughts on how you'd like it to work/etc

Hi! Sounds great.
Thank you for good idea.
Will you handle this itself?
Do you mean container with Nix build env included or just manual compilation of everything?

At first, I want to get a docker container to build off the kernel itself.  But I'm more than happy to figure out all the details.  I supposed my initial goal is to "just follow your build steps, but automate them in a docker container"  I'll fork the project and spend some time on it this weekend.

I should say, I'm vastly new to NixOS and oversimplified it in my head, I hadn't considered how all the nuance of the tool you're already using.  ehem so ... I just didn't want to have a bunch of stuff installed on my local machine to do the work, and assumed getting it into a docker container is well within my knowledge.
Feel free to tell me if I'm already off course ;)

Great. I had some time so I just sketched:
https://github.com/marmolak/gray486linux/commit/f8c9d8ec0a4bdfa9d8e6e77118e5b1b7202cf9d7
Totally not finished nor tested. However it can be good ground to make it usable.

Hey I just got some time to peak at that, the dockerfile looks great to me, it actually covers my needs perfectly fine.  I don't get a lot of time to do my hobbies as much so I'll look into it and see if it helps with the development I was wanting to do next.  Probably get back to you in a few days.

Ok. I added Dockerfile and shell helpers so this issue should be closed.

First, thank you so much for putting time into this!  I managed to run it in docker, I'm not familiar with podman, and don't have/use it.
I built it in docker with
docker build -t build_gray486linux .
and then ran it from the docker folder with
docker run -v $PWD/..:/build build_gray486linux
This lead me to a nitpick with the dockerfile
instead of
RUN ./graybuild.sh
it should be
ENTRYPOINT ./graybuild.sh
This is because the idea of the docker image in this context is a "unified collection of tools that can build the result on demand" and that demand is the "execution of the docker instance"
I looked into the podman execution as well and I think that is 100% compatible with the way your current build script works.
Also it would be nice to either have a build_docker.sh / run_docker.sh or at least documentation for those who don't have podman, I wasnt familiar with it.
But!! best of all It worked great for me, and I'm happy with the output!  Thanks a bunch!

Hi.
Thank you for feedback. I played with podman/docker and here is some proposed improvements:
https://github.com/marmolak/gray486linux/commit/6e400ffd4976c35f5bca8ac180f591ccf93b9931
I removed --no-cache, because rebuild is fast - you don't need to rebuild compiler and distro every time.
Also ENTRYPOINT makes things clear from my POV, so thank you for pinning this out.
Documentation is work in progress and using graybuild.sh and grayrun.sh can be confusing.

I just added:
https://github.com/marmolak/gray486linux/commit/d36797456a72057ab797d09a8b5a82b45b61ad5a
which should work fine. At least it works fine for me :).

That looks good, I think it works - didn't have a chance to run it.  I've been away from home waiting for a giant rocket to launch :P
Secondarily the machine that I was wanting to make all this work on, sadly... died :/  I had an old Omnibook 425 and was really stoked to try to get some linux working on it.
I have a few other old 486 machines I can get up and running to fiddle with this on.  but won't have more feedback until then. Everything is looking great thanks so much, I'll have to get you some boot videos of my 486 machines launching this on my yt channel sometime!

Thank you. Ok. So I need to add changes to gray386linux now :).
Closing as solved.
PS: Please, don't hesitate and let me know about your videos.


[5.3] Avoid creating a ConcurrentMap for nongeneric instantiated witness tables

Explanation: Reduces memory usage when instantiating nongeneric resilient protocol conformances, by only allocating space for the singular table itself instead of a whole caching map structure.
Issue: rdar://problem/65692943
Testing: Swift CI
Reviewed by: @mikeash
Risk: Low. This code path is heavily exercised so problems with it should be readily apparent.

@swift-ci Please test

@swift-ci nominate


Error after /wb bypasslist

Hi, I'm getting this error in command /wb bypasslist
16:57:05 WARN: at com.wimbli.WorldBorder.UUID.UUIDFetcher.getName(UUIDFetcher.java:128)
16:57:05 WARN: at com.wimbli.WorldBorder.UUID.UUIDFetcher.getNameList(UUIDFetcher.java:145)
16:57:05 WARN: at com.wimbli.WorldBorder.cmd.CmdBypasslist$1.run(CmdBypasslist.java:45)
16:57:05 WARN: at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftTask.run(CraftTask.java:84)
16:57:05 WARN: at org.bukkit.craftbukkit.v1_13_R2.scheduler.CraftScheduler.mainThreadHeartbeat(CraftScheduler.java:449)
16:57:05 WARN: at net.minecraft.server.v1_13_R2.MinecraftServer.b(MinecraftServer.java:1010)
16:57:05 WARN: at net.minecraft.server.v1_13_R2.DedicatedServer.b(DedicatedServer.java:439)
16:57:05 WARN: at net.minecraft.server.v1_13_R2.MinecraftServer.a(MinecraftServer.java:940)
16:57:05 WARN: at net.minecraft.server.v1_13_R2.MinecraftServer.run(MinecraftServer.java:837)
16:57:05 WARN: at java.lang.Thread.run(Thread.java:745)
And instead of my name I see "null".

The bypass list is stored as a list of player UUIDs, since player names can be changed while UUIDs are the unique account ID which never changes. When it needs to check the player name associated with a given UUID (done once per server start and then cached), it checks that with the Mojang server.
The error you're getting is with it trying to check the stored UUID with Mojang's server for the associated player name.
You might try "/wb bypass null off" to try to remove that bypass, then "/wb bypass [your_player_name] on" to add yourself back to the bypass list. Then restart the server and run "/wb bypasslist" again to see if that fixed it.
If the problem persists, could you provide me with your player name so I can test it? I've just re-tested with my player name and another and couldn't find any problem.

Well, "/wb bypass null off" doesn't remove the null from bypass list. But from what you said, it could be because the not working username is not premium version of minecraft and the server is in offline-mode?

Well yeah, an old (now unsupported by Mojang) demo-mode account will not work.


Add fesppr.edu.br domain

Course page: https://www.fesppr.edu.br/cursos/sistema-informacao/

@fcecchin First stage of verification passed, official domain is fesppr.edu.br as far as I verified. This is just an informational note. Pull request is still in the review. I appreciate your patience while waiting for the final decision.

@fcecchin Thank you for your patience while waiting for a review and processing your request. Pull request merged.


Update README.md

Pull Request Test Coverage Report for Build 722740559

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 48.849%

Totals

Change from base Build 722717081:
0.0%

Covered Lines:
191

Relevant Lines:
391

💛  - Coveralls


Corrected link to azure-stack-network.md

@arturoliveira : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@arturoliveira Thank you for catching this! Much appreciated, we'll get this merged asap. #sign-off

@ktoliver : Thanks for your contribution! The author(s) have been notified to review your proposed change.


[doc] No documents found for all parameters and API of pygwalker

There is no official documents explaining all the parameters and API of pygwalker.

Sharing some experience, I was using pygwalker yesterday.
Q1: I forgot about how to enable the preview mode, so I tried to search "pygwalker preview" in Google, which I got no useful information there.
answer for Q1: use_preview
pygwalker.walk(df, use_preview=True)

Q2: I forgot about the parameter name for choosing the dark theme. There is also no clear reference.
answer for Q2: dark
pygwalker.walk(df, dark='light')

params dark can be set as 'light' | 'dark' or 'media'(default, means it will automate change the theme based on system)


passthrough key to any other applications but skhd or yabai

I have the following config:
cmd - 1 : yabai -m space --focus 1
ctrl - 1 -> [
    "skhd" ~
    * : skhd -k "cmd - 1"
]

So I want to have cmd - 1 to switch to 1st space, and use ctrl - 1 as cmd - 1 in any applications but skhd or yabai. But it doesn't work as expected. I also tried the non forward version:
cmd - 1 : yabai -m space --focus 1
ctrl - 1 [
    "skhd" ~
    "yabai" ~
    * : skhd -k "cmd - 1"
]

I managed to use mode to implement this, but an extra key is needed:
:: default : yabai -m config window_border off
:: forward @ : yabai -m config window_border on

cmd - x ; test
forward < cmd - 1 -> ; default

Ha, managed to hack it:
# ctrl + number forward as cmd + number to applications {{{
# A ok _HACK_ to send ctrl + number as cmd + number to applications:
# 1. define default & capture mode, capture mode will capture all keypresses
:: default
:: capmode @

# 2. define a key I'll never use
fn - 1 ; capmode

# 3. define ctrl + number to send mode switch key, then send cmd + number
ctrl - 1 : skhd -k "fn - 1" ; skhd -k "cmd - 1"
ctrl - 2 : skhd -k "fn - 1" ; skhd -k "cmd - 2"
ctrl - 3 : skhd -k "fn - 1" ; skhd -k "cmd - 3"
ctrl - 4 : skhd -k "fn - 1" ; skhd -k "cmd - 4"
ctrl - 5 : skhd -k "fn - 1" ; skhd -k "cmd - 5"
ctrl - 6 : skhd -k "fn - 1" ; skhd -k "cmd - 6"
ctrl - 7 : skhd -k "fn - 1" ; skhd -k "cmd - 7"
ctrl - 8 : skhd -k "fn - 1" ; skhd -k "cmd - 8"
ctrl - 9 : skhd -k "fn - 1" ; skhd -k "cmd - 9"

# 4. make sure in capture mode, the cmd + number is passed through and back to default mode
capmode < cmd - 1 -> ; default
capmode < cmd - 2 -> ; default
capmode < cmd - 3 -> ; default
capmode < cmd - 4 -> ; default
capmode < cmd - 5 -> ; default
capmode < cmd - 6 -> ; default
capmode < cmd - 7 -> ; default
capmode < cmd - 8 -> ; default
capmode < cmd - 9 -> ; default
# }}}

got a simpler solution:
# 1. define default & capture mode
:: default
:: tabmode

# 2. define an impossible key to switch to capture mode
hyper - 0x80 ; tabmode
tabmode < hyper - 0x80 ; default

# 3. define ctrl + number to send mode switch key, send cmd + number, switch back
ctrl - 1 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 1" ; skhd -k "hyper - 0x80"
ctrl - 2 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 2" ; skhd -k "hyper - 0x80"
ctrl - 3 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 3" ; skhd -k "hyper - 0x80"
ctrl - 4 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 4" ; skhd -k "hyper - 0x80"
ctrl - 5 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 5" ; skhd -k "hyper - 0x80"
ctrl - 6 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 6" ; skhd -k "hyper - 0x80"
ctrl - 7 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 7" ; skhd -k "hyper - 0x80"
ctrl - 8 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 8" ; skhd -k "hyper - 0x80"
ctrl - 9 : skhd -k "hyper - 0x80" ; skhd -k "cmd - 9" ; skhd -k "hyper - 0x80"


fix(deploy): add missing plugin files for mysql-client library in mysql-setup

Checklist

[ ] The PR conforms to DataHub's Contributing Guideline (particularly Commit Message Format)
[ ] Links to related issues (if applicable)
[ ] Tests for the changes have been added/updated (if applicable)
[ ] Docs related to the changes have been added/updated (if applicable). If a new feature has been added a Usage Guide has been added for the same.
[ ] For any breaking change/potential downtime/deprecation/big changes an entry has been made in Updating DataHub

Bug Description 🐛
This PR fixes a bug found when running the datahub-mysql-setup job within a kubernetes cluster that connects to a MySQL 8 database instance. It appears the current mysql-setup script uses the mysql-client alpine package that does not include files necessary to support the MySQL caching_sha2_password plugin. An additional package is required to get the setup script to work.
How to Reproduce

I am running a MySQL 8.0.32 instance in Azure with the caching_sha2_password plugin active (which occurs by default).

mysql> SELECT VERSION();
+-----------+
| VERSION() |
+-----------+
| 8.0.32    |
+-----------+
1 row in set (0.04 sec)

mysql> SELECT * FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME = 'caching_sha2_password';
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+-----------------------------+----------------+-------------+
| PLUGIN_NAME           | PLUGIN_VERSION | PLUGIN_STATUS | PLUGIN_TYPE    | PLUGIN_TYPE_VERSION | PLUGIN_LIBRARY | PLUGIN_LIBRARY_VERSION | PLUGIN_AUTHOR      | PLUGIN_DESCRIPTION          | PLUGIN_LICENSE | LOAD_OPTION |
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+-----------------------------+----------------+-------------+
| caching_sha2_password | 1.0            | ACTIVE        | AUTHENTICATION | 2.1                 | NULL           | NULL                   | Oracle Corporation | Caching sha2 authentication | GPL            | FORCE       |
+-----------------------+----------------+---------------+----------------+---------------------+----------------+------------------------+--------------------+-----------------------------+----------------+-------------+
1 row in set (0.04 sec)

I configured my Kube cluster to connect to my MySQL instance instead of using the default Bitnami chart.

When running helm upgrade datahub datahub/datahub --values values.yaml the datahub-mysql-setup job fails on each run with the following error: 🐛

ERROR 1045 (28000): Plugin caching_sha2_password could not be loaded: Error loading shared library /usr/lib/mariadb/plugin/caching_sha2_password.so: No such file or directory
2023/04/25 23:09:18 Command exited with error: exit status 1

The Core Issue 💡
The MariaDB reference is notable as we are connecting to a MySQL instance. I believe this indicates that the mysql client used to execute the SQL DDL cannot find the proper plugin files in its local installation. Upon further investigation, it appears the mysql-client package used in the mysql-setup script is a mariadb client and likely the source of the problem.
I confirmed this client is the source of the error by rebuilding the mysql-setup docker image using its Dockerfile and attempting to manually connect to the same database. And I received the same error.
A Potential Solution 😃
Based on this thread this error has been seen before and the simple solution is to add the mariadb-connector-c package.  I added the package in my local container and I was able to connect to the database without error.
Considerations 🤔

I would love feedback on my approach and I'm very open to alternative ideas! 🎉
Apologies if I've missed anything in the PR. This is my first contribution to DataHub!

LGTM! Thank you!


Why doesn't Java8 support MacOS12?

Question
The following page shows x in MacOS12 support for Java8.
Could you please tell me why?
https://adoptium.net/supported-platforms/
Context
Java version:8

Your operating system and platform:MacOS12

https://github.com/adoptium/website-v2/pull/709


Error in DB initialization in Windows

in ver1.3 the path for DB is not found and if I try to make the .db file I got this error
(Sorry I' am from MongoDB background )
Unable to initialize DB!
SqliteError: no such table: current_files
at Database.prepare (C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\node_modules\better-sqlite3\lib\methods\wrappers.js:5:21)
at Posts.total (C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\server\helpers\dbImport\index.ts:19:24)
at Posts. (C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\server\helpers\dbImport\index.ts:37:30)
at Generator.next ()
at C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\build\server.js:5222:67
at new Promise ()
at webpack_modules../server/helpers/dbImport/index.ts.__awaiter (C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\build\server.js:5201:10)
at Posts.start (C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\build\server.js:5282:12)
at C:\Users\bouch\Desktop\HPDesktop\PositionHybooru\server\helpers\db.ts:97:50
at Generator.next ()

You are not supposed to create any .db file. The .db files are supplied by Hydrus, it is the Hydrus database(SQLite). You can configure location of this database using "hydrusDbPath" field in configs.json, or set it to null to use the default location.
Once you do that, this error should be resolved. Remember to setup post

Thank you for highlighting the fact it suppose to have external DB, I thought that Hybooru is the full tagging application.
it would be nice to if we can manage tags from Hybooru app.


⚠ ClamAV has degraded performance

In b10d491, ClamAV (https://spamassassin.apache.org/) experienced degraded performance:

HTTP code: 200
Response time: 197 ms

Resolved: ClamAV performance has improved in 71d1538 after 9 minutes.