tapgarden/rpc: expose custom sighash flags for vPSBT funding to enable trustless asset swaps

Background
Today, we have the vPSBT API which allows users to do custom spends using assets the daemon owns. Those custom spends can also have their own scripts, and also eventually custom sighash flags as well. Due to the unique nature of the TAP overlay, flags that normally are considered useless, like SIGHASH_NONE, are actually of use for non-interactive swap scenarios. In this case, a seller can publish some data, and the "first" (subject to fee bidding, etc) buyer to add enough funds is able to claim those assets.
The "One Little Trick" 🪄
The missing component to enable this today is allowing users to sign on the TAP level with custom sighash flags. We also want to expose users bringing their own PSBT as well. Once this is exposed, SIGHASH_NONE can be used to sign "blank checks" (on the TAP layer). However, these blank checks cannot be cashed without also spending the input that encumbers the check input. That input can only be spent by completing a Bitcoin input/output "puzzle", by adding enough extra inputs to pay the seller and make the check claim valid. This process is non-custodial, and non-interactive 😎.
Sally The Seller's Signed Offer
Here's an example flow to illustrate the concept:

Sally decides to part with her 1-of-1 holographic beefzard card gifted to her by her grandpa so she can make a down payment on a condo in the new SpaceX Luna base.
She has an input X, that commits to the beefzard card (and nothing else for simplicity of this example).
She makes a PSBT (Bitcoin layer) that adds input X, and then an output with a bip 86 addr (doesn't commit to any assets). This 1-in-1 out input is signed with SIGHASH_SINGLE | SIGHASH_ANYONE_CAN_PAY. The output asks for 1 BTC on top of the input amount.

At this point, the transaction isn't valid. The transaction is missing that 1 BTC input.

Sally now makes a vPSBT for the output that the buyer will use to claim the beefzard card. This vSPBT output is "loose", in that everything known is specified, but it doesn't commit to a script key, nor internal key.
Sally signs (or w/e valid witness for the beefzard card) that vOutput, with SIGHASH_NONE. This means she doesn't commit to the script key the asset is to be sent to. This is where some of the magic happens.
Sally publishes her signed PSBT, and also the signed vPSBT.

The only way someone can claim this is to:

Provide enough input to pay Sally.
Anchor the vPSBT output into a new output under the control of the buyer.

Claiming the Swap Offer On-Chain
For someone to claim this:

They see the offer from Sally on Nostr, or w/e.
They add in their input on the Bitcoin level to complete the transaction.
They take the vOut, and anchor it in their new output, providing their own script key and internal key
Broadcast, ???, profit.

Here ??? means they may need to compete in the mempool with the other would-be buyers.

Interactive & Non-Interactive Auctions
To eliminate the ???, Alice can set up an open auction. She suspends her beefzard in a timelocked output (only needs to be on the TAP layer), then she has others send her offers, which come in the form of the 1-in-1 out described above. She can run things like a dutch auction using the sequence field of the execution transaction: as the price descends, so does the sequence field. Initially, only the highest price is available, then as time goes on, the lower prices are us available and unencumbered by the relative time lock.
You can make the process non-interactive again by publishing these time locked orders as outlined above.

"Today, we have the vPSBT API which allows users to do custom spends using assets the daemon owns"
does vPSBT API  means this api ?
/v1/taproot-assets/wallet/virtual-psbt/sign

It seems that initially, we need to implement SIGHASH for vPSBT. However, can we use 'universe' as a topic for P2P message distribution, and under this topic, these kinds of transactions enter into a subtopic, akin to an auction room? There are a series of conditions before entering this room, such as the timeout duration of the auction, and so on. By sharing an auction transaction mempool in this 'universe-room' manner, can we ultimately achieve a P2P transaction auction functionality based on TAPD?

"Today, we have the vPSBT API which allows users to do custom spends using assets the daemon owns" does vPSBT API means this api ? /v1/taproot-assets/wallet/virtual-psbt/sign

There are currently three API endpoints that deal with virtual PSBTs:
/v1/taproot-assets/wallet/virtual-psbt/fund
/v1/taproot-assets/wallet/virtual-psbt/sign
/v1/taproot-assets/wallet/virtual-psbt/anchor

@ben2077

However, can we use 'universe' as a topic for P2P message distribution, and under this topic, these kinds of transactions enter into a subtopic, akin to an auction room?

I think instead, something like Nostr would be better suited, as you don't necessarily need to keep all this information around, particularly if not all messages result in an actual mach. But otherwise, yeah, it's feasible to make a system where you can exchange+bid+clear+execute all this in a p2p manner.

Related to #118

Won't be huge just need to enable more than sighash all and then thread it through

The PSBT BIP already defines a PSBT_IN_SIGHASH_TYPE = 0x03 type, so we can just make sure we look at that field when signing the vPSBT.

Goal

[ ] Draft PR by 2023-12-18

[ ] Add unit tests to ensure sighash is being properly validated

Implementing:

[ ] Right-sized output s.t. there’s no change
[ ] Optimization: “Anyone can spend” clever trick


Update site to show Excel file inclusion in download packet

Description
Need design for how CBG list in both .csv and .xlsx forms would be downloaded as part of a packet
Front end changes:

change language to include excel
make sure download button is in all the right places

Solution
A clear and concise description of the solution.
Describe alternatives you've considered
Links to user research or other resources
Tasks

[ ] Design mockup of packet download link/s that shows ability to download list in both .csv and .xlsx forms along with PDF as part of .zip/s file/s

Definition of "Done"

Description
Need design for how CBG list in both .csv and .xlsx forms would be downloaded as part of a packet
Solution
A clear and concise description of the solution.
Describe alternatives you've considered
Links to user research or other resources
Tasks

[ ] Design mockup of packet download link/s that shows ability to download list in both .csv and .xlsx forms along with PDF as part of .zip/s file/s

Definition of "Done"

I think where we landed is that it should just be one .zip, action here is just for Design to confirm the right designs for dev to reference

@KameronKerger @janelien can you confirm and provide pointer to the design mockup showing that we just want to do one .zip file that contains .pdf, .csv, and .xlsx?

The current plan is to only have one button that downloads a zip of all 3 files.

Closing as a duplicate of #351


Cannot access onRouteChangeStart

Since your component wraps Link, what is the best way to listen to the onRouteChangeStart event?

Have you tried the usual way?
import Router from 'next/router'

Router.onRouteChangeStart = (url) => {
  console.log('App is changing to: ', url)
}


VirtualService HTTPDestination weight = 0 value overriden in code to 100

Bug description
The case where there is a single route with weight = 0, there might be need  to add some validations and logic fixes.
Per the docs
https://istio.io/docs/reference/config/networking/v1alpha3/virtual-service/#HTTPRouteDestination
"If there is only one destination in a rule, the weight value is assumed to be 100."
In case that the user has added a yaml with weight = 0, it seems that there are a few things that might be happening:

the weight = 0 is treated/overriden in code to 100, but the yaml remains with weight = 0 which is not very user friendly. So even if user explicitly wrote 0, 100 is used in code.
the comment in docs is not very clear that even if the weight is set, then its value is ignored.
(user could have left it empty too)
https://github.com/istio/istio/blob/7fbfec5e8e4afebc8e1d715854a7e22545e32e87/pilot/pkg/networking/core/v1alpha3/route/route.go#L393

there seems to be no validation for the case when there is a single weight that is !=100
https://github.com/istio/istio/blob/870877a1e3d01f6a2c285f67ed1f709a9f993095/pilot/pkg/model/validation.go#L2079

Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] User Experience
Expected behavior

the code reflects the yaml configuration set by user, not silently overriding it.
validation for the case where a single weight destination is either 0 or just <100 is added, so users know their setup is incorrect (which is the reason why it is overriden in the first place)

Steps to reproduce the bug
add a virtual service with one route and weight = 0
(although it's probably will work the same with any value < 100)
Version (include the output of istioctl version --remote and kubectl version)
latest

@xeviknal fyi

@GregHanson I am not sure how to tag this.  Does it belong in the https://github.com/istio/api repo?
The documentation comes from https://github.com/istio/api/blob/master/networking/v1alpha3/virtual_service.proto .  Because Istio internally represents configuration as an int32 it is difficult to distinguish skipping the field and explicitly setting it to 0.
@abonas is your user setting the weight to 0 intending to get Istio to send no traffic?  When I wish Istio to send no traffic I typically do
   fault:
       abort:
         percentage:
           value: 1
         httpStatus: 501

@GregHanson I am not sure how to tag this. Does it belong in the https://github.com/istio/api repo?
The documentation comes from https://github.com/istio/api/blob/master/networking/v1alpha3/virtual_service.proto . Because Istio internally represents configuration as an int32 it is difficult to distinguish skipping the field and explicitly setting it to 0.

Not sure I understand this part - "explicitly setting it to 0"
The configuration arrived with weight = 0 , and then the code sets it to 100, that's a complete change of logic IMO.

@abonas is your user setting the weight to 0 intending to get Istio to send no traffic? When I wish Istio to send no traffic I typically do

I witnessed it on a knative environment where user is creating an entity of type Channel, and then (I'm guessing, not that familiar with Knative) it's converted to VS by Knative

   fault:
       abort:
         percentage:
           value: 1
         httpStatus: 501

@abonas kubectl converts your YAML into JSON, then Istio converts that YAML into a Protobuf-derived Go struct that represents weight as an int32.  Once the weight is an int32 we can't tell if was explicitly set to 0 or skipped in the YAML.  The code that looks for 0 and sets it to 100 is trying to implement the default of 100% of traffic if the weight is skipped.

But isn't Galley validating the json before the conversion when the request is received?


fix zeebe pvcStorageClassName - cherrypicked for CI

Which problem does the PR fix?
Just cherry-picking this for CI:  #1040

What's in this PR?

Checklist
Please make sure to follow our Contributing Guide.

Before opening the PR:

[ ] There is no other open pull request for the same update/change.
[ ] The commits follow our Commit Guidelines.
[ ] Tests for charts are added (if needed).
[ ] The main Helm chart and sub-chart are updated (if needed).
[ ] In-repo documentation are updated (if needed).

After opening the PR:

[ ] Did you sign our CLA (Contributor License Agreement)? It will show once you open the PR.
[ ] Did all checks/tests pass in the PR?

Merged other PR since tests on this one passed.


Purview Workflow 2023-10-01-preview

https://github.com/Azure/azure-rest-api-specs/pull/25893
Description
Please add an informative description that covers that changes made by the pull request and link all relevant issues.
If an SDK is being regenerated based on a new swagger spec, a link to the pull request containing these swagger spec changes has been included above.
All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-purview-workflow

/check-enforcer override


Configured dependency version locking and updated Renovate auto-merge…

Proposed Changes
Configured dependency version locking and updated Renovate auto-merge rules to ensure stable and compatible dependency versions.
Related Issue(s)
N/A
Testing

Ensured that the project builds successfully with the locked version of github.com/spf13/afero.
Checked the functionality related to github.com/spf13/afero to ensure it works as expected with the specified version.

Documentation

Updated renovate/autoMerge.json5 to include the new auto-merge rules for github.com/spf13/afero and Go language version.
Documented the locked version of github.com/spf13/afero in go.mod and magefiles/go.mod.

Screenshots/GIFs (optional)
N/A
Checklist

[x] Ran mage runprecommit locally and fixed any issues that arose.
[x] Ran mage runtests locally and fixed any issues that arose.
[x] Curated your commits so they are legible and easy to read and understand.
[x] 🚀

Closing since renovate no longer required


please add support for godaddy api /v2/customers/{customerId}/certificates

Is your feature request related to a problem? Please describe.
With the current tables you cannot list all certificates for a customer account.  This might be because the plugin only supports v1 of the godaddy API? V2 of the API adds a new method to get all certificates for a given customerId
https://developer.godaddy.com/doc/endpoint/certificates#/
Describe the solution you'd like
I would like to use this plugin to get all the certificate details for all certificates, not just a particular certificateId
Describe alternatives you've considered
Hitting the API directly from Python instead of Steampipe.
Additional context
Add any other context or screenshots about the feature request here.

Hello @robdew,
Thank you for bringing this issue to our attention. I have updated the godaddy_certificate table to list out the certificates by customer ID and have pushed the changes to the issue-21 branch.
Unfortunately, I wasn't able to test it in our environment due to limited permissions.
If you could test it in the PR branch issue-21 and share your feedback, it would be greatly appreciated.
Steps to build the plugin from the branch issue-21:

Clone the repository: git clone https://github.com/turbot/steampipe-plugin-godaddy.git
Navigate to the plugin directory: cd steampipe-plugin-godaddy
Checkout the branch: git checkout issue-21
Build the plugin: make
Run the query.

Thanks!

I have been working on this but cannot make the latest release of the plugin work correctly either.
At this point the best I can offer is that this query:
select
  common_name,
  status,
  certificate_id,
  serial_number,
  created_at,
  valid_start,
  valid_end
from
  godaddy_certificate
where
  certificate_id = 'redacted';

Generates no results (that's not expected) with the latest release version of the plugin, but with the issue-2 release I get this additional error:
Error: godaddy: table 'godaddy_certificate' column 'contact' requires hydrate data from getCertificate but none is available.
 (SQLSTATE HV000)

Hello @robdew, apologies for the late response.
Were you able to query the table from the issue-21 branch by following the steps mentioned here?
In this PR, we added support for listing all certificates for a customer by specifying the customer_id in the WHERE clause (e.g., where customer_id = '295e3bc3-b3b9-4d95-aae5-ede41a994d13').
Regarding the error you mentioned, it does seem unusual. I’ve pushed another commit to the issue-21 branch that handles the not found error code. Could you please pull the latest changes and try running the following query again after rebuilding the code?
select
  common_name,
  status,
  certificate_id,
  serial_number,
  created_at,
  organization,
  root_type,
  valid_start,
  valid_end,
  revoked_at
from
  godaddy_certificate
where
  customer_id = '295e3bc3-b3b9-4d95-aae5-ede41a994d13'


Opendatacam output resolution

Good Day,
is there any config that could allow a different output resolution whilst accessing opendatacam app. Eg http://localhost:8080
This would be for trying to configure a device remotely in an area that has bad 4G/5G signal so drawing the counting lines over jittery video would make it hard to see if everything works 100%.
Is this something i could just do myself in the code?
Another extra idea would be to output just the counter lines as a layer on the video feed.
Similar to the mpeg stream that is exposed on port 8090 but it would just have the counter lines as a layer on top.
Thanks. :)

Hey, I'll try to answer all your questions in line below :-)

is there any config that could allow a different output resolution whilst accessing opendatacam app. Eg http://localhost:8080

If you mean the resolution of the video feed, then the answer is sadly "no". There's nothing built into ODC to change the video feed resolution.

This would be for trying to configure a device remotely in an area that has bad 4G/5G signal so drawing the counting lines over jittery video would make it hard to see if everything works 100%.

What exactly do you mean? The video and boxes use two different streams (which may sometimes cause them to be out of sync). For counting, only the boxes and path are relevant, so even if the video is out of sync you should be able to see the trajectories of the objects from the pathfinder view, which should help you place the counter lines.

Is this something i could just do myself in the code?

Maybe, depending on your coding skills. A starting point would be the mjpegproxy file, which forwards the images from Darknet to the browser.

Another extra idea would be to output just the counter lines as a layer on the video feed.
Similar to the mpeg stream that is exposed on port 8090 but it would just have the counter lines as a layer on top.

Not sure I understand. Can you maybe create a mock of that so I can see what you mean?

hello @effort10 .
I think i have faced what are you describing... ODC requires a lot of bandwidth to be able to stream raw mjpeg on the browser . Some additional tips adding to @vsaw reply:

lower your source video input resolution: darknet resizes every frame to the resolution the model has been trained on anyways so accuracy should not be affected. Ex. 416 x 416 on the standard coco dataset.  so you should be ok even with a 360p video with a decent bitrate from your video source.

this should also help with the video stream via 4G/5G connection  in the brower and also increase FPS.
2)Use the pathfinder trajectories to determine where your lines or zone should be placed. adding to that i recommend to install a Page Marker or Draw on Web extention on your brower.  this will allow you to mark over your trajectories .  so when you switch to the counter view you still have the reference where to place your lines.

For counter lines as a layer on the video feed idea: thats totally doable with openCV by downloading your line setup json file and making a script to overlay the line coordinates...  but in that case, you have to already have set the lines on site or on your local network....

Hi @maddust  & @vsaw
Apologies for the late reply.
I will try all the options that you guys have provided above :)
Thank you for the great suggestions.


Incorrect location name

Subject: Incorrect location name
Description:
I was trying to set up the location of the meetup for the Lumiere event and it has the District of North Vancouver in it (which is wrong & may confuse people) when actually the city is just Vancouver.
Results:
The address should just be 1527 Main Street, Vancouver, BC
Backend version: develop-1416d148
Frontend version: develop-1416d148
User Agent: Mozilla/5.0 (Linux; Android 11) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/95.0.4638.74 Mobile DuckDuckGo/5 Safari/537.36
Page: https://app.couchers.org/event/576/lumiere
User: ffbw (3535)

Issue is upstream in nominatim.


Simple ViT error

Hello, I'm trying to apply this to cv, using the code from Simple Vit give me this error.

There seems to be an error in this code

You need to squeeze the tensor in dimensions 1 and 2. It should work then.


[SPARK-49342][SQL] Make TO_AVRO SQL function 'jsonFormatSchema' argument optional

What changes were proposed in this pull request?
This PR make the TO_AVRO SQL function jsonFormatSchema argument optional.
For example, now it is possible to just call it with a single input argument:
create table t as
  select named_struct('u', named_struct('member0', member0, 'member1', member1)) as s
  from values (1, null), (null,  'a') tab(member0, member1);

select length(to_avro(s)) > 0 from t;

> true
  true

Why are the changes needed?
This makes the TO_AVRO SQL function easier to use.
Does this PR introduce any user-facing change?
Yes, see above.
How was this patch tested?
This PR adds unit test coverge.
Was this patch authored or co-authored using generative AI tooling?
No.

cc @gengliangwang

Sure, good catch @MaxGekk, this is done.

+1, LGTM. Merging to master.
Thank you, @dtenedor and @HyukjinKwon for review.


[feature] Optimize activerecord-import cache invalidation

Summary
When using PostgreSQL, we can reduce the number of records we have to invalidate for each import.
Postgres supports "RETURNING id", so we can easily get the result set back and perform invalidation on the created result set.
We also need to send another query before the import in case it's an UPSERT operation. In this case, we'd need to query all the values before updating so we can properly invalidate the cache.
As a result, we are now sending two extra SELECT SQL queries for each import operation. This should not be an issue since it only makes the import slightly slower -- the result set of both queries is strongly correlated with the size of the records to import (cannot be too big).
Test Plan

added test cases
ci

Codecov Report

Merging #19 (fa64a73) into main (3d0f550) will increase coverage by 0.08%.
The diff coverage is 94.73%.

@@            Coverage Diff             @@
##             main      #19      +/-   ##
==========================================
+ Coverage   96.83%   96.92%   +0.08%
==========================================
  Files          30       30
  Lines        1770     1819      +49
==========================================
+ Hits         1714     1763      +49
  Misses         56       56

Impacted Files
Coverage Δ

lib/redis_memo/memoize_query/invalidation.rb
95.58% <92.85%> (-4.42%)
:arrow_down:

lib/redis_memo/memoize_query.rb
98.48% <100.00%> (+0.04%)
:arrow_up:

spec/memoize_query_spec.rb
100.00% <100.00%> (+1.15%)
:arrow_up:

Continue to review full report at Codecov.

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

We talked about this a bit, but maybe we can set a size limit on the number of records being imported before doing this invalidation optimization?

Well that'd require another (3rd) query. I think with the current implementation, it's fine to not to set a limit: the result set size is the same as the record we're importing

add a comment to reference the import arg format
add test case to ensure no more over invalidation when import is optimized

What would the 3rd query be? Could we use the size of the # of records being imported, and not do any optimization if its > N?

Ah, I was thinking to send the 3rd query to figure out the size of the result_set of the or_chain, precisely.
If we were able to afford to store X records in memory to import, then selecting them again 2 more times should be fine. The case we need to prevent accidentally loading way too many objects to memory than we could affort


Feature Request - Smaller icons

Hey love the mod, this has replaced the Heath Monitor mod for me.
Would like to see a toggle setting to have the actor portrait icon show as a smaller image instead of larger one. Similar to how the chat portraits are.

Duplicate of #47


OverlayEntry should dispose _overlayEntryStateNotifier.

While comment is stating that disposal should happen in _didUnmount, it does not happen in the test: https://github.com/flutter/flutter/pull/133921
  void dispose() {
    assert(!_disposedByOwner);
    assert(_overlay == null, 'An OverlayEntry must first be removed from the Overlay before dispose is called.');
    _disposedByOwner = true;
    if (!mounted) {
      // If we're still mounted when disposed, then this will be disposed in
      // _didUnmount, to allow notifications to occur until the entry is
      // unmounted.
      _overlayEntryStateNotifier?.dispose();
      _overlayEntryStateNotifier = null;
    }
  }

@chunhtai and @goderbauer , can you help to triage this?

If the test both remove and dispose overlay, the issue disappears:
    late OverlayEntry overlayEntry;
    addTearDown(() => overlayEntry..remove()..dispose());


In setup_cluster.py, clean-catalog flag should be implied when the master catalog doesn't already exist

This confused me.

plus one! I was very confused


Automatically apply attrs when object is given

I have a really simple feature request that could potentially improve the syntax of applying attrs a little.
Lets say we have a styled card component with attrs for our background-color:
var Card = styled.div.attrs({
  bg: "tomato"
})`
  background-color: ${props => props.bg}
`

Now, applying attrs like that can make the code look really cluttered - so why not use something like this:
var Card = styled.div.attrs(this.attrs)`
  background-color: ${props => props.bg}
`

Card.attrs = {
  bg: "tomato"
}

Automating this - simplifying it so we only would have to define Card.attrs - would be really cool

That’s not how JS works. “this” is bound to the lexical scope at that point
and would not give you the result you want.
On Thu, Jul 26, 2018 at 4:20 AM Gameghostify<EMAIL_ADDRESS>wrote:

I have a really simple feature request that could potentially improve the
syntax of applying attrs a little.
Lets say we have a styled card component with attrs for our
background-color:
var Card = styled.div.attrs({
bg: "tomato"
})  background-color: ${props => props.bg}
Now, applying attrs like that can make the code look really cluttered -
so why not use something like this:
var Card = styled.div.attrs(this.attrs)  background-color: ${props => props.bg}
Card.attrs = {
bg: "tomato"
}
Automating this - simplifying it so we only would have to define
Card.attrs - would be really cool
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/1865, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAiy1n6bS4sNJLBCJo35B1zFx1QxBYq_ks5uKYnigaJpZM4Vhd7Q
.

The method above using this was rather a demonstration than actual syntax to be used.
What I was trying to say is that the concept of React's defaultProps could also be applied to .attrs, this way the code would look a bit better.

I understand, probably not something we’ll do. It’d be easy enough for you
to write a helper function to do that though if you want in your project.
On Thu, Jul 26, 2018 at 1:36 PM Gameghostify<EMAIL_ADDRESS>wrote:

The method above using this was rather a demonstration than actual syntax
to be used.
What I was trying to say is that the concept of React's defaultProps
could also be applied to .attrs, this way the code would look a bit
better.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/styled-components/styled-components/issues/1865#issuecomment-408194106,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAiy1rLa5GjkaGB8WyXkKHkQ7ThcckBTks5uKgw-gaJpZM4Vhd7Q
.


Keywords for guards are inconsistent

We're currently being inconsistent, and arguably ambiguous, with the keywords used for guard conditions, ie where and if.
We use guards to indicate that a piece of code is only relevant under certain conditions. We do this in 3 places (that I can think of):

Cases of a match expression.
Case methods.
use commands for declaring FFIs, linking libraries, etc.

For the first 2 of these we use where, but for the last we use if.
Furthermore we also use where to indicate arguments passed by name, which is an unrelated concept.
I think we should use the same keyword for all 3 of these guards (and any others we add later), and it probably shouldn't be the same as the keyword for passing arguments by name.
An obvious choice is to keep where for arguments by name and use if for all guards, however that would make the syntax for match cases ambiguous, since if could be part of the pattern.
An alternative would be to use where for both guards and arguments by name, although that seems a bit ugly.
Other suggestions welcome.

From a quick look at pony.g, it looks like we already have with as a keyword.  I wasn't aware of it, but it appears to be used in forms like:
with foo = "foo", bar = "bar" do
  foo + bar
end

I'm not quite sure what with does, or where it's documented, but it appears to be a related concept to the passing of named arguments.  It's at least more related than a guard expression.
I'd also say that with reads quite naturally when used to pass named arguments, even more naturally than where.
Util.concatenate(with foo = "foo", bar = "bar")

Isn't with here ambiguous though as there's no demarcation now between positional and named arguments? Generally where works better ( for me ) for guards, but even in the FFI case if is ok as we are generally conditionally calling based on platform etc...

Pony with is equivalent to using in some other languages. It's a way to create objects and have them automatically disposed of immediately when they go out of scope (rather than waiting for GC). Typically it's used for things like file handles.
Using with for named arguments would indeed be ambiguous as @darach says.

how about when for all 3 guards? It definitely makes sense in the 3rd (when platform is windows), and for the first, and for the second by conceptual extension (case methods).
where also implies position, whereas when is more of a guard?

The problem with when, for me, is that I become confused about when to use where and where to use when :)
However, if we move the case function guard to after the result type #351 , and we change a caseexpr pattern from an infix to a new pattern rule that is a postfix or a local variable declaration, we can use if for all guards (and thus all conditionals) and where is then used only for named variable passing.
So:
use "foo" if linux

fun apply(x: U64): Bool if x > 3 => ...

match x
| let s: String if s != "hi" => ...
| if x > 3 => ...

Done. We now use if for all guards and where only to indicate passing arguments by name.

+1


SpeechRecognizer should be used only from the application's main thread on GVRScript

It is possible to run on a class that extends from GVRScript, some code that going to run on main Thread ?
I'm trying to run this code:
"SpeechRecognizer.createSpeechRecognizer(gvrContext.getContext());"
this is the error:
java.lang.RuntimeException: SpeechRecognizer should be used only from the application's main thread

If you pass your GVRActivity to the script’s constructor, you can call Activity methods like runOnUiThread() from your script.
From: DanielNogueiraAndroid<EMAIL_ADDRESS>Sent: Friday, May 22, 2015 12:00 PM
To: Samsung/GearVRf
Subject: [GearVRf] SpeechRecognizer should be used only from the application's main thread on GVRScript (#69)
It is possible to run on a class that extends from GVRScript, some code that going to run on main Thread ?
I'm trying to run this code:
"SpeechRecognizer.createSpeechRecognizer(gvrContext.getContext());"
this is the error:
java.lang.RuntimeException: SpeechRecognizer should be used only from the application's main thread
—
Reply to this email directly or view it on GitHubhttps://github.com/Samsung/GearVRf/issues/69.

Ok it works !!!
You have any idea how to do that if i need to call this code:
"SpeechRecognizer.createSpeechRecognizer(gvrContext.getContext());"
inside a class that extends from GVRSceneObject ?
without pass GVRActivity as parameter (avoiding to have instance of GVRActivity inside GVRSceneObject)
something like gvrContext.runOnGlThread but for MainThread

without pass GVRActivity as parameter (avoiding to have instance of GVRActivity inside GVRSceneObject)  like gvrContext.runOnGlThread but for MainThread

We're having a slow-motion internal discussion about exposing the GVRActivity via GVRContext. One of the changes I made very early on was changing GVRContext.getContext() to return the ApplicationContext, not the Activity. This was robotic, Android 101 thinking on my part: You don't hold onto an Activity because that can be a huge memory leak. But GVRF has turned out to be very single-Activity, and we'll probably

Let GVRContext.getContext() return the GVRActivity, as a Context.
Add a new GVRActivity GVRContext.getActivity() that will give you access to all the Activity methods.

Great !!!

Pull request https://github.com/Samsung/GearVRf/pull/80


Update perfect-scrollbar to 1.3.0

#8544
Testing Plan: Manual testing has found some CSS bugs which I'ved fixed (The new PS came with updated CSS class names).
To Tim: I ended up using this element[0].perfectScrollbar = perfectScrollbar which made the refactor to use vanilla JS unnecessary.

After provisioning, I get this exception when trying to load the page:
Uncaught TypeError: __WEBPACK_IMPORTED_MODULE_0_perfect_scrollbar___default.a is not a constructor
    at eval (webpack:///./static/js/portico/help.js?:100)
    at eval (webpack:///./static/js/portico/help.js?:200)
    at Object../static/js/portico/help.js (help.js:919)
    at __webpack_require__ (help.js:658)
    at fn (help.js:86)
    at eval (webpack:///multi_./~/perfect-scrollbar/dist/js/perfect-scrollbar.jquery.js_./static/js/portico/help.js?:2)
    at Object.0 (help.js:926)
    at __webpack_require__ (help.js:658)
    at help.js:707
    at help.js:710

@timabbott I am having trouble reproducing. If it wasn't fixed in the rebase I just pushed, I think it might have something to do with your local yarn.lock.
In your error it says (perfect-scrollbar/dist/js/perfect-scrollbar.jquery.js which is no longer the path, (it should be perfect-scrollbar/dist/perfect-scrollbar.js'. I updated the path, so maybe you need to run yarn upgrade perfect-scrollbar`? I did that on mine and pushed which is why I'm confused, there shouldn't be references to the outdated perfect-scrollbar.

Hmm, interesting.  I wonder if there's a problem with provisioning here...

When I was making this branch, I had to separately do yarn upgrade perfect-scrollbar even after updating package.json and provisioning. Wasn't sure if the provision is supposed to take care of yarn.

Provision should.
Ahh, I think I know the problem: Because we changed filenames, I needed to restart the server (webpack for some reason doesn't pick up config changes that e.g. add new files correctly).

I have just retested and provision does not update yarn.lock, while yarn upgrade does.

Yeah, sorry, just to be clear, provision should install dependencies from yarn.lock; it's the responsibility of whoever updates our dependencies to update yarn.lock after updating package.json.
See zulip.readthedocs.io/en/latest/subsystems/dependencies.html

I test-deployed this on chat.zulip.org, and it worked well there; so I've merged this.  Thanks @gooca!
If you're interested, a good next project could be working on updating the other out-of-date packages in package.json.  I'd generally do this one-commit-per-package, and try to first merge updates to the ones that don't cause any trouble, before moving on to any that require extra effort to update.


Add support for nodeName

Is your feature request related to a problem? Please describe.
We use nodeName option instead of nodeSelector. Then, we realize there was no support for nodeName.
Describe the solution you'd like
If nodeSelector null or empty, check the nodeName.
For example function:
func HasOwnerNodeName(client clientset.Interface, pod *v1.Pod) bool {
	owner := podutil.OwnerRef(pod)[0]
	switch owner.Kind {
	case "ReplicaSet":
		replica, _ := client.AppsV1().ReplicaSets(pod.Namespace).Get(context.TODO(), pod.OwnerReferences[0].Name, metav1.GetOptions{})
		return replica.Spec.Template.Spec.NodeName != ""
	case "<OTHER KINDS>":
		return false
	}
	return false
}

Describe alternatives you've considered
What version of descheduler are you using?
descheduler version: v0.22.1
Additional context
cc: @Dentrax @eminaktas @developer-guy

Addition to this proposal, there may be some concerns that we should consider:

in the getTargetNodes() function loop, we are traversing all pods and HasOwnerNodeName function request an API call to API Server in order to get owner object of the given pod. This would cause heavily API load to cluster. To tackle this problem, we should not do additional call to HasOwnerNodeName() function in case nodeSelected already passed. (will slightly decrease the overall load)
pod can be static. in this case pod does not have an owner. we can return false in this case.

@yasintahaerol would you mind to elaborate more on the use case? I am out of context here. @Dentrax mentioned getTargetNodes() function which is used in the RemoveDuplicatePods strategy but I still do not follow.

We currently check the only nodeSelector field, but we can also add support for nodeName field. We had to debug the Descheduler manually and finally figured out that nodeName not supported.

I'm also experiencing this issue. @ingvagabund I'm not sure if the other users meant the same thing, but this is what's happening in my case:

some statefulsets use local storage drivers (openebs local zfs in this case)
the pod won't have a nodeSelector, but a nodeName
I have a statefulset with two replicas and the second replica keeps getting evicted because of RemoveDuplicatePods rule

The goal would be to detect that this is false positive and the pod is not evicted

/remove-lifecycle stale
/remove-lifecycle rotten

It sounds like the ask is to be able to exclude a pod from eviction if it has a nodeName set?

That's right!

That might be difficult since every scheduled pod is going to have a nodeName set...

What if it's a static Pod?


Need a Way to Build Local Site without Environment Variables

Currently you have to set some local environment variables for the donor wall as well as the Stripe/Paypal stuff. For most folks that won't be needed if they are testing or updating things, so it would be nice for the site to build without the variables.

Fixed with 2037aab33564802063b4279a51d287b7743ee01d. Site will now build without environment variables. Donor wall will be empty, and the Stripe and Paypal forms will not work, but the site does build.


unbound module: set correct networking.networkmanager.dns value

Describe the bug
NetworkManager dropped unbound support but the unbound module still sets networking.networkmanager.dns = "unbound", leading to the following warning in the syslog: NetworkManager[1477]: <warn>  [1710317259.2291] dns-mgr: init: ns mode 'unbound' was removed. Update your configuration
Steps To Reproduce
1.set services.unbound.enable = true;
2. reboot and check the syslog
Expected behavior
The unbound module should set the correct value (which i don't know to be honest).
Additional context
See https://github.com/NixOS/nixpkgs/issues/295369
Notify maintainers
@Janik-Haag
@dasJ

Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.0, NixOS, 24.05 (Uakari), 24.05pre596105.0ad13a683344`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.1`
 - channels(root): `"nixos"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

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

I missed that the unbound module sets the networking.networkmanager.dns option, I'll drop that in another pr.
As to the question you asked about being able to use unbound with networkmanager, I'm afraid you cant because upstream doesn't support that anymore and if you want support regarding this ask in the freedesktop community spaces.

This issue has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/how-to-use-unbound-as-the-sole-dns-resolver/41371/1


PR not updated on leaderboard

Respected sir/ma'am
My PR (312)  for issue #199 has been merged yesterday but the leaderboard score and PR is not updated.

@Satuti99 you need to provide the link else it will be time consuming

becasue i can only see your merged PR over here, else I have to go to your profile , need to find respective repo you contributed, search for 312 or 199.
then understand the issue. Thats takes a lot of time
also this is the place for discussion: https://github.com/GSSoC24/Contributor/discussions/categories/q-a

ok @sanjay-kv sir here are the link for PR(https://github.com/Mansi168/EmoWell/pull/312#event-13593084517) .

I dont have access to that pr now,
raise a direct pr in my repo mentioning that issue I will assign you the https://github.com/recodehive/machine-learning-repos lebales rn


Examples of ML.NET + Tensorflow for Binary and Multiclass Classification

There is very little documentation on using ML.NET with pre-built Tensorflow models, with the exception of this one:
https://docs.microsoft.com/en-us/dotnet/machine-learning/tutorials/image-classification
Which is solely for Image Classification. No further documentation is provided on doing the same with other non-image related classifications.

Hi, @danucalovj! Check out this sentiment analysis sample that uses TensorFlow. Hopefully this will get you close. https://github.com/dotnet/machinelearning/blob/master/docs/samples/Microsoft.ML.Samples/Dynamic/TensorFlow/TextClassification.cs

Thanks @JRAlexander! This is very helpful.


Add force_rerun flag

This closes #32
When setting force_rerun to True on client.run(), a uuid will be generated and added to the cache key to create uniqueness and therefore allow the client to get a new generation from the chosen API.

Addressed by adding run_id (in main).


Plugin not available for RIder

Actual:

Expected:
Todosaurus listed in the marketplace
Rider Version
JetBrains Rider 2023.3.3
Build #RD-233.14015.60, built on January 18, 2024

It is still on under verification, that's why it's not yet available.

Got it, thanks!


'codemirror-advancedsearch@latest' is not in the npm registry

i can't find the codemirror-advancedsearch package in npm , when i enter the  'npm install --save codemirror-advancedsearc' .Could you publish it ? thanks :)

I have know the reason. The right command for dialog is
npm i codemirror-advanceddialog
and the command for search is
npm i codemirror-revisedsearch


feat(ui): adding Radio atom component

sign-off<EMAIL_ADDRESS>GitHub Issue
Add a link to the GitHub issue.
Changes
A summary of the changes in the code in this PR. If making any UI changes consider adding screenshots or gifs.
Packages Added
Brief list of any packages added, and if folks need to rerun yarn install to run locally
Checks
Before making your PR, please check the following:

[x] Critical lint errors are resolved
[x] App runs locally
[x] App builds locally (run the build command for any impacted package and check for any errors before the PR)

@jordanlesich You're right. I wasn't at 100% zoom. Now it looks correct on my end 👍🏼


Investigate removal of repositories other than maven central from POMs

It appears that all the dependencies required by Gaffer are available in Maven central, which is the default repository used by Maven. Although this may not have been the case in the past. When running builds Maven occasionally tries to check repos.spark-packages.org if it can't find a package in Maven central. This is often because of a mistake with the version.
It's unclear if this repository (see below - defined in spark library) is actually required or if it can be removed. On a clean installation of Maven with no preexisting dependencies downloaded, investigate to see if it can be removed without causing any missing dependencies.
<repositories>
   <repository>
      <id>Spark Packages</id>
      <url>https://repos.spark-packages.org/</url>
   </repository>
</repositories>

Running mvn help:effective-pom -Dverbose -pl :spark-library confirms that the way the spark-packages repo is specified causes it to take precedence over the default central repo:
<repositories>
    <repository>
      <id>Spark Packages</id>  <!-- uk.gov.gchq.gaffer:spark:2.0.1-SNAPSHOT, line 35 -->
      <url>https://repos.spark-packages.org/</url>  <!-- uk.gov.gchq.gaffer:spark:2.0.1-SNAPSHOT, line 36 -->
    </repository>
    <repository>
      <snapshots>
        <enabled>false</enabled>  <!-- org.apache.maven:maven-model-builder:3.8.6:super-pom, line 33 -->
      </snapshots>
      <id>central</id>  <!-- org.apache.maven:maven-model-builder:3.8.6:super-pom, line 28 -->
      <name>Central Repository</name>  <!-- org.apache.maven:maven-model-builder:3.8.6:super-pom, line 29 -->
      <url>https://repo.maven.apache.org/maven2</url>  <!-- org.apache.maven:maven-model-builder:3.8.6:super-pom, line 30 -->
    </repository>
  </repositories>

As a result, Maven will check the spark repo ahead of central. When cloning the project for the first time this can cause significant delays while Maven tries to fetch from this repo, only falling back to fetching from central after timing out in some cases.
The PR to fix this adds central to the POM above spark-packages. This ensures it is only used as a fallback when the single package graphframes:graphframes is not found on Maven central.


Add utility to parse a duration string

Description

What is the purpose of this pull request?

This pull request:

adds a base time utility to parse a duration string into an object.

Related Issues

Does this pull request have any related issues?

This pull request:

resolves #
fixes #

Questions

Any questions for reviewers of this pull request?

Requesting review of README.md before rolling out implementation.
Other

Any other information relevant to this pull request? This may include screenshots, references, and/or implementation notes.

No.
Checklist

Please ensure the following tasks are completed before submitting this pull request.

[x] Read, understood, and followed the contributing guidelines.

@stdlib-js/reviewers

Package is now ready for review.

Made all requested changes, PR is ready for final review.

Thanks, @Planeshifter! Once all checks pass, I'll merge this in.


highly experimental macOS hijacking for v8killer launcher

WARNING: Still very unstable and not-process-elegant :P
I assume that user have installed Xcode on their Mac computers which contains codesign for re-signing the target executable program. Then we copy the entire application bundle to a temporary direction to modify the program to hijacking v8killer. Then sign and run, that's it.

写英语好辛苦还是用中文再写一遍吧（雾）
反正现阶段我能实现的是对目标应用程序（通常是 App Bundle）拷贝到一个临时目录然后作注入和签名操作（这个过程也许可以被缓存？）最后再执行修改后的产物，理论上只要签名成功应该就可以被执行了。
然鹅现实很骨感（）
签名过程还是有问题，不过还是为了集思广益提前开这个草稿 PR ，我会把详细的情况发到评论里面，可以帮忙参考一下。

本人目前的执行流程（以 QQ 举例）：
     Running `/Users/stevexmh/Documents/programs/v8_killer/target/debug/v8_killer_launcher /Applications/QQ.app/Contents/MacOS/QQ`
[*] Executable: /Applications/QQ.app/Contents/MacOS/QQ
[*] Args: []
[*] Core lib path: /Users/stevexmh/Documents/programs/v8_killer/target/debug/libv8_killer_core.dylib
[*] creating executable temp path: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI"
[*] executable is under a bundle: "/Applications/QQ.app"
[*] copying bundle to temp path: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app"
[*] removing signature: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app"
[*] removed signature: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app"
[*] copying v8_killer to temp path: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/Frameworks/V8Killer.framework/libv8_killer_core.dylib"
[*] hijacking bundle executable...
[*] hijacking "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/Frameworks/V8Killer.framework/libv8_killer_core.dylib" to "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/MacOS/QQ"
[crates/insert_dylib/src/lib.rs:103:24] args = [
    "insert_dylib",
    "--all-yes",
    "--inplace",
    "--strip-codesig",
    "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/Frameworks/V8Killer.framework/libv8_killer_core.dylib",
    "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/MacOS/QQ",
]
[crates/insert_dylib/src/lib.rs:108:50] args.len() as c_int = 6
insert_dylib_main
Binary is a fat binary with 2 archs.
It doesn't seem like there is enough empty space. Continue anyway? [y/n] y
It doesn't seem like there is enough empty space. Continue anyway? [y/n] y
Added LC_LOAD_DYLIB to all archs in /var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/MacOS/QQ
[crates/insert_dylib/src/lib.rs:108:18] unsafe { insert_dylib_main(dbg!(args.len() as c_int), args.as_ptr()) } = 0
[*] signing modified executable/dylib...
Executable=/Applications/QQ.app/Contents/MacOS/QQ
[*] signed: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app/Contents/Frameworks/V8Killer.framework"
/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app: internal error in Code Signing subsystem
[*] failed to sign: "/var/folders/yz/gfxc6vfd04lg_h_j1kcgy39h0000gn/T/v8-killer-app-.jyvqYv6RduuI/QQ.app"
thread 'main' panicked at crates/launcher/src/lib.rs:290:55:
called `Result::unwrap()` on an `Err` value: "failed to sign"
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

Thank you very, very much for your efforts, but I think this is a PR I probably won't merge.
I think it's a very primitive solution and at the same time out of the focus of this project.
The direction I would suggest is to check if the target program has a code signature, and if it does (and can't be injected) then just report an error and exit (directing the user to manually patch using another program).
Thank you very much for your contribution and I look forward to your ideas.

Perhaps you could try moving this patch-related logic into a separate program

Thank you very, very much for your efforts, but I think this is a PR I probably won't merge.
I think it's a very primitive solution and at the same time out of the focus of this project.
The direction I would suggest is to check if the target program has a code signature, and if it does (and can't be injected) then just report an error and exit (directing the user to manually patch using another program).
Thank you very much for your contribution and I look forward to your ideas.

If that is what your project was focus on, then there (almost) won't be any methods for the program that has been already signed to inject, and only the program that was compiled from user's computer can be able to inject the dynamic library.
And our situation is that all the programs we wanted to patch was always bundled in application bundle and all of them are signed.

Thank you very, very much for your efforts, but I think this is a PR I probably won't merge.
I think it's a very primitive solution and at the same time out of the focus of this project.
The direction I would suggest is to check if the target program has a code signature, and if it does (and can't be injected) then just report an error and exit (directing the user to manually patch using another program).
Thank you very much for your contribution and I look forward to your ideas.

Also, I have checked the error logging from the codesign that indicated that there's no more free space to add the sign signature section.

I mean, V8 Killer is more of a tool for developers than for end users.

I mean, V8 Killer is more of a tool for developers than for end users.

Well, so if just focus for developer then it will be okay to inject by setting environment variable or other convenience methods. I'll split the code only focus on just injecting V8 Killer.

I may have some other enhancements that can improve developer experience, but will be present on separate pull request or only my fork.

Before merging PRs, I would like to ask if there is an easy way to detect if the injection is successful or not? I mean, is it possible to show an error message to the user if the injection is unsuccessful due to codesign issues?

After completing all the tasks, please request a review from me. Thank you very much for your help.

It would be nice if you could add support for GitHub Actions on macOS, which I know next to nothing about.

Before merging PRs, I would like to ask if there is an easy way to detect if the injection is successful or not? I mean, is it possible to show an error message to the user if the injection is unsuccessful due to codesign issues?

AFAIK, programs that have signed or disabled dylib hijacking entitlement will simpily ignore the environment variable, or just failed to launch without any exit code. So you may have to implement a method that can let V8 Killer invoke to the launcher that the operation was succeed.

After completing all the tasks, please request a review from me. Thank you very much for your help.

I've modified CI workflow file with these changes:

Removed dtolnay/rust-toolchain@stable job which is now useless as Github Action System Image are already have built-in stable version of Rust toolchain.
Added compile target for x86_64-apple-darwin and aarch64-apple-darwin and merge the output into a fat mach-o executable program/dynamic library which can be an universal program for both Intel chip and Apple Silicon platform of macOS.

Here's a succeed job that you can check the artifacts and output: https://github.com/Steve-xmh/v8_killer/actions/runs/8128486657/job/22214430999

@ShellWen please have a review, thanks!

Before merging PRs, I would like to ask if there is an easy way to detect if the injection is successful or not? I mean, is it possible to show an error message to the user if the injection is unsuccessful due to codesign issues?

AFAIK, programs that have signed or disabled dylib hijacking entitlement will simpily ignore the environment variable, or just failed to launch without any exit code. So you may have to implement a method that can let V8 Killer invoke to the launcher that the operation was succeed.

I'm lazy to do that. So... It's Okay. 😇

I'm so grateful. 🥰

Close #9


[AutoPR deploymentmanager/resource-manager] chore: jsonfmt deploymentmanager

Created to sync https://github.com/Azure/azure-rest-api-specs/pull/6029

This PR has been merged into https://github.com/Azure/azure-sdk-for-js/pull/3923


Pipewire does not start on non-systemd systems

Hyprland Version
 System/Version info
Hyprland, built from branch HEAD at commit 84ab8d11e8951a6551d1e1bf87796a8589da6d47  (props: bump ver to 0.35.0).
Date: Mon Feb 5 01:59:02 2024
Tag: v0.35.0

flags: (if any)

System Information:
System name: Linux
Node name: buk9
Release: 6.7.4-artix1-1
Version: #1 SMP PREEMPT_DYNAMIC Tue, 06 Feb 2024 01:37:44 +0000

GPU information:
0000:00:02.0 VGA compatible controller [0300]: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] [8086:9a49] (rev 01) (prog-if 00 [VGA controller])
	DeviceName: VGA

os-release: NAME="Artix Linux"
PRETTY_NAME="Artix Linux"
ID=artix
BUILD_ID=rolling
ANSI_COLOR="0;36"
HOME_URL="https://www.artixlinux.org/"
DOCUMENTATION_URL="https://wiki.artixlinux.org/"
SUPPORT_URL="https://forum.artixlinux.org/"
BUG_REPORT_URL="https://bugs.artixlinux.org/"
PRIVACY_POLICY_URL="https://terms.artixlinux.org/docs/privacy-policy/"
LOGO=artixlinux-logo

plugins:

Bug or Regression?
Bug
Description
The wiki says that pipewire autostarts.
From what I gather it does that using systemd, since it doesn't launch for me.
For Plsama I needed to symlink /usr/share/applications/pipewire.desktop to /etc/xdg/autostart/pipewire.desktop.
I think Hyprland should either communicate the systemd depencency more clearly or add support for other init systems. I think the second one is better of course.
How to reproduce

Do not use systemd
Install pipewire-pulse and hyprland
launch hyprland

Crash reports, logs, images, videos
No response

systemd is not a hard dependency in any way, shape or form.
I believe if you are a technical user that chooses not to use it, you should deal with the problems that arise from that.
FWIW, hyprland doesn't launch pipewire on sysd either. It's pipewire that supports sysd here, not hyprland.


remove commands from max speed subset not present in command dictionary

Fixing revision comment:

In Fig 2, a using JustSayIt.API is required (same goes for the documentation at https://omlins.github.io/JustSayIt.jl/stable/usage/

Codecov Report

:exclamation: No coverage uploaded for pull request base (JuliaConProceeding2022@e76184f). Click here to learn what that means.
The diff coverage is n/a.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@                    Coverage Diff                    @@
##             JuliaConProceeding2022      #91   +/-   ##
=========================================================
  Coverage                          ?   71.72%
=========================================================
  Files                             ?       17
  Lines                             ?     1047
  Branches                          ?        0
=========================================================
  Hits                              ?      751
  Misses                            ?      296
  Partials                          ?        0

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Style issues on chrome

I've seen this happen on chrome a few times. It doesn't always happen and usually a reload clears it.

Any idea how to fix this? It only seems to happen with anchors.

If you can come up with a set of conditions so I can reproduce it I'll take a look. Otherwise if I had to guess maybe it's something going on with how Chrome is interpreting the space an anchor takes up and that changes once the webfont loads since it's likely wider than the system font.

Fair enough, but I'll doubt I will be able to reproduce it consistently. I was hoping it was a known issue.

Cannot reproduce too.
Please, provide markdown content.

Closing as I can't reproduce it. If you can provide a repo and the exact steps to reproduce the problem , then please reopen the issue.


Need logout warning.

Is your feature request related to a problem? Please describe.
There is no warning when a user selects to logout.  The data is removed, unless uploaded or backed up, on logout.
Describe the solution you'd like
A modal that gives options to save or discard collected data before logging out. There is a mock-up in the design.

Done with commit 4c46c51341144e73afd03bd6502959087b2266af


defaultmodify() fails when processing arrays

The defaultmodify() function doesn't properly test for objects since _.isObject() returns true for arrays as well. So, the following code fails as keys are numeric and k.indexOf() errors out:
web.js (line 846)
  if( _.isObject( result.out ) ) {
    _.each(result.out,function(v,k){
      if(~k.indexOf('$') && 'http$' !== k) {
        delete result.out[k];
      }
    });
  }

Proof: http://jsbin.com/sokufoloqo/edit?js,console
My suggestion is to modify the condition to _.isObject( result.out ) && !_.isArray( result.out )

This is fixed by 7708df89c6fb8f2bda509b0ec3311fc22bb509be
@simoami , please, can you close this issue ?

works fine now, thanks!


Feature Request ForkDelta

Is it possible to use with ForkDelta, what would be needed to change?

@blaaaaaaa just pushed an update, you can now do
client = etherdelta.ForkDeltaClient()

please reopen issue if having problems


Make sure IOU preview amounts are positive

Details

We localized the amount in this PR here and switched from using cachedTotal to total.
However, Send Money totals are actually negative because the transaction is withdrawing money from the sender, so transactions were showing up as negative in the FE when they are supposed to always be positive.
Fixed Issues

$ GH_LINK
Tests / QA Steps

Send money from one GOLD wallet account to any account
Verify amount in preview shows up as positive

Tested On

[x] Web
[ ] Mobile Web
[ ] Desktop
[ ] iOS
[ ] Android

Screenshots

Web

:hand: This PR was not deployed to staging yet because QA is ongoing. It will be automatically deployed to staging after the next production release.

@nickmurray47 we will not be able to QA this. Can you validate internally?

🚀 Deployed to staging by @nickmurray47 in version: 1.1.40-0 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

🚀 Deployed to production by @yuwenmemon in version: 1.1.40-2 🚀

platform
result

🤖 android 🤖
success ✅

🖥 desktop 🖥
success ✅

🍎 iOS 🍎
success ✅

🕸 web 🕸
success ✅

Issue 1 -
Title - [Medium] Chrome: Keyboard: 'View details' control is not accessible using the keyboard.
Actual - 'View Details' control can be activated using a mouse but it's not activated using the keyboard.
Expected - Keyboard should be accessible for 'View details' control.
WCAG failure - 2.1.1
Reproducible in staging?: - Yes
Version Number: - v1.1.40-2
Platforms - Web(Chrome + Jaws)
Note - Due to the installation of the build not able to check on the Android.


Update global LogRanges struct with each new entry

The first version could still be all one shard, but lookup using the LogRanges struct's indexing should be accurate.
This can replace the dummy LogRanges that is currently in the sharding package.

This may be the easiest issue to tackle first. But I need to know more about how the logRangeMap flag in the Rekor server is meant to be used.

It sounds like this might not be needed, since we just read in the logRangeMap from flags passed to the Rekor server at startup.

Closing this because as far as I can tell, once we have the current TreeID by calling ActiveIndex(), trillian does all the indexing and knows how long that tree is. So we don't need to keep track of that information.


Merged master_uavcan_modular src/modules/uavcan/

This is the beta compatible version  of  [Integration of the multithreaded version of the uavcan module that saves on memory] (https://github.com/PX4/Firmware/pull/2440)

@pavel-kirienko Can we focus the integration testing on this branch? This would ensure we're able to deploy it in a reasonable time frame. I also merge this branch regularly to master.

@davids5 I lean towards not merging your master PR and merging this to master - do you feel this will work?

@LorenzMeier That was my first approach, but master has px4_config etal changes. The deltas from the master PR to this one are minimal. The master PR is superior in that it uses the RingBuffer name space changes and nullptr.

@pavel-kirienko What I need here is a PR based on this which updates uavcan and which is tested against the current up-to-date version for the Zubax GPS (including having the bootloader on it!). If any user of UAVCAN upgrades with current beta he should end up with a working and auto-upgrading GPS as a result.
I'm trying to fix the software support for your customers, and so you should really care about making sure it works well and can be upgraded in the future remotely. We can initially redistribute the Firmware for the GPS in the ROMFS (assuming its small) and then switch to the proper distribution mechanism.
Note that I think its more important to validate the Pixhawk ESC v1.6 hardware, so if you have to split time between those things, please focus on the ESC bringup first and I'll hold off with the release for a few days longer.

@pavel-kirienko - testing this against master @4238df3e9fe4a01b22d55fb7088319017bdbab8b
Do the log messsage make sense to you?
UAVCAN: CanIOManager: Memory blocks per iface: 4097, total: 8192
UAVCAN: GlobalDataTypeRegistry: Frozen; num msgs: 2, num srvs: 4
UAVCAN: GenericSubscriber: Start as service request listener; dtname=uavcan.protocol.GetNodeInfo
UAVCAN: NodeStatusProvider: Status pub period: 1.000000, TX timeout: 0.950000
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
UAVCAN: TransferReceiver: Restart [ni=1, isa=1, tt=1, si=0, ff=1, nwtid=1, nptid=1, tid=0], prio=16 dtid=341 tt=2 snid=122 dnid=0 sot=1 eot=1 togl=0 tid=1 payload=[21 00 00 00 00 00 00] ts_m=4059.888290 ts_utc=1437593666.591990 iface=0
UAVCAN: TransferReceiver: Restart [ni=1, isa=1, tt=1, si=0, ff=1, nwtid=1, nptid=1, tid=0], prio=16 dtid=341 tt=2 snid=1 dnid=0 sot=1 eot=1 togl=0 tid=5 payload=[c5 00 00 00 00 00 00] ts_m=4059.944159 ts_utc=1437593666.647853 iface=0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 197        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 33         | 0000  00000000'00000000  0
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 197        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 33         | 0000  00000000'00000000  0
UAVCAN: TransferReceiver: Restart [ni=0, isa=1, tt=1, si=1, ff=1, nwtid=1, nptid=0, tid=2], prio=16 dtid=341 tt=2 snid=122 dnid=0 sot=1 eot=1 togl=0 tid=2 payload=[22 00 00 00 00 00 00] ts_m=4060.888346 ts_utc=1437593667.592061 iface=0
UAVCAN: TransferReceiver: Restart [ni=0, isa=1, tt=1, si=1, ff=1, nwtid=1, nptid=0, tid=6], prio=16 dtid=341 tt=2 snid=1 dnid=0 sot=1 eot=1 togl=0 tid=6 payload=[c6 00 00 00 00 00 00] ts_m=4060.944475 ts_utc=1437593667.648189 iface=0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 198        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 198        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 199        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
UAVCAN: TransferListener: Timed out receiver: nid=122 tt=2
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 199        | 0000  00000000'00000000  0
 122 |[32m OPERATIONAL     [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 200        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 200        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
UAVCAN: TransferReceiver: Restart [ni=0, isa=1, tt=1, si=1, ff=1, nwtid=1, nptid=0, tid=9], prio=16 dtid=341 tt=2 snid=1 dnid=0 sot=1 eot=1 togl=0 tid=9 payload=[c9 00 00 00 00 00 00] ts_m=4063.942380 ts_utc=1437593670.646093 iface=0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 201        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 201        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
UAVCAN: NodeStatusProvider: NodeStatus pub skipped - passive mode
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 202        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         | 0000  00000000'00000000  0
[1J[H NID | Mode            | Health   | Uptime [s] | Vendor-specific status code
-----+-----------------+----------+------------+-hex---bin----------------dec--
 1   |[32m OPERATIONAL     [39m|[32m OK       [39m| 202        | 0000  00000000'00000000  0
 122 |[31m OFFLINE         [39m|[32m OK       [39m| 34         |

@davids5 I don't see any issues in this log.

CAN timings configuration
@davids5 I could not reproduce the issue of incorrect bit timing configuration. The algorithm produced the BTR value of 0x40005, which results in SPL value of 85.7%. The value of BTR has been sampled via debugger soon after its assignment here.
>>> def sample_point_from_btr(x):
...     assert 0b0011110010000000111111000000000 & x == 0
...     ts2,ts1,brp = (x>>20)&7, (x>>16)&15, x&511
...     return (1+ts1+1)/float(1+ts1+1+ts2+1)
...
>>> sample_point_from_btr(0x40005)
0.8571428571428571

CAN TX problem in the bootloader
@davids5 Under uncertain circumstances, the bootloader stucks during transmission here:
Thread [1] (Suspended: Signal 'SIGINT' received. Description: Interrupt.)
        13 can_tx() driver.c:256 0x08000f92
        12 uavcan_tx() uavcan.c:293 0x08001324
        11 uavcan_tx_dsdl() uavcan.c:360 0x08001324
        10 node_status_process() main.c:297 0x0800031a
        9 sched_process_timer() timer.c:218 0x08000c90
        8 up_timerisr() stm32_timerisr.c:113 0x08001dae
        7 irq_dispatch() irq_dispatch.c:103 0x08001ab2
        6 up_doirq() up_doirq.c:102 0x08001a0c
        5 exception_common() stm32_vectors.S:349 0x080000ae
        4 exception_common() stm32_vectors.S:349 0x080000ae
        3 exception_common() stm32_vectors.S:349 0x080000ae
        2 exception_common() stm32_vectors.S:349 0x080000ae
        1 exception_common() stm32_vectors.S:349 0x080000ae

Context:
void can_tx(uint32_t message_id, size_t length, const uint8_t *message,
	    uint8_t mailbox)
{
	uint32_t data[2];

	memcpy(data, message, sizeof(data));

	/*
	 * Just block while waiting for the mailbox.
	 */

	uint32_t mask = CAN_TSR_TME0 << mailbox;

	while (((getreg32(STM32_CAN1_TSR) & mask) == 0));  ///<<< HERE

	/*
	 * To allow detection of completion  - Set the LEC to
	 * 'No error' state off all 1s
	 */

	putreg32(CAN_ESR_LEC_MASK, STM32_CAN1_ESR);

	putreg32(length & CAN_TDTR_DLC_MASK, STM32_CAN1_TDTR(mailbox));
	putreg32(data[0], STM32_CAN1_TDLR(mailbox));
	putreg32(data[1], STM32_CAN1_TDHR(mailbox));
	putreg32((message_id << CAN_TIR_EXID_SHIFT) | CAN_TIR_IDE | CAN_TIR_TXRQ,
		 STM32_CAN1_TIR(mailbox));
}

I'm still on analyzing this.

@davids5 Re the CAN TX problem in the bootloader described above. Steps to reproduce:

Using an STM32 in dual CAN bus configuration, connect it to the bus via CAN2, leaving CAN1 unused.
The bootloader will not detect any bus activity, since it doesn't use CAN2, and will subsequently boot the application.
The application will communicate with the firmware update server using CAN2.
The server will issue an update request, prompting the application to save its current bit rate and node ID into the BL/App shared memory, and then restart.
The bootloader will pick up the bus parameters from the application and then it will attempt to transmit a NodeStatus message; however, since the bus is not connected, the CAN controller will never release any TX mailbox, causing a deadlock in the interrupt handler as above.

This problem is unlikely to appear in a sealed application, but it must be fixed before release. I'm not ready yet to propose a valid fix, but probably a minor review of the CAN driver would suffice.

I've merged this PR, as the boot loader fix needs to happen in other branches / repos. I'm calling this a release now. Pavel, its up to you to now to provide the BL + application binary for your GPS customers 8).

@pavel-kirienko fyi: @LorenzMeier - the bootloader was designed to only boot on CAN1. I had noted the lack of a timeout  here [https://github.com/PX4/Firmware/issues/2596] before I left for vacation. It is fixed here https://github.com/PX4/Firmware/commit/15cf981ae54ce3c8611c33fe8caef38f7ae4f59f


[firebase_messaging] Updated README for Android

Casted registry to (FlutterEngine) registry
Description

Casted registry to (FlutterEngine) registry*

Related Issues

GeneratedPluginRegistrant cannot be applied to PluginRegistry*

Checklist
Before you create this PR confirm that it meets all requirements listed below by checking the relevant checkboxes ([x]). This will ensure a smooth and quick review process.

[x] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[x] If the pull request affects only one plugin, the PR title starts with the name of the plugin in brackets (e.g. [cloud_firestore])
[x] My PR includes unit or integration tests for all changed/updated/fixed behaviors (See Contributor Guide).
[x] All existing and new tests are passing.
[x] I updated/added relevant documentation (doc comments with ///).
[x] The analyzer (flutter analyze) does not report any problems on my PR.
[x] I read and followed the Flutter Style Guide.
[x] I updated pubspec.yaml with an appropriate new version according to the pub versioning philosophy.
[x] I updated CHANGELOG.md to add a description of the change.
[x] I signed the CLA.
[x] I am willing to follow-up on review comments in a timely manner.

Breaking Change
Does your PR require plugin users to manually update their apps to accommodate your change?

[ ] Yes, this is a breaking change (please indicate a breaking change in CHANGELOG.md and increment major revision).
[x] No, this is not a breaking change.

This would not work since required library not imported.
import io.flutter.embedding.engine.FlutterEngine;

@oluwaseye also how did you handle java.lang.RuntimeException: Unable to create service io.flutter.plugins.firebasemessaging.FlutterFirebaseMessagingService: java.lang.ClassCastException: io.flutter.app.FlutterPluginRegistry cannot be cast to io.flutter.embedding.engine.FlutterEngine ?


Issue-Improve isObj check

Automated Review Comments
Issues in index.ts:

(14, 'Hardcoded string found')
(21, 'Line exceeds 80 characters')
(26, 'Line exceeds 80 characters')
(26, 'Hardcoded string found')
(28, 'Line exceeds 80 characters')
(28, 'Hardcoded string found')
(35, 'Line exceeds 80 characters')
(35, 'Hardcoded string found')
(39, 'Line exceeds 80 characters')
(39, 'Hardcoded string found')
(43, 'Hardcoded string found')
(48, 'Line exceeds 80 characters')
(50, 'Hardcoded string found')
(56, 'Line exceeds 80 characters')
(56, 'Hardcoded string found')
(60, 'Hardcoded string found')

I got it.


fix: @parcel/source-map default import

Fixes #155

@edoardocavazza I'd really appreciate if you can review this :)

@edoardocavazza fixed as per your suggestion in https://github.com/chialab/rna/pull/157/files#r1314634375, thanks!


I can follow up with cleaning up the initialization ordering and maybe removing reinitialization from options/dom loading.


Added Image Rotate

Not an issue but more of a tip!
I added Image rotate to this library and it was pretty simple.
Changes:-

Added buttons to the current align tool bar
Added name so I can track when rotate buttons are clicked (They can be clicked repeatedly)
Added basic function to check where the image was in the rotation cycle.
Used the quill Undo and Redo buttons as my buttons.

It only requires the Toolbar.js file to be modified. (File here)
Toolbar.txt
I didn't want to add the code as there might be a better implementation? But I thought this might help someone?

@andrewcampey
please add. I need this code!

You can find my code here:-
https://github.com/andrewcampey/quill-image-resize-module
Or its on npm (https://www.npmjs.com/package/quill-image-resize-and-rotate-module)
However there are still bugs that need fixing.

When you rotate the image it doesn't recenter the image inside the Quill control

The alignment and rotating doesn't appear to fire off a change event to the Quill editor. To get around this currently I have the following:-
```
var width = this.img.width;
this.img.width = width - 1;
this.img.width = width + 1;

This works to fire the change event however adds one to the width so need a better option less hacky option.

Don't have time to investigate currently

@andrewcampey your package has the buttons, but the images don't rotate when the button is clicked. Can you confirm if this is working?

For anyone looking for the solution, I've published a package quill-image-resize-module which works well alongside this package quill-image-resize-module, as shown below:

Github: https://github.com/benwinding/quill-image-rotate-module#readme
Npm: https://www.npmjs.com/package/quill-image-rotate-module

Nice work Ben. It SHOULD have worked.
The biggest issue is on large images it would appear outside the box. have
you had this issue?
On Fri, Nov 15, 2019 at 4:22 PM Ben Winding<EMAIL_ADDRESS>wrote:

For anyone looking for the solution, I've published a package
quill-image-resize-module which works well alongside this package
quill-image-resize-module, as shown below:
[image: image]
https://user-images.githubusercontent.com/11782590/68917960-520c3800-07bc-11ea-9832-78a0f83c5efa.png
Github: https://github.com/benwinding/quill-image-rotate-module#readme
Npm: https://www.npmjs.com/package/quill-image-rotate-module
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/kensnyder/quill-image-resize-module/issues/48?email_source=notifications&email_token=AARNG6NOBSDU5IQL66EE6FLQTYW2LA5CNFSM4FJJQCJ2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEEK55A#issuecomment-554217204,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARNG6NP4Q7Z5VA7Y7LYTFDQTYW2LANCNFSM4FJJQCJQ
.

Yes, there's some issues with using rotate() in css which need to be fixed with custom margins. The rotate module works well by itself.
I didn't realise that @kensnyder had made functionality to include your own modules here: https://github.com/kensnyder/quill-image-resize-module#basemodule---include-your-own-custom-module
That might have been a better solution, as the quill-image-resize-module isn't aware of the image resizing.


support batched delete requests

Airtable supports batched requests for a number of operations. I would link to the docs but I can't seem to find any version of the docs that aren't base-specific.
Regardless, DELETE requests to /v0/base_key/table_name?records[]=id1&records[]=id2... allow deleting up to 10 records at a time. This PR adds support for that functionality.

Given that the gem is in a rough state let's close this for now as it adds complexity, can be revisited later if someone wants to implement batch requests throughout.


docker mmvc hard coded pytorch and cuda version

You might want to consider making this line dependent on the args. I had errors when using an image built with ARG PYTORCH="1.9.0" and ARG CUDA="11.1" while keeping the mmvc install line as is. When changed to RUN pip install --no-cache-dir mmcv-full==1.3.17 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.9.0/index.html, it worked great.

Thanks for your suggestions.


Proposed API changes to DissimilarityMatrix

DissimilarityMatrix.filter is very similar in concept to numpy.take as it accepts a list of IDs to "take" from the matrix (and ideally also a boolean vector). In turn, DissimilarityMatrix.filter feels like it should take a function to evaluate what IDs to keep, like BIOM's Table.filter. Last, DissimilarityMatrix.__getitem__, to better match numpy, should allow for passing a boolean vector in index order with DissimilarityMatrix.ids for which elements to get.
Here is what I propose specifically:

rename DissimilarityMatrix.filter to DissimilarityMatrix.take
allow DissimilarityMatrix.take to accept a boolean vector in index order to DissimilarityMatrix.ids, where a True indicates to keep
add a DissimilarityMatrix.filter that takes an arbitrary function whose signature is of the form "bool = function(str, np.array)", and a flag to indicate invert. The function return type indicates whether the corresponding id should be retained, the str passed in is the corresponding id, and the np.array is the corresponding vector of values. The return of DissimilarityMatrix.filter would then be a new DissimilarityMatrix
allow DissimilarityMatrix.__getitem__ to accept a boolean vector in index order with DissimilarityMatrix.ids

Last, as general comment without specific recommendations on how to accomplish this, it would be awesome to support np.where. For instance:
dm = DissimilarityMatrix.from_file(data)
pa = np.where(foo != 0, True, False)

I think the API changes would allow this, but it would be nice to be able to negate "filter". For example, as it currently is if you want to remove ids from a distance matrix, you have to specify the identifiers you want to keep, you can't specify the ids you want to remove, which could easily be done with the same interface but with the addition of a negate flag.

:+1: this would be a useful addition!

From working with a rather large DM, I also noticed that having an inplace flag, would also be useful!


Add license

[x] Add CC0 license. I used gitignore's exact version.
[x] Add license and contribution info to readme

cc @springmeyer @mapsam

Thanks for the catch @springmeyer 👍
Also, pinging @kathleenlu09 as general FYI

Some README art and badges if you're wanting them, @GretaCB!

![readme image](https://mapbox.s3.amazonaws.com/cpp-assets/node-cpp-skel-readme_blue.png)

And the badge for others to use

[![badge](https://mapbox.s3.amazonaws.com/cpp-assets/node-cpp-skel-badge_blue.svg)](https://github.com/mapbox/node-cpp-skel)

That skeleton is adorable!


Squash PR 129 : Make disco_bake listamis also filter by state and hos…

…tclass
Signed-off-by: Pratap Chand<EMAIL_ADDRESS>

Like the hostclass option but not sure about the state. What are the use cases for using state?

Ok seems like there are a few fallouts in the old repo PR. Address them when you get a chance. @jconstance-amplify, you already have a +1 there so you should be good to go.

version bump

I was running into some problems updating the names of the AMIs on the old branch, but I'll try to get this ready sometime this week.


Why does loss use same distribution for q and p?

https://github.com/vlievin/biva-pytorch/blob/c39af44c012305f7b3aba7b4385d8bbdd8b4a72d/biva/model/stochastic.py#L230

Oops, I misread. :)


TH11: backspace menu stops working after playing the game for a while

This hasn't happened to me on any other game but it's a consistent problem with TH11. From startup, hitting backspace to bring up the cheats menu will work fine. However, after playing a bit this key simply stops working. Any cheat options enabled will stay enabled, but it will be impossible to turn them off without simply restarting the game. I am unable to identify anything more specific that causes it, but it happens to me every time I play, so I'm confident that it'd be easy to reproduce.
Thprac is version <IP_ADDRESS>.

I played the game for two minutes with the backspace menu open the whole time and could not reproduce it

Okay, I figured out what causes it. This is weirder than I thought. Launch TH11 with thprac, verify that backspace works for toggling the menu. Alt-tab out of the game, then alt-tab or click back in. You should see that backspace no longer toggles the menu. HOWEVER: If you hit JUST alt while focused back into the game, the menu toggle will start working again. I guess this isn't that crippling of an issue in that case, but still super weird. At least there's a way to deal with it.

Doesn't make a difference either way for me. Happens with both fullscreen and windowed.

Can confirm that this issue (or a similar issue with the same effect) happens in UM - most likely not game specific.

I encountered a similar issue in EoSD when I was testing the new clickable backspace menu. The fix I implemented should resolve this issue


(Question) Mouse Hover Events

Hello @fjvallarino
I was curious if Monomer had out of the box support for MouseHover (or MouseOver) events similar to Keystroke, I was looking through hackage and tutorials but I feel maybe I missed something?

Use onEnter and onLeave event handlers along with box_. See tutorial 4 (Tasks) for an example.

Thanks!

I think this issue can be closed. Please re-open if needed. Thanks!


Model parallelism with Keras 3 model

(this is more like an inquiry)
i am trying to get a high level understanding on whether and how model/tensor parallel training could work with keras model.
for jax, i think it should be doable through jax mesh and partition keras's trainable weights but it would be great if some examples could be shared on developer guides.
for pytorch, i don't have much clue on using torch's model parallelism method (eg. FSDP) since it takes a nn.Module as input. i am guessing i can probably have an inverse of keras.layers.TorchModuleWrapper that makes keras model's variable traceable in nn.Module so that torch FSDP can partition the weights.
another alternative I could think of is to wrap the torch module into keras and then leverage the distributed lib?
I am looking for suggestions, some examples if possible and thanks in advance!

i just found keras model inherits layer and then inherits backend layer. for torch backend layer it is inherits nn.Module so in theory any torch specific distributed training utility can directly wrap a keras model and should work out of the box.
just want to double check with the keras team if this is a correct understanding.

Thanks for the question. Keras 3 model actually support DDP and FSDP as of today. You can see more details in https://keras.io/guides/distributed_training_with_torch/.
The current Keras distribution API only has jax backend implemented, and we will add Pytorch and TF backend soon. The Pytorch backend will probably be backed by torch.xla or torch.dtensor.


A way to validate fields of schema, but ignore extra fields?

I'd like to make a Schema to validate collections with using Collection2, but I'd like for the validation to ignore fields that aren't listed in the schema. Is this possible to do?
For example, if I have
Items = new Mongo.Collection('Items')

Items.attachSchema(new SimpleSchema({
  foo: {
    type: String
  },
  bar: {
    type: String
  }
}))

I want the validation to fail if I do something like
Items.insert({
  foo: 1, // Fails: not a string.
  bar: "bar",

  // ignore the rest:
  blah: "blah"
})

but I want it to pass if I do something like
Items.insert({
  foo: 'foo',
  bar: "bar",

  // ignore the rest:
  blah: "blah",
  lorem: 23,
  random: "asdfh",
})

where it only checked the foo and bar properties. Any other properties can be random for now, we don't know what they'll be. I was wondering if it's possible to do this for prototyping, then later I'll make everything strict.

Create a blackbox object and place extra properties within it it.
Items = new Mongo.Collection('Items')

Items.attachSchema(new SimpleSchema({
  foo: {
    type: String
  },
  bar: {
    type: String
  },
 extras:{
   type:Object,
   blackbox: true
 }
}))

Inserting would go something like this, blackbox objects will not be validated:
From the docs: "...use the blackbox: true option to skip validation for everything within the object."
Items.insert({
  foo: 'foo',
  bar: "bar",

  // ignore the rest:
  extras.blah: "blah",
  extras.lorem: 23,
  extras.random: "asdfh"
})

+1

Duplicate of #213


Ping and keepAlive in Ratchet

For those who want to ping or be sure that a client is present (internet lost, mobile network). We have implemented the following functions:
Ping and keepAlive
The only requirement is to have an instance of the loop event.
The commit is here :  6da3b04e2d
Repo : https://github.com/bjtpartners/Ratchet/tree/ping-dev
There are no problem found at this time for  and it's very reactive.
I will not make pull request because i use the Promise and Event Loop in Ratchet directly but i share the solution :).
If you are opinions or remarks, you're welcome :).
Just a quick question : Is there a way to get the loop event from the instance of a connection ? I have not found but you never know.
Bye :)

Hello everyone, I'm having connection problems that get active and this ping / pong solution would help a lot.
I tried to download version 0.4 but it seems that it is still not stable.
Any forecast for official release?

it is still not stable

Have you experienced a bug in the 0.4 branch?

pessoal, resolvi aqui e consegui usar a versão 0.4.
porém, estou tendo problemas com o memory_limit do PHP.


Setup CI tests

Added ReadMe and .gitignore as well

I triggered a build by reopening.

@certik, ready to merge

Otherwise I think it looks great. Thanks!

Done.
Sage test fails because sage is downloaded twice. This needs to be fixed in the C++ repo.

+1 to merge. We can improve upon it once it is in.


Deduplicate input tasks in inspect command

Before, inspect may show multiple instances of the same input task:
> mill inspect main.docJar
...
main.docJar(ScalaModule.scala:332)
    The documentation jar, containing all the Javadoc/Scaladoc HTML files, for
    publishing to Maven Central

Inputs:
    main.compileClasspath
    main.scalaVersion
    main.scalaOrganization
    main.scalaDocClasspath
    main.scalacPluginClasspath
    main.scalaDocOptions
    main.scalaVersion
    main.scalaVersion
    main.docResources
    main.docSources
    main.scalaVersion
    main.docResources
    main.docSources
    main.docSources

After, it's only showing each input once:
> mill inspect main.docJar
...
main.docJar(ScalaModule.scala:332)
    The documentation jar, containing all the Javadoc/Scaladoc HTML files, for
    publishing to Maven Central

Inputs:
    main.compileClasspath
    main.scalaVersion
    main.scalaOrganization
    main.scalaDocClasspath
    main.scalacPluginClasspath
    main.scalaDocOptions
    main.docResources
    main.docSources

Please note, inspect isn't incorrect when showing multiple entries of the same input. Due to the generic implementation, tasks can depend on the same input multiple times. But since inspect does provide information to the user, it' not beneficial to list all raw dependencies.

This fixes a regression of https://github.com/com-lihaoyi/mill/pull/1558


Fox include paths

Signed-off-by: Pablo Garrido<EMAIL_ADDRESS>

Related: https://github.com/micro-ROS/micro_ros_setup/pull/451


CallingBotSample System.InvalidOperationException

Hello,
I've tried running the Calling Bot Sample, but every time I start debugging I get the following error: System.InvalidOperationException: 'Failed to convert configuration value at 'Bot:BotBaseUrl' to type 'System.Uri'.'
Inner Exception UriFormatException: Invalid URI: The hostname could not be parsed.

@ClauVeve - could you please confirm if you have added valid URL for BotBaseUrl?
https://github.com/OfficeDev/Microsoft-Teams-Samples/blob/main/samples/bot-calling-meeting/csharp/appsettings.json

Hello @ClauVeve - Hope you are doing well!!
Could you please confirm if your issue has resolved or still looking for any help?