reconcile(github): sync GitHub-only commits into Gitea main (#144) #6

Merged
eSlider merged 9 commits from reconcile/github-sync#144 into main 2026-08-23 19:55:48 +01:00
Owner

Синхронизация расхождения go-onlyoffice: main на Gitea и GitHub разошлись. Этот PR переносит коммиты, существовавшие только на GitHub (mail-send SendMail, files ops/WebDAV, contact-indexes CRM, history whitelist), в Gitea main (источник истины).

После мержа: Gitea main = GitHub main по содержимому, затем зеркалим Gitea main -> GitHub, чтобы sha совпал.

Никаких коммитов не теряется; история не переписывается.

Синхронизация расхождения go-onlyoffice: main на Gitea и GitHub разошлись. Этот PR переносит коммиты, существовавшие только на GitHub (mail-send SendMail, files ops/WebDAV, contact-indexes CRM, history whitelist), в Gitea main (источник истины). После мержа: Gitea main = GitHub main по содержимому, затем зеркалим Gitea main -> GitHub, чтобы sha совпал. Никаких коммитов не теряется; история не переписывается.
eSlider added 9 commits 2026-08-23 19:55:45 +01:00
Add value-oriented Files module operations for filesystem backends:
ListDavFolder, ListDavSections (@root), CreateDavFolder, RenameDavFolder/
RenameDavFile, MoveDavItems, CopyDavItems, DeleteDavItems, UploadDavFile
(streaming), DownloadDavFile. Dependency-free (net/http only).
resolveAPIURL now rewrites absolute viewUrl hosts to the configured portal
base so downloads stay on the internal network and keep the Authorization
header (a cross-host HTTP->HTTPS redirect would otherwise strip it, failing
large-file reads).
oo CLI: mail attachment downloads
- Client.SendMail: PUT /api/2.0/mail/messages/send.json, omits empty cc/bcc
- oo mails send subcommand with --id/--to/--subject/--body/--cc/--bcc
- guard: sending by --id without --body errors (send.json does not copy
  subject/body from the draft; prevents empty emails)
- unit test: empty cc/bcc omitted, correct path
feat(mail): oo mails send — SendMail client + guard empty-by-id
- BuildContactEmailIndex: one-pass email→contact id map over all persons
  (O(N) instead of per-address FindPersonByEmail O(N×M))
- BuildPersonOpportunityIndex: person→lowest-id opportunity for history notes
  (OO has no person-level history; verified live)
- HistoryEntity{Opportunity,Case} whitelist constants
- IsCompany/ContactID/NumericIDLess/SortIDs helpers with unit tests
Merge origin/main (mail-send PRs, files ops) into local main
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Release / GoReleaser (push) Skipped
77c188c640
merge(github): bring GitHub-only commits into Gitea main (#144)
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Test (Go 1.25) (pull_request) Successful in 48s
Tests / Test (Go stable) (pull_request) Successful in 50s
0e299d0692
Merges GitHub main content (mail-send SendMail, files ops/WebDAV,
contact-indexes CRM, history whitelist) onto Gitea main so Gitea (source
of truth) contains every commit from both sides.
eSlider merged commit 3fd3f797dc into main 2026-08-23 19:55:48 +01:00
Sign in to join this conversation.
No Reviewers
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: eSlider/go-onlyoffice#6