fix: Fix crashes by ensuring layout ID is set before inflating Camera View stub + raise AGP for Kotlin 1.7.0 compatibility

Description
Code was attempting to set the visibility of the View Camera stub before its source layout XML id was set.
This is an error because setting a View visible causes inflate() to be run in case it is not already inflated.
With no XML id set; there is nothing to inflate and so subsequent code that assumes a view to be present fails.
Simply switching around the order of operations here...

Setting the layout ID
Inflating
Setting visibility

... resolves the issue.
Related issues
Fixes #4685, #4686
Related PRs
Unblocks testing of #4777
Screenshots
N/A
Link to the automatically generated build APK
N/A

The CI linter is failing this build with errors in the pattern:
Error: Calling new methods on older versions: Call requires API level 24 (current min is 21): `<some kotlin stdlib method>`

...given this error is unrelated to the changes in the PR; it seems likely this is caused by an environmental change.
Has the linter been updated or reconfigured independently of the source code?
A direct answer to this error seems to be raising the min API level to 24, but I'm not sure that's expected or desirable.  Other maintainers please advise.

I've added raising min API level to 24 for expedience - it looks like this is a genuine error and probably should have been done before.  If it's important to keep API 21 compatibility then we'd instead need to revisit the use of some Kotlin stdlib functions throughout the code.

I've added raising min API level to 24 for expedience. Apparently, combining API 21 with JDK 8 stdlib (as current config implies) is a genuine error and probably should have been addressed before.
If it's important to keep API 21 compatibility then I can edit this PR again, but we'd need to explicitly use stdlib-jdk7 and probably revisit the use of some JDK 8 stdlib functions throughout the code.

I think that we'd like to keep API 21 as min for now. If you could do the changes described to keep the minSdk to 21 it would be great!

Thanks @VaiTon ; looking again at the errors, I discovered they stem from incompatibility between the linter in Android Gradle Plugin 7.0.4 and Kotlin 1.7.  Minimal fix is to upgrade to the latest AGP 7.2.1, which is probably advisable anyway.

Any update on this issue? Thanks.

Any update on this issue? Thanks.

Current position is that the fix itself is seems complete & confirmed locally.
The problem now is that I appear to be having to solve some bit-rot: The fixed code wouldn't build in CI because of environmental changes unrelated to the fix which are resolved by upgrading to Gradle 7.2.1.
This has caused further breaking changes in the project.  I am working through it but have limited time.

@chris-hatton I've reverted the minSdk change


[5.7] [DNM] Cherry-pick batch test PR

Batch test PR against the Swift repo for:

https://github.com/apple/swift-experimental-string-processing/pull/549
https://github.com/apple/swift-experimental-string-processing/pull/550
https://github.com/apple/swift-experimental-string-processing/pull/548
https://github.com/apple/swift-experimental-string-processing/pull/551
https://github.com/apple/swift-experimental-string-processing/pull/552

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

@swift-ci please test

Hamish, we can close this one out now, right?

Yeah


DRAFT - Publisher Area + Operator Area

Summary
This work begins to flesh out the Publisher & Operator area UI. It is almost complete, but I wanted to begin gathering feedback on the work, as I've implemented a hook - useRequest, and overhauled the folder structure.
Main changes:

Initial Publisher & Operator area with rudimentary load states
useRequest hook, wraps a function which returns a promise (usually for requests), returns the wrapped function and an object representing the request's state
moved components into /components and views into /views

Todo:

I still need to build out the dependency dropdown, and re-format some of the operator area information
Need to write tests for useRequest, and some of the components which render load states

Loading states - different components use different data, not sure if we should use individual spinners so they don't block each other from displaying, or if we want to use one spinner and wait for all data to be ready

Closing to separate features into own PRs


Add support for Beyerdynamic A200p DAC

Hi :),
Im using balena-sound and I've got a Beyerdynamic A200p which is not officially supported.
It would be great if you could add support for this DAC. 🙏🙏🙏

Hi @arashrh1, as far as I can tell this is a USB DAC right?
If so, balenaSound 2.x does not support it unfortunately, but the next major version (3.x) should! We don't have an ETA yet on when that will be ready but it's high on our priority list.

Hey @arashrh1, with the release of balenaSound v3.0 USB soundcards should be supported out of the box. Let us know if you have trouble setting it up or have any other questions. Thanks!


Fail Gracefully When Zod Errors Encountered

If at all possible, we should try to fail more gracefully when a schema does not match what we expected. Today it seems like we just don't show the page at all.
cc @floatplane

I believe now this will lead to the error view "oh no!" if the useQuery fails.


State value has wrong type (js-controller 3.3.x)

js-controller: 3.3.1
Admin 5.0.11
web-speedy Adapter: 0.2.0
Using new js-controller 3.3.1 will throw the following warnings:
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.0.id" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.0.lat" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.0.lon" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.1.id" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.1.lat" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.1.lon" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.2.id" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.2.lat" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.2.lon" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.3.id" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.3.lat" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.3.lon" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.4.id" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.4.lat" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.Closest_servers.4.lon" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.running_download_speed" has wrong type "string" but has to be "number"
web-speedy.0 (1130) State value to set for "web-speedy.0.running_upload_speed" has wrong type "string" but has to be "number"

@DutchmanNL Do you have time to fix this issue and https://github.com/DrozmotiX/ioBroker.web-speedy/issues/169 for using js-controller 3.3.x
I tried to understand where the problem is in the code but I did not find it :-(

@DutchmanNL
I would not open a new issues so I copy my wrong state values in this post.
js-controller: 3.3.18
Admin: 5.1.25
web-speedy Adapter: 0.2.0
"web-speedy.0.Results.server.id" has to be type "number" but received type "string"
"web-speedy.0.Results.client.ip" has to be type "number" but received type "string"
"web-speedy.0.Results.Last_Run" has to be type "number" but received type "object"
"web-speedy.0.running_upload_speed" has to be type "number" but received type "string"
"web-speedy.0.running_download_speed" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.4.id" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.4.lon" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.4.lat" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.3.id" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.3.lon" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.3.lat" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.2.id" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.2.lon" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.2.lat" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.1.id" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.1.lon" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.1.lat" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.0.id" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.0.lon" has to be type "number" but received type "string"
"web-speedy.0.Closest_servers.0.lat" has to be type "number" but received type "string"

thanks for the nice Adapter.

The Adapter ist great.
But this issue too :/
Same problem.
Hope you can fix

same Problem
State value to set for "web-speedy.0.running_upload_speed" has to be type "number" but received type "string"


End Leaderboard: Message to the winner that he won

https://github.com/sopra-fs24-group-46/client/commit/8c747db20a684a4c770e55b87835b574ea0c6abe


Crash under FoundationStream.cleanup() -> () (Starscream.swift)

What is the issue?
Recently added PusherSwift to our app replacing the older Objective-C library we had. We are seeing a number of users hitting the following crashes. It looks like in general the PusherSwift code doesn't have much in it to deal with concurrency despite having code calling into it from multiple queues / threads. I believe that could be playing into these crashes.
In my use of PusherSwift I am currently ensuring any and all calls I make into it are happening on the main thread given missing concurrency support in the code.
Is it a crash report? Submit stack traces or anything that you think would help
EXC_BREAKPOINT
Crashed: com.apple.main-thread
0  CoreFoundation                 0x1841192c0 CFHash + 360
1  CoreFoundation                 0x184116160 CFBasicHashFindBucket + 164
2  CoreFoundation                 0x1841160a0 CFDictionaryGetValue + 224
3  CoreFoundation                 0x18418f594 _CFStreamUnscheduleFromRunLoop + 184
4  CoreFoundation                 0x18420dcc0 _CFStreamSetDispatchQueue + 168
5  PusherSwift                    0x101a287a8 FoundationStream.cleanup() -> () (Starscream.swift:529)
6  PusherSwift                    0x101a29890 FoundationStreamPusherSwiftWSStream (Starscream.swift)
7  PusherSwift                    0x101a3c21c specialized WebSocket.initStreamsWithData(Data, Int) -> () (Starscream.swift:987)
8  PusherSwift                    0x101a2c690 WebSocket.createHTTPRequest() -> () (Starscream.swift:868)
9  PusherSwift                    0x101a06918 PusherConnection.connect() -> () (PusherConnection.swift)
10 PusherSwift                    0x101a06aa0 @objc PusherConnection.connect() -> () (PusherConnection.swift)
11 Foundation                     0x184c545b8 __NSFireTimer + 88
12 CoreFoundation                 0x1841ffdc0 __CFRUNLOOP_IS_CALLING_OUT_TO_A_TIMER_CALLBACK_FUNCTION__ + 28
13 CoreFoundation                 0x1841ffae4 __CFRunLoopDoTimer + 864
14 CoreFoundation                 0x1841ff2e4 __CFRunLoopDoTimers + 248
15 CoreFoundation                 0x1841fcecc __CFRunLoopRun + 1928
16 CoreFoundation                 0x18411cc58 CFRunLoopRunSpecific + 436
17 GraphicsServices               0x185fc8f84 GSEventRunModal + 100
18 UIKit                          0x18d8755c4 UIApplicationMain + 236
19 --snip--
20 libdyld.dylib                  0x183c3c56c start + 4

and
EXC_BREAKPOINT
Crashed: com.vluxe.starscream.websocket
0  CoreFoundation                 0x183db52c0 CFHash + 360
1  CoreFoundation                 0x183db2160 CFBasicHashFindBucket + 164
2  CoreFoundation                 0x183db20a0 CFDictionaryGetValue + 224
3  CoreFoundation                 0x183e2b594 _CFStreamUnscheduleFromRunLoop + 184
4  CoreFoundation                 0x183ea9cc0 _CFStreamSetDispatchQueue + 168
5  PusherSwift                    0x102b20754 FoundationStream.cleanup() -> () (Starscream.swift:524)
6  PusherSwift                    0x102b21890 FoundationStreamPusherSwiftWSStream (Starscream.swift)
7  PusherSwift                    0x102b330e8 specialized WebSocket.disconnectStream(Error?, runDelegate : Bool) -> () (Starscream.swift:987)
8  PusherSwift                    0x102b25fcc WebSocketPusherSwiftWSStreamDelegate (Starscream.swift)
9  PusherSwift                    0x102b364e8 specialized FoundationStream.stream(Stream, handle : Stream.Event) -> () (Starscream.swift:568)
10 PusherSwift                    0x102b21348 @objc FoundationStream.stream(Stream, handle : Stream.Event) -> () (Starscream.swift)
11 CoreFoundation                 0x183e2b2d0 _signalEventSync + 212
12 CoreFoundation                 0x183eaa178 ___signalEventQueue_block_invoke + 24
13 libdispatch.dylib              0x183872a54 _dispatch_call_block_and_release + 24
14 libdispatch.dylib              0x183872a14 _dispatch_client_callout + 16
15 libdispatch.dylib              0x18387c96c _dispatch_queue_serial_drain$VARIANT$mp + 528
16 libdispatch.dylib              0x18387d2fc _dispatch_queue_invoke$VARIANT$mp + 340
17 libdispatch.dylib              0x18387dd20 _dispatch_root_queue_drain_deferred_wlh$VARIANT$mp + 404
18 libdispatch.dylib              0x18388603c _dispatch_workloop_worker_thread$VARIANT$mp + 644
19 libsystem_pthread.dylib        0x183b1af1c _pthread_wqthread + 932
20 libsystem_pthread.dylib        0x183b1ab6c start_wqthread + 4

Any improvements you suggest
I believe the code needs to have stronger logic in place to deal with concurrency (shuttle things to a serial queue and/or locking).

CC @pusher/mobile

Hey @shawnce do you have any more contextual info you can provide about the crash?
For example:

what version of PusherSwift are you using?
how often / frequently does this happen?
what is the user / app doing when the crash happens (e.g. backgrounding the app, foregrounding the app, normal usage etc)?
what does the code look like where you're interacting with Pusher (e.g. disconnecting on view change, disconnecting on app being backgrounded, etc)?

Using PusherSwift (5.1.1)
It is the 3rd and 4th crash in terms of both number and number of users affected behind two unrelated of our own (one of which we just corrected). This app just released on phased rollout but if trends continue 100s of users will hit it a week.
It isn't clear yet what the user is doing but the pathway under com.vluxe.starscream.websocket kinda implies network connection was lost. The other crash pathway involves a timer firing, we don't have a pathway in our code using a timer when calling into pusher swift.
We setup pusher without any configuration other then our api key. We early in app launch bind to a couple of events on channels associated with one or more "projects'" that user has access to. This binding code will call subscribe as needed, then bind as needed, and finally calls connect if more then one binding exists. All of these calls happen from the main thread. We don't do any connect or disconnect after that, we leave it up to pusher. We also aren't unbinding unless the user logs out which is very very rare for someone to do with our app (all crashes show them logged in).

@hamchapman our lay of code calling into PusherSwift, again we are currently only calling into the bind function after app login to attach them to one or more "projects" and only calling unbind on logout which almost is never done (and all crashes show them logged in at the time).
https://gist.github.com/shawnce/63d701b6359fa98db986f0f9f2658bb5

@hamchapman we are continuing to see this crash

FYI - we are disabling pusher given the crash rate we are seeing, if we find the time we may help with a patch

Hey @shawnce that's understandable - apologies for the issue. Just wanted to let you know that I'm looking into this today. I started doing some groundwork to get things more stable and standardised yesterday with #175
I'll be sure to keep this updated if I find the cause. Equally, if you do have time to give to help debug then of course that's always massively appreciated!

It looks as though this might be the cause of the issue: https://github.com/daltoniam/Starscream/pull/476
I'm going to keep tracking that and see what comes of it. Will update here when I've got more info 👍

I am fairly sure you will want locking and/or shunting to a serial queue of your own... up higher in your code as wells since multiple thread can easily be involved in calling into your API. You will continue to have concurrent access/mutation to shared data otherwise which will crash in different ways.

Yeah that's fair. I'll look into adding that extra layer of synchronisation later today.

You should be able to try the cleanup-crash-fix branch (associated PR here: https://github.com/pusher/pusher-websocket-swift/pull/178)
This should have fixed this problem.
Let me know if you're able to and what results you see 👍  I'm hoping to merge that PR and release 6.0.0 on Monday if all goes well.

Hi, thanks very much for releasing a fix. Entirely understand if it's impossible, but wanted to verify there's no way to backport this fix to 5.1 ?


PA2 Walkthrough

Hello, may I ask if the walkthrough for Pa2 will be uploaded? and if so, when will it be uploaded? Thank you :"(

It's up!


fix bug #1508: fix graph visualisation when exploding nested flows

The broken graph attached to the bug #1508 happens because animatePolylineEdge fails: it assumes that each edge has always a number of edge.oldpoints equals to the number of newPoints, which sometimes fails.
newPoints is fed by the moveNodeEdges: it iterates through all the edge.guides (the segments composing the lines connecting the graph nodes) and adds the starting and ending points; this makes sense, because the assumption edge.guides.length == edge.points.length - 2 should always hold.
The bug happens because this assumption is broken: in layoutGraph we sometimes add a new segment to edge.guides but we forget to update the points accordingly.
This patch fixes the problem: when a new segment is added to an edge (see the code after the // Add gap comment) we also add an extra point, therefore assuring the assumption holds, and allowing the animatePolylineEdge to work properly.
The result:

@armisael Thanks!


Deleting a model with a composite key bypassing multitenancy

When deleting a multitenant entity that's configured to use a composite key in our database migrations scripts and with the EF Core ModelBuilder isn't respecting multitenancy.
The database constraint in our migrations script looks like: ALTER TABLE ONLY public."Examples" ADD CONSTRAINT "PK_Examples" PRIMARY KEY ("Number", "TenantId", "Username");
Our EF Core classes look like:
[MultiTenant]
public class ExampleModel
{
    public string Username { get; set; }
    public string Number { get; set; }
}

public class TestDbContext : MultiTenantDbContext
{
    public DbSet<ExampleModel>? Examples { get; set; }

    public TestDbContext(TenantInfo tenantInfo,
        DbContextOptions options) :
        base(tenantInfo, options)
    {
    }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
        modelBuilder.Entity<ExampleModel>().HasKey(b => new { b.Number, b.Username });
    }
}

When we delete an ExampleModel from the context, all other ExampleModels with the same Username and Number are deleted as well, even with different TenantIds.
Should Finbuckle be adding the TenantId to the composite key? Is there a way we can add it as part of the model builder such that the call to modelBuilder mirrors our database constraints? Is there some other solution?

Thanks for reporting this issue. I'll take a closer look tomorrow. Finbuckle doesn't automatically add tenant id to the key but has a helper function to do so for entities that works in some but not all cases due to EF Core constraint priorities.
I'll have a more detailed answer for you soon.

Thanks for swift reply. Are you referring to the Keys and Indexes section of https://www.finbuckle.com/MultiTenant/Docs/v6.6.0/EFCore docs?
I was going to try that as a solution, but if it doesn't work I'll get you some nice repro code :)

Still ran into issues with adjusting keys as per the https://www.finbuckle.com/MultiTenant/Docs/v6.6.0/EFCore Keys and Indexes docs. Working on a fork of the repo with some tests added that reproduce the issues we're running into.

Here's a fork with some tests that surface some of the issues we're running into: https://github.com/domn1995/Finbuckle.MultiTenant/blob/main/test/Finbuckle.MultiTenant.EntityFrameworkCore.Test/CompositeKeyTests/CompositeKeysShould.cs
I would expect all of these tests to pass but only the HandleTenantIdInCompositeKeyAndExplicitTenantIdInModel() test passes.

Ok, having dug in I can explain some parts but not all. Thank you for isolating the behavior so well.

first of all only .NET 6 has a passing test. I need to look at the earlier versions closer.
HandleNoTenantIdInCompositeKeyAndShadowTenantIdInModel and HandleNoTenantIdInCompositeKeyAndExplicitTenantIdInModel I would expect to fail because EFCore doesn't even know TenantId is intended to be part of the key. Finbuckle leans heavily on global query filters for tenant data isolation and unfortunately they don't apply to delete statements. EFCore seems to use the key columns it knows about to generate delete statements hence wiping the records for all tenants.
For the other 2 tests, HandleTenantIdInCompositeKeyAndExplicitTenantIdInModel works as expected and I recommend you explicitly add TenantId to models if within your control -- shadow properties just cause so many headaches. For HandleAdjustedCompositeKeyAndShadowTenantIdInModel this should work but I think we might be hitting this bug so I posed a question there.
In all of these cases the TenantNotSetMode is the default of throw so it should actually prevent the save attempt. This makes me realize the value generator for TenantId is masking this intended behavior. I'll have to take a closer look at this.

I hope this help and thanks for all the details.

Thanks so much for looking into this so quickly! We're moving forward with explicit TenantIds in our models. We didn't so originally because the docs didn't really steer us that way. Take that feedback as you will. :)
Thanks again for the prompt support.

Thanks so much for looking into this so quickly!
We're moving forward with explicit TenantIds in our models. We didn't do so originally because the docs didn't really steer us that way. Take that feedback as you will. :)
Thanks again for the prompt support.

Happy to help and thank you for the sponsorship.

Alright I removed the generator and filed a bug with the efcore team. They said only on "adding" a tracked entity will it pick up a shadow key property. I voted on an issue to expand that to any method which attaches an entity.
The best option here is to do exactly what you did -- or to use the TenantNotSetMode which as of the latest release should work as intended with the generator removed.
Thanks!


Expand character search

Fixes #1085

Would be cool to rebase this and see if we can finalize up the charcter search page =)


Fix astropy warning

Fix import warning as LombScargle was moved from astropy.stats to astropy.timeseries in recent versions of the astropy package.
This branch already includes the small change to fix the url of the Kepler data.

Thanks!


Fixing the vulnerabilities

Description:  Removing the unwanted packages
General Checklist

[ ] Updated Added functionality/ bug fix in release notes

/azp run


⚠ Bofrost.fr has degraded performance

In 073f537, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1778 ms

Resolved: Bofrost.fr performance has improved in f630b66 after 20 minutes.


(Hyper-)parameter optimization for selected models

[x] LSTM / fc
[ ] ESN

partially solved by #40


CI: RuntimeCassandra Tests policy allowing all actions: Endpoints are not ready after timeout

https://jenkins.cilium.io/job/cilium-ginkgo/job/cilium/job/master/4099/testReport/junit/(root)/Suite-runtime/RuntimeCassandra_Tests_policy_allowing_all_actions/
Stacktrace
/home/jenkins/workspace/cilium-ginkgo_cilium_master/runtime-gopath/src/github.com/cilium/cilium/test/ginkgo-ext/scopes.go:384
Endpoints are not ready after timeout
Expected
    <bool>: false
to be true
/home/jenkins/workspace/cilium-ginkgo_cilium_master/runtime-gopath/src/github.com/cilium/cilium/test/runtime/cassandra.go:102

Standard Output
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
⚠  Found a "JoinEP: " in logs
Number of "context deadline exceeded" in logs: 0
⚠  Number of "level=error" in logs: 22
⚠  Number of "level=warning" in logs: 36
Number of "Cilium API handler panicked" in logs: 0
Number of "Goroutine took lock for more than" in logs: 4
Top 5 errors/warnings:
Error while rewriting endpoint BPF program
endpoint regeneration failed
generating BPF for endpoint failed, keeping stale directory.
Regeneration of endpoint failed
JoinEP: Failed to load program

Standard Error
===================== TEST FAILED =====================
cmd: sudo cilium endpoint list
Exitcode: 0
Stdout:
 	 ENDPOINT   POLICY (ingress)   POLICY (egress)   IDENTITY   LABELS (source:key[=value])   IPv6                 IPv4            STATUS
	            ENFORCEMENT        ENFORCEMENT
	 351        Disabled           Disabled          6782       container:id.cass-server      f00d::a0f:0:0:7357   <IP_ADDRESS>   ready
	 444        Disabled           Disabled          4          reserved:health               f00d::a0f:0:0:2bf8   <IP_ADDRESS>   ready
	 2426       Disabled           Disabled          30941      container:id.app1             f00d::a0f:0:0:4057   <IP_ADDRESS>     not-ready
	 3333       Disabled           Disabled          59042      container:id.cass-client      f00d::a0f:0:0:b21c   <IP_ADDRESS>    ready

Stderr:

cmd: sudo cilium policy get
Exitcode: 0
Stdout:
 	 []
	 Revision: 1

Stderr:

===================== Exiting AfterFailed =====================

0be030ca_RuntimeCassandra_Tests_policy_allowing_all_actions.zip

Might be duplicate with https://github.com/cilium/cilium/issues/10278, but that one didn't have failure artifacts.


UnicodeDecodeError

I extracted from a text file and could query after initial insert.
But when I try to query the db again using:
rag = LightRAG(
    working_dir=WORKING_DIR,
    llm_model_func=llm_model_func,
    embedding_func=EmbeddingFunc(
        embedding_dim=1536,
        max_token_size=8192,
        func=embedding_func
    )

I then get the following error which I could not resolve:
  File "<mypath>\Lib\encodings\cp1252.py", line 23, in decode
    return codecs.charmap_decode(input,self.errors,decoding_table)[0]
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 584071: character maps to <undefined>

I suspect it defaults to use cp1252 to decode the db, but is there a way to change that?

I had the same problem. I fixed it by going to venv/Lib/site-packages/nano_vectordb/dbs.py and changed the following:
def load_storage(file_name) -> Union[DataBase, None]:
    if not os.path.exists(file_name):
        return None
    with open(file_name) as f:

To
def load_storage(file_name) -> Union[DataBase, None]:
    if not os.path.exists(file_name):
        return None
    with open(file_name, encoding='utf-8') as f:

In the next commit, I will fix this issue.


fix critest flag nits

Signed-off-by: heartlock<EMAIL_ADDRESS>@feiskyer @xlgao-zju

use runtime-endpoint and image-endpoint in #76 ? @heartlock

do this first

LGTM


Switch to noble-ed25519

I've created very fast implementation of ed25519 in js/typescript. I think it would be great to use it, because a user can then audit source code. With wasm he really can't.
https://github.com/paulmillr/noble-ed25519

Hi @paulmillr,
Thanks for info about your library! I don't quite understand how it relates to the website; could you clarify this, please?

The website should not be used for signing / verification, or at least should not be trusted for these operations! I can clarify this on the website. (I didn't think much about this before, but now I understand that some note on this subject should probably be on the website.) IMO, any web-based solution for signature checking / verification will have pretty big security problems, e.g., regarding privacy of user-provided data. In any case, since the goal of the website is interactive education, I don't think provenance of the crypto library is a big concern.

The website does not use Ed25519 signing / verification per se, but rather low-level operations on Curve25519 (e.g., the small-order subgroup). I've implemented these ops with WASM partially because it seemed like a in interesting project (more interesting than a pure JS implementation), and partially because the curve25519-dalek library provides all necessary primitives and can be compiled to WASM easily.

Do I understand correctly that by auditing the code you mean looking at the code to check it "looks good" or corresponds to some reference? I don't think this is enough if the security is a primary concern (which it isn't for the website, see above). There are other kinds of attacks that need to be considered, e.g., side channels.

Hi @slowli. Your website serves as a demo for ed25519 bugs. I understand it should not be used for actual signatures.

I've implemented these ops with WASM partially because it seemed like a in interesting project

Indeed it is, thank you for that! The site is great and helps to understand eddsa is not perfect.

Do I understand correctly that by auditing the code you mean looking at the code to check it "looks good" or corresponds to some reference

Not really — as you've mentioned, "the goal of the website is interactive education". For education purposes, I think it would be great, if developers would be able to poke around with javascript code, set up debugger breakpoints here and there, log some outputs, try it out in their developer console. The library provides great developer experience, so that should help folks.
It's not a big deal — both wasm & js could be used for the website. Just though it would provide better educational value.

Thanks for explanation! I think adding a JS library to fiddle around does make sense, although I haven't yet figured out how it could be integrated with the current website pages. Maybe, dedicating a new page for this purpose would be an optimal solution..?
If you could provide a description how you see this feature implemented, it would be welcome. A PR would be twice as welcome, of course.

I think the wasm "functions" should be replaced with functions with noble-ed25519, that's it. No huge changes are needed.
BTW we'll be receiving audit ASAP.


[2020 mnt] Removed avx512_mic instructions from win64e

MKL doesn't support avx512_mic on win64e since ~ 2019u1

[CI here!] (http://intel-ci.intel.com/ea4c6806-a110-f1c9-ba17-8cdcd4b723a1)


[Request]: Bring back sync execute

What do you need?
Hey, I am using op-sqlite and in the newest version the execute api was changed from sync to async.
My use-case requires sync query execution in some cases which can't be changed to async.
https://github.com/OP-Engineering/op-sqlite/commit/1dbc8289e1a04841b1ae08b7fbbf3c849a3454a2#diff-a2a171449d862fe29692ce031981047d7ab755ae7f84c707aef80701b3ea0c80R127
Is there any possibility to bring back the sync execute? or any workaround for the same?
Thanks

@rflopezm
Here was the change:
https://github.com/OP-Engineering/op-sqlite/pull/142/files#diff-cd0866c167878907e99d1e94024bc05e6f673d0e5228bf11448932f2aaa4d0c2L320
Now there are a couple of differences, before you go re-implementing this interface:

Don't use SmartHostObject or execute_with_host_objects, the abstraction will cost too much on runtime, use the same as current execute but just don't execute it in a thread.
Create a test (or maybe some tests cases) on queries.spec.ts. Make sure it returns the correct data
Also create the same function for libsql. The tests already run automatically here, so as soon as you have created the test on queries.spec.ts it will let you know if something is missing.
No need to modify the transactions for now. It's too much work to keep both interfaces working within the async context and now it might mess up with reactive queries. Bringing a simple .execute should be enough.
If you need more info on interacting with the JSI there are guides and tutorials on my website

Thanks!


Add support for ParameterDescription for DELETE

Codecov Report

:exclamation: No coverage uploaded for pull request base (j/merge-select-statement-and-queried-relation@f5712b6). Click here to learn what that means.
The diff coverage is 83.87%.

@@                               Coverage Diff                                @@
##             j/merge-select-statement-and-queried-relation    #6490   +/-   ##
================================================================================
  Coverage                                                 ?   82.89%
  Complexity                                               ?    13086
================================================================================
  Files                                                    ?     1502
  Lines                                                    ?    48673
  Branches                                                 ?     5881
================================================================================
  Hits                                                     ?    40347
  Misses                                                   ?     5546
  Partials                                                 ?     2780

Impacted Files
Coverage Δ
Complexity Δ

...java/io/crate/analyze/DeleteAnalyzedStatement.java
100% <ø> (ø)
5 <0> (?)

...ava/io/crate/analyze/AnalyzedStatementVisitor.java
51.06% <0%> (ø)
24 <0> (?)

sql/src/main/java/io/crate/analyze/Analyzer.java
97.19% <100%> (ø)
5 <0> (?)

...rc/main/java/io/crate/analyze/UnboundAnalyzer.java
87.09% <100%> (ø)
2 <1> (?)

...java/io/crate/analyze/AnalyzedDeleteStatement.java
75% <75%> (ø)
2 <2> (?)

...src/main/java/io/crate/analyze/DeleteAnalyzer.java
92% <86.66%> (ø)
9 <1> (?)

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 f5712b6...32e08aa. Read the comment docs.


Unable to combine uuids with strings in DataObject arrays

I expect a string "06bd10e6-e8c2-4277-b534-54583348669e" in a text[] will index ok but get the following error:
import weaviate
import weaviate.classes as wc
from weaviate.collections.classes.data import DataObject

client = weaviate.connect_to_local(
    port=8080,
    grpc_port=50051,
)

client.collections.delete(name="Test")
collection = client.collections.create(name="Test")

collection.data.insert_many([
    DataObject(properties={"name": ["test", "06bd10e6-e8c2-4277-b534-54583348669e"]}),
])

Produces error
WeaviateInsertManyAllFailedError: Every object failed during insertion.
Here is the set of all errors: property 'name' on class 'Test': element [1]: mismatched data type - 'text' expected, got 'uuid'

We are also facing this for texts like<PHONE_NUMBER>0178240038038120577884.
@dudanogueira Would be possible to forward this to the internal team? This is a blocking issue for us too.


Echarts x axis and y axis

Change position with each other
Hi, there!
Highcharts has the ability to change the x and y axis position without changing series data.
It is done when we just set chart.inverse=true
http://jsfiddle.net/gh/get/library/pure/highcharts/highcharts/tree/master/samples/highcharts/chart/inverted/
But with echarts, i can't implement this function.
In order to change the position of x and y axis, i should implement data structure differently every time.
Maybe you can think changing data structure is very easy, but when dealing with big and complicated data, it's not easy.
Could you let me know echarts supports this ability or not?
If not, what is the best solution?

In echarts encode is used to determine which dimension of data will be displayed on xAxis or yAxis. For example { x: 1, y: 0 } will do to the flip. More details on this post https://echarts.apache.org/tutorial.html#Dataset
If you case is more like the highcharts demo in your link. You can simply swap the xAxis and yAxis
option = {
    yAxis: {
        type: 'category',
        data: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
    },
    xAxis: {
        type: 'value'
    },
    series: [{
        data: [29.9, 71.5, 106.4, 129.2, 144.0, 176.0, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4],
        type: 'line'
    }]
}


Write to FTMS Device

Hi,
I am using your library to read the data from the BLE sensors and I was able to receive the information correctly.
Now I would also need to write data on some devices (such as assigning the friction to a roller). I am using the WritePackage but I can never write! I also tried your example but without any success.
To be precise I'm trying to write on the 00002ad9-0000-1000-8000-00805f9b34fb characteristics of the 00001826-0000-1000-8000-00805f9b34fb service
Thank you so much.
Matteo.

Hi @serramat , you could try the things mentioned in https://github.com/adabru/BleWinrtDll/issues/20#issuecomment-898939454 .

Hi @ShuohengZhang ,
it's good that your UWP application works. The dll in this repository is a c++ winrt wrapper for UWP code so the step from your UWP app to the dll should be small.
You can compare the UWP function calls from https://github.com/adabru/BleWinrtDll/blob/main/BleWinrtDll/BleWinrtDll.cpp with your UWP app. If your UWP app uses another API-call, you can change that in BleWinrtDll.cpp. Or you can change the API-call in your UWP app to the same as in BleWinrtDll.cpp.
As reference for converting UWP code to c++ winrt and vice versa, you can use
https://github.com/microsoft/Windows-universal-samples/blob/main/Samples/BluetoothLE/cppwinrt/Scenario2_Client.cpp
and
https://github.com/microsoft/Windows-universal-samples/blob/main/Samples/BluetoothLE/cs/Scenario2_Client.xaml.cs
Those are functionally the same.

Hi @adabru,
Thanks for your reply!! And yeah, I was a bit afraid to write a C++ DLL by myself because I don't really understand the C++ codes that well. However, I tried it with your suggestions today and looked into your codes and the samples I made (Dll_BLE.cpp). When I import this DLL into the Unity project, there is a DllNotFoundException when I already put it in the same folder as your BLEWinrtDll (I assume when this DLL can be used, so should mine). I would so appreciate hearing your suggestions!!
Best regards!

I'm not quite sure what the reason for the DllNotFoundException is. You can try to look at Unity's import settings for that file. You can also try to change the 32-bit or 64-bit setting in VS. And maybe try to ask ChatGPT.
Is your repository private? I can't access the link.

@adabru sorry I didn’t notice that was private now u may have the access. And thanks again that you still concern about my case !


Can't find extension in VSCode marketplace

Have tried searching for "Web Assembly", "WebAssembly" and "dtsvet.vscode-wasm" and it doesn't show up.

Try again

@reklatsmasters Working now, thank you!


Bug : When I try deploy a function it doesn't work

Hello,
I create a gitpod with appwrite integration
After I download and initialize the CLI appwrite
I link my project
I create a deployment command from dasboard
I deploy with the CLI
Expect in dashboard  the function deployment is ready.
Result:
The deployment is always processing

Thanks @Gi972. Try again with the latest 0.14.x release and reopen if you still have issues


Is it Possible to handle sessions using zappa in AWS Lambda

Hi,
I have created a web application and deployed on AWS using zappa. I was unable to handle the sessions. Is it possible to handle sessions using zappa on AWS? If possible, How?
Thanks & Regards,
N Sai Kumar

Use Database / Redis / Memcached based sessions... for eg: JWT based authentication... file based sessions shall not be used with lambda

@superappy Could you share any resources regarding the usage of the above mentioned.
Thanks in Advance,
Sai Kumar

If using flask... refer https://realpython.com/token-based-authentication-with-flask/
similar philosophies apply to other frameworks.
Also, close this issue. :)


Speed increases when size is changed

The speed of the video increases when you reduce the size of the video. How to fix this? Referring to tkVideo module. Really useful.

What are the steps to reproduce the problem? Thanks for your kind comments!
p.s: My answers are late due to a hectic university schedule :(

Whenever the video's size is reduced, the video speeds up proportionally. And whenever the size is increased, the video slows down accordingly. I couldn't find a the resolution where the video plays at 1x.
This is the following syntax I'm using in my project
player = tkvideo.tkvideo("clip.mp4", video_label, loop = 1, size = (1280,720))
player.play()
Yesterday this issue was random, but today. It is just persistent. I couldn't make it work.
Awaiting you response.

This library doesn't keep track of the time taken for each frame to be shown. Therefore, the speed of the video depends on the speed of the computer and the number of other tasks that are running on that computer.
Also as a side note: this library uses threading and tkinter at the same time even though tkinter isn't thread safe. This can cause errors like this.

Closed with PR #8 .


ENH|DOC: fix docstring and input validation in interpolate.RectSphereBivariateSpline

Reference issue

See #13359.
What does this implement/fix?

This fixes a bug in scipy.interpolate.RectSphereBivariateSpline where
the function expects colatitudes in the closed interval [0, pi] as
detailed in the docstring and checked during input validation.
The underlying Fortran code however expects colatitudes in the open
interval (0, pi).

@AtsushiSakai I'd appreciate your review. I assume it will be rather quick as the changes are rather minimal and uncomplicated.

@AtsushiSakai I'd appreciate your review. I assume it will be rather quick as the changes are rather minimal and uncomplicated.


[Actions] Auto-Sync cookiecutter template

Pull Request Test Coverage Report for Build 492459410

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 86.022%

Totals

Change from base Build 491479044:
0.0%

Covered Lines:
71

Relevant Lines:
79

💛  - Coveralls

Pull Request Test Coverage Report for Build 492459410

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 86.022%

Totals

Change from base Build 491479044:
0.0%

Covered Lines:
71

Relevant Lines:
79

💛  - Coveralls


Release 2.4.5

Type of change

Bug fix
New feature
Improvement (improvement to code, performance, etc)
Test update
Documentation update

Description

Additional details

Related issues

please ignore


S37: add well-based

S37 ($\omega_1+1$ with endpoint doubled): add well-based property and then remove redundant countably tight property.
As discussed in #650.

Based on your argument in #650 , could you please also add that S37 is radial?


bug: incorrect rendering when header.border = true and vim.opt.wrap = true

Neovim version (nvim -v)
0.10.1
Neovim distribution
N/A
Operating system
MacOs
Terminal emulator / GUI
kitty
Describe the bug
When heading.boarder = true and part of a wrapped line is offscreen, but has been onscreen before, rendering is shifted down from its expected location.

set vim.opt.wrap = true
make a line that takes up more than half the screen (so if there are Y = vim.o.lines - vim.o.cmdheight vertical lines and X = vim.opt.columns (minus however wide the signcolumn/etc is) columns, make a line of at least (X+1) * (Y+1) characters long)
yank the long line
add a new line with #  on it
add a new line and paste the long line on it

This will result in the rendering being applied below the expected location. If you close the file, you can replicate the bug by moving to the top and then bottom of the file, and then moving to the header.
Here's a visual representation, with X representing the long line and | representing the line the cursor is on (cursor column doesn't matter):
add the long line:
X|

add the header:
X
#|

add a second long line below the header:
X
#
X|

Here's a screenshot of the end state:

and here's a screenshot of the text after running :RenderMarkdown disable:

Expected behavior
Rendering of text happens on the line with the text.
Healthcheck output
render-markdown: require("render-markdown.health").check()
render-markdown.nvim [version] ~

OK plugin 7.2.2
OK neovim >= 0.10

render-markdown.nvim [configuration] ~

ERROR render-markdown.code.position: expected one of { "left", "right" }, got

render-markdown.nvim [nvim-treesitter] ~

OK installed
OK markdown: parser installed
OK markdown: highlight enabled
OK markdown_inline: parser installed
OK markdown_inline: highlight enabled
OK latex: parser installed

render-markdown.nvim [executables] ~

WARNING latex2text: not installed

ADVICE:

Disable LaTeX support to avoid this warning by setting { latex = { enabled = false } }

render-markdown.nvim [conflicts] ~

OK headlines: not installed
OK obsidian: not installed

Plugin configuration
require('render-markdown').setup({
heading = {
border = true,
},
})
Plugin error log
N/A
Confirmations

[X] I have updated this plugin to the latest version using my plugin manager
[X] I have provided text for all screenshots & understand that my issue will be closed if I have not

Additional information
No response

I am unable to replicate this behavior:

Before Paste
After Paste

In either case if this behavior relies on someone having a line that conservatively is:

width = 100
height =40
line length = 4,000

So a 4000 character long line, is not something I'm going to bother to support.

Do let me know if this is an actual situation you ran into though, or like a pushing the bounds of the plugin kind of thing.

Ah, sorry, yes, this is an actual issue I have — the intention behind the very specific and weird  example was to give you a reproducible example — I'll try and get you one without any settings, from as minimal a vimrc as I can get.
Some context on when this is happening: I write markdown files in a buffer with the zen-mode plugin, so my buffer width is 80, and the lines are frequently long — they don't have to be particularly long to trigger the bug for me, just long enough to cause them to wrap off screen.

Great! I'll try and get an example working with that config. Thank you!

Ah, your instinct was correct! The bug only shows up when vim.wo.smoothscroll = true.

I'll report an issue and close this one — I appreciate your work here, as always!

Here's the issue, if you have context to add https://github.com/neovim/neovim/issues/30603#issue-2558077415

Thanks for creating that, incredibly fast turn around, 0.10.2 seems to work!


Render expanded row with freeze rows will cause render problem

I should have fixed this bug by myself. But i don't know how to...
Problem:
I expand row 7, and scroll up until the row 7 reach the freeze header rows. As the picture below shows, expanded row render un-properly.

Reason:
See source file 'table.js'. function 'renderAll' and 'renderFreezeGridAndContent' render different cause the problem.
Still see the picture above.
renderAll render row range "6,7,8,9...." which 7 is expanded
renderFreezeGridAndContent only see "8,9...." be cause i start with "fci + data.scroll.ci".  No row is expanded here.

update your locale code

renderContentGrid  sumWidth is not defined

update lastest version

It works. Thank you.


Convex function?

It seems like most of the functions available for mouse sensitivity are all concave - quick ramp-up, then gradual diminishing returns. Wouldn't it make sense to have a convex function, as well - something with a gradual ramp-up, then a rapid increase? A basic exponential function (say, quadratic) would produce something like that. Or would that be unwieldy to use?
I'm trying to achieve a decent dead zone of low-ish sensitivity for fine movement, along a decently large increase in sensitivity for spinning around in video games or covering the entire desktop with a flick. The concave functions on offer seem to give me one or the other, but not both.

classic mode with power > 2 is convex, imo it's unwieldy without a cap

dead zone of low-ish sensitivity for fine movement, along a decently large increase in sensitivity

try out linear mode with an offset if you haven't yet

Thank you, I'll definitely try that out. I spent quite a while experimenting. Eventually, I settled on Motivity with a bias towards 0. That gives me a convex segment at the start with a concave segment past the inflection point, which is pretty much what I was hoping for. Takes a bit of getting used to since my mouse very tangibly speeds up if I move it "a bit more quickly," but it works far better for what I need than any of the pure concave functions. I don't think this was in the older versions, either.
In either case, thank you so much for making this :) It's an absolute godsend and I genuinely wish more people would adopt it. Or at the very least roll back on the mouse acceleration hate a little.

For trackballs acceleration is very helpful. Similar to what you were asking about , yes I use motivity for the same reason - precision at slow speed and ability to move quickly. In case it gives you ideas, here are my settings for the ploopy thumb. DPIs are 6000,12000, so Sens multiplier 0.1 to get effectively 600/1200 DPI. Growth rate 1.5. Motivity 2. Midpoint 30.

I'm using a regular mouse. Switched to a Razer Naga for the thumb buttons when the old one died. I actually use similar settings. 1600 DPI at 0.5 multiplier and 1.5 and 2 for growth and motivity. Set the midpoint to 5, though - so quite a bit lower. Seems to "squash" the graph to the left. I'm apparently slow with my hand, so that helps.
I can't find a way to save profiles, so I'm worried about messing with my settings from where they seem to work for now.


[PATCH] Shuffle

Rebase y to have equal length to X before shuffling. Otherwise shuffle breaks on Blend.

Changes Unknown when pulling 55bccc1bfa21c956d1b3b1c9ca15d3c15be37dee on shuffle_patch into ** on master**.


KeyError "trunk" when getting model based on architecture

Setting cfg.MODEL.FBNET_V2.ARCH = "default" yields KeyError: 'trunk4'
and setting
cfg.MODEL.FBNET_V2.ARCH_DEF = CfgNode({"default": {
"trunk": DEFAULT_STAGES[0:4],
"rpn": [[_repeat_last(DEFAULT_STAGES[3])]],
"bbox": LARGE_BOX_HEAD_STAGES,
"mask": LARGE_UPSAMPLE_HEAD_STAGES,
"kpts": LARGE_UPSAMPLE_HEAD_STAGES,
"basic_args": _BASIC_ARGS}})
cfg.MODEL.FBNET_V2.ARCH = None"

yields arch_def = {name: arch_def[name]} KeyError: 'trunk'
This is KeyError happends for any model defined in
https://github.com/facebookresearch/d2go/blob/master/d2go/modeling/modeldef/modeldef.py#L425

So i was merging the config from
cfg = get_config("mask_rcnn_fbnetv3g_fpn.yaml", trained=False)
While merging from
cfg = get_config("mask_rcnn_fbnetv3a_C4.yaml", trained=False)
and then set
cfg.MODEL.FBNET_V2.ARCH = "default"
Solves the problem of building the model.
However, if i would like to build e.g. FBNet3C_fpn setting cfg to have "mask_rcnn_fbnetv3g_fpn" as parent and setting
cfg.MODEL.FBNET_V2.ARCH = FBNetV3_C"
still yields the error


Use MC DAQ instead of Teensy to control laser status (on/off)

Right now, one of the DAQ boards outputs 4 analog signals to control laser power for 4 laser lines.
A Teensy board is used to turn these laser lines on or off based on these analog signals.
Problem:
We have seen small laser output pattern differences between imaging modes that are basically the same except their laser power values.
Possible Reason:
Since the only difference in these imaging modes comes from the laser powers and since the Teensy board is the only device that controls these lasers, it is possible that the Teensy itself is causing this (don't know how)
Possible solution:
Use the digital outputs of DAQ to control the lasers status (on/off) as well. It requires some changes in the DAQ script as well as wiring of the system.

The response time of the DAQ was around 1ms which is significantly larger than Teensy.
The problem turned out to be because of the ND filters, and not the Teensy board.


Invalid trailing content after Z in timezone is ignored

Describe the bug
Timstamps like 2023-12-05T21:58:10.45ZZTOP which are invalid (they have trailing content after the Z) should error when parsing (casting from String to Timestamp) but instead they ignore the trailing content
To Reproduce
This test case should pass  in  arrow-cast/src/cast.rs
    #[test]
    fn test_cast_string_to_timestamp_invalid_tz() {
        // content after Z should be ignored
        let bad_timestamp = "2023-12-05T21:58:10.45ZZTOP";
        let array = StringArray::from(vec![Some(bad_timestamp)]);

        let data_types = [
            DataType::Timestamp(TimeUnit::Second, None),
            DataType::Timestamp(TimeUnit::Millisecond, None),
            DataType::Timestamp(TimeUnit::Microsecond, None),
            DataType::Timestamp(TimeUnit::Nanosecond, None),
        ];
        for dt in data_types {
            assert_eq!(
                cast(&array, &dt).unwrap_err().to_string(),
                "Invalid timezone: ZZTOP"
            );
        }
    }

Expected behavior
Test case should pass, instead it fails as the timestamp is correctly parsed
Additional context
Found upstream in https://github.com/apache/arrow-datafusion/issues/8452

I think this will be a nice first issue as it has a test already written and should be a simple fix

Can I give this a shot?


Adding random_state argument to fair_stratified_train_test_split

Fixes #596
In the existing implementation of fair_stratified_train_test_split,  there is no argument for setting random_state and we internally just set its value to 42 when calling scikit learn's train_test_split.  It will be good idea to add this argument to the fair_stratified_train_test_split method similar to corresponding scikit routine.

Thanks a lot for entering this PR!
I noticed that the static checks failed, but the failure has nothing to do with this PR. Instead, it is caused by a new release of one of Lale's dependencies which now has a conflict with another of Lale's dependencies. I am working on resolving that problem in a separate PR.
In the meantime, I have one request for your PR. Could you please update the docstring for fair_stratified_train_test_split to mention the new argument that you introduced?

Sure. I will add the description to docstring. I also noticed that even test_size argument is not present in docstring, should I add that too ?
Also, thanks for the clarification.

Thanks for updating the docstring, and good catch about test_size being undocumented. I see that the tests all passed, so I will go ahead and merge this PR.


adds redirect to prevent loading different versions of /older-versions

PREVIEW HERE
Currently the /older-versions page exists in versions 9.0 and 10.0, but in future (as more versions are released) it will exist in every version unless explicitly removed.

from this page, selecting a different version from the dropdown version selector results in loading the /older-versions page from a different version, e.g. /docs/ver/10.0/older-version
this PR corrects that behavior by checking the url string and redirecting to the / version.
NOTE: the navigation callback only fires when the option is changed; selecting the same version option has no effect.  This cannot be changed - it is hardcoded into the dropdown component we import from @reach/listbox

@ptgott this fixes one type of navigation issue but we'll still need an explicit "Back to current version" (or similar) link


Proposal - use normalized group/project names

@azolotko thanks for the great work here! The plugin works like a charm (also the latest fix works with SBT 1.7.x).
I would like to propose a little usability improvement. Maybe we don't have to always use group/project IDs but just the normalized GitLab project/group names.
What if we added the following settings:
val gitlabGroupId = settingKey[Option[GitlabGroupId]](
  "GitLab group ID"
)

val gitlabNormalizedGroupName = settingKey[String](
  "GitLab normalized group name"
)

val gitlabNormalizedProjectName = settingKey[String](
  "GitLab normalized project name"
)

And then in the project settings provide some defaults:
gitlabNormalizedGroupName := organizationName.value, // TODO: should be also normalized here
gitlabNormalizedProjectName := normalizedName.value

This part then could be default as well:
gitlabRepositories ++= Seq(
  GitlabProjectRepository(gitlabDomain.value, gitlabProjectId.value.getOrElse(GitlabProjectId(gitlabNormalizedProjectName.value))),
  GitlabGroupRepository(gitlabDomain.value, gitlabGroupId.value.getOrElse(GitlabGroupId(gitlabNormalizedGroupName.value)))
),

User input would reduce to this in non-default case:
gitlabNormalizedGroupName := "group-xxx",
gitlabNormalizedProjectName := "project-xxx"

Have tested that on my side, can provide a PR if you like it.

@michalstutzmann thank you so much for the proposal!
gitlabNormalizedProjectName := normalizedName.value makes total sense to me as a default.
I'm less sure about gitlabNormalizedGroupName := organizationName.value though. In my limited experience with GitLab, I've never seen this naming pattern before. Group names never matched organizationName (in any form): they were either product names or team names.

@azolotko agree with your point regarding the organizationName.
There's also an alternative using scmInfo setting, but not all projects have to have it defined. For those using sbt-git scmInfo is filled automatically: https://github.com/sbt/sbt-git/issues/113 .
Provided:
    val gitlabNormalizedGroupName = settingKey[Option[String]](
  "GitLab normalized group name"
    )

    val gitlabNormalizedProjectName = settingKey[Option[String]](
      "GitLab normalized project name"
    )

Depend on the standard SBT's scmInfo setting:
    import java.nio.file.Paths
    gitlabNormalizedGroupName := scmInfo.value.map(value => Paths.get(value.browseUrl.getPath).getParent.toString),
    gitlabNormalizedProjectName := scmInfo.value.map(value => Paths.get(value.browseUrl.getPath).getFileName.toString.stripSuffix(".git"))

I think the most convenient alternative would be if the plugin just took info from git itself. Getting ids (or names) from a remote URL should be fairly straightforward. At least when there's only one git remote.


Where's the OculusDash.exe?

Might be a dumb qu sorry but the instructions say replace the OculusDash.exe.bak with the OculusDash.exe provided but I've downloaded the zip from here and there's no OculusDash.exe in it. I know this is something simple (and I'm not too well up on how to use GitHub) but can anyone please help?

OculusDash.exe isn't in the zip, the zip is source, go to the Releases and download the actual exe there: https://github.com/LibreQuest/OculusKiller/releases


homebrew cask hangs when running install --force for parallels desktop

When running "brew cask install --force parallels-desktop", it hangs right after "==> Verifying checksum for Cask parallels-desktop":
Running with the --debug flag:
==> Creating directories
==> Loading Cask definitions
==> Translating 'parallels-desktop' into a valid Cask source
==> Testing source class Hbc::Source::URI
==> Testing source class Hbc::Source::PathSlashRequired
==> Testing source class Hbc::Source::TappedQualified
==> Testing source class Hbc::Source::UntappedQualified
==> Testing source class Hbc::Source::Tapped
==> Success! Using source class Hbc::Source::Tapped
==> Resolved Cask URI or file source to '/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb'
==> Cask instance dumps in YAML:
==> Cask instance toplevel:
--- !ruby/object:Hbc::Cask
token: parallels-desktop
sourcefile_path: !ruby/object:Pathname
  path: /usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb
dsl: !ruby/object:Hbc::DSL
  token: parallels-desktop
  version: !ruby/string:Hbc::DSL::Version
    str: !binary |-
      MTEuMS4yLTMyNDA4
    raw_version: 11.1.2-32408
  sha256: 6de7591cd24d837f109c895d23b56938b720debcb336c49634664e67b49f69e0
  url: !ruby/object:Hbc::URL
    uri: !ruby/object:URI::HTTP
      scheme: http
      user:
      password:
      host: download.parallels.com
      port: 80
      path: /desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
      query:
      opaque:
      registry:
      fragment:
      parser:
    user_agent:
    cookies:
    referer:
    using:
    revision:
    trust_cert:
    data:
  name:
  - Parallels Desktop
  homepage: https://www.parallels.com/products/desktop/
  license: !ruby/object:Hbc::DSL::License
    value: :commercial
  artifacts:
    :app: !ruby/object:Set
      hash:
        ? - Parallels Desktop.app
        : true
    :postflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall: !ruby/object:Set
      hash:
        ? :delete:
          - /usr/bin/prl_convert
          - /usr/bin/prl_disk_tool
          - /usr/bin/prl_perf_ctl
          - /usr/bin/prlctl
          - /usr/bin/prlsrvctl
        : true
    :zap: !ruby/object:Set
      hash:
        ? :delete:
          - ~/.parallels_settings
          - ~/Library/Caches/com.parallels.desktop.console
          - ~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist
          - ~/Library/Preferences/com.parallels.desktop.console.plist
          - ~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist
          - ~/Library/Preferences/com.parallels.Parallels Desktop.plist
          - ~/Library/Preferences/com.parallels.Parallels.plist
        : true
==> Cask instance method 'name':
---
- Parallels Desktop
==> Cask instance method 'homepage':
--- https://www.parallels.com/products/desktop/
...
==> Cask instance method 'url':
--- !ruby/object:Hbc::URL
uri: !ruby/object:URI::HTTP
  scheme: http
  user:
  password:
  host: download.parallels.com
  port: 80
  path: /desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
  query:
  opaque:
  registry:
  fragment:
  parser:
user_agent:
cookies:
referer:
using:
revision:
trust_cert:
data:
==> Cask instance method 'appcast':
---
...
==> Cask instance method 'version':
--- !ruby/string:Hbc::DSL::Version
str: !binary |-
  MTEuMS4yLTMyNDA4
raw_version: 11.1.2-32408
==> Cask instance method 'license':
--- !ruby/object:Hbc::DSL::License
value: :commercial
==> Cask instance method 'sha256':
--- 6de7591cd24d837f109c895d23b56938b720debcb336c49634664e67b49f69e0
...
==> Cask instance method 'artifacts':
---
:app: !ruby/object:Set
  hash:
    ? - Parallels Desktop.app
    : true
:postflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall: !ruby/object:Set
  hash:
    ? :delete:
      - /usr/bin/prl_convert
      - /usr/bin/prl_disk_tool
      - /usr/bin/prl_perf_ctl
      - /usr/bin/prlctl
      - /usr/bin/prlsrvctl
    : true
:zap: !ruby/object:Set
  hash:
    ? :delete:
      - ~/.parallels_settings
      - ~/Library/Caches/com.parallels.desktop.console
      - ~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist
      - ~/Library/Preferences/com.parallels.desktop.console.plist
      - ~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist
      - ~/Library/Preferences/com.parallels.Parallels Desktop.plist
      - ~/Library/Preferences/com.parallels.Parallels.plist
    : true
==> Cask instance method 'caveats':
--- []
==> Cask instance method 'depends_on':
---
...
==> Cask instance method 'conflicts_with':
---
...
==> Cask instance method 'container':
---
...
==> Cask instance method 'gpg':
---
...
==> Cask instance method 'accessibility_access':
---
...
==> Cask instance method 'auto_updates':
---
...
==> Hbc::Installer.install
==> Printing caveats
==> Downloading
==> Downloading http://download.parallels.com/desktop/v11/11.1.2-32408/ParallelsDesktop-11.1.2-32408.dmg
Already downloaded: /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Downloaded to -> /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Verifying download
==> Determining which verifications to run for Cask parallels-desktop
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask parallels-desktop
==> SHA256 checksums match
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Executing: ["/usr/bin/file", "-Izb", "--", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Using container class Hbc::Container::Dmg for /Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg
==> Executing: ["/usr/bin/hdiutil", "mount", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/tmp", "#<Pathname:/Library/Caches/Homebrew/parallels-desktop-11.1.2-32408.dmg>"]
==> Executing: ["/usr/bin/ditto", "--", "/private/tmp/dmg.d92otj", "#<Pathname:/opt/homebrew-cask/Caskroom/parallels-desktop/11.1.2-32408>"]
^C==> Executing: ["/usr/sbin/diskutil", "eject", "#<Pathname:/private/tmp/dmg.d92otj>"]

/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:29:in `exit'
/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:29:in `rescue in <top (required)>'
/usr/local/Library/Taps/caskroom/homebrew-cask/cmd/brew-cask.rb:25:in `<top (required)>'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb:55:in `require'
/usr/local/Library/brew.rb:21:in `require?'
/usr/local/Library/brew.rb:91:in `<main>'

Output of brew doctor
Your system is ready to brew.

 This only happens when trying to install it with --force.

Please always follow the reporting bugs guide. To do so, edit the top post and then comment after this one so I can check back.
Closing in the meantime, because a number of people never report back and it’s useless to keep the issue open in that case and without all the required information.

updated

Not sure why this was closed

Like I said

Closing in the meantime, because a number of people never report back and it’s useless to keep the issue open in that case and without all the required information.

All the steps from the reporting bugs have been followed

They haven’t. We specifically ask for the command to be run with the --verbose flag, as well as the outputs of brew doctor and brew cask doctor.

--verbose does not output any more info.
--debug, on the other hand is producing some interesting output.

Thank you. Re-opening and deleting extraneous comments.

Unfortunately, unable to reproduce on a clean OSX :(
It looks like the checksum gets verified OK, but the dmg unpacking and execution fails. It may not actually be hanging, but the install takes a while.
It's not a great solution, but can you see if manually installing the .pkg works?

Ran into this today, too. I wanted to do a --force install of current Parallels Desktop due to the change in Cask's install location.
System is a fresh MBP, setup about 2 weeks ago, and updated to El Capitan 10.11.5.
Debug Output today:
 ✘  ~/Dropbox/Application Support/dotfiles/Update  brew cask install parallels-desktop --force --debug
==> Creating directories
==> Loading Cask definitions
==> Translating 'parallels-desktop' into a valid Cask source
==> Testing source class Hbc::Source::URI
==> Testing source class Hbc::Source::PathSlashRequired
==> Testing source class Hbc::Source::TappedQualified
==> Testing source class Hbc::Source::UntappedQualified
==> Testing source class Hbc::Source::Tapped
==> Success! Using source class Hbc::Source::Tapped
==> Resolved Cask URI or file source to '/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb'
==> Cask instance dumps in YAML:
==> Cask instance toplevel:
--- !ruby/object:Hbc::Cask
token: parallels-desktop
sourcefile_path: !ruby/object:Pathname
  path: "/usr/local/Library/Taps/caskroom/homebrew-cask/Casks/parallels-desktop.rb"
dsl: !ruby/object:Hbc::DSL
  token: parallels-desktop
  version: !ruby/string:Hbc::DSL::Version
    str: 11.2.0-32581
    raw_version: 11.2.0-32581
  sha256: af5891183faac0b3080ebc46f5c225b61f5df82e11fea267148b67a4ea8da57c
  url: !ruby/object:Hbc::URL
    uri: !ruby/object:URI::HTTP
      scheme: http
      user:
      password:
      host: download.parallels.com
      port: 80
      path: "/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg"
      query:
      opaque:
      registry:
      fragment:
      parser:
    user_agent:
    cookies:
    referer:
    using:
    revision:
    trust_cert:
    data:
  name:
  - Parallels Desktop
  homepage: https://www.parallels.com/products/desktop/
  license: !ruby/object:Hbc::DSL::License
    value: :commercial
  artifacts:
    :app: !ruby/object:Set
      hash:
        ? - Parallels Desktop.app
        : true
    :postflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall_preflight: !ruby/object:Set
      hash:
        !ruby/object:Proc {}: true
    :uninstall: !ruby/object:Set
      hash:
        ? :delete:
          - "/usr/bin/prl_convert"
          - "/usr/bin/prl_disk_tool"
          - "/usr/bin/prl_perf_ctl"
          - "/usr/bin/prlctl"
          - "/usr/bin/prlsrvctl"
        : true
    :zap: !ruby/object:Set
      hash:
        ? :delete:
          - "~/.parallels_settings"
          - "~/Library/Caches/com.parallels.desktop.console"
          - "~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist"
          - "~/Library/Preferences/com.parallels.desktop.console.plist"
          - "~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist"
          - "~/Library/Preferences/com.parallels.Parallels Desktop.plist"
          - "~/Library/Preferences/com.parallels.Parallels.plist"
        : true
==> Cask instance method 'name':
---
- Parallels Desktop
==> Cask instance method 'homepage':
--- https://www.parallels.com/products/desktop/
...
==> Cask instance method 'url':
--- !ruby/object:Hbc::URL
uri: !ruby/object:URI::HTTP
  scheme: http
  user:
  password:
  host: download.parallels.com
  port: 80
  path: "/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg"
  query:
  opaque:
  registry:
  fragment:
  parser:
user_agent:
cookies:
referer:
using:
revision:
trust_cert:
data:
==> Cask instance method 'appcast':
---
...
==> Cask instance method 'version':
--- !ruby/string:Hbc::DSL::Version
str: 11.2.0-32581
raw_version: 11.2.0-32581
==> Cask instance method 'license':
--- !ruby/object:Hbc::DSL::License
value: :commercial
==> Cask instance method 'sha256':
--- af5891183faac0b3080ebc46f5c225b61f5df82e11fea267148b67a4ea8da57c
...
==> Cask instance method 'artifacts':
---
:app: !ruby/object:Set
  hash:
    ? - Parallels Desktop.app
    : true
:postflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall_preflight: !ruby/object:Set
  hash:
    !ruby/object:Proc {}: true
:uninstall: !ruby/object:Set
  hash:
    ? :delete:
      - "/usr/bin/prl_convert"
      - "/usr/bin/prl_disk_tool"
      - "/usr/bin/prl_perf_ctl"
      - "/usr/bin/prlctl"
      - "/usr/bin/prlsrvctl"
    : true
:zap: !ruby/object:Set
  hash:
    ? :delete:
      - "~/.parallels_settings"
      - "~/Library/Caches/com.parallels.desktop.console"
      - "~/Library/Preferences/com.parallels.desktop.console.LSSharedFileList.plist"
      - "~/Library/Preferences/com.parallels.desktop.console.plist"
      - "~/Library/Preferences/com.parallels.Parallels Desktop Statistics.plist"
      - "~/Library/Preferences/com.parallels.Parallels Desktop.plist"
      - "~/Library/Preferences/com.parallels.Parallels.plist"
    : true
==> Cask instance method 'caveats':
--- []
==> Cask instance method 'depends_on':
---
...
==> Cask instance method 'conflicts_with':
---
...
==> Cask instance method 'container':
---
...
==> Cask instance method 'gpg':
---
...
==> Cask instance method 'accessibility_access':
---
...
==> Cask instance method 'auto_updates':
---
...
==> Hbc::Installer.install
==> Printing caveats
==> Downloading
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Downloaded to -> /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying download
==> Determining which verifications to run for Cask parallels-desktop
==> Checking for verification class Hbc::Verify::Checksum
==> 1 verifications defined
Hbc::Verify::Checksum
==> Running verification of class Hbc::Verify::Checksum
==> Verifying checksum for Cask parallels-desktop
==> SHA256 checksums match
==> Extracting primary container
==> Determining which containers to use based on filetype
==> Checking container class Hbc::Container::Pkg
==> Checking container class Hbc::Container::Ttf
==> Checking container class Hbc::Container::Otf
==> Checking container class Hbc::Container::Air
==> Checking container class Hbc::Container::Cab
==> Executing: ["/usr/bin/file", "-Izb", "--", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Checking container class Hbc::Container::Dmg
==> Executing: ["/usr/bin/hdiutil", "imageinfo", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Using container class Hbc::Container::Dmg for /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Executing: ["/usr/bin/hdiutil", "mount", "-plist", "-nobrowse", "-readonly", "-noidme", "-mountrandom", "/tmp", "/Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg"]
==> Executing: ["/usr/bin/ditto", "--", "/private/tmp/dmg.wwmdKH", "/opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581"]

My first though was, that it might not be wise to do a sha256 on a 307 MB dmg, but anyway - this should be finished within about 20-40 secs.
@adidalal Verified the downloaded dmg be valid, not corrupted. Manually installing from the dmg downloaded by homebrew cask works. You probably mixed things up, as there is no .pkg for Parallels as to my knowledge.
But console gives this when the Cask hangs:
02.06.16 22:57:53,000 kernel[0]: hfs: mounted Parallels Desktop 11 on device disk2s1
02.06.16 22:57:54,710 diskimages-helper[39287]: *** -[NSMachPort handlePortMessage:]: dropping incoming DO message because the connection is invalid
02.06.16 22:57:54,841 sandboxd[135]: ([39297]) ditto(39297) System Policy: deny forbidden-link-priv

The last line generates this full report
ditto(39297) System Policy: deny forbidden-link-priv

Process:         ditto [39297]
Path:            /usr/bin/ditto
Load Address:    0x102d3b000
Identifier:      ditto
Version:         ??? (???)
Code Type:       x86_64 (Native)
Parent Process:  ruby [39236]
User ID:         501

Date/Time:       2016-06-02 22:57:54.820 +0200
OS Version:      Mac OS X 10.11.5 (15F34)
Report Version:  8

Thread 0:
0   libsystem_kernel.dylib        	0x00007fff89358f42 link + 10
1   Bom                           	0x00007fff8fa84259 _copyFromDirToDir + 1376
2   Bom                           	0x00007fff8fa89130 _copyDir + 2085
3   Bom                           	0x00007fff8fa841ca _copyFromDirToDir + 1233
4   Bom                           	0x00007fff8fa89130 _copyDir + 2085
5   Bom                           	0x00007fff8fa841ca _copyFromDirToDir + 1233
6   Bom                           	0x00007fff8fa89130 _copyDir + 2085
7   Bom                           	0x00007fff8fa841ca _copyFromDirToDir + 1233
8   Bom                           	0x00007fff8fa89130 _copyDir + 2085
9   Bom                           	0x00007fff8fa841ca _copyFromDirToDir + 1233
10  Bom                           	0x00007fff8fa89130 _copyDir + 2085
11  Bom                           	0x00007fff8fa841ca _copyFromDirToDir + 1233
12  Bom                           	0x00007fff8fa8214a BOMCopierCopyWithOptions + 11546
13  ditto                         	0x0000000102d3d3d7
14  libdyld.dylib                 	0x00007fff896455ad start + 1

Binary Images:
       0x102d3b000 -        0x102d3effb  ditto (51) <cfbc779f-d3aa-3705-91cb-ce0af3c20cfb> /usr/bin/ditto
    0x7fff89341000 -     0x7fff8935fff7  libsystem_kernel.dylib (3248.50.21) <78e54d59-d2b0-3f54-9a4a-0a68d671f253> /usr/lib/system/libsystem_kernel.dylib
    0x7fff89642000 -     0x7fff89645ffb  libdyld.dylib (360.22) <cc088c2a-d407-33e7-a6b6-b06e0d4ad999> /usr/lib/system/libdyld.dylib
    0x7fff8fa72000 -     0x7fff8faafff3  com.apple.bom (14.0 - 193.7) <9b8ae30b-24a3-37ab-b04e-4ce67aed4775> /System/Library/PrivateFrameworks/Bom.framework/Versions/A/Bom

hth!

Made some fixes to the cask and confirmed it to be working on a clean VM.

@vitorgalvao Did you also try installing it twice? I.e. installation and afterwards a second pass with --force.
I updated to :head and now the re-installation proceeds a bit more until it freezes with:
 ✘  ~/Dropbox/Application Support/dotfiles/Update  brew cask install parallels-desktop --force
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying checksum for Cask parallels-desktop
==> It seems there is already an App at '/Applications/Parallels Desktop.app'; overwriting.
==> Removing App: '/Applications/Parallels Desktop.app'
==> chflags: /Applications/Parallels Desktop.app/Icon\r: Permission denied

Sudoing fixes this and gives this output upon a forced re-install:
 ✘  ~/Dropbox/Application Support/dotfiles/Update  sudo brew cask install parallels-desktop --force
Password:
==> Downloading http://download.parallels.com/desktop/v11/11.2.0-32581/ParallelsDesktop-11.2.0-32581.dmg
Already downloaded: /Users/winkelsdorf/Library/Caches/Homebrew/parallels-desktop-11.2.0-32581.dmg
==> Verifying checksum for Cask parallels-desktop
==> It seems there is already an App at '/Applications/Parallels Desktop.app'; overwriting.
==> Removing App: '/Applications/Parallels Desktop.app'
==> Moving App 'Parallels Desktop.app' to '/Applications/Parallels Desktop.app'
Jun  3 14:54:32  pdfm-bootstrap[31715] <Error>: inittool[31691]: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect permissions (0755)
Jun  3 14:54:32  pdfm-bootstrap[31719] <Info>: inittool[31691]: Bundle '/Applications/Parallels Desktop.app' (11.2.0-32581) is not initialized: let's cook it
Jun  3 14:54:32  pdfm-bootstrap[31720] <Info>: inittool[31691]: Set bundle owners to 'root:wheel'
Jun  3 14:54:33  pdfm-bootstrap[31731] <Info>: inittool[31691]: Bootstrap actions
Jun  3 14:54:33  pdfm-bootstrap[31734] <Info>: inittool[31691]: Check for previous version and uninstall if need
Jun  3 14:54:33  pdfm-bootstrap[31737] <Info>: inittool[31691]: Starting uninstallation procedure of
INIT_STATE: STATE_UNINSTALL
INIT_PROGRESS: 0
Jun  3 14:54:33  pdfm-bootstrap[31738] <Info>: inittool[31691]: Backup Parallels Desktop [/Applications/Parallels Desktop.app > /var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/parallels-desktop.BEXibvBI/Parallels Desktop.app]
INIT_PROGRESS: 10
Jun  3 14:54:33  pdfm-bootstrap[31741] <Info>: inittool[31691]: Running uninstaller
INIT_PROGRESS: 35
Jun  3 14:54:33  pdfm-bootstrap[31778] <Info>: inittool[31691]: Restore Parallels Desktop [/var/folders/zz/zyxvpxvq6csfxvn_n0000000000000/T/parallels-desktop.BEXibvBI/Parallels Desktop.app > /Applications/Parallels Desktop.app]
INIT_PROGRESS: 45
Jun  3 14:54:33  pdfm-bootstrap[31782] <Info>: inittool[31691]: End of uninstallation procedure
INIT_PROGRESS: 50
Jun  3 14:54:33  pdfm-bootstrap[31783] <Info>: inittool[31691]: Check and remove broken previous version...
INIT_STATE: STATE_INIT
INIT_PROGRESS: 50
Jun  3 14:54:33  pdfm-bootstrap[31803] <Info>: inittool[31691]: Starting bootstrap action 'install_safari_extensions' in background
Jun  3 14:54:33  pdfm-bootstrap[31806] <Info>: inittool[31691]: Installing Safari extensions...

Jun  3 14:54:33  pdfm-bootstrap[31838] <Info>: inittool[31691]: Endinging bootstrap action 'copy_learn_videos' with exit code '0'
INIT_PROGRESS: 58
Jun  3 14:54:33  pdfm-bootstrap[31846] <Info>: inittool[31691]: Starting bootstrap action 'fix_library_parallels_dir_owner'
Jun  3 14:54:33  pdfm-bootstrap[31847] <Info>: inittool[31691]: Fixing Library/Parallels owners...
Jun  3 14:54:33  pdfm-bootstrap[31858] <Info>: inittool[31691]: * winkelsdorf  OK
Jun  3 14:54:33  pdfm-bootstrap[31859] <Info>: inittool[31691]: Endinging bootstrap action 'fix_library_parallels_dir_owner' with exit code '0'
INIT_PROGRESS: 66
Jun  3 14:54:33  pdfm-bootstrap[31860] <Info>: inittool[31691]: Waiting background job 'install_safari_extensions' with pid 31804...
Jun  3 14:54:34  pdfm-bootstrap[31868] <Info>: inittool[31691]:   'install_safari_extensions' finished successfuly
INIT_PROGRESS: 74
Jun  3 14:54:34  pdfm-bootstrap[31869] <Info>: inittool[31691]: Waiting background job 'fix_sharedapp_bundle' with pid 31807...
Jun  3 14:54:34  pdfm-bootstrap[31870] <Info>: inittool[31691]:   'fix_sharedapp_bundle' finished successfuly
INIT_PROGRESS: 82
Jun  3 14:54:34  pdfm-bootstrap[31871] <Info>: inittool[31691]: Waiting background job 'reg_bundles' with pid 31819...
Jun  3 14:54:34  pdfm-bootstrap[31872] <Info>: inittool[31691]:   'reg_bundles' finished successfuly
INIT_PROGRESS: 90
Jun  3 14:54:34  pdfm-bootstrap[31873] <Info>: inittool[31691]: Waiting background job 'prlapps_folder_icon' with pid 31828...
Jun  3 14:54:34  pdfm-bootstrap[31874] <Info>: inittool[31691]:   'prlapps_folder_icon' finished successfuly
INIT_PROGRESS: 98
Jun  3 14:54:34  pdfm-bootstrap[31875] <Info>: inittool[31691]: Remove temporary directory (/tmp/parallels-desktop-init-31691.tmp)
Jun  3 14:54:34  pdfm-bootstrap[31877] <Info>: inittool[31691]: Write Stat Info about installation
🍺  parallels-desktop staged at '/opt/homebrew-cask/Caskroom/parallels-desktop/11.2.0-32581' (32 files, 752K)

That looks better, despite giving some warnings/errors about ownership and permissions.
Probably just need to add the sudo required flag to that cask due to it's services? Should be sufficient, as forced re-installation is not going to happen that often (and that console garbage is imo acceptable in that case).
Cheers,
Frederik

@winkelsdorf Can reproduce by doing sudo -K beforehand.

Probably just need to add the sudo required flag to that cask due to it's services?

That shouldn’t be necessary as Homebrew Cask should ask for the sudo password by default whenever it feels it is unable to move the .app bundle.
I’m looking into this.

Did you also try installing it twice? I.e. installation and afterwards a second pass with --force.

I did not. Since we’re undergoing breaking changes and hence we can’t as accurately detect the sources of problems, I think it’s best to ask users to nuke the app and reinstall after.

gives this output upon a forced re-install

That output is generated by parallels’ own install script. We could easily silence it, but having it there might be more sensible.

@claui Thanks for confirmation and having a look into that 👍
My guess is that the sudo requirement is probably triggered on re-installation by an already running Parallels service/kext..
@vitorgalvao Fully agreed. I followed #13201 and #13966 quite a while, re-installing my casks was part of testing, like a silent contribution.

That output is generated by parallels’ own install script. We could easily silence it, but having it there might be more sensible.

Yes of course that's from the Parallels script, but again agreed: in that case should probably not be silenced. What I wanted to point out was that it complains about wrong permissions when (re-)installed via Cask, 9th line:
Jun  3 14:54:32  pdfm-bootstrap[31715] <Error>: inittool[31691]: '/Applications/Parallels Desktop.app/Contents/MacOS/Parallels Service' - incorrect permissions (0755)

But this has no consequences at all (works fine after installation) and I can't compare against cask-less installation as I don't have a log for this situation around.
So except for Parallels and another Cask (Google Music Match, https://github.com/caskroom/homebrew-cask/blob/master/Casks/music-manager.rb) I had no problems with the changed installation behavior! 💯
Will create an issue for Google Music Match shortly.
Cheers,
Frederik

Closing this issue as it will be fixed with PR #21665.
Thanks to everyone who contributed their detailed report!


Autonoumous-Driving Car - a different vision

My vision about Autonomous-Driving Car
I’ve always claimed that the concept of Self-Driving Car can’t exclude the concept of sharing knowledge. In a few words, why reconstruct an information when already exists and/or has been already calculated by another agent (a sdc for example).
Then, I’m very sure that it is impossible (or stupid) to think to build a car that not share information with a system in which it lives.
Told this, we should think an autonomous-car that is able to adopt three different states:

Self-Driving Car: car is completly autonomous. Use different technologies (LiDAR, Radar, Camera, IMU, ...) to move into an environment.
Hybrid-Self-Dring Car: car interact with the environment (Smart City and Autonomous Car) sharing information that permits itself to know how to move into.
Reliant-Driving Car: car is completely under control of the Smart City that catches information from the environment (using sensors and Autonomous Car) to drive the car.

For item 2) and 3), the concept should be mindful of privacy and security concern. Those concerns should not be scoped item, and maybe even not technology related, but need to be aware of.
Although it is for self-driving car, but user interaction/interference should be considered also, especially in a crowded city environment.

@ppirrip your considerations are right. My punctuation should be useful to do a guideline for our project. There are different concepts of SDC developed by different companies. After this, I know that our project refers to human-assistant concept. Right?


[ZEPPELIN-1647] Save roles and use for broadcasting note list per user

What is this PR for?
So far roles have been accessible only from SecurityUtils for Rest api or from websocket message field. However sometimes it's required to access roles in websocket server even without receiving message, say for broadcasting note list per user. More details in issue.
What type of PR is it?
Bug Fix | Improvement
Todos

[x] - add roles in NotebookAuthorization
[x] - assign roles on login
[x] - use roles on broadcast
[x] - test

What is the Jira issue?
ZEPPELIN-1647
How should this be tested?
login as user1, and user2 at same time and each user should have own workbench (based on notebook permissions)
Screenshots (if appropriate)
TBD
Questions:

Does the licenses files need update? no
Is there breaking changes for older versions? no
Does this needs documentation? no

CI is green. /cc @prabhjyotsingh for help reviewing as contributed to it before. Also @Leemoonsoo @astroshim if having time

Based on test cases, i think this should be fine.
LGTM

Merge if there're no further comments.

Tried on local, LGTM!


release/v1.19 branch is not available

Will be such branch available similar to v1.17...etc? At which point for v1.19? Or envoy is dropping such practice?

@mathetake since you're now stable maintainer for Q3, can you create a release branch from v1.19.0 tag and kicks off 1.19.1-dev?

sure will do.

now created: https://github.com/envoyproxy/envoy/tree/release/v1.19


[Feature Request] Embedding model support

🚀 Feature
Support embedding model in https://huggingface.co/spaces/mteb/leaderboard
Motivation

Alternatives

Additional context

This quarter we are going to gradually expand our scope from a simplistic Llama to more usecases and model architectures, and those embedding models are definitely interesting to us! Also CC @tqchen

@junrushao Also curious do you have any plan to.add speculative decoding support?

This is in the scope this quarter as well

agree this is something we would like to do after the model expansion foundation

@junrushao Any update on this feature?

consolidating to #2324


Text on a path

Hi,
Searching for Text being able to follow a Path (eg an invisible curve)
similar to Inkscape: https://youtu.be/B3MOgQjElJ4?t=323
I saw https://github.com/GraphiteEditor/Graphite/pull/374
but this still doesn't seem possible?

This is supported in SVG, so it should be possible with our current SVG-based render engine. But it wouldn't work with our current approach of interactively editing text, users would just have to be content with editing it in a regular rectangular area until completing the text editing to view it on the curve. I can envision the general UX for this working by using the Text tool and clicking on the edge of a path. Perhaps in that case, we'd insert "Lorem ipsum" or "Sample text" so it's clear what happened and the user can click it to begin editing (rectangularly).

users would just have to be content with editing it in a regular rectangular area until completing the text editing to view it on the curve.

That's perfect!


MatTable Version 1

#54 MatTable Version 1, with basic pagination. Definitely needs more work with css styles and additional functionality is foreseeable. Needs to start somewhere though. Future versions may include sorting, filtering, grouping.

Added Ripple to MatList Items. It was missing and that is a big part of the "material" experience for me.


Implement literature search (phase 1) in the content API

In the current implementation Drupal triggers a crawl of mendeley and generates JSON files.
In phase 1, we wish these to be searchable from omnisearch and agree that the best first implementation will be to import these into Drupal and surface in the CMS JSON API.  We should consider if these are really the same content type as the data-use type to keep the API concise.  Certainly from a naive user perspective, they are all just documenting use of GBIF.  We could consider a flag of curated for the GBIFS authored items.
In the future (phase2+) we may rewrite crawlers in Java and do richer APIs.

The data-use articles is a news coverage that may include multiple scholar papers as use cases, while mendeley citations may include reports that are not necessarily use cases of GBIF data. Therefore I'd suggest we should surface the literature as a distinct content type and it should be filterable from a search result. To make them available for search, some tasks are:

[ ] Create a bibliography content type
[ ] Dump all the crawled result (without changing the current crawling) to the content type
[ ] Configure and rebuild the index for generic full text search of Content API.

I'd suggest calling this the "reference" content type.  It is not a bibliography, which is the list of sources used to compile some work.  It is a content type documenting referenced use of GBIF, which is then further categorised by the tagging vocabulary.

Replaced with https://github.com/gbif/portal16/issues/60


belongs-to validator returns true

Oversimplified example of the issue:
models/user.js
const Validations = buildValidations (
    {
        category  : validator ('belongs-to')
    }
);
export DS.Model.extend (
    validations,
    {
       category           : DS.belongsTo ('category', {async : true}),
    }
);

components/component.js
componentInit : Ember.on (
			'init',
			function () {
				let store    = this.get ("store");
				let user = store.createRecord (
					'user'
				);
				console.log (user.get ("validations.attrs.category.isValid")); //true
			}
		),

If my model doesn't have any relationship, why does it validates as true?

It returns true because it has nothing to validate. I think what you're looking for is this:
const Validations = buildValidations (
    {
        category  : [ validator('presence', true), validator('belongs-to') ]
    }
);

Does belongs-to validate if the relationship's model is valid too?

All belongs-to does is create a link from the relational models's validations to the current one.

Ohhh get it, thanks! Closing

@offirgolan does model.get('validations.attrs.category.name.isValid') should work?

Nope that wouldnt work. You would need to do
model.get('category.validations.attrs.name.isValid')

I'm modifying your example, but I can't understand how isDirty works.
model.get('validations.attrs.category.isValid') returns true, but model.get('validations.attrs.name.isValid') returns false, in a new model. Why does this happen?


Efficient download of messages from remote grib2 without inventory

Hi,
Is there a way to select byte ranges in a grib2 file on a remote server if there is no inventory file?  In other words, can an inventory of messages be built without downloading the entire grib2 file?
In theory, there must be a way to do one pass to read only message headers (and get the byte ranges), but not sure if pygrib provides a way to do that.
Thanks.

There is some code in issue #42 that shows how parse a grib file (provided as a binary string) into a sequence of grib messages, including finding the offsets and lengths.  Don't think this allows you to generate an inventory without reading all the bytes though.

Seems promising. Is there a known number of bytes that form a header from which pygrib could tell me the level, endStep, etc. of that message?  (I'm not sure if a pygrib.fromstring() on just a header with no data would cause it to barf.)  I'm trying to avoid having to download the actual data for every message.
Big picture is that HAS files are giant tars.  Since the tars are uncompressed, we can efficiently build an inventory of its contents (what byte range each grib file is in within the tar) without downloading it (just skipping ahead to the tar headers).
If we could take it a step further and "read" the header bytes of each grib file and determine if we want it, then we wouldn't have to download 250GB of tars to use [5GB] of data.  We'd get reasonably close to random access.

Don't know off the top of my head, would have to read the GRIB spec.

All right, I'll close this out for now.  I don't think I have time at the moment to dig deeper into the spec either.

Is there any progress made on this?


feat: use wrapIdentifier and postProcessResponse hooks

Coverage increased (+0.7%) to 97.429% when pulling 28f461cad496c640a8079b125344762849ec2e90 on refactor/query-context into 336b511cb8d45bfd5c516690b51783eeeb20a73c on master.

field-name to column-name mapping became too difficult to do with knex. wrapIdentifier is not reliable considering it's also called with table names and aliases (i.e. all "identifiers") and it just doesn't work with our api for joins. after a lot of different attempts, I decided to remove knex and instead generate SQL in knorm (with sql-bricks) and then run it with plugins (which can manage database connections, pooling, transactions etc). This is currently tested and working surprisingly well with knorm-postgres: https://github.com/joelmukuthu/knorm-postgres/pull/2.