Review and test something-for-nothing check

EDIT:  TLDR: I believe we did think about this and the current code tries to implement (c), but I think the implementation may be buggy and/or untested. And even correctly implemented it may behave in a way which sometimes makes perverse decisions from an economic policy perspective.
Long version:  (end EDIT)
The amount == 0 check here is apparently testing for a something-for-nothing situation, whereby the quantization of trade leads to a fill logic which results in something-for-nothing trade.
We need to carefully analyze the trade and determine that this logic can only trigger for dust values.  Also, I think this logic is in the wrong place.
What needs to be done on this is:

Clearly and carefully define the situation(s) which need(s) to be prevented.
Clearly and carefully define the system's desired response to the situation.
Provide robust set of unit tests which check the above definitions match the implementation.

The situation to be prevented is, roughly, when a something-for-nothing trade would occur due to quantization effects.  In this case, the desired response, roughly, is to cancel the order of the party who would receive nothing.

The simple situation to handle is when an order is fully satisfied with a surplus balance.  E.g. if Alice is top-of-book buying 3 B for 99 A, and Bob enters an order to sell 3 B for 100 A, then Bob should be totally filled and become the new top-of-book; but he should be immediately cancelled as he has a zero quantity.

Cancel orders whose "have" or "want" reaches zero as a result of trade (i.e. completely filled).

The more subtle problem is a quantization problem.  Say Alice has the existing top-of-book order which is matching Bob's incoming order.  Let a/b be Alice's order price after cancelling any common denominator.  Then a trade a-for-b satisfies Alice's order exactly.  If the matched volume is greater than or equal to a then the match can proceed as a sequence of a-for-b trades at Alice's exact (infinitely precise) price.
Define an a-for-b trade to be a unit trade.
If the matched volume is smaller, the system must find trades that don't occur at Alice's exact price, but rather have some premium or discount to her exact price.  To be consistent with the definition of price [1], this premium / discount must favor Alice.  It must similarly favor Bob.  This can lead to situations where the prices overlap, but there is no integer-valued trade which can take place between Alice and Bob.  In order for such a condition to occur, it is necessary that the balances be smaller than both unit trades.
It is tempting to simply rule that any order with an insufficient balance to perform a unit trade is subject to cancellation when matched.  However, the matched order may be a margin call, which cannot be cancelled.
We need to either cancel orders which nearly match a margin call, or walk (potentially unboundedly?) deep in the book in order to find a match which is capable of unit exchange.
[1] Price can be defined as "the least favorable exchange rate a party is willing to accept in trade."

Here is an example:
Alice's order:  Sell CORE at $3  /  8, balance  1000000 CORE
Bob's order:   Buy CORE at $19 / 50, balance $10
Both assets have precision of 1, i.e. the order balances are 1000000 CORE-satoshis and 10 USD-satoshis repectively.
Alice is selling at $3/8 CORE = $0.375 / CORE and Bob is buying at $19 / 50 CORE = $0.38, so based on the price, Alice and Bob should match.
Bob's $10 / $0.38 ~ 26.3.  So 26.3 is the fewest CORE he is willing to accept (assuming that the meaning of "price" is "the least favorable exchange rate a party is willing to accept in trade").  Combined with the design restriction that satoshis are indivisible, in practice this means Bob will only accept 27 or more CORE for his $10.
But $10 / 27 gives a price smaller than $0.370 and $0.371, which is smaller than Alice's sale price of $0.375.  So neither party can fill this offer.
If this occurs, we have to:

(a) Fill someone at a less favorable exchange rate than the price they specified in their order.  Downside:  This violates the above definition of price; i.e. if a user enters a price intending the system to never sell below that price in any circumstance, the system will not always behave in a way which fulfills that user intent.

(b) Keep both orders on the books.  Downside:  This complicates the matching algorithm, as now Alice might be able to match an order behind Bob's order.  Naive implementation would have potentially unbounded matching complexity; a more clever implementation might be possible but would require substantial design and testing effort.

(c) Cancel an order.  This is complicated by the fact that an order such as a margin call cannot be cancelled.  Downside:  When there are margin calls happening, it seems perverse to delete a large order that's willing to fill them just because the lead margin call happens to fall in a narrow window which causes a rounding issue.  Also, orders cancelled by this mechanism cannot be refunded by #445.  Otherwise an attacker who wants to consume a lot of memory on all nodes could create a large number of orders, then trigger this case to cancel them all, getting their investment in deferred cancellation fees back without paying the cancel op's per-order fee as intended.

(d) Require all orders to use the same denominator.  Altcoin exchanges and many real-world markets like the stock market solve this problem by specifying one asset as the denominator asset, specifying a "tick" which is the smallest unit of price precision, and requiring all prices to conform.  Downside:  Complicates the implementation of flipped market UI, may require re-working part of market GUI, reduces user flexibility, new asset fields required to specify precision, if n assets exist then O(n^2) markets could exist and we need to figure out how to determine the precision requirement for all of them.

Here are the possible solutions to the problem:

(a) Fill someone at a less favorable exchange rate than the price they specified in their order.  Downside:  This violates the above definition of price; i.e. if a user enters a price intending the system to never sell below that price in any circumstance, the system will not always behave in a way which fulfills that user intent.

(b) Keep both orders on the books.  Downside:  This complicates the matching algorithm, as now Alice might be able to match an order behind Bob's order.  Naive implementation would have potentially unbounded matching complexity; a more clever implementation might be possible but would require substantial design and testing effort.

(c) Cancel an order.  This is complicated by the fact that an order such as a margin call cannot be cancelled.  Downside:  When there are margin calls happening, it seems perverse to delete a large order that's willing to fill them just because the lead margin call happens to fall in a narrow window which causes a rounding issue.  Also, orders cancelled by this mechanism cannot be refunded by #445.  Otherwise an attacker who wants to consume a lot of memory on all nodes could create a large number of orders, then trigger this case to cancel them all, getting their investment in deferred cancellation fees back without paying the cancel op's per-order fee as intended.

(d) Require all orders to use the same denominator.  Altcoin exchanges and many real-world markets like the stock market solve this problem by specifying one asset as the denominator asset, specifying a "tick" which is the smallest unit of price precision, and requiring all prices to conform.  Downside:  Complicates the implementation of flipped market UI, may require re-working part of market GUI, reduces user flexibility, new asset fields required to specify precision, if n assets exist then O(n^2) markets could exist and we need to figure out how to determine the precision requirement for all of them.

TLDR:  I believe we did think about this and the current code tries to implement (c), but I think the implementation may be buggy and/or untested.  And even correctly implemented it may behave in a way which sometimes makes perverse decisions from an economic policy perspective.

Assigning to @bytemaster for analysis / comment on what course of action to take.

The proper response is to cancel the dust order and do nothing to the order the dust order was attempting to match against.
So if I have a large order to buy $100 worth of BTS, and someone tries to buy an amount of bts worth less than 0.0000 BitUSD from me, my order should stand and they should get canceled.
By definition all orders are for an amount greater than 0 (or they are removed/filled).
The order that would "receive nothing" is by definition paired against a dust order that will receive something (dust).  The dust order is what should be canceled, not the order that would receive nothing.

Upon further review of the code and the math involved, it is not possible to construct a new order with a price and amount that would get matched with an existing order and trigger the existing order to be canceled.
We have defined a dust order as one where
ORDER_PRICE * ORDER_AMOUNT == 0
This is the point at which the unfilled portion of the order is smaller than the resolution of the orders price and thus should be refunded to the user.

There's a consistent issue with orders that are not perfectly match causing the left-over to execute at prices far above/below the actual prices of the original orders, and bypassing the orderbook completely. As an example, here's the market history for OBITS:BTS yesterday:
Price        OBITS     BTS         DATE
25.56522	0.0023	0.05880	7/2 20:30:57
29.28000	0.0005	0.01464	7/2 20:30:30
25.67381	0.0084	0.21566	7/2 19:43:18
27.40000	0.0004	0.01096	7/2 19:43:15
37.50000	0.0002	0.00750	7/2 19:42:54
25.64848	0.0033	0.08464	7/2 17:49:12
26.86111	0.0018	0.04835	7/2 17:48:57
27.90000	0.0010	0.02790	7/2 17:48:39
29.52000	0.0005	0.01476	7/2 17:48:21
26.76667	0.0003	0.00803	7/2 17:48:06
25.49850	80,790.9324	2,060,047.22548	7/2 17:47:45
Throughout this there was massive sell support at around 25 BTS/OBITS, but the dust orders executed well above this. I'm not sure if this deserves a new issue or if it fits with the problem described in this issue.

price                  bts            open.BTC
0.00000353	0.00283	0.00000001	3/07 18:14:45   market OPEN.BTC : BTS
0,00000001*0,00000353 = 0
but
price                 open.BTC         BTS
283,000.00000	0.00000001	0.00283	3/07 18:14:45   market BTS : OPEN.BTC
283000×0,00283 = 800,89
so ORDER_PRICE * ORDER_AMOUNT == 0
is true only at one market?
Im not sure how its working just guessing.

See also https://steemit.com/bitshares/<EMAIL_ADDRESS>My conclusion is that the market engine is correct, and that what users are complaining about is merely a display issue. The UI displays the trade price as calculated from paid/received, which can be significantly different from bid/ask on low-volume orders.
A possible fix might be to somehow include the order price in market history entries and have the UI display that instead of the trade price.

This issue was moved to bitshares/bitshares-core#132


Merging latest

@sankethka,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified state. Please make sure the pull request is mergeable. Details: Git merge results in conflict, repository remote url: https://github.com/MicrosoftDocs/azure-docs-sdk-node, working directory: W:\fyqs-s, target branch: live, target branch commit: d3d2551a3f47194643d38bc55909b9cf676a4a1e, source branch: master, source branch commit: .

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

.openpublishing.redirection.json
:white_check_mark:Succeeded

docfx.json
:white_check_mark:Succeeded

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

.openpublishing.publish.config.json
:white_check_mark:Succeeded

.openpublishing.redirection.json
:white_check_mark:Succeeded

docfx.json
:white_check_mark:Succeeded

docs-ref-conceptual/index.md
:white_check_mark:Succeeded

docs-ref-conceptual/node-sdk-azure-get-started.md
:white_check_mark:Succeeded

docs-ref-conceptual/overview.md
:white_check_mark:Succeeded

docs-ref-mapping/reference.yml
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


possible to show timestamps in txt file

Hello
I am trying to transcribe an interview. Absent any markers identifying which speaker is speaking (which would be extremely helpful), it would be helpful to have a text file that keeps the timestamps for each line. When I open the txt file it just has a big block of unseparated text (although in Buzz I can see the time stamps). Is that possible now or can that be added as a feature?

Hm, how about exporting as SRT/VTT? They're still text file formats, and you can change the extension if you need.


Bump to v0

Current dependencies on/for this PR:

main

PR #3   👈

PR #4

PR #5

This comment was auto-generated by Graphite.

⏳ This pull request is set to merge as part of a Graphite merge job
Stack job ID: 8AI0o73WkSQHsyl53rXp.
See details on graphite.dev


Don't break 'copy' if copy-markdown fails

Fixes #635
Untested. Will be running this for a while but I think we can merge it preventively if it doesn't break anything itself.

I've noticed that too.


Add automatic updates

I don't have an Apple Developer Account, so I need to do an Ad-hoc signing and set up the Sparkle framework.

This was accomplished.


chore: Add the Ristreto color to the palette

Hi everyone,
The Ristreto color is in the palette, even if we use it very rarely.
The main scenario is for the dark mode.
(Yes, I know, there is a typo on "Ristreto", but that's how it's written on Figma)

Codecov Report
Attention: Patch coverage is 0% with 4 lines in your changes missing coverage. Please review.

Project coverage is 7.37%. Comparing base (4d9c7fc) to head (bf66537).
Report is 191 commits behind head on develop.

Files
Patch %
Lines

...ges/smooth_app/lib/themes/smooth_theme_colors.dart
0.00%
4 Missing :warning:

Additional details and impacted files
@@            Coverage Diff             @@
##           develop   #5379      +/-   ##
==========================================
- Coverage     9.54%   7.37%   -2.18%
==========================================
  Files          325     384      +59
  Lines        16411   19640    +3229
==========================================
- Hits          1567    1449     -118
- Misses       14844   18191    +3347

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


Mixed Case in ContractAddress field of CreateTx response: Bug or Feature?

Issue: Mixed Case in ContractAddress in Response
The ContractAddress field in the JSON-RPC response of a CreateTx appears in mixed case:
{
    "id": 0,
    "jsonrpc": "2.0",
    "result": {
        "ContractAddress": "7ACb6a641Ad9b3BB9dC947aa019d9B44b4aD572c",
        "Info": "Txn processed",
        "TranID": "42d0ddae6ce111353638c12ae2359c84d19e9e59cca751cf5d6d74e0e6bd18d5"
    }
}

Description
In previous versions (ZQ1), the ContractAddress field seems(!) to have been consistently lowercase. In ZQ2, the ContractAddress now appears in mixed case.
Could you clarify:

Is this change intentional (feature) or a bug?
Which case should be awaited/standardized for ContractAddress?

This change could potentially affect integrations that rely on specific casing conventions.

Same question for the event_logs[i].address.
Now it's in the mixed case.
"event_logs": [
  {
      "_eventname": "DelegateStake",
      "address": "0x0052321384ff976C323eF1f3f3A1BEeE3a725920",
         "params": [

Seems it was strictly lowercase in ZQ1.

Same for transitions[i].addr, transitions[i].msg._recipient:
               {
                    "accept": false,
                    "addr": "0x113c4DA41B6CF43B8701f1497F5f307326c728A8",
                    "depth": 4,
                    "msg": {
                         "_amount": "0",
                         "_recipient": "0x86D430583F1Dfd8f4948a131c37d4De3ed75F63e",
                         "_tag": "DelegateStake",
                         "params": [
                              {
                                   "vname": "amount",
                                   "type": "Uint128",
                                   "value": "100000000000000"
                              }
                         ]
                    }
               }

It's a feature, was introduced in this EIP long time ago: https://eips.ethereum.org/EIPS/eip-55

Got it, thanks! I just wanted to clarify because, if I'm not mistaken, earlier zq1 used to return addresses in transaction receipts without checksummed formatting, but now it seems to have changed. That’s why I asked. No problem at all though, I appreciate your answer!

not a bug


Hide "Reason for Membership"

Summary
Hide "Reason for Membership" in Frontend for non enrollers

@leonieherma1 on what page is this ?

@arsenijesavic on the /members page (only visible when you are an enroller)


fix(editor): correct content width

#422

I have read the CLA Document and I hereby sign the CLA

:tada: This PR is included in version 1.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


feature: Adding support to select a subset of resources in a namespace to be synced to a workload execution cluster

Feature Description
KubeStellar needs to support the use of EdgePlacement object to specify a subset of resources in a namespace to be synced to a particular workload execution cluster.
This feature is required for some applications such as the following:

KubeFlow:  the entire pipeline needs to run in one namespace at the same time, but we may want to run parts of the namespace in different clusters

MCAD: in some use-cases MCAD needs to cherry pick objects from a namespace to be shipped to a particular location.

Proposed Solution
KubeStellar EdgePlacement object allows selection of a subset of resources in a namespace to be synced to a particular workload execution cluster.
Want to contribute?

[ ] I would like to work on this issue.

Additional Context
No response

@MikeSpreitzer unless you object, I think this is our next priority.

@roytman please review along with @cwiklik  - Thank you

Few questions:

Why should this be done through EdgePlacement  ?
Why can a user use multiple NS and put all resources needed to be synced in special NS ?

Why can a user use multiple NS and put all resources needed to be synced in special NS ?

KFP puts all its objects in the same NS.

Current workaround for this issue requires creation of WDS for each target cluster.

Fixed in this PR: https://github.com/kubestellar/kubestellar/pull/884


[Accessibility] Fix teaching tip name property in buttons

When using screen readers, teaching tip action and close buttons where reading just "button" instead of text property.
Adding on property changed listener to button's content presenter and updates automation property name with new value to fix the issue.
Fixes internal bug 38395706

/azp run

Please add a test for this scenario.

/azp run


[Builtins] Removed usages of '<:'

This is a simplification on its own, but there's a chance that the
- instance (GShow uni, GEq uni, DefaultUni <: uni) => ToBuiltinMeaning uni DefaultFun where
+ instance uni ~ DefaultUni => ToBuiltinMeaning uni DefaultFun where

change can give us some speed-up. Haven't run the benchmarks yet.

No difference in evaluation times:
crowdfunding/1            865.6 μs	 859.9 μs       -0.7%
crowdfunding/2            867.2 μs	 862.3 μs       -0.6%
crowdfunding/3            866.7 μs	 862.2 μs       -0.5%
crowdfunding/4            355.5 μs	 353.8 μs       -0.5%
crowdfunding/5            356.8 μs	 354.8 μs       -0.6%
future/1                  422.6 μs	 421.1 μs       -0.4%
future/2                  1.041 ms	 1.040 ms       -0.1%
future/3                  1.043 ms	 1.041 ms       -0.2%
future/4                  1.300 ms	 1.306 ms       +0.5%
future/5                  1.624 ms	 1.623 ms       -0.1%
future/6                  1.315 ms	 1.322 ms       +0.5%
future/7                  1.624 ms	 1.625 ms       +0.1%
multisigSM/1              871.7 μs	 871.6 μs       -0.0%
multisigSM/2              867.3 μs	 866.6 μs       -0.1%
multisigSM/3              890.9 μs	 891.3 μs       +0.0%
multisigSM/4              912.5 μs	 913.5 μs       +0.1%
multisigSM/5              1.112 ms	 1.113 ms       +0.1%
multisigSM/6              871.6 μs	 871.8 μs       +0.0%
multisigSM/7              866.8 μs	 870.8 μs       +0.5%
multisigSM/8              891.8 μs	 891.9 μs       +0.0%
multisigSM/9              912.9 μs	 913.8 μs       +0.1%
multisigSM/10             1.113 ms	 1.114 ms       +0.1%
vesting/1                 849.8 μs	 847.6 μs       -0.3%
vesting/2                 699.7 μs	 699.2 μs       -0.1%
vesting/3                 841.9 μs	 847.7 μs       +0.7%
marlowe/trustfund/1       2.491 ms	 2.513 ms       +0.9%
marlowe/trustfund/2       1.790 ms	 1.791 ms       +0.1%
marlowe/zerocoupon/1      2.598 ms	 2.597 ms       -0.0%
marlowe/zerocoupon/2      1.557 ms	 1.562 ms       +0.3%

Let's merge it just for the sake of simplification then.

@michaelpj I think the CI failure is an unrelated one, so could you merge the PR regardless?

@michaelpj I think the CI failure is an unrelated one, so could you merge the PR regardless?

I can do that.  Hold on...

Thank you!

Yeah, that doesn't look like it's your fault:
error:
machine # [   10.353043] dhcpcd[824]: Failed to reload-or-try-restart chronyd.service: Unit chronyd.service not found.
Traceback (most recent call last):
  File "/nix/store/qan3biff266xjn238nl8n3kc5b7hix1j-nixos-test-driver/bin/.nixos-test-driver-wrapped", line 897, in run_tests
    exec(tests, globals())
  File "<string>", line 1, in <module>
  File "<string>", line 14, in <module>
AssertionError: Expected playground to load config. Actual: -- Journal begins at Mon 2021-06-07 15:46:29 UTC, ends at Mon 2021-06-07 15:46:34 UTC.

Now let's see if I've broken master ...


integration: Tests for SnapshotUDPSocket #3235

Added Missing tests for gadgets/snapshot_socket #3235
added unit Test for SnapshotUDPSocket

hey @mauriciovasquezbernal I have added tests for UDP socket. what more can I implement or add?

Hi @btwshivam. The idea of https://github.com/inspektor-gadget/inspektor-gadget/issues/3235 is to port the tests on https://github.com/inspektor-gadget/inspektor-gadget/blob/main/integration/k8s/snapshot_socket_test.go to gadgets/snapshot_socket. Something like https://github.com/inspektor-gadget/inspektor-gadget/commit/42d58fe2c804a5e2e0d21b81e779d38b24c4aebb, but for the snapshot_socket gadget. I you can add the new test you implemented here (for UDP) there as well.

Hi @btwshivam. The idea of #3235 is to port the tests on https://github.com/inspektor-gadget/inspektor-gadget/blob/main/integration/k8s/snapshot_socket_test.go to gadgets/snapshot_socket. Something like 42d58fe, but for the snapshot_socket gadget. You can add the new test you implemented here (for UDP) there as well.

okay got that thanks!

Hi @btwshivam you can also take reference from this documentation: https://www.inspektor-gadget.io/blog/2024/06/introducing-the-new-testing-framework-for-image-based-gadgets/

closing this PR and opening another with proper format.


[mildom] Some mildom url formats are not supported

Checklist

[X] I'm reporting a broken site
[X] I've verified that I'm running yt-dlp version 2022.01.21. (update instructions)
[X] I've checked that all provided URLs are alive and playable in a browser
[X] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[X] I've searched the bugtracker for similar issues including closed ones. DO NOT post duplicates
[X] I've read the guidelines for opening an issue
[x] I've read about sharing account credentials and I'm willing to share it if required

Region
Any
Description
While I was downloading videos from the Japanese streaming site mildom.com, I came across a few that refused to download with an extractor error.
Going through the whole playlist, it looks like some links have a video ID in the format:
https://www.mildom.com/playback/10882672/10882672-bu7um3rl5h2rpsddhmf0
some are in the format:
https://www.mildom.com/playback/10882672/10882672-1597662269
but a few (where I was getting the error) are formatted with three number blocks, like so:
https://www.mildom.com/playback/10882672/10882672-1597758589870-477
or
https://www.mildom.com/playback/10882672/10882672-1597845729830-1886
I noticed in the debug log that the ID was missing the third block of numbers. This hinted at the ID getting truncated somewhere in the extractor module, leading to a bad download URL and content the extractor could not parse.
So I tried fiddling a bit with the python code for the mildom extractor. I made a quick and dirty change to the URL validator in class MildomVodIE(MildomBaseIE) from
_VALID_URL = r'https?://(?:(?:www|m)\.)mildom\.com/playback/(?P<user_id>\d+)/(?P<id>(?P=user_id)-[a-zA-Z0-9]+)'
to
_VALID_URL = r'https?://(?:(?:www|m)\.)mildom\.com/playback/(?P<user_id>\d+)/(?P<id>(?P=user_id)-[a-zA-Z0-9\-]+)'
and video was able to download successfully.
Please, note that (dirty regex aside) this is not a complete fix. For instance, if I enable the download archive option, the video ID is still truncated before the third number group somewhere else in the code when the download log is generated, and yt-dlp will happily keep trying to download the video instead of skipping it. So some additional changes might be required.
Verbose log
[debug] Command-line config: ['-vU', 'https://www.mildom.com/playback/10882672/10882672-1597758589870-477']
[debug] Encodings: locale UTF-8, fs utf-8, out UTF-8, err UTF-8, pref UTF-8
[debug] yt-dlp version 2022.01.21 [f20d607b0]
[debug] Python version 3.6.9 (CPython 64bit) - Linux-4.4.0-43-Microsoft-x86_64-with-Ubuntu-18.04-bionic
[debug] exe versions: ffmpeg 3.4.8, ffprobe 3.4.8, phantomjs .
[debug] Optional libraries: Cryptodome, secretstorage, mutagen, sqlite, websockets
[debug] Proxy map: {}
Latest version: 2022.01.21, Current version: 2022.01.21
yt-dlp is up to date (2022.01.21)
[debug] [mildom:vod] Extracting URL: https://www.mildom.com/playback/10882672/10882672-1597758589870-477
[mildom:vod] 10882672-1597758589870: Downloading webpage
[mildom:vod] initialization: Downloading dispatcher_config
[mildom:vod] initialization: Downloading guest token
[mildom:vod] 10882672-1597758589870: Downloading playback metadata
ERROR: 10882672-1597758589870: An extractor error has occurred. (caused by KeyError('body',)); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.
Traceback (most recent call last):
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/mildom.py", line 173, in _real_extract
    'v_id': video_id,
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/mildom.py", line 27, in _call_api
    return self._download_json(url, video_id, note=note)['body']
KeyError: 'body'
Traceback (most recent call last):
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/common.py", line 612, in extract
    ie_result = self._real_extract(url)
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/mildom.py", line 173, in _real_extract
    'v_id': video_id,
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/mildom.py", line 27, in _call_api
    return self._download_json(url, video_id, note=note)['body']
KeyError: 'body'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1367, in wrapper
    return func(self, *args, **kwargs)
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/YoutubeDL.py", line 1437, in __extract_info
    ie_result = ie.extract(url)
  File "/home/XXXXXXX/.local/lib/python3.6/site-packages/yt_dlp/extractor/common.py", line 642, in extract
    raise ExtractorError('An extractor error has occurred.', cause=e, video_id=self.get_temp_id(url))
yt_dlp.utils.ExtractorError: 10882672-1597758589870: An extractor error has occurred. (caused by KeyError('body',)); please report this issue on  https://github.com/yt-dlp/yt-dlp . Make sure you are using the latest version; see  https://github.com/yt-dlp/yt-dlp  on how to update. Be sure to call yt-dlp with the --verbose flag and include its complete output.

Also, I noticed that the site support was pretty barebones, which is understandable since it is practically unknown out of Japan. So, since I was already doing some research on the site to debug the extractor, I set out to try improving it a little bit.
If you think it is better to split this off into a new site feature request, please feel free to do so (or to ask me to do it myself).
First of all, it looks like the cloudac.mildom.com addresses containing the channel and video metadata jsons are quite finicky with the referer, unless an extra __platform=web is added to the URL (I got the hint from https://github.com/NDSLib/mildom_dl).
This link will show a "page not found" if you try to access it directly through the browser, wget or a normal python request:
https://cloudac.mildom.com/nonolive/videocontent/playback/getPlaybackDetail?v_id=10882672-1597758589870-477
{"code":1403,"message":"サインエラー"}
while this works from anywhere and gets you the whole json metadata:
https://cloudac.mildom.com/nonolive/videocontent/playback/getPlaybackDetail?v_id=10882672-1597758589870-477&__platform=web
And this is a link to a user's profile, also working normally with the extra parameter:
https://cloudac.mildom.com/nonolive/videocontent/profile/playbackList?user_id=10882672&page=1&limit=30&__platform=web
It might be interesting to add this parameter to the url generation throughout the extractor, just in case.
The second improvement I tried, once I found out how to access the json for the videos reliably, was to parse the rest of the metadata. The extractor initially parses id, title, description, uploader, uploader_id and formats, but it was pretty easy to add more. As a test (and because it was the minimum I needed for archiving videos) I added timestamp, duration and thumbnails to class MildomVodIE(MildomBaseIE):
        timestamp = try_get(autoplay['publish_time'], compat_numeric_types)

        duration = try_get(autoplay['video_length'], compat_numeric_types)

        thumbnails=[]
        thumbnail_url=try_get(autoplay['upload_pic'], compat_str)
        thumbnails.append({
                'url': thumbnail_url,
            })

        return {
            'id': video_id,
            'title': title,
            'description': description,
            'timestamp': timestamp//1000,
            'duration': duration//1000,
            'thumbnails': thumbnails,
            'uploader': uploader,
            'uploader_id': user_id,
            'formats': formats,
        }

(I also needed to import compat_numeric_types to handle the timestamps and duration). The json does not have that much more information, but someone with more experience in how youtube-dl/yt-dlp handles metadata should be able to complete the extractor easily.
A further improvement I did not try (but which would be nice) is handling errors a bit more gracefully. On error the site returns a json that could be parsed, instead of raising an exception when the normal video metadata is not found. An incorrect video ID will return:
https://cloudac.mildom.com/nonolive/videocontent/playback/getPlaybackDetail?v_id=10882672-1597758589870&__platform=web
{"code":35100,"message":"この動画は存在しません"} (note that the message is "video does not exist", a bit different from the previous "page not found")
The same code appears when the video requires a paid subscription. I have not found a way to tell them apart, but I can leave a link to experiment:
https://www.mildom.com/playback/10882672/10882672-c4kfrmlaks9dkdqql4og
This is all the low-hanging fruit I have been able to find for now, I hope it is useful.
Cheers

Please make a PR if possible

If I find out what else is truncating the video IDs, I can give it a try.

If my pull request does not break anything else, it implements all the fixes and improvements I proposed here. So I am tentatively closing the issue.

Issues should be closed when the PR is merged


fix Chucky's bug

@bmmoore please review

We might consider making Linux an explicit case rather than the default.
Consulting http://en.wikipedia.org/wiki/Uname it looks like most of the remaining variety is in various BSDs and unix variants. Falling back to the Linux behavior after a warning message might be better than simply assuming anything unknown is linux.

Looks good.


GetSubmissionsByCourse cleanup

fixes #462

@oskargjolga Let me know if you need some feedback on the remaining parts of this. It is not marked ready for review and there are a few things remaining it looks like...

@meling Busy week... Will do a couple commits and mark it ready for review tomorrow!


[FLINK-28446][runtime] Expose more information in PartitionDescriptor to support more optimized Shuffle Service

What is the purpose of the change
To improve shuffle performance, more detailed fields should be added to PartitionDescriptor, for example, whether the partition is a broadcast partition or the distribution pattern of the intermediate result.
After the detailed information is added, the Shuffle Service can use different Shuffle strategies in different situations, which may lead to better shuffle performance.
In addition, we only add fields to PartitionDescriptor, which is compatible with the previous version, and the added fields are insensitive to earlier users.
Brief change log

Add fields of isBroadcast and distributionPattern to PartitionDescriptor.

Verifying this change
Please make sure both new and modified tests in this PR follows the conventions defined in our code quality guide: https://flink.apache.org/contributing/code-style-and-quality-common.html#testing
This change is already covered by existing tests, such as NettyShuffleUtilsTest.
Does this pull request potentially affect one of the following parts:

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

Documentation

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

@flinkbot run azure

@TanYuxin-tyx Thanks for the update. LGTM.


Use 'dispatch-build-result' action

This PR simplifies the code that deals with the dispatch of the build result. This step is only executed when running under our organization since it deals with this repository's integration with our SVN repo.

Pretty!


Add test to check 'column_names' argument is working as expected on PortRequest results

Add tests under tests/statistics_filter

Get the traffic statistics based on column_names argument
Validate the stats returned are based on user provied column_names

Added with #190


Truncated project titles don't show up with mouseover (FF 30, Linux x64)

At least in Firefox 30 on Linux, x64, truncated project names (see "Owncloud And..." below) don't show up on mouseover.
Example project:  https://www.bountysource.com/teams/owncloud
Possible fixes:  Add mouseover.

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/5428678-truncated-project-titles-don-t-show-up-with-mouseover-ff-30-linux-x64?utm_campaign=plugin&utm_content=tracker%2F47&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F47&utm_medium=issues&utm_source=github).

"Our Projects" is no longer displayed, as each team should be one project team / group and the tracker-level data has been suppressed. No longer have the project titles to truncate.


Use a Session per InfluxDBClient instance

It's better to avoid the global session instance and create a new one per instance of InfluxDBClient

+1

Does this lead to any actual performance improvement?
Requests' Sessions helps in clarity and conciseness when dealing with auth or interacting with APIs which are not fully RESTful. However, my understanding is that InfluxDB is fully RESTful (requiring username and password for each protected request): hence, my understanding is that using requests' Sessions would not lead to any substantial benefit, neither in clarity nor in performance.

The biggest gain from a Session is keepalive. It'll maintain a keepalive with the server, which is a substantial gain.

You're right, I did not know that (despite it being in the docs).

@mattrobenolt Do you intend to fix the tests?

@ReAzem Fixed. :)

Thank you for contributing :)


python311Packages.manim-slides: 5.1.3 -> 5.1.4

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python311Packages.manim-slides is: Tool for live presentations using manim
meta.homepage for python311Packages.manim-slides is: https://github.com/jeertmans/manim-slides
meta.changelog for python311Packages.manim-slides is: https://github.com/jeertmans/manim-slides/blob/refs/tags/v5.1.4/CHANGELOG.md
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 5.1.4 with grep in /nix/store/8i2aa3c09p7r9k05psfz8j3d8rwsp7ri-python3.11-manim-slides-5.1.4
found 5.1.4 in filename of file in /nix/store/8i2aa3c09p7r9k05psfz8j3d8rwsp7ri-python3.11-manim-slides-5.1.4

Rebuild report (if merged into master) (click to expand)

3 total rebuild path(s)

3 package rebuild(s)

First fifty rebuilds by attrpath
manim-slides
python311Packages.manim-slides
python312Packages.manim-slides

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8i2aa3c09p7r9k05psfz8j3d8rwsp7ri-python3.11-manim-slides-5.1.4 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python311Packages.manim-slides https://github.com/r-ryantm/nixpkgs/archive/5fced404aed5b68f14d9cc6c14ab976d9b90321a.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/5fced404aed5b68f14d9cc6c14ab976d9b90321a#python311Packages.manim-slides

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8i2aa3c09p7r9k05psfz8j3d8rwsp7ri-python3.11-manim-slides-5.1.4
ls -la /nix/store/8i2aa3c09p7r9k05psfz8j3d8rwsp7ri-python3.11-manim-slides-5.1.4/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages failed to build:

python312Packages.manim-slides
python312Packages.manim-slides.dist

4 packages built:

manim-slides
manim-slides.dist
python311Packages.manim-slides
python311Packages.manim-slides.dist

Maintainer pings
cc @soispha for testing.

Already on master.


chrome ext wallet signer failed to sign

In js code, I was replacing the signer generated from BlindContextSigner with the signer retrieved from chrome ext wallet.
    const bridgeWrapper = new oasisBridge.Wrapper(gVals.BRIDGE_RUNTIME_ID);
    const tw = bridgeWrapper.callLock()
        .setBody({
            target,
            amount,
        })
        .setSignerInfo([siUser])
        .setFeeAmount(([oasis.quantity.fromBigInt(BigInt(feeAmount)), oasisRT.token.NATIVE_DENOMINATION]))
        .setFeeGas(BigInt(feeGas));
    console.log(tw);
    console.log(user);  // user is the signer
    console.log(consensusChainContext);
    await tw.sign(user, consensusChainContext).catch(err => {console.log(err);});

The tw.sign ran into error:
TypeError: Cannot read property 'sign' of undefined
    at signAny (transaction.js:19)
    at proveSignature (transaction.js:30)
    at proveAny (transaction.js:48)
    at Object.signUnverifiedTransaction (transaction.js:64)
    at async TransactionWrapper.sign (wrapper.js:42)
    at async userOut (oasCall.js:216)

Debug data of tw, user,  consensusChainContext:
TransactionWrapper {runtimeID: Uint8Array(32), transaction: {…}}runtimeID: Uint8Array(32) [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]transaction: {v: 1, call: {…}, ai: {…}}__proto__: Object

ExtContextSigner {connection: ExtConnection, which: "oasis1qrec770vrek0a9a5lcrv0zvt22504k68svq7kzve", publicKey: Uint8Array(32)}connection: ExtConnection {origin: "chrome-extension://ebgmidfnkjacmkllbapaaklkochkieei", messageFrame: global, nextId: 2}publicKey: Uint8Array(32) [53, 195, 243, 53, 109, 216, 83, 100, 254, 186, 3, 84, 181, 69, 173, 161, 9, 209, 189, 179, 139, 245, 214, 18, 104, 23, 219, 140, 114, 207, 214, 145]which: "oasis1qrec770vrek0a9a5lcrv0zvt22504k68svq7kzve"__proto__: Object

5ba68bc5e01e06f755c4c044dd11ec508e4c17f1faf40c0e67874388437a9e55

Thanks, I was following the guide here
Let me try with array

You'll have to wrap it in an array
-tw.sign(user, consensusChainContext)
+tw.sign([user], consensusChainContext)

the runtime sdk's transaction format allows multiple accounts to sign. two parts of the client SDK where this shows up are

setSignerInfo takes an array
sign takes an array

additional note, although I think the bridge design doesn't do this:
when there are actually multiple accounts signing a single transaction, these two arrays need to match up: proofProvider[i] should be the ContextSigner (or MultisigSignerSet in the case of multisig account) for signerInfo[i]

After wrapping it as an array, in the test, the tw.sign method call never returned.
Looks like the programme hanged on const res = (await this.connection.request(req)), its debug data:
connection:
messageFrame: global {window: global, self: global, location: {…}, closed: false, frames: global, …}
nextId: 3
origin: "chrome-extension://ebgmidfnkjacmkllbapaaklkochkieei"
__proto__: Object

req:
context: "oasis-runtime-sdk/tx: v0 for chain 986e609a59a8ad2fbcb374eba737a271d0bf231034cadbe4e5bb6bf50e3260a2"
message: Uint8Array(191) [163, 97, 118, 1, 98, 97, 105, 162, 98, 115, 105, 129, 162, 101, 110, 111, 110, 99, 101, 9, 108, 97, 100, 100, 114, 101, 115, 115, 95, 115, 112, 101, 99, 161, 105, 115, 105, 103, 110, 97, 116, 117, 114, 101, 161, 103, 101, 100, 50, 53, 53, 49, 57, 88, 32, 53, 195, 243, 53, 109, 216, 83, 100, 254, 186, 3, 84, 181, 69, 173, 161, 9, 209, 189, 179, 139, 245, 214, 18, 104, 23, 219, 140, 114, 207, 214, 145, 99, 102, 101, 101, 162, 99, 103, 97, 115, 25, 3, 232, 102, …]
method: "context-signer-sign-v1"
which: "oasis1qrec770vrek0a9a5lcrv0zvt22504k68svq7kzve"
__proto__: Object

thanks for the additional report. I'll reopen that in the wallet repo


Apply Spring application id to Azure Identity

Forward port #33212 to Spring Boot 3 branch.

/azp run java - spring - tests

/azp run java - spring - tests

API change check
API changes are not detected in this pull request.


bmake: 20181221 -> 20200212

Semi-automatic update generated by https://github.com/ryantm/nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/bmake/versions.
meta.description for bmake is: '"Portable version of NetBSD 'make'"'.
meta.homepage for bmake is: '"http://www.crufty.net/help/sjg/bmake.html"

Checks done (click to expand)

built on NixOS

The tests defined in passthru.tests, if any, passed

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 20200212 with grep in /nix/store/77sj418mi8bfdc439b6pffwx088gmm5p-bmake-20200212

directory tree listing: https://gist.github.com/4c6535f57854ae41cbd60260bf29649f

du listing: https://gist.github.com/26f363a0c024f83c7a2986ffdae48403

Rebuild report (if merged into master) (click to expand)

8 total rebuild path(s)
2 package rebuild(s)
2 x86_64-linux rebuild(s)
2 i686-linux rebuild(s)
2 x86_64-darwin rebuild(s)
2 aarch64-linux rebuild(s)
First fifty rebuilds by attrpath
bmake
libfsm

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/77sj418mi8bfdc439b6pffwx088gmm5p-bmake-20200212 \
  --option binary-caches 'https://cache.nixos.org/ https://r-ryantm.cachix.org/' \
  --option trusted-public-keys '
  r-ryantm.cachix.org-1:gkUbLkouDAyvBdpBX0JOdIiD2/DP1ldF3Z3Y6Gqcc4c=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(r-ryantm's Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bmake https://github.com/r-ryantm/nixpkgs/archive/6a18fa37351e727bcfb1ec2c0a11ca5ef532663f.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/77sj418mi8bfdc439b6pffwx088gmm5p-bmake-20200212
ls -la /nix/store/77sj418mi8bfdc439b6pffwx088gmm5p-bmake-20200212/bin

cc @thoughtpolice for testing.

@GrahamcOfBorg build bmake libfsm


pull request for e2e test at 01/03/2017 05:45:14

:x: Validation status: errors
For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


xcodebuild exited with code 70

Steps to reproduce

patrol test -t integration_test --dart-define='APP_ENV=val' --flavor=val --release

Actual results
hi, I have a problem with the iOS build which worked correctly before updating to xCode 16 and Sonoma 14.7, the error it gives me is this: xcodebuild: error:
** Failed to build workspace Runner with scheme val.: No test bundle product for testingSpecifier: "<IDEFoundation.IDEConcreteTestingSpecifier: 0x7fea99aca2a0>"**
Logs

Logs
<** Failed to build workspace Runner with scheme val.: No test bundle product for testingSpecifier: "<IDEFoundation.IDEConcreteTestingSpecifier: 0x7fea99aca2a0>"**>

Patrol version
patrol: 3.9.0
Patrol Doctor output

Patrol Doctor output
<Patrol CLI version: 3.0.0
Flutter command: flutter
  Flutter 3.24.3 • channel stable
Android:
• Program adb found in /usr/local/bin/adb
• Env var $ANDROID_HOME set to /Users/XXX/Library/Android/sdk
iOS / macOS:
• Program xcodebuild found in /usr/bin/xcodebuild
• Program ideviceinstaller found in /usr/local/bin/ideviceinstaller>

Flutter Doctor output

Flutter Doctor output
<[✓] Flutter (Channel stable, 3.24.3, on macOS 14.7 23H124 darwin-x64, locale it-IT)
    • Flutter version 3.24.3 on channel stable at /Users/xxx/Flutter/flutter
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision 2663184aa7 (5 weeks ago), 2024-09-11 16:27:48 -0500
    • Engine revision 36335019a8
    • Dart version 3.5.3
    • DevTools version 2.37.3

[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
    • Android SDK at /Users/xxx/Library/Android/sdk
    • Platform android-34, build-tools 34.0.0
    • ANDROID_HOME = /Users/xxx/Library/Android/sdk
    • Java binary at: /Applications/Android Studio 2.app/Contents/jbr/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 16.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 16A242d
    • CocoaPods version 1.15.2

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2023.2)
    • Android Studio at /Applications/Android Studio 2.app/Contents
    • Flutter plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 17.0.9+0-17.0.9b1087.7-11185874)

[✓] IntelliJ IDEA Community Edition (version 2021.3.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      :hammer: https://plugins.jetbrains.com/plugin/6351-dart

[✓] VS Code (version 1.89.0)
    • VS Code at /Users/XXX/Downloads/Visual Studio Code.app/Contents
    • Flutter extension version 3.98.0

[✓] Connected device (3 available)
    • iPhone 15 Pro (mobile) • 596B3A6F-FED8-42D7-83F4-04F3D78E80C8 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-17-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-x64     • macOS 14.7 23H124 darwin-x64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 129.0.6668.101
    ! Error: Browsing on the local area network for iPhone-D475TLC95W. Ensure the device is unlocked and attached with a cable or associated with the same
      local area network as this Mac.
      The device must be opted into Developer Mode to connect wirelessly. (code -27)

[✓] Network resources
    • All expected network resources are available.

• No issues found!>

update:
I solved it by redoing the patrol configuration from the beginning


Add slack-github-action

This will announce when a workflow run needs review/approval on Slack
TODO:

[ ] add<EMAIL_ADDRESS>to org list of approved GitHub Actions
[ ] add secrets.SLACK_BOT_TOKEN to repository (who do I talk to about this?)
[x] consider maybe adding this as a config option to action-npm-publish so we don't have to paste this block everywhere?

re: https://github.com/MetaMask/action-npm-publish/issues/6

closing in favour of implementing this as a feature of action-npm-publish


OpenTSDB unit tests

This code is completely untested so far.

I forgot to update this issue; this has been about 80% solved by 71e1933


Character police issue

(Received by email)
I have used Mediainfo for a number of years and I find it very useful.
I just updated to Mediainfo for Windows 24.06 but I find the text output is much lighter and thinner, I prefer the bolder text of the previous version I had which was 24.01.1
I reinstall the previous version and the bold and darker text returned, is this a deliberate lightening of the text output? How do I get the bolder and darker text display with your new version? if I cannot I will just stick to 24.06 and disable the check for update function.
cc @cjee21 for comment.

Possibilities:

Use bold version of Cascadia Mono.
Add font selection so users can choose any font they like (harder to implement).

Whatever font is chosen, I guess cannot satisfy everyone. So number 2 is the only way to satisfy everyone.

So number 2 is the only way to satisfy everyone.

I am fine with your update so I guess that it is the only way (reason MI command line has so many options...).
As well as font size, criticized in the past.
No pressure as it is on your free time but if you are interested in coding that (font name, bold, size), we are interested ;-).

No pressure as it is on your free time but if you are interested in coding that (font name, bold, size), we are interested ;-).

Right now my priority is on 64-bits and Windows 11 context menu to be honest. Those are what actually matters for my use. The other parts are almost perfect already for me.
By the way, I have been using MediaInfo for years (can't remember when started). Thank you for this one-and-only app that enables me to view insights of media files, learn more about various codecs and check that my files have the correct streams, codecs,  metadata etc. Glad that I can contribute to it.

 Cascadia Mono actually has many font weights but VCL seems to only be bold or no bold with no in-between.

If increase font size instead:

Increase of police size as an impact of having less content displayed, doesn't seem to be the case with bold.
I am checking before/after the change, looks like that bold could be a good intermediate, changing the font for a more clear one but using bold for something more similar to the past, for the default (and only one until we implement font choice).
@cjee21 are you fine with bold?

@cjee21 are you fine with bold?

Still better than the old jagged edges font I guess.

Still better than the old jagged edges font I guess.

Would you mind to do a PR?

@JeromeMartinez I managed to use the semi bold variant of Cascadia Mono (required the exact correct name)

I think this one looks the best for MediaInfo compared to regular and bold. What do you think? Another PR?

I think this one looks the best for MediaInfo compared to regular and bold. What do you think? Another PR?

Yes, please.
By the way, the bold and semi-bold seem to show a bigger issue about the lack of space between the characters and the left toolbar, could you add some margin there while you are on that?

could you add some margin there while you are on that?

Sure, just need to enable auto margins. How about the background colour? That is changeable too.

How about the background colour? That is changeable too.

I have no strong preference there, little preference for not changing all.

Just testing. This is how it looks on white.

Just testing. This is how it looks on white.

Let's try that.

By the way, are the text in all the views supposed to be editable? Just discovered that they are editable.

By the way, are the text in all the views supposed to be editable?

Not really :).
but important that they can be copied/pasted, IIRC (it was a very long time ago) I changed that for being copied/pasted.

By the way, are the text in all the views supposed to be editable?

Not really :). but important that they can be copied/pasted, IIRC (it was a very long time ago) I changed that for being copied/pasted.

Read-only mode is still copy-able :)


Error: Failed to find Electron vv1.3.4

Hello,
I'm using electron-packager to build my electron app.
I used The CLI to build the application until now, without issues.
Now I wanted to switch to the Programming API to make the build process easier to automate, however I'm having trouble with the version argument:
If I supply "v1.3.4" as version property (which I think is the correct formatting), It begings building,, but the throws:
Packaging app for platform win32 x64 using electron v1.3.4

Error: Failed to find Electron vv1.3.4 for win32-x64 at https://github.com/electron/electron/releases/download/vv1.3.4/electron-vv1.3.4-win32-x64.zip
    at Request.<anonymous> (C:\xampp\htdocs\bae\node_modules\nugget\index.js:170:61)
    at emitOne (events.js:96:13)
    at Request.emit (events.js:188:7)
    at Request.onRequestResponse (C:\xampp\htdocs\bae\node_modules\request\request.js:954:10)
    at emitOne (events.js:96:13)
    at ClientRequest.emit (events.js:188:7)
    at HTTPParser.parserOnIncomingClient [as onIncoming] (_http_client.js:472:21)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:105:23)
    at TLSSocket.socketOnData (_http_client.js:361:20)
    at emitOne (events.js:96:13)
    at TLSSocket.emit (events.js:188:7)
    at readableAddChunk (_stream_readable.js:177:18)
    at TLSSocket.Readable.push (_stream_readable.js:135:10)
    at TLSWrap.onread (net.js:542:20)

I saw that the version was malformed to vv1.3.4, which of course is not the right value. Then I assumed that I would need to omit the "v" for the property, which resulted in this error:
 Fatal error: Unable to parse version string

Now I assume that the formatting "v1.x.x" was correct, however still failed. Can someone help me with that?
The content of the js file:

"use strict";

const packager = require("electron-packager");
const packageJson = require("./package.json");

const options = {
    "name": packageJson.name,
    "app-version": packageJson.version,
    "build-version": packageJson.version,
    "version": "v1.3.4",
    "dir": "./app",
    "out": "./releases/",
    "arch": packageJson.build.arch,
    "platform": packageJson.build.platforms,
    "asar": false,
};

console.log(options);

packager(options, function(err, appPaths) {
    if (err) {
        throw err;
    } else {
        console.log(`Built ${packageJson.name}`);
    }
});

I enabled the DEBUG envoriment var for electron-packager and electron-download, the output stays the same
I'm using

Node 6.4
npm 3.10.3
electron-prebuilt 1.3.4
electron-packager 7.6.0

On Windows 10 64bit

Per the API docs about the version option, you need to omit the v.

Thanks for the answer, I looked into the docs and adjusted my code. However, I'm still getting an error using "1.3.4" as version property, however only when building for windows.
My code now is:
"use strict";

const packager = require("electron-packager");
const packageJson = require("./package.json");

const options = {
    "name": packageJson.name,
    //"app-version": packageJson.version,
    //"build-version": packageJson.version,
    "version": "1.3.4",
    "dir": "./app",
    "out": "./releases/",
    "all": true,
    //"arch": packageJson.build.arch,
    //"platform": packageJson.build.platforms
};

console.log(options);

packager(options, function(err, appPaths) {
    if (err) {
        throw err;
    } else {
        console.log(`Built ${packageJson.name}`);
    }
});

```
Which now outputs;

```shell
Packaging app for platform linux ia32 using electron v1.3.4
Packaging app for platform win32 ia32 using electron v1.3.4

C:\my\path\to\app\build.js:23
        throw err;
        ^
 Fatal error: Unable to parse version string
```
Could you help me with this?

You likely either do not have the version in package.json set at all, or it does not follow the semantic versioning format.

Unless I'm missimg something, the version of electron is set correctly in the package.json(which is in the same dir as the build.js)
The dependency section looks like this:

  "devDependencies": {
    "babel-preset-es2016": "^6.11.3",
    "electron-packager": "^7.6.0",
    "gulp": "^3.9.1",
    "gulp-babel": "^6.1.2",
    "gulp-concat": "^2.6.0",
    "gulp-connect": "^5.0.0",
    "gulp-cssbeautify": "^0.1.3",
    "gulp-filter": "^4.0.0",
    "gulp-html-prettify": "0.0.1",
    "gulp-pug": "^3.0.4",
    "gulp-sass": "^2.3.2",
    "gulp-task-loader": "^1.4.4",
    "main-bower-files": "^2.13.1"
  },
  "dependencies": {
    "electron": "1.3.4",
    "electron-prebuilt": "1.3.4"
  }

I'm very sorry If I'm just being stupid, but I can't seem to figure it out.

What is the value of the version key of package.json? (The app version)

Oh!
That was the problem, I had "v1.7.2" as version key, I didnt know that the electron builder takes this version too! after switching to "1.7.2" It worked. Thanks!


WeightNormalization can not be used within tf.while_loop

System information

OS Platform and Distribution (e.g., Linux Ubuntu 16.04): CentOS 7
TensorFlow version and how it was installed (source or binary): binary
TensorFlow-Addons version and how it was installed (source or binary): source
Python version: 3.74.
Is GPU used? (yes/no): yes

Describe the bug
When using WeightNormalization within tf.while_loop, the following exception will raised:
  ValueError: Operation '*variable/scope/name*/weight_normalization/data_dep_init/VarIsInitializedOp' has been marked as not fetchable.

 This is be caused the session.run method cannot be used in tf.while_loop,  and the get_weights method is used at

(https://github.com/tensorflow/addons/blob/81529ff7dd246f7575338b8cfe65784b0cc8a502/tensorflow_addons/layers/wrappers.py#L120)，but get_weights will invoke session.run finally.
A clear and concise description of what the bug is.
Code to reproduce the issue
 time = tf.constant(0, dtype=tf.int32)
 total = tf.constant(10, dtype=tf.int32)

 def cond(time, total, _, _):
        return tf.less(time, total)

  def body(time, total, encoded, results):
        ...
        conv = WeightNormalization(
            tf.keras.layers.Conv1D(100, kernel_size=5,strides=2)
        )
       encoded = conv(encoded)
       ...
       return time + 1, total, encoded, results

   time, total, encoded, hypothesis = tf.while_loop(
        cond,
        body,
        loop_vars=(time, total, encoded, results)
   )

Provide a reproducible test case that is the bare minimum necessary to generate the problem.
Other info / logs
Include any logs or source code that would be helpful to diagnose the problem. If including tracebacks, please include the full traceback. Large logs and files should be attached.

Can you share a very, very minimal but complete "copy and run" example or Colab to reproduce this?

TensorFlow Addons is transitioning to a minimal maintenance and release mode. New features will not be added to this repository. For more information, please see our public messaging on this decision:
TensorFlow Addons Wind Down
Please consider sending feature requests / contributions to other repositories in the TF community with a similar charters to TFA:
Keras
Keras-CV
Keras-NLP


az role assignment delete does not filter using the filter condition passed in --query

az feedback auto-generates most of the information requested below, as of CLI version 2.0.62

Describe the bug

az role assignment delete does not filter using the filter condition passed in --query
To Reproduce

Execute az role assignments delete request using the --query parameter , still all the role assignments are deleted
Expected behavior

On using the --query it should filter out the results before deletion
Environment summary

Additional context

add to S169

--query is designed to filter the output. It doesn't affect the input. Besides, the underlying API Role Assignments - Delete doesn't support filtering.
You may run az role assignment delete -h to check supported parameters.


Certificate errors on device.

I have followed all the set up steps and I can build/sign/run apps on my Galaxy Watch (Tizen 5.5) from the command line and via Tizen Studio.
However, "flutter-tizen run" goes through the build process then tries to install to the watch but gives the following output:-flutter-tizen run
Launching lib\main.dart on Tizen SM-R800 in debug mode...
The XXXXX profile is used for signing.
Building a Tizen application in debug mode...                     142.5s
Built build\tizen\com.example.flutter_test_1-1.0.0.tpk (16.7MB).
Installing build\tizen\com.example.flutter_test_1-1.0.0.tpk...        16.8s
Installing TPK failed with exit code 0:
WARNING: Your data are to be sent over an unencrypted connection and could be read by others.
pushed com.example.flutter_test_1-1.0.0.tpk       0%          0MB           0KB
pushed com.example.flutter_test_1-1.0.0.tpk     15%          2MB           0KB
pushed com.example.flutter_test_1-1.0.0.tpk     56%          9MB      4096KB
pushed com.example.flutter_test_1-1.0.0.tpk     82%         13MB     6399KB
pushed com.example.flutter_test_1-1.0.0.tpk     97%         16MB     1656KB
pushed com.example.flutter_test_1-1.0.0.tpk    100%        16MB     1656KB
1 file(s) pushed. 0 file(s) skipped.
...\flutter_test_1\build\tizen\com.example.flutter_test_1-1.0.0.tpk   2482KB/s (17560922 bytes in 6.909s)
path is /home/owner/share/tmp/sdk_tools/com.example.flutter_test_1-1.0.0.tpk
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[start] val[install]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[12]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[15]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[18]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[21]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[25]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[install_percent] val[28]
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[error] val[-12] error message: :Invalid
certificate chain with certificate in signature.:<-3>
__return_cb req_id[1] pkg_type[tpk] pkgid[com.example.flutter_test_1] key[end] val[fail]
processing result : Check certificate error [-12] failed
spend time for pkgcmd is [9564]ms

I have no idea how this happens but did you try with another certificate? (Samsung certificate, not Tizen one)

Yes, this is with a Samsung certificate. I deleted my original ones, just in case I had the Tizen one by mistake.

Did you include the device DUID in the distributor certificate? (Was your watch device connected to your PC when you created the Samsung certificate?)

Yes to both.
My current certificates work with Tizen Studio and Tizen command line builds.

The flutter-tizen tool runs the following Tizen CLI command at the end of its build step to re-package a tpk with the user's profile (chain of certificates).
tizen package -t tpk -s [ProfileName] -- [PathToTpk]

You may try this manually from the command line (although it doesn't seem to help). The tpk in the path will be replaced with the new tpk and you can install it onto your device using:
sdb install [PathToTpk]

A side note: A tpk file is practically a zipped archive of all files/directories under tpkroot directory (which is located in your project's build/tizen after build). You can create a tpk from scratch by following these steps: (1) use zip (or any other archiving tool) to create a zip file, (2) change the file extension to .tpk, (3) re-package with your security profile using the above Tizen CLI command.

I encountered the same error when I was running a simple app on my new RPi4. When I choose a Tizen certificate I get a different error code (key[error] val[-22] error message: :Unknown error code:<14>). Still don't know why.

I'm not sure what your error is, but I think it's probably unrelated and this issue could be closed.
I'm not 100% sure what I did differently, but I deleted and got new certificates (via Tizen Studio) and it seems to be working now. I also think I had a mix-up with my CLI build and packaging and I thought it had worked when it could have picked up a previous package. After more testing I found I couldn't sign a CLI built package after all.
I made sure to delete all traces of my old certificates, then generated new ones via Tizen Studio and then told the CLI config where they were (via tizen security-profiles command). Then flutter-tizen run worked ok.
Sorry to have wasted your time!

No worries. That kind of thing could happen at any time when you're using the Tizen tooling.
Anyway I'm glad your issue has been resolved!

I'll close this issue. If we happen to see this error again, we will have to try either:

Go over the security manager source code (the latest source code is not publicly available)
Run "Permit to install applications" (TV only)

I'm getting the same error. Is there a way to configure the certificate that flutter-tizen uses? Each time I run it it tells me:
The tpk has been signed with a default certificate. You can create one using Certificate Manager.
https://github.com/flutter-tizen/flutter-tizen/blob/master/doc/install-tizen-sdk.md#create-a-tizen-certificate
I created a Samsung Certificate and a Tizen certificate but none of them are being used.

@jtmuller5 The only reason I can think of now is a corrupted manifest file. Could you check if your ~/tizen-studio-data/profile/profiles.xml file exists and it contains below lines?
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<profiles active="SomeProfileName" version="3.1">
<profile name="SomeProfileName">
<profileitem ca="..." distributor="0" key="..." password="..." rootca=""/>
<profileitem ca="..." distributor="1" key="..." password="..." rootca=""/>
<profileitem ca="" distributor="2" key="" password="" rootca=""/>
</profile>
...

The flutter-tizen run command always uses the current active profile for building tpk. You may try the flutter-tizen build tpk command which allows you to specify a specific profile name:
$ flutter-tizen build tpk --device-profile wearable --security-profile SomeProfileName
$ flutter-tizen install

I actually got it to work based on a response in this thread.
I added a section like this to my *.csproj file:
<PropertyGroup>
 <AuthorPath>author_test.p12</AuthorPath>
 <AuthorPass>author_test</AuthorPass>
 <DistributorPath>tizen-distributor-signer.p12</DistributorPath>
 <DistributorPass>tizenpkcs12passfordsigner</DistributorPass>
</PropertyGroup>

I ended up getting the error again, and I now know what the actual problem was.
My set up is an SSH connection to a remote Ubuntu machine, and I do all my work via the command line.
The issue turned out to be caused by the Gnome Keyring not being unlocked because I had not unlocked it by, for example, opening a browser on the machine.
Connecting via remote desktop, opening the browser and unlocking the keyring, then closing the browser and disconnecting my remote desktop connection leaves the keyring unlocked and the flutter-tizen command will then operate properly until the machine is rebooted.

@allan175 Thank you for the information! I'll report to the Tizen SDK team if I manage to reproduce the issue and share the result here.

Hmm, I'm not sure how to reproduce the behavior exactly. I booted my Ubuntu without unlocking and connected via SSH. sdb isn't listing attached devices and I can't install any tpk.

Sorry, maybe because this issue is closed I didn't get a notification of your reply.
I wasn't able to build the TPK without unlocking the keyring. I don't think I tried listing or installing to devices.


WIP; adding mac support

I began work on adding Mac / MPS support.
bitsandbytes doesn't yet support MPS, but until then the alternative is MLX. I think this PR is close to working, however streaming is not supported by MLX so I haven't finished integration. Maybe someone else can help?

so happy to see this, i had the exact same idea and wanted to check beforehand.
i wonder if we're better off just making it an openai spec for the llm. reason being that i'd probably run the SDXL model on a CUDA machine and the LLM on mlx.

@fblissjr hi! yes, that's the path I ended up going down but didn't complete... will push what I have

c.f. https://github.com/qnguyen3/chat-with-mlx/blob/main/chat_with_mlx/app.py

sweet! i converted the models here already. only did 8 bit because of the small nature of the models:

https://huggingface.co/mlx-community/omost-phi-3-mini-128k-mlx-8bit
https://huggingface.co/mlx-community/omost-dolphin-2.9-llama3-8b-mlx-8bit
https://huggingface.co/mlx-community/omost-llama-3-8b-mlx-8bit

@fblissjr thanks! are you able to take a crack at finishing up the integration?
Additionally, I see you have a fork of mlx-outlines... seems like outlines could be a useful addition to the project, no? https://github.com/lllyasviel/Omost/discussions/84#discussion-6794403

@fblissjr thanks! are you able to take a crack at finishing up the integration?
Additionally, I see you have a fork of mlx-outlines... seems like outlines could be a useful addition to the project, no? #84 (comment)

I didn't - got bogged down and now going to be out of pocket for a week. Most likely won't get to it unfortunately.
I did start outlines, forked from another fork. It was sorta working, but the project was just moving too fast and the fork too big of a drift that I abandoned it. Mostly was curious how far off it was from 'working' - which I discovered is still too far.
I think we need a proper mlx implementation of a constrained decoder / DSL rather than a retrofit of an older one.

@fblissjr thanks! are you able to take a crack at finishing up the integration?
Additionally, I see you have a fork of mlx-outlines... seems like outlines could be a useful addition to the project, no? #84 (comment)

@fblissjr thanks! are you able to take a crack at finishing up the integration?
Additionally, I see you have a fork of mlx-outlines... seems like outlines could be a useful addition to the project, no? #84 (comment)

@dfl just fyi, mlx adding logprobs, which will make stuff like outlines much easier to integrate: https://github.com/ml-explore/mlx-examples/discussions/826#discussioncomment-9739298


[Enhancement] refactor allin1 image

add supervisor and nginx into allin1
add broker into allin1
robust register BE BROKER into FE
be able to use stream load directly talking to nginx http port

Fixes #13319
What type of PR is this:

[ ] BugFix
[ ] Feature
[X] Enhancement
[ ] Refactor
[ ] UT
[ ] Doc
[ ] Tool

Checklist:

[ ] I have added test cases for my bug fix or my new feature
[ ] This pr will affect users' behaviors
[ ] This pr needs user documentation (for new or modified features or behaviors)

[ ] I have added documentation for my new feature or new function

Bugfix cherry-pick branch check:

[X] I have checked the version labels which the pr will be auto-backported to the target branch

[X] 3.1
[X] 3.0
[X] 2.5
[ ] 2.4

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

about 450MB fs_broker size, I guess around 100-200MB additional storage after compress.

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

[FE PR Coverage Check]
:heart_eyes: pass : 0 / 0 (0%)

@Mergifyio backport branch-3.1

@Mergifyio backport branch-3.0

@Mergifyio backport branch-2.5


$file->move() always creates an empty 'index.html'

PHP Version
8.1
CodeIgniter4 Version
4.0
CodeIgniter4 Installation Method
Composer (using codeigniter4/appstarter)
Which operating systems have you tested for this bug?
Linux
Which server did you use?
apache
Database
MySQL
What happened?
Whenever a file gets uploaded and saved with $file->move(), it doesn't only save the file in the specified directory, but it also creates an empty index.html file, every time.
I found this issue, but appending a slash at the end of the path didn't solve my problem.
Steps to Reproduce
Basically, all I am doing is saving the file with move():
$filename = $file->getRandomName();
$file->move("path/to/uploaddir", $filename);

Expected Output
To just save the file without adding empty, unrelated files.
Anything else?
No response

This is by design - to increase security if you store files in a publicly accessible directory. It will prevent all files in the directory from being displayed (listed) if the server configuration allows it.

Oh, I see. I couldn't find that information in the documentation, so I thought it was a bug. Thanks for the clarification, I will close this issue then.


Git should add untracked files to containing repo

Hi,
I have multi-root workspaces.
If there are untracked files, I can add them in two ways:

By clicking the plus sign near each of them: the file is added to the containing repo. This is ok.
By clicking the plus sign in the "Untracked changes" bar, to add them all in a single step. But in this case it asks to which repo add them. Not very fine imho.

Behavior 2 seems to me quite strange/unexpected/suspect...
I find much more intuitive to behave as in case number 1: there is no need to ask to which repo the files should be added.
Regards.

This feature request has not yet received the 20 community upvotes it takes to make to our backlog. 10 days to go. To learn more about how we handle feature requests, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this feature request has received less than 20 community upvotes and we closed it. Still a big Thank You to you for taking the time to create this issue! To learn more about how we handle feature requests, please see our documentation.
Happy Coding!


[projects] support EcoRegistry credits in CarbonMark

EcoRegistry built a blockchain native registry for quality carbon offsets. We want to bring these credits to Polygon and support them in our products, just like we support TCO2 and C3T tokens.
Understanding EcoRegistry

A credit holder can take credits in their EcoRegistry account and bridge them to a variety of blockchains, including Polygon with 1-click. This is already supported.
When they choose to bridge to polygon, they sign an agreement saying these are "no longer in their custody inside EcoRegistry and if they transfer those credits in that public blockchain, they can't get back those credits to Ecoregistry"
The tokens on Polygon should have all of the relevant project information associated with them.
To officially retire credits they must be "bridged back" to EcoRegistry. However we were told this process can be completed instantly via API by the token holder.

We need to do more research on how this API works and the best way to support retirement.
TODO (WIP)
This list is preliminary needs to be refined

[ ] Form a complete picture of their system so we can decide on how these tokens are best integrated

contract methods, the "blocking" behavior and reverse-bridging API, and relevant events.

[ ] Support these tokens in the retirement aggregator contracts (if possible)
[ ] Get PNGs or SVGs for their native token icon
[ ] Support in the following site pages:

[ ]  /retirement/[address]
[ ]  /retirement/[address]/[index]
[ ]  /pledge/[address]

[ ] Support in the following app pages

[ ]  /#/offset

[ ] Support in the following CarbonMark pages:

[ ]  /projects
[ ]  /projects/[id]
[ ]  /user/[handle]
[ ]  /portfolio

Will close this as the ticket is outdated. We can create a new one based on the new requirements defined more recently


Change the order of Ok / Cancel buttons

This might seem minor but the standard is "Ok" is first (left) and "Cancel" is second (on right). All browsers follow that standard. All of our dialogs, have Cancel first (on the left). That could ask for trouble by going against what people are used to.
Places that I saw need switched:

[ ] Import Hex File (Open Project -> Import Hex)
[ ] More -> About
[ ] Confirmation Dialog for when delete project (More -> Project Settings -> Delete Project)
[ ] Report Abuse (Embed -> Publish -> Go to published URL -> Report Abuse)
[ ] Remove a package (More-> Add Package; More -> Show Files; Go to files and delete Radio package)
[ ] User Settings dialog (Got it should be on left and Delete Acct on far right) -- (Sign in -> Click on button with person icon)

Note that there are different conventions on Windows and macOS. https://www.nngroup.com/articles/ok-cancel-or-cancel-ok/
But given platform usage in schools we should probably go the Windows way.


Manually upgraded apps are still shown as outdated

If I upgrade an app within the app and when I run brew cu, I will still see the app as outdated.

This tool is totally dependent on cask files, so if you still see the app as outdated even after brew update && brew cu, there is no way to solve the problem. We just have to wait until the cask is updated.

Sorry for my misleading. I mean, say in Evernote, when I click Check for updates within Evernote and update there instead of running brew update && brew cu in the command line. When the update finishes, and if I run brew update && brew cu now, the 'brew cu' will still tell me that my Evernote is outdated and ask me to update. Is there any chance that this could be fixed?

Manually updating an app outside HBC environment doesn't affect the metadata in caskroom, so we cannot retrieve the newly installed version and it will always be marked as outdated. This is also related to the casks having auto-updates stanza. PR #33 fixes the problem by just ignoring the auto-updates casks such as Evernote. The PR will be merged soon after some changes.

cool, thanks.

This issue was resolved in PR #49.


Set Mouse Position has stopped working

The Lua call window:setMousePosition(x, y) previously placed the system mouse cursor at the center of the game window.
When starting the game now, the mouse cursor is no longer placed in the center of the game window.
Now it is placed near (but not exactly at) the Y center of the game window, and at either the far left or far right of the entire system window, rather than in the center of the game window based on dividing the game window's user.ini-provided X and Y values by 2.
window:setMousePosition() (which in /phx/src/system/window.rs calls SDL_WarpMouseInWindow(handle, x, y)) is called by /script/States/Application.lua:
    self.window:setWindowGrab(true)
    self.window:setMousePosition(self.resX / 2, self.resY / 2)
    self.window:setWindowGrab(false)

as well as by Application:update() when the game window is resized. This Lua code also no longer moves the mouse cursor to the X/Y center of the game window as it once did when the game window is resized.
Is it possible something in the engine changed related to mouse positioning? (Or maybe window:setWindowGrab()?) Setting the system mouse cursor to a new shape still seems to work, just not setting the system mouse position.
Note 1: The round cursor you see when flying the ship in flight mode gets its position from the yaw() and pitch() functions, not from any call to get the current mouse position. So it still works.
Note 2: Interestingly, clicking on buttons still works. Whatever is reading the mouse position when a click event occurs is getting the correct X, Y position within the game window, since we can see that when you click some button under the system mouse cursor, the correct button gets activated. It's just setting the mouse position programmatically that seems to have stopped working.
Note 3: There is one other different kind of call to set the mouse position, which is Input:SetMousePosition(x, y) as used in HUD.lua. This uses SDL_GetMouseState(&x, &y) (defined in /phx/src/input/mouse.rs) to set the mouse X and Y position within the current window. This may not be working, either. Input.GetMousePosition() returns an x and y value, but they are always both 0. Oddly, there is no window:getMousePosition() function defined in window.rs to go along with the window:setMousePosition() function.

use InputInstance:setCursorPosition(x, y)

note: ffi_ext/window & input are outdated now and should be removed or updated


fixed render target for hdr camera as a cargo feature

If Camera has hdr: true the default texture format for render target doesnt work so i had to change it from TextureFormat::bevy_default() to ViewTarget::TEXTURE_FORMAT_HDR. Probably better to do this in runtime but i didn't see a quick way to get either camera or a view to ping for .hdr.

closed this one and replaced with identical but not from a main branch to avoid having irrelevant commits here


do not attempt to mount a cluster secret if none were provided.

part of: https://github.com/kiali/kiali/issues/7187

related operator PR: https://github.com/kiali/kiali-operator/pull/774

Test Procedures to see the inaccessible clusters will not get a secret mounted on the deployment:

Build the helm charts: make build-helm-charts
Create a /tmp/values.yaml file that has two clusters defined - one accessible, one that is not:

clustering:
  clusters:
  - name: accessible-cluster
    secret_name: the-accessible-cluster-secret
  - name: not-accessible-cluster

Generate the Deployment yaml from the helm template: helm template --show-only templates/deployment.yaml -f /tmp/values.yaml _output/charts/kiali-server-*-SNAPSHOT.tgz

You should not see any volume or volumeMount definitions for anything related to not-accessible-cluster, but you should see the accessible-cluster mount/mountVolume. To more easily see it, if you have yq installed you can do this:
Examine volume mounts - you should NOT see not-accessible-cluster in here but you should see accessible-cluster:
helm template --show-only templates/deployment.yaml -f /tmp/values.yaml _output/charts/kiali-server-*-SNAPSHOT.tgz | yq e '.spec.template.spec.containers[0].volumeMounts'

That results in something like:
- name: kiali-configuration
  configMap:
    name: kiali
- name: kiali-cert
  secret:
    secretName: istio.kiali-service-account
    optional: true
- name: kiali-secret
  secret:
    secretName: kiali
    optional: true
- name: kiali-cabundle
  configMap:
    name: kiali-cabundle
    optional: true
- name: accessible-cluster
  secret:
    secretName: the-accessible-cluster-secret

and similarly for volumes:
helm template --show-only templates/deployment.yaml -f /tmp/values.yaml _output/charts/kiali-server-*-SNAPSHOT.tgz | yq e '.spec.template.spec.volumes'

which results in:
- name: kiali-configuration
  configMap:
    name: kiali
- name: kiali-cert
  secret:
    secretName: istio.kiali-service-account
    optional: true
- name: kiali-secret
  secret:
    secretName: kiali
    optional: true
- name: kiali-cabundle
  configMap:
    name: kiali-cabundle
    optional: true
- name: accessible-cluster
  secret:
    secretName: the-accessible-cluster-secret


feature request: handling onchain metadata

This hasnt been considered yet for ICS721 version one, but for upcoming release.
Standard cw721 is designed by having onchain metadatat called extension here: https://github.com/CosmWasm/cw-nfts/blob/main/packages/cw721/src/query.rs#L126-L133
pub struct NftInfoResponse<T> {
    /// Universal resource identifier for this NFT
    /// Should point to a JSON file that conforms to the ERC721
    /// Metadata JSON Schema
    pub token_uri: Option<String>,
    /// You can add any custom metadata here when you extend cw721-base
    pub extension: T,
}

ICS721 allows optional token metadata (token_data) to be transferred as binary. So on receival we just need to unwrap and check whether it matchs with NftInfoResponse struct. If so we can store onchain metadata.
Currently, ICS721 stores cw721-base code id, here we need another code id for cw721-metadata-onchain. Then we're good to go.

Sounds good to me.


Do this library handle refreshing tokens procedure?

Hi, I see that token lives 1 hour but can't see where refreshing is done.
I use this gem with google-api-ruby-client, and in google-api-client-0.9/lib/google/apis/core/http_command.rb:130 see that # Handled implicitly by auth lib, here in case need to override

Okay, I've found:
/var/lib/gems/2.3.0/gems/googleauth-0.5.1/lib/googleauth/signet.rb:70


CI setup for AWS

[ ] provide basic backend storage setup

[ ] eventually, use Aurora Serverless instead of setting up a new AuroraDB every time

[ ] integrate with ECS + Fargate to run the conformance test (I haven't tested this yet with lambda functions, but did so from a VM)

[ ] add a VPC between the lambda function and S3
[ ]  set-up service accounts
[ ] use IAM for database authentication

[ ] integrate with a build pipeilne
[ ] integrate with a deployment pipeline
[ ] connect the build pipeline to git

I spent a bunch of time looking into (integrate with a build pipeline, integrate with a deployment pipeline), and spoke a bit with @patflynn about various options.
We can:

do everything in AWS, using CodeBuild, CodePipeline. It seems like a good idea since everything will be deployed on AWS anyways.
do everything in GCP, in the same way that we do this for the GCP deployment (modulo that the conformance binary and hammer would run on AWS). There would be some wrinkles about a. which container registry we push the AWS conformance binary, b. cross cloud authentication (probably requires using secret keys, etc)
do everything with GitHub action. Same wrinkles as for 2., but there's a lot open source bits that we can re-use to make this work.

I'm going to move forward with 3.:

authentication with AWS is greatly simplified by https://github.com/aws-actions/configure-aws-credentials, and https://github.com/aws-actions/amazon-ecr-login
after playing with the three options, I come to the conclusion that GithubAction is by far the most frictionless option: a single .yaml file to rule them all, can easily pass data between steps, lowest learning curve, the team is already familiar with this
it's different than the GCP setup, but we already use Github Actions for a few things including some integration tests, so it's not breaking ground either.
we can always move the GCP setup to Github Actions later if we want consistency


Branch Key

@aaustin

[ ] The branch_key in strings.xml is still temp. Need to change it once backend is deployed.

Do we want to add in support for test and live here, like allow the dev to enter both keys and flip a boolean somewhere? Were you thinking of adding this later
At the very least, let's put a warning when the session is initialized with a key that contains the test string.
Looks great otherwise!

Can you also update the docs with the getTestInstance and getInstance? maybe one commented out above the other with some explanation in the sample code?

@aaustin Updated per your feedback and the README

:+1: after the backend goes live


AC-field decomposition!

I had multiple error messages after running tidyvcf, complaining about "Incorrect number of FORMAT fields."
After closely examining the output, I realized that during the decomposition process, the AC parameter still lists the total number of alleles separated by a comma.
I wonder if I'm doing something wrong? When I ran the vt tool, I didn't have the same result.
Best regards,
Ahmed

I should update the readme, but this project is abandoned. Use vt normalize/decompose instead.

Thanks a lot!


Unterminated regular expression error in 0.6.2

After upgrading @nuxt/scripts to 0.6.2 and updating my global scripts from an array to an object, I'm getting this error:

Not sure Why the error lists the "YouTube embed" component, but the the error only occurs if @nuxt/scripts is enabled.
I have tried removing the "YouTube embed" component and I'm still getting the error, so I believe it's an issue with the scripts package.

That component is using the "useScriptTag" composable, not sure if that would cause the error, but it did the same thing when disabled, so not sure.

@huang-julien seems like a bug with the AST parsing of vue code which includes useScript.
I think maybe we should catch the exception thrown from the transforms and allow any issues to propagate through the rest of the rollup plugins.

Thanks for reporting, should be fixed in 0.6.4.


Symbol update docs or scripts?

Hi! Thank you for the truly awesome work @bazad!
I made @NewDwarf's comments from #1 into a branch: https://github.com/dflatline/ktrw/commits/iOS13.3. I successfully tested basic debugging on an iPhone 10,1 17C54 and checkra1n 0.9.5 with that branch.
I can make that into a PR if that saves you time but it's not my work. What a mess for the contribution policy :/
While I am here: do you use IDA+BinDiff to help update symbols automatically? Are people still porting symbols forward from the iOS 12 beta1 symbol leak in this way?
Are there other options that don't require IDA? Levin's joker/jtool2 didn't yield any of these symbols by default. I started toying with some yara plugins for Hopper but then @NewDwarf beat me to it, presumably by manual binary string match-and-check?
Can you provide suggestions to help update these symbol offsets for future iOS releases? I can go back to work on Hopper scripts, if that is even a worthwhile direction...

The latest commit significantly reduces the number of parameters that KTRW needs to support a new iOS version: you only need to add a file to ktrw_gdb_stub/kernel_symbols, no need to update ktrw_kext_loader anymore as it is now unused.
This process is still not automated, but at least it should be easier. As always, feel free to request support for a specific version.


Trying to determine if Playwright will suit my needs

Your question
I plan to use Playwright as a tool to automate browser activity such as clicks, changing form input values (textboxes, checkboxes, dropdowns), etc. Essentially, I am creating a web bot that will monitor activity on a social media site. Here are my questions:

Can Playwright acquire an existing browser instance that was previously created by Playwright? If I navigate through a series of pages and then have to stop my debugger to make some code changes, I don't want to have to start my browsing session all over again. I'd want to continue where I left off on the page I was on
Can I use Playwright to scrub HTML?
Are AJAX calls taken into account so that I can access content that was loaded after the page has completed loading?

Can Playwright acquire an existing browser instance that was previously created by Playwright? If I navigate through a series of pages and then have to stop my debugger to make some code changes, I don't want to have to start my browsing session all over again. I'd want to continue where I left off on the page I was on

Playwright for .NET does not support this, yet, but you can sort of do it via Playwright, by connecting over CDP.

Can I use Playwright to scrub HTML?

Is this enough?

Are AJAX calls taken into account so that I can access content that was loaded after the page has completed loading?

Yes.

@ftpguy I hope this answered your questions - do you have any others? If so, feel free to comment and I'll reopen - or open a new issue.


Removed and merged companies to the partner section

Docs LGTM

Thanks.

Thank you for creating a SECURITY_CONTACTS file. Please /close the issue.
/close


Give a clearer error message when remote debugging in web app (Docker) containers

Does this occur consistently?
Repro steps:

Right click on a linux web app
Select Start Remote Debugging

Action: appService.StartRemoteDebug
Error type: Error
Error Message: Azure Remote Debugging is currently only supported for Node.js apps on Linux.
This is a linux web, and it's in nodejs, but it's using a container. Maybe the error message could be better.
Version: 0.16.5
OS: linux
OS Release: 4.4.0-19041-Microsoft
Product: Visual Studio Code
Product Version: 1.44.2
Language: en

Call Stack
Object.getRemoteDebugLanguage extension.bundle.js:164:199860
extension.bundle.js:309:544093
fulfilled extension.bundle.js:309:543329
processTicksAndRejections task_queues.js:89:5

This issue has become stale and is at risk of being closed. The community has 60 days to upvote the issue. If it receives 5 upvotes we will keep it open and take another look. If not, we will close it. To learn more about how we handle issues, please see our documentation.
Happy Coding!

:slightly_frowning_face: In the last 60 days, this issue has received less than 5 community upvotes and we closed it. Still a big Thank You to you for taking the time to create it! To learn more about how we handle issues, please see our documentation.
Happy Coding!


Automatically detect query context

I've made this so that it will always run with a query context if an active scope is set (or the scope flag used) and disable-context flag not used.  Sounds about right @ebenhaber @ingenthr ?

Yes, that sounds correct to me.  Thanks!


Failure in middle of migration leaves partial changes in database

When you have any issues part-way through a migration, the migration fails but part of it is already applied to the database. migrate:rollback doesn't help because the migration row isn't added to the table - but even if it was, rollback would also fail as not all parts of migration was successful. An example is:
Schema::create('test_table', function(Blueprint $table) {
            $table->string('a_really_long_field_name');
            $table->string('another_really_long_field_name_to_simulate_issue');

            $table->unique(['a_really_long_field_name', 'another_really_long_field_name_to_simulate_issue']);
        });

in the code above, if MySQL throws an error for the unique key name being too long, the migration fails but the table test_table is created nonetheless. And doing a rollback isn't an option as the migration row isn't added because of failure.
I would suggest using database transactions when doing migrations to avoid this scenario.

I'm not sure about other database, but in MySQL, it is not possible due to implicit commit.

Either separate into 2 migrations or don't commit broken migrations. This has been an issue since the early days and there is no simply way to magically revert things that aren't supported by transactions (like creating tables).

This has come up before, and what we have atm was the best option after some discussion, and attempts at making it transactional.


Add save cluster method to provisioning

Coverage decreased (-0.7%) to 37.75% when pulling 0793c5261e557ce0ae1c8267ae0488c336204a01 on stgleb:store_cluster into 11bbcf83168abee3087b0f6e4168a55aabd8fd0c on supergiant:master.