Commit Graph
100 Commits
Author SHA1 Message Date
Burak Kaan Köse 8586d0ef54 Calendar rendering. 2026-03-23 10:22:47 +01:00
Burak Kaan Köse 8d143e3b08 Remove old shells, some UI improvements for settings. 2026-03-21 18:25:54 +01:00
Burak Kaan Köse e6a38a3e77 New default style for calendar view. 2026-03-21 10:12:00 +01:00
Burak Kaan Köse 51fef043ee Range thing. 2026-03-21 00:58:01 +01:00
Burak Kaan Köse 01f7a09cb7 Merged 2026-03-20 13:26:45 +01:00
Burak Kaan Köse eb8cd7651d Calendar buttons etc. 2026-03-20 13:26:16 +01:00
Burak Kaan Köse c88c875fb8 Redesign Wino Account flyout with hero header and benefit cards 2026-03-20 13:12:11 +01:00
Burak Kaan Köse 1fe569e0ac Native tray icon implementation. 2026-03-20 12:43:09 +01:00
Burak Kaan Köse 4a20ea2577 Better profile caching. 2026-03-20 00:15:10 +01:00
Burak Kaan Köse d38317f0be Point real api. 2026-03-19 16:42:36 +01:00
Burak Kaan Köse c2320de5c4 Forgot password and email confirmations. 2026-03-19 16:41:35 +01:00
Burak Kaan Köse 873a7eca12 Bump contracts. 2026-03-19 14:32:12 +01:00
Burak Kaan Köse c3e1991942 Deep link on purchase success. 2026-03-19 10:26:17 +01:00
Burak Kaan Köse b0ee5c9974 Handling of paddle purchases and add-ons. 2026-03-19 01:50:14 +01:00
Burak Kaan Köse f306f6eb1c More updates on wino acc. 2026-03-18 17:43:56 +01:00
Burak Kaan Köse a3b43fd079 Add privacy policy for wino accounts when registering. 2026-03-18 14:45:00 +01:00
Burak Kaan Köse bac291587d New management page. 2026-03-18 10:25:07 +01:00
Burak Kaan Köse aee32228c2 Wino accounts settings. 2026-03-18 09:00:26 +01:00
Burak Kaan Köse 0d6da30a29 Bump contracts. 2026-03-17 17:48:47 +01:00
Burak Kaan KöseandClaude Opus 4.6 289d0c8eeb Replace bland "W" initials with accent-colored person icon for signed-out state (#836)
When no Wino account is logged in, the titlebar button now shows a
filled accent-blue circle with a white person silhouette icon instead
of a PersonPicture with "W" initials. This makes the button visually
prominent and clearly communicates it's an account action. When signed
in, the PersonPicture with user initials is shown as before.

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-17 17:47:45 +01:00
Burak Kaan KöseandClaude 4a94dfb10c Redesign Wino Account login and registration dialogs (#835)
Add hero illustrations using XAML-native vector graphics (shield+lock
for login, person+plus badge for registration). Improve visual design
with gradient backgrounds, icon badges on benefit cards, and refined
spacing/corner radii. Add Enter key handling so pressing Enter in an
input field moves focus to the next field, and pressing Enter on the
last field triggers the primary action (login/register).

https://claude.ai/code/session_011B1M6UVeo4yUX3zNHBxQ2P

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-17 16:08:04 +01:00
Burak Kaan Köse ea204fef21 Add preference to hide title bar Wino account button (#833) 2026-03-17 12:00:34 +01:00
Burak Kaan Köse e2b9216f8f New base url. 2026-03-17 02:00:53 +01:00
Burak Kaan Köse 5f519f6ae1 Fixing back navigation. 2026-03-16 21:41:22 +01:00
Burak Kaan Köse 5b2a99ffe5 Dialog improvements. 2026-03-16 15:02:39 +01:00
Burak Kaan Köse 4519b77444 Document GitHub Packages setup 2026-03-16 13:32:59 +01:00
Burak Kaan Köse 59d9cf4eea Consume Wino.Mail.Contracts package 2026-03-16 12:12:13 +01:00
Burak Kaan Köse 0ee3a0c3bc Delete instructions. 2026-03-16 11:23:13 +01:00
Burak Kaan Köse 37c1bd3f62 Sign in , out ,register. 2026-03-16 01:33:27 +01:00
Burak Kaan Köse 921c3bef93 Some ui adjustments on settings. 2026-03-14 22:37:54 +01:00
Burak Kaan Köse 45142e6953 Settings home refactoring. 2026-03-14 21:03:52 +01:00
Burak Kaan Köse 642f6efbfb Fix active canvas null issue. 2026-03-14 18:25:28 +01:00
Burak Kaan Köse 56b0f79edc navigation improvements 2026-03-14 14:14:58 +01:00
Burak Kaan Köse 4ba7d5fd07 Fixing menu item scrolling issue with nav bar. 2026-03-13 07:20:37 +01:00
Burak Kaan Köse 7f0b671b62 Settings shell. 2026-03-12 19:04:47 +01:00
Burak Kaan Köse de5309ea56 Finalized new shell experience. 2026-03-12 14:55:07 +01:00
Burak Kaan Köse fd13f2eba5 Calendar crashes fix. 2026-03-12 12:10:23 +01:00
Burak Kaan Köse 861b991eee Shell improvements. 2026-03-12 11:28:41 +01:00
Burak Kaan Köse 9dd68fd62e Improved shell experience. 2026-03-11 19:26:37 +01:00
Burak Kaan Köse 2b523d64e8 New shell experience. 2026-03-11 01:39:32 +01:00
Burak Kaan Köse bf331dfeb3 Better shell 2026-03-10 16:50:16 +01:00
Burak Kaan Köse 9b567c4bac Go back to welcome page when the last account is removed. 2026-03-09 14:18:13 +01:00
Burak Kaan Köse 859a5bb117 Revise README with new logo and updated text
Updated logo and description in README.md, removed unused images.
2026-03-09 13:19:12 +01:00
Burak Kaan Köse 0d898d3de0 Remove website visual assets section from README (#830) 2026-03-09 13:15:42 +01:00
Burak Kaan Köse 44be3eb4f7 Some UI changes on settings. 2026-03-09 00:28:10 +01:00
Burak Kaan Köse 3e731967cd Remove edit account details page. 2026-03-08 21:21:34 +01:00
Burak Kaan Köse 8548257878 Fix udate update notes. 2026-03-08 18:40:43 +01:00
Burak Kaan Köse d9da326f0a Rename database. 2026-03-08 16:28:41 +01:00
Burak Kaan Köse d43e2b269a Fix tailored notification images issue. 2026-03-08 16:26:06 +01:00
Burak Kaan Köse 9d94badb95 Fix storage page navigation issue. 2026-03-08 16:25:53 +01:00
Burak Kaan Köse e4a224bd68 Emaıl templates. 2026-03-08 15:48:11 +01:00
Burak Kaan Köse 15400d4096 Improved keyboad shortcuts. 2026-03-08 13:21:42 +01:00
Burak Kaan Köse c1568d33e6 Live store update notifications. 2026-03-08 11:22:41 +01:00
Burak Kaan Köse a8f9b2d126 Calendar improvements. 2026-03-08 01:33:47 +01:00
Burak Kaan Köse 1da34080d1 Refactoring the html editor toolbar. 2026-03-07 23:33:25 +01:00
Burak Kaan Köse ebc35c3de8 Event creation. 2026-03-07 17:13:48 +01:00
Burak Kaan Köse d1f8163d72 Web editor refactoring and some calendar occurrence summary stuff. 2026-03-07 15:37:02 +01:00
Burak Kaan Köse 09f1cee3a5 Remove sqlite base64 contact store from AccountContact. 2026-03-07 11:43:56 +01:00
Burak Kaan Köse 8e8b123aa6 Updating some nugets. 2026-03-07 01:52:23 +01:00
Burak Kaan Köse 9ec7b32762 Merge branch 'feature/EventCompose' into feature/vNext 2026-03-07 01:46:21 +01:00
Burak Kaan Köse e94cce451f Event compose implementation. 2026-03-07 01:46:07 +01:00
Burak Kaan Köse 6608baed69 Initial event composing. 2026-03-06 17:46:38 +01:00
Burak Kaan Köse 59042729c1 "Outlook error" handling for 429 status code. 2026-03-06 13:43:16 +01:00
Burak Kaan Köse e1be644631 Contact and settings updates. 2026-03-06 12:31:37 +01:00
Burak Kaan Köse 51f64466c2 Updating core title bar for menu item changes. 2026-03-06 11:22:19 +01:00
Burak Kaan Köse 24f7c26d60 Visual refresh of dialogs. 2026-03-06 11:22:12 +01:00
Burak Kaan Köse 1aaf4e8a7e Settings UI 2026-03-06 04:04:14 +01:00
Burak Kaan Köse 3d6763770e merged 2026-03-06 03:43:06 +01:00
Burak Kaan Köse aaa6e8a2c9 Removed migrations. New onboarding screen and wizard like steps. 2026-03-06 03:42:08 +01:00
Burak Kaan Köse db5ecd60e4 New startup window. 2026-03-05 10:12:03 +01:00
Burak Kaan Köse 5b3739c6cf Add snooze support for calendar reminders (toast UI, service, DB) (#825)
* Filter reminder snooze options by default reminder

* Some updates.

* Fixing empty welcome page issue and attendee loading.

* Icon system for notifications and snooze options etc.
2026-03-04 00:12:52 +01:00
Burak Kaan Köse d45d3faa89 Whats new implementation. 2026-03-02 00:44:29 +01:00
Burak Kaan Köse e816e87f61 Contacts management. 2026-03-01 21:07:10 +01:00
Burak Kaan Köse bdd32786d6 folder structure fixes 2026-03-01 16:23:28 +01:00
Burak Kaan Köse f35a4333f9 Fix initials showing in the background when the profile picture has transparent background. 2026-03-01 13:48:40 +01:00
Burak Kaan Köse 2c9351f551 Fixing some IsBusy corner cases. 2026-03-01 12:40:12 +01:00
Burak Kaan Köse 211faff750 Property change based updates on the mails for fast bulk operations. 2026-03-01 12:07:15 +01:00
Burak Kaan Köse 11158fe737 Remove redundant notification target. 2026-03-01 09:50:05 +01:00
Burak Kaan Köse 76e3b7289e Some issues with changing the app mode and notifications have been fixed. 2026-03-01 09:47:05 +01:00
Burak Kaan KöseandClaude 2040d4abce Optimize mail fetching with batch DB queries and in-memory caching (#827)
* perf: batch-load folders, accounts, and contacts in FetchMailsAsync

Replace the sequential per-mail property-loading loop with a three-step
batch pre-load strategy, eliminating the N+1 DB call pattern that was
the main bottleneck when building the mail list with threading enabled.

Changes:
- Pre-seed the folder cache from MailListInitializationOptions.Folders
  so that the most common folders (inbox, sent, etc.) never trigger a DB
  lookup at all.
- Load all accounts in a single GetAccountsAsync() call instead of one
  GetAccountAsync() call per mail (typically 1–5 accounts total).
- Fetch all sender contacts in a single SQL IN(...) query via the new
  GetContactsByAddressesAsync() method instead of one query per address.
- Property assignment is now fully synchronous (no awaits in the loop)
  since all data is pre-loaded into plain Dictionary<K,V>.
- Thread-expansion follows the same pattern: new folder IDs are loaded
  in parallel via Task.WhenAll; new contact addresses are batch-fetched
  with a second IN(...) query.
- Also apply batch pre-loading to GetMailItemsAsync (used by merge-inbox
  sync path) which had the same sequential issue.
- Remove the now-unused LoadAssignedPropertiesWithCacheAsync helper and
  the ConcurrentDictionary dependency it required.
- Tighten GetMailsByThreadIdsAsync to skip the Id NOT IN clause entirely
  when the exclusion set is empty.

https://claude.ai/code/session_018bqahGc6zi95JJhc2aARKS

* test: add MailFetchingTests with correctness and performance coverage

Adds integration tests for MailService.FetchMailsAsync that exercise the
full real-service stack (MailService → FolderService / AccountService /
ContactService) backed by the shared in-memory SQLite helper.

Four tests are included:

• ExpandsSiblingsOutsidePage – proves thread expansion fetches mails that
  fall beyond the initial SQL page (6 mails, page=4, expects 6 returned).

• NeverExpandsSiblings – proves threading is truly opt-in; with
  CreateThreads=false the result exactly matches the raw page size.

• ResolvesFromAllThreeSources – verifies contact resolution for a known
  contact (from the AccountContact table), an unknown sender (ad-hoc
  fallback), and a self-sent mail (built from account metadata).

• 1000Mails_70Threads_CompletesWithinBudget – the performance scenario:
  1 000 mails (70 threads × 7 + 510 standalone), 40 rotating sender
  addresses (20 with DB contacts). Times and reports two scenarios:
    - Default first-page fetch (100 mails) + expansion of one partial
      thread (expects > 100 mails returned).
    - Full load of all 1 000 mails with threading enabled (expects
      exactly 1 000 mails returned, all 70 threads intact, < 5 s).

  Elapsed times for both scenarios are written to xUnit test output so
  they appear in CI logs and can be tracked across builds.

https://claude.ai/code/session_018bqahGc6zi95JJhc2aARKS

---------

Co-authored-by: Claude <noreply@anthropic.com>
2026-03-01 09:14:02 +01:00
Burak Kaan Köse 0e742c7a8f Resolving warnings and treating warnings as errors in WinUI project. (#824) 2026-02-27 20:12:43 +01:00
Burak Kaan Köse d2fce5eee1 Add PR GitHub Actions workflow to build WinUI and run Core tests on Windows (#823) 2026-02-27 14:16:31 +01:00
Burak Kaan Köse 5c510fd7b0 Remove single entry and mode launch on ctrl press. 2026-02-27 11:00:25 +01:00
Burak Kaan Köse e1ce85698c Fix couple issues with starting mode. 2026-02-27 10:22:52 +01:00
Burak Kaan Köse 4b22608bc5 Badges are always creatd on wino mail. 2026-02-25 02:05:05 +01:00
Burak Kaan Köse 3a39266121 Simplified compoper and rendering logic through messages. 2026-02-25 01:41:48 +01:00
Burak Kaan Köse 5d46ea73db Route mail/calendar toasts to their respective app entries (#821) 2026-02-25 01:36:26 +01:00
Burak Kaan Köse d51f4a7a23 Add SQLite indexes and enable foreign key enforcement (#820) 2026-02-24 11:08:46 +01:00
Burak Kaan Köse 79a81710f0 Improving thread mapping for all synchronizers. 2026-02-23 01:51:44 +01:00
Burak Kaan Köse c5a631da6f Grace period for local drafts. 2026-02-23 01:02:59 +01:00
Burak Kaan Köse 33672ab0aa Local draft resent and default app mode settings. 2026-02-22 17:55:57 +01:00
Burak Kaan Köse 311b3c77c8 Wino Calendar app entry. (#819)
* Double app entry.

* New icon for sys tray
2026-02-22 15:13:39 +01:00
Burak Kaan Köse 17ca32c537 Support large Outlook attachments via upload sessions when sending drafts (#814)
* Add Outlook large attachment upload sessions for send draft

* UI thread executino of draft busy state.

* Limit outlook attachment limit to max allowed per attachment.
2026-02-21 16:14:55 +01:00
Burak Kaan Köse 9d3f0bddde Add manual live ImapSynchronizer coverage tests (#818)
* Add manual live IMAP synchronizer tests

* Fixing build errors and testing.
2026-02-21 11:47:16 +01:00
Burak Kaan Köse 7f198bad92 Implement mail and calendar item synchronizer state (#815)
* Track pending sync operations per mail/calendar item

* Updated progressbar for in progress drafts
2026-02-21 10:53:39 +01:00
Burak Kaan Köse a912ada890 Fixing some messaging issues with calendar add/delete. 2026-02-20 10:03:16 +01:00
Burak Kaan Köse 317113a1b3 Fixing timezone issue with caldav. 2026-02-19 02:09:36 +01:00
Burak Kaan Köse 564cb0b16f Fix double init on calendar days. 2026-02-19 01:37:43 +01:00
Burak Kaan Köse ab0810f710 Fixing the delta sync for caldav. 2026-02-18 20:43:10 +01:00
Burak Kaan Köse 7a13ae0ac8 Add manual live CalDAV service workflow tests (#816) 2026-02-18 13:44:58 +01:00