Skip to content

Sync not working, 422 blob not found #54

Description

@juanojeda

Thanks for this plugin, it seemed to solve an issue I had with syncing from Android with a larger vault. It is much faster than the isomorphic-git implementations! However...

I'm running into issues when trying to sync on my Android.

First, it overwrote newer content from my repo with older content.
Then when I reverted the erroneous commit, it gave me a 422 blob not found error.

Looking at the errors, it looks like I'm being rate limited, but there's no docs about that in the plugin, or info about what I should do.

{"timestamp":"2026-04-12T01:24:43.716Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:24:54.589Z","level":"INFO","message":"Actions to sync","additional_data":[{"type":"upload","filePath":".obsidian/workspace-mobile.json"},{"type":"upload","filePath":".obsidian/github-sync.log"},{"type":"upload","filePath":".obsidian/plugins/github-gitless-sync/data.json"},{"type":"upload","filePath":"Agent Work/_TODO.md"}]}
{"timestamp":"2026-04-12T01:24:59.688Z","level":"INFO","message":"Sync done"}
{"timestamp":"2026-04-12T01:27:00.251Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:31:46.379Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:31:53.378Z","level":"ERROR","message":"Failed to get blob","additional_data":{"status":422,"headers":{"Access-Control-Allow-Origin":"*","Access-Control-Expose-Headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","Content-Length":"175","Content-Security-Policy":"default-src 'none'","Content-Type":"application/json; charset=utf-8","Date":"Sun, 12 Apr 2026 01:31:52 GMT","Referrer-Policy":"origin-when-cross-origin, strict-origin-when-cross-origin","Server":"github.com","Strict-Transport-Security":"max-age=31536000; includeSubdomains; preload","Vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"contents=read","X-Android-Received-Millis":"1775957513376","X-Android-Response-Source":"NETWORK 422","X-Android-Selected-Protocol":"http/1.1","X-Android-Sent-Millis":"1775957512908","X-Content-Type-Options":"nosniff","X-Frame-Options":"deny","x-github-api-version-selected":"2022-11-28","X-GitHub-Media-Type":"github.v3; format=json","X-GitHub-Request-Id":"E5AC:23457C:BE0557:F1C046:69DAF607","X-RateLimit-Limit":"5000","X-RateLimit-Remaining":"4969","X-RateLimit-Reset":"1775959915","X-RateLimit-Resource":"core","X-RateLimit-Used":"31","X-XSS-Protection":"0"},"arrayBuffer":{},"json":{"message":"The sha parameter must be exactly 40 characters and contain only [0-9a-f].","documentation_url":"https://docs.github.com/rest/git/blobs#get-a-blob","status":"422"},"text":"{\"message\":\"The sha parameter must be exactly 40 characters and contain only [0-9a-f].\",\"documentation_url\":\"https://docs.github.com/rest/git/blobs#get-a-blob\",\"status\":\"422\"}"}}
{"timestamp":"2026-04-12T01:33:28.198Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:33:35.789Z","level":"ERROR","message":"Failed to get blob","additional_data":{"status":422,"headers":{"Access-Control-Allow-Origin":"*","Access-Control-Expose-Headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","Content-Length":"175","Content-Security-Policy":"default-src 'none'","Content-Type":"application/json; charset=utf-8","Date":"Sun, 12 Apr 2026 01:33:34 GMT","Referrer-Policy":"origin-when-cross-origin, strict-origin-when-cross-origin","Server":"github.com","Strict-Transport-Security":"max-age=31536000; includeSubdomains; preload","Vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"contents=read","X-Android-Received-Millis":"1775957615782","X-Android-Response-Source":"NETWORK 422","X-Android-Selected-Protocol":"http/1.1","X-Android-Sent-Millis":"1775957615368","X-Content-Type-Options":"nosniff","X-Frame-Options":"deny","x-github-api-version-selected":"2022-11-28","X-GitHub-Media-Type":"github.v3; format=json","X-GitHub-Request-Id":"E59C:320E5:C82EF0:FBF8EC:69DAF66D","X-RateLimit-Limit":"5000","X-RateLimit-Remaining":"4966","X-RateLimit-Reset":"1775959915","X-RateLimit-Resource":"core","X-RateLimit-Used":"34","X-XSS-Protection":"0"},"arrayBuffer":{},"json":{"message":"The sha parameter must be exactly 40 characters and contain only [0-9a-f].","documentation_url":"https://docs.github.com/rest/git/blobs#get-a-blob","status":"422"},"text":"{\"message\":\"The sha parameter must be exactly 40 characters and contain only [0-9a-f].\",\"documentation_url\":\"https://docs.github.com/rest/git/blobs#get-a-blob\",\"status\":\"422\"}"}}
{"timestamp":"2026-04-12T01:33:50.367Z","level":"INFO","message":"Loading metadata"}
{"timestamp":"2026-04-12T01:33:50.376Z","level":"INFO","message":"Loaded metadata"}
{"timestamp":"2026-04-12T01:33:59.797Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:34:07.431Z","level":"ERROR","message":"Failed to get blob","additional_data":{"status":422,"headers":{"Access-Control-Allow-Origin":"*","Access-Control-Expose-Headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","Content-Length":"175","Content-Security-Policy":"default-src 'none'","Content-Type":"application/json; charset=utf-8","Date":"Sun, 12 Apr 2026 01:34:06 GMT","Referrer-Policy":"origin-when-cross-origin, strict-origin-when-cross-origin","Server":"github.com","Strict-Transport-Security":"max-age=31536000; includeSubdomains; preload","Vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"contents=read","X-Android-Received-Millis":"1775957647425","X-Android-Response-Source":"NETWORK 422","X-Android-Selected-Protocol":"http/1.1","X-Android-Sent-Millis":"1775957647039","X-Content-Type-Options":"nosniff","X-Frame-Options":"deny","x-github-api-version-selected":"2022-11-28","X-GitHub-Media-Type":"github.v3; format=json","X-GitHub-Request-Id":"E532:178D0E:BA30D2:EDF88C:69DAF68D","X-RateLimit-Limit":"5000","X-RateLimit-Remaining":"4962","X-RateLimit-Reset":"1775959915","X-RateLimit-Resource":"core","X-RateLimit-Used":"38","X-XSS-Protection":"0"},"arrayBuffer":{},"json":{"message":"The sha parameter must be exactly 40 characters and contain only [0-9a-f].","documentation_url":"https://docs.github.com/rest/git/blobs#get-a-blob","status":"422"},"text":"{\"message\":\"The sha parameter must be exactly 40 characters and contain only [0-9a-f].\",\"documentation_url\":\"https://docs.github.com/rest/git/blobs#get-a-blob\",\"status\":\"422\"}"}}
{"timestamp":"2026-04-12T01:36:12.758Z","level":"INFO","message":"Received modify event","additional_data":"Agent Work/_PROJECTS.md"}
{"timestamp":"2026-04-12T01:36:12.786Z","level":"INFO","message":"Updated just downloaded modified file","additional_data":"Agent Work/_PROJECTS.md"}
{"timestamp":"2026-04-12T01:36:49.702Z","level":"INFO","message":"Starting sync"}
{"timestamp":"2026-04-12T01:36:57.419Z","level":"ERROR","message":"Failed to get blob","additional_data":{"status":422,"headers":{"Access-Control-Allow-Origin":"*","Access-Control-Expose-Headers":"ETag, Link, Location, Retry-After, X-GitHub-OTP, X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Used, X-RateLimit-Resource, X-RateLimit-Reset, X-OAuth-Scopes, X-Accepted-OAuth-Scopes, X-Poll-Interval, X-GitHub-Media-Type, X-GitHub-SSO, X-GitHub-Request-Id, Deprecation, Sunset","Content-Length":"175","Content-Security-Policy":"default-src 'none'","Content-Type":"application/json; charset=utf-8","Date":"Sun, 12 Apr 2026 01:36:56 GMT","Referrer-Policy":"origin-when-cross-origin, strict-origin-when-cross-origin","Server":"github.com","Strict-Transport-Security":"max-age=31536000; includeSubdomains; preload","Vary":"Accept-Encoding, Accept, X-Requested-With","x-accepted-github-permissions":"contents=read","X-Android-Received-Millis":"1775957817413","X-Android-Response-Source":"NETWORK 422","X-Android-Selected-Protocol":"http/1.1","X-Android-Sent-Millis":"1775957816981","X-Content-Type-Options":"nosniff","X-Frame-Options":"deny","x-github-api-version-selected":"2022-11-28","X-GitHub-Media-Type":"github.v3; format=json","X-GitHub-Request-Id":"E4FE:2C3943:C11AF7:F4F992:69DAF737","X-RateLimit-Limit":"5000","X-RateLimit-Remaining":"4958","X-RateLimit-Reset":"1775959915","X-RateLimit-Resource":"core","X-RateLimit-Used":"42","X-XSS-Protection":"0"},"arrayBuffer":{},"json":{"message":"The sha parameter must be exactly 40 characters and contain only [0-9a-f].","documentation_url":"https://docs.github.com/rest/git/blobs#get-a-blob","status":"422"},"text":"{\"message\":\"The sha parameter must be exactly 40 characters and contain only [0-9a-f].\",\"documentation_url\":\"https://docs.github.com/rest/git/blobs#get-a-blob\",\"status\":\"422\"}"}}

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions