+10
api/tangled/repotree.go
+10
api/tangled/repotree.go
···
+4
-2
appview/config/config.go
+4
-2
appview/config/config.go
···
+140
appview/db/db.go
+140
appview/db/db.go
···+at_uri text generated always as ('at://' || owner_did || '/' || 'sh.tangled.repo.pull' || '/' || rkey) stored,+state integer not null default 0 check (state in (0, 1, 2, 3)), -- closed, open, merged, deleted
+13
-9
appview/db/email.go
+13
-9
appview/db/email.go
···+func GetEmailToDid(e Execer, emails []string, isVerifiedFilter bool) (map[string]string, error) {······
+34
appview/db/language.go
+34
appview/db/language.go
······+func UpdateRepoLanguages(tx *sql.Tx, repoAt syntax.ATURI, ref string, langs []models.RepoLanguage) error {
+18
-25
appview/db/notifications.go
+18
-25
appview/db/notifications.go
······-// GetNotifications retrieves notifications for a user with pagination (legacy method for backward compatibility)-func (d *DB) GetNotifications(ctx context.Context, userDID string, limit, offset int) ([]*models.Notification, error) {-// GetNotificationsWithEntities retrieves notifications with entities for a user with pagination-func (d *DB) GetNotificationsWithEntities(ctx context.Context, userDID string, limit, offset int) ([]*models.NotificationWithEntity, error) {
+145
-229
appview/db/pulls.go
+145
-229
appview/db/pulls.go
···············+pulls, err := GetPullsWithLimit(e, 1, FilterEq("repo_at", repoAt), FilterEq("pull_id", pullId))+func GetPullSubmissions(e Execer, filters ...filter) (map[syntax.ATURI][]*models.PullSubmission, error) {·········
+5
-1
appview/issues/issues.go
+5
-1
appview/issues/issues.go
···
+3
-3
appview/labels/labels.go
+3
-3
appview/labels/labels.go
······
+1
-5
appview/middleware/middleware.go
+1
-5
appview/middleware/middleware.go
···
+29
-1
appview/models/notifications.go
+29
-1
appview/models/notifications.go
······
+46
-4
appview/models/pull.go
+46
-4
appview/models/pull.go
············
+30
-35
appview/notifications/notifications.go
+30
-35
appview/notifications/notifications.go
···············
+8
-48
appview/notify/db/db.go
+8
-48
appview/notify/db/db.go
························
+156
appview/pages/legal/privacy.md
+156
appview/pages/legal/privacy.md
···
+107
appview/pages/legal/terms.md
+107
appview/pages/legal/terms.md
···
+15
-17
appview/pages/markup/format.go
+15
-17
appview/pages/markup/format.go
······
+48
-20
appview/pages/pages.go
+48
-20
appview/pages/pages.go
·································
+224
appview/pages/templates/brand/brand.html
+224
appview/pages/templates/brand/brand.html
···+<main class="col-span-full md:col-span-10 bg-white dark:bg-gray-800 drop-shadow-sm rounded p-6 md:px-10">+Tangled's logo and mascot is <strong>Dolly</strong>, the first ever <em>cloned</em> mammal. Please+All assets are served as SVGs, and can be downloaded by right-clicking and clicking "Save image as".+<div class="border border-gray-200 dark:border-gray-700 p-8 sm:p-16 bg-gray-50 dark:bg-gray-100 rounded">+This is the preferred version of the logotype, featuring dark text and elements, ideal for light+<div class="border border-gray-200 dark:border-gray-700 bg-gray-50 dark:bg-gray-100 p-8 sm:p-12 rounded">+<div class="border border-gray-200 dark:border-gray-700 p-8 sm:p-16 bg-gray-50 dark:bg-gray-100 rounded">
+3
appview/pages/templates/layouts/base.html
+3
appview/pages/templates/layouts/base.html
···<link rel="preload" href="/static/fonts/InterVariable.woff2" as="font" type="font/woff2" crossorigin />
+13
-6
appview/pages/templates/legal/privacy.html
+13
-6
appview/pages/templates/legal/privacy.html
···+<main class="col-span-full md:col-span-10 bg-white dark:bg-gray-800 drop-shadow-sm rounded p-6 md:px-10">
+13
-6
appview/pages/templates/legal/terms.html
+13
-6
appview/pages/templates/legal/terms.html
···+<main class="col-span-full md:col-span-10 bg-white dark:bg-gray-800 drop-shadow-sm rounded p-6 md:px-10">
+68
-199
appview/pages/templates/notifications/fragments/item.html
+68
-199
appview/pages/templates/notifications/fragments/item.html
···-<div class="border border-gray-200 dark:border-gray-700 rounded-sm p-3 hover:bg-gray-50 dark:hover:bg-gray-700 transition-colors {{if not .Read}}bg-blue-50 dark:bg-blue-900/20{{end}}">+w-full mx-auto rounded drop-shadow-sm dark:text-white bg-white dark:bg-gray-800 px-2 md:px-6 py-4 transition-colors+{{if not .Read}}bg-blue-50 dark:bg-blue-800/20 border border-blue-500 dark:border-sky-800{{end}}+<span class="text-sm text-gray-500 dark:text-gray-400">{{ template "notificationSummary" . }}</span>-<span class="font-medium text-gray-900 dark:text-white">{{resolve .Repo.Did}}/{{.Repo.Name}}</span>-<span class="font-medium text-gray-900 dark:text-white">{{resolve .Repo.Did}}/{{.Repo.Name}}</span>+<div class="absolute border-2 border-white dark:border-gray-800 bg-gray-200 dark:bg-gray-700 bottom-1 right-1 rounded-full p-2 flex items-center justify-center z-10">+starred <span class="text-black dark:text-white">{{ resolve .Repo.Did }}/{{ .Repo.Name }}</span>-<span class="{{if not .Read}}text-blue-600 dark:text-blue-400{{else}}text-gray-500 dark:text-gray-400{{end}}">
+44
-25
appview/pages/templates/notifications/list.html
+44
-25
appview/pages/templates/notifications/list.html
······-<div class="bg-white dark:bg-gray-800 p-6 rounded relative w-full mx-auto drop-shadow-sm dark:text-white">+<div class="bg-white dark:bg-gray-800 p-6 rounded relative w-full mx-auto drop-shadow-sm dark:text-white">···<p class="text-gray-600 dark:text-gray-400">When you receive notifications, they'll appear here.</p>+class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"+class="btn flex items-center gap-2 no-underline hover:no-underline dark:text-white dark:hover:bg-gray-700"
+7
appview/pages/templates/repo/fork.html
+7
appview/pages/templates/repo/fork.html
···<form hx-post="/{{ .RepoInfo.FullName }}/fork" class="space-y-12" hx-swap="none" hx-indicator="#spinner">+class="w-full p-2 border rounded bg-gray-100 dark:bg-gray-700 dark:text-white dark:border-gray-600" />
+1
-1
appview/pages/templates/repo/fragments/cloneDropdown.html
+1
-1
appview/pages/templates/repo/fragments/cloneDropdown.html
+1
-1
appview/pages/templates/repo/fragments/labelPanel.html
+1
-1
appview/pages/templates/repo/fragments/labelPanel.html
+26
appview/pages/templates/repo/fragments/participants.html
+26
appview/pages/templates/repo/fragments/participants.html
···+class="rounded-full h-8 w-8 mr-1 border-2 border-gray-100 dark:border-gray-900 z-{{sub 5 $i}}0"
+2
-2
appview/pages/templates/repo/fragments/readme.html
+2
-2
appview/pages/templates/repo/fragments/readme.html
···<div class="mt-4 rounded bg-white dark:bg-gray-800 drop-shadow-sm w-full mx-auto overflow-hidden">-<div class="px-4 py-2 bg-gray-50 dark:bg-gray-700 border-b border-gray-200 dark:border-gray-600 flex items-center gap-2">
+1
-27
appview/pages/templates/repo/issues/issue.html
+1
-27
appview/pages/templates/repo/issues/issue.html
······-class="rounded-full h-8 w-8 mr-1 border-2 border-gray-100 dark:border-gray-900 z-{{sub 5 $i}}0"
+156
-140
appview/pages/templates/repo/new.html
+156
-140
appview/pages/templates/repo/new.html
···+<div class="col-span-full md:col-start-3 md:col-span-8 bg-white dark:bg-gray-800 drop-shadow-sm rounded p-6 md:px-10">-<div class="w-6 h-6 bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-full flex items-center justify-center text-sm font-medium mt-1">-<div class="flex items-center px-2 py-2 gap-1 text-sm text-gray-700 dark:text-gray-300 md:border md:border-r-0 md:border-gray-300 md:dark:border-gray-600 md:rounded-l md:bg-gray-50 md:dark:bg-gray-700">-<span class="hidden md:inline pr-2 py-2 text-gray-500 dark:text-gray-400 border-t border-b border-gray-300 dark:border-gray-600 bg-gray-50 dark:bg-gray-700">/</span>-class="w-full max-w-md dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded md:rounded-r md:rounded-l-none px-3 py-2"-class="w-full max-w-md dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded px-3 py-2"-<div class="w-6 h-6 bg-gray-900 dark:bg-gray-100 text-white dark:text-gray-900 rounded-full flex items-center justify-center text-sm font-medium mt-1">-class="w-full max-w-md dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded px-3 py-2"+<div class="text-sm text-gray-500 dark:text-gray-400 mb-4">Repository settings and hosting.</div>-<div class="w-full max-w-md dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded p-3 space-y-2">+<div class="shrink-0 hidden md:flex items-center px-2 py-2 gap-1 text-sm text-gray-700 dark:text-gray-300 md:border md:border-r-0 md:border-gray-300 md:dark:border-gray-600 md:rounded-l md:bg-gray-50 md:dark:bg-gray-700">+class="flex-1 dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded md:rounded-r md:rounded-l-none px-3 py-2"+class="w-full w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded px-3 py-2"+class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded px-3 py-2"+<div class="w-full dark:bg-gray-700 dark:text-white dark:border-gray-600 border border-gray-300 rounded p-3 space-y-2">+<div class="w-6 h-6 bg-gray-200 dark:bg-gray-600 rounded-full flex items-center justify-center text-sm font-medium mt-1">
+30
-12
appview/pages/templates/repo/pulls/pull.html
+30
-12
appview/pages/templates/repo/pulls/pull.html
···+<section class="bg-white dark:bg-gray-800 p-6 rounded relative w-full mx-auto dark:text-white">···-<div class="rounded drop-shadow-sm bg-white dark:bg-gray-800 p-2 text-gray-500 dark:text-gray-400">+<div class="flex-1 rounded drop-shadow-sm bg-white dark:bg-gray-800 p-2 text-gray-500 dark:text-gray-400">······-<div id="comment-{{$c.ID}}" class="bg-white dark:bg-gray-800 rounded drop-shadow-sm py-2 px-4 relative w-full md:max-w-3/5 md:w-fit">+<div id="comment-{{$c.ID}}" class="bg-white dark:bg-gray-800 rounded drop-shadow-sm py-2 px-4 relative w-full">
+7
appview/pages/templates/repo/pulls/pulls.html
+7
appview/pages/templates/repo/pulls/pulls.html
···
+1
-1
appview/pages/templates/repo/tree.html
+1
-1
appview/pages/templates/repo/tree.html
+1
appview/pages/templates/user/completeSignup.html
+1
appview/pages/templates/user/completeSignup.html
+1
-1
appview/pages/templates/user/fragments/followCard.html
+1
-1
appview/pages/templates/user/fragments/followCard.html
···-<div class="flex flex-col divide-y divide-gray-200 dark:divide-gray-700 border border-gray-200 dark:border-gray-700 rounded-sm"><div class="py-4 px-6 drop-shadow-sm rounded bg-white dark:bg-gray-800 flex items-center gap-4">
+2
-1
appview/pages/templates/user/login.html
+2
-1
appview/pages/templates/user/login.html
······your Tangled (<code>.tngl.sh</code>) or <a href="https://bsky.app">Bluesky</a> (<code>.bsky.social</code>) account.
+7
-1
appview/pages/templates/user/signup.html
+7
-1
appview/pages/templates/user/signup.html
······<button class="btn text-base w-full my-2 mt-6" type="submit" id="signup-button" tabindex="7" >
+1
-1
appview/pagination/page.go
+1
-1
appview/pagination/page.go
+35
appview/pulls/pulls.go
+35
appview/pulls/pulls.go
·········
+17
-22
appview/repo/index.go
+17
-22
appview/repo/index.go
············
+15
-31
appview/repo/repo.go
+15
-31
appview/repo/repo.go
······// redirects tree paths trying to access a blob; in this case the result.Files is unpopulated,······
+65
-1
appview/signup/signup.go
+65
-1
appview/signup/signup.go
·········
+14
-1
appview/state/knotstream.go
+14
-1
appview/state/knotstream.go
···
+2
appview/state/router.go
+2
appview/state/router.go
······
+30
appview/state/state.go
+30
appview/state/state.go
······
+1
-1
docs/spindle/pipeline.md
+1
-1
docs/spindle/pipeline.md
···- `branch`: This is a **required** field that defines which branches the workflow should run for. If used with the `push` event, commits to the branch(es) listed here will trigger the workflow. If used with the `pull_request` event, updates to pull requests targeting the branch(es) listed here will trigger the workflow. This field has no effect with the `manual` event.-For example, if you'd like define a workflow that runs when commits are pushed to the `main` and `develop` branches, or when pull requests that target the `main` branch are updated, or manually, you can do so with:+For example, if you'd like to define a workflow that runs when commits are pushed to the `main` and `develop` branches, or when pull requests that target the `main` branch are updated, or manually, you can do so with:
+1
-1
knotserver/config/config.go
+1
-1
knotserver/config/config.go
···
+1
-3
knotserver/git/tag.go
+1
-3
knotserver/git/tag.go
·········
+1
-1
knotserver/xrpc/repo_blob.go
+1
-1
knotserver/xrpc/repo_blob.go
···
+24
knotserver/xrpc/repo_tree.go
+24
knotserver/xrpc/repo_tree.go
·········
-158
legal/privacy.md
-158
legal/privacy.md
···
-109
legal/terms.md
-109
legal/terms.md
···
+19
lexicons/repo/tree.json
+19
lexicons/repo/tree.json
······
+1
-1
nix/pkgs/knot-unwrapped.nix
+1
-1
nix/pkgs/knot-unwrapped.nix
+7
-5
types/repo.go
+7
-5
types/repo.go
···