Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 5 additions & 3 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Explain the motivation and context. Link related issues.

## How to test
Steps or commands to verify the change locally:
```
```bash
make ci
```
Add any specific app commands, URLs, or screenshots.
Expand All @@ -18,12 +18,14 @@ Add any specific app commands, URLs, or screenshots.
- [ ] I ran `make ci` locally and it passed
- [ ] I added/updated tests where practical
- [ ] I updated documentation (README, comments) where needed
- [ ] I agree to the Code of Conduct
- [ ] My commits include a valid DCO 1.1 sign-off (`git commit -s`) per [GOVERNANCE.md](GOVERNANCE.md)
- [ ] No hardcoded secrets, credentials, or private keys
- [ ] I agree to the [Code of Conduct](CODE_OF_CONDUCT.md)

## Screenshots / Logs (optional)

## Breaking changes (if any)
Describe impact and migration path.
Describe impact and migration path. If this is an architectural or protocol change, refer to [GOVERNANCE.md](GOVERNANCE.md) §5.

## Additional context
If discussing privately is needed, contact support@spectrayan.com
46 changes: 46 additions & 0 deletions .github/workflows/ci-swift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
name: Swift Client CI

on:
push:
branches: [ main ]
paths:
- 'clients/swift/**'
- '.github/workflows/ci-swift.yml'
pull_request:
branches: [ main ]
paths:
- 'clients/swift/**'
- '.github/workflows/ci-swift.yml'

permissions:
contents: read

jobs:
test:
name: Swift Test on ${{ matrix.os }}
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [macos-14, macos-15]
defaults:
run:
working-directory: clients/swift

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Select Xcode 16
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '16'

- name: Show Swift version
run: swift --version

- name: Build Package
run: swift build -c release

- name: Run Tests
run: swift test
45 changes: 0 additions & 45 deletions .github/workflows/cla.yml

This file was deleted.

58 changes: 58 additions & 0 deletions .github/workflows/dco.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
name: DCO Check

on:
pull_request:
types: [opened, synchronize, reopened]

permissions:
contents: read

jobs:
dco:
name: DCO 1.1 Sign-Off Check
runs-on: ubuntu-latest
steps:
- name: Checkout PR
uses: actions/checkout@v4
with:
fetch-depth: 0
ref: ${{ github.event.pull_request.head.sha }}

- name: Verify DCO Sign-off on commits
run: |
BASE_SHA="${{ github.event.pull_request.base.sha }}"
HEAD_SHA="${{ github.event.pull_request.head.sha }}"
echo "Checking commits in range: $BASE_SHA..$HEAD_SHA"

COMMITS=$(git rev-list "$BASE_SHA..$HEAD_SHA")
if [ -z "$COMMITS" ]; then
echo "No commits found in range to inspect."
exit 0
fi

FAILED=0
for commit in $COMMITS; do
SUBJECT=$(git log -1 --format='%s' "$commit")
BODY=$(git log -1 --format='%B' "$commit")

if echo "$BODY" | grep -qE "^Signed-off-by: .+ <.+@.+>"; then
echo "✅ $commit ($SUBJECT) — Signed off"
else
echo "❌ $commit ($SUBJECT) — Missing 'Signed-off-by:' trailer"
FAILED=1
fi
done

if [ "$FAILED" -ne 0 ]; then
echo ""
echo "::error::One or more commits are missing Developer Certificate of Origin (DCO 1.1) sign-off."
echo "To comply with GOVERNANCE.md, all commits must be signed off with 'git commit -s'."
echo ""
echo "How to fix unsigned commits on your branch:"
echo " git rebase --signoff origin/main"
echo " git push --force-with-lease"
exit 1
fi

echo ""
echo "All commits satisfy Developer Certificate of Origin (DCO 1.1) requirements. ✅"
46 changes: 46 additions & 0 deletions ACKNOWLEDGMENTS.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Acknowledgments

The Server-Sent Events project stands on the shoulders of an active open-source community, reactive systems research, and modern real-time streaming standards. This file gratefully credits the human contributors, frameworks, and tools whose work shaped the project.

If you believe something here is mis-attributed or missing, please open an issue or pull request — it will be updated promptly.

---

## Open Source Contributors

This project is built in collaboration with a global community of developers. We gratefully recognize and celebrate the contributors whose commits, pull requests, and feedback drive this ecosystem forward:

### Subsystem & Client Contributors

- **Timothy Kim ([@timothytkim](https://github.com/timothytkim))**
- PR #69: Authored the complete, idiomatic Swift SSE client (`clients/swift`), bringing W3C streaming byte parsing, Swift 6 strict concurrency (`AsyncThrowingStream`), and resilient jittered reconnection to iOS, macOS, watchOS, tvOS, and visionOS (resolving #59).

---

## Open-Source Frameworks & Standards

The Server-Sent Events toolkit is built upon and inspired by industry-standard reactive and streaming specifications:

| Technology | Usage | License |
|:---|:---|:---|
| [W3C Server-Sent Events](https://html.spec.whatwg.org/multipage/server-sent-events.html) | Protocol standard for server-to-client unidirectional push | W3C / WHATWG |
| [Spring WebFlux & Project Reactor](https://spring.io/projects/spring-framework) | Reactive non-blocking I/O foundation for `sse-server` | Apache-2.0 |
| [Spring Boot](https://spring.io/projects/spring-boot) | Auto-configuration and starter infrastructure | Apache-2.0 |
| [Angular](https://angular.dev/) | Client library (`ng-sse-client`) and demonstration frontend | MIT |
| [Spring Cloud Stream](https://spring.io/projects/spring-cloud-stream) | Multi-pod event broadcasting bridge (`sse-server-bridge-cloud-stream`) | Apache-2.0 |
| [Redis Pub/Sub](https://redis.io/) | Lightweight distributed multi-pod fan-out (`sse-server-bridge-redis`) | RSALv2 / SSPLv1 |
| [NATS](https://nats.io/) | High-performance distributed messaging bridge (`sse-server-bridge-nats`) | Apache-2.0 |
| [Nx](https://nx.dev/) | Smart monorepo build system and Angular library tooling | MIT |
| [Swift Package Manager](https://swift.org/package-manager/) | Distribution and testing for the Swift client SDK | Apache-2.0 |

---

## AI Coding Agents & Tooling

Development and governance across this repository are accelerated by modern agentic development tools:

- **[Antigravity](https://deepmind.google/)** (Google DeepMind) — AI coding assistant used for architectural modeling, test suites, multi-language client alignment, and governance automation.

---

*If you have contributed to the Server-Sent Events ecosystem and are not listed here, please [open a pull request](https://github.com/spectrayan/server-sent-events/pulls) — we want to make sure every contributor is celebrated.*
31 changes: 0 additions & 31 deletions CLA.md

This file was deleted.

Loading
Loading