Commit graph

184 commits

Author SHA1 Message Date
Johannes Millan
ef5b2fe704 docs(readme): remove TestMu AI sponsor 2026-06-01 16:36:35 +02:00
Johannes Millan
f10d0e9d48
Android soft-keyboard: fix dark-theme white flash on resize (#7839)
* test(e2e): raise timeouts for two CI-flaky waits

Both timeouts repeatedly hit their limit on saturated scheduled runners
without indicating a real product regression:

- supersync.page.ts:781 — final sync-state icon waitFor went 10s → 30s.
  The race above it already consumed a 30s budget, so falling back to
  10s here is too tight when the runner is hot (e.g. SuperSync 5/6 in
  run 26514574130, "Client A can migrate multiple times" failure).
- repeat-task-day-change #6230 — post-midnight visibility went 30s → 60s.
  Even with the focus-event fallback added in 46ac873570, the 1s tick
  + debounce + sync chain can still exceed 30s under contention.

* fix(android): keep foreground services alive across task removal

The focus-mode and tracking foreground services overrode onTaskRemoved
to stop themselves when the app was swiped from recents, which defeats
the purpose of running them as foreground services. Remove the
overrides so the native countdown continues ticking and the notification
persists after task removal.

Refs #7818, #4513

* fix(theme): stabilize Android keyboard-height tracking

Per-event commits during the Android IME open animation sampled
partial keyboard amounts from `window.innerHeight - visualViewport.height`
(layout-viewport adjustResize and visual-viewport resize fire at slightly
different times), parking the global add-task bar mid-page. Debounce the
open path 200ms so only the final value lands; commit synchronously when
the value falls back to zero so the bar drops the moment the IME is gone.

* fix(theme): prevent white flash on Android keyboard resize

The Android WebView surface defaulted to white, so adjustResize keyboard
animations briefly exposed it before the page repainted at the new size —
jarring in dark theme. Paint the surface in the theme background: a
values/values-night color resource provides the cold-start default, and a
new NavigationBar.setWebViewBackgroundColor push keeps it in sync on live
theme switches (the activity is not recreated since uiMode is in
configChanges).

Also promote the full-viewport gradient backdrop to its own compositor
layer as a first-pass mitigation for resize choppiness, pending deeper work.

Not yet verified on-device.

* docs(android): plan to smooth soft-keyboard resize jank

Research + multi-reviewed plan for the remaining keyboard-resize choppiness
(the white-flash half is already fixed in 80b08f0e96). Root cause: adjustResize
resizes the WebView window per frame (WebView is excluded from Chrome 108's
visual-viewport fix). Recommends a KISS core — flip only CapacitorMainActivity
to adjustNothing + reuse the existing visualViewport/--keyboard-height model and
scroll-into-view — gated behind a baseline trace, with VirtualKeyboard API and
CSS containment kept as contingencies behind proven need.

* perf(theme): dedupe Android keyboard-visibility emissions

The native OnGlobalLayoutListener pushes isKeyboardShown$ on every layout pass
(every frame of the IME slide), so the subscriber rewrote <body> classes and
re-triggered change detection each frame. distinctUntilChanged collapses it to
actual show/hide transitions.

* docs(android): correct keyboard-resize plan for min-Chrome-107

Implementation review found MIN_CHROMIUM_VERSION=107, but WebView only
auto-resizes the visual viewport for the IME at ~Chrome 139. So a static
adjustNothing flip would leave Chrome 107-138 with no keyboard-height signal
(inputs silently covered). Corrected the plan: VirtualKeyboard API is required
(not optional), the switch must be runtime-gated via a native setSoftInputMode
method keeping adjustResize as the fallback, and the cheap containment route is
now Phase 1 (try first) with the bigger flip as Phase 2. distinctUntilChanged
win shipped (f486496b7b).

* style(theme): drop no-op keyboard backdrop compositing

The will-change/backface-visibility on body::before was added to reduce
keyboard-resize choppiness, but review showed it's a no-op: the backdrop
resizes every frame so it re-rasterizes regardless of layer promotion, while
the hint allocates an always-on compositor layer on every platform. The
white-flash fix (WebView background color) is unaffected.

---------

Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
2026-05-28 16:56:21 +02:00
Gaurav Patidar
9abb8ce000
fix(readme): correct anchor and strong tag nesting (#7833)
* fix(readme): correct anchor and strong tag nesting

Corrected <strong> and <a> tag nesting.

* fix(readme): correct anchor and strong tag nesting

Corrected <strong> and <a> tag nesting
2026-05-28 13:24:35 +02:00
Corey Newton
cf16790b6a
docs: update README to reflect state of wiki (#7450)
The wiki is now ready for general use. I have added some notes regarding
the use of DeepWiki and how it complements the official one. The
`.devin` directory contains a file that should help steer the auto-doc
process. My two primary aims are:
1. avoid polluting the DeepWiki resource with the existing docs in case
   of error propagation and LLM context poisoning
2. Generate a differential of the observed code and the observed content
   in docs/wiki to aid in future doc updates.
2026-05-01 20:56:15 +02:00
novikov1337danil
1abb15b804
refactor(backup): unify backup filename format (#7141)
* refactor(backup): implement consistent timestamp for backup filenames

* refactor(i18n): rename PRIVACY_EXPORT key to PRIVACY_EXPORT_DESCRIPTION

* refactor(i18n): add PRIVACY_EXPORT key for data export in multiple languages

* refactor(backup): standardize backup filename prefix

* refactor(backup): update backup filename format to use underscore separator

* refactor(i18n): update translations

* refactor(backup): move getBackupTimestamp utility to a shared location for consistency

* test(backup): add unit tests for getBackupTimestamp utility

* fix(e2e): move MIGRATION_BACKUP_PREFIX to migration.const

* Apply suggestion from @Copilot

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>

* refactor(tests): move jasmine.clock().install() to beforeEach for consistency

* refactor(backup): consolidate backup filename constants and update imports

---------

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2026-04-21 14:09:09 +02:00
Corey Newton
0fad98fe43
docs/wiki content v0.9 (#7116)
* docs: update link from README to Wiki

* docs: refactor from README to Wiki

* docs: refactor README to Wiki
2026-04-09 19:36:23 +02:00
Corey Newton
972acd358c
docs/wiki content v0.8 (#7068)
* docs(wiki): refactor download page

Rework and improve download page in preparation for README updates.

* chore(ci): simplify the initial release text

Centralizing all links to one place will make maintenance of docs
easier.

* chore(docs): Update meta docs and templates

Aligning issue templates and other docs to support the use of the wiki
and to encourage additions from others.

* chore(docs): align README with new download page
2026-04-01 12:40:28 +02:00
Dan Toms
deaf55db40
chore: remove broken article link from README (#7031)
This commit removes a broken link to https://dev.to/super-productivity/super-productivity-how-to-grow-fond-of-time-tracking-and-task-management-22ee which returns a 404 error

Co-authored-by: Dan Toms <157254317+pynmash@users.noreply.github.com>
2026-03-30 21:44:27 +02:00
Suvadip Bhuiya
4cdd0389fc
docs: update Arch Linux AUR installation method to use AUR helper (#6646)
* Revise AUR installation commands for Super Productivity

Updated AUR installation instructions for Super Productivity.

* Revise AUR installation instructions in README

Updated AUR installation instructions for Arch Linux with AUR helpers and manual installation steps.

* fix(tasks): hide play indicator immediately when marking current task as done

The play triangle on the checkbox was visible for 200ms during the done
animation because setDone() is called after a timeout. Check
showDoneAnimation() to hide it instantly.

* style(zen): remove borders from repeat projections and calendar events

---------

Co-authored-by: Johannes Millan <johannes.millan@gmail.com>
2026-03-23 15:35:55 +01:00
Ivan Kalashnikov
4d698480b0
Beautify main README.md (#6847)
* fix(docs): enhance README with improved formatting and additional badges

* fix(docs): add spacing in README for improved visual separation
2026-03-16 10:22:27 +01:00
novikov1337danil
df03113323
docs(readme): add link to awesome repo in README (#6844) 2026-03-15 17:07:45 +01:00
Johannes Millan
b6b51707d3 docs: clean up and organize project documentation
- Remove outdated feature requests from .github/CONTRIBUTING.md (GitLab
  support already exists) and add commit message format section
- Improve PR template with type-of-change checkboxes and checklist
- Update commit guideline links in README and CONTRIBUTING.md to
  reference the project's own format instead of external angular.js docs
- Add "only edit en.json" rule to TRANSLATING.md and clarify workflow
- Update add-new-integration.md provider list to match codebase (add
  Trello, ClickUp, Linear, Azure DevOps, Nextcloud Deck; note GitHub
  plugin migration; fix type name to BuiltInIssueProviderKey)
- Add cross-references between mac certificate docs and remove 240-line
  duplicate section from update-mac-certificates.md
- Clean up update-android-app.md (specify npm version args, collapse
  deprecated workflow, translate German UI labels to English)
- Add context to howto-refresh-snap-credentials.md
- Fix fine-grained token note in github-access-token-instructions.md
- Fix absolute URL to relative path in gitlab-access-token-instructions.md
- Fix grammar in i18n-script-usage.md
- Add status headers to all 19 long-term plan files (Planned, Completed,
  Archived with reason, Investigation Complete)
- Fix broken relative link in hybrid-manifest-architecture.md
- Delete supersync-scenarios-simplified.md (duplicate of
  supersync-scenarios.md; known issues already covered there)
- Rename vector-clock-pruning-research.md to
  vector-clock-history-and-alternatives.md for clarity
2026-03-10 10:22:56 +01:00
Johannes Millan
1471b101fe docs: add SignPath code signing acknowledgment to README 2026-03-04 19:38:37 +01:00
Johannes Millan
fe4908d7ea docs: fix broken theme links and update custom themes section
Remove dead links to the deleted super-productivity-themes repository
and document the current theming options including built-in themes,
per-project/tag color customization, and custom CSS support.

Closes #6635
2026-02-25 16:32:15 +01:00
pschaer
2ca526d584
feat(azure-devops): add Azure DevOps issue provider integration (#6446)
* feat(azure-devops): add Azure DevOps issue provider integration

Add support for connecting Azure DevOps work items as an issue provider,
following the current architecture where Issue Providers are independent
from projects.

Features:
- Work item search by title or ID
- Auto-import to backlog with scope filtering (all/assigned/created)
- Issue refresh and polling
- WIQL injection prevention via search term sanitization
- Personal Access Token (PAT) authentication

Technical implementation:
- AzureDevOpsApiService for Azure DevOps REST API interactions
- AzureDevOpsCommonInterfacesService implementing IssueServiceInterface
- Configuration form with host, organization, project, and token fields
- Unit tests for API service

Closes #356
Supersedes #2388

* fix(azure-devops): address code review feedback

- Add proper TypeScript interfaces for Azure DevOps API responses
- Remove all 'any' type usages per CLAUDE.md guidelines
- Sanitize cfg.project in WIQL queries to prevent injection
- Remove unnecessary 'as any' type cast
- Use explicit return type annotations for type safety

* docs: update README with Azure DevOps and other missing integrations

* fix(azure-devops): remove all remaining 'any' type usages and implement proper type narrowing

* fix(azure-devops): address code review feedback regarding 'any' usage and Promise type safety

* fix(azure-devops): resolve PR findings: add isVisible guard and use undefined for missing project

* fix(azure-devops): use api 5.1-preview, fix config string, add ticket type to title

---------

Co-authored-by: Pascal Schär <pascal@sonneggring.ch>
2026-02-14 13:02:09 +01:00
Johannes Millan
612b7b1886 chore: update TestMu sponsor UTM link 2026-02-12 16:46:49 +01:00
Johannes Millan
fcae8227ef
Clean up README formatting
Removed unnecessary line breaks and analytics image.
2026-02-02 15:08:20 +01:00
Peter
1b88756d88
fix: README development links (#6261)
Currently the links point to top of the main readme page.
2026-01-29 20:05:15 +01:00
Johannes Millan
3d430c154c docs(readme): update sponsor from LambdaTest to TestMu AI
Replace LambdaTest sponsor with TestMu AI in the sponsor section.
Add theme-aware logos using picture element for automatic dark/light mode support.
2026-01-21 19:54:47 +01:00
Johannes Millan
c29a05fa1c
Modify humanitarian aid link and support text
Updated link and description for humanitarian aid.
2026-01-19 20:07:13 +01:00
Johannes Millan
12d7cb80c4
update readme 2026-01-19 19:58:18 +01:00
Johannes Millan
1c0581bca8 fix(snap): add filesystem and desktop integration plugs
Fixes #6031

- Add home and removable-media plugs for local file sync access
- Add desktop and desktop-legacy plugs for taskbar pinning in Cinnamon
- Update install hook to prompt for home interface connection
- Add documentation warnings about snap limitations and data persistence

All plugs include inline comments explaining their purpose and linking to issue.
2026-01-17 12:44:30 +01:00
Ivan Kalashnikov
c6b1a55da5 fix: links and remove extra symbols in main README. 2026-01-13 23:03:51 +07:00
Gitoffthelawn
1d7cb623ad
Added Scoop installation instructions 2026-01-06 14:29:51 -08:00
Johannes Millan
1a79592aca build: update links to match our new organization 2026-01-05 14:45:06 +01:00
Johannes Millan
2fa6754963 fix(docs): remove broken CalDAV documentation link (#5577)
Remove link to non-existent docs/caldav.md file which was intentionally
deleted during documentation cleanup.
2025-12-09 13:56:32 +01:00
Ronaldo93
b782a14566
feat: Update README to include Trello in integrations 2025-10-28 21:25:26 +07:00
Rishabh Singh
0abce80033 Remove unecessary text from readme 2025-10-13 10:38:06 +00:00
Rishabh Singh
8d9acac43c Add new shortcut 'shift+p' in readme 2025-10-13 10:29:31 +00:00
Johannes Millan
c1b9f824f2 docs: add lambda test mention 2025-10-09 12:02:51 +02:00
Johannes Millan
f077a6f719 refactor: improve typing 2025-08-13 19:47:44 +02:00
Johannes Millan
efeda8431b
Update README.md 2025-07-05 11:41:40 +02:00
Johannes Millan
cc98d63c4e feat(plugin-api): publish TypeScript definitions package to npm
- Published @super-productivity/plugin-api v1.0.1 to npm
- Configure package as types-only (no JavaScript output)
- Add emitDeclarationOnly to tsconfig.json
- Update package.json to only include .d.ts files
- Add plugin development link to README contributing section
- Package now provides complete TypeScript definitions for plugin developers
2025-06-29 15:32:51 +02:00
Johannes Millan
ebc2ff1998 build: better organize stuff 2025-06-27 09:03:16 +02:00
Johannes Millan
0848f6015d feat: improve wayland compatability 2025-06-19 15:05:47 +02:00
Kingsley Yung
ab3d2824a5 feat: webdav sync default settings in env variables of container
In the docker setup, allow admin to provide the default values for
WebDAV settings in the "Sync" section of the "Settings" page, via
setting some environment variables of the docker container. This could
be used for single user instances to pre-fill those settings. The
available environment variables are:

- WEBDAV_BASE_URL=<base-url>
- WEBDAV_USERNAME=<username>
- WEBDAV_SYNC_FOLDER_PATH=<sync-folder-path>
- SYNC_INTERVAL=<integer-in-minutes>
- IS_COMPRESSION_ENABLED=<true-or-false>
- IS_ENCRYPTION_ENABLED=<true-or-false>

These configurations are provided as environment variables after the
build process of the app, so they have to be loaded at runtime, instead
of build process. This can be achieved by the following way:

1. The environment variables are loaded into the docker container.
2. The container starts with `docker-entrypoint.sh`.
3. `docker-entrypoint.sh` converts the variables into a JSON file placed
   at `assets/sync-config-default-override.json`.
4. `sync-config.service.ts` fetches
   `assets/sync-config-default-override.json` dynamically at runtime to
override the default values from `default-global-config.const.ts`.
2025-06-11 09:49:17 +02:00
Tim Strijdhorst
ded13d3bb7 change: update node version requirement 2025-06-05 15:02:17 +03:00
Johannes Millan
d5a53b8e37 docs: re-order readme 2025-05-09 13:18:05 +02:00
Davide Cafaro
50a569af17 chore: add support for github codespaces 2025-05-09 12:43:16 +02:00
Johannes Millan
0132fe0fbe
Update README.md 2025-04-22 17:20:27 +02:00
Johannes Millan
c3fb8b6513 docs: use blue banner 2025-04-22 17:14:05 +02:00
Johannes Millan
355e599f89
Update README.md 2025-04-22 11:51:35 +02:00
Johannes Millan
a935da9346 Merge branch 'master' into release/sync-lib-test
* master:
  feat: don't show go to project snack if task is in current list
  feat: remove task drawer since it is not working at the moment anyway
  Update README.md
  feat: enhance updateCurrentTask to include Pomodoro state and session time
  feat: update indicator to use time estimate for countdown message
  feat: add countdown message to the indicator
  Fix #4184: Added fractional time parsing when creating a new task
  Add functionality if a Issue on Gitlab is closed the Issue on Super is also closed after syncron.
  fix: minor fixes to italian translation
  feat: updated italian translations

# Conflicts:
#	src/app/features/tasks/store/task-electron.effects.ts
2025-04-15 17:12:09 +02:00
Johannes Millan
a1b1febaf8
Update README.md 2025-04-15 16:39:49 +02:00
Johannes Millan
aba9225ece docs: remove fink from readme to avoid problematic PRs in the future 2025-04-03 11:02:21 +02:00
TypicalUsername-ai
2905ce6734 README: fix obtanium redirect link in README to point to releases 2025-03-14 11:01:04 +01:00
TypicalUsername-ai
4037ffbab2 fixup! README: add obtanium badge
add missing link closing tag
2025-03-14 11:01:04 +01:00
TypicalUsername-ai
06e4369c8e README: add obtanium badge 2025-03-14 11:01:04 +01:00
Vishwas Parpattegar
c28429ae39 add flathub package to top of readme 2025-02-21 13:48:47 +01:00
AndreVale69
81d0342cb3 docs(README): update Twitter icon (#3878) 2025-01-11 15:59:05 +01:00