[Feature] Check expiration time and username for OSF verification key [#OSF-6560, #OSF-6673]

Purpose
Issue
When user forgets and resets password, verification key never gets deleted unless overwritten. In addition, validation only checks the key. Neither the user to whom it belongs nor whether it has expired is checked. Furthermore, verification key are used twice instead of "one-time" for several tasks.
Fix
Add User.verification_key_v2 which contains both the token string and an expiration time. Validation now checks username, token and expiration time. Renew the key once used.
Further Fix
There are two other functionality "User Claim Contributor-ship" and "Send/Resend Registration Confirmation Email" that have similar issue. Although they have their own way of verification, both are fixed with the same idea.
Changes
Forgot and Reset Password (30 minutes)

Add a dictionary field User.verification_key_v2 to User
Add generate_verification_key_v2(username, token) to generate a token with an expiration time. Update User.get_user() function to take username
Flow:

forgot_password_post generates v2_key A
reset_password_get verifies v2_key A, clears v2_key A and generates v2_key B for reset_password_post
reset_password_post verifies v2_key B, clears v2_key B and generates v1_key C for CAS
CAS verifies v1_key C and OSF clears v1_key C  upon receiving service ticket

User Claim Contributor-ship (7 days)

Add a datetime field expires for each record in User.unclaimed_records
Update verify_claim_token(token, project_id) to check both token and expiration time
Flow Unregistered User Claim:

add_unconfirmed_record --> send_claim_email
claim_user_form --> verify_claim_token

Flow Registered User Claim:

claim_user_post --> send_claim_registered_email
claims_user_registered --> verify_claim_token

Send and Resend Confirmation (24 hours)

There is no need to use verification_key_v2. `User.email_verifications: {token : (email, expiration, confirmed), ... } already has an expiration check. The token string and expiration time are generated in add_unconfirmed_email.
Add renew=True across the flow below to regenerate User.emails_verifications[token] when resending confirmation email.
Flow:

register_user -->> register_unconfirmed -->> create_unconfirmed -->> add_unconfirmed_email
send_confirmation_email -->> get_confirmation_url -->> get_confirmation_token -->> add_unconfirmed_email

Other

Remove duplicated code get_claim_token() and get_confirm_token(). All that requires generate a pseudo-random string uses generate_verification_key()
Remove "lingering" code fragments due to previous merge conflicts.
Update related routes, makos, factories and tests

Side effects

Password reset link becomes one time only. No longer valid once clicked.

Ticket
https://openscience.atlassian.net/browse/OSF-6560
https://openscience.atlassian.net/browse/OSF-6673
https://openscience.atlassian.net/browse/SEC-33

There doesn't appear to be a way to request an updated claim url. I set expires to sometime yesterday, followed the link and received a 'Claim user does not exists, the token in the URL is invalid or has expired.' error page from claim_user_form, and couldn't generate a new one.
Please add a mechanism to resend a claim email iff it's expired, requiring the email address that it was sent to as an added security measurse, much like the resend confirmation flow ( h/t @saradbowman ).

Pass complete, @cslzchen, 🔙 to you
A couple of requested changes, but otherwise looks good. I'll do a quick pass and light functional testing after the changes have been made, then it should be RTM. 🐹

I will add resend confirmation as well and schedule a demo with prod/qa when ready. Currently if the user lose the link, they must be manually removed and added again by the project admin. This is a very nice feature to have.

@cslzchen This has developed merge conflicts as well, please update

As discussed with @mfraezz , the resend claim confirmation will be handled in another improvement/feature ticket: https://openscience.atlassian.net/browse/OSF-6998, which takes care of https://openscience.atlassian.net/browse/OSF-6673 along the way.

LGTM 🌳
Dropping this RTM

@cslzchen There are some merge conflicts that need resolving.


policy: Generate L3-only filter also for rules with requirements.

FromRequires can be placed into the same rule as FromEndpoints, and
an L3-only filter needs to be generated also in that case.
Basically, as [From|To]Requires affects all rules selected for a given
identity, the processing of individual rules should not depend on the
(non)precense of [From|To]Requires in the same rule.
Fixes: 7321663ff85 ("policy: store L3-only policy in L4Filter")
Signed-off-by: Jarno Rajahalme<EMAIL_ADDRESS>Please ensure your pull request adheres to the following guidelines:

[ ] For first time contributors, read Submitting a pull request
[ ] All code is covered by unit and/or runtime tests where feasible.
[ ] All commits contain a well written commit description including a title,
description and a Fixes: #XXX line if the commit addresses a particular
GitHub issue.
[ ] All commits are signed off. See the section Developer’s Certificate of Origin.
[ ] Provide a title or release-note blurb suitable for the release notes.
[ ] Thanks for contributing!

Fixes: #issue-number
<!-- Enter the release note text here if needed -->

This change is

test-me-please

Coverage decreased (-0.02%) to 41.592% when pulling 61238203ebe97fa6d3fbef7ef84aa1a1c9b97b25 on pr/jrajahalme/policy-l3-only-filter-fix into f8ce1bd9dea672b57ddd3783d53f87e55bcb85e0 on master.

CI issue #7598, trying again.

test-me-please

test-me-please

CI VMs failed to start, trying again.

test-me-please


Config question

Hey Guys,
Firstly, thanks for your efforts on Frigate and offering the Arlo-streamer!
I'm having a bad time trying to configure it though, which I suspect has something to do with the FFMPEG_OUT string as I can't get a stream.
I'm currently using:
FFMPEG_OUT: c:v copy -c:a copy -f flv rtmp://<IP_ADDRESS>:1935/live/{name}
The aarlo-streamer and frigate are both running in docker, so when I create the Arlo-streamer container, I map -p 1935:1935
I figure that the <IP_ADDRESS> should work, however, I can't see anything, and get errors in the log for Frigate. I have also tried changing this to both the host IP <IP_ADDRESS> and the docker container IP, but no luck.
The other issue is the name from Arlo the camera name, i.e. rear_stairs, or the technical name, i,e, 4WA16B79A85F7:
2023-10-29 21:18:52,894 [INFO] root: rear_stairs motion: True
2023-10-29 21:18:52,894 [INFO] root: rear_stairs state: streaming
2023-10-29 21:18:52,899 [DEBUG] pyaarlo: 4WA16B79A85F7: _start_stream2::reqs='set()',local='{'streaming'}',remote='set()'
2023-10-29 21:18:53,264 [DEBUG] urllib3.connectionpool: https://myapi.arlo.com:443 "POST /hmsweb/users/devices/startStream?eventId=FE!d14fb1d3-045c-4dca-9b8f-5872e22574a9&time=1698578332899 HTTP/1.1" 200 None
2023-10-29 21:18:53,265 [DEBUG] pyaarlo: 4WA16B79A85F7: url=rtsps://arlostreaming262-z3-prod.wowza.arlo.com:443/vzmodulelive/4WA16B79A85F7_1698578333106?egressToken=****************&userAgent=iOS&cameraId=4WA16B79A85F7_1698578333106&txnId=FE!d14fb1d3-045c-4dca-9b8f-5872e22574a9
2023-10-29 21:18:53,506 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-10-29 21:18:53,668 [DEBUG] pyaarlo: backend: packet: device update
2023-10-29 21:18:53,669 [DEBUG] pyaarlo: backend: sending cameras/4WA16B79A85F7 to 4WA16B79A85F7
2023-10-29 21:18:53,671 [DEBUG] pyaarlo: 4WA16B79A85F7: Rear Stairs CAMERA got one cameras/4WA16B79A85F7
2023-10-29 21:18:53,672 [DEBUG] pyaarlo: 4WA16B79A85F7: set:ArloCamera/4WA16B79A85F7/activityState=startUserStream
2023-10-29 21:18:53,673 [DEBUG] pyaarlo: 4WA16B79A85F7: activityState: NEW startUserStream
2023-10-29 21:18:53,991 [DEBUG] pyaarlo: backend: packet: device update
2023-10-29 21:18:53,992 [DEBUG] pyaarlo: backend: sending cameras/4WA16B79A85F7 to 4WA16B79A85F7
2023-10-29 21:18:53,993 [DEBUG] pyaarlo: 4WA16B79A85F7: Rear Stairs CAMERA got one cameras/4WA16B79A85F7
2023-10-29 21:18:54,782 [DEBUG] pyaarlo: backend: packet: device update
2023-10-29 21:18:54,782 [DEBUG] pyaarlo: backend: sending cameras/4WA16B79A85F7 to 4WA16B79A85F7
2023-10-29 21:18:54,783 [DEBUG] pyaarlo: 4WA16B79A85F7: Rear Stairs CAMERA got one cameras/4WA16B79A85F7
2023-10-29 21:18:54,783 [DEBUG] pyaarlo: 4WA16B79A85F7: _event::stream::reqs='set()',local='{'streaming'}',remote='{'streaming'}'
2023-10-29 21:18:54,783 [DEBUG] pyaarlo: 4WA16B79A85F7: set:ArloCamera/4WA16B79A85F7/activityState=userStreamActive
2023-10-29 21:18:54,783 [DEBUG] pyaarlo: 4WA16B79A85F7: activityState: NEW userStreamActive
2023-10-29 21:18:59,069 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...
2023-10-29 21:18:59,359 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-10-29 21:19:03,210 [DEBUG] pyaarlo: backend: packet: device update
2023-10-29 21:19:03,210 [DEBUG] pyaarlo: backend: sending cameras/4WA16B79A85F7 to 4WA16B79A85F7
2023-10-29 21:19:03,211 [DEBUG] pyaarlo: 4WA16B79A85F7: Rear Stairs CAMERA got one cameras/4WA16B79A85F7
2023-10-29 21:19:03,211 [DEBUG] pyaarlo: 4WA16B79A85F7: recent activity key
2023-10-29 21:19:03,211 [DEBUG] pyaarlo: 4WA16B79A85F7: turning recent ON for Rear Stairs
2023-10-29 21:19:03,211 [DEBUG] pyaarlo: 4WA16B79A85F7: set:ArloCamera/4WA16B79A85F7/motionDetected=False
2023-10-29 21:19:03,211 [DEBUG] pyaarlo: 4WA16B79A85F7: motionDetected: NEW False
2023-10-29 21:19:03,211 [INFO] root: rear_stairs motion: False
2023-10-29 21:19:04,720 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...
and the Frigate config is:
RearSteps:
ffmpeg:
input_args: preset-rtmp-generic
inputs:
- path: rtmp://<IP_ADDRESS>:1935/live/rear_stairs
roles:
- detect
objects:
track:
- person
- dog
- cat
snapshots:
# Optional: Enable writing jpg snapshot to /media/frigate/clips (default: shown below)
# This value can be set via MQTT and will be updated in startup based on retained value
enabled: True
retain:
# Required: Default retention days (default: shown below)
default: 10
2023-10-30 10:07:49.939486911  [2023-10-30 10:07:49] frigate.video                  ERROR   : RearSteps: ffmpeg process is not running. exiting capture thread...
2023-10-30 10:07:59.948456613  [2023-10-30 10:07:59] watchdog.RearSteps             ERROR   : Ffmpeg process crashed unexpectedly for RearSteps.
2023-10-30 10:07:59.948462743  [2023-10-30 10:07:59] watchdog.RearSteps             ERROR   : The following ffmpeg logs include the last 100 lines prior to exit.
2023-10-30 10:07:59.948465305  [2023-10-30 10:07:59] ffmpeg.RearSteps.detect        ERROR   : [rtmp @ 0x5560337c1f80] Cannot read RTMP handshake response
2023-10-30 10:07:59.948467935  [2023-10-30 10:07:59] ffmpeg.RearSteps.detect        ERROR   : rtmp://<IP_ADDRESS>:1935/live/rear_stairs: Connection reset by peer
2023-10-30 10:07:59.999149292  [2023-10-30 10:07:59] frigate.video                  ERROR   : RearSteps: Unable to read frames from ffmpeg process.
2023-10-30 10:08:00.001720821  [2023-10-30 10:08:00] frigate.video                  ERROR   : RearSteps: ffmpeg process is not running. exiting capture thread...
Any help or pointers would be greatly appreciated!!!
Thanks

Might be several issues.
First of all, make sure the FFMPEG_OUT is correct. I don't know how familiar you are with .env files, but the correct string in your case should be:
FFMPEG_OUT="-c:v copy -c:a copy -f flv rtmp://<IP_ADDRESS>:1935/live/{name}"
Second, if you are running both the rtmp server and arlo-streamer in docker containers addressing <IP_ADDRESS> won't work. This is because <IP_ADDRESS> points to the interface inside the container.
However there are two solutions:

Make the containers part of the same network. You can then address the name of the rtmp container (e.g. rtmp://rtmp-server:1935. Easiest way to do this is by using docker compose:

services:
  rtmp-server:
    image: ...
    ...
    ports:
      - "1935:1935"
  arlo-streamer:
    image: kaffetorsk/arlo-streamer
    ...

Adding an extra_host to the arlo-streamer container. Using compose this would be:

services:
  arlo-streamer:
    image: kaffetorsk/arlo-streamer
    ...
    extra_hosts:
     - "host.docker.internal:host-gateway"

You can then reach the rtmp by rtmp://host.docker.internal:1935
Good luck!

Thanks @kaffetorsk!!
I thought originally that I didn't need another container for the rmtp server. Currently trying to get arlo into frigate, so thought I only needed the aarlo streamer and exposing port 1935, i could pick it up in frigate. I'll get woking and update this issue when done, incase anyone has the same issue.

Added example to README

Thanks for adding the example, I'm still not winning though. I think the issue is something to do in the streamer side of things, as I see this error message repeatedly:
2023-11-02 21:54:17,155 [DEBUG] pyaarlo: backend: packet: base and child statuses
2023-11-02 21:54:17,155 [DEBUG] pyaarlo: DEVICES=48D46C7WA04BD
2023-11-02 21:54:17,155 [DEBUG] pyaarlo: DEVICES=4WA16B79A85F7
2023-11-02 21:54:17,155 [DEBUG] pyaarlo: DEVICES=4WA16B7VA8588
2023-11-02 21:54:17,155 [DEBUG] pyaarlo: backend: sending devices to 48D46C7WA04BD
2023-11-02 21:54:17,156 [DEBUG] pyaarlo: backend: sending devices to 4WA16B79A85F7
2023-11-02 21:54:17,156 [DEBUG] pyaarlo: 48D46C7WA04BD: arlo BASE got devices
2023-11-02 21:54:17,156 [DEBUG] pyaarlo: backend: sending devices to 4WA16B7VA8588
2023-11-02 21:54:17,156 [DEBUG] pyaarlo: 4WA16B79A85F7: Rear Stairs CAMERA got one devices
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: _event::record::reqs='set()',local='{'streaming'}',remote='{'recording'}'
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: recent activity key
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: turning recent ON for Rear Stairs
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: recent activity key
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: turning recent ON for Rear Stairs
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: set:ArloCamera/4WA16B79A85F7/activityState=alertStreamActive
2023-11-02 21:54:17,157 [DEBUG] pyaarlo: 4WA16B79A85F7: activityState: NEW alertStreamActive
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: Pool Room CAMERA got one devices
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: removing streaming activity state
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: _event::idle::reqs='set()',local='set()',remote='set()'
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: recent activity key
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: turning recent ON for Pool Room
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: recent activity key
2023-11-02 21:54:17,158 [DEBUG] pyaarlo: 4WA16B7VA8588: turning recent ON for Pool Room
2023-11-02 21:54:18,059 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:18,075 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:21,100 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:21,107 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:24,113 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:24,118 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:27,129 [WARNING] root: Proxy stream for pool_room exited unexpectedly with code 1. Restarting...
2023-11-02 21:54:27,142 [WARNING] root: Proxy stream for rear_stairs exited unexpectedly with code 1. Restarting...

Looks like your post was interrupted after "or:"
What is FFMPEG_OUT set to now? are you running the rtmp as part of a compose, or is it a separate container?

Hey @kaffetorsk,
I have deleted that post, it was one of those "oh...." moments. Apologies, I thought I had hidden it / deleted it.
Can report back that it's all working!!
I'm at work at the moment, but I will add what I did wrong to this issue and close it tonight. It was mainly an issue with the FFMEG (arlo-streamer) outstring. Originally as per the docs, it was <IP_ADDRESS>, then I updated it to host.docker.internal however this was still not right. As you pointed out above, it needs to be rtmp://rtmp-server:1935


channeldb+rpc: add pagination of listinvoices #1514

Closes: #1514
Short description: once we exceed a few thousand invoices, we can no longer return them over the RPC interface in a single go. As a result, we need to add pagination in order to allow callers to iteratively request the entire range by using time slice.

Also, you should reach out to Travis to unban your account so that the tests can run on the next push.

Ping @wpaulino.

Replaced by #1720.


telnet does not connect to host:port in pantheon-terminal

issue with: /usr/bin/eve-ng-integration
testing on command line show that command without single quotes only start telnet it does not initiate the connection to {host} {port} as intended.

pantheon-terminal -e telnet eveng.it-ninja.xyz 32897
telnet>

pantheon-terminal -e 'telnet eveng.it-ninja.xyz 32897'
Trying <IP_ADDRESS>...
Connected to eveng.it-ninja.xyz.
Escape character is '^]'.
Router>

Fixed in v0.4.1


Improve docs

Explain

why it better than another boilerplate frameworks
add examples how it use
why you need to wrap your biolerplate to charmix

Done


Media database

The app should contain a database that holds information about all existing media content. It should persist data between app launches. It should be possible to store newly created media entries in the database as well as delete entries that are no longer needed.

For starters, see here: https://flutter.dev/docs/cookbook/persistence/sqlite

Added in commit 3eeb72f.


utils: multi db configure confusion.

#
# DTC configure file. v2
#
connection: &connection
  addr: <IP_ADDRESS>:3307
  user: sharding
  pwd: sharding

extension:
  - logic:
      {db: ss_adt, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_adt}
  - logic:
      {db: ss_cfs, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_cfs}
  - logic:
      {db: ss_cms, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_cms}
  - logic:
      {db: ss_cmx, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_cmx}
  - logic:
      {db: ss_cmz, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_cmz}
  - logic:
      {db: ss_cnn, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_cnn}
  - logic:
      {db: ss_ebs, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_ebs}
  - logic:
      {db: ss_ebx, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_ebx}
  - logic:
      {db: ss_eim, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_eim}
  - logic:
      {db: ss_ent, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_ent}
  - logic:
      {db: ss_enx, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_enx}
  - logic:
      {db: ss_gis, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_gis}
  - logic:
      {db: ss_log, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_log}
  - logic:
      {db: ss_ors, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_ors}
  - logic:
      {db: ss_pss, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_pss}
  - logic:
      {db: ss_tkt, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_tkt}
  - logic:
      {db: ss_uns, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_uns}
  - logic:
      {db: ss_unx, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_unx}
  - logic:
      {db: ss_uss, table: 1111, connection: *connection}
    real:
      - {addr: '<IP_ADDRESS>:3306', user: root, pwd: '123456', db: ss_uss}

May be related with #133


testnet network support - avp156ysiljvbjr - validator,rpc,api

@ivan-selchenkov-otg , Your Moniker and validator addresses are required, please update the PR with those details

@ivan-selchenkov-otg , Your Moniker and validator addresses are required, please update the PR with those details

@akhilkumarpilli
moniker="grasshopper"
validator="akashvaloper1dps8d3yt6ngc9fdaxzvarce5wrr7wwd985xdnd"
https://testnet.akash.aneka.io/validators/akashvaloper1dps8d3yt6ngc9fdaxzvarce5wrr7wwd985xdnd
the validator is down since the end of the challenge

@akhilkumarpilli
moniker="grasshopper"
validator="akashvaloper1dps8d3yt6ngc9fdaxzvarce5wrr7wwd985xdnd"
https://testnet.akash.aneka.io/validators/akashvaloper1dps8d3yt6ngc9fdaxzvarce5wrr7wwd985xdnd
the validator is down since the end of the challenge


[Cosmos v4] String comparison using == or != operators

== or != on string does reference comaprsions, consider using equality methods instead.
https://github.com/Azure/azure-sdk-for-java/blob/650ab28c669cf2132129abfd4da79007ae8f9e1a/sdk/cosmos/azure-cosmos/src/main/java/com/azure/cosmos/implementation/directconnectivity/AddressResolver.java#L516

@kushagraThapar Since the PR has been merged, can you close this issue, please?

Yes, sure. This is done. Thanks @DanielBenniah


kosmos-2 has a low performance on local gradio app demo

I tried to run run_gradio.sh on local server, but the performance seemed not good.
Here is an example of my reproduction:

My configs are as follows:
model:
kosmos-2.pt, downloaded from the checkpoint link
run_gradio.sh:
(I use torchrun cause my torch version is 2.1.0+cu118)
model_path=/PATH/to/kosmos-2.pt
CUDA_LAUNCH_BLOCKING=1 CUDA_VISIBLE_DEVICES=0 torchrun --master_port=$master_port  --nproc_per_node=1 demo/gradio_app.py None
--task generation_obj
--path $model_path
--model-overrides "{'visual_pretrained': '',
'dict_path':'data/dict.txt'}"
--dict-path 'data/dict.txt'
--required-batch-size-multiple 1
--remove-bpe=sentencepiece
--max-len-b 500
--add-bos-token
--beam 1
--buffer-size 1
--image-feature-length 64
--locate-special-token 1
--batch-size 1
--nbest 1
--no-repeat-ngram-size 3
--location-bin-size 32
Env:
I did not use the docker image provided in the setup, part of my env is as follows:
python 3.8
cuda:11.8
torch:2.1.0+cu118
pip install fairseq         instead of pip install fairseq/
pip install infinibatch    instead of pip install infinibatch/
pip install numpy tiktoken ftfy sentencepiece httpcore gradio spacy thinc pydantic==1.10.11 instead of
pip install numpy==1.23.0 tiktoken ftfy sentencepiece httpcore==0.17.3 gradio==3.37.0 spacy==3.6.0 thinc==8.1.10 pydantic==1.10.11

Same. And I found that kosmos-2 may have a very poor understanding of colors when I tried to ground an object with color words such as "blue jacket" using "run_example" function in the huggingface demo.

@LizzzMax It seems that the demo is not started correctly. From your pictures, I see a lot of "None", do you know why?

@LizzzMax It seems that the demo is not started correctly. From your pictures, I see a lot of "None", do you know why?

Sorry, I dont know why so many 'None's, could u tell me where to debug those 'None's or how to strart demo correctly?

@LizzzMax It seems that the demo is not started correctly. From your pictures, I see a lot of "None", do you know why?

@wenhui0924  hi, I just found those 'None's were printed because I printed model input var 'img_src_tokens', which I totally forgot


Can’t save darkness level in scene configuration in v9

In v9 test 1 if you change the darkness level in the scene configuration and save it then switch to another scene and come back, the setting with be reverted. Tested with PV 3.0 and 3.0.1

I'm unable to reproduce this.

Found the cause of this issue. It is unrelated to perfect-vision.


Small fixes

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

3 of 3 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 83.992%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2146

Relevant Lines:
2555

💛  - Coveralls


[BugFix] Fix an issue that create analyze job default behavior is inconsistent with documentation.

Why I'm doing:
Fix an issue that create analyze job default behavior is inconsistent with documentation.
What I'm doing:
Fixes #47067
What type of PR is this:

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

Does this PR entail a change in behavior?

[x] Yes, this PR will result in a change in behavior.
[ ] No, this PR will not result in a change in behavior.

If yes, please specify the type of change:

[ ] Interface/UI changes: syntax, type conversion, expression evaluation, display information
[ ] Parameter changes: default values, similar parameters but with different default values
[x] Policy changes: use new policy to replace old one, functionality automatically enabled
[ ] Feature removed
[ ] Miscellaneous: upgrade & downgrade compatibility, etc.

Checklist:

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

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

[ ] This is a backport pr

Bugfix cherry-pick branch check:

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

[x] 3.3
[x] 3.2
[x] 3.1
[x] 3.0
[x] 2.5

sorry, it's an error on the document, the custom analyze job default is sample collect

hi @Seaven, the pr update.


Swallowed (Postgrex?) exception in Oban.insert_all

Environment

Oban Version - 2.18.3 , oban_pro 1.4.13
PostgreSQL Version - 14.13
Elixir & Erlang/OTP Versions - Elixir 1.17.2, Erlang 27.0.1
ecto - 3.12.4
ecto_sql - 3.12.1
postgrex - 0.19.2

Current Behavior
When using Oban.insert_all with a very big amount of jobs (around 35k), we've seen this not very helpful error:
RuntimeError: operation :rollback is rolling back unexpectedly.

This can happen if `repo.rollback/1` is manually called, which is not supported by `Ecto.Multi`. It can also occur if a nested transaction has rolled back and its error is not bubbled up to the outer multi. Nested transactions are discouraged when using `Ecto.Multi`. Consider flattening out the transaction instead.

  File "lib/ecto/repo/transaction.ex", line 26, in Ecto.Repo.Transaction.transaction/4
  File "lib/oban/repo.ex", line 156, in Oban.Repo.transaction/4
  File "lib/oban/pro/engines/smart.ex", line 733, in anonymous fn/3 in Oban.Pro.Engines.Smart.inner_insert_all/4
  File "lib/enum.ex", line 4353, in Enum.flat_map_list/2
  File "lib/enum.ex", line 4354, in Enum.flat_map_list/2
  File "lib/ecto/adapters/sql.ex", line 1400, in anonymous fn/3 in Ecto.Adapters.SQL.checkout_or_transaction/4
  File "lib/db_connection.ex", line 1756, in DBConnection.run_transaction/4
  File "lib/oban/repo.ex", line 156, in Oban.Repo.transaction/4

The message says that possibly Repo.rollback is mis-used somewhere in oban or oban_pro code? This is a problem because the actual inner issue is not visible anywhere in the exception message or stacktrace, so it's hard to fix. We think for us it was some kind of timeout, possibly a Postgrex exception that was rescued, because we stopped seeing that error after passing timeout: :infinity to insert_all.
Expected Behavior
I think maybe the inner exception should be simply re-raised? Or maybe Multi has some other go-to way of handling such errors without manually calling Repo.rollback

This is coming from a timeout in a nested transactions. We'll see if this can be handled differently to expose a better error message.

This doesn't appear to be an issue in v1.5 (though there's no explicit use :rollback anywhere in the Smart engine for v1.4 either). Here's a small test to confirm that a large batch raises a timeout error rather than an obscured rollback:
defmodule Foo do
  use Oban.Pro.Worker

  @impl true
  def process(_job), do: :ok
end

Oban.Pro.Repo.start_link()
Oban.start_link(engine: Oban.Pro.Engines.Smart, repo: Oban.Pro.Repo)

1..10_000
|> Stream.map(&Foo.new(%{id: &1}))
|> Oban.insert_all(timeout: 10)

Here's the error it raises:
21:48:57.869 [error] Postgrex.Protocol (#PID<0.223.0>) disconnected: ** (DBConnection.ConnectionError) client #PID<0.207.0> timed out because it queued and checked out the connection for longer than 10ms

Client #PID<0.207.0> is still using a connection from owner at location:

    (elixir 1.17.3) lib/map.ex:526: Map.get/2
    (ecto 3.12.1) lib/ecto/changeset.ex:832: Ecto.Changeset.process_param/9
    (elixir 1.17.3) lib/enum.ex:2531: Enum."-reduce/3-lists^foldl/2-0-"/3
    (ecto 3.12.1) lib/ecto/changeset.ex:792: Ecto.Changeset.cast/6
    (oban 2.18.2) lib/oban/job.ex:309: Oban.Job.new/2
    (elixir 1.17.3) src/elixir.erl:386: :elixir.eval_external_handler/3
    (elixir 1.17.3) lib/stream.ex:613: anonymous fn/4 in Stream.map/2
    (elixir 1.17.3) lib/range.ex:538: Enumerable.Range.reduce/5

The connection itself was checked out by #PID<0.207.0> at location:

    (oban 2.18.2) lib/oban/repo.ex:156: Oban.Repo.transaction/4


 So please consider publishing this under some free license.
Edit: Preferably a non-viral license so that the code can be used in DLLs for Witcher 3.

aka public domain

fixed

Thank you!


Remove tag v1.0.0

Summary of Bug

The legacy tag v1.0.0 should be removed, because the clients see it as the latest version.

For Admin Use

[x] Not duplicate issue
[ ] Appropriate labels applied
[ ] Appropriate contributors tagged
[ ] Contributor assigned/self-assigned

The version has already been removed from this repository, so retract the version in go.mod.


Remove automated builds

Now that we are being more deliberate about things, we should not be publishing with every push to github. Autobuilds in Docker Cloud should be disabled.

Webhook setting in this repository, and auto build settings in cloud.docker.com have been disabled - not deleted (just in case we decide to reenable this in the future).


Implement K-REPL server skeleton with Flask

Fix the conflicts and I'll review this.

it doesn't look like this approach has any built in support for the JSON RPC protocol, which means if we're going to use it, we need to explicitly add that layer somewhere

Implementing or pulling in an existing JSON-RPC layer would be relatively straightforward. But I don't think we should use JSON-RPC for the API, as the scope has shifted from RPC towards a web application. In this setting, an OpenAPI or GraphQL interface would make more sense I think.


Clarification Needed on Method Name Transformation for Android Binding in Sample Project

Hello, and thank you for this amazing project!
I’ve been working with the sample project included in the Native Library Interop repository and noticed something curious about how method names are transformed in the Android and iOS bindings.
Observation
In the Android and iOS sample projects, there is a method called getString. In the MainPage, we invoke this method as GetString (with a capital G). Here’s what I observed:
1. iOS:
The transformation is explicitly defined in ApiDefinition.cs:
[Static]
[Export ("getStringWithMyString:")]
string GetString(string myString);

This is straightforward and clear. We explicitly specify the PascalCase version GetString, which works as expected.
2. Android:

I couldn’t find any explicit place where getString is transformed into GetString.
Yet, it works! When I invoke GetString, the call works perfectly.
However, when I attempt to call getString (lowercase g), it does not work.

Experiment
To better understand the behavior, I added a second method getString2 in the Android native library.

When I called GetString2 (with a capital G), it worked fine.
When I called getString2 (lowercase g), it did not work.

Question

Is the transformation to PascalCase (getString → GetString) required for Android? If so, where is this behavior defined?
Does this mean that for Android, all method names must follow this PascalCase convention when invoked from .NET (e.g., GetString, GetString2, etc.)?
For iOS, it seems the ApiDefinition.cs provides flexibility, allowing us to explicitly name the methods. Is this behavior consistent across both platforms?

Any clarification on where and how this transformation happens for Android would be greatly appreciated. It’s a bit confusing as it’s not as explicitly defined as it is for iOS.
Thank you for your help and for maintaining this great project!

Hi @MatanYamin, thanks for trying this out and for the question! I can link to a few resources related to the .NET for Android Java binding process which will hopefully be helpful.
You've correctly noticed that .NET for Android automatically performs a pascal case transformation when binding Java. We do this in an attempt to better align with .NET naming conventions. We have a couple of mentions of this behavior in the Customizing namespaces section of our Bind java libraries docs.
There are a couple of options for customizing this behavior similar to the ApiDefinition.cs file used for iOS that you've mentioned. The most relevant equivalent is going to be the Metadata.xml file. For namespaces, there is also an @(AndroidNamespaceReplacement) item mentioned in the namespaces doc above that can be added to your .csproj file.
To change the name of the method, you should be able to add something like this to your Metadata.xml file:
<attr path="/api/package[@name='com.example.newbinding']/class[@name='DotnetNewBinding']/method[@name='getString']"
    name="managedName">newGetStringName</attr>

The .NET for Android generator source code can be found at https://github.com/dotnet/java-interop -- feel free to browse that repo for any other related comments/issues that may be useful.


Expose Github username as environment variable.

I'd like to be able to find the actual github username that created the PR.
ghprbActualCommitAuthor is close but is determined by the string set in git config --global --get-all user.name which doesn't necessarily have to match the github username that created the PR.
Case in point:
$ git config --global --get-all user.name
Tom Stockton

The string I want to capture is my github username tomstockton.

:+1:  I am also interested to have this information, I'd like to have the fork repo reference (or the git username of the PR author)


add a new unit test for extrinsic pool

Looks like our CI is not robust enough
error: could not rename component file from '/root/.rustup/toolchains/nightly-x86_64-unknown-linux-gnu/lib/rustlib/etc' to '/root/.rustup/tmp/hm2aoptql56vt5g6_dir/bk'
info: caused by: Invalid cross-device link (os error 18)

Do we have a way to ask CI to retry instead of rebasing my branch and pushing again?

@guanqun It looks to me that mere retrying won't help. I've asked for our CI wizard to take a look!


What's the reason to not have a unordered_map in ustl ?

USTL has already some years and why it doesn't have an unordered_map (hash table) ?
Is it because the memory model used by it make it hard/impossible to implement it ?
Someone did an intent https://github.com/antmicro/ustl_hashmap but abandoned without completion.
Hash tables have unique properties that makes then very useful and USTL that advocates for performance do not have one.
Cheers !

I did some work on https://github.com/antmicro/ustl_hashmap and implemented the missing rehash method see attached.
Can it be used as starting point to add unordered_map to ustl ?
Cheers !
ustl_hashmap.zip

uSTL emphasizes size, not performance. In most cases hashmaps do not give significant performance advantages over binary searched maps, and by the time your dataset grows enough to warrant it, you should be using B-tree databases anyway. Adding yet another complex container that nobody should be using anyway would only introduce bloat, so no.


Tests: Adjust several macCatalyst tests

Reenable availability_maccatalyst_zippered.swift after adjusting RUN lines.
Adopt %target-cpu to make several tests compatible with Apple Silicon.
Limit maccatalyst_load_commands.swift to x86_64 since it is really specific to that architecture.
Upstream a missing macCatalyst test.

Resolves rdar://73984718.

@swift-ci please smoke test


RefreshIndicator pull-down-to-refresh (from top) not working with ListView.builder reverse:true

RefreshIndicator, In case of ListView.builder reverse: true, at top pull-to-refresh (pull down to refresh) is not working. Though at the bottom (pull-up-to-refresh) is working fine (which I don't need).
For context, I am trying a chat application and need to show the spinner at the top on the pull-to-refresh.  Below is the piece of code that I am using:
      .....
      Container(
         child: RefreshIndicator(
            onRefresh: _handleRefresh,
            child: new ListView.builder(
              reverse: true,
              itemCount: items.length,
              itemBuilder: (context, index) {
                 ....
                 // return items[index];
              },
           ),
        ),
     ),
     ....

This is happening with me too, is there a workaround that may help me proceed?

any updates?

it works from bottom but not from top

Code Sample
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: 'Material App',
      theme: ThemeData.dark(),
      home: Home(),
    );
  }
}

class Home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('Material App Bar'),
      ),
      body: Center(
        child: Container(
          child: RefreshIndicator(
            onRefresh: () {
              print('refresh');
              return;
            },
            child: new ListView(
              reverse: true,
              children: [
                for (var i = 0; i < 10; i++)
                  FlutterLogo(
                    size: 100,
                  )
              ],
            ),
          ),
        ),
      ),
      floatingActionButton: FloatingActionButton(
        child: Icon(Icons.add),
        onPressed: () {},
      ),
    );
  }
}

flutter doctor -v
[✓] Flutter (Channel dev, 1.19.0-1.0.pre, on Mac OS X 10.15.5 19F96, locale
    en-GB)
    • Flutter version 1.19.0-1.0.pre at /Users/tahatesser/Code/flutter_dev
    • Framework revision 456d80b9dd (3 weeks ago), 2020-05-11 11:45:03 -0400
    • Engine revision d96f962ca2
    • Dart version 2.9.0 (build 2.9.0-7.0.dev 092ed38a87)

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at /Users/tahatesser/Code/sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = /Users/tahatesser/Code/sdk
    • Java binary at: /Applications/Android
      Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.9.2

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

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 45.1.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build
      1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.10.2

[✓] Connected device (5 available)
    • SM M305F   • 32003c30dc19668f                     • android-arm64  •
      Android 10 (API 29)
    • iPhone 11  • 0EC80516-8F99-4A0C-89ED-2273579862F9 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-13-5 (simulator)
    • macOS      • macOS                                • darwin-x64     • Mac
      OS X 10.15.5 19F96
    • Web Server • web-server                           • web-javascript •
      Flutter Tools
    • Chrome     • chrome                               • web-javascript •
      Google Chrome 83.0.4103.61

• No issues found!

try using "physics: const AlwaysScrollableScrollPhysics()"

Same problem with me when reversed=true any ideas

it'll work fine if you remove 'physics' property from Listview builder, refreshIndicator needs a gesture detection to detect swipe but listview scroll physics absorbs the swipe for refreshIndicator.
`  return new RefreshIndicator(
onRefresh: refresh,
child: ListView.builder(
scrollDirection: Axis.vertical,
shrinkWrap: true,
itemCount: snapshot.data.length,
// physics: BouncingScrollPhysics(),                           // notice: I commented this line
itemBuilder: (BuildContext context, int index) {
                 // return your content here.
                      },
                    ));`

Although this is reproducible on latest stable and master, but I am not sure if this is a bug or expected behavior.
For example: if we comment out reverse: true from sample code, then the list is displayed in ascending order and we see the refresh indicator being displayed from top. But if we scroll all the way to the last item in the list and try to swipe up, then the refresh indicator isn't displayed too.
So, with reverse: true, the list is displayed in descending order and refresh indicator is displayed at the bottom (as expected) while swiping up. If we try to pull down from the max item of the list (which is now at the top), the refresh indicator isn't displayed (which is the same behavior if we don't use reverse: true).
Anyways, keeping this open for further analysis.

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-IN)
    • Flutter version 1.22.5 at /Users/dhs/Code/flutter_stable
    • Framework revision<PHONE_NUMBER> (6 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build\ 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (1 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-2.0.pre.419, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-IN)
    • Flutter version 1.26.0-2.0.pre.419 at /Users/dhs/Code/flutter_master
    • Framework revision 913d5933c1 (4 hours ago), 2021-01-19 22:34:03 -0800
    • Engine revision b58dbc88fc
    • Dart version 2.12.0 (build 2.12.0-240.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 87.0.4280.141

! Doctor found issues in 1 category.

Although this is reproducible on latest stable and master, but I am not sure if this is a bug or expected behavior.
For example: if we comment out reverse: true from sample code, then the list is displayed in ascending order and we see the refresh indicator being displayed from top. But if we scroll all the way to the last item in the list and try to swipe up, then the refresh indicator isn't displayed too.
So, with reverse: true, the list is displayed in descending order and refresh indicator is displayed at the bottom (as expected) while swiping up. If we try to pull down from the max item of the list (which is now at the top), the refresh indicator isn't displayed (which is the same behavior if we don't use reverse: true).
Anyways, keeping this open for further analysis.

flutter doctor -v
[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-IN)
    • Flutter version 1.22.5 at /Users/dhs/Code/flutter_stable
    • Framework revision<PHONE_NUMBER> (6 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    • CocoaPods version 1.9.3

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build\ 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (1 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)

! Doctor found issues in 1 category.

[✓] Flutter (Channel master, 1.26.0-2.0.pre.419, on Mac OS X 10.15.4 19E2269 darwin-x64, locale en-IN)
    • Flutter version 1.26.0-2.0.pre.419 at /Users/dhs/Code/flutter_master
    • Framework revision 913d5933c1 (4 hours ago), 2021-01-19 22:34:03 -0800
    • Engine revision b58dbc88fc
    • Dart version 2.12.0 (build 2.12.0-240.0.dev)

[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.0)
    • Android SDK at /Users/dhs/Library/Android/sdk
    • Platform android-30, build-tools 30.0.0
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[!] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.3, Build version 12C33
    ! CocoaPods 1.9.3 out of date (1.10.0 is recommended).
        CocoaPods is used to retrieve the iOS and macOS platform side's plugin code that responds to your plugin usage on the Dart side.
        Without CocoaPods, plugins will not work on iOS or macOS.
        For more info, see https://flutter.dev/platform-plugins
      To upgrade see https://guides.cocoapods.org/using/getting-started.html#installation for instructions.

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

[✓] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] VS Code (version 1.52.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.16.0

[✓] Connected device (3 available)
    • iPhone 12 Pro Max (mobile) • A5473606-0213-4FD8-BA16-553433949729 • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-3 (simulator)
    • macOS (desktop)            • macos                                • darwin-x64     • Mac OS X 10.15.4 19E2269 darwin-x64
    • Chrome (web)               • chrome                               • web-javascript • Google Chrome 87.0.4280.141

! Doctor found issues in 1 category.

@zoechi @Hixie @jonahwilliams
Hey there, any update to this or workaround?
Thanks!

try using "physics: const AlwaysScrollableScrollPhysics()"

Dude thanks, this solved the issue. I used refresh indicator on top of listview builder, but I didn't mention any scroll physics. After applying what you suggested, it worked perfectly. Thanks a 💯

Hello, Still not working, can anyone help?

try using "physics: const AlwaysScrollableScrollPhysics()"

Dude thanks, this solved the issue. I used refresh indicator on top of listview builder, but I didn't mention any scroll physics. After applying what you suggested, it worked perfectly. Thanks a 💯

I tried this, it is not working

try using "physics: const AlwaysScrollableScrollPhysics()"

Dude thanks, this solved the issue. I used refresh indicator on top of listview builder, but I didn't mention any scroll physics. After applying what you suggested, it worked perfectly. Thanks a 💯

thanks , its working for me ..

For me it doesn't even work in the normal direction :-/
See: #94677


[New API] : Visitor Counter API

Brief Description 🤓
This project is a serverless API hosted on Netlify using Redis Cloud as the database. The API allows for managing a simple counter that can be incremented, reset, or retrieved on page load. It supports CORS for cross-origin requests.
Record

[x] I agree to follow this project's Code of Conduct
[x] I'm a GSSOC'24 contributor
[X] I want to work on this issue

How will you develop it?🤩
I have already developed it, and its hosted on Netlify: https://visitor-counter-api.netlify.app/.netlify/functions/counter/
But for further clarity, I am giving a brief description, how I developed and hosted it:

Design the API Structure:

Define the endpoints (GET / and OPTIONS /) and their functionalities.

Set Up Serverless Environment:

Choose a serverless platform (Netlify) for hosting the API.

Database Integration:

Select Redis Cloud for managing the counter data.
Configure the connection to the Redis database.

Implement API Logic:

Write the logic to handle incrementing, resetting, and retrieving the counter value.
Implement error handling for database interactions.

Enable CORS:

Ensure CORS support to handle cross-origin requests.

Environment Configuration:

Use environment variables to store sensitive data (e.g., Redis credentials).

Local Development and Testing:

Develop and test the API locally using tools like Netlify CLI.

Deployment:

Deploy the API to Netlify and configure environment variables through the dashboard.

Documentation and Maintenance:

Document the API endpoints, environment variables, and error handling.
Plan for ongoing maintenance and updates.

Deployment
Yes
Select the open source program you are contributing to
Other
Code of Conduct

[X] I follow CONTRIBUTING GUIDELINES of this project.

Greetings @mondalsurojit🎀 ! , We are excited to have you dive into another issue with us!🚀
Your involvement in our project has been invaluable, and we're confident that your skills and insights will help us conquer this challenge😇.  Use command /gssoc24 to self assign the issue.  This issue represents an exciting opportunity for us to improve and enhance our project, and we are thrilled to have you on board.
We request you to follow CONTRIBUTING GUIDELINES.
Looking for your PR soon!
In case of any issues, you can contact us on Discord.❣

Hey @mondalsurojit ! I wanted to inform you that we have closed issue.Thank you for your understanding, and we look forward to your continued engagement with our repository🤗.
In case of any issues, you can contact us on Discord.
Thank you! ❣
Happy Coding! ✨
Will See you soon❣


Map reduce method of summarize chain doesn't work as expected

Thanks for the amazing work on this library!
How the map reduce method works in the python library is different from how it works in this library, however. I believe the python library is correct as it matches the description in the docs.
In the python library, map reduce works by:

Running the provided docs through a prompt to reduce them.
Running the reduced docs through a different prompt to combine them.

In this library, it's slightly different:

If the provided docs length is too large for a single prompt, they are run through the reduce prompt until their length is small enough. Otherwise, this step is skipped.
Either the provided docs (if previous step is skipped) or the reduced docs are run through the combining prompt.

Said another way, if your provided docs can be stuffed into a single prompt they are not run through the reducing prompt. This is fine if your reducing prompt is the same as your combining prompt (as it is by default) but otherwise it doesn't work as expected.
I believe this could be fixed by a tweak to this function:
https://github.com/hwchase17/langchainjs/blob/a4015dbab105082442273b772d9d59d1d57b241f/langchain/src/chains/combine_docs_chain.ts#L149-L185

Thanks for opening the issue, you're right, we can add a flag that forces at least one pass through the map prompt


[Doc] S3 limitation for conflicting object paths

In an object store, a/b and a/b/c can both exist as objects at the same time.  However because SeaweedFS's S3 service is a front-end to the filer service, it can't handle a/b being both a directory and a file:
$ echo FOO >foo
$ echo BAR >bar
$ aws --endpoint-url http://localhost:8333 s3 cp foo s3://pail/foo
upload: ./foo to s3://pail/foo
$ aws --endpoint-url http://localhost:8333 s3 cp bar s3://pail/foo/bar
upload failed: ./bar to s3://pail/foo/bar An error occurred (InternalError) when calling the PutObject operation (reached max retries: 4): We encountered an internal error, please try again.

Logs generated:
E0324 07:22:06 20280 filer.go:233] CreateEntry /buckets/pail/foo/bar: /buckets/pail/foo should be a directory
I0324 07:22:06 20280 filer_server_handlers_write_autochunk.go:227] failing to write /buckets/pail/foo/bar to filer server : /buckets/pail/foo is a file
I0324 07:22:06 20280 common.go:53] response method:PUT URL:/buckets/pail/foo/bar with httpStatus:500 and JSON:{"error":"/buckets/pail/foo is a file"}
E0324 07:22:06 20280 s3api_object_handlers.go:380] upload to filer error: /buckets/pail/foo is a file

This is the same limitation as documented for ChubaoFS, but I couldn't find it in the SeaweedFS documentation.  A suitable place would be here where other API differences are discussed.
I would also suggest that 500 is not the most appropriate error status: it's not a server bug, and it's not an intermittent server problem which can be fixed if the client retries later.  Chubao gives a 409 (Conflict) response.

Thanks for the details. Added a fix and adjusted the wiki.
You are also welcome to change the wiki directly. It is open to everyone.


Npc double hit

Npc randomly strike 2 times in a row.
@hittry is fired 2 times in a row without speed change (ARGN1) between the 2 hits.
This is a zombie hitting me with serv.rticks, actdiff, argn1 in @hittry. the delay between the hits sometimes changes randomly and serv.rticks is the same or changes by 1. Like the last two hits.

And the problem get worse as dex increases. A dragon with 100 dex kills a player in 5 sec if it always hits.
Tested on clean sphere, last version.
Issue confirmed by others on discord. Seems to happen on all combat settings.

If you set ARGN1 manually in the @HitTry trigger does this still happen?

Yes it happens also by manualyl setting argn1

Possible fix sent.

It works!!!! awesome!!


(BKR-70)changed up the close method so that it is more robust

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/722/
:red_circle: Test failed.

Test failure unrelated to patch.

This pull request blocks the puppet-server acceptance test PR 464 because we'll need to update the pin on beaker once this pull request is merged into master.
This will enable the puppet-server test to behave as desired.

Refer to this link for build results (access rights to CI server needed):
http://jenkins-beaker.delivery.puppetlabs.net//job/qe_beaker_btc-intn/735/
:red_circle: Test failed.

Broke spec:
Failures:

  1) Beaker::SshConnection close sets the @ssh variable to nil
     Failure/Error: expect( connection.instance_variable_get(:@ssh) ).to be_nil
       expected: nil
            got: #<Object:0x0000000419bd20>
     # ./spec/beaker/ssh_connection_spec.rb:47:in `block (2 levels) in <module:Beaker>'

  2) Beaker::SshConnection close calls ssh shutdown if ssh close fails
     Failure/Error: allow( mock_ssh ).to receive( :close ) { raise Error }
     NameError:
       uninitialized constant Beaker::Error
     # ./spec/beaker/ssh_connection_spec.rb:52:in `block (3 levels) in <module:Beaker>'
     # ./lib/beaker/ssh_connection.rb:64:in `close'

I'm not convinced this PR moves things in the right direction.  It is possible that we should instead be investigating the registration of a "on_close" call back, so that when the far end closes a channel, we gracefully close on our side before encountering the IOError: Stream End, and that if we are closing the last channel in the Session, we close the session.


fix README for better understanding

Changed some words for better context understanding

Really better, thanks a lot @viniciuszago!


MM-T387 Add e2e test for test case MM-T387

Summary
Created a test where you set an allowed email domain in the Team settings, generate an invite link, and try to access the link through the given team with an email from a different domain
Test case: https://automation-test-cases.vercel.app/test/MM-T387

Thanks @josephbaylon and @saturninoabril ! I implemented the changes that you requested :)


Cline breaks 'path aliases' functionality in typescript ( the @ import)

Which API Provider are you using?
Anthropic
Which Model are you using?
Claude 3.5 Sonnet
What happened?
If path files are used in the code to import components, its breaks or changing the imports. ONLY when cline reads by himself. if @ is used to import the file, there is not issue.

Steps to reproduce

configure path files:
{
"compilerOptions": {
"paths": {
"@/": ["./src/"]
}
}
}
import component with path file:
import { Button } from "@/components/Button";

function App() {
return (
Click Me
)
}
3. ask cline to edit a file but NOT using the @ reference
Relevant API REQUEST output
No response
Additional context
No response

I experience the same in an Astro project with TypeScript. My imports with the @ alias get replaced with a relative path. This is very annoying.

I mostly fixed this by adding my aliases to cline instructions and telling it to never replace aliases by relative paths

This seems more like an issue with Claude than with Cline. @saoudrizwan Is it worth having a different label for these bugs relating to underlying model instead with Cline?

This seems more like an issue with Claude than with Cline. @saoudrizwan Is it worth having a different label for these bugs relating to underlying model instead with Cline?

If you look closely at the images, you'll see two entirely different behaviors depending on how the client reads the files. This issue is reproducible every single time. When making references with the @ symbol, everything works fine. However, if the client requests the files through the reading tool, problems arise. I don’t believe this is a Claude bug

As a workaround, I use @ to import references each time, but this introduces other issues, especially with directories that have parentheses in their names, like (auth) and (tabs). Files within these directories don’t appear, so I’m forced to import everything, consuming additional tokens.

Does not happen on the pre-Cline releases.

Does not happen on the pre-Cline releases.

Indeed. Didn't had this issue with Claude Dev

This is a very interesting bug, there is effectively no difference between cline reading the file vs you using the @ mention. If someone can help me repro this in a minimal reproducible environment, ie instructions I can give cline to create a project that I can recreate this bug in, that would be very helpful.

Create a ts/tsx file with an import containing @, and ask it to do anything ex:
import { SOMETHING } from "@/some/path";

if (SOMETHING > 0) {
  console.log("greater");
} else {
  console.log("less");
}

Cline always complains when it encounters imports with "@" or continually tries to fix it. I've noticed it doing this a few times, this time I asked it to output the problem it was trying to fix - the cline output is below (using Claude).
In Cline's output anytime there is an "@" it is replaced by two single quotes (not double quotes, two single quotes).
I have a file with the following import statements:
import { headers } from 'next/headers'
import { POST as webhookHandler } from '@/app/api/payments/webhook/route'

Cline: I see there's an issue with the paths configuration in tsconfig.json. Let me fix that and then update the mock file to use relative imports instead of path aliases since there seems to be a configuration issue.
 There may be a glitch in how you see the imports since you are not changing them. Please output exactly how you see the imports and then tell me what the issue you see is
Cline: Let me show you how I see the imports in the relevant files:
In payments.test.ts:
import { headers } from 'next/headers'
import { POST as webhookHandler } from ''app/api/payments/webhook/route''
import { GET as billingPortalHandler } from ''app/api/payments/billing_portal/route''
I see double quotes around the import paths, which appears incorrect. This looks like it could be causing the import resolution issues. Let me know if you see the imports differently, as there might be a display issue on my end.

I gave up and had the aliases configured without @. It seems that @ is like a reserved keyword for Cline.

It has been frustrating. What did you use instead?

It seems to default to "app/..." so i updated tsconfig.json to use "app" as alias for "./app"

The behavior is see is that if I specify the rule that imports must start with "@/app" cline reads it as "'app" as if @/ is a reserved term and internally converts it and writes the import as "'app/...."'  (see below for file content)

This is a very frustrating bug. It breaks code from others. So for team work is horrible.
I don't think it is provider related. At least it happens for me using openrouter too (with o1 and sonnet).

This is because of the context replacement. I suspect the @context replacement should probably not run inside code blocks but rather just inside user messages? This is VERY frustrating and a huge problem since @/ import is the default import of current NextJS apps and NextJS is one of the most popular React frameworks. In my experience this got a lot worse with the new diff editing and you can't fix it with changing it to ~/ import, since Cline still thinks you use the default @/ import since that's what basically all NextJS apps use. And you can't fix it with the .clinerules, since Cline can't correctly read the .clinerules as shown in the image.
This is a huge problem, could you please look into this @saoudrizwan ?

This is a really frustrating issue and generates a loop as the recommended import paths by Cline are always broken. When I asked Cline to explain why is it trying to change the imports, this was the answer.
Original code
import { CATEGORY_COLORS, formatCategoryName } from '@/constants/categories' import { generateRecurringIncome } from '@/utils/incomeUtils' import type { Income, IncomeCategory } from '@/types/income'
Cline answer:
The imports have incorrect quotes and are missing the '@' prefix for absolute imports. Let me fix this using write_to_file since replace_in_file is having issues with exact matching.

The problematic imports are:

from ''constants/categories'' should be from '@constants/categories'
from ''utils/incomeUtils'' should be from '@utils/incomeUtils'
from ''types/income'' should be from '@/types/income'

I tried adding instructions to skip checking the import paths but it seems they have no effect on how Cline processed the code.

same problem here. would be awsome @saoudrizwan to fix this bug :)
btw: thanks for cline!! really love it

Stopped using Cline just because of this issue. Then I noticed a new version and the way it handles longer code now is amazing, but ofc it never is able to successfully edit a file because it see the @ import as errors? Or doesn't even see the @ at all?


Left merging two dataframes lead to an empty Dataframe as a result

I have the following code (MCVE):
raw_data = pd.DataFrame({'username':list('ab')*10, 'user_agent': list('cdef')*5, 'method':['POST'] * 20, 'dst_port':[80]*20, 'dst':['<IP_ADDRESS>']*20})
past = pd.DataFrame({'user_agent':list('cde'), 'percent':[0.3, 0.3, 0.4]})
past = past.set_index('user_agent')
import dask.dataframe as dd
dask_raw = dd.from_pandas(raw_data, npartitions=4)
dask_past = dd.from_pandas(past, npartitions=4)
merged_raw = dask_raw.merge(dask_past, how='left', left_on='user_agent', right_index=True)

So merged_raw is a dask dataframe that should contain NaN values in percent column. In deed calling compute on merged_raw
Out[20]:
    dst  dst_port method user_agent username  percent
12  <IP_ADDRESS>        80   POST          c        a      0.3
16  <IP_ADDRESS>        80   POST          c        a      0.3
8   <IP_ADDRESS>        80   POST          c        a      0.3
0   <IP_ADDRESS>        80   POST          c        a      0.3
4   <IP_ADDRESS>        80   POST          c        a      0.3
10  <IP_ADDRESS>        80   POST          e        a      0.4
11  <IP_ADDRESS>        80   POST          f        b      NaN
13  <IP_ADDRESS>        80   POST          d        b      0.3
14  <IP_ADDRESS>        80   POST          e        a      0.4
15  <IP_ADDRESS>        80   POST          f        b      NaN
17  <IP_ADDRESS>        80   POST          d        b      0.3
18  <IP_ADDRESS>        80   POST          e        a      0.4
19  <IP_ADDRESS>        80   POST          f        b      NaN
5   <IP_ADDRESS>        80   POST          d        b      0.3
6   <IP_ADDRESS>        80   POST          e        a      0.4
7   <IP_ADDRESS>        80   POST          f        b      NaN
9   <IP_ADDRESS>        80   POST          d        b      0.3
1   <IP_ADDRESS>        80   POST          d        b      0.3
2   <IP_ADDRESS>        80   POST          e        a      0.4
3   <IP_ADDRESS>        80   POST          f        b      NaN

Moving with the following computations, I get an empty DataFrame:
grouped_by_df = merged_raw.groupby(['username', 'dst', 'dst_port'])
feature_one = grouped_by_df.apply(lambda x: 'POST' in x.values).to_frame(name='feature_one')
feature_two = grouped_by_df.percent.min()
feature_two = feature_two.fillna(0)
feature_two = feature_two.to_frame(name='feature_two')
features_three = grouped_by_df.method.apply(lambda x: 'CONNECT' in x.values).to_frame(name='feature_three')
features = feature_one.merge(feature_two, left_index=True, right_index=True, how='left')
features.compute()
                       feature_one  feature_two
username dst     dst_port
a        <IP_ADDRESS> 80               True          0.3
b        <IP_ADDRESS> 80               True          0.3

features_full = features.merge(features_three, how='left', right_index=True, left_index=True)
features_full.compute()

where result is
Out[53]:
Empty DataFrame
Columns: [feature_one, feature_two, feature_three]
Index: []

Computing features_three gives me the follwoing dataframe
feature_three.compute()
Out[28]:
                           feature_three
username dst     dst_port
a        <IP_ADDRESS> 80                False
b        <IP_ADDRESS> 80                False

Which have the same index as features dataframe above.
Using plain dataframes the result is correct that is feature_three column added to features:
features_df = features.compute()
features_three_df = features_three.compute()
features_all_df = features_df.merge(features_three_df, how='left', right_index=True, left_index=True)
features_all_df
Out[32]:
                           feature_one  feature_two  feature_three
username dst     dst_port
a        <IP_ADDRESS> 80               True          0.3          False
b        <IP_ADDRESS> 80               True          0.3          False

Shouldn't functionality of dask merge resemble the one on plain dataframes?

Sorry this didn't get much attention when initially opened 😕 running through your reproducer now with the latest Dask version as of now (2023.1.1), it looks like your reproducer now returns the expected result:
In [4]: features_full = features.merge(features_three, how='left', right_index=True, left_index=True)
   ...: features_full.compute()
Out[4]:
                           feature_one  feature_two  feature_three
username dst     dst_port
a        <IP_ADDRESS> 80               True          0.3          False
b        <IP_ADDRESS> 80               True          0.3          False

So I think we should be able to close this now, feel free to re-open if you run into a similar issue with a different reproducer


Feature: Update OneDrive status icons

What feature or improvement do you think would benefit Files?
At present only the cloud storage folders display status icons.  With the addition of GIT support, icons should be added for these also.
This would replace the coloured letter that is currently used to maintain consistency, and avoid it looking like bad text rendering.
The icon should appear alone unless the status column is wide enough to display the text label also.
When icon only, the text should be in a tooltip

Icons are in the figma file, @yaira2 can provide them
Requirements

This proposal will bring consistency to file status across all parts of Files

Files Version
2.5
Windows Version
Windows 11 release
Comments
No response

Thank you for your help on this, I added the icons to the app but the OneDrive status icons still need to be connected.


Can't gulp properly!

I following installation command line clearly
but after gulp command I got long error screen.
Can you tell me whats wrong here...?

https://gist.github.com/lovebdsobuj/0db5b3ea6ba354c6aec4

Same for me

Same for me

Same for me

Same for me

Same for me

Should be fixed in the v5.


⚠ ClamAV has degraded performance

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

HTTP code: 200
Response time: 463 ms

Resolved: ClamAV performance has improved in 5c7a7bb.


Add talk aliases of #talk-12345 (event_id) for consistency.

alt them as well for discoverability

I think we did this for 2021, but not sure if it was done by a script or by the bot automatically.

This appears to have been done as part of<PHONE_NUMBER>0930d54a4c2f0952defbfccdcbb9e0


[ffmpeg] Correctly set environment variables for gcc/clang/icc

Should enable features to actually work on non-msvc compilers for non-windows targets.
Also remove bzip2 patch from #6570 , the bzip2 feature will be fixed by a PR for the bzip port.
Seems like a lot of the features are broken because of the d suffixes on other ports, will be working on getting them all up and running.

yeah the d suffixes.... sometimes they break stuff if they are there, sometimes they are necessary for find_package to work correctly. Really annoying. PR 5543 will only ever have zero regression from a CMake perspective if all find_package calls which define a _DEBUG variable are correctly found with the correct debug suffix. The reason I made that a FATAL_ERROR and submited PRs to correct the suffixes is because it is the only clean way for external projects to have correct library linkage in a multi config generator like VS without adding unnecessary extra code to VCPKG.

and bzip requires the extra d:
From CMakes FindBZip2 module
    find_library(BZIP2_LIBRARY_RELEASE NAMES bz2 bzip2 ${_BZIP2_PATHS} PATH_SUFFIXES lib)
    find_library(BZIP2_LIBRARY_DEBUG NAMES bz2d bzip2d ${_BZIP2_PATHS} PATH_SUFFIXES lib)

We're going to use bzip as a test case to see if we can still support multi-config generators while also not having the d suffix.

That is possible if you override find_library and remove comming debug suffixes from the given names. It is basically already implemented in 5543 but not for variables with _DEBUG suffix.

Also there was a recent issue to add a d to a library/dll name because the user had both debug and release dlls in the same folder. Without although it is probably a really bad idea to install both into the same folder, users seem to have these setups. (See issue #4878)

/azp run

/azp run

/azp run

/azp run

/azp run

@cbezault, this breaks build for VC.
I'm getting an error while trying to build with vcpkg install ffmpeg[x264]:
-- Building ffmpeg for Release
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:56 (message):
    Command failed: D:/Temp/3/vcpkg/downloads/tools/msys2/msys64/usr/bin/bash.exe;--noprofile;--norc;D:/Temp/3/vcpkg/ports/ffmpeg\build.sh;D:/Temp/3/vcpkg/build
trees/ffmpeg/x64-windows-rel;D:/Temp/3/vcpkg/buildtrees/ffmpeg/src/ffmpeg-4-ba4787156f;D:/Temp/3/vcpkg/packages/ffmpeg_x64-windows;--enable-asm --enable-yasm --
disable-doc --enable-debug --enable-runtime-cpudetect --enable-gpl --disable-openssl --disable-ffmpeg --disable-ffplay --disable-ffprobe --enable-libx264 --disa
ble-opencl --disable-lzma --disable-bzlib --extra-cflags=-DHAVE_UNISTD_H=0 --disable-static --enable-shared  --extra-cflags=-MD --extra-cxxflags=-MD
    Working Directory: D:/Temp/3/vcpkg/buildtrees/ffmpeg/x64-windows-rel
    Error code: 1
    See logs for more information:
      D:\Temp\3\vcpkg\buildtrees\ffmpeg\build-x64-windows-rel-out.log

Call Stack (most recent call first):
  ports/ffmpeg/portfile.cmake:172 (vcpkg_execute_required_process)
  scripts/ports.cmake:71 (include)

Error: Building package ffmpeg:x64-windows failed with: BUILD_FAILED

Contents of build-x64-windows-rel-out.log:
=== CONFIGURING ===
ERROR: libx264 not found

If you think configure made a mistake, make sure you are using the latest
version from Git.  If the latest version fails, report the problem to the
<EMAIL_ADDRESS>mailing list or IRC #ffmpeg on irc.freenode.net.
Include the log file "ffbuild/config.log" produced by configure as this will help
solve the problem.

Here's what is at the end of config.log:
check_pkg_config libx264 x264 stdint.h x264.h x264_encoder_encode
test_pkg_config libx264 x264 stdint.h x264.h x264_encoder_encode
false --exists --print-errors x264
require libx264 stdint.h x264.h x264_encoder_encode -lx264
check_lib libx264 stdint.h x264.h x264_encoder_encode -lx264
check_func_headers stdint.h x264.h x264_encoder_encode -lx264
test_ld cc -lx264
test_cc
BEGIN ./ffconf.naAgpls4/test.c
    1	#include <stdint.h>
    2	#include <x264.h>
    3	#include <stdint.h>
    4	long check_x264_encoder_encode(void) { return (long) x264_encoder_encode; }
    5	int main(void) { int ret = 0;
    6	 ret |= ((intptr_t)check_x264_encoder_encode) & 0xFFFF;
    7	return ret; }
END ./ffconf.naAgpls4/test.c
cl -D_ISOC99_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D_CRT_NONSTDC_NO_WARNINGS -D_WIN32_WINNT=0x0600 -DPIC -nologo -DHAVE_UNISTD_H=0 -MD -c -Fo./ffconf.naAgpls4/test.o ./ffconf.naAgpls4/test.c
test.c
./ffconf.naAgpls4/test.c(2): fatal error C1083: Cannot open include file: 'x264.h': No such file or directory
ERROR: libx264 not found

PS: the issue resolves after reverting to the parent commit (f2e1c52db8fe100ef91313760d6a59a13ac6e05e).

Hmmmmm, it built fine on the CI, what version of VS are you running?

VS 2019.

An excerpt from the CI build log you are referring to:
-- Using source at C:/vsts/_work/1/s/buildtrees/ffmpeg/src/ffmpeg-4-ba4787156f
-- Acquiring MSYS Packages...
-- Acquiring MSYS Packages... OK
-- Building Options: --enable-asm --enable-yasm --disable-doc --enable-debug --enable-runtime-cpudetect --disable-openssl --disable-ffmpeg --disable-ffplay --disable-ffprobe --disable-libx264 --disable-opencl --disable-lzma --disable-bzlib --extra-cflags=-DHAVE_UNISTD_H=0 --disable-static --enable-shared
-- Building ffmpeg for Release
-- Building ffmpeg for Debug

I guess it builds default features only, since x264 is disabled.

Yup, I was about to say. We really need some way to test features.

I'm away from a computer right now but I'd like to try changing line 34 of the portfile.cmake to just "if(MSVC)" and try again when I'm back at a computer. If you'd like to do it now I'd appreciate it.

Nope, doesn't help.

Sigh, okay I'll add this to the list of things to investigate.


Feat: import bep20 exchange

📝 Description
Update crypto assets to support exchange bep20
❓ Context

Impacted projects: ``
Linked resource(s): ``
Cannot swap to JUV on Changelly https://ledgerhq.atlassian.net/browse/LIVE-3836
Cannot swap to MBOX on Changelly https://ledgerhq.atlassian.net/browse/LIVE-3838

✅ Checklist

[ ] Test coverage
[ ] Atomic delivery
[x] No breaking changes

📸 Demo

🚀 Expectations to reach
Please make sure you follow these Important Steps.
Pull Requests must pass the CI and be internally validated in order to be merged.

[Test] Libraries / Test Docs (pull_request) Failing after 1m
apparently fails

LGTM


Ditch accelerators for diagram keybindings

Context

I found out that within the dev tools we can only trigger shortcuts registered in the menu. We could handle the single letter (or all) shortcuts only via the keyboard event listeners instead. For that, we should pass registerAccelerator=false when we create menu items. Cf. https://www.electronjs.org/docs/api/menu-item --- @barmac

Originally posted by @barmac in https://github.com/camunda/camunda-modeler/issues/2389#issuecomment-900510952
What shall we do?
Get rid of global keyboard bindings for diagram registered actions.
Still display the menu items but with registerAccelerator=false to trigger them them via the browser window / diagram-js keyboard bindings directly.
Why shall we do it?
End up with a simpler setup and more predictable diagram / keyboard activation + focus handling.

To consider: Further simplify the menu by ditching dynamic enabled/disabled states.


Fix SlashCommands in DMs

Description:
These changes are reliant on changes to Mahoji to fix Slash Commands breaking in direct messages.
Changes:

Guild references are now optional
Added APIUser to command args
Changed references to member to user or userID

Other checks:

[x] I have tested all my changes thoroughly.

I know a lot of people like to play by DM'ing the bot directly, so I'm rooting for you on this one :)
Also nice to see new people taking a stab at coding for the bot.
Even if this never ultimately gets merged, thank you for contributing :)

@themrrobert The other half of this PR was already merged so it will be added before too long. It was a relatively simple fix.


bootstrap is not loaded

Why?
https://gyazo.com/4db7ecec9d95aa791449991ca95ee038

fixed, and bumped to bootstrap4
https://gyazo.com/6d10cb4a25fa5f2737e6a9985d3b0534


Fix bug with "delete_if"

Fix this bug #6144
@miq-bot add_label bug, rails 4

@gtanzillo @matthewd @Fryguy please review

This fixes the error, but not the problem: the delete_if will mutate the array, but it will then be discarded.
I think we need to results = results.to_a on the line before the delete_if instead... or, maybe better, switch to:
results = results.select { |obj| ret.include?(obj) }

Less mutation, and less double-negatives as a bonus.

@matthewd and what about using reject instead of delete_if? May be, it will be better.

@arnikasky I went with select to avoid the negation inside the block, but that would work too :+1:

Finally, please please review @gtanzillo @matthewd @Fryguy

Sorry, I suddenly decided, that when i use reject, i shouldn't capture it. Please review finally :blush:
@chessbyte

:+1: Looks good. Thanks!


enhancement request: Category Compliance - issue

Is there an existing issue for this?

[X] I have searched the existing issues

Enhancement description
Category Compliance - all chips removed still shows the compliance % ( the page does not refresh)
Jira - CUS-64
🧑💻 Implementation
No response
Anything else?
No response

@astra1 Can you please look into this?

@rammvenk will do


TabNine has problems in atom

Using TabNine autocomplete in sublime is possible.

No completions in atom

Sublime text

Atom


Axios response data with HTML junk and status 200

### Axios return entire HTML source code as response.data with response.status 200
I tried to insert the invalid URL into axios.get() to see what is the response.status and response,data will be generated.

I released the response.data return me with an entire HTML source code with 200 response.status
Consider as the similar topic, HTML response is not considered an error?
I don't see any solution provided with this thread.
May I know how to verify the response as incorrect whenever it return entire HTML source code?
### Context

Axios version: 0.16.1
Laravel version: 5,4

axios.interceptors.response.use(response => {
  return response.headers['content-type'] === 'application/json' ? response : Promise.reject(response);
}, error => Promise.reject(error));

@anthonybrown Where should we put this code? Right before the axios.get() or?

I have the same problem as you. Even I stoped my back-server(use Node.js),the response.status still is 200.
I used 2rd's method,but no use.

This has nothing to do with Axios but with the responses your server is returning.

@rubennorte I have similar issue but it's only when I build code with production webpack config and run it. When run  with webpack-dev-server it works flawlessly. Here is the webpack.prod.conf.js: link

When I build production build
axios doesn't call the APi at all
it just return the app's (front end) index.html data ( ....
On dev the axios works fine, API print the url requested

I hava similar issue.
It is well return on dev
but get a index.html on testing or production
anyone help???

Yes its the react project proxy problem (it proxy to itself)
Στις Δευ, 27 Αυγ 2018 στις 1:54 μ.μ., ο/η 六六<EMAIL_ADDRESS>έγραψε:

I hava similar issue.
It is well return on dev
but get a index.html on testing or production
anyone help???
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/axios/axios/issues/889#issuecomment-416189413, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQeV1qi6XUJmVLKA977oxJyMFgjEnjntks5uU8_cgaJpZM4NRjaP
.

--
Γιάννης Παπαδόπουλος

@immunity20
Thx so much. what a fast reply.
I got it and will try again.
Thx again.

sorry again
I set the devServer.proxy just effect on "quasar dev", so it may not be effect on production.
Now, how can I set the APIProxy for my production?
I had try another way that set different API in build, but I got a CORS error.
Thx

Proxy Is productivity feature so it's not for production only for
development
https://github.com/facebook/create-react-app/issues/1087
Στις Τρί, 28 Αυγ 2018, 5:57 π.μ. ο χρήστης 六六<EMAIL_ADDRESS>έγραψε:

sorry again
I set the devServer.proxy just effect on "quasar dev", so it may not be
effect on production.
Now, how can I set the APIProxy for my production?
I had try another way that set different API in build, but I got a CORS
error.
Thx
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/axios/axios/issues/889#issuecomment-416434576, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AQeV1spRZC55KvDq_kx1FzGWqZqEvetOks5uVLGmgaJpZM4NRjaP
.

@immunity20

@immunity20
Thx so much.
You save my time.

Just in case anyone comes here, this post helped me:
https://stackoverflow.com/questions/43035615/accessing-internal-api-with-react-axios-on-heroku/43036770#43036770
When in production, I had to change app.get({*... to app.get({/...
if(process.env.NODE_ENV === 'production') {
  app.use(express.static(path.join(__dirname, '/client/build')));

  app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '/client/build/index.html'));
  });
}```

I have the same issue, @rubennorte nothing is wrong from my API, curl work perfectly.
@ptascio where did you put that code ?

Just in case anyone comes here, this post helped me:
https://stackoverflow.com/questions/43035615/accessing-internal-api-with-react-axios-on-heroku/43036770#43036770
When in production, I had to change app.get({*... to app.get({/...
if(process.env.NODE_ENV === 'production') {
  app.use(express.static(path.join(__dirname, '/client/build')));

  app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '/client/build/index.html'));
  });
}```

Where can i locate this in a laravel application?

### Axios return entire HTML source code as response.data with response.status 200
I tried to insert the invalid URL into axios.get() and check what is the response.status and response.data will be generated.

I released the response.data return me with an entire HTML source code with 200 response.status
Consider as the similar topic, HTML response is not considered an error?
I don't see any solution provided with this thread.
May I know how to verify the response as incorrect whenever it return entire HTML source code?
### Context

Axios version: 0.16.1
Laravel version: 5,4

Am having this issue
Laravel 5.7
Axios 0.18.1

Same issue me either.


Harvey balls are created on the first slide

The harvey balls function inserts the shapes on the first slide of the presentation instead of the active slide.
The bug is caused by the two lines of code below:
Set HarveyCircle = ActivePresentation.Slides(1).Shapes.AddShape(msoShapeOval, 100, 100, 50, 50)
Set HarveyFill = ActivePresentation.Slides(1).Shapes.AddShape(msoShapePie, 101, 101, 48, 48)

Would be amazing if you could take a look at this. Thanks for making this nice add-in!

Thanks! Should be fixed now. Need to brush up my VBA skills again a little bit. If any other suggestions for features please let me know.

Amazing! Works like a charm. Many thanks for your great work!!
In case you have time, I just noticed that when using the "E-mail selected slides" function, the chosen file name does not sort the slide numbers. Would be great to present this in a sorted way.
What would be even better in my opinion is to have a InputBox prompt the file name you would like to choose. The default attribute of this box could be the filename which is currently generated. This would give some flexibility to the user (since it's not so straightforward to change the name of file attachments in Outlook).
I'm not sure about the code for the sorting, but I think you could do the inputbox by adding a line like this:
PresentationFilename = InputBox("Attachment file name:", "Send as e-mail", PresentationFilename)

Good suggestion. I've updated it with your code suggestion so it will ask for the filename. The sort of slide numbers will take a bit longer. Now it's based on the order you've selected the slides. Will look into it.

Thanks! With this addition, I don't think the order of the slides is a big deal. Probably not worth spending time on.


docs(router): fix missing docregion

How did you reach the router page? I mean, that page is hidden, so I guess we have some document pointing at it which is wrong.
Your PR is good, but that document is half done so missing regions are expected. We probably need to rewrite the chapter, so spending time on it, is wasting time.
Thanks.

I reach it by googling "Angular 2 router" and it's the first item.
Good to know that it's still hidden.

Thanks.  I'm going to close w/o merging because that chapter is not even close to ready and shouldn't have been visible at all. Sorry to have troubled you.


Split up insert form component

Can be split up for reusability. Duplicated code in edit form and insert form.

@irvinlim Yea ok, since insert and edit form is using the same component.


Nested table using pptxgen

Hi I know that this question has been asked before, but it has been 2 years since then and I'm wondering if the limitation by PowerPoint has been resolved? Is nested table possible or is it still not a fixable/implementable function?

Hi @stephanielsx
PowerPoint still doesn't support nested tables.


pull request for e2e test at 12/07/2016 21:45:01

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

optest/docs/updated_at.md
: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.


launch-api does not support file upload

I've tested the launch-ui, everything works fine.
But when I go to use the api, and tried with postman, I encountered this problem:
{
    "detail": [
        {
            "loc": [
                "body"
            ],
            "msg": "value is not a valid dict",
            "type": "type_error.dict"
        }
    ]
}

I think the definition is not compatible with FastAPI? Should I change that into some Form format?
class Input(BaseModel):
    file: FileContent = Field(..., mime_type="application/x-sqlite3")
    calc_type: str = 'PF'

Append:
When change the api into http://<IP_ADDRESS>:8080/call/ the response goes into:
WARNING:  Invalid HTTP request received.
Traceback (most recent call last):
  File "/Users/dragonszy/miniconda3/lib/python3.9/site-packages/uvicorn/protocols/http/httptools_impl.py", line 132, in data_received
    self.parser.feed_data(data)
  File "httptools/parser/parser.pyx", line 212, in httptools.parser.parser.HttpParser.feed_data
httptools.parser.errors.HttpParserInvalidMethodError: Invalid method encountered
INFO:     <IP_ADDRESS>:54894 - "POST /call HTTP/1.1" 422 Unprocessable Entity
INFO:     <IP_ADDRESS>:54993 - "POST /call HTTP/1.1" 422 Unprocessable Entity

BTW, I've rewrite it into Flask if anyone has the same problem

BTW, I've rewrite it into Flask

from fastapi import FastAPI, File, UploadFile
import uvicorn
from tempfile import NamedTemporaryFile, TemporaryDirectory
@app.post("/uploadfile/")
async def create_upload_file(file: UploadFile = File(...), calc_type: str = 'PF'):
result = {
"filename": file.filename,
"content-type": file.content_type,
}
res = await file.read()
with NamedTemporaryFile(suffix=".db", mode="w+b") as db_file:
    db_file.write(res)
    net = pp.from_sqlite(db_file.name)

if (calc_type == 'PF'):
    net = calcPF(net)
if (calc_type == 'SC'):
    net = calcSC(net)
result = export_result(net)
return result

if name == 'main':
uvicorn.run("ppapi:app", host="<IP_ADDRESS>", port=8090, log_level="info")


Restructure exception hierarchy

You should design your own general-purpose Kotlin APIs in the same way: use exceptions for logic errors, type-safe results for everything else. Don’t use exceptions as a work-around to sneak a result value out of a function.^1

IllegalStateException
[ ] IOException [common]

[ ] GattException [common]

[ ] GattRequestRejectedException [android]
[ ] GattStatusException(status: GattStatus) [android]
[ ] GattWriteException(result: WriteResult) [android]

[ ] NotConnectedException [common]
[ ] UnmetRequirementException(reason: UnmetRequirementReason) [common]

BluetoothDisabled [common]
LocationManagerUnavailable [android]
..

[ ] InternalError [common]

Exception
Purpose

IllegalStateException
(and sub-classes of) shall be thrown when an application state is statically not as expected (failure state won't exhibit a race condition). For example: "bluetooth not supported" (this state will not change), "missing required bluetooth permissions" (Android and iOS both kill app when de-escalating permissions — a developer can check permissions). When these exceptions are thrown, they are intended to crash the consuming app so that consumers are alerted of the logic error(s) and can address them accordingly.

IOException
"[..] not logic errors in code. They typically represent external conditions that the code has no control over but must deal with."^2 IOExceptions are expected to be caught and handled accordingly (e.g. retried or inform user of steps to resolve the issue, such as enabling bluetooth).

Inspiration
kotlinx.serialization

IllegalArgumentException

public open SerializationException

internal CborDecodingException
internal open JsonException

internal JsonDecodingException
internal JsonEncodingException

internal ProtobufDecodingException
internal UnknownFieldException
public MissingFieldException

kotlinx.coroutines

IllegalStateException

public open CancellationException

internal AbortFlowException
internal ChildCancelledException
internal JobCancellationException
public TimeoutCancellationException

public ClosedSendChannelException

NoSuchElementException

public ClosedReceiveChannelException

RuntimeException

public CompletionHandlerException

The heart of this has been completed in the 0.35.x releases.


Network from VirtualMachine

Is it possible to get the Network (VNET) and subnet for a virtual machine?
For example, the following groovy code...
azure.virtualMachines().list().each { VirtualMachine vm ->
  // Cannot see a way to get the Network or Subnet information for the vm
}

I can see that I can get specific network information, like IP address etc, but cannot seem to link back to the actual network.
Also, is it possible, or would it be possible to query for all virtual machines for a network?
e.g.
...
azure.networks().list().each { Network network ->
    def vms = network.listVirtualMachines()
}

The VNET of a VM can be retrieved using:
        VirtualMachine vm = azure.virtualMachines().getByGroup(RG_NAME, VMNAME);
        Network network = vm.getPrimaryNetworkInterface()
                .primaryIpConfiguration()
                .getNetwork();

Ah! Thankyou - I don't know how I missed that.
Also, before I raise another spurious issue, I can't see a way on the 'VirtualMachine' interface to delete/terminate a VM, although I see it is possible via the REST api docs. Is there a way to terminate a single virtual machine? I guess it's just not where I expect it should be.

delete is available only in virtual machine collection not in virtual machine.
azure.virtualMachines()
    .deleteById(vm.id());

Awesome, thank you!


Feature Request - Google Protocol Buffers support....

Hi,
Having JSON support out of the box is fantastic. However when it comes to sending data around JSON is not that great in terms of space, format changes etc. https://developers.google.com/protocol-buffers/ deals with all of that elegantly.
Adding this support would make this already AWESOME project even better.

Hello @natiki! Thanks for the request, we now have it in our radar! Pull requests, as always, welcome!
Actually... We -do- have it via a retyped package, have you tried it?

Well, as this is already implemented via retyped, there's not really much point in keeping the issue open, is there?


Docker has an error

ERROR: Service 'expresscart' failed to build : COPY failed: file not found in build context or excluded by .dockerignore: stat gulpfile.js: file does not exist

Solved.

Encountered the same error, seems gulpfile.js is not there, could you share how you solved the problem or simply removed. the COPY gulpfile.js ?


Added widget for WearOS device battery level

Note: The new string "widget_wearos_battery_level" will need translations.

Looks good for first check. But, I do not merge at the moment. Maybe next year, as there is no time left. This year.
Thank you!

That's fine, thanks for looking.. have a great xmas!