Commit graph

3,623 commits

Author SHA1 Message Date
99da1ebe76
blog interface icons 2026-11-06 17:44:14 +00:00
e87165cf38
layout 2026-11-06 15:15:31 +00:00
b98f82663d
fix(android): prevent crash when starting broadcast from preview
Detach preview callbacks through the retained surface holder before deferred native view destruction. Cover native preview teardown followed by camera capture and document the regression check.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-05 11:54:03 +00:00
fa8038c676
screen orientation and awake 2026-11-05 10:44:19 +00:00
256fd5738c
refresh the token 2026-11-04 09:11:21 +00:00
311d55dcc6
feat(postit): keep Android SignalR chat in background without ongoing notification
Share the chat transport between UI, calls and an opt-in background service. Restore account rooms and attempt boot restart, keeping event alerts independent from connection permissions. Document Android limits and add lifecycle regressions.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-03 12:43:46 +00:00
a39c3912ea
Support IPv6 addresses for direct SRTP calls
Extend shared endpoint validation, interface discovery and native media sockets to IPv6. Add real bidirectional IPv6 SRTP, wrong-key rejection and port lifecycle tests, and document connectivity limitations.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 15:33:03 +00:00
73411f2f7e
Allow public IPv4 addresses for direct SRTP calls
Use shared unicast IPv4 validation for interface discovery, media endpoints and server signaling. Preserve disclosure consent and privacy constraints, and document direct connectivity requirements.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 15:25:54 +00:00
7f0e868a32
Update bundled settings with the default podcast title, camera/microphone preferences and French language selection. 2026-11-02 15:20:43 +00:00
377afc711a
Share podcast devices with calls and persist network selection
Reuse camera and microphone preferences across podcast and chat-room pages. Restore available LAN/VPN addresses without persisting disclosure consent, and cover shared preferences and save failures with regression tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 15:17:23 +00:00
ff1a016c91
Persist PostIt podcast device and title preferences
All checks were successful
Forgejo Release / release (push) Successful in 13m7s
1.0.8-rc34
Remember detected capture devices, camera and microphone selections, and the default podcast title in user settings. Restore preferences on page creation and surface save failures.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 14:13:48 +00:00
4a5a3c8844
Prepare podcast emissions using LiveFlow
Persist scheduled emissions, expose owner-only planning controls in PostIt and publish optional presentation-only announcements on Yavsc.Org. Preserve manual broadcasting and authenticated playback.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-11-02 14:08:22 +00:00
e3b4414ab1
Dons PayPal 2026-11-02 10:40:29 +00:00
20a44bfde1
warn on podcast deletion 2026-11-01 20:17:10 +00:00
89d9137884
Open Podcast in external browser (WIP) 2026-11-01 18:53:38 +00:00
9578a9c416
dotnet workload restore 2026-11-01 18:51:46 +00:00
a676ef3575
feat(calls): add Android LAN peer calls using Podcast capture
Share the LibVLC SRTP engine with Linux and feed Android MediaRecorder output through its native pipe without transcoding or HLS files. Reuse front-camera capture, preview, remote rendering and foreground service with consent-based controls and background cleanup.

Use separate RTP/RTCP ports to avoid the diagnosed Android VLC SDP crash. Add physical-device media checks and lifecycle regressions; document LAN/VPN scope and remaining separate-device validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-26 04:15:19 +00:00
cc28ee8b29
feat(calls): implement Linux LAN peer calls over SRTP
Reuse existing ChatHub consent and Podcast LibVLC capture for direct bidirectional H.264/AAC media, with embedded call controls and cleanup. Require HTTPS key exchange and reject IP-masking policies for this opt-in LAN/VPN transport.

Add native SRTP, signaling and lifecycle tests; document setup and remaining physical-device validation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-26 03:05:23 +00:00
5e48831d6d
feat(calls): add consent-based signaling to existing ChatHub
Wire shared PostIt call signaling, account-derived relay policy and temporary TURN credentials. Keep calls disabled pending native Android/Linux media integration. Document experimental Android crash and laboratory removal.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-26 01:00:19 +00:00
56ca115f50
+dotnet-ef 2026-10-25 18:33:41 +00:00
e47bc10026
git version 2026-10-25 16:53:07 +00:00
d8200cb98d
feat(postit): persist call IP privacy preference
Store HideIpAddressInCalls on user accounts, expose it in the profile API and PostIt editor, and preserve preferences for older clients. Add the EF migration, regression tests and architecture documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-25 16:49:51 +00:00
df32ec11bf
archidoc calls 2026-10-25 14:02:03 +00:00
c2068f1476
feat(postit): add live capture previews on Android and Desktop
Reuse oriented Android EGL frames and duplicate Desktop video output before encoding without microphone monitoring. Cover preview lifecycle, rendering and recording with targeted tests and document the feature.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-25 01:03:36 +00:00
1dcbfe159a
feat(podcasts): prepare seekable MP4 replays and overlay controls
Remux completed broadcasts with FFmpeg, retain source segments and account for both formats. Serve authenticated byte ranges and add native Android/Desktop replay controls with auto-hide.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-25 00:48:53 +01:00
ed75f06fb2
fix(android): correct camera frame rotation and recorder timestamps
All checks were successful
Dotnet build and test / build (push) Successful in 9m59s
Forgejo Release / release (push) Successful in 9m41s
1.0.8-rc33
Rotate camera frames before encoding while accounting for Camera2 texture transforms. Align camera timestamps with MediaRecorder and cover capture duration, tracks and rotation with regression tests. Include LibVLC ProGuard rules and update documentation and changelog.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-24 23:09:37 +01:00
dfef7652a4
bug fix - Avalonia Android Video Player version bump
All checks were successful
Dotnet build and test / build (push) Successful in 7m52s
Forgejo Release / release (push) Successful in 7m58s
1.0.8-rc32
2026-10-23 18:02:49 +01:00
d476c08046
Bug fix - notifications audience
* Performers had their notifications publicaly published.
* refacto admin group name
2026-10-23 18:01:20 +01:00
d192705f29
Add performer public permalink actions
All checks were successful
Dotnet build and test / build (push) Successful in 15m8s
Forgejo Release / release (push) Successful in 8m23s
1.0.8-rc31
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-21 18:41:47 +01:00
e7e6b375f5
Add performer podcast public permalink
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-21 17:15:13 +01:00
0893805ac4
+ ticketing and complexity 2026-10-21 16:50:57 +01:00
0d79ba89a6
Fix Android CI smoke test signature guard
All checks were successful
Dotnet build and test / build (push) Successful in 10m37s
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-21 14:05:54 +01:00
9c0c60ebe7
Podcast from Android
Some checks failed
Dotnet build and test / build (push) Failing after 12m53s
Forgejo Release / release (push) Successful in 7m47s
1.0.8-rc30
2026-10-21 12:24:11 +01:00
0e9f61bd24
fix(api): avoid NRE in MailSender on rdv query notifications
The API did not bind the Smtp section and its appsettings lacked
Site.Owner, so MailSender threw a NullReferenceException and
PostQuery returned 500. Bind Smtp in the API, add Owner/Smtp to the
api appsettings template, and log/skip sending when mail
configuration is incomplete.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-21 12:20:38 +01:00
10d992a07a
Release 1.0.8-rc29
All checks were successful
Forgejo Release / release (push) Successful in 7m7s
Dotnet build and test / build (push) Successful in 11m55s
1.0.8-rc29
2026-10-19 22:48:38 +01:00
ad92744a94
feat(android): share podcast playback and foreground broadcasting
Some checks failed
Forgejo Release / release (push) Has been cancelled
Dotnet build and test / build (push) Successful in 21m51s
Add native Camera2 capture, MPEG-TS segmentation and foreground service with notification stop. Reuse shared authenticated uploads and replay finalization, add capture regression tests and document platform limitations. Update Avalonia to 12.1.4.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 22:18:22 +01:00
2dcbcd35b3
feat(invoicing): connect signed estimates and verified payment receipts
Freeze invoice totals and parties, record offline receipts and verify completed PayPal transactions. Protect idempotence and concurrent balance updates; add migration, API client, documentation and tests.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 20:29:08 +01:00
5d03b2e477
feat(billing): model invoice payment balances and settlement
Persist amounts due and paid, derive partial and full settlement, and protect balances during command updates. Add migration, focused tests and invoicing documentation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 19:32:22 +01:00
ed51e62b29
Fix frontmatter parsing for quote workflow
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 16:53:58 +01:00
4fc91cec3e
feat: add authenticated live podcasts and simplify native video playback
All checks were successful
Forgejo Release / release (push) Successful in 8m6s
Dotnet build and test / build (pull_request) Successful in 7m50s
Dotnet build and test / build (push) Successful in 9m29s
1.0.8-rc28
Include podcast capture, ingestion and replay, dependency and installer updates, and native video positioning after navigation.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 15:39:12 +01:00
d9b183c500
Fix Linux LibVLC playback fallback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-19 12:02:27 +01:00
f63b04d25b
feat(postit): add per-user Windows NSIS installer
Package the self-contained Windows x64 publication, register the postit URI scheme, and provide a Start menu shortcut and uninstaller. Document generation and update the changelog.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 22:29:03 +01:00
b68bc7b328
Fix blog save button highlight
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 22:04:19 +01:00
04c42d9380
feat(admin): port site administration to API and PostIt
Some checks failed
Dotnet build and test / build (push) Failing after 13m0s
Forgejo Release / release (push) Successful in 8m1s
1.0.8-rc27
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 18:47:12 +01:00
ba384ba4c0
feat(PostIt): unify moderator administration and restore Android navigation
Group users and usage in the moderator administration page; retain personal profile management and show personal usage. Allow moderators to read the corresponding API lists while preserving administrator-only mutations. Restore navigation pages after Android activity recreation. Update tests, architecture documentation and CHANGELOG for 1.0.8-rc27.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 15:56:58 +01:00
08a3541749
feat(PostIt): responsive two-column blogs layout, camera streamer (1.0.8-rc27)
- BlogsPage switches to a two-column layout when width >= height
  (post on the left, search/commands/list on the right), with a
  compact navigation bar; layout update deferred on the UI thread to
  avoid "Visual was invalidated during the render pass".
- Explicit DataContext on CommandBar items so overflowed buttons keep
  their bindings.
- Preliminary CameraStreamer service (DirectShowLib / V4L2 via LibVLC).
- Tests and architecture doc updated; CHANGELOG entry 1.0.8-rc27.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 13:47:33 +01:00
cb8cf9406d
feat(notifications): support dismissing notifications in PostIt
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-18 12:49:52 +01:00
b90f15333d
fix(PostIt): disable links without a reader context
All checks were successful
Dotnet build and test / build (push) Successful in 9m57s
Forgejo Release / release (push) Successful in 11m42s
1.0.8-rc26
Prevent the Markdown viewer's default browser handler from activating when the blog reader has no view model, while keeping reader links bound to PostIt after context changes.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-16 16:21:58 +01:00
dc4412b9e8
fix(PostIt): render embedded blog images reliably
Use seekable streams for embedded images, bind reader commands only when a page view model is present, and avoid empty-selection binding errors.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-16 16:21:57 +01:00
c1254a522f
feat(PostIt): add dedicated blog reader and video playback
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-10-16 16:21:57 +01:00