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
mck782•Feb 05, 2026 7:51:14 PM
fixed sending request to wrong url
4 files changed
27# option (not recommended) you can uncomment the following to ignore the entire idea folder.28#.idea/2930# env files (can opt-in for committing if needed)31.env......32
27# option (not recommended) you can uncomment the following to ignore the entire idea folder.28#.idea/2930# env files (can opt-in for committing if needed)31.env3233# macOS34.DS_STORE35
1pub mod auth;23const SERVER_URL: &str = "https://gitdot.io";4const CLIENT_ID: &str = "gitdot-cli";56pub struct ApiClient {7 client: reqwest::Client,8 base_url: String,9 client_id: String,10}1112impl ApiClient {
23const PUBLIC_URL: &str = "https://gitdot.io";4const SERVER_URL: &str = "https://api.gitdot.io";5const CLIENT_ID: &str = "gitdot-cli";67pub struct ApiClient {8 client: reqwest::Client,9 public_url: String,10 server_url: String,11 client_id: String,12}13
12impl ApiClient {13 pub fn new() -> Self {14 Self {15 client: reqwest::Client::new(),16 base_url: SERVER_URL.to_string(),17 client_id: CLIENT_ID.to_string(),18 }19 }2021 pub fn get_base_url(&self) -> &str {22 &self.base_url23 }24}25
15 pub fn new() -> Self {16 Self {17 client: reqwest::Client::new(),18 public_url: PUBLIC_URL.to_string(),19 server_url: SERVER_URL.to_string(),20 client_id: CLIENT_ID.to_string(),21 }22 }2324 pub fn get_public_url(&self) -> &str {25 &self.public_url26 }27}28
9impl ApiClient {10 pub async fn get_device_code(&self) -> anyhow::Result<DeviceCodeResponse> {11 let url = format!(12 "{}/oauth/device?client_id={}",13 self.base_url, self.client_id14 );15 let response = self16 .client17 .post(&url)
9impl ApiClient {10 pub async fn get_device_code(&self) -> anyhow::Result<DeviceCodeResponse> {11 let url = format!(12 "{}/oauth/device?client_id={}",13 self.server_url, self.client_id14 );15 let response = self16 .client17 .post(&url)
24 Ok(response)25 }2627 pub async fn poll_token(&self, device_code: &str) -> anyhow::Result<TokenResponse> {28 let url = format!("{}/oauth/token", self.base_url);29 let request = PollTokenRequest {30 device_code: device_code.to_string(),31 client_id: self.client_id.clone(),32 };
24 Ok(response)25 }2627 pub async fn poll_token(&self, device_code: &str) -> anyhow::Result<TokenResponse> {28 let url = format!("{}/oauth/token", self.server_url);29 let request = PollTokenRequest {30 device_code: device_code.to_string(),31 client_id: self.client_id.clone(),32 };
loading...