{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":757779368,"defaultBranch":"main","name":"squibble","ownerLogin":"tailscale","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-15T00:39:18.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/48932923?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1707957567.0","currentOid":""},"activityList":{"items":[{"before":"3ee6329b51dc186cafeac7de5cfff35a176724c6","after":"9ee0eeb781850e481c0b83a3053ccc27609d49e6","ref":"refs/heads/main","pushedAt":"2024-04-18T23:53:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update module dependencies","shortMessageHtmlLink":"go.mod: update module dependencies"}},{"before":"a8b1b36f2acb9ca59c87ab8406ca40507e2862dc","after":"3ee6329b51dc186cafeac7de5cfff35a176724c6","ref":"refs/heads/main","pushedAt":"2024-04-08T19:02:16.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: fix over-zealous dependency update\n\nPartially reverts commit 1cb64c2a03741a5d5e9cc4a497e26d12e865ab52.\nApplies only specific updates.","shortMessageHtmlLink":"go.mod: fix over-zealous dependency update"}},{"before":"efcebb00111611036c21283c3a0d6be5e880b16e","after":"a8b1b36f2acb9ca59c87ab8406ca40507e2862dc","ref":"refs/heads/main","pushedAt":"2024-04-08T19:01:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: fix over-zeaulos dependency update\n\nPartially reverts commit 1cb64c2a03741a5d5e9cc4a497e26d12e865ab52.\nApplies only specific updates.","shortMessageHtmlLink":"go.mod: fix over-zeaulos dependency update"}},{"before":"eb47502f983d6752f88c1501fa4d0847fd6d00e4","after":"efcebb00111611036c21283c3a0d6be5e880b16e","ref":"refs/heads/main","pushedAt":"2024-04-08T16:30:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"golmod: update modernc.org/libc to v1.49.3","shortMessageHtmlLink":"golmod: update modernc.org/libc to v1.49.3"}},{"before":"0994ba0e47daf045c3f446e17f918d93af623b8b","after":"eb47502f983d6752f88c1501fa4d0847fd6d00e4","ref":"refs/heads/main","pushedAt":"2024-04-08T03:03:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update module dependencies","shortMessageHtmlLink":"go.mod: update module dependencies"}},{"before":"d506ba44e8afeb2aaec0fa9536a6194c9ab8faff","after":"0994ba0e47daf045c3f446e17f918d93af623b8b","ref":"refs/heads/main","pushedAt":"2024-04-06T21:38:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"cmd/squibble: fix handling of 'latest' in the history list","shortMessageHtmlLink":"cmd/squibble: fix handling of 'latest' in the history list"}},{"before":"8de8d81d0dd471ea14937fa94e25d491fdb72eea","after":"d506ba44e8afeb2aaec0fa9536a6194c9ab8faff","ref":"refs/heads/main","pushedAt":"2024-04-04T01:19:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"cmd/squibble: allow \"history\" to select specific digests or \"latest\"","shortMessageHtmlLink":"cmd/squibble: allow \"history\" to select specific digests or \"latest\""}},{"before":"1cb64c2a03741a5d5e9cc4a497e26d12e865ab52","after":"8de8d81d0dd471ea14937fa94e25d491fdb72eea","ref":"refs/heads/main","pushedAt":"2024-04-03T04:03:19.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: be smarter about diffing SQL-only objects\n\nSQLite's \"normalization\" is not that robust, and in particular does not really\nhandle line breaks in a consistent way. Semantically this is fine, but it can\nresult in a spurious diff for a view (say), since\n\n CREATE VIEW foo AS SELECT x, y FROM bar;\n\nand\n\n CREATE VIEW foo AS\n SELECT x, y\n FROM bar;\n\nwill be \"different\" after normalization, but produce the same view. So before\napplying the text diff, check the \"collapsed\" cleaned SQL with newlines folded\nout first, and only print a diff if they differ there.","shortMessageHtmlLink":"squibble: be smarter about diffing SQL-only objects"}},{"before":"06b7fb49994db7c5c56b9b500dddfb05f4d11a01","after":"1cb64c2a03741a5d5e9cc4a497e26d12e865ab52","ref":"refs/heads/main","pushedAt":"2024-03-30T22:45:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update module dependencies","shortMessageHtmlLink":"go.mod: update module dependencies"}},{"before":"ed9da9df746cf0b369cf590550ed42420064a8e8","after":"06b7fb49994db7c5c56b9b500dddfb05f4d11a01","ref":"refs/heads/main","pushedAt":"2024-03-24T04:35:02.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: use 'file:' syntax for in-memory nonce DBs","shortMessageHtmlLink":"squibble: use 'file:' syntax for in-memory nonce DBs"}},{"before":"401bbf9a77e1fa933d52f79191b75edf1adc3dde","after":"ed9da9df746cf0b369cf590550ed42420064a8e8","ref":"refs/heads/main","pushedAt":"2024-03-20T22:08:45.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update mds to v0.13.3","shortMessageHtmlLink":"go.mod: update mds to v0.13.3"}},{"before":"f5bf1541cf4d9381717a73cd0909a9b21ad028e2","after":"401bbf9a77e1fa933d52f79191b75edf1adc3dde","ref":"refs/heads/main","pushedAt":"2024-03-20T01:38:21.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: share digest logic between DBDigest and SQLDigest","shortMessageHtmlLink":"squibble: share digest logic between DBDigest and SQLDigest"}},{"before":"859b5cbd385bddb3259eef69a6d3eb2850021633","after":"f5bf1541cf4d9381717a73cd0909a9b21ad028e2","ref":"refs/heads/main","pushedAt":"2024-03-19T03:38:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: clean SQL before diffing","shortMessageHtmlLink":"squibble: clean SQL before diffing"}},{"before":"20357368b67f5fd61aa185aaca1ac6215b758510","after":"859b5cbd385bddb3259eef69a6d3eb2850021633","ref":"refs/heads/main","pushedAt":"2024-03-19T03:23:43.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: normalize whitespace when diffing SQL","shortMessageHtmlLink":"squibble: normalize whitespace when diffing SQL"}},{"before":"1d59dfdd53ba2324cdf666650c9d3d35a76e2b50","after":"20357368b67f5fd61aa185aaca1ac6215b758510","ref":"refs/heads/main","pushedAt":"2024-03-19T02:48:22.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: don't print a diff when there is none","shortMessageHtmlLink":"squibble: don't print a diff when there is none"}},{"before":"10f5ba8d61aced3c595aa039c639ace9dbfe8551","after":"1d59dfdd53ba2324cdf666650c9d3d35a76e2b50","ref":"refs/heads/main","pushedAt":"2024-03-19T02:36:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: show a textual diff for objects without columns\n\nIn particular, views do not report any colums, so use the SQL.","shortMessageHtmlLink":"squibble: show a textual diff for objects without columns"}},{"before":"580605a9dc091c2c1632e2536f4f8de4d0e4d41a","after":"10f5ba8d61aced3c595aa039c639ace9dbfe8551","ref":"refs/heads/main","pushedAt":"2024-03-17T05:05:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update module dependencies","shortMessageHtmlLink":"go.mod: update module dependencies"}},{"before":"06d52239fa98a426d44942031e0b0f9bd6b3c6bc","after":"580605a9dc091c2c1632e2536f4f8de4d0e4d41a","ref":"refs/heads/main","pushedAt":"2024-02-22T16:46:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: move history table schema to a file\n\nEmbed the schema history, add comments to its definition, and raise the queries\nagainst it to constants.","shortMessageHtmlLink":"squibble: move history table schema to a file"}},{"before":"2d6d32280ac0190d5900b9f2a0887f7d9a4c92ba","after":"06d52239fa98a426d44942031e0b0f9bd6b3c6bc","ref":"refs/heads/main","pushedAt":"2024-02-20T18:24:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"cmd/squibble: refactor digest code","shortMessageHtmlLink":"cmd/squibble: refactor digest code"}},{"before":"ae3fd7d05f3432eca1f68aa09265c78aefaa735a","after":"2d6d32280ac0190d5900b9f2a0887f7d9a4c92ba","ref":"refs/heads/main","pushedAt":"2024-02-20T17:18:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: revert normalization of column names (keep type)","shortMessageHtmlLink":"squibble: revert normalization of column names (keep type)"}},{"before":"af22157b04a8190631b1acf2eaaeb156eb235519","after":"ae3fd7d05f3432eca1f68aa09265c78aefaa735a","ref":"refs/heads/main","pushedAt":"2024-02-20T00:53:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: remove redundant text diff\n\nNow that we are diffing based on the column sets, we do not need to render a\nfull textual diff. Simply indent the whole new text directly.","shortMessageHtmlLink":"squibble: remove redundant text diff"}},{"before":"30866cf58c6e857649b8459db7e6875fb521c8bc","after":"af22157b04a8190631b1acf2eaaeb156eb235519","ref":"refs/heads/main","pushedAt":"2024-02-20T00:30:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: normalize column names and types for comparisons","shortMessageHtmlLink":"squibble: normalize column names and types for comparisons"}},{"before":"496d06d72f910fb469715c0ad4f9e07d21abcb3c","after":"30866cf58c6e857649b8459db7e6875fb521c8bc","ref":"refs/heads/main","pushedAt":"2024-02-19T02:32:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: omit SQL from the digest of table definitions\n\nBecause the normalized SQL of a table definition can be edited in a different\nway by an ALTER TABLE execution than the corresponding shape a human will type,\nuse the machine-readable columns instead. Sort the columns so they have a\nstable order in the digest.","shortMessageHtmlLink":"squibble: omit SQL from the digest of table definitions"}},{"before":"24c7e49857e35d2ac8dbbe0fe888050f738c2811","after":"496d06d72f910fb469715c0ad4f9e07d21abcb3c","ref":"refs/heads/main","pushedAt":"2024-02-19T01:29:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"README.md: update the rule diff example","shortMessageHtmlLink":"README.md: update the rule diff example"}},{"before":"f0552d7eb14f05d297600313d565aabda3440514","after":"24c7e49857e35d2ac8dbbe0fe888050f738c2811","ref":"refs/heads/main","pushedAt":"2024-02-19T01:24:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"go.mod: update mds to v0.10.3\n\nThis simplifies the diff wrangling quite a bit, but otherwise does not change\nwhat is generated.","shortMessageHtmlLink":"go.mod: update mds to v0.10.3"}},{"before":"2d1e0acb4c4b44ce9778e993a6b114560b00abf9","after":"f0552d7eb14f05d297600313d565aabda3440514","ref":"refs/heads/main","pushedAt":"2024-02-18T19:52:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: improve the rendering of schema diffs\n\nRead columns from pragma table_xinfo and use that to detect when columns are\nadded, removed, or modified.\n\nDo some cleanup on the text rendering.","shortMessageHtmlLink":"squibble: improve the rendering of schema diffs"}},{"before":"2ab7af6c83eef132dd5b01b6d17d2a4862de98ea","after":"2d1e0acb4c4b44ce9778e993a6b114560b00abf9","ref":"refs/heads/main","pushedAt":"2024-02-18T04:54:52.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"README.md: update examples","shortMessageHtmlLink":"README.md: update examples"}},{"before":"74ad2474a10db2636d03dba951b92b805c092327","after":"2ab7af6c83eef132dd5b01b6d17d2a4862de98ea","ref":"refs/heads/main","pushedAt":"2024-02-18T04:53:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"README.md: update examples","shortMessageHtmlLink":"README.md: update examples"}},{"before":"f06f8bc1344c36bd7c9f6e4cf69c1bbf324662e9","after":"74ad2474a10db2636d03dba951b92b805c092327","ref":"refs/heads/main","pushedAt":"2024-02-18T04:45:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"squibble: improve schema diffs for update summaries\n\nInstead of printing a raw structure diff on the representation of the rows from\nthe schema table, intersect the old and new schema definitions and diff the SQL\ntext where it's possible to do so productively.","shortMessageHtmlLink":"squibble: improve schema diffs for update summaries"}},{"before":"5a0228f752e8ca286aa482ab1c3d11ea3caf9e8e","after":"f06f8bc1344c36bd7c9f6e4cf69c1bbf324662e9","ref":"refs/heads/main","pushedAt":"2024-02-17T04:13:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"creachadair","name":"M. J. Fromberger","path":"/creachadair","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19258?s=80&v=4"},"commit":{"message":"docs: correct use of normalization","shortMessageHtmlLink":"docs: correct use of normalization"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAENKfztAA","startCursor":null,"endCursor":null}},"title":"Activity ยท tailscale/squibble"}