diff --git a/.gitignore b/.gitignore index 93fd5ba..6cb0485 100644 --- a/.gitignore +++ b/.gitignore @@ -3,6 +3,7 @@ docker-compose.yml PLAN.md Publish-Relay.ps1 tools/ +!tools/SemaBuzz.iss assets/ # Build outputs diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 1e47797..db40241 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -12,7 +12,7 @@ Be respectful. Harassment, discrimination, or abusive language toward any contri ## License -SemaBuzz.Protocol is open-source under the GNU AGPL v3.0 license. The App and Styles remain proprietary software (Copyright © 2026 Skynr Labs). By submitting a contribution to the Protocol, you agree to license your contribution under the AGPL v3.0. +SemaBuzz is open-source under the GNU AGPL v3.0 license. By submitting a contribution you agree to license your work under the AGPL v3.0. --- diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 728f032..0000000 --- a/Dockerfile +++ /dev/null @@ -1,29 +0,0 @@ -# ───────────────────────────────────────────────────────────────────────────── -# SemaBuzz Relay Server — Docker image -# -# Deploy to Railway, Render, Fly.io, or any Docker host. -# The platform's reverse proxy provides HTTPS/WSS; the container runs HTTP/WS. -# -# Build: docker build -t semabuzz-relay . -# Run: docker run -p 7171:7171 semabuzz-relay -# ───────────────────────────────────────────────────────────────────────────── - -FROM mcr.microsoft.com/dotnet/sdk:9.0 AS build -WORKDIR /src - -# Copy only the projects the relay needs. -COPY src/SemaBuzz.Protocol/ SemaBuzz.Protocol/ -COPY src/SemaBuzz.Relay/ SemaBuzz.Relay/ - -WORKDIR /src/SemaBuzz.Relay -RUN dotnet publish -c Release -o /app --no-self-contained - -# ── Runtime image ───────────────────────────────────────────────────────────── -FROM mcr.microsoft.com/dotnet/aspnet:9.0 -WORKDIR /app -COPY --from=build /app . - -ENV PORT=7171 -EXPOSE 7171 - -ENTRYPOINT ["dotnet", "SemaBuzz.Relay.dll"] diff --git a/README.md b/README.md index 1e06687..6310a23 100644 --- a/README.md +++ b/README.md @@ -94,7 +94,7 @@ Output lands in `build/Debug/`. Set `SemaBuzz.App` as the startup project in Vis ## 🖥️ Self-Hosting the Relay -SemaBuzz requires a relay server. Download a self-contained binary from the [SemaBuzz Relay releases](https://github.com/skynrlabs/SemaBuzz-Relay/releases/tag/v1.2.5): +SemaBuzz requires a relay server. Download a self-contained binary from the [SemaBuzz Relay releases](https://github.com/skynrlabs/SemaBuzz-Relay/releases/latest): | Platform | File | |---|---| @@ -141,7 +141,7 @@ The repo uses a two-branch model: ## 📄 License -SemaBuzz for Windows is open-source software licensed under the **GNU Affero General Public License v3.0**. Copyright © 2026 skynrlabs. +SemaBuzz for Windows is open-source software licensed under the **GNU Affero General Public License v3.0**. Copyright © 2026 Skynr Labs. You are free to use, modify, and distribute this software under the terms of the AGPL-3.0. Any modified version distributed or run as a network service must also be released under the AGPL-3.0. See [LICENSE](LICENSE) for full terms. diff --git a/nuget.config b/nuget.config deleted file mode 100644 index 95e879e..0000000 --- a/nuget.config +++ /dev/null @@ -1,6 +0,0 @@ - - - - - - diff --git a/src/SemaBuzz.App/SemaBuzz.App.csproj b/src/SemaBuzz.App/SemaBuzz.App.csproj index 7ec5448..0202b17 100644 --- a/src/SemaBuzz.App/SemaBuzz.App.csproj +++ b/src/SemaBuzz.App/SemaBuzz.App.csproj @@ -23,6 +23,12 @@ true true Assets\icon.ico + 1.0.0 + 1.0.0.0 + 1.0.0.0 + SemaBuzz + Skynr Labs + Copyright © 2026 Skynr Labs C:\Users\bills\Documents\Development\SemaBuzz-Windows\build\$(Configuration)\ false diff --git a/tools/SemaBuzz.iss b/tools/SemaBuzz.iss new file mode 100644 index 0000000..8d75e57 --- /dev/null +++ b/tools/SemaBuzz.iss @@ -0,0 +1,62 @@ +; ───────────────────────────────────────────────────────────────────────────── +; SemaBuzz Inno Setup script +; Build: iscc tools\SemaBuzz.iss (from repo root) +; Output: dist\SemaBuzz-Setup-x64.exe +; ───────────────────────────────────────────────────────────────────────────── + +#define AppName "SemaBuzz" +#define AppVersion "1.0.0" +#define AppPublisher "Skynr Labs" +#define AppURL "https://semabuzz.me" +#define AppExeName "SemaBuzz.App.exe" +#define PublishDir "..\dist\publish" +#define OutputDir "..\dist" + +[Setup] +AppId={{B3A2F1C0-4E8D-4A2B-9C6F-1D0E5F7A3B8C} +AppName={#AppName} +AppVersion={#AppVersion} +AppVerName={#AppName} {#AppVersion} +AppPublisher={#AppPublisher} +AppPublisherURL={#AppURL} +AppSupportURL=https://github.com/skynrlabs/SemaBuzz/issues +AppUpdatesURL={#AppURL} +DefaultDirName={autopf}\{#AppName} +DefaultGroupName={#AppName} +DisableProgramGroupPage=yes +LicenseFile=..\LICENSE +OutputDir={#OutputDir} +OutputBaseFilename=SemaBuzz-Setup-x64 +Compression=lzma2/ultra64 +SolidCompression=yes +WizardStyle=modern +PrivilegesRequired=lowest +PrivilegesRequiredOverridesAllowed=dialog +ArchitecturesInstallIn64BitMode=x64compatible +MinVersion=10.0.17763 +CloseApplications=yes +UninstallDisplayIcon={app}\{#AppExeName} +UninstallDisplayName={#AppName} + +[Languages] +Name: "english"; MessagesFile: "compiler:Default.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}" + +[Files] +; Main publish output — everything in dist\publish\ +Source: "{#PublishDir}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs + +[Icons] +Name: "{group}\{#AppName}"; Filename: "{app}\{#AppExeName}" +Name: "{group}\Uninstall {#AppName}"; Filename: "{uninstallexe}" +Name: "{userdesktop}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Tasks: desktopicon +Name: "{userstartup}\{#AppName}"; Filename: "{app}\{#AppExeName}"; Comment: "Start with Windows (optional — remove if unwanted)" + +[Run] +Filename: "{app}\{#AppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(AppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent + +[UninstallDelete] +; Clean up settings left in %APPDATA% only if the user explicitly chose to +; (done via a separate "wipe settings" checkbox — left for a future release)