Mobile support to come.
Feb 7
wip - wire up our user dto creation
baepaul•11:41 PM
making signup form also work without js, minimal as is
baepaul•10:47 PM
refactoring validate user -> hasUser and wiring up signup form
baepaul•10:33 PM
updating sign up to use signin with otp instead
baepaul•5:25 PM
migration to disable creating user on auth user
baepaul•4:47 PM
Feb 6
for the subways
baepaul•11:10 PM
deleted unused import
mikkel•8:28 PM
chained user router
mikkel•8:26 PM
refactoring to head -> /user/{username} for username existence checks
baepaul•8:23 PM
a lot of footguns eh
baepaul•7:49 PM
updated public url to include www
mikkel•8:00 PM
wired up commit service in backend
mikkel•7:18 PM
added commit repo and service
mikkel•7:14 PM
created commits table
mikkel•7:05 PM
Feb 5
removed unnecessary envs
mikkel•9:55 PM
replaced create_user api with validate_name api
mikkel•9:54 PM
created temporary signup page
mikkel•8:37 PM
fixed sending request to wrong url
mikkel•7:51 PM
Feb 3
added reserved user names to avoid
mikkel•9:53 PM
implemented create user endpoint
mikkel•6:24 AM
created supabase client
mikkel•5:18 AM
updated server url in cli to gitdot.io
mikkel•4:54 AM
enabled git ops directly via gitdot.io
mikkel•4:52 AM
making commit.author work with legacy commit stats apis
baepaul•12:21 AM
updated commits api to return gitdot user info if exist
mikkel•12:01 AM
Feb 2
enabling dark mode based on system preference for blog & landing page only
baepaul•10:41 PM
sorting entries
baepaul•10:15 PM
explaining my sins
baepaul•9:33 PM
doing something risky and ill-advised :)
baepaul•9:13 PM
updated preview to only return blobs
mikkel•8:14 PM
mikkel•Feb 02, 2026 8:14:14 PM
updated preview to only return blobs
3 files changed
45 ref_name: response.ref_name,46 commit_sha: response.commit_sha,47 entries: response48 .entries49 .into_iter()50 .filter(|e| e.entry_type == "blob")51 .map(Into::into)52 .collect(),53 }54 }
45 ref_name: response.ref_name,46 commit_sha: response.commit_sha,47 entries: response.entries.into_iter().map(Into::into).collect(),48 }49 }..50}5152impl From<RepositoryPreviewEntry> for RepositoryPreviewEntryServerResponse {53 fn from(entry: RepositoryPreviewEntry) -> Self {
330 } else {331 format!("{}/{}", base_path, name)332 };333334 let entry_type = match entry.kind() {335 Some(git2::ObjectType::Blob) => "blob",334 let entry_type = match entry.kind() {335 Some(git2::ObjectType::Blob) => "blob",......336 Some(git2::ObjectType::Tree) => "tree",337 Some(git2::ObjectType::Commit) => "commit",338 _ => "unknown",339 }340 .to_string();341342 let sha = entry.id().to_string();343344 let preview = if entry_type == "blob" {345 Self::get_file_preview(repo, entry.id(), preview_lines)344 let preview = if entry_type == "blob" {345 Self::get_file_preview(repo, entry.id(), preview_lines)346 } else {347 None348 };349350 entries.push(RepositoryPreviewEntry {351 path: entry_path.clone(),352 name,353 entry_type: entry_type.clone(),354 sha,355 preview,356 });357358 if entry_type == "tree" {359 if let Ok(subtree) = repo.find_tree(entry.id()) {360 Self::walk_tree_with_preview(361 repo,362 &subtree,
330 } else {331 format!("{}/{}", base_path, name)332 };333334 match entry.kind() {335 Some(git2::ObjectType::Blob) => {334 match entry.kind() {335 Some(git2::ObjectType::Blob) => {336 let sha = entry.id().to_string();337 let preview = Self::get_file_preview(repo, entry.id(), preview_lines);338....................337 let preview = Self::get_file_preview(repo, entry.id(), preview_lines);........338339 entries.push(RepositoryPreviewEntry {340 path: entry_path,..341 name,342 sha,343 preview,344 });345 }346 Some(git2::ObjectType::Tree) => {347 if let Ok(subtree) = repo.find_tree(entry.id()) {348 Self::walk_tree_with_preview(349 repo,350 &subtree,
3940#[derive(Debug, Clone)]41pub struct RepositoryPreviewEntry {42 pub path: String,43 pub name: String,44 pub entry_type: String,45 pub sha: String,46 pub preview: Option<FilePreview>,47}48
3940#[derive(Debug, Clone)]41pub struct RepositoryPreviewEntry {42 pub path: String,43 pub name: String,..44 pub sha: String,45 pub preview: Option<FilePreview>,46}47