Skip to content

Lost repo update in API call

Steps

curl 'https://salsa.debian.org/api/v4/projects?order_by=last_activity_at&sort=asc&per_page=3&last_activity_after=2025-11-23T12:06:00.000Z' | jq .

curl 'https://salsa.debian.org/api/v4/projects/6932' | jq .

Expected output

  1. The repository https://salsa.debian.org/debian/libdevel-symdump-perl.git should appear in the result set.

  2. The last_activity_at field should be at least 2025-11-23T12:07:23Z.

Actual output

  1. I see three other repositories with
    "last_activity_at": "2025-11-23T12:06:01.887Z",
    "last_activity_at": "2025-11-23T12:06:02.515Z",
    "last_activity_at": "2025-11-23T12:10:32.963Z",
  1. I see:
  "last_activity_at": "2025-11-23T11:46:38.030Z",

Justification

This repository received a tag2upload tag push via webhook at 2025-11-23T12:07:23Z, https://tag2upload.debian.org/job/1842.

The logs of the tag2upload service webhook receiver say:

2025-11-23T12:07:23.978512Z  INFO tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1842 now=Noticed info="job received, tag not yet fetched" event= source=libdevel-symdump-perl, from [2607:f8f0:614:1::1274:44]/"godard.debian.org", url=https://salsa.debian.org/debian/libdevel-symdump-perl.git tag=debia
n/2.18-6 objectid=1f31a49c177042dd6b537e218d00bb1f774a0420

So the tag was received by gitlab, at that time, and it correctly sent a webhook event, but somehow it didn't update the last activity date?!

I have just experimentally deleted and recreated the tag debian/1.55 in https://salsa.debian.org/dgit-team/dgit-test-dummy.git. This correctly resulted in:

2025-11-23T23:27:53.279435Z  INFO tag2upload_service_manager::webhook: [salsa.debian.org] received jid=1845 now=Noticed info="job received, tag not yet fetched" event= source=dgit-test-dummy, from [2607:f8f0:614:1::1274:44]/"godard.debian.org", url=https://salsa.debian.org/dgit-team/dgit-test-dummy.git tag=debian/1.55 objectid=75727e8a0f79874adb34b3143140ab01f1330f86
2025-11-23T23:27:53.331825Z  INFO tag2upload_service_manager::db_workflow: [host=salsa.debian.org] updated (fetch) jid=1845 now=NotForUs info="not for us: tag is too old (8months 26days 21h 31m 22s 328ms 52us 139ns > 3days)"

and now

curl 'https://salsa.debian.org/api/v4/projects/36575' | jq .
...
  "last_activity_at": "2025-11-23T23:27:48.126Z",
...

and my scraper logs show it turning up via the /projects? API too.

Next steps

Would you please look at the salsa logs?

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information