update from upstream

chore(deps): update rust:1.75.0 docker digest to 2176747
chore(deps): update rust:1.75.0 docker digest to 166aa82
chore(deps): update rust:1.75.0 docker digest to ac8c4cb
chore(deps): update returntocorp/semgrep docker tag to v1.57.0
chore(deps): update actions/upload-artifact action to v4.2.0
chore(deps): lock file maintenance
chore(deps): update returntocorp/semgrep docker tag to v1.58.0
chore(deps): update actions/upload-artifact action to v4.3.0
chore(deps): update dorny/paths-filter action to v2.12.0
chore(deps): update npm to >=10.4.0
chore(deps): update dorny/paths-filter action to v3
chore(deps): update github/codeql-action action to v3.23.2
chore(deps): update alpine docker tag to v3.19.1
chore(deps): lock file maintenance
chore(deps): update returntocorp/semgrep docker tag to v1.59.0
chore(deps): update docker/metadata-action action to v5.5.1
chore(deps): update rust:1.75.0 docker digest to 503aee4
chore(deps): update rust:1.75.0 docker digest to e173089
chore(deps): update rust:1.75.0 docker digest to fb477b5
chore(deps): update returntocorp/semgrep docker tag to v1.59.1
chore(deps): update github/codeql-action action to v3.24.0
chore: use internal console
chore(deps): update rust:1.75.0 docker digest to 87f3b2f
chore(deps): update enricomi/publish-unit-test-result-action action to v2.13.0
chore(deps): update dependency prettier to v3.2.5
chore(deps): lock file maintenance
chore(deps): update actions/download-artifact action to v4.1.2
chore(deps): update actions/upload-artifact action to v4.3.1
chore(deps): update enricomi/publish-unit-test-result-action action to v2.14.0
chore(deps): update dependency semantic-release to v23.0.1
chore(deps): update mcr.microsoft.com/devcontainers/rust:1-1-bullseye docker digest to 64161ff
chore(deps): update actions/setup-node action to v4.0.2
chore(deps): update dependency semantic-release to v23.0.2
chore(deps): update rust to v1.76.0
chore(deps): update returntocorp/semgrep docker tag to v1.60.1
chore(deps): update rust:1.76.0 docker digest to 8e87602
chore(deps): lock file maintenance
chore(deps): update github/codeql-action action to v3.24.1
chore(deps): update rust:1.76.0 docker digest to 3e95fdb
chore(deps): update returntocorp/semgrep docker tag to v1.61.0
chore(deps): update rust:1.76.0 docker digest to 01752fc
chore(deps): update rust:1.76.0 docker digest to 3c1dc1b
chore: fix startColumn/endColumn being 0. Is invalid. Normalize json file for diffing
chore(deps): update node.js to >=20.11.1
chore(deps): update returntocorp/semgrep docker tag to v1.61.1
chore(deps): update dorny/paths-filter action to v3.0.1
chore(deps): update github/codeql-action action to v3.24.2
chore(deps): update github/codeql-action action to v3.24.3
chore(deps): update rust:1.76.0 docker digest to a71cd88
chore: explicitely set prettierrc's path

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
12

Relevant Lines:
123

💛  - Coveralls


Task completed functionality

Some functionality that allows the user to indicate that they have completed a task

Completed in #60


UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!

After sending the query, I was looking for result but the status stays to "downloading".
And in Docker I saw this error "UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!", here is the logs :
spotify-playlist-to-json_1 | Task started at 2/18/2021, 9:18:43 PM

spotify-playlist-to-json_1 | Starting headless browser...

spotify-playlist-to-json_1 | (node:18) UnhandledPromiseRejectionWarning: Error: Failed to launch chrome!

spotify-playlist-to-json_1 | /opt/app/node_modules/puppeteer/.local-chromium/linux-706915/chrome-linux/chrome: error while loading shared libraries: libXtst.so.6: cannot open shared object file: No such file or directory

spotify-playlist-to-json_1 |

spotify-playlist-to-json_1 |

spotify-playlist-to-json_1 | TROUBLESHOOTING: https://github.com/GoogleChrome/puppeteer/blob/master/docs/troubleshooting.md

spotify-playlist-to-json_1 |

spotify-playlist-to-json_1 | at onClose (/opt/app/node_modules/puppeteer/lib/Launcher.js:348:14)

spotify-playlist-to-json_1 | at Interface.<anonymous> (/opt/app/node_modules/puppeteer/lib/Launcher.js:337:50)

spotify-playlist-to-json_1 | at Interface.emit (events.js:205:15)

spotify-playlist-to-json_1 | at Interface.close (readline.js:401:8)

spotify-playlist-to-json_1 | at Socket.onend (readline.js:178:10)

spotify-playlist-to-json_1 | at Socket.emit (events.js:205:15)

spotify-playlist-to-json_1 | at endReadableNT (_stream_readable.js:1137:12)

spotify-playlist-to-json_1 | at processTicksAndRejections (internal/process/task_queues.js:84:9)

spotify-playlist-to-json_1 | (node:18) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)

spotify-playlist-to-json_1 | (node:18) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

I got the same problem:


docs: Advanced PreInstall

Add description for https://github.com/version-fox/vfox/pull/248.

I made a patch so that we can always get a valid file name. The name after many redirections is the last to use.


Added checksum checking of kraken streaming orderbooks

Fixes https://github.com/knowm/XChange/issues/4080

i'd take this as is.

if you breakout the   public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { changes into a separate review I can approve that quickly to make this review smaller/isolated

Hi, what is the status of the PR?
If the only problem is with public String getUnsubscribeMessage(String channelName, Object... args) throws IOException { I'm happy to create new PR without this change.
According to Kraken specification, those parameters are optional when unsubscribing, therefore this change isn't really needed
If you connect to Kraken WS via any WS client you can replay the example payloads shown in the spec, you can see how you are successfully disconnected (only channelID is imporant). Here's how it looks:
{
  "connectionID":<PHONE_NUMBER>3992185000,
  "event": "systemStatus",
  "status": "online",
  "version": "1.8.6"
}

{
  "event": "subscribe",
  "pair": [
    "XBT/GBP"
  ],
  "subscription": {
    "name": "book",
    "depth": 25
  }
}

{
  "channelID": 352,
  "channelName": "book-25",
  "event": "subscriptionStatus",
  "pair": "XBT/GBP",
  "status": "subscribed",
  "subscription": {
    "depth": 25,
    "name": "book"
  }
}

...
...
updates are coming in
...

{
  "channelID": 352,
  "event": "unsubscribe"
}
{
  "channelID": 352,
  "event": "subscriptionStatus",
  "pair": "XBT/GBP",
  "status": "unsubscribed",
  "subscription": {
    "depth": 25,
    "name": "book"
  }
}

@wlk that change is required to ensure the correct book depth is still subscribed after reconnecting. If you connect to 100 initially but get subscribed to  the default depth 25 after reconnecting automatically that's not ideal and also breaks the checksumming logic at some point.

@nielsdraaisma please take a look, the resubscription logic is here (taken from this PR):
KrakenStreamingMarketDataService lines 52-54
                                // Resubscribe to the channel, triggering a new snapshot
                                this.service.sendMessage(service.getUnsubscribeMessage(channelName, args));
                                this.service.sendMessage(service.getSubscribeMessage(channelName, args));

we still have args in order to subscribe in when the CRC fails, they are not needed in order to unsubscribe

It’s been a while, but pretty sure the depth is required when unsubscribing on a non default level.

I have response from Kraken support (this mentions 'ticker', not 'book' but the point remains):
We recommend unsubscribing from WebSocket feeds using an unsubscribe request like the following:

{"event":"unsubscribe", "subscription":{"name":"ticker"}, "pair":["XBT/USD"]}

Note that the channel ID is not used, but the feed name (ticker) and currency pair (XBT/USD) are used instead.

For reference, the unsubscribe request is identical to the subscribe request, except that unsubscribe is used for the event value (instead of subscribe).

So I think @nielsdraaisma you are right that args are (or very soon will) be required, how do you want to progress regarding this PR? From my perspective (as an user) I'm looking forward to having this merged in as is.

Created https://github.com/knowm/XChange/pull/4145 to add the changes to the core streaming interface, hopefully we can get this PR sorted once that's done.

I've addressed most comments, this should now be ready to go in @earce . Having done some more testing it looks like it's ok without the synchrized blocks in the end.


Docs & Samples

Closing as this has no description and had a milestone of MQ-2020 which has passed


Segmentation fault during hmmsearch

I've been using viral verify to analyse some long-read derived viral contigs from a coastal viromes. Out of 18 viromes, five fail due to a segmentation fault. I managed to chase down the contig in one of the failures that was causing the error (attached) with the output folder.
The segmentation fault occurs on both our HPC infrastructure and on a ubuntu 18 desktop. In both systems, viralVerify is being run through conda with the following environment
name: viralVerify
channels:
  - conda-forge
  - bioconda
  - defaults
dependencies:
  - _libgcc_mutex=0.1=conda_forge
  - _openmp_mutex=4.5=1_gnu
  - ca-certificates=2020.6.20=hecda079_0
  - certifi=2019.11.28=py27h8c360ce_1
  - hmmer=3.3.1=he1b5a44_0
  - ld_impl_linux-64=2.35=h769bd43_9
  - libffi=3.2.1=he1b5a44_1007
  - libgcc-ng=9.3.0=h5dbcf3e_17
  - libgomp=9.3.0=h5dbcf3e_17
  - libstdcxx-ng=9.3.0=h2ae2ef3_17
  - ncurses=6.2=h58526e2_3
  - openssl=1.1.1h=h516909a_0
  - pip=20.1.1=pyh9f0ad1d_0
  - prodigal=2.6.3=h516909a_2
  - python=2.7.15=h5a48372_1011_cpython
  - python_abi=2.7=1_cp27mu
  - readline=8.0=he28a2e2_2
  - setuptools=44.0.0=py27_0
  - sqlite=3.33.0=h4cf870e_1
  - tk=8.6.10=hed695b0_1
  - wheel=0.35.1=pyh9f0ad1d_0
  - zlib=1.2.11=h516909a_1010

seg_fault.zip
seg.fault.fa.zip

This seems to be a hmmsearch segfault, so completely unrelated to viralVerify. You may want to report it to HMMER.
Note that your contig has quite a long low complexity region which leads to obviously bogus gene predictions:
>2019-02-vf_minipolish-medaka_linear_172540bp_000313_24 # 9301 # 13515 # -1 # ID=1_24;partial=00;start_type=ATG;rbs_motif=None;rbs_spacer=None;gc_cont=0.095
MTYKRGGGGGGGGGGGGGKEGGGGGEGGEGEGGGGEERRKGEKREEKKEKRGGGREKRKEREGKRGRREEERKEREKRGKKERKRRKRGKKEKKKERRKKRREKKKKEKKERKKRERKRKREEKKRKKRKKKKKEKERGGEERGEKGGKRGEEKRKEKEKGEKRKGGEGRRGRRRE
KGGGGKKKRRKRREKKKERKEKRKRREREGKKKRKKRRKGGKKKGKKKKKKKKKKKEKGEEKKKREEKKKKKGEGRKREKGEKGGRKKRGGKKRRKEGKEGEKERKKKREERERKKKERKKKKKKRGKKKRKGKKKKKKKKKKKKERKKKKKKKKKKEKRKKKKKKKKKEEKKGEK
KKKKKKKKKKEEKKKKKKKKKKKKKKKKKKRKKKKKKKKKKKKKKKKKKKKKKEKKKKKKKKKKKKKKKKKKRRKKKKKKRKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK
KKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKKK*

>2019-02-vf_minipolish-medaka_linear_172540bp_000313_109 # 60536 # 60775 # -1 # ID=1_109;partial=00;start_type=ATG;rbs_motif=None;rbs_spacer=None;gc_cont=0.433
MMYNKSHMNDMSPNQGSIGGGGGGGGGGGGGGGGGGGGGGRGGGGGGRKKKKKKNKKKKKKKKKKKKKKKKKKKKKKKK*

and so on.


[Bug] when trigger equal times, it do not stop

Search before asking

[X] I had searched in the issues and found no similar issues.

Apache SkyWalking Component
Infra E2E (apache/skywalking-infra-e2e)
What happened
When the trigger reaches the specified number of times, it does not stop
What you expected to happen
it is should stop current goroutine.
docs
How to reproduce
when times equal executedCount, return current goroution
Anything else
No response
Are you willing to submit PR?

[X] Yes I am willing to submit a PR!

Code of Conduct

[X] I agree to follow this project's Code of Conduct

Hi @ethan256 , thanks for raising this, actually, this is by design and the doc is kind of outdated,
- times: How many times to trigger the action, 0=infinite.

this should be: "how many times to trigger the action before aborting if the trigger failed, or continue if the trigger succeeded"

@ethan256 would you like to open a pull request to fix the doc?

when trime is bigger, the err chan not return first error.
when interval equal execute timeout, time.NewTicker maybe exec again

when times is bigger, the err chan not return first error.
when interval equal execute timeout, time.NewTicker maybe exec again

when the times is large, the err chan does not return first error but the last one,

err chan should return the last one, why do you want to return the first one error? For example, if the target service is not ready, trigger request may return error connection refused, and after some retries, the service is ready but you are request a non-existing path /api/non-existing, why would you expect to get the first error (connection refused) instead of the last one (404 Not Found)?

h.times == h.executedCount makes sure to only send the first error


Add proof-of-concept integration with Touca

What's in this PR
This PR adds Touca as a development/test dependency and makes minimal use of the Touca extension for the Django Test Framework. This extension is new and was developed specifically to allow reuse of existing unit tests. While Touca is not a unit test framework, this approach allows easy evaluation of Touca without writing too much code.
This PR also adds a basic GitHub Actions CI workflow. This change can be regarded as a general improvement. However, the original intention was to showcase how Touca can be integrated with your CI pipeline to be run continuously after pushing or merging code.
How does it work
With this PR you can continue to run unit-tests via ./manage.py test.  The touca library will be no-op the entire time. Touca data capturing functions like touca.add_result won't capture results. When you want to try Touca, you can switch to using a customized version of the Django test framework that ships with Touca via ./manage.py test --testrunner touca.plugins.django.Runner. The runner runs your existing unit tests and captures values of variables and runtimes of functions that are tracked by Touca data capturing functions. The test framework submits captured data to the Touca server when it is configured to do so.
You can track as many data points as needed from anywhere within your code. If the actual value of any of these tracked variables changes in a future version of your code, the Touca server finds that in near real-time and notifies you of the difference.
This PR limits using Touca to tracking a single variable in a single unit test. We'd need to track more data points to get real value from using Touca. For now, I just wanted to give you an idea of how using Touca would look like in this project.
How to run it
You can configure the Touca client by passing API Key and API URL parameters and specifying the version of the code under test. You can find the API parameters in the suite page on app.touca.io. You can pass this information as command line options:
./manage.py test --testrunner touca.plugins.django.Runner --api-key <TOUCA_API_KEY> --api-url <TOUCA_API_URL> --revision 1.0

You can also set these parameters as environment variables.
export TOUCA_API_KEY=<TOUCA_API_KEY>
export TOUCA_API_URL=<TOUCA_API_URL>
export TOUCA_TEST_VERSION=1.0
./manage.py test --testrunner touca.plugins.django.Runner

See the CI workflow for an example where version is set to output of git describe --abrev=4.
Note that Touca SDKs support many more configuration options than our Django test runner and offer more functionality. We'll use your feedback to further improve our Django test framework. Happy to have a chat, show you more, and answer any questions in the process.

thanks!


Feat/ci cd

Description of changes
The CI/CD pipeline has been implemented, and the Crane built-in feature is used for sequential checks.

Checklist for things done

[x] Summary of the proposed changes in the PR description
[x] More detailed description in the commit message(s)
[x] Commits are squashed into relevant entities - avoid a lot of minimal dev time commits in the PR
[ ] PR linked to architecture documentation and requirement(s) (ticket id under Description of changes)
[x] Test procedure described (or includes tests).
[x] Author has run nix flake check --accept-flake-config and it passes
[x] All automatic Github Action checks pass - see actions
[x] Author has added reviewers and removed PR draft status

Testing
nix flake check

You might want to update the actions to their latest versions, unless there's a reason to keep using older versions:
    uses: actions/checkout@v3
    uses: cachix/install-nix-action@v22

Otherwise seems fine.


Domain move-in & move-out implementation

API has not been finalized and is still a work in progress.

Codecov Report

Merging #1906 into canary will decrease coverage by 0.26%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           canary   #1906      +/-   ##
=========================================
- Coverage    6.64%   6.38%   -0.27%
=========================================
  Files          93      93
  Lines        4048    4041       -7
=========================================
- Hits          269     258      -11
- Misses       3779    3783       +4

Impacted Files
Coverage Δ

src/util/get-files.js
96.89% <0%> (-3.11%)
:arrow_down:

src/util/read-metadata.js
100% <0%> (ø)
:arrow_up:

src/util/get-project-name.js
100% <0%> (ø)
:arrow_up:

src/util/hash.js
100% <0%> (ø)
:arrow_up:

src/util/error.js
100% <0%> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


Release 5.0 as final version

Is there an ETA to publish 5.0 as a final version?

@rimiti thank you for the great work.  Do you think if you can mark 5.x as the latest version in npm's repo?  I didn't notice any issues in github about it since you pushed the early version last October.
$ npm outdated
Package    Current   Wanted  Latest
supertest  5.0.0-0  5.0.0-0   4.0.2

Better yet, may I suggest creating and pushing 5.1 or 6.0 as the latest version while:

Dropping support for end-of-life versions of NodeJS (<10)?  Ref: https://github.com/visionmedia/supertest/blob/master/package.json#L16 and https://nodejs.org/en/about/releases
Regenerating package-lock.json as well?  I suspect some of the deeper level dependencies may have updates to pick up.


When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example?

When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example?
`from hfc.fabric_ca.caservice import ca_service
from hfc.fabric import Client
casvc = ca_service(target="http://<IP_ADDRESS>:7054")
adminEnrollment = casvc.enroll("admin", "adminpw") # now local will have the admin enrollment
secret = adminEnrollment.register("user1") # register a user to ca
user1Enrollment = casvc.enroll("user1", secret) # now local will have the user enrollment`

You can check this tutorial for querying peers

I think the issue is resolved via email. Let me know if there are any more questions.

当我创建了一个通道后，加入节点时报一下错误，这是为什么呢？
------------------ 原始邮件 ------------------
发件人: "Dixing (Dex<EMAIL_ADDRESS>发送时间: 2020年5月1日(星期五) 晚上7:58
收件人<EMAIL_ADDRESS>抄送: "鱼魚漁"<846910027<EMAIL_ADDRESS>主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example? (#71)
I think the issue is resolved via email. Let me know if there are any more questions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

hi, could you post the error log?
Kind regards,
Dixing (Dex) Xu
On Fri, May 1, 2020 at 9:31 PM 846910027<EMAIL_ADDRESS>wrote:

当我创建了一个通道后，加入节点时报一下错误，这是为什么呢？
------------------ 原始邮件 ------------------
发件人: "Dixing (Dex<EMAIL_ADDRESS>发送时间: 2020年5月1日(星期五) 晚上7:58
收件人<EMAIL_ADDRESS>抄送: "鱼魚漁"<846910027<EMAIL_ADDRESS>主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and
enroll successfully locally, how can I use it next? For example, Query Peer
installed chaincodes? Can you post the code for an example? (#71)
I think the issue is resolved via email. Let me know if there are any more
questions.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
https://github.com/hyperledger/fabric-sdk-py/issues/71#issuecomment-622388998,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABU4AVRXGQKETOYUOM6NMLTRPLFJRANCNFSM4MRQENLQ
.

where is the error log,please tell me the path
------------------ 原始邮件 ------------------
发件人: "Dixing (Dex<EMAIL_ADDRESS>发送时间: 2020年5月1日(星期五) 晚上9:37
收件人<EMAIL_ADDRESS>抄送: "鱼魚漁"<846910027<EMAIL_ADDRESS>主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example? (#71)
hi, could you post the error log?
Kind regards,
Dixing (Dex) Xu
On Fri, May 1, 2020 at 9:31 PM 846910027<EMAIL_ADDRESS>wrote:
> 当我创建了一个通道后，加入节点时报一下错误，这是为什么呢？
>
>
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "Dixing (Dex) Xu"<notifications@github.com>;
> 发送时间: 2020年5月1日(星期五) 晚上7:58
> 收件人: "hyperledger/fabric-sdk-py"<fabric-sdk-py@noreply.github.com>;
>
> 抄送: "鱼魚漁"<846910027@qq.com>;"Author"<author@noreply.github.com>;
>
> 主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and
> enroll successfully locally, how can I use it next? For example, Query Peer
> installed chaincodes? Can you post the code for an example? (#71)
>
>
>
>
>
>
> I think the issue is resolved via email. Let me know if there are any more
> questions.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
>
> —
> You are receiving this because you modified the open/close state.
> Reply to this email directly, view it on GitHub
> <https://github.com/hyperledger/fabric-sdk-py/issues/71#issuecomment-622388998>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABU4AVRXGQKETOYUOM6NMLTRPLFJRANCNFSM4MRQENLQ>
> .
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

this is the response when i run my python，could it ok？
veneno@veneno-Q170-4S:~/sdk_test$ sudo python3 test111.py Init client with profile=./network.jsoncreate org with name=orderer.example.comcreate org with name=org1.example.comcreate org with name=org2.example.comcreate ca with name=ca-org1create ca with name=ca-org2Import orderers = dict_keys(['orderer.example.com', 'orderer2.example.com', 'orderer3.example.com', 'orderer4.example.com', 'orderer5.example.com'])Import peers = dict_keys(['peer0.org1.example.com', 'peer1.org1.example.com', 'peer0.org2.example.com', 'peer1.org2.example.com'])FABRIC_CFG_PATH set to /home/veneno/go/src/github.com/hyperledger/fabric/fabric-samples/first-networkConfigtx file successfully created in current             directory{'tx_id': '5ce2feabe00d4407a5145166c7b09b3e4a63f9857d63438f920e9436c83f1fb9', 'nonce': b'K}\x85\x7f\xb8\b\xaa\x1a\xa5\x96n\x8dw\xa7\xac\x12KO\x931xc\x99', 'signatures': [b'\n\xd3\x06\n\xb6\x06\n\x07Org1MSP\x12\xaa\x06-----BEGIN CERTIFICATE-----\nMIICKTCCAc+gAwIBAgIQGFGGuGsgtfMf2dHd6/6xuDAKBggqhkjOPQQDAjBzMQsw\nCQYDVQQGEwJVUzETMBEGA1UECBMKQ2FsaWZvcm5pYTEWMBQGA1UEBxMNU2FuIEZy\nYW5jaXNjbzEZMBcGA1UEChMQb3JnMS5leGFtcGxlLmNvbTEcMBoGA1UEAxMTY2Eu\nb3JnMS5leGFtcGxlLmNvbTAeFw0yMDA0MjYxMjQ3MDBaFw0zMDA0MjQxMjQ3MDBa\nMGsxCzAJBgNVBAYTAlVTMRMwEQYDVQQIEwpDYWxpZm9ybmlhMRYwFAYDVQQHEw1T\nYW4gRnJhbmNpc2NvMQ4wDAYDVQQLEwVhZG1pbjEfMB0GA1UEAwwWQWRtaW5Ab3Jn\nMS5leGFtcGxlLmNvbTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABP8jJ1iTkyBO\nPnigfXVqrEurgZbV8qyQUbYBraV0oVPmVbQ8w0DdnfOLVA4ORc+vC9Fn8u8vzQZT\nw+2b+FpjoFqjTTBLMA4GA1UdDwEB/wQEAwIHgDAMBgNVHRMBAf8EAjAAMCsGA1Ud\nIwQkMCKAIMKa1Vd84TX43vgF9RqvEJGq5ppGwzGFcg9nErLIhWasMAoGCCqGSM49\nBAMCA0gAMEUCIQCqyaFC+9GVgtjBXdhPa/ik1izBl2J2G1vfIOBGxjoxcQIgQID0\n1Qeta+ucFAr/JsHSL2q3MiauNyc3ELktO+akaiA=\n-----END CERTIFICATE-----\n\x12\x18K}\x85\x7f\xb8\b\xaa\x1a\xa5\x96n\x8dw\xa7\xac\x12KO\x931xc\x99\x12F0D\x02 S\x9ec\r\x80\xf8\xab\xc5[\xcd\xd68\x8d\xde\x16$d\xec\x83]\xb2\xb4\xd1>]Z\x04\xae\x86\x18t\x1b\x02 >\xdeo\xe3\xac#\xe1\x04 \x93q"\xea\x05\xea\x81l\xe2`t\x8e\xc5\xab\xeft\xf3\xdc\xa9\xa1\xba\xfe\x89'], 'config': b'\n\tfirsttest\x12;\x12)\n\x0bApplication\x12\x1a\x12\x0b\n\x07Org2MSP\x12\x00\x12\x0b\n\x07Org1MSP\x12\x00\x1a\x0e\n\nConsortium\x12\x00\x1a\xd2\x02\x12\xab\x02\n\x0bApplication\x12\x9b\x02\x08\x01\x12\x0b\n\x07Org2MSP\x12\x00\x12\x0b\n\x07Org1MSP\x12\x00\x1a$\n\x0cCapabilities\x12\x14\x12\n\n\x08\n\x04V2_0\x12\x00\x1a\x06Admins",\n\x0bEndorsement\x12\x1d\x12\x13\x08\x03\x12\x0f\n\x0bEndorsement\x10\x02\x1a\x06Admins"5\n\x14LifecycleEndorsement\x12\x1d\x12\x13\x08\x03\x12\x0f\n\x0bEndorsement\x10\x02\x1a\x06Admins""\n\x07Readers\x12\x17\x12\r\x08\x03\x12\t\n\x07Readers\x1a\x06Admins""\n\x07Writers\x12\x17\x12\r\x08\x03\x12\t\n\x07Writers\x1a\x06Admins""\n\x06Admins\x12\x18\x12\x0e\x08\x03\x12\n\n\x06Admins\x10\x02\x1a\x06Admins*\x06Admins\x1a"\n\nConsortium\x12\x14\x12\x12\n\x10SampleConsortium', 'orderer': <hfc.fabric.orderer.Orderer object at 0x7f83a50f5f98>, 'channel_name': 'firsttest'}_create_or_update_channel - start_create_or_update_channel - have config_updateNew channel with name = firsttestTruefail to get genesis blockTraceback (most recent call last):  File "test111.py", line 25, in <module>    orderer='orderer.example.com'  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete    return future.result()  File "/usr/local/lib/python3.6/dist-packages/fabric_sdk_py-0.9.0-py3.6.egg/hfc/fabric/client.py", line 657, in channel_join    raise Exception(msg)Exception: fail to get genesis blockveneno@veneno-Q170-4S:~/sdk_test$ sudo python3 test111.py Init client with profile=./network.jsoncreate org with name=orderer.example.comcreate org with name=org1.example.comcreate org with name=org2.example.comcreate ca with name=ca-org1create ca with name=ca-org2Import orderers = dict_keys(['orderer.example.com', 'orderer2.example.com', 'orderer3.example.com', 'orderer4.example.com', 'orderer5.example.com'])Import peers = dict_keys(['peer0.org1.example.com', 'peer1.org1.example.com', 'peer0.org2.example.com', 'peer1.org2.example.com'])channel firsttest not existed when joinFalse
------------------ 原始邮件 ------------------
发件人: "Dixing (Dex<EMAIL_ADDRESS>发送时间: 2020年5月1日(星期五) 晚上9:37
收件人<EMAIL_ADDRESS>抄送: "鱼魚漁"<846910027<EMAIL_ADDRESS>主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example? (#71)
hi, could you post the error log?
Kind regards,
Dixing (Dex) Xu
On Fri, May 1, 2020 at 9:31 PM 846910027<EMAIL_ADDRESS>wrote:
> 当我创建了一个通道后，加入节点时报一下错误，这是为什么呢？
>
>
>
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人: "Dixing (Dex) Xu"<notifications@github.com>;
> 发送时间: 2020年5月1日(星期五) 晚上7:58
> 收件人: "hyperledger/fabric-sdk-py"<fabric-sdk-py@noreply.github.com>;
>
> 抄送: "鱼魚漁"<846910027@qq.com>;"Author"<author@noreply.github.com>;
>
> 主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and
> enroll successfully locally, how can I use it next? For example, Query Peer
> installed chaincodes? Can you post the code for an example? (#71)
>
>
>
>
>
>
> I think the issue is resolved via email. Let me know if there are any more
> questions.
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub, or unsubscribe.
>
> —
> You are receiving this because you modified the open/close state.
> Reply to this email directly, view it on GitHub
> <https://github.com/hyperledger/fabric-sdk-py/issues/71#issuecomment-622388998>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ABU4AVRXGQKETOYUOM6NMLTRPLFJRANCNFSM4MRQENLQ>
> .
>
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

This message is a bit messy, what I am seeing is channel firsttest not existed when join False, so did you create a channel named firsttest? What's the result of cli._channels?

cli._channels is empty，but why is this？when i use cli docker bash，it response like this:
bash-5.0# peer channel list2020-05-01 13:19:25.715 UTC [channelCmd] InitCmdFactory -> INFO 001 Endorser and orderer connections initializedChannels peers has joined: mychannel
and when i create new channel 'firstchannel' by using python,it tell me true but fail to get genesis block,like this:
_create_or_update_channel - start_create_or_update_channel - have config_updateNew channel with name = firsttestTruefail to get genesis blockTraceback (most recent call last):  File "test111.py", line 25, in <module>    orderer='orderer.example.com'  File "/usr/lib/python3.6/asyncio/base_events.py", line 484, in run_until_complete    return future.result()  File "/usr/local/lib/python3.6/dist-packages/fabric_sdk_py-0.9.0-py3.6.egg/hfc/fabric/client.py", line 657, in channel_join    raise Exception(msg)Exception: fail to get genesis block
------------------ 原始邮件 ------------------
发件人: "Dixing (Dex<EMAIL_ADDRESS>发送时间: 2020年5月1日(星期五) 晚上10:09
收件人<EMAIL_ADDRESS>抄送: "鱼魚漁"<846910027<EMAIL_ADDRESS>主题: Re: [hyperledger/fabric-sdk-py] When I use the CA server and enroll successfully locally, how can I use it next? For example, Query Peer installed chaincodes? Can you post the code for an example? (#71)
This message is a bit messy, what I am seeing is channel firsttest not existed when join False, so did you create a channel named firsttest? What's the result of cli._channels?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

it might be caused by your configurations. But I am not sure. Are you using the example network.json or something else?  Thanks

This issue was resolved by email


Add Support for 8.5

Hi,
Could you please add support for the 8.5 version of Zend Server?
Best regards,
Erico

I'm getting the same error described in #28 but with version 8.5 now.


High CPU Usage With M4A Fingerprint Calculation

(Okay, I admit that this title was a joke.)
Recently I noticed that my computer starts overheating for no reason. Sometimes, after a while the fan kicks in really hard and my computer gets really hot.
When I say really it's, like, it suddenly starts to get really noisy.
It happened again a few minutes ago, so I opened Mission Center, and I may have found the culprit :eyes:

I remember that I've opened Tagger briefly to edit some tracks, and closed it directly after using the shortcut ctrl + Q before continuing doing some things (using GNOME Builder, Edge and Workbench, along with other tiny apps like the Icon Library, Typography, etc.)
When I took the screen, only Mission Center was opened though.
Now that I think about, I'm really unsure if the fan issue started since I use Tagger, or only since I use the last beta version :thinking:
Edit : still unsure if it's related to the beta version, but when I think about some times when it got really noisy, I think it was always when I used tagger, sometimes quite a lot.
I'm gonna do some tests to see. I didn't saw any other issue about that, so maybe it's just me or under really particular conditions :thinking:.
But if it's really Tagger, wow draining nearly 30% of the battery in about 20 minutes to edit some metadatas is really a lot lol.
(it's not even exagerated x))
Anyways, I'm still in vacations but I'm gonna post a reply if I have some other infos or precise steps to reproduce. If you have any request feel free to ask !
(I'm using Fedora Silverblue on a Microsoft Surface Laptop Go 2)

I don't think I have precise steps to reproduce yet, but what is fpcalc ?
*Nevermind I did a research and the name is pretty straightforward : fingerprint calc.
Here's a quick guess : when opening a folder, Tagger tries to calculate the audio fingerprint of each files, and for some reason keeps calculating it even when the main window is closed.

Both the current stable and current beta/master will behave the same way as we haven't changed any fingerprint calculation code recently.
With that being said, Tagger lazily evaluates Fingerprint. This means that it will only try to evaluate the fingerprint when you try to use it. So selecting an individual file or trying to run Download Metadata from MusicBrainz will cause the calculation to occur. But, once Tagger has a fingerprint for the file, it won't try to calculate it again. Now as you correctly assumed, the calculation only happens when individual files are selected, not multiple.
Now there is an issue where is the calculation is taking a long time, and then you select another file and then select the original one again, yes another fpcalc instance will spawn up, but I can write some code to prevent that.

It's related to me now using .m4a. Apparently fpcalc struggles calculating MPEG-4 AAC file format's fingerprint.
https://bugs.archlinux.org/task/75375

But this chromaprint/fpcalc bug seems to be the overarching issue, in which we can do nothing about until it's fixed. (If it's ever fixed because chromaprint hasn't had an update in a while)
As I said though, I can probably try to mitigate the CPU usage.
Could you email me the M4A file so I have something to test?

I'll also make it where all the fpcalc instances stop on close

(I'm using Fedora Silverblue on a Microsoft Surface Laptop Go 2)

Complete side note...how is fedora on the laptop go 2?? I was looking into one actually...

in which we can do nothing about until it's fixed. (If it's ever fixed because chromaprint hasn't had an update in a while)

I may have an easier idea : I have the feeling that the calculation never ends, at least on my files.
If it's really the case (if the calculation never ends), maybe just not try to calculate the fingerprint if it's an .m4a file (or alternatively if the calculation is too long) ?
The decision is up to you since it quite feels like a workaround, but ... if it doesn't work on these type of files, causes way too much CPU usage, and drains a lot of battery, it seems pretty useless to try to calculate it on .m4a.
In fact, I opened Tagger and started an fpcalc instance on a pretty short song more than 5 minutes ago, and it didn't finished yet. But my computer heats up really quick :/
(and yup, I'll send a comment to notify for the email :))

I'll also make it where all the fpcalc instances stop on close

I completely agree on that x)

Complete side note...how is fedora on the laptop go 2?? I was looking into one actually...

Oh :eyes:
About the computer on itself :
Quite expensive, unless you have money to spend or it's on sales. I bought mine on sales actually.
Honestly, it's my first real new computer, so I don't have a lot of experience and references to compare with. (before I had a really old thinkpad, and after that some shitty computer the city gave to our school. I mean, it was reallyyyy lightweight and tiny which is cool, but 4Gigs of ram, 64 EMMC storage and an intel celeron to run some 30Gigs windows with a lot of school-unused bloatware in 2023 is quite a crime IMO).
Okay that was really off-topic, sorry
The computer on itself is pretty cool, but only if you're really looking into a tiny computer which is not very powerful but still enjoyable to code and browse on.
The 3:2 format is pretty cool. In fact, while this computer is 12.4", my previous school 13" laptop does have a wider screen, but the SLG2's one is still taller.
While the screen resolution isn't great on the paper, the screen looks good. The pixels are sometimes really visible on some specific colors though, like on some sky-blue buttons.
The fan does kick in. Especially on Windows, which is ... a shame since it's litteraly a microsoft laptop ?
The keyboard is really enjoyable to use.
I guess you already did some researchs, but IMO it's definitely not for everyone, and if you can go to a store to get hands on the laptop and see the format, you should.
Linux on this device (since it was basically your question in the first place lol) :
Linux support on surface devices is pretty advanced (here's the feature matrix, look for "SLG2" : https://github.com/linux-surface/linux-surface/wiki/Supported-Devices-and-Features#surface-laptops).
No need to use the custom kernel on Fedora for this laptop. It's really useless.
Battery is good if you pay attention to what apps are actually opened and using the CPU.
But it's not perfect. Almost, but not perfect.
I'll start from the less annoying :

The fingerprint doesn't work, which is ... really not bothering. Fingerprints on linux aren't great at all anyways.
Sometimes while waking up the laptop, the touchpad is completely unresponsive. It's no big deal, at first I thought I had to reboot the computer, but in fact I just need to swipe the whole touchpad with the side of my hand. I'm unsure what is the cause, but it's not annoying since I figured it out.
Touchscreen is great, but sometimes buggy. It's really not often, just that sometimes if I use the touchscreen to move a window that is not an Adwaita window, I have to use the touchpad to move it. Like it started the "move window" action but doesn't actually moves it ; when I use the touchpad the cursor appears to be in the "move window" mode and actually moves the window. Maybe not Surface-related at all and a bug of GNOME.
Everything boot-menu related is unresponsive for like 1 second when you start the computer. I guess it's probably related to the fact that most surface devices are tablets, so the UEFI loads an On Screen Keyboard. It's just an icon on the bottom left of the screen to display it, the actual keyboard still works.

Those aren't dealbreakers, I'm just being exhaustive. I think this one could be the one dealbreaker to you :
For some reason, you have to start your computer twice.
Okay, that sounds weird, so let me explain :
For some reason I didn't figure out, when GRUB starts id displays your menu entries. Whatever menu entry you choose will cause the computer to restart. The second time it displays GRUB, when you choose an entry, it will boot the selected installation.
It's not a random but, it's really everytime, like, you know it will happen.
You get used to it, but it gets quite annoying when some day you have to reboot your computer often in the same hour to move from windows to linux, or to do some updates.
There is a workaround, which is ... trying other bootloaders. I used REFIND for a while, it was pretty hard to figure out how to setup it (shimx64, here's a reddit post I participated in on the Surface Linux reddit, I tried to explain how I got it working link). It was working pretty good, but I didn't reinstalled Refind when I moved to Silverblue since Silverblue is pretty glued to GRUB.
Last thing : if you're doing a Windows dual-boot ... first of all I really advise you to choose the 256Go option, but disable bitlocker on Windows. It's there by default, and will lock your computer everytime you do something UEFI related, like booting an USB key or making some linux updates. If it's locked and you have a microsoft account, you just have to go to your account settings on the website, find the key, and type it. Not hard, just annoying since it's a very long key.
Yet, I listed everything wrong I could think of so that you don't have much surprise if you buy one, but I do think linux works great on this laptop, and even way better than Windows. (especially the battery)

forgot to mention that while the screen's form-factor is great, it's still not wide.
Some windows that have a pretty "huge" min-width cannot be put in split-screen. Like, you can't drag discord on the side of the screen because the minimum width is just too wide. Same for Mission Center. Can't think of other apps that have this issue.

The decision is up to you since it quite feels like a workaround, but ... if it doesn't work on these type of files, causes way too much CPU usage, and drains a lot of battery, it seems pretty useless to try to calculate it on .m4a.
In fact, I opened Tagger and started an fpcalc instance on a pretty short song more than 5 minutes ago, and it didn't finished yet. But my computer heats up really quick :/

Maybe I could have it timeout after 2 minutes or so...I'm going to test if it's ALL m4a files or just some....if it's ALL then i'll just disable the calculation...if not, then timeout.

Thank you so much for all the info! I'm going to do some more looking around and see what I end up with ahahah :)

Thank you so much for all the info! I'm going to do some more looking around and see what I end up with ahahah :)

I found this cheap, used, i7 15in surface laptop 3...which may sound old but the battery only has 20 charge cycles so it's basically brand new...might snag that

if it's ALL then i'll just disable the calculation...if not, then timeout.

Sounds good c:
You're welcome ^^
Guess you already saw that, but here's the linux compatibility (SLG3) : https://github.com/linux-surface/linux-surface/wiki/Supported-Devices-and-Features#feature-matrix
Seems good overall, but apparently you can't use the touchscreen without the linux-surface custom kernel, and the "sensors" won't work. (unsure what "sensors" means. The camera should work out of the box, but the "sensors" won't ever work :thinking:)
(it's cheap ? like really cheap ? cheaper than a SLG2 ? how did you manage to find it ? :eyes:)
(btw I just sent you one .m4a file. I know some .m4a files aren't AAC, maybe the issue is related to the AAC codec ?)

Seems good overall, but apparently you can't use the touchscreen without the linux-surface custom kernel, and the "sensors" won't work. (unsure what "sensors" means. The camera should work out of the box, but the "sensors" won't ever work 🤔)

I will probably install the surface kernel anyway...seems easy, just another package to install

it's cheap ? like really cheap ? cheaper than a SLG2 ? how did you manage to find it ?

399 usd. Ebay haha

btw I just sent you one .m4a file. I know some .m4a files aren't AAC, maybe the issue is related to the AAC codec ?)

I'll investigate. Thanks :)

Wow, that's a really good price. Kinda hurts since my SLG2 costed nearly twice the price. x)
One side note : if you plan on using Silverblue (I doubt but anyways) installing the surface kernel doesn't seem to be easy. Like you can but it requires some workaround I think.

One side note : if you plan on using Silverblue (I doubt but anyways) installing the surface kernel doesn't seem to be easy. Like you can but it requires some workaround I think.

Yeah I just stick with fedora workstation 38 haha

So i tried the file you gave me, and it generated the fingerprint no problem:

Let me try a flatpak build and see...

ok, on flatpak it loads infinitely...looks like a ffmpeg issue...going to build the latest ffmpeg manually for flatpak instead of using the extension

going to build the latest ffmpeg manually for flatpak instead of using the extension

that didn't work :(

Ok so I updated some flatpak stuff:

It still doesn't generate the fingerprint (like it does locally), but this time it returns an error instead of constantly running so +1

Please try the beta and let me know how it goes: https://github.com/NickvisionApps/Tagger/releases/tag/2023.8.3-beta1 :)

and it generated the fingerprint no problem
Good to know. Is the CPU usage high ?

that didn't work :(
Oow :/

Please try the beta and let me know how it goes
I didn't do intensive tests as I was about to sleep, but ... nope.
I mean I think it's different than before. When I select a file, it tries to calculate the fingerprint. When I select another one, and go back to the previous one, the UI looks like the fingerprint was calculated, except it's blank. There's the copy button and everything, just no value. That's just an UI thing, the fpcalc process is still running in the background and using a lot of ram. So again, selecting multiple files just makes the CPU explode :/

Not the purpose of this issue but I got hands on the lyrics feature as well. Definitely better, still one little (easily fixable) issue I'm gonna describe in #225 :)

Good to know. Is the CPU usage high ?

No it generates almost instantly just like other fingerprints....it seems to be an issue with the ffmpeg we are using for flatpak, but I can't seem to fix it for now...

the UI looks like the fingerprint was calculated, except it's blank.

that's because it didn't finish yet...I have to make it still say Calculating..., I know where that bug is...

That's just an UI thing, the fpcalc process is still running in the background and using a lot of ram. So again, selecting multiple files just makes the CPU explode :/

Yes but it's still just one fpcalc process per file (that we can't do anything about) but for the m4a file it won't spawn multiple. And when you close Tagger it should all end...
That's really all that I can do...there should be a timeout that after 10 seconds that process ends for the m4a, but I guess that's not working, I will look into it

Ok fixed all the UI stuff...just waiting for an updated packaged of our backend and I'll release a new version for you to try

Sorry for the late reply, for some reason I completely forgot about it ^^'
I just retried because I think that when I did my last test I was too tired and about to sleep, so I kinda missed the point.
Yup, Tagger now kills all the fpcalcs on close. Which is a great step forward.

Yes but it's still just one fpcalc process per file (that we can't do anything about)
(yup, but it's still really abnormaly CPU intensive and lasts forever xD)

And when you close Tagger it should all end...
Thanks for the reminder, sorry I really missed the point last time :')

I'm not that familiar with flatpak. Why is flatpak's FFMPEG different ?

I'm not that familiar with flatpak. Why is flatpak's FFMPEG different ?

FFMPEG is very complex and have a lot of flags for compilation to enable specific codecs, options, features etc. What FFMPEG can do is defined at compile time. So for example, in Parabolic we build FFMPEG manually in Flatpak because the build provided by Freedesktop SDK doesn't contain everything we need (even tho it's called ffmpeg-full, hah). So different FFMPEG builds do not necessary work the same for programs that utilize it.

Okay, thanks for the answer !

even tho it's called ffmpeg-full
Uh, alright x)

Good news tho!! @fsobolev found the fix to get the calculation of the file working on flathub version of the app too :)

Oh wow, glad to hear this !

https://github.com/NickvisionApps/Tagger/releases/tag/2023.8.3 includes the fix!

This issue should be reopened. Experiencing a regression on version 2024.6.0 (Flathub). 100% CPU utilisation due to these processes again. @nlogozzo.


docs: add some docs showing how to update the CLI

this page only describes the steps to install
https://supabase.github.io/dbdev/install-cli/

pushed the change but it's not on GH pages yet

Published on GH pages.


CMP/UMP integration on ios appflow build does not work

MAX Plugin Version
1.1.3
Cordova Version
12
Device/Platform Info
iOS
Current Behavior
We've integrated google CMP for ios as described here: https://dash.applovin.com/documentation/mediation/ios/getting-started/terms-and-privacy-policy-flow#enabling-google-ump
When build locally for simulators (cordova run ios), the CMP is displayed.
When testing a build from Appflow, it is not displayed
Expected Behavior
Appflow builds should display CMP too
How to Reproduce
Hard to describe the steps. I'll describe bellow our implementation
Additional Info
To enable the UMP we've done the following:

Create a plugin to:

import the pod 'Google-Mobile-Ads-SDK'
import the AppLovin-Settings.plist
execute a script to include the AppLovin-Settings.plist file in project.pbxproj

Add "NSUserTrackingUsageDescription" in "*-Info.plist"

AppLovin-Settings.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ConsentFlowInfo</key>
	<dict>
		<key>ConsentFlowEnabled</key>
		<true/>
		<key>ConsentFlowPrivacyPolicy</key>
		<string>https://xxx/privacy</string>
		<key>ConsentFlowTermsOfService</key>
		<string>https://xxx/terms</string>
		<key>ConsentFlowDebugUserGeography</key>
		<string>gdpr</string>

	</dict>
</dict>
</plist>

NSUserTrackingUsageDescription in our config.xml
<config-file parent="NSUserTrackingUsageDescription" target="*-Info.plist">             <string>This uses device info for more personalized ads and content</string> </config-file>
Has anyone tried to integrate UMP for ios for a cloud build (eg: appflow)?
Note: we've done it for android too with no issue.

@yohan-pannet-bbo - We've not seen integrations via App Flow, but what works on a device should theoretically work in other builds. If you enable and send over our SDKs verbose logs, someone on the team might be able to assist better as to why CMP is not showing.
For reference, this is the flow logic for when our SDK would show Google's CMP flow:

Thanks for the reply. We've analyzed the log.
On our local 'working' build we have

[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=1,
	privacyPolicyURL=https://xxx/privacy,
	termsOfServiceURL=https://xxx/terms

On our appflow 'non working' build we have
[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=0,

We are quite sure this is the AppLovin-Settings.plist which is not added in the project in the end.
Trying to fix that on our side, will keep you informed

We manage to add the plist file to the project (was due to plugins hook conflict).
But the CMP modals are still not displayed.
We made a build via xcode and uploaded it to appstore and it works. We haven't figured out yet what's the difference.
One thing we've noticed comparing logs (xcode build vs appflow build) when 'forcing' the 'gdpr' (ConsentFlowDebugUserGeography = gdpr). We see the following in both cases
[AppLovinSdk] DEBUG [ALConsentFlowSettings] Creating with initial values: isEnabled=1,
	privacyPolicyURL=https://xxx/privacy,
	termsOfServiceURL=https://xxx/terms

On the working version we see
[AppLovinSdk] DEBUG [ALSdkSettings] Setting Debug User Geography: 1

But not on the appflow file...


Can typesafe can use with nextjs?

Hi, can your pack use with nexti18 package ? THank you

Hi @IRediTOTO,
yes, typesafe-i18n should work with Next.js.
You will need to set the adapter-option to 'react'.

I am starting using this, but the docs... Can you write it more clear a little for newbie like me? What files should I create, what code should I put in. Want a easy started.

You should take a look at the react-example: https://github.com/ivanhofer/typesafe-i18n/tree/main/examples/react
You should find everything there

@IRediTOTO did it work with Next.js?

@IRediTOTO did it work with Next.js?

Yes, NextJS.

I am using next-translate pack. But your pack is best idea i think, never missed a text. I just worry about performance, run much js on client can make UX slow (same as css in js - I used css file for now)

I don't think typesafe-i18n causes performance problems. It is well optimized and adds only a small amount of JavaScript to your bundle. If you have concerns about a slow UX, then maybe React is not the best choice, since the diffing of the virtual DOM is slow on heavy interactive sites. But I don't think you will experience any performance issues in a small- to medium-sized project 😉


TranscriptLoggerMiddleware exception when logging activities without ID like trace activities

Version
v4.10.3
Describe the bug
The AzureBlobTranscriptStore throws the following exception when an activity in the transcript has no ID. This is the case for e.g. trace activities.
Transcript logActivity failed with Microsoft.WindowsAzure.Storage.StorageException: The argument must not be empty string.
 ---> System.ArgumentException: The argument must not be empty string.
   at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpRequestMessageFactory.AddMetadata(StorageRequestMessage request, String name, String value)
   at Microsoft.WindowsAzure.Storage.Shared.Protocol.HttpRequestMessageFactory.AddMetadata(StorageRequestMessage request, IDictionary`2 metadata)
   at Microsoft.WindowsAzure.Storage.Blob.Protocol.BlobHttpRequestMessageFactory.AddMetadata(StorageRequestMessage request, IDictionary`2 metadata)
   at Microsoft.WindowsAzure.Storage.Blob.CloudBlockBlob.<>c__DisplayClass137_0.<PutBlockListImpl>b__1(RESTCommand`1 cmd, Uri uri, UriQueryBuilder builder, HttpContent cnt, Nullable`1 serverTimeout, OperationContext ctx)
   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ProcessStartOfRequest[T](ExecutionState`1 executionState, String startLogMessage, CancellationTokenSource timeoutTokenSource)
   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   --- End of inner exception stack trace ---
   at Microsoft.WindowsAzure.Storage.Core.Executor.Executor.ExecuteAsync[T](RESTCommand`1 cmd, IRetryPolicy policy, OperationContext operationContext, CancellationToken token)
   at Microsoft.WindowsAzure.Storage.Blob.BlobWriteStream.CommitAsync()
   at Microsoft.WindowsAzure.Storage.Blob.BlobWriteStream.Dispose(Boolean disposing)
   at System.IO.Stream.Close()
   at System.IO.StreamWriter.CloseStreamFromDispose(Boolean disposing)
   at System.IO.StreamWriter.Dispose(Boolean disposing)
   at System.IO.StreamWriter.Close()
   at Newtonsoft.Json.JsonTextWriter.CloseBufferAndWriter()
   at Newtonsoft.Json.JsonTextWriter.Close()
   at Newtonsoft.Json.JsonWriter.Dispose(Boolean disposing)
   at Newtonsoft.Json.JsonWriter.System.IDisposable.Dispose()
   at Microsoft.Bot.Builder.Azure.AzureBlobTranscriptStore.LogActivityAsync(IActivity activity, CloudBlockBlob blobReference)
   at Microsoft.Bot.Builder.Azure.AzureBlobTranscriptStore.LogActivityAsync(IActivity activity)
   at Microsoft.Bot.Builder.TranscriptLoggerMiddleware.TryLogActivityAsync(ITranscriptLogger logger, IActivity activity)

To Reproduce
Steps to reproduce the behavior:

Create an empty bot, e.g. using the Bot Framework Composer
Add a trace activity
Enable the TranscriptLoggerMiddleware using the AzureBlobTranscriptStore
Send a message to the bot to trigger the trace activity
See the exception in the output window in Visual Studio

Expected behavior
Either one of the following options would resolve the issue. I prefer the first.

the ID metadata parameter should not be set if it's an empty string
an arbitrary ID should be generated if it's missing
trace activities should be ignored by the transcript store

Assigning to @v-kydela as I'm unable to run composer at the moment.

@lzc850612 - This can be reproduced in a console app like this:
var store = new AzureBlobTranscriptStore(DataConnectionstring, ContainerName);

var activity = new Microsoft.Bot.Schema.Activity
{
    Id = "",
    ChannelId = Channels.Test,
    From = new ChannelAccount("me"),
    Recipient = new ChannelAccount("you"),
    Conversation = new ConversationAccount(id: "us"),
    Timestamp = DateTime.Now,
};

store.LogActivityAsync(activity).Wait();

@sschutten - I've observed that it's more than just metadata the activity ID is used for. The activity ID is also used to name the blob:

var blobName = $"{SanitizeKey(activity.ChannelId)}/{SanitizeKey(activity.Conversation.Id)}/{activity.Timestamp.Value.Ticks.ToString("x", CultureInfo.InvariantCulture)}-{SanitizeKey(activity.Id)}.json";

I don't know if the team will think changing that system is a good idea. I can see that you want something to be changed in the SDK, but I have to ask: would providing an ID to the trace activity yourself be an acceptable workaround?
You had said "e.g. using the Bot Framework Composer" as though it's not important whether or not Composer is being used, but Composer changes everything in most cases and I don't think this is an exception. If this problem is indeed caused by Composer neither providing an activity ID automatically nor allowing the developer to provide one manually, why not consider this a Composer bug rather than an SDK bug?
Then again, I'm not sure if trace activities are meant to be seen outside of Emulator.

else if (activity.Type == ActivityTypes.Trace && activity.ChannelId != "emulator")
{
    // if it is a Trace activity we only send to the channel if it's the emulator.
}

Hi Team,
I am facing the same problem. I am trying to enable transcript logging on blob storage. While everything works fine (successful logging of message, event and trace type) on local emulator, but I dont see trace type logs when I publish on the cloud. I need the trace type to see the confidence score and other metrices when customers chat with my bot.
Any idea how can I make this happen?
Thanks

@abhi23arora - It sounds like you're facing a somewhat different problem. Your problem is that trace activities aren't logged. The original problem was that trace activities are causing errors, and a potential solution to that problem is to prevent trace activities from being logged. However, we can take your case into consideration by trying to fix the errors in a way that allows trace activities to be logged.
@lzc850612 - Since I have provided a repro, I am unassigning myself so the team can decide how to fix this.

@garypretty can you triage this for the R12 release?

A PR has been submitted to check for IsNullOrEmpty while cloning the activity.
Thank you for bringing this to our attention @sschutten


Add donations.html link

Before submitting a pull request make sure you have:

[x] At least skimmed through adding new extractor tutorial and youtube-dl coding conventions sections
[x] Searched the bugtracker for similar pull requests

What is the purpose of your pull request?

[ ] Bug fix
[ ] New extractor
[ ] New feature

Description of your pull request and other information
Closes #2524
Adds link to donations.html from homepage in gh-pages website.

/cc @phihag Do you think it's time to include the donation page?

@yan12125 Yes, that may indeed be a good idea. Currently, we're averaging about 5-10€/month, which nicely covers our hosting, but especially with new hosting (if needed), 10€+/month would be great.

Thanks for explanation @phihag. Could you review this? I have little experience in building up websites.

Thanks @prayashm for the change!

@phihag It's my pleasure to help the project!

How to use YouTube-dl just to print the download URL


🚨Library styles affects global styling

When I were trying to replace ngx-mat-timepicker from @tonysamperi (which is very shity quality and forces to use his luxon replacement library) with @dhutaryan/ngx-mat-timepicker. I found that provided mixin is affecting global scope styles. Giving some gray background to inputs, but they should stay white in my project.

I found those two places where this library styles are escaping to global scope and affect project styles.
https://github.com/dhutaryan/ngx-mat-timepicker/blob/cd8cedc6bffdd2c79232fbc748f385a5e90fcb40/projects/mat-timepicker/_timepicker-theme.scss#L96
https://github.com/dhutaryan/ngx-mat-timepicker/blob/cd8cedc6bffdd2c79232fbc748f385a5e90fcb40/projects/mat-timepicker/_timepicker-theme.scss#L105

@dhutaryan btw. could you also update compatibility table in readme by reversing order to have latest version of angular on top? I think that way it would be more obvious, when I were reviewing this library if it's good enough to be used, I almost skipped it thinking it's super old and not supporting modern angular versions.

Good point. Thank you.

@dhutaryan I'm seeing that you already deploying fix.

Thank you.
Fixed in:
12.5.2
13.2.2
14.2.2
15.2.2
16.2.2
17.4.2


SelectionSlider

SelectionSlider is a selection widget (inherits from _Selection) that works just like a Dropdown / Toggle / Radio, but with a slider interface.
Right now this duplicates a lot of the slider code (the render, updateDescription and update_attr functions) from widget_int.js into widget_selection.js, which is pretty bad. I was thinking moving the base slider code into a new file widget_slider.js and then having the IntSlider and SelectionSlider inherit from that.
What do you guys think?
@SylvainCorlay @jdfreder
I also added an example in the Widget List notebook.

:+1:

Hi Roman, nice to see you here.  I think making a base class is a good idea.  Is that something you'd prefer to do here, in this PR, or later?

I'd rather re-organize that later in another PR, if that's ok with you.

Yeah, let me give this a try, and I think we may be good to go.

I see you don't have support implemented for the readout - that's okay, we can do that later.  Otherwise this looks good and works as expected.  I can tell from the source code that you weren't joking when you said this draws a lot from the existing slider... jquery soup!

Thanks!


feature: install RStudio

helpful for WSL, for example

this might be better served as a series of instructions pointing to Posit


Normalization of the noise input

I notice that in the tensorflow/pytorch official code, the input noise z is normalized (https://github.com/NVlabs/stylegan2/blob/315ac5494112c94f3af5902d7c492b4dc471d112/training/networks_stylegan2.py#L283 and https://github.com/NVlabs/stylegan2-ada-pytorch/blob/d4b2afe9c27e3c305b721bc886d2cb5229458eba/training/networks.py#L220) I wonder if the input noise normalization supported in the current implementation? Many thanks!

You can refer to this: https://github.com/rosinality/stylegan2-pytorch/blob/master/model.py#L407

Thanks a lot!


Track the "rejection" of inline completion suggestions

Several useful changes have been added to the InlineCompletionProvider interface, noteably handleItemDidShow() and handlePartialAccept(). However, one noteable thing missing is the ability to track if a suggestion was rejected. In the original issue talking about this point, https://github.com/microsoft/vscode/issues/172384, there were two new proposed interface functions, handleDidRejectCompletionItem() and handleDidAcceptCompletionItem(), can these be added?
Right now we are indirectly tracking rejections by keeping track of some state and using a combination of providing an acceptance command to InlineCompletionItem and using node.js's setTimeout(...)` and assuming that if a suggestion was not accepted after N seconds that it was rejected.

Wondering if there is an update on this @isidorn -- do you anticipate that handleItemDidShow() and handlePartialAccept() will be moved out of experimental status any time in the near future?

No updates. We plan to move them out of proposed API, I am just not sure yet. As soon as I learn more I will provide an update here.
Somewhat similar discussion https://github.com/microsoft/vscode/issues/192546

Thanks, it would be really awesome if vscode could tell us explicitly if a suggestion was rejected, discarded, or accepted. I would consider it 'discarded' if the reason why it was not accepted was that the user continued typing on the same line, etc.

Shouldn't the rejection be explicit? Only the user provides explicit rejection action should be considered as a rejected completion. There are implicit discarding or unintentional triggering of the completions, which should not be considered as rejections.
The hover overlay menu is a good place to provide explicit rejections. I'm not sure if it allows for extension.

Shouldn't the rejection be explicit? Only the user provides explicit rejection action should be considered as a rejected completion. There are implicit discarding or unintentional triggering of the completions, which should not be considered as rejections.

I disagree with this point. If user sees a whole line of completion and they decide to type through it it is explicit rejection.
only if they would not get a chance to see/observe/notice the completion then we could say its not a rejection, for which a plethora of heuristics can be used. E.g. we use a 750ms timer before which we do not treat a suggestion as noticeable.

The hover overlay menu is a good place to provide explicit rejections. I'm not sure if it allows for extension.

Not really, because not a lot of people even notice/ interact with this menu from my own experience and research. The reject has to be captured as a signal, but can be strengthen by e.g. thumbs up down from the panel to add some additional content/power to the notion.

I would say hitting ESC is an explicit rejection. Letting a suggestion expire or typing something else does not count as a rejection but counts as discarded.

@hediet @isidorn
When can we expect to have the handleItemDidShow() in the InlineCompletionsProvider? Why it's moved out of the proposed API? The times the suggestion show to the user, and the acceptance amount of those shows consists of the important metric to assess the performance the model, currently we lost this important metric.

@Zane-XY no plans in the immediate future. Things in proposed API can be removed, that's what we use proposed API for, so we can try out different things, iterate, and remove not-needed stuff.

Hi @isidorn @hediet
It's not about experimental features, it's something should already provided by the core api. Jetbrains IntelliJ SDK already provided such APIs already, https://github.com/JetBrains/intellij-community/blob/master/platform/platform-impl/src/com/intellij/codeInsight/inline/completion/InlineCompletionHandler.kt
In VSCode, we have a way to know if a suggestion is accepted through the command callback, but we don't know how many of the total suggestions are really shown to the user, that's incomplete, we can't compute the acceptance ratio correctly without the handleItemDidShow() listener.


fix: add reboot into correct kernel for mariner

this primarily affects the mariner kata image.
we accidentally remove the kernel in post-install without a reboot.
What type of PR is this?

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

Fixes #
Requirements:

[ ] uses conventional commit messages

[ ] includes documentation
[ ] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

issue is primarily due to calling enableMarinerKata and then cleaning up kernels somewhat indiscriminately such that we reboot into a non-existing (?) kernel.
we never actually had a reboot even before https://github.com/Azure/AgentBaker/commit/27592e5ebdef0cbd46e0da840ff9a86d57df1d8c, but the cleanup added by https://github.com/Azure/AgentBaker/commit/c0612b842b6a060db124793cd29a169386fbc9df needs one to do the right thing (we hope)
https://github.com/Azure/AgentBaker/blob/4a7ba42d7abe6b55d069e9c2b3f10da2a958b0b9/vhdbuilder/packer/install-dependencies.sh#L102 -> enable kata
https://github.com/Azure/AgentBaker/blob/4a7ba42d7abe6b55d069e9c2b3f10da2a958b0b9/vhdbuilder/scripts/linux/mariner/tool_installs_mariner.sh#L128-L135 -> swapping grub cfg (applied to next boot, but no reboot occurs)
https://github.com/Azure/AgentBaker/blob/4a7ba42d7abe6b55d069e9c2b3f10da2a958b0b9/vhdbuilder/packer/post-install-dependencies.sh#L36-L39 -> kernel cleanup

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0%

Covered Lines:
2546

Relevant Lines:
4105

💛  - Coveralls


404 Handling

Hello. First of all, great routing solution 👍
I have one issue, but I'm not sure if I'm doing the right thing. I ended up with route config like this:
export default [
  {name: 'home', path: '/'},
  // also some routes here
  {name: '404', path: '*splat'},
]

With this config the problem is that splat route which I use for 404 page takes precedence over home route and only on router.start. If I navigate to home after router.start by clicking a link, it works ok. I don't understand the entire codebase, but I noticed that here route-node is pushing home route after splat route https://github.com/troch/route-node/blob/2a49f9f8668c740a22e1e90bde1b03fb324b00c0/modules/RouteNode.js#L110
May be that's causing an issue, not sure.
That's one part of the problem. The other part is why I ended up defining such route for 404. The reason is that middlewares are not called if I get to 404 route with allowNotFound: true or defaultRoute: 404. I've got an auth middleware which redirects to login page if user is not logged in.
So the behavior with allowNotFound: true or defaultRoute: 404 was that if unauthenticated person navigates to route that exist, middleware redirects him to login page. But when he navigates to route that doesn't exist, middleware is not called and he sees 404. I would like to redirect to login page in both cases.
Can you please suggest a solution to this?

Hey,
Spats won't work well in that context. For 404s, use allowNotFound option on the router: http://router5.github.io/docs/router-options.html. If the router can't match the current path, it will generate a "not found" state.

Yeah, I understand that, but with allowNotFound: true I've got the problem with middleware which isn't called on 404.

Hmm, I've just looked at the code. I don't remember it being intentional to skip transition for not found states.

I will fix that issue, but I need to bump the version to v5 (it might cause an issue with existing apps). I'm currently in the process of moving all repos into one, will release v5 after that.

Cool, thanks 👍

Fixed with v5