bug: disable lexicon validation for Tangled-specific record #4

open
opened by dunkirk.sh targeting main

Set validate=false for all Tangled custom collections (sh.tangled.*) when creating records via com.atproto.repo.createRecord. PDSs don't have the Tangled lexicon schemas, so validation would fail with "Lexicon not found" errors.

Fixes issue creation, PR creation, comments, stars, and issue state changes.

Changed files
+10 -10
crates
tangled-api
src
+10 -10
crates/tangled-api/src/client.rs
··· 293 293 let create_req = CreateRecordReq { 294 294 repo: opts.did, 295 295 collection: "sh.tangled.repo", 296 - validate: true, 296 + validate: false, 297 297 record: rec, 298 298 }; 299 299 ··· 527 527 repo: did, 528 528 collection: "sh.tangled.repo", 529 529 rkey, 530 - validate: true, 530 + validate: false, 531 531 record: rec, 532 532 }; 533 533 let _: serde_json::Value = pds_client ··· 619 619 let req = Req { 620 620 repo: user_did, 621 621 collection: "sh.tangled.feed.star", 622 - validate: true, 622 + validate: false, 623 623 record: rec, 624 624 }; 625 625 let pds_client = TangledClient::new(pds_base); ··· 779 779 let req = Req { 780 780 repo: author_did, 781 781 collection: "sh.tangled.repo.issue", 782 - validate: true, 782 + validate: false, 783 783 record: rec, 784 784 }; 785 785 let pds_client = TangledClient::new(pds_base); ··· 824 824 let req = Req { 825 825 repo: author_did, 826 826 collection: "sh.tangled.repo.issue.comment", 827 - validate: true, 827 + validate: false, 828 828 record: rec, 829 829 }; 830 830 let pds_client = TangledClient::new(pds_base); ··· 874 874 repo: author_did, 875 875 collection: "sh.tangled.repo.issue", 876 876 rkey, 877 - validate: true, 877 + validate: false, 878 878 record, 879 879 }; 880 880 let _: serde_json::Value = self ··· 914 914 let req = Req { 915 915 repo: author_did, 916 916 collection: "sh.tangled.repo.issue.state", 917 - validate: true, 917 + validate: false, 918 918 record: rec, 919 919 }; 920 920 let pds_client = TangledClient::new(pds_base); ··· 1041 1041 let req = Req { 1042 1042 repo: author_did, 1043 1043 collection: "sh.tangled.repo.pull", 1044 - validate: true, 1044 + validate: false, 1045 1045 record: rec, 1046 1046 }; 1047 1047 let pds_client = TangledClient::new(pds_base); ··· 1174 1174 let req = Req { 1175 1175 repo: author_did, 1176 1176 collection: "sh.tangled.repo.pull.comment", 1177 - validate: true, 1177 + validate: false, 1178 1178 record: rec, 1179 1179 }; 1180 1180 let pds_client = TangledClient::new(pds_base); ··· 1283 1283 repo: did, 1284 1284 collection: "sh.tangled.repo", 1285 1285 rkey, 1286 - validate: true, 1286 + validate: false, 1287 1287 record: rec, 1288 1288 }; 1289 1289 let _: serde_json::Value = pds_client