[Issue] Sync to (private) Azure Container Registry produces Request Header Or Cookie Too Large Error

Current Behavior
In my current project im using regsync in an k8s cluster to sync from an quay registry to a private Azure Container Registry.
I use a Config Map to configure regsync and a init container to create the .docker/config.json.
My Error:
{"error":"failed to list tags for myprivateacr.azurecr.io/services/company/service-name-xy:latest: request failed: unexpected http status code: Bad Request [http 400]: \u003chtml\u003e\r\n\u003chead\u003e\u003ctitle\u003e400 Request Header Or Cookie Too Large\u003c/title\u003e\u003c/head\u003e\r\n\u003cbody bgcolor=\"white\"\u003e\r\n\u003ccenter\u003e\u003ch1\u003e400 Bad Request\u003c/h1\u003e\u003c/center\u003e\r\n\u003ccenter\u003eRequest Header Or Cookie Too Large\u003c/center\u003e\r\n\u003chr\u003e\u003ccenter\u003eAzureContainerRegistry\u003c/center\u003e\r\n\u003c/body\u003e\r\n\u003c/html\u003e\r\n","level":"debug","msg":"Failed getting target tags","target":"myprivateacr.azurecr.io/services/company/service-name-xy:latest","time":"2024-07-31T10:10:32Z"}
Why does regsync produces this error?
I filtered for only images which don't have the latest tag and also just want linux/amd64 images.
This is my current config:

version: 1
defaults:
  interval: 1m
sync:
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"
  - source: private-quay.company.com/mynamespace/service-name-xy
    target: myprivateacr.azurecr.io/services/company/service-name-xy
    type: repository
    platform: linux/amd64
    tags:
      deny:
      - "^latest.*"

What I tried

removing the platform option
removing the tag option
setting parallel, fastCopy, cacheTime and cacheCount

Expected Behavior
All ~35 Repositories should sync to the target registry.
Version
Docker Container Version: 0.7.0
Environment

Kubernetes (Azure Linux Nodes)
Source Registry: self-hosted quay
Target Registry: ACR

The tag listing error indicates something wrong with the API access to the registry. I don't currently have an ACR login to debug their registry myself. There are various commands that can be tried to debug that API:
# make sure regctl from regclient also fails:
regctl tag ls -v debug myprivateacr.azurecr.io/services/company/service-name-xy

# check if other tools work, crane is from google/go-containerregistry and ORAS is a CNCF project managed by Microsoft
crane ls myprivateacr.azurecr.io/services/company/service-name-xy
oras repo tags myprivateacr.azurecr.io/services/company/service-name-xy

regclient doesn't add many headers to a request, the main one I'm thinking of is the auth header, and the content for that comes from the registry. If it is that auth header, then the first thing I'd try is switching to an auth header per repository with:
creds:
  - registry: "private-quay.company.com"
    repoAuth: true

The regctl command produced no errors.
The "repoAuth" option was a solution to my problem! I think it caused this problem, because there where so many simultaneously requests with the same token.
In my opinion the documentation is a bit unclear on if you are able to use the creds section when using regsync in server mode. I understood it like everything is sourced from .docker/config.json and the whole creds section is ignored.
Thank you for helping so quickly and for developing this tool! 😊


v1.8 backports 2020-10-02-2

#13324 -- hubble: Support --since requests in combination with follow-mode (@gandro)

@gandro There was a conflict in the tests due to the changes brought by #12712. I updated the test to use flowspb.Payload instead of observerTypes.MonitorEvent for the generateFlows chan. PTAL.
Once this PR is merged, you can update the PR labels via:
$ for pr in 13324; do contrib/backporting/set-labels.py $pr done 1.8; done

test-backport-1.8

retest-4.19

retest-4.19

CI was all green, merging.


Typo in Builder

@arredond commented on Wed Apr 05 2017
Context
There's a small typo in Builder when running an analysis
Steps to Reproduce
Please break down here below all the needed steps to reproduce the issue

Run an Intersect by second layer analysis
Without selecting an Intersect layer, click on COUNT (Operation) and change to any other operation, such as SUM.
The following text appears: "There is no column items"

Current Result
The text says "There is no column items"

Expected result
It should say "There are no column items"

@xavijam commented on Wed Apr 05 2017
Hey, please, if there is no customer information related, could we open those tickets in the CartoDB repository? @jsanz

@arredond commented on Wed Apr 05 2017
Sure, sorry about that!

Merged!


Doesnt work anymore

PhotoshopCC2021
I installed it and when i click it just wine opens and closes. Before 1 month it is working but now its not.

Distro : Pop_OS!
GPU : Nvidia GTX 1650TI
WINE version : 7.22

Do you have any information or logs ?

I fixed the problem, pop os had automatically downgraded wine to 6.0.3, it was fixed by manually updating the packages again.


fix: abort parquet writer

I hereby agree to the terms of the GreptimeDB CLA
What's changed and what's your intention?
This PR fixes two issues:

ParquetWriter::close returns the bytes during last flush attempt when closing underlying writer instead of the size of whole file: https://github.com/GreptimeTeam/greptimedb/pull/1785/files#diff-051f815e4fa71f86735dd28136c0d475fa75dceb4903a7ab47c93b60576ad970L56
stream_to_file and BufferedWriter::try_new eagerly create underlying files even if there's no row has been written. This PR tries to fix this issue by lazily creating files upon first flush.

Checklist

[X]  I have written the necessary rustdoc comments.
[X]  I have added the necessary unit tests and integration tests.

Refer to a related PR or issue link (optional)
Fixes #1786 and  #1787

@killme2008 @WenyXu PTAL


[Help wanted] add project link

We need to add a link to the PyPI page.
The link is https://pypi.org/project/flowlauncher.

Add this link to the python template project?

In general python package will add a link to PyPI or doc home page.
A link to the python plugin template project may is another decision.

done


Add Deon Digital to list

@bjornbugge Hi, Bjorn. Thank you for submitting update. Can you choose 1 location where actual Haskell development done? The reason for having structured csv file so I can do analytics over it like here https://haskellcosm.com/analysis.html. If there really 2 offices I'll try to create additional csv file for that.

Hi @sigrlami - Sure.  We have multiple locations, yes, but Haskell dev is only in one of them.

Thank you!


systemd: allow to run as dedicated user

I might be mistaken, but at least with the previous dnscrypt-proxy (pre 2.0.0) it was possible to run the service as a dedicated user using systemd, not requiring root.
However, if one wants to bind ports below 1024, it is needed to set some additional things.
Also, it would be beneficial to use DynamicUser (so it will not be required to set up a new system user).
Here is an example of such a service
[Unit]
Description=DNSCrypt client proxy
Documentation=man:dnscrypt-proxy(8)
After=network.target
Before=nss-lookup.target
Wants=nss-lookup.target

[Service]
NonBlocking=true
DynamicUser=yes
RuntimeDirectory=dnscrypt-proxy
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/dnscrypt-proxy

[Install]
WantedBy=multi-user.target

Also note: Type=simple is the default in the case of dnscrypt-proxy and can be omitted.
Additionally, it can be beneficial to have templated services (only start proxying to a specific server). I'm not sure, this is still useful with version > 2.0.0, but it was with version < 2.0.0.
Here is an example:
[Unit]
Description=DNSCrypt client proxy
Documentation=man:dnscrypt-proxy(8)
<EMAIL_ADDRESS>After=network.target
Before=nss-lookup.target
Wants=nss-lookup.target

[Service]
NonBlocking=true
DynamicUser=yes
RuntimeDirectory=dnscrypt-proxy
CapabilityBoundingSet=CAP_NET_BIND_SERVICE
AmbientCapabilities=CAP_NET_BIND_SERVICE
ExecStart=/usr/bin/dnscrypt-proxy -R %i -S -Z "%p@%i"

[Install]
WantedBy=multi-user.target

It's unclear to me atm, if the flags are still those from before version 2.0.0.
As the templated service also requires a templated socket (but the socket can not be set dynamically), it's not necessarily needed to provide a file.
However, if one wanted to use a certain server on a specific port, it can be achieved in the following way:

copying the following to<EMAIL_ADDRESS>
[Unit]
Description=dnscrypt-proxy listening socket

[Socket]
ListenStream=<IP_ADDRESS>:53 #example port
ListenDatagram=<IP_ADDRESS>:53 #example port
NoDelay=true
DeferAcceptSec=1

[Install]
WantedBy=sockets.target

systemctl start<EMAIL_ADDRESS>
This will automatically start<EMAIL_ADDRESS>the server according to the server name, once the port is accessed (e.g. by your local DNS server).

Hi,
That's all Greek to me, but if you want to write instructions for advanced Linux users and Linux package maintainers, the wiki can be edited by anyone. Maybe create a new page to document this?

@jedisct1 eh, sure.
Nonetheless, it would be nice to update the shipped systemd service/socket files accordingly. I can make a pull request for it, if you want to.

Please do! I don't know anything about systemd.
Just make sure not to break other distros and Android .

Alright.
AFAIK, systemd drops all unknown settings. So, in the case that the Linux is using an old version, prior to DynamicUser, it will drop this setting and start the system as root instead (which is how it is running currently anyways).


I dont know if this is an actual Issue but it doesnt seem to be right for me.

  This is fixing it.

Just replace this with the code at line 2647 in materialize.js
// Set height of slider//
if (options.indicators) {
if (options.height != 400) {
$this.height(options.height + 40);
$slider.height(options.height);
}
} else if (!options.indicators) {
if (options.height != 400) {
$this.height(options.height);
$slider.height(options.height);
}
}


Add TTL to the Adagnit tracking queue

Based on #1819

@njam please review

CMService/Adagnit/Client.php: Constructor: docu
CMService/Adagnit/Client.php: Add a function to add items to queue? With parameter $eventType and $data
CMService/Adagnit/Client.php: Now we set the TTL when getting the queue and again when adding items to the queue. Is that needed?
CMService/Adagnit/Client.php: IMO we can set a good default as TTL (24h?) and not make this configurable? I don't think it makes sense to change this ever?

Now we set the TTL when getting the queue and again when adding items to the queue. Is that needed?

No, I've just forgotten to remove the code from the queue getter.

IMO we can set a good default as TTL (24h?) and not make this configurable? I don't think it makes sense to change this ever?

As for all other caching instances, it definitely makes sense to make the ttl configurable imo. You would choose different values for different apps running with a different load and on a different infrastructure – the framework must adapt to the available resources, not the other way round.

CM/Redis/Client.php: Remove docu comment about expiration (this function handles any type of keys)

it definitely makes sense to make the ttl configurable imo.

Agree.
Rest looks good.

@njam last review please...

lgtm

Tagged 1.127.3


Pulling all the way down on fastscrollbar doesn't bring to bottom of list

For example, dragging the fastscrollbar down on Naruto brings it down to ch 698, not the last chapter of 700.2

Or more like, sometimes you can't drag the scrollbar all the way down

Damn this bug to hell, maybe we should implement our own fastscrollbar.


YouTube icon added

ISSUE-NO
#148
What does this PR do?
This pull request add YouTube logo with YouTube Chryz-hub channel link and Discord link.
How can this be manually tested?
In local host.
Questions:
Can I also add Twitter logo with link or left for other contributers?

ISSUE-NO
#148
What does this PR do?
This pull request add YouTube logo with YouTube Chryz-hub channel link and Discord link.
How can this be manually tested?
In local host.
Questions:
Can I also add Twitter logo with link or left for other contributers?

Let's wait a little, if no other member takes it, I'll assign you to it. Thanks.


how to reset my admin password if i forget it?

@ghjkg546 Sorry, this feature is not available yet. We are working on it and will release it in the next release. Please wait until then. Thank you!

how about
./cmd reset-admin-password --password 123


ansible-playbook fails to execute within container due to permission issue in F38

iot-commit-f38, iot-installer-f38, iot-raw-image-f38, and minimal-raw-f38 are failing when running ansible-playbook within container due to "Permission denied".
The failing compose is: Fedora 38 Daily Compose Test- 2023-03-21
The test cannot be reproduced in local environment because in rhos-01 works correctly. It seems this behavior is related with GCP runners.
+ podman run -v /opt/actions-runner/_work/rhel-edge/rhel-edge:/work:z -v /tmp/tmp.59gBKHMgiC:/tmp:z --rm quay.io/rhel-edge/ansible-runner:latest ansible-playbook -v -i /tmp/inventory -e os_name=rhel-edge -e ostree_commit=31738e96dd55a0ef00bf1f52733a4775251b8ee6e52db2b92ef0576fb024c26c -e ostree_ref=rhel-edge:fedora/38/x86_64/iot -e embedded_container=false -e firewall_feature=false -e sysroot_ro=true check-ostree.yaml
Trying to pull quay.io/rhel-edge/ansible-runner:latest...
Getting image source signatures
Copying blob sha256:6f56c2da779f1cbd16327a90441f96d5e23d9b541ae8d7aa8bb0cd8c3989289a
Copying blob sha256:6f70e28bcc6a19625847dc2af5351b371556f0aa173a9181791681fd6de064da
Copying config sha256:33fd2e5f82d711eb21de60318df597ba35a767461714a7695c70d242547c9c1e
Writing manifest to image destination
Storing signatures
{"msg":"exec container process `/usr/bin/ansible-playbook`: Permission denied","level":"error","time":"2023-03-21T12:53:09.153719Z"}

Fixed after uploading a new F38 GCP image to GCP.


Warn about modules loaded before trace agent

Add additional logging to report any modules loaded before the trace
agent even if they are not modules that we patch directly.
Fixes #187.

@ofrobots PTAL.

Needs a test.

@ofrobots Test is added.

LGTM.


remove panic out of queryservice

Remove panics out of QueryExecutor and return error instead.
Some places like TxPool, CachePool, SchemaInfo still panics and will be captured
and handled in SqlQuery.

LGTM. Nice work!


UnitData supply cost missing?

Is there anywhere to determine the supply cost of a given UnitTypeID? I only see cargo_size in UnitData, is that equivalent?

Looks like we are missing supply cost. We should add that.
cargo_size is something different. That is how many spots it takes up when inside a transport.

Ok, thanks for checking!

Updated the name, because I believe the mineral and vespene costs of UpgradeData are also missing

@KevinCalderone Just adding to this issue as I find things
I can't find the ABILITY_ID for UPGRADE_ID::PUNISHERGRENADES

Also a question: Can you call sc2::ABILITY_ID::RESEARCH_TERRANINFANTRYARMOR to train each successive level of armor, or do you have to call sc2::ABILITY_ID::RESEARCH_TERRANINFANTRYARMORLEVEL1, 2, 3 in that order?

sc2::ABILITY_ID::RESEARCH_SHADOWSTRIKE, supposed to be STRIDE instead of STRIKE?

Added in<PHONE_NUMBER>d86b0cb7e6da54244ed9c9b0befcdd it will be functional in patch 3.17


DisablePartialMatching Test

-1: This is a Java project and this file is not helpful.

Closing: No reply.


Creating Sample Pools and positions

It would be great to complement this with the ability to setup some Pools, initialize them, and create positions (add liquidity) so they provide a ready-to-use instance of populated Pools for other protocols to develop on top.

Yes. It is exactly what we  need in our project. We want to integrate Uniswap V3 for doing swaps on-chain from our smart contracts and we wanted to setup a local environment to play with.
It is quite difficult with V3, lots of details you need to learn to do that. This plugin looks good to use as a reference of which contracts you need but its just that. Doesn't take you the rest of the way. Thanks!

@julianmrodri i'm sorry if i disturbing you but i'm trying to re-build UniswapV3 for testing function purposes. Can I follow the plugin's step ( which contract to be deployed first) ? What should I do next to testing create pools and others functions of uniswapV3 ?


TaskCreate does not return time of task creation

Swagger doc mentions that task create response object should have createdAt, updatedAt and lastCompleted entries.
I am not sure if updatedAt and lastCompleted are really should be there, since task has just been created, but createdAt make sense.

Create task (my examples are using python):

requests.post('http://localhost:9999/api/v2/tasks', data='{"orgID":"036f43714301f000","name":"task_1","flux":%s}' % json.dumps(flux_script), headers={'Authorization':'Token %s' % token})

where flux_script is
'option task = {name:"test_task_name", every:60s} from(bucket:"b_1") |> range(start: -1h)'

request response:

{
  "authorizationID": "036f42af1a81f002",
  "every": "1m0s",
  "flux": "option task = {name:\"test_task_name\", every:60s} from(bucket:\"b_1\") |> range(start: -1h)",
  "id": "036f46407fcbf000",
  "labels": [],
  "links": {
    "labels": "/api/v2/tasks/036f46407fcbf000/labels",
    "logs": "/api/v2/tasks/036f46407fcbf000/logs",
    "members": "/api/v2/tasks/036f46407fcbf000/members",
    "owners": "/api/v2/tasks/036f46407fcbf000/owners",
    "runs": "/api/v2/tasks/036f46407fcbf000/runs",
    "self": "/api/v2/tasks/036f46407fcbf000"
  },
  "name": "test_task_name",
  "org": "o_1",
  "orgID": "036f43714301f000",
  "status": "active"
}

I am not sure if the requested fields are returned, but API is not just displaying them.

@gshif @lyondhill and I found the root cause of this problem.... and a bonus bug that we'll also fix.  I'm getting tests in place and hopefully PR tomorrow.


audit: Port audit_checksum method to rubocop and add tests

[x] Have you followed the guidelines in our Contributing document?
[x] Have you checked to ensure there aren't other open Pull Requests for the same change?
[x] Have you added an explanation of what your changes do and why you'd like us to include them?
[x] Have you written new tests for your changes? Here's an example.
[x] Have you successfully run brew tests with your changes locally?

#569

@MikeMcQuaid a side point: if sha256 gets deprecated / new hashes in future, then this would require refactoring. Should I refactor line 34 - 51 to not hardcode sha256?

@MikeMcQuaid a side point: if sha256 gets deprecated / new hashes in future, then this would require refactoring. Should I refactor line 34 - 51 to not hardcode sha256?
Edit: May not be required as new hash would mean, just adding new conditions below line 51.

Nah, I think it's fine as-is; we'll be on sha256 for quite a while longer.

@GauthamGoli Great work again, thanks!


BAMF - NNUnet Lung and Nodules

@LennyN95 we could use your advise on this model. We run two different nnunet models, then combine the output niftis into one nifti, then convert to dicom-seg.

whats the best way to run multiple nnunet models? seems like you can only have one instance of NNUnetRunner module.
how does the ROI information get passed through if there are multiple model runner modules?

Hi @vanossj,
Sure, that is possible! So, the module config is the general configuration for all usages of that module. However, that can be overwritten directly from within the execution chain:
execute:
- module: NNUnetRunner
  nnunet_task: Task003_Liver
  roi: LIVER,LIVER+NEOPLASM_MALIGNANT_PRIMARY
- module: NNUnetRunner
  nnunet_task: Task007_Pancreas
  roi: PANCREAS,PANCREAS+NEOPLASM_MALIGNANT_PRIMARY

modules:
  NNUnetRunner:
    nnunet_model: 3d_lowres

Do we need to update this NNUnetRunner function to process this auto_increment option?

That is correct. I will take care of this and release a new base image including this and some additional minor fixes.

segdb doesnot have entries for LUNG, NODULES. Could you add this for us?

So you need NODULE with sct code 27925004, correct?

Yes, that is the sct code we used

Added NODULE to segdb (920c7f3).
You can now use LUNG+NODULE or LEFT_LOWER_LUNG_LOBE+NODULE, etc.

Do we need to update this NNUnetRunner function to process this auto_increment option?

The default of the auto_increment option in the @IO.Input and @IO.Inputs decorators has been changed to True with https://github.com/MHubAI/mhubio/commit/3eb4529df84a9abf0f429cba34e42c9a35a4b00b. Hence, when running multiple NNUnetRunner modules, previous outputs shouldn't be overwritten.
These changes are available in our latest base image mhubai/base:latest.

Added NODULE to segdb (920c7f3).
You can now use LUNG+NODULE or LEFT_LOWER_LUNG_LOBE+NODULE, etc.

I tried to run testing with the LUNG,LUNG+NODULE as segmentation covers both right and left lung but got error. Could you add LUNG to segdb too?

I also added LUNG now (we already had the type in the DB but not the segment).

sample:
  idc_version: "Data Release 4.0 May 29, 2020"
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.7777.9002.290917407640793598352855735724
    aws_url: s3://idc-open-data/b925cf2a-de89-426d-b300-27b136264555/*
    path: input_data

reference:
  url: https://drive.google.com/file/d/1la5-sFlaWGopGiBvTdi-_V375nc59e9h/view?usp=sharing

Archive.zip
Slicer screenshots attached

@LennyN95 Let me know if you need other changes.

/test
sample:
  idc_version: "Data Release 4.0 May 29, 2020"
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.7777.9002.290917407640793598352855735724
    aws_url: s3://idc-open-data/b925cf2a-de89-426d-b300-27b136264555/*
    path: input_data

reference:
  url: https://drive.google.com/file/d/1pTqmrrQWC4qHO8z4d72FPVAczh-Zj7hq

/review
@LennyN95 all review comments have been fixed

/test
sample:
  idc_version: "Data Release 5.0 December 22, 2020"
  data:
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.6655.2359.184691786899278131062806456462
    aws_url: s3://idc-open-data/aafd2a22-6236-4eff-b541-1dfd8de923e8/*
    path: 'case_study1/ct'
  - SeriesInstanceUID: <IP_ADDRESS>.4.1.145<IP_ADDRESS>.6655.2359.168809572664004911257595338967
    aws_url: s3://idc-open-data/c6ff3b5f-eb4d-4a08-8e6b-3004b2ebbc0f/*
    path: 'case_study1/pt'

reference:
  url: https://drive.google.com/file/d/1MGe1dR22GF-oF7BwQ4bE3Oq-9KBnohku/view?usp=sharing

@LennyN95  Closing this pull request as new model #92 to be used as per the discussion in comments here


Extra Problems

I was trying to enter the extra "mountain plus" on rex regminton but I do not find it in the save editor, I also tried in givvandomi game the extra but says that the player can’t get it ( I was playing cs no light and shadow maybe I miss something)

Hello, I don't know what you're talking about. The save editor is only in English, so you're probably talking about the skill called Earth Boost. Elemental affinity skill in IEGO can't be put on a player of the same element.


fix: remove CursorMoved refresh events (#886)

This reverts https://github.com/nvim-lualine/lualine.nvim/commit/664c688974a7f183f6d6edae70c6aa117dcbd009 and https://github.com/nvim-lualine/lualine.nvim/commit/b87e47e1dee3cf96fc787f24e282ed5b52ed2fd2 which were originally introduced to make lualine refresh more frequently, but also introduced a bug that causes lualine to flicker under certain circumstances, as noted by https://github.com/nvim-lualine/lualine.nvim/issues/886 .

Finally fixed by 0978a6c.


Make a new branch for the snapshot of the codelab

Currently we have two branches on the repo, which are main and codelab.  main branch includes latest changes, and codelab branch is the start point of our codelab, which doesn't have any feature implementation such as prerendering, BFCache etc.
In the future we might need to change the code due to the various reason like Chrome feature changes, library version up, or some bug fixes. But we also want to keep the current snapshot in order to remain the code as a reference of the codelab final version for the people who completed the codelab.
Probably it's good to create a new branch which is named as codelab-complete and we will use main branch to reflect any future changes.

https://github.com/GoogleChromeLabs/instant-seamless-demo/pull/5


Cannot use undefined as a parameter for vscode.debug.startDebugging

VSCode Version: 1.17.2
OS Version: Ubuntu 16.04.3 LTS

Steps to Reproduce:

I am trying to call vscode.debug.startDebugging(undefined, myConfig), but I got the following error if I use undefined as the first parameter.

and my debugger session is terminated afterwards.
Notes:

If I call it with

vscode.debug.startDebugging(vscode.workspace.workspaceFolders[0], myConfig)

then everything works as expected, I could see a debug session launched.

I have put all the attributes defined in the "configurationAttributes" of package.json to the myConfig object (the 2nd parameter), and I declared none of those attributes as required in package.json.

If I just launch  a debug configuration using my debugger type from launch.json, everything works as expected.

I tried to debug vscode code, the call to vscode.debug.startDebugging() can actually return successfully. And I do not see any exception thrown from the call. The Cannot read property uri of undefined error seem to be triggered from a later routine.

By vscode.d.ts#L6105 , I should be able to use undefined as the first parameter.

Reproduces without extensions: Unknown. No opportunity to check, because I am developing a extension.

@changsi-an If you pass undefined for the folder parameter to vscode.debug.startDebugging, the debug configuration myConfig must not contain any variables (like ${workspaceFolder}) because variables are resolved against the folder parameter (which is undefined in your case).
@isidorn we should fail more gracefully in this case, e.g. by not substituting any variables at all.

@weinand I don't have any variables in my myConfig object. All plain strings.

@isidorn most likely passing undefined to startDebugging results in the error from above in https://github.com/Microsoft/vscode/blob/1d632ec12cd4ec0fe4f8badfbb743d5bd2807cda/src/vs/workbench/parts/debug/electron-browser/debugService.ts#L905
because the "root" passed to "doCreateProcess" is "undefined".

@changsi-an good catch, thanks. You can try it out in vscode insiders in 4 days and let us know how ti works.
@weinand thanks for pointing out the issue

vscode.debug.startDebugging(undefined, 'Launch Program'); => nothing happens
vscode.debug.startDebugging(vscode.workspace.workspaceFolders[0], 'Launch Program'); => starts debugging

And I get this error in devtools: Configuration 'Launch Program' is missing in 'launch.json'.

@roblourens
What you are seeing is the expected behaviour.
if you pass undefined for the workspace folder, then no 'launch.json' and consequently no named launch config can be found. However, in this case it is perfectly fine to pass an launch config object to startDebugging.
I agree, the error message Configuration 'Launch Program' is missing in 'launch.json'is misleading because the real problem is that there is no 'launch.json' in the first place.
@isidorn can we make this clearer?

@weinand sure, I have improved the error message to be more precise in hte case the launch.json does not exist.

Oh, I get it.

Is the bug fix released yet? I am still hitting "uri" of undefined error in 1.18.1

No, it's in Insiders or the next stable release.


unusual behavior w/ chef-client -z and provisioning

running the following command with the files supplied below results in

an empty run list, thus apache isn't installed.
update run_list appearing 4 times during a CCR

15:57:44 ~/provisioning_example$ chef-client -z vagrant_linux.rb simple.rb
Starting Chef Client, version 12.3.0
resolving cookbooks for run list: []
Synchronizing Cookbooks:
Compiling Cookbooks...
[2015-06-03T15:57:50-04:00] WARN: Node stickywicket has an empty run list.
Converging 2 resources
Recipe: @recipe_files::/Users/dparfitt/provisioning_example/vagrant_linux.rb
  * vagrant_box[precise64] action create (up to date)
Recipe: @recipe_files::/Users/dparfitt/provisioning_example/simple.rb
  * machine[server1] action converge
    - update node server1 at chefzero://localhost:8889
    -   update run_list from ["recipe[myapache::default]"] to ["recipe[myapache::default]", "recipe[myapache::default]"]
    - update node server1 at chefzero://localhost:8889
    -   update run_list from ["recipe[myapache::default]"] to ["recipe[myapache::default]", "recipe[myapache::default]"]
    - update node server1 at chefzero://localhost:8889
    -   update run_list from ["recipe[myapache::default]"] to ["recipe[myapache::default]", "recipe[myapache::default]"]
    - update node server1 at chefzero://localhost:8889
    -   update run_list from ["recipe[myapache::default]"] to ["recipe[myapache::default]", "recipe[myapache::default]"]
    [server1] Starting Chef Client, version 12.3.0
              resolving cookbooks for run list: []
              Synchronizing Cookbooks:
              Compiling Cookbooks...
              [2015-06-03T19:57:56+00:00] WARN: Node server1 has an empty run list.
              Converging 0 resources

              Running handlers:
              Running handlers complete
              Chef Client finished, 0/0 resources updated in 0.904606287 seconds
    - run 'chef-client -l auto' on server1

Running handlers:
Running handlers complete
Chef Client finished, 1/2 resources updated in 8.859897 seconds

simple.rb:
require 'chef/provisioning'

machine 'server1' do
  recipe 'myapache::default'
  # after the node has been created, perform a Chef Client run
  converge true
end

vagrant_linux.rb:
# require the Vagrant driver
 require 'chef/provisioning/vagrant_driver'

 # define a Vagrant box that we'll reference below
 vagrant_box 'precise64' do
   url 'http://files.vagrantup.com/precise64.box'
 end

 # this tells any recipes that follow that we want to use
 # Vagrant to provision VM's
 with_driver 'vagrant'

 # specify machine_options that will be applied to any machine resources chef-client encounters.
 with_machine_options :vagrant_options => {
   'vm.box' => 'precise64'
 }

15:59:50 ~/provisioning_example$ cat ./cookbooks/myapache/recipes/default.rb
package "apache2" do
  action :install
end

Hmm. I am guessing this has to do with the fact that "myapache" and "my apache::default" mean the same thing.

right you are.
machine 'server1' do
  recipe 'myapache'
  converge true
end

Recipe: @recipe_files::/Users/dparfitt/provisioning_example/simple.rb
  * machine[server1] action converge
    - update node server1 at chefzero://localhost:8889
    -   update run_list from ["recipe[myapache::default]"] to ["recipe[myapache]"]
    [server1] Starting Chef Client, version 12.3.0
              resolving cookbooks for run list: []
              Synchronizing Cookbooks:
              Compiling Cookbooks...
              [2015-06-04T14:11:17+00:00] WARN: Node server1 has an empty run list.
              Converging 0 resources

              Running handlers:
              Running handlers complete
              Chef Client finished, 0/0 resources updated in 0.934615087 seconds
    - run 'chef-client -l auto' on server1

How can I get the recipe to actually run?

I can't reproduce this issue anymore, but using the latest ChefDK seems to help with several other issues. I'm closing for now, unless it comes back up.


iOS 9 Background location

I don't seen any usage of allowsBackgroundLocationUpdates of CLLocationManager in you library.
Since iOS 9 you need to set allowsBackgroundLocationUpdates = true to allow location updates while app in background mode.

+1

:+1:

Added since 0.9.0. Thank you.


Build version of anchor-based scroll view for Android

The iOS app contains a modified version of RCTScrollView that allows adding elements to both the top and bottom while maintaining scroll position.
We need a version of this for Android.

We should consider ListView, which is strongly recommended over ScrollView for rendering larger amounts of data. Maybe it will also be easier to implement the anchoring so need for custom version for Android?

@borisyankov I tried using ListView initially and it was a bit tricky to get it to support infinite scrolling in both directions (by adding onStartReached in addition to onEndReached) , so I decided to start with ScrollView. Ultimately we will want to optimize it (perhaps by paging in views like ListView).
I also tried maintaining scroll position without implementing it in a native component. When new content is added from the top of the feed, we need to change the contentOffset of the underlying scroll view. That's difficult to do in a performant way on the JS thread because we only receive scroll updates occasionally (by default every 50ms and at best every ~16ms), so it ends up causing the scroll position to jump.

I think we can get the infinite scrolling in both directions on Android by just implementing a native module that bridges to Android's RecyclerView.
That's the approach I'm going to try out. Hope that's ok.
I think this approach will likely be simpler/neater than copy-pasting the android equivalent of RCTScrollView, and, as @borisyankov suggested, it will scale better than a scroll view for large amounts of data.

@kmdupr33 It looks like a version of that may exist in the React Native codebase that you may want to check out: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/views/recyclerview/RecyclerViewBackedScrollView.java
For iOS, the issue is that I needed to modify the bridge (RCTScrollView) for our use case (such as changing contentOffset when new content is added to the beginning of the stream).
I could have created a new native module, but that would have meant duplicating a lot of work to make some minor changes.
Some of the options included:

Copy and pasting RCTScrollView to RCTAnchoredScrollView and making the changes
Rewriting RCTAnchoredScrollView from scratch
Forking React Native, modifying RCTScrollView, and making this project use the forked version
Merging required changes to RCTScrollView upstream (to the React Native repo)

Thanks for pointing that out. I'll check it out.
If we bridge to an Android RecyclerView, we actually won't need to worry about the content offset. The RecyclerView gives us the ability to preserve the user's current scroll position even when new items are added to the list for free.

Even if they are added at the beginning of the list?
The difference I think is that you're planning on writing a brand new bridge, while for iOS I copy-pasted the existing bridge and made changes to it (because RCTScrollView actually has a lot of logic in it that it didn't make sense to rewrite).

Yes sir. Even if they're added at the beginning of the list.
I suspect that there won't be a lot of logic that I need to reimplement for this. I think the native bridge will be less than 200 LOC. Is it okay if I try it out and then consider the copy-paste option if it turns out to be more complicated?

Sure, but maybe check out RecyclerViewBackedScrollView first? No point in doing all that work if you don't need to :)

Indeed. Doing extra work is almost always not fun :) Unfortunately, it doesn't look like RecyclerViewBackedScrollView is going to give us the notifications when the user reaches the beginning or end of a list. Regardless, it'll definitely be helpful as I try to work on this, so thanks again for pointing it out.

Just curious, why won't it give us the notifications? The way this works in iOS is that we get an onScroll notification at some configurable interval. In that JS callback we determine the user's scroll position and trigger a callback (either onStartReached or onEndReached) if it passes some threshold in either scroll direction.
See: https://github.com/zulip/zulip-mobile/blob/master/src/stream/InfiniteScrollView.js#L48
At first glance looks like the Android version also sends scroll notifications: https://github.com/facebook/react-native/blob/master/ReactAndroid/src/main/java/com/facebook/react/views/recyclerview/RecyclerViewBackedScrollView.java#L343

I was actually just looking at the line. Maybe the right play here is to subclass RecyclerViewBackedScrollView. Let me look a little closer at this class here to see what's going on.

I've tried using the RecyclerViewBackedScrollView, along with its ViewManager and I'm getting some odd behavior: first, the RecyclerViewBackedScrollView isn't sized correctly (it only takes up 3/4ths the width of the screen) and second, the RecyclerViewBackedScrollView doesn't appear to be getting touch events, which, in turn, causes the scroll view to fail to scroll.
I'm going to spend some time getting to the bottom of this. Just wanted to let you know where I was at.

@neerajwahi I've figured out how to get the scrollview to render at the correct size and I've fixed the scrolling issue. However, there's a problem with how the child views are getting rendered within the scroll view. I suspect that I'm going to need to copy paste some code from the RN library in order to fix this, assuming we want to continue on this path.
Alternatively, I could just implement a proper RecyclerView by using the elements of the stream array as the data we want displayed in a RecyclerView. The later option seems cleaner and we'll have the added bonus of being able to recycle views in the list, a benefit that isn't likely to be trivial even given the different sizes of the messages in the stream.
If its okay with you, I'd like to explore this alternative route.

@kmdupr33 we may want to fork RN anyway and pull down the forked version (and eventually merge any changes we make upstream) since that's cleaner than copy-pasting RCTScrollView like we currently do. Mostly thinking aloud to myself here.
Is the scroll view you got to render at the correct size not backed by RecyclerView?
I'm not at all familiar with how RN is implemented for Android so I defer to you on the most fruitful route for this :)

Awesome. Forking RN seems like a good idea. Seems like a lot of people wind up doing that for reasons similar to ours.
The scrollview that I got to render is backed by a RecyclerView. In fact, there's one (small) piece of it that is copy-pasted from the RecyclerViewBackedScrollView you pointed me to. However, there's a large piece of code that's responsible for laying out the items within a RecyclerView that I suspect would have to be copied in order to get things working properly.
On a bit of a separate note, it might actually be good to implement a proper UITableView on the iOS side of the app as well. I'm assuming we haven't actually tested the app on a physical device, and we might find that once we do that -- especially if we do that on a lower-end device we may want to support -- we don't like the performance of the scroll view. This article does a good job of explaining why we will probably get better performance out of a RN component that's backed by a native view that actually recycles its views and it also sketches out some of the implementation.
I'm not trying to step on your toes. I just want to make sure that we want to stick with the iOS implementation we've got. If it turns out we want something like UITableView on the iOS side, then maybe I don't have worry so much about an implementation on Android that will have 0 impact on the iOS side.

The performance (of the native thread at least) on a physical iPhone is quite good. We're probably going to want to implement something similar to ListView where we page rows in and out to reduce memory usage.
I'm not convinced that view recycling is the right approach. In the article you mention, our use case falls under "high variation between rows and a smaller data-source" whereas view recycling works well when each row has the same height and very similar layout.
Why would the Android implementation have an impact on the iOS side?

Hmm...That's good that we've tested on a physical device, but I am curious whether we've tested on the lowest-end devices we want to support.
Maybe the stream messages will have a higher variation than what I've seen, but I don't think that differing amounts of text within messages is a big enough difference to neutralize the performance benefits of recycling views. Facebook found that traditional recycling wasn't beneficial for their newsfeed on Android, but the various items within that newsfeed were very different.
RE how our use case falls into the categories in the article: I don't think we fall squarely into one or the other. Instead, I actually think we're in the similar rows, small data-source category, and in that case, I think recycling makes sense.
Maybe we could run a small experiment to see what the right approach is. Maybe its not worth the effort. I'm open to whatever you think is the best call.
The Android implementation doesn't have to have an impact on the iOS side, but its going to take a little extra work to make sure that it doesn't have that impact. If we're going to move to more a ListView approach anyway, then I figured I'd try to avoid that extra work. The API for ListView is about specifying a datasource rather than adding child views, which is how we're handing things now.

I have a hunch that a ListView will be much better for a long list of text.
BTW, have you had a look at https://github.com/FaridSafi/react-native-gifted-chat/

It might be worth exploring view recycling on iOS in the future but for now I think there are a lot of other tasks that are higher priority.
I've been testing on an iPhone 6 (which is now 2 generations old) and the performance has been excellent. The bottleneck is the JS thread. The main benefit of recycling will be reducing memory pressure, but we might be able to get those benefits from using a ListView style implementation that pages views in and out as the user scrolls.

iPhone 6 is way too high class device to consider it a 'minimum' one.
Apple officially support iPhone 4S which still updates to iOS 10.
According to this:
https://fiksu.com/resources/ios_trackers/
You don't get to the 90% of usage if you don't include iPhone 5s and 5.
And keep in mind Android is much more variable in performance characteristics.
People might be forgiving of a super-modern 3d game that works a bit slow, but maybe not of a chat app.

What did you guys end up doing after all?

@SudoPlz  We are still using ScrollView, but are strongly considering two alternatives as superior: FlatList/SectionList or a WebView.
We have prototypes for both here:
https://github.com/zulip/zulip-mobile/blob/master/src/message/MessageListFlatList.js
https://github.com/zulip/zulip-mobile/blob/master/src/message/MessageListWeb.js

Hmm interesting, and why would you consider FlatList as a superior solution than a list that recycles its children, such as a https://github.com/wix/BindingListView


Remove format filter and instead point folks toward '%'

Opening this for long-term discussion, as it'd be a backward-incompatible change so couldn't land until the next major version.
As outlined by @snoack in https://github.com/pallets/jinja/issues/70#issuecomment-2545521 and https://github.com/pallets/jinja/issues/70#issuecomment-2566285, both readability and compiled performance seem to be better when using % rather than format. I'd be fine with removing the format filter, or at the very least have the docs recommend using %.
Opinions from others?

I would just remove it from the docs but keep it the code. People can already overwrite it if they want by that name and it's easy to support.

I'm not sure about the wisdom of encouraging the use of the old style % formatting mechanism. Python itself is moving away from it and encouraging use of the format method. Here's an example of the Python docs calling it the "old" syntax.

It's old in the sense that it came first, not that it's deprecated or discouraged.

@davidism No, it is discouraged. See the printf-style String Formatting section of the docs:

Note: The formatting operations described here exhibit a variety of quirks that lead to a number of common errors (such as failing to display tuples and dictionaries correctly). Using the newer str.format() interface helps avoid these errors, and also provides a generally more powerful, flexible and extensible approach to formatting text.

Python 3.1.5's docs explicitly suggested it might be removed:

Note: The formatting operations described here are obsolete and may go away in future versions of Python. Use the new String Formatting in new code.

I'm not sure why the warning was toned down in newer versions.

As it stands if you want to support 2.x and 3.x, % is saner to use. .format introduces various problems with unicode handling in 2.x.

Python 3.1.5's docs explicitly suggested it might be removed:

They just added % formatting back for bytes so I doubt this will be going anywhere. If it is, we can retrofit it.

Is there any plan to create built-in format filter which could be used in map() ?

@mitsuhiko What problems does format have with Unicode? The only thing I can find is stuff about mixing bytes and text, to which the simplest, most well known answer is, "Don't do that." And according to this, the problems of mixing them appear to go both ways regardless of which formatting option you use.


[Errno 98] error while attempting to bind on address ('<IP_ADDRESS>', 8095): [errno 98] address in use

What version of Music Assistant has the issue?
2.2.5
What version of the Home Assistant Integration have you got installed?
2024.9.1
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Error on Start, cannot connect to server gui
How to reproduce
Go to Home Assistant Addons, open Music Assistant Server and start it.
Music Providers
I don't know anymore. YouTube Music, Apple Music, Plex?
Player Providers
Sonos
Full log output
d5369777_music_assistant_2024-09-17T18-28-55.355Z.log
Additional information
No response
What version of Home Assistant Core are your running
2024.9.2
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

The error seems pretty clear. Something on your device already is using the port

Thats what i thought, but it is Home Assistant OS with only a few Addons. About a month ago it worked. But updates seem to be problematic. Tomorrow i try to restart the complete system

Make sure you don’t have two versions of MA running (eg. stable and beta)

@Doppelherz how did you go? I will close this soon as it is not a MA problem

After a system reboot the port was unused and music assistant startet again.
It has something to do with updates. I had nothing working on that port. I had both addons ( default and beta ) but beta was stopped all the time and now i‘ve uninstalled it.
I close this issue. Thanks for checking and confirm that it was a port problem.


Upgrade to new AMI for Jenkins node.

Summary:
This uses the 'JenkinsMarathonCI-Debian8-1-2017-02-23' AMI which comes with all
tools preinstalled.
Test Plan: pipelines
Reviewers: kensipe, zen-dog, unterstein
Subscribers: jenkins, marathon-team
JIRA Issues: https://jira.mesosphere.com/browse/VELOCITY-1120

The build is green https://jenkins.mesosphere.com/service/jenkins/view/Marathon/job/marathon-pipelines/view/change-requests/job/PR-5251/


Fix: Retain indexes when creating state table backups

Previously, we created backup state tables using the CTAS statement, which didn't retain any table indexes or constraints.
This change fixes the issue and also adds a migration script that recreates the original indexes for those who may have restored from a backup in the past.

@tobymao postgres. Still working on mysql


[#24931][Go SDK] Make element checkpoints independant

Resolves #24931, which discovered that if there are multiple elements in the data buffer, then only the checkpoint for the last one can be used, previous ones are being overwritten.
The solution is to build up a list of checkpointed elements in processing, and return them.
Typically streaming execution has only one element anyway, which hides the error, but this is only at the runner's discretion. If the runner batches elements, then delayed elements will no longer process.
Discovered in working on #24789, which isn't yet a clever runner at all.
This change is smaller than it looks due to complexities in testing the execution harness, which requires ample set up. However, this change covers the core DataSource side changes.

Thank you for your contribution! Follow this checklist to help us incorporate your contribution quickly and easily:

[ ] Mention the appropriate issue in your description (for example: addresses #123), if applicable. This will automatically add a link to the pull request in the issue. If you would like the issue to automatically close on merging the pull request, comment fixes #<ISSUE NUMBER> instead.
[ ] Update CHANGES.md with noteworthy changes.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

See the Contributor Guide for more tips on how to make review process smoother.
To check the build health, please visit https://github.com/apache/beam/blob/master/.test-infra/BUILD_STATUS.md
GitHub Actions Tests Status (on master branch)

See CI.md for more information about GitHub Actions CI.

 Thanks, Robert!


Move the cursor left one column if on right word boundary

Changes:

When navigating to the definition of a symbol, if the cursor is on a right word boundary, move it one column to the left.
Shares common logic among integration tests.

This addresses #20

Closing in favor of https://github.com/lfortran/lfortran/pull/5645/files


Add React and Mapbox boilerplate

Summary

Added a React PWA template from create-react-app
Chose to group TSX, styling, and testing files in folders by component but this could be discussed
Added a sample Mapbox component
Added a constants.ts for magic numbers
Added a sample .env but the real deal will be shared on Slack

Test Plan

Ran using yarn start, opened Google Chrome to localhost:3000, and watched the console in Developer Tools

Related Issues
Closes #20

I do not understand the service worker code tbh, but the rest looks good

I'm a bit confused by the serviceWorker.ts, is it for production only?

I'm a bit confused by the serviceWorker.ts, is it for production only? @yi-fang-yuan

For production! Service workers let us run the app offline (the defining factor of a PWA) and cache requests until connected. Full explanation.

then I think its fine! I will merge it.


Crate

#1253 But I closed the old one since it was very very outdated.
I redid pretty much everything and now it's nice and clean.

[x] Changed plasma crate to phoron
[x] Fix crate icons
[x] Add the rest of the crates
[x] Make it so you can weld crates shut
[x] Make it so you can anchor crates
[ ] Add tgcrates content
[ ] Add secure crates that can be "locked" (Access levels for secure storage will be in a different PR so it can also include closets.)
[ ] Add crates to cargo console

I updated the crate sprites in this pr with Citadel's crate.dmi. I think they look pretty neat.


AHQ Store Home UI

Work In Progress
Expected in early 2023

⏲ Will Start work soon

✅ Done as of version 0.9.0


Fix golint issues in maya/pkg/apis/openebs.io/v1alpha1/cas_template_keys.go

File: maya/pkg/apis/openebs.io/v1alpha1/cas_template_keys.go
Line 19: warning: exported type CasKey should have comment or be unexported (golint)
Line 22: warning: comment on exported const SPCreateCASTemplateCK should be of the form "SPCreateCASTemplateCK ..." (golint)
Line 26: warning: comment on exported const SPDeleteCASTemplateCK should be of the form "SPDeleteCASTemplateCK ..." (golint)
Line 90: warning: comment on exported const CurrentJsonResultTLP should be of the form "CurrentJsonResultTLP ..." (golint)
Line 123: warning: exported const DiskListCTP should have comment (or a comment on this block) or be unexported (golint)
Line 170: warning: comment on exported const IsCloneEnableVTP should be of the form "IsCloneEnableVTP ..." (golint)
Line 173: warning: comment on exported const SourceVolumeVTP should be of the form "SourceVolumeVTP ..." (golint)
Line 181: warning: comment on exported const VolumeSTP should be of the form "VolumeSTP ..." (golint)
Line 208: warning: exported const TaskIdentityPrefix should have comment (or a comment on this block) or be unexported (golint)

Resources:
-> Contributors guide: https://github.com/openebs/openebs/blob/master/CONTRIBUTING.md
Complexity: Easy

I would like work on this issue.

@md-yaseen  go ahead. Let me know if you need any help.

This is already fixed

Already fixed.. hence closing


cant write to file EACESS permission denied

I made a chat app that stores users chat history in .json files, but my app can't write to the .json files. I get this error:
{                Error: EACCES: permission denied, open 'chatlogs/chatlogce62ca62-6c22-44d5-9220-
                  ac1438824ec4.json'
                  errno: -13,
                  code: 'EACCES',
                  syscall: 'open',
                  path: 'chatlogs/chatlogce62ca62-6c22-44d5-9220-ac1438824ec4.json'
 }

Is there any way to let my app write to the chatlogs directory? Thanks in advance.

Hey @nati-alvarez. The filesystem is only writable from the /tmp directory after the deployment has started. Please see: https://zeit.co/docs/deployment-types/node#file-system-specifications
You might want to consider writing the logs to an external database of some kind.

@TooTallNate  Ok, I guess I'll have too. Thanks.


Add solution to local build errors on M1 machines

As explained in #1324, developers on M1 machines are experiencing the following error when building blockchain locally:
error: failed to run custom build command for prost-build v0.10.4
This has become a very common issue for developers, so we should add it to the docs.
See e.g.
https://substrate.stackexchange.com/questions/3565/bulding-polkadot-release-v0-9-24-fails-while-compiling-a-dependency-prost-bui
Fixes #1324

Thanks for your PR @platonicsocrates. This has come up several times over the past week and its good to have a solution documented. Cheers :)


🐛 [firebase_app_check] App Check is not working with callable cloud functions: [firebase_functions/unauthenticated] Unauthenticated

Bug report
Describe the bug
If you add firebase_app_check to your Flutter projects, callable cloud functions will not work anymore.
Parameter:

App Check is not enforced
No debug provider is provided

Steps to reproduce
Steps to reproduce the behavior:

Add firebase_app_check to your project
Call a callable cloud function

If you remove firebase_app_check everything is working.
Expected behavior
I would expect that I can run a callable cloud function, even if I not enforced Firebase App Token or using no debug provider (because I not enforced it)
Exception
Flutter
flutter: [firebase_functions/unauthenticated] Unauthenticated
#0      StandardMethodCodec.decodeEnvelope
package:flutter/…/services/message_codecs.dart:597
#1      MethodChannel._invokeMethod
package:flutter/…/services/platform_channel.dart:158
<asynchronous suspension>
#2      MethodChannelHttpsCallable.call
package:cloud_functions_platform_interface/…/method_channel/method_channel_https_callable.dart:22
<asynchronous suspension>
#3      HttpsCallable.call
package:cloud_functions/src/https_callable.dart:34
<asynchronous suspension>
#4      _FutureBuilderState._subscribe.<anonymous closure> (package:flutter/src/widgets/async.dart)
package:flutter/…/widgets/async.dart:1
<asynchronous suspension>

Cloud Function
Failed to validate AppCheck token. FirebaseAppCheckError: Decoding App Check token failed. Make sure you passed the entire string JWT which represents the Firebase App Check token.
    at FirebaseAppCheckError.FirebaseError [as constructor] (/workspace/node_modules/firebase-admin/lib/utils/error.js:44:28)
    at FirebaseAppCheckError.PrefixedFirebaseError [as constructor] (/workspace/node_modules/firebase-admin/lib/utils/error.js:90:28)
    at new FirebaseAppCheckError (/workspace/node_modules/firebase-admin/lib/app-check/app-check-api-client-internal.js:187:28)
    at /workspace/node_modules/firebase-admin/lib/app-check/token-verifier.js:82:19
    at processTicksAndRejections (internal/process/task_queues.js:95:5) {
  errorInfo: {
    code: 'app-check/invalid-argument',
    message: 'Decoding App Check token failed. Make sure you passed the entire string JWT which represents the Firebase App Check token.'
  },
  codePrefix: 'app-check'
}

Callable request verification failed: AppCheck token was rejected. {"verifications":{"auth":"MISSING","app":"INVALID"}}

Sample project
GitHub Repository
You can find the source code under this link: https://github.com/nilsreichardt/playground/tree/firebase-app-check-cloud-function-unauthenticated-issue/firebase-app-check-cloud-functions-unauthentificated
main.dart
import 'package:cloud_functions/cloud_functions.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:flutter/material.dart';

Future<void> main() async {
  WidgetsFlutterBinding.ensureInitialized();

  await Firebase.initializeApp();
  await FirebaseAppCheck.instance.activate();

  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Center(
          child: FutureBuilder<HttpsCallableResult<String>>(
              future: FirebaseFunctions.instance
                  .httpsCallable('helloWorld')
                  .call<String>(),
              builder: (context, future) {
                if (future.hasError)
                  return Text(future.error?.toString() ?? "Error");

                if (!future.hasData) return CircularProgressIndicator();

                final result = future.data;
                return Text(result!.data);
              }),
        ),
      ),
    );
  }
}

index.ts
import * as functions from "firebase-functions";

export const helloWorld = functions.https.onCall(async (data, context) => {
    return "Working";
});

Additional context

Unregistered or registered (App Attest or Device Check) makes no difference.
I find also another StackOverflow question from a different user: https://stackoverflow.com/questions/68679583/firebase-app-check-cloud-functions-failed-to-validate-appcheck-token?noredirect=1#comment121481062_68679583
Tested Device
MacBook Pro M1, tested on iOS Simulator and iPad 2019

Flutter doctor
Run flutter doctor and paste the output below:
Click To Expand
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.2.3, on macOS 11.3 20E232 darwin-arm, locale en-DE)
[!] Android toolchain - develop for Android devices (Android SDK version 31.0.0-rc5)
    ✗ Android license status unknown.
      Run `flutter doctor --android-licenses` to accept the SDK licenses.
      See https://flutter.dev/docs/get-started/install/macos#android-setup for more details.
[✓] Xcode - develop for iOS and macOS
[✓] Chrome - develop for the web
[!] Android Studio
    ✗ Unable to find bundled Java version.
[✓] IntelliJ IDEA Ultimate Edition (version 2021.1.2)
[✓] VS Code (version 1.60.0-insider)
[✓] Connected device (3 available)
    ! Error: iPhone von Roland is not connected. Xcode will continue when iPhone von Roland is connected. (code -13)

! Doctor found issues in 2 categories.

Flutter dependencies
Run flutter pub deps -- --style=compact and paste the output below:
Click To Expand
dependencies:
  flutter:
    sdk: flutter

  cloud_functions: ^3.0.0
  firebase_core: ^1.4.0
  firebase_app_check: ^0.0.1+3

Dart SDK 2.13.4
Flutter SDK 2.2.3
firebaes_app_check_cf_unauthenticated 1.0.0+1

dependencies:
- cloud_functions 3.0.0 [cloud_functions_platform_interface cloud_functions_web firebase_core firebase_core_platform_interface flutter]
- firebase_app_check 0.0.1+3 [firebase_app_check_platform_interface firebase_app_check_web firebase_core firebase_core_platform_interface flutter]
- firebase_core 1.4.0 [firebase_core_platform_interface firebase_core_web flutter meta]
- flutter 0.0.0 [characters collection meta typed_data vector_math sky_engine]

dev dependencies:
- flutter_test 0.0.0 [flutter test_api path fake_async clock stack_trace vector_math async boolean_selector characters charcode collection matcher meta source_span stream_channel string_scanner term_glyph typed_data]

transitive dependencies:
- async 2.6.1 [meta collection]
- boolean_selector 2.1.0 [source_span string_scanner]
- characters 1.1.0
- charcode 1.2.0
- clock 1.1.0
- cloud_functions_platform_interface 5.0.8 [firebase_core flutter meta plugin_platform_interface]
- cloud_functions_web 4.0.10 [cloud_functions_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- collection 1.15.0
- fake_async 1.2.0 [clock collection]
- firebase_app_check_platform_interface 0.0.1+3 [firebase_core flutter meta plugin_platform_interface]
- firebase_app_check_web 0.0.1+3 [firebase_app_check_platform_interface firebase_core firebase_core_web flutter flutter_web_plugins js]
- firebase_core_platform_interface 4.0.1 [collection flutter meta plugin_platform_interface]
- firebase_core_web 1.1.0 [firebase_core_platform_interface flutter flutter_web_plugins js meta]
- flutter_web_plugins 0.0.0 [flutter js characters collection meta typed_data vector_math]
- js 0.6.3
- matcher 0.12.10 [stack_trace]
- meta 1.3.0
- path 1.8.0
- plugin_platform_interface 2.0.1 [meta]
- sky_engine 0.0.99
- source_span 1.8.1 [collection path term_glyph]
- stack_trace 1.10.0 [path]
- stream_channel 2.1.0 [async]
- string_scanner 1.1.0 [charcode source_span]
- term_glyph 1.2.0
- test_api 0.3.0 [async boolean_selector collection meta path source_span stack_trace stream_channel string_scanner term_glyph matcher]
- typed_data 1.3.0 [collection]
- vector_math 2.1.0

Having the same issue as i asked about it on StackOverFlow

@nilsreichardt @Tom3652 Thank you for the repot. Looks like the following App Check details lead to the behaviour you observer:

On the Firebase SDKs side when a valid App Check token cannot be obtained, a dummy App Check token is sent with HTTP requests to Functions
Firebase Functions cannot use the project enforcement settings due to technical limitation, instead the enforcement should be implemented in the function itself
Functions code tries to pars and validate the App Check token before calling onCall function:

if there is no App Check token, then the function is called with context.app == undefined
if there is an invalid App Check token the function will fail with the error you observe
if there is a valid App Check token then context.app will be populated based on it

The Functions behaviour was implemented so to match handling of Auth tokens, but we are considering improvements to it to avoid such confusions in the future. In the meanwhile you can try the following workarounds:

Don't install App Check SDK (remove firebase_app_check: ^0.0.1+3 from your dependencies)
Configure DeviceCheck or/and App Attest attestation providers for your app to run on devices and Debug provider for your simulators/emulators

Please let us know if workarounds work for you.

@maksymmalyhin thanks for your answer !
Removing the App Check SDK was enough in my case indeed, but it can be a problem later if we "need" to use the SDK.
Anyway i will probably finish the setup but later with enforcement, for now it's working again and RealTime DB + Cloud Storage are still checked by App Check, so thank you.

Try updating Firebase SDK on build.gradle
It works for me.
See Project Settings > General > Your Apps > See SDK Instructions.

@markusaksli-nc In #6675 the author said, that it's working on physical devices (see https://github.com/FirebaseExtended/flutterfire/issues/6675#issuecomment-885668486). But I could also reproduce it on my iPad 2019 (real device).

@maksymmalyhin I've managed to configure AppCheck for iOS using swift and it works with callable functions but the same approach for Android fails for callable functions.

Cross linking with react-native-firebase as we are similarly afflicted https://github.com/invertase/react-native-firebase/issues/5622
Here are the thoughts I mentioned there:

This needs a reproduction on one (or the other) of the native APIs I think, probably easiest with firebase-ios-sdk since AppCheck there needs no extra configuration, you just include it and by default you get the DeviceCheck provider (which should trigger the error) - so starting from https://github.com/firebase/quickstart-ios/tree/master/functions and logging an issue upstream is probably the fastest way

@maksymmalyhin Is this correct, that we just need to wait until https://github.com/firebase/firebase-ios-sdk/pull/8558 is merged and published? So we need then only need to increase the Firebase iOS SDK Version in the firebase_app_check Flutter package and everything should be working?

@nilsreichardt What bout android? Is similar fix planned?

@MaciejCaputa does firebase-android-sdk suffer the same problem? If it does not have an upstream issue logged in that repo then there will be no fix - if you've tested android and see this same behavior there, you'll need to search their issues list to see if it's noted already, and if not, log an issue

Sorry for long silence, let me provide the updates.

after some discussion we agreed to apply the following fixes:

Android, Apple and Web Functions SDKs will not send the dummy Firebase App Check token as it is mostly useless for Functions. Apple SDK fix was implemented in firebase/firebase-ios-sdk#8558 and should be available in the next SDK release. Android and Web SDK changes will follow soon. FireFlutter plugin will need to use the updated Functions SDK version.
Callable Functions implementation will be updated to handle an empty and invalid Firebase App Check token in the same way. onCall will be called with context.app == undefined for both cases, so control of enforcement of App Check will be in the function body only (basically as it is described in the docs)

After the fixes, it will be possible to call the functions with no App Check enforcement configured in the specified cases. It can be useful when debugging a dev build of your app, etc. But the App Check SDK should not be installed in you app if the attestation providers are not configured for it, otherwise the SDK will do wasteful attempts to obtain Firebase App Check token which will introduce extra latency to the function calls and consume the device resources.

if FireFlutter plugin doesn't allow to install Functions without App Check, it should be addressed on the plugin side.

This will still need to wait for a release but feel free to close if you think it doesn't need to be tracked here anymore.

Thank you very much for this fix guys, I've also been facing this problem.
When are you planning to release this fix?

@gigandre Apple SDK part is scheduled for the next release which is expected to be public next week.
But I would like to stress one more time that Firebase App Check SDK should not be installed in your application if you are not planing to configure and use it. And if you actually use it, then proper way to test in the development environment is to configure Debug provider (see docs for more details.

@markusaksli-nc Before closing the issue, could you please confirm that FireFlutter allows installing Functions without App Check? The described issue should not be a blocker for developers for most of the cases because the proper way to use Function without App Check is not installing App Check in the app. We need to make sure that it is possible. Thank you.

@maksymmalyhin
FlutterFire functions module may be used without App Check module, they are separate.
However, it's important to recognize App Check debug modes are difficult to set up, the developer ergonomics are not comfortable. Specifically:

on iOS you may not change the provider after firebase configure. In a Flutter (or react-native-firebase) context this is quite painful as it requires AppDelegate.m changes that toggle on a debug provider or not, and cross-platform developers (Flutter, react-native) are typically not Objective-C folks.

on iOS again, in order to inject a token into the debug provider if you can get it configured in AppDelegate.m you need to add it to your app launch arguments from Xcode, except cross-platform folks (Flutter, react-ntaive) don't use Xcode typically - it is not a normal workflow at all. And to do inject the shared token from xcrun simctl requires an obscure setting (SIMCTL_CHILD_FIRAAppCheckDebugToken) to get it through to the app. It works, but almost no one knows how to do this, it's a barrier.

on Android to get App Check debug tokens working is maybe not even possible in Flutter at the moment? On react-native-firebase I made the maybe questionable decision to force DebugProvider if the app was debuggable but FlutterFire doesn't offer that. So developers would need to modify their main Application object in debug mode to set a new provider and then to know in debug to not activate the normal Flutter App Check module since that would override the debug provider. That's a big barrier

on Android again, to plumb through a debug token so things validate then requires adding a new dependency to the app build.gradle (the firebase-android-sdk app check test helper) which cross-platform developers are not familiar with, and you have to get the token through somehow, which is not easy. I resorted to a runtime patch on react-native-firebase in order to make it work.

I have direct experience from this because I implemented it for react-native-firebase and I help on FlutterFire things sometimes.
I think App Check is amazing, I really like it and was happy to wrap it up and expose it to more developers for use in react-native, but it is currently not that easy to work with in test+debug modes in cross-patform frameworks for the above reasons, and there's no practical option but to include it (with failures in test/debug) if you want to use it all.
So, with all that said, this:

The described issue should not be a blocker for developers for most of the cases because the proper way to use Function without App Check is not installing App Check in the app. We need to make sure that it is possible.

.. is not practical currently. All firebase modules both live and in emulator should work even if App Check is installed and not generating valid tokens. Otherwise it is effectively the equivalent of saying "you can't use App Check right now", even if technically it is possible with a lot of work. It is also not the expectation I have as a developer if I include AppCheck but don't set it to "enforcing" - I'm not expecting a side effect.
Please make it so all firebase modules work if App Check is included but not enforcing :pray:

@mikehardy Thank you for the detailed feedback. Now I understand the root of the problem better. Yeah, we definitely need to work on debug story for Flutter and React native. Would you mind opening separate issues for the Debug provider support so we can keep a focused discussion and track progress there.

Sure - let me really think about it a bit - I am really well-versed at how it is at the moment, but it's a big step to go from "this is how it is" to "this is how it should be" and be practical while being prescriptive and staying within what's technically possible. I'll start with an issue on firebase-ios-sdk and tag you there though to see what we can come up with.

@mikehardy Thank you for the valuable feedback! I do want to clarify that including the App Check module while not enforcing is explicitly a supported use case, because that's how we intend for developers to collect metrics and only enforce when they feel comfortable. Cases where the unenforced mode do not work properly are indeed bugs that should be fixed.

I agree with @weixifan. Additionally, existing apps needs to roll out an app version with an unenforced version, to get many active users as possible to the newest version, which supports Firebase App Check. Because enforcing Firebase App Check is a breaking change and will break the app for all users, with didn't installed the latest update. Therefore, every existing app needs a time, where Firebase App Check is in the app, but not enforced.

@nilsreichardt Indeed, the App Check metrics (viewable in the Firebase Console and also in Cloud Monitoring) are designed for precisely this transition phase.
I do want to re-emphasize the point @maksymmalyhin made above, which is that if the provider you chose is not properly configured in the Firebase Console, then the App Check module will cause additional latency and will waste device resources. It is recommended that you depend on the App Check module only when you are ready to begin the transition phase for your app, (starting with an unenforced state, of course).

In addition, i would say that depending on the application, the quotas and limits are not that clear either : For instance, i have seen the 10k requests per day for the SafetyNet Attestation API.
I could not find anything about Device Check in Apple documentation either.
My point is that any limitation of the App Check would simply block users after it is reached with enforcement, so we need to be really careful before making the transition

With the fix to all three platforms released, calls from devices that fail attestation should no longer result in an error when sending requests to Functions. On the Functions server-side SDK, the context.app object should now be null in that case, so your code is free to either enforce (reject those requests) or not.

With the fix to all three platforms released, calls from devices that fail attestation should no longer result in an error when sending requests to Functions. On the Functions server-side SDK, the context.app object should now be null in that case, so your code is free to either enforce (reject those requests) or not.

Thanks! Which version of firebase_app_check needs to be used?
Will 0.0.2+1 suffice?

I think you will probably need to override the underlying SDKs actually - when @weixifan mentions "all three platforms" I think that is referring to firebase-js-sdk / firebase-android-sdk / firebase-ios-sdk, not FlutterFire specifically.
This appears to be a description of the mechanism: https://firebase.flutter.dev/docs/overview/#overriding-native-sdk-versions then you may refer to the SDK release notes for the correct versions, as a general practice so you know what to specify - https://firebase.google.com/support/release-notes/android (should be 28.4.1?) and https://firebase.google.com/support/release-notes/ios (should be 8.7.0?)

@russellwheatley Are there any plans to update the native sdk for firebase_app_check package?


The plug-in does not work after it is published on Google Play Store

I have a strange behavior. I'm creating an xamarin.forms solution using the Montemagno Geolocator plugin. https://github.com/jamesmontemagno/GeolocatorPlugin. In debug mode everything is fine.
I have this API configuration: "Compiled Used Android Version: API27", "Minimun Android to Target: API21".
If I put "Target Android version: API27" the plugin geolocator always returns me error 'not Available'. If I put "Target Android version: Use Compile using SDK version" everything is ok but Google Play Store does not accept it because from August 1st it wants at least API26.
where is the error?
Bug Information
Version Number of Plugin: 4.2.0
Device Tested On: Samsung A5 2016
Simulator Tested On:
Version of VS: 15.8.7
Version of Xamarin:
Versions of other things you are using:
Steps to reproduce the Behavior
Expected Behavior
Actual Behavior
Code snippet
Screenshotst

I have updated everything, visual studio, NUGET, Android SDK. Now I have the problem on the Android emulator with target API27. If I set the target to "Use Compile Version" (i use SDK API27), geolocator will work but Play Store will not accept the APP for the new policy ...

You need to set permissions and ensure you have geolocation permissions before using the library at all: https://jamesmontemagno.github.io/GeolocatorPlugin/GettingStarted.html


[$1000] Web - Chat - Inconsistent parsing on occurrence of more than two consecutive styling characters

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

Open staging.new.expensify.com
Send this message : *** (triple asterisks)
Send this message : ___  (triple underscores)
Examine the difference of the parsing between the messages

Expected Result:
Both of the messages should be parsed the same, either all characters styling isn't parsed or the middle character got parsed
Actual Result:
While the bold characters (asterisks) isn't parsed, the italic characters (underscores) got parsed and only leave one underscore after parsed
Workaround:
Unknown
Platforms:

Which of our officially supported platforms is this issue occurring on?

[ ] Android / native
[ ] Android / Chrome
[ ] iOS / native
[ ] iOS / Safari
[x] MacOS / Chrome / Safari
[ ] MacOS / Desktop

Version Number: <IP_ADDRESS>
Reproducible in staging?: Yes
Reproducible in production?: Yes
If this was caught during regression testing, add the test name, ID and link from TestRail:
Email or phone of affected tester (no customers):
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation
https://user-images.githubusercontent.com/93399543/233133090-5616da89-20ef-4e4c-b358-3e110e0d8a58.mp4
https://user-images.githubusercontent.com/93399543/233133119-ad030e7e-14c2-4702-a2ad-4ee4e1070a0e.mp4
Expensify/Expensify Issue URL:
Issue reported by: @kerupuksambel
Slack conversation: https://expensify.slack.com/archives/C049HHMV9SM/p1681867484400789
View all open jobs on GitHub
Upwork Automation - Do Not Edit

Upwork Job URL: https://www.upwork.com/jobs/~01ab464dbcaa9a04d3
Upwork Job ID:<PHONE_NUMBER>150435840
Last Price Increase: 2023-04-26

Triggered auto assignment to @zanyrenney (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

Going to check in the channel.

https://expensify.slack.com/archives/C01SKUP7QR0/p1681921007844539?thread_ts=1681872394.446279&cid=C01SKUP7QR0

Job added to Upwork: https://www.upwork.com/jobs/~01ab464dbcaa9a04d3

Current assignee @zanyrenney is eligible for the External assigner, not assigning anyone new.

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (External)

Triggered auto assignment to @hayata-suenaga (External), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

Proposal
Please re-state the problem that we are trying to solve in this issue.
While the bold characters (asterisks) isn't parsed, the italic characters (underscores) got parsed and only leave one underscore after parsed.

either all characters styling isn't parsed or the middle character got parsed.

We should take about what we want to do here first since there're 2 ways mentioned here. If we try some other popular markdown editor (like Github itself), we'll see that the styling character itself will not be included in the final styled text. For example if we try test ___ (3 underscores) on Github, it will show as is without styling the 3 underscores.
So I think we should do the same here. It also doesn't make sense to style the middle _ since _ by itself does not have any italic style.
What is the root cause of that problem?

While the bold characters (asterisks) isn't parsed

This is because in https://github.com/Expensify/expensify-common/blob/07db321d9dffbc66a56d7d7bf42ba1cbf3df216e/lib/ExpensiMark.js#L143, we're excluding the * if it's inside the * * pair (see the ([^\s*]|\s(?!\*)) part).
While in https://github.com/Expensify/expensify-common/blob/07db321d9dffbc66a56d7d7bf42ba1cbf3df216e/lib/ExpensiMark.js#L135, we're not doing that, we still allow the _ character. That's why the problem occurs for the _
What changes do you think we should make in order to solve the problem?

We need to update this regex https://github.com/Expensify/expensify-common/blob/07db321d9dffbc66a56d7d7bf42ba1cbf3df216e/lib/ExpensiMark.js#L135 to not allow the lonely _ character inside the _, _ pair. We can do the same as we already do for the * as explained above.
What alternative solutions did you explore? (Optional)
NA

Proposal
Please re-state the problem that we are trying to solve in this issue.
Consecutive styling characters are not parsed consistently.
What is the root cause of that problem?
You can see the regex property of bold rule here
    name: 'bold',
    regex: /\B\*((?=\S)(([^\s*]|\s(?!\*))+?))\*\B(?![^<]*(<\/pre>|<\/code>|<\/a>))/g,
    replacement: (match, g1) => (g1.includes('<pre>') ? match : `<strong>${g1}</strong>`),

The main reason of this issue is [^\s*], which prevents * characters inside the ** from being matched.
What changes do you think we should make in order to solve the problem?
We need to remove the * from the above regex like below.
    regex: /\B\*((?=\S)(([^\s]|\s(?!\*))+?))\*\B(?![^<]*(<\/pre>|<\/code>|<\/a>))/g,

Result
https://user-images.githubusercontent.com/117526965/233333448-7d7fc5b8-8351-4dc6-81ba-8ad4097d0bf3.mp4
What alternative solutions did you explore? (Optional)
N/A

I believe both should not be parsed

Heading OOO, reapplying the Bug0 label for active management.

Triggered auto assignment to @alexpensify (Bug), see https://stackoverflow.com/c/expensify/questions/14418 for more details.

Bug0 Triage Checklist (Main S/O)

[ ] This "bug" occurs on a supported platform (ensure Platforms in OP are ✅)
[ ] This bug is not a duplicate report (check E/App issues and #expensify-bugs)

If it is, comment with a link to the original report, close the issue and add any novel details to the original issue instead

[ ] This bug is reproducible using the reproduction steps in the OP. S/O

If the reproduction steps are clear and you're unable to reproduce the bug, check with the reporter and QA first, then close the issue.
If the reproduction steps aren't clear and you determine the correct steps, please update the OP.

[ ] This issue is filled out as thoroughly and clearly as possible

Pay special attention to the title, results, platforms where the bug occurs, and if the bug happens on staging/production.

[ ] I have reviewed and subscribed to the linked Slack conversation to ensure Slack/Github stay in sync

I believe my proposal is the right one for this job. As it is the first to identify the problem and provide the solution. All other solutions are similar to my proposal.

thanks @parasharrajat for the review!
I've updated my proposal to remove the use of lookbehind.

I was following guidelines provided on upwork by Expensify where it's written then You are not required to submit the final solution or code along with your proposal.. I thought I have already explained the problem and provided the video evidence in my proposal after solving the problem without providing the final code.

📣 It's been a week! Do we have any satisfactory proposals yet? Do we need to adjust the bounty for this issue? 💸

Waiting on proposals here

Waiting on proposals here

Proposal
Updated

@parasharrajat - when you get a chance, may you please review the updated proposal? Thanks!

Proposal
Updated
I updated on 26 - April. Forgot to comment here.

@parasharrajat thank you for your reviews let's go with @dukenv0307's proposal

📣 @dukenv0307 You have been assigned to this job by @hayata-suenaga!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

@alexpensify @parasharrajat @hayata-suenaga @dukenv0307 this issue was created 2 weeks ago. Are we close to approving a proposal? If not, what's blocking us from getting this issue assigned? Don't hesitate to create a thread in #expensify-open-source to align faster in real time. Thanks!

Melvin, the PR is in review! 👏🏼

PR has been merged!

Thank you, I updated my comment.

The new PR is in the works!

@alexpensify can you check @parasharrajat's comments?

Thank you @parasharrajat for the work here. I'm aware of the two PRs and I'll review the payment breakout later this week since payment is not due until next week.

Still on hold for payment.

I've started an internal discussion to confirm the payments.

I've reviewed the two PRs with the team. We have confirmed that it is common that some GitHubts like this one could require two PRs. One PR to make the update in expensify-common and then another to bring the updated expensify-common version in App. With that said, the bonus will not apply here. The merge was past the 3-business day mark. With that said, this GH has the following payouts.
Issue reporter: $250 - @kerupuksambel
Contributor: $1,000 - @dukenv0307
Contributor+: $1,000- @parasharrajat
If anyone has feedback please share. If no response, tomorrow, I’ll complete the next steps in Upwork. Thank you!

@kerupuksambel, @dukenv0307, and @parasharrajat please apply here!

@dukenv0307 please apply! @parasharrajat @kerupuksambel sent offers!

@dylanexpensify applied, thank you!

@dukenv0307 offer sent!

Done!

Thanks for the assist here @dylanexpensify!


fix(github): fix test conn

Summary
spent a lot time to investigate, finally found that errors.Default.Wrap receive a nil for the first param
Does this close any open issues?
closes #3075
Screenshots
Include any relevant screenshots here.
Other Information
Any other information that is important to this PR.

This is fixed by @keon94 's pr #2984
But imported another bug: