commits
* app: clear oauth session stuff on rejection
* app: handle changeURL action for anonPDS
* add and fix errors reported by golangci-lint
* Update pkg/media/media_data_parser.go
Co-authored-by: Eli Mallon <eli@stream.place>
* chore: linting tweaks
* chore: last few linting things
* chore: golangci-lint v2
* chore: golangci-lint changed a few things
* media: fix audio_smear context cancel
* chore: update captilization of vars to match
* github action: add golangci-lint github action
* github action: build dependencies for golangci to run
* github action: ope fix the ordering of steps
* github action: set in-container-cmd
* add and fix errors reported by golangci-lint
* Update pkg/media/media_data_parser.go
Co-authored-by: Eli Mallon <eli@stream.place>
* chore: linting tweaks
* chore: last few linting things
* chore: golangci-lint v2
* chore: golangci-lint changed a few things
* media: fix audio_smear context cancel
* chore: update captilization of vars to match
* github action: add golangci-lint github action
* github action: build dependencies for golangci to run
* github action: ope fix the ordering of steps
* github action: set in-container-cmd
* test: try and run without building everything again
* test: set CGO_ENABLED env
* test: set up minimal env to run with linting
* test: install meson
* test: build in container
* test?
* do everything in the action runner
* do everything in the action runner
* revert removing n
* clone with tag
* set test tag?
* use meson from pip
* copy from builder dockerfile
* remove nuget
* is missing part
* build: golangci-lint inna container
* build: fake build for golangci-lint
* lmao
* fix linting errors, add precommit hook
* linting polish
* linting: fix selftest
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
* oproxy: move to HMAC nonces so they can used more than once
* oproxy: move migration to getter
* oproxy: implement JTI caching
* desktop: add AQD_NO_UPDATE
* oproxy: add standalone version
* oproxy: loadOAuthSession --> getOAuthSession
* oproxy: client metadata implementation
* oproxy: add echo, keys, other things
* oproxy: working standalone flow!
* extract oatproxy
* chore: gofmt
* oproxy: bump to latest version
golive: update title option
* build: custom sources.list
* build: --context-sub-path on kaniko
* build: add custom winehq mirror ig
* build: whatever, build from root
* build: add apt-mirror instructions
* build: no cache i guess???
* build: i don't even know. try azure?
fix: main callout in docs 404s and redirects
app: android images are evil
disable uptime stream time when offline
* update guides to prefer rtmp
* rtmp is the default in when getting stream keys
* update link to image
* oh wrong file extension duh
* Update js/app/components/live-dashboard/stream-key.tsx
---------
Co-authored-by: Eli Mallon <eli@iame.li>
* add some home screen components
* add more home screen components
* add breakpoint debug tool
* some basic foundational ui components for home menu
* expand tamagui media presets
* add home menu + home menu controller hoook
* fix smallest breakpoint being super wide
* fix visibility of pills
* switch to rendering """grids""" manually
* switch out home component lol
* change some widths + remove debug bg
* adding bulk bsky profile caching
* add segmentWithStreamInfo fetching
* change main contentpadding + ratios to something better suitable
* move cards around
* tweaks to magic numbers for the 'grid'
* jelly
* rebase to latest?
* fix weird sizing issues with the container on iOS
* avoid weird layouts
* remove sidebar logging again 😭
* ios auto width adjustment workaround
* clean up, remove mock data gen
* remove more usemockdata
* ci: add sync to tangled.sh
* app: fix native fullscreen view
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
* build: app before docs
* v0.6.21
* web: add PiP
* oproxy: refresh a bit less aggressively lol
* cmd: rate limiting off by default
* xrpc: add com.atproto.repo.uploadBlob
* v0.6.22
* fix: completely hide sidebar on change to fullscreen (#169)
* completely hide sidebar on fullscreen
* move our hook from native fullscreen to the fullscreen context
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@iame.li>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>
* add some home screen components
* move ui stuff to components/home
* update imports for home 😭
* deleting build info as it was in gitignore
* run prettier format
* xrpc: add place.stream.live.getSegments
* app: make use of place.stream.live.getSegments
* app: clean logging
* edit image endpoint (todo: mobile testing!)
* new place.stream.live.getLiveUsers lexicon
* finish(ish?) implementing lexicon on home page
* triple check that nonlive users are filtered out
* take out irrelevant logging
* take out live-users api endpoint in favor of the xrpc endpoint
* fix: actually parse times this time
* move irrelevant components out of home folder
* simplify grids by using hidden cards
* delete clearqueryparams
* delete clearqueryparams
* go fmt
* oauth: fix nonce-in-flight stuff
* model: just use sql for recent livestreams
---------
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: Eli Mallon <eli@iame.li>
* xrpc: add ErrorHandlingMiddleware
* xrpc: rename file
* oproxy: unknown auth? let em through with no session
* oauth: don't clobber the context you goof
* oauth: ignore credentials for other people, who cares
* oauth: add error logging
* oauth: ignore non-dpop oauth tokens
* feeds: skip users who have streamed with no livestream
atproto: add support for app.bsky.actor.status
* xrpc: add place.stream.live.getSegments
* app: make use of place.stream.live.getSegments
* app: clean logging
* app: cleanup a bit
* app: bump @atproto to avoid having 2 lexicons embedded lol
* app: fix types post-upgrade
* fixup
doc: update stream guides for RTMP
* ci: add windows-selftest to github
* ci: on
* ci: cd
* ci: more better
* ci: it's like app data but local-er
* ci: actually build the dang thing
* ci: windows desktop desktop windows
* completely hide sidebar on fullscreen
* move our hook from native fullscreen to the fullscreen context
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@iame.li>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>
golive: fix thumbnail upload through server-side XRPC
* add and fix errors reported by golangci-lint
* Update pkg/media/media_data_parser.go
Co-authored-by: Eli Mallon <eli@stream.place>
* chore: linting tweaks
* chore: last few linting things
* chore: golangci-lint v2
* chore: golangci-lint changed a few things
* media: fix audio_smear context cancel
* chore: update captilization of vars to match
* github action: add golangci-lint github action
* github action: build dependencies for golangci to run
* github action: ope fix the ordering of steps
* github action: set in-container-cmd
* add and fix errors reported by golangci-lint
* Update pkg/media/media_data_parser.go
Co-authored-by: Eli Mallon <eli@stream.place>
* chore: linting tweaks
* chore: last few linting things
* chore: golangci-lint v2
* chore: golangci-lint changed a few things
* media: fix audio_smear context cancel
* chore: update captilization of vars to match
* github action: add golangci-lint github action
* github action: build dependencies for golangci to run
* github action: ope fix the ordering of steps
* github action: set in-container-cmd
* test: try and run without building everything again
* test: set CGO_ENABLED env
* test: set up minimal env to run with linting
* test: install meson
* test: build in container
* test?
* do everything in the action runner
* do everything in the action runner
* revert removing n
* clone with tag
* set test tag?
* use meson from pip
* copy from builder dockerfile
* remove nuget
* is missing part
* build: golangci-lint inna container
* build: fake build for golangci-lint
* lmao
* fix linting errors, add precommit hook
* linting polish
* linting: fix selftest
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
* oproxy: move to HMAC nonces so they can used more than once
* oproxy: move migration to getter
* oproxy: implement JTI caching
* desktop: add AQD_NO_UPDATE
* oproxy: add standalone version
* oproxy: loadOAuthSession --> getOAuthSession
* oproxy: client metadata implementation
* oproxy: add echo, keys, other things
* oproxy: working standalone flow!
* extract oatproxy
* chore: gofmt
* oproxy: bump to latest version
* add some home screen components
* add more home screen components
* add breakpoint debug tool
* some basic foundational ui components for home menu
* expand tamagui media presets
* add home menu + home menu controller hoook
* fix smallest breakpoint being super wide
* fix visibility of pills
* switch to rendering """grids""" manually
* switch out home component lol
* change some widths + remove debug bg
* adding bulk bsky profile caching
* add segmentWithStreamInfo fetching
* change main contentpadding + ratios to something better suitable
* move cards around
* tweaks to magic numbers for the 'grid'
* jelly
* rebase to latest?
* fix weird sizing issues with the container on iOS
* avoid weird layouts
* remove sidebar logging again 😭
* ios auto width adjustment workaround
* clean up, remove mock data gen
* remove more usemockdata
* ci: add sync to tangled.sh
* app: fix native fullscreen view
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
* build: app before docs
* v0.6.21
* web: add PiP
* oproxy: refresh a bit less aggressively lol
* cmd: rate limiting off by default
* xrpc: add com.atproto.repo.uploadBlob
* v0.6.22
* fix: completely hide sidebar on change to fullscreen (#169)
* completely hide sidebar on fullscreen
* move our hook from native fullscreen to the fullscreen context
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@iame.li>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>
* add some home screen components
* move ui stuff to components/home
* update imports for home 😭
* deleting build info as it was in gitignore
* run prettier format
* xrpc: add place.stream.live.getSegments
* app: make use of place.stream.live.getSegments
* app: clean logging
* edit image endpoint (todo: mobile testing!)
* new place.stream.live.getLiveUsers lexicon
* finish(ish?) implementing lexicon on home page
* triple check that nonlive users are filtered out
* take out irrelevant logging
* take out live-users api endpoint in favor of the xrpc endpoint
* fix: actually parse times this time
* move irrelevant components out of home folder
* simplify grids by using hidden cards
* delete clearqueryparams
* delete clearqueryparams
* go fmt
* oauth: fix nonce-in-flight stuff
* model: just use sql for recent livestreams
---------
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: Eli Mallon <eli@iame.li>
* xrpc: add ErrorHandlingMiddleware
* xrpc: rename file
* oproxy: unknown auth? let em through with no session
* oauth: don't clobber the context you goof
* oauth: ignore credentials for other people, who cares
* oauth: add error logging
* oauth: ignore non-dpop oauth tokens
* feeds: skip users who have streamed with no livestream
* completely hide sidebar on fullscreen
* move our hook from native fullscreen to the fullscreen context
* Merge pull request #158 from streamplace/eli/github-mobile-ci
github: add ios and android builds
* no start?
* timer: UX tweaks
* timer: fix formatting
* oproxy: move to server-side long-lived oauth (#157)
* oauth: basic server oauth init
* oauth: successfully making posts and whatnot!
* docs: add oauth docs
* lol hax
* checkpoint
* oauth: PAR part works great
* model: oauth_session --> oauth_session_upstream
* oauth: remove weird xrpc endpoint
* oauth: getting to token creation!
* oauth: we're issuing tokens!
* oauth: we're generating a jwt woo
* build: move to streamplace indigo
* build: update Makefile to work with subproject atproto
* atproto: rewrite repo sync (no more partials)
* oauth: token issuance is happening!
* oauth: just one table plz
* atproto: working profile retrieval!
* oauth: refactor to wrapped oauth client
* oauth: working DPoP!
* oauth: roll back makedb changes
* oauth: implement refresh tokens
* oauth: add downstream authorization code
* oauth: implement revocation
* oproxy: big broken move of lots of files
* checkpoint
* oproxy: implemented PAR
* oproxy: implemented authorize
* oproxy: implement return
* oproxy: implement token issuance
* oproxy: implement token revocation
* oproxy: implement middleware
* oproxy: fixes
* oproxy: login works again!
* oproxy: cleanup
* oproxy: move to forked atproto library
* docs: we love this image, sorry i deleted it
* oproxy: somewhat-working DPoP nonce enforcement!
* oproxy: nonce working in corner cases
* oproxy: roll nonce on token requests
* spxrpc: add wildcard atproto function
* oproxy: implement upstream refresh
* login: ship basic login screen
* @streamplace/atproto-oauth-client-react-native: moving in
* oproxy: add PublicHost and whatnot
* oproxy: customization of redirect urls
* oproxy: restructure
* oproxy: display handle rather than did
* oproxy: working error handling
* oproxy: handle resolution, error handling
* app: lie about did:web too
* build: don't commit .tsbuildinfo
* build: unfork indigo
* docs: make directory if we run first
* Apply suggestions from code review
* prettier
* ratelimit: make configurable, only ratelimit api calls
* v0.6.20
* app: custom live thumbnail + client-side thumbnail generation
* player: expose videoref for others to use
* add camera thumbnail to live announcement
* app: stub out thumbnail-selector until we're ready
* app: add responsive layout to livestream announcement
* app: throw error if custom thumbnail upload fails
* app: revert thumbnail selector to be web only for now
* build: require node >=22 (#174)
* build: require node >=22
* ci: node 22
* ci: install node@22 on gitlab
* add RTMPS support (#172)
* rtmp: cheeky mistserver sidecar container?
* rtmp: signer cache for mistserver
* rtmps: clean up, add docker build
* media: move mkv_ingest to its own file
* media: clean up MKVIngest
* rtmps: add frontend
* docker: fix mistserver dir
---------
Co-authored-by: Eli Mallon <eli@stream.place>
Co-authored-by: blu <blu@seiso.moe>
Co-authored-by: Eli Mallon <eli@iame.li>
Co-authored-by: Eli Mallon <eli@aquareum.tv>
Co-authored-by: 10xCrazyHorse <10xCrazyHorse@gmail.com>