eSlider and GitHub
5b812ce346
Merge pull request #40 from eSlider/feat/put-txt-line-breaks
...
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 4s
Tests / Test (Go 1.25) (push) Successful in 26s
Tests / Test (Go stable) (push) Successful in 27s
feat(docs): put-txt with preserved line breaks
2026-08-28 09:58:04 +01:00
eSlider and Cursor
309ae44ee4
feat(docs): put-txt preserves line breaks in DOCX
...
TxtToMarkdown uses markdown hard breaks so pandoc keeps each source
line on its own row. Adds oo docs put-txt and projects files alias.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 09:57:55 +01:00
eSlider and GitHub
ff2bc539f5
Merge pull request #39 from eSlider/fix/delete-immediately
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 5s
Tests / Test (Go 1.25) (push) Successful in 28s
Tests / Test (Go stable) (push) Successful in 29s
fix(files): permanent delete via DeleteDavItems
2026-08-28 09:56:21 +01:00
eSlider and Cursor
d9a7adcd94
fix(files): DeleteDavItems with Immediately true
...
Soft-delete (Immediately false) failed on some project files with
"You don't have enough permission to create" when moving to Trash.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-28 09:56:10 +01:00
eSlider and GitHub
3713ed6c51
Merge pull request #37 from eSlider/feat/files-dedupe
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 3s
Tests / Test (Go 1.25) (push) Successful in 26s
Tests / Test (Go stable) (push) Successful in 27s
feat(files): dedupe command + stem|ext matching
2026-08-27 23:40:16 +01:00
eSlider and Cursor
ac06d86363
feat(files): dedupe by stem|ext + oo projects files dedupe
...
- FileDedupKey groups true duplicates (same name+extension)
- put-md --replace deletes matching stem|ext only (not other formats)
- oo projects files dedupe PROJECT_ID [--apply] [--cross]
- Cross-folder mode prefers non-_trash folders, keeps newest file
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 23:40:07 +01:00
eSlider and GitHub
7d397ac680
Merge pull request #35 from eSlider/release-please--branches--main--components--go-onlyoffice
...
chore(main): release 0.14.0
2026-08-27 23:36:54 +01:00
github-actions[bot] and GitHub
e52cb31bb7
chore(main): release 0.14.0
2026-08-27 22:36:44 +00:00
eSlider and GitHub
a8cb4e9780
Merge pull request #36 from eSlider/fix/delete-files-dav
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 4s
Tests / Test (Go 1.25) (push) Successful in 1m29s
Tests / Test (Go stable) (push) Successful in 1m31s
fix(files): DeleteFiles actually removes files on produktor OO
2026-08-27 23:36:19 +01:00
eSlider and Cursor
622dcdb7bf
fix(files): DeleteFiles via per-file DELETE API
...
fileops/delete returns 200 on produktor.io OO without removing files;
route DeleteFiles through DeleteDavItems so put-md --replace and oo rm work.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 23:36:10 +01:00
eSlider and GitHub
2b267d36a8
Merge pull request #34 from eSlider/fix/put-md-upsert
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 4s
Tests / Test (Go stable) (push) Successful in 1m23s
Tests / Test (Go 1.25) (push) Successful in 1m31s
fix(docs): put-md upsert — no duplicate folder files
2026-08-27 23:29:09 +01:00
eSlider and Cursor
50bd47570b
fix(docs): put-md upsert by stem to avoid duplicate folder files
...
UploadToFolderReplacing deletes same-stem files before upload (--replace,
default true). OO may still display title+fileExst as double extension.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 23:28:11 +01:00
eSlider and GitHub
096a996726
Merge pull request #33 from eSlider/release-please--branches--main--components--go-onlyoffice
...
chore(main): release 0.13.0
2026-08-27 17:57:02 +01:00
github-actions[bot] and GitHub
625dd0a60a
chore(main): release 0.13.0
2026-08-27 16:40:41 +00:00
eSlider and GitHub
e531de280f
Merge pull request #32 from eSlider/feat/docs-hocr
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 3s
Tests / Test (Go stable) (push) Successful in 1m43s
Tests / Test (Go 1.25) (push) Successful in 1m48s
feat(docs): hOCR → Markdown via go-hocr
2026-08-27 17:40:15 +01:00
eSlider and Cursor
129e3a58cc
chore: tidy go.sum after go-hocr bump
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 17:37:39 +01:00
eSlider and Cursor
70e605b4ca
docs(readme): document oo docs hocr
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 17:36:37 +01:00
eSlider and Cursor
a264cbd61c
feat(docs): oo docs hocr — tesseract hOCR → go-hocr Markdown/YAML
...
Structured OCR path for agents alongside ocrmypdf searchable PDF.
as-md --hocr selects the same pipeline for OO downloads.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 17:36:20 +01:00
eSlider and GitHub
a97a160c44
Merge pull request #29 from eSlider/release-please--branches--main--components--go-onlyoffice
...
chore(main): release 0.12.0
2026-08-27 17:05:08 +01:00
github-actions[bot] and GitHub
df447f2673
chore(main): release 0.12.0
2026-08-27 15:59:02 +00:00
eSlider and GitHub
db9ef12ff4
Merge pull request #31 from eSlider/feat/docs-md-ocr
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Failing after 4s
Tests / Test (Go 1.25) (push) Successful in 1m57s
Tests / Test (Go stable) (push) Successful in 2m1s
feat(docs): md↔docx, OCR→PDF, as-md/put-md
2026-08-27 16:58:36 +01:00
eSlider and Cursor
2c0df0d55f
fix(ci): point gitleaks at /github/workspace in docker action
...
The docker:// runner mounts the checkout at /github/workspace; using
${{ github.workspace }} (host path) made gitleaks fail with ENOENT.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 16:56:40 +01:00
eSlider and Cursor
239c5ea672
docs(readme): document oo docs md↔docx / OCR agent workflow
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 16:49:18 +01:00
eSlider and Cursor
6ea2fbadf7
feat(docs): md↔docx convert, OCR→PDF, as-md/put-md for agents
...
Add oo docs pipeline (pandoc/ocrmypdf) so agents keep Markdown locally while OnlyOffice stores versioned DOCX; OCR weak PDFs/images before returning MD. Also expose ListFolder/CreateFolder/MoveFiles/UploadToFolder.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-08-27 16:49:06 +01:00
eSlider
50d8974154
Merge pull request 'feat(security): secret-scan в CI + pre-push хуки ( #142 )' ( #5 ) from feat/secret-scan#142 into main
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Secret scan (gitleaks) (push) Successful in 3s
Tests / Test (Go 1.25) (push) Successful in 44s
Tests / Test (Go stable) (push) Successful in 45s
2026-08-23 22:46:45 +01:00
eSlider
3fd3f797dc
Merge pull request 'reconcile(github): sync GitHub-only commits into Gitea main ( #144 )' ( #6 ) from reconcile/github-sync#144 into main
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Successful in 50s
Tests / Test (Go stable) (push) Successful in 44s
merge(github): sync GitHub-only commits into Gitea main (#144 )
2026-08-23 19:55:48 +01:00
eSlider
0e299d0692
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
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.
2026-08-23 19:55:39 +01:00
Andriy Oblivantsev
9ead554f5c
feat(security): secret-scan via gitleaks in CI + pre-push/pre-commit hooks ( #142 )
Release Please / Release Please (push) Skipped
Release / GoReleaser (push) Skipped
Tests / Secret scan (gitleaks) (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Tests / Secret scan (gitleaks) (pull_request) Successful in 4s
Tests / Test (Go 1.25) (pull_request) Successful in 48s
Tests / Test (Go stable) (pull_request) Successful in 51s
2026-08-23 19:51:06 +01:00
eSlider
77c188c640
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
v0.14.0
2026-08-21 22:03:04 +01:00
eSlider
2a59817f51
Merge feat/contact-indexes: crm indexes + history whitelist
2026-08-21 22:02:48 +01:00
eSlider
9c450a0352
feat(crm): contact email & person-opportunity indexes, history entity whitelist
...
- 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
2026-08-21 22:02:47 +01:00
eSlider and GitHub
ab7dfbd859
Merge pull request #28 from eSlider/feat/mail-send
...
feat(mail): oo mails send — SendMail client + guard empty-by-id
2026-08-21 17:21:18 +01:00
eSlider
dda2bd3ca5
feat(mail): oo mails send — SendMail + guard empty-by-id send
...
- 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
2026-08-21 16:43:00 +01:00
eSlider and GitHub
ceea6d909e
Merge pull request #27 from eSlider/feat/mails-download-attachment-cli
...
oo CLI: mail attachment downloads
2026-08-21 15:25:08 +01:00
eSlider
ecf34ba51a
fix(files): rewrite viewUrl host to API base on download
...
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).
2026-08-20 10:48:38 +01:00
eSlider
ebbd5d5373
feat(files): add WebDAV-oriented Files operations
...
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).
2026-08-20 10:37:07 +01:00
eSlider
20a09530cd
Merge pull request 'Add oo CLI support for mail attachment downloads' ( #3 ) from feat/mails-download-attachment-cli into main
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Reviewed-on: #3
2026-08-19 12:17:10 +01:00
eSlider
666be883dc
Add oo CLI support for mail attachment downloads.
...
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 24s
Tests / Test (Go stable) (pull_request) Successful in 26s
This exposes the canonical attachment download path via oo mails so downstream tools like 2dph can migrate off local OnlyOffice mail adapters without taking a direct module dependency first.
2026-08-19 12:10:21 +01:00
eSlider
65cd3f5c74
Merge pull request #2 from feat/mail-download-for-2dph
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Successful in 41s
Tests / Test (Go stable) (push) Successful in 41s
Add mail attachment download support for 2dph integration.
2026-08-19 12:08:04 +01:00
eSlider
1ef0670624
Add mail attachment download support for 2dph integration.
...
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 50s
Tests / Test (Go stable) (pull_request) Successful in 51s
This gives go-onlyoffice a cookie-backed attachment download path so 2dph can reuse the canonical OnlyOffice client instead of keeping a local mail adapter.
2026-08-19 12:05:25 +01:00
eSlider and GitHub
10c1cfc6a7
ci: node16-safe actions + GitHub-only gates for Gitea mirror ( #25 )
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Successful in 1m28s
Tests / Test (Go stable) (push) Successful in 1m23s
The Gitea act_runner runs action JS in node:16-bullseye; setup-go@v5 crashes
with 'ReferenceError: ReadableStream is not defined'. Gitea discovers
.github/workflows too, so:
- setup-go@v5 -> @v4 (node16-safe, fine on GitHub)
- gate GoReleaser (release.yml) + release-please jobs to
github.server_url == https://github.com so the GitHub CD never runs on the
Gitea mirror (GoReleaser/release-please are GitHub-release-centric)
2026-08-19 11:12:58 +01:00
8ced804a6f
chore(main): release 0.11.0 ( #24 )
...
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Release / GoReleaser (push) Failing after 47s
Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com>
v0.11.0
2026-08-19 08:52:13 +01:00
eSlider
256864f613
feat(catalog): port oo catalog (scan/merge/match/apply) from legacy branch
...
Release / GoReleaser (push) Skipped
Release Please / Release Please (push) Failing after 2s
Tests / Test (Go 1.25) (push) Successful in 1m22s
Tests / Test (Go stable) (push) Successful in 1m23s
The catalog feature (approved ASR-0014) was lost during the GitHub history
rewrite: the merge commit on main is empty and the code only survived on the
old gitea-history branches (no merge base with main). Port catalog/* and the
oo catalog CLI verbatim; drop the library-only applications package whose
Sync() created the 'Write application'/'Apply application'/'Send CV' CRM
task spam (23k+ tasks deleted 2026-08-18).
2026-08-18 12:41:58 +01:00
eSlider and GitHub
a3a6ad3543
Merge pull request #23 from eSlider/release-please--branches--main--components--go-onlyoffice
...
Release Please / Release Please (push) Skipped
Tests / Test (Go 1.25) (push) Skipped
Tests / Test (Go stable) (push) Skipped
Release / GoReleaser (push) Failing after 46s
chore(main): release 0.10.0
v0.10.0
2026-08-13 13:13:52 +01:00
github-actions[bot] and GitHub
0161a92c52
chore(main): release 0.10.0
2026-08-13 09:21:46 +00:00
eSlider
0e80a1a058
Add milestone create and task start dates so Gantt bars can exist.
...
CLI: oo projects milestone-create, oo tasks create --start --milestone.
2026-08-13 10:21:15 +01:00
eSlider
8b27539145
chore: restore LICENSE copyright holder
...
History rewrite anonymized author strings; keep accurate MIT copyright on tip.
2026-08-10 00:14:08 +01:00
eSlider
a0add3b771
chore: anonymize remaining CLI examples and hostnames
...
Keep public docs/help free of client names and fixed portal URLs.
2026-08-10 00:13:52 +01:00
eSlider
b58940fcf2
chore: redact personal ops from public tree
...
Move catalog, dossier sync, and SearXNG to private oo-workspace; keep
generic CRM name/title helpers and anonymized docs/examples.
2026-08-10 00:12:54 +01:00
eSlider
11aa23f1a1
docs(crm): Team vs Contacts and persons update note
2026-08-09 14:28:17 +01:00