mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-11-10 18:17:02 +01:00
A photo sent to the chat no longer enters the album by itself. pack_add strips it, checks it against the album and the queue, and writes it to pending/ with a sidecar naming the people and labels the sender proposed; the reply is "czeka na zatwierdzenie". The management page lists the queue above the tagger, with the proposal pre-ticked, and Approve moves the file in, mints the labels, records approved_at and asks the bot to rebuild its table through /_reload -- the same publish path every other data change takes, so PackHolder.reload is gone. A reload the bot refuses is reported on the page, not rolled back: the photo is in the album either way. The personal-data gate now reads pending/*.json too, so a label that is still waiting for approval is forbidden in the tree already. The e2e run boots the management page beside the bot with the same environment, proves the queue is stripped and never reaches media/, approves it through the real routes, and has !losowe answer with the photo afterwards without a restart; exiftool is found through media_strip.locate() there rather than PATH, which lacks vendor_perl on Arch. !gadaj is dropped from !odcisz: it was within a typo of !dodaj, and the nearest-command suggestion must never be a coin toss. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
16 lines
794 B
YAML
16 lines
794 B
YAML
# An mp4 geotagged the way a phone does it: a QuickTime udta atom, which a
|
|
# naive "-GPS:all" gate passes straight through because exiftool files it
|
|
# under QuickTime and not under GPS. It is accepted, and scripts/e2e.sh then
|
|
# re-reads the queued file and fails the run if the atom survived.
|
|
name: "a geotagged mp4 is stripped of its QuickTime atom and queued"
|
|
inject:
|
|
- {
|
|
text: "!dodaj gamma", uuid: uuid-add-video, name: AddVideo,
|
|
attachment: att-video, attachment_type: "video/mp4",
|
|
}
|
|
# Tagged to gamma rather than alfa on purpose: pack_command.yaml asserts
|
|
# !alfa returns an image, and the pick is random -- putting a clip in p1
|
|
# would make that scenario fail about half the time once approved.
|
|
expect:
|
|
- { kind: text, to: reply, contains: "czeka na zatwierdzenie" }
|