Commit graph

12 commits

Author SHA1 Message Date
Art Malanok
95bf1e5820 0.1.7: remove text-decoration to clear Obsidian scorecard warning
The scorecard flags the text-decoration property at the property level —
every value trips it. 0.1.6 switched longhand -> shorthand and was still
flagged. Removed the .ot-task-row.completing strikethrough rule entirely;
completion is already conveyed by the opacity fade + collapse.

Co-authored-by: Isaac
2026-05-29 14:14:52 -07:00
Art Malanok
dfe2f2c383 v0.1.6: use text-decoration shorthand for Obsidian 1.9.12 compatibility
Obsidian Community scorecard flagged text-decoration-line /
text-decoration-color longhand properties as only partially supported
by Obsidian 1.9.12. Consolidated into the shorthand form which is
universally supported.

Co-authored-by: Isaac
2026-05-28 10:26:32 -07:00
Art Malanok
2780e7bb55 v0.1.5: address Obsidian Community scorecard findings
- styles.css: switch `text-decoration` shorthand to `text-decoration-line`
  longhand (silences Obsidian 1.9.12 partial-support warning).
- vault enumeration: replace `vault.getFiles()` + path-prefix filter in
  3 call sites (settings.ts, inlineTaskWatcher.ts, taskStore.ts) with
  a new `getMarkdownFilesInFolder(app, folderPath)` helper using
  `Vault.recurseChildren` scoped to the configured task folder. The
  plugin no longer enumerates the full vault — clears the scorecard
  "Vault Enumeration" finding.
- add `.github/workflows/release.yml` invoking
  `actions/attest-build-provenance@v2` so release assets carry
  GitHub-signed build attestations.
- commit `package-lock.json` for reproducible CI builds. This also
  unblocks Obsidian's automated build verification + malware scan.
- fix two preexisting `ReturnType<typeof setTimeout>` vs
  `activeWindow.setTimeout` (`number`) type mismatches surfaced by
  tsc --noEmit (settings.ts + taskView.ts).

Co-authored-by: Isaac
2026-05-27 16:54:09 -07:00
Art Malanok
4f68f82e96 v0.1.4: address Obsidian Community automated review scorecard (code + styles)
Migrated from the legacy obsidianmd/obsidian-releases PR workflow to
the new https://community.obsidian.md portal. The new automated scan
flagged 128 findings on v0.1.3; this commit addresses the code, style,
and infrastructure findings.

Code (TypeScript)
- Replace document.createElement("div"|"span"|"input"|"datalist"|
  "option") with Obsidian's createDiv/createSpan/createEl helpers
  (~30 call sites across src/views/ and src/interactions/).
- Replace document.createElementNS(svg-ns, ...) with createSvg().
- Replace bare document.X / document.querySelector /
  document.createTextNode with activeDocument.X for popout window
  compatibility.
- Replace setTimeout/clearTimeout/window.setTimeout/window.clearTimeout
  with activeWindow.setTimeout/clearTimeout (7 call sites).
- Introduce TaskFrontmatter interface in src/types.ts and narrow all
  metadataCache.getFileCache(...).frontmatter accesses to it — fixes
  the bulk of no-unsafe-* lint warnings.
- Type-safe loadData() in main.ts via Partial<TasksPluginSettings>.
- stripWikilinks() now accepts unknown and narrows internally.
- Use configured inlineTaskTag in the inline task regex (the `tag`
  parameter was declared-but-unused).
- Prefix the unused sourceFile parameter on updateStub with `_`.

Styles
- Remove all !important declarations (5 occurrences); bump
  specificity via .ot-view parent selector instead.
- Merge the duplicate .ot-task-row definition and guard touch-target
  overrides under @media (pointer: coarse).
- Expand #fff -> #ffffff.

Infrastructure
- Add CONTRIBUTING.md (fixes "missing contributing guide" hygiene
  flag on the portal scorecard).

Deferred for follow-up
- package-lock.json — couldn't generate from this session
  (npmjs.org unreachable). Run `npm install` locally and commit
  the lockfile to clear the last "no lockfile" finding.
- .github/workflows/release.yml — needs `workflow` OAuth scope to
  push; will be added in a follow-up commit.
2026-05-26 17:08:12 -07:00
Art Malanok
e69a0bc2cd v0.1.3: address ObsidianReviewBot follow-up findings
- main.ts: await revealLeaf() calls in activateView (promises-must-await)
- settings.ts: remove "General" heading (Obsidian guideline)
- settings.ts / bucketComponent.ts / taskView.ts: sentence-case fixes
  (lowercase mid-sentence labels, drop "+" from button text, lowercase
  example placeholders)
- taskView.ts: drop unused async on onOpen() and return Promise.resolve()
  explicitly (async-method-no-await)
2026-04-21 16:01:58 -07:00
Art Malanok
c58cdf5638 v0.1.2: address ObsidianReviewBot findings
Why:
- Fix unhandled promises (void-prefixed calls in event listeners, setTimeout
  callbacks, and sync handlers).
- Replace async-without-await signatures (loadTasks, onunload, onClose,
  countTasksInBucket) with sync equivalents.
- Narrow nullish-coalesce stringify of keyof TaskItem to exclude TFile /
  objects from "[object Object]" stringification.
- Replace innerHTML with DOM API in the empty-state renderer.
- Replace createEl("h2", ...) with setHeading() via Setting API for
  settings sections.
- Move inline element.style.* assignments into styles.css classes.
- Use FileManager.trashFile() instead of Vault.delete() for stub cleanup.
- UI strings use sentence case ("Open tasks", "New bucket", "Secondary
  grouping", "Getting started").
- Remove unused imports/bindings (BucketGroup, TaskRowCallbacks,
  BucketConfig, originalOnComplete).

Co-authored-by: Isaac
2026-04-16 18:38:53 -07:00
Art Malanok
b1a966534a v0.1.1: rename plugin id to minimal-task-board 2026-04-16 17:41:01 -07:00
Art Malanok
cb9adf3008 fix: board-source sync, mobile context menu, collision handling
- Wire toggleDoneWithSync: checking task on board now checks source note
- Add right-click/long-press context menu with "Move to..." bucket list
- Warn when changing bucket property in settings
- Handle stub filename collisions with random suffix
- Document #task position and multiple wikilink behavior

Co-authored-by: Isaac
2026-03-26 12:16:32 -07:00
Art Malanok
2f8b72c4b2 chore: rename plugin to obsidian-task-manager
Avoids name collision with existing "Tasks" and "Task Board" plugins
in the Obsidian community registry.

Co-authored-by: Isaac
2026-03-25 21:21:48 -07:00
Art Malanok
8d20822667 chore: replace customer names with generic examples
Co-authored-by: Isaac
2026-03-25 20:51:34 -07:00
Art Malanok
9f88021fed feat: obsidian-tasks v0.1.0 — clean, minimal task board plugin
Board and Focus view modes with customizable buckets, secondary
grouping by any frontmatter property, inline #task tracking from
notes with bidirectional sync, drag-and-drop, completion animations,
ARIA accessibility, and mobile-friendly touch targets.

Co-authored-by: Isaac
2026-03-25 20:48:39 -07:00
Art Malanok
32858393a1 Initial commit 2026-03-25 20:48:10 -07:00