Commit graph

18 commits

Author SHA1 Message Date
62616034af Use SPDX license expression and bundle LICENSE in the package 2026-08-21 14:06:31 +02:00
49cc5036d3 Add GPLv3 LICENSE file and package metadata for open-source release
Include the full GPL-3.0 text (declared in pyproject but missing as a file),
add project URLs, keywords and classifiers, and ignore .agent-shell/.DS_Store.
2026-08-21 14:05:07 +02:00
937bbf12e4 Redo screenshot in English with user John 2026-08-21 11:57:25 +02:00
41e40b8a23 Add app screenshot to the README header 2026-08-21 11:54:10 +02:00
192a0421c2 Bump version to 0.2.0
Some checks are pending
build-windows / windows-exe (push) Waiting to run
2026-08-21 11:31:17 +02:00
e4c4d0d619 Add unicast discovery so peers auto-appear over a VPN
Add a 'Discover on (IP or subnet)' setting (and --discover flag) that announces
presence by unicast to the given addresses, since multicast cannot cross a VPN
tunnel. Each newly seen peer is answered directly, so one side configuring the
subnet is enough for both to appear. Documented in the README.
2026-08-21 11:29:52 +02:00
d05f35f445 Add a Download section linking to the releases page 2026-08-21 10:54:17 +02:00
ba9bbbf3b9 Add macOS signing and notarized-release scripts
Some checks are pending
build-windows / windows-exe (push) Waiting to run
sign-macos.sh signs neotalk.app with the Developer ID under the hardened
runtime; release-macos.sh builds, signs, notarizes, staples and can publish the
zip to the Gitea releases page. Credentials are read from the environment.
2026-08-21 10:17:55 +02:00
907a0eeb55 Make the listen port configurable from the settings panel
Add a 'Your port' field in the settings panel: empty keeps local-network mode
with an ephemeral port, a value rebinds the TCP listener to a stable address
for dialing over a VPN. Active conversations survive the rebind. Adds
controller.set_listen_port and a rebindable transport.start(port).
2026-08-21 10:11:33 +02:00
41966a4a10 Add app icon (two-bubble P2P mark) for macOS and Windows
SVG source plus generated .icns/.ico, wired into the PyInstaller spec, and a
make-icons.sh to regenerate them from the SVG.
2026-08-21 10:05:18 +02:00
7d20ae7d2f Note VPN compatibility in the README intro 2026-08-21 09:51:20 +02:00
4dfb53a59e Add direct connect by address for use across a VPN
Multicast discovery cannot traverse a VPN tunnel (WireGuard, Tailscale), so add
a controller dial-by-address path and a --port flag for a stable address. The
GUI settings panel shows your port and offers a 'Connect to host:port' field;
dialed and inbound peers now appear in the sidebar. Documented in the README.
2026-08-21 09:46:15 +02:00
76ba090069 Add Windows run and .exe build instructions to the README 2026-08-21 09:35:28 +02:00
d6e4f607c0 Fix black gap between sidebar and chat; add Contributing section
The sidebar packs its children, so grid_propagate did not hold its width and
it shrank, exposing a strip of app background. Fill the column instead.
2026-08-21 09:32:06 +02:00
5655c660d4 Polish the UI: English copy, per-peer avatars, states and feedback
- Translate all interface copy to English for consistency with the codebase
- Give each peer a stable avatar colour and mark the selected row with an
  accent bar
- Add hover feedback (send, save, gear) and a focus ring on the input
- Add empty states: no-selection hint and an end-to-end-encryption prompt for
  fresh conversations
- Ellipsise long roster previews and prefix your own with "You:"
- Nudge muted-text contrast up for legibility
2026-08-21 09:26:44 +02:00
c51362d7c8 Write README in English 2026-08-21 09:20:21 +02:00
0f2188dc8b Add PyInstaller packaging (macOS .app / Windows .exe) and Windows CI
Cross-platform spec, build entry point, packaging docs, and a Gitea Actions
workflow for the Windows build. Tolerate Finder-injected launch arguments.
2026-08-21 09:19:20 +02:00
bfd8b510b6 Initial neotalk: P2P encrypted chat over UDP discovery + TCP streaming
Clean architecture (core use cases + infra gateways), X25519/AES-GCM E2E
encryption, tkinter GUI, and a pytest suite. 45 tests passing.
2026-08-21 09:16:07 +02:00