forgejo/routers/web/repo/repo.go

775 lines
23 KiB
Go
Raw Normal View History

2014-02-20 03:45:43 +01:00
// Copyright 2014 The Gogs Authors. All rights reserved.
// Copyright 2020 The Gitea Authors. All rights reserved.
feat(federated-star) star repositories via ActivityPub (#1680) commit 1be80cfdbca10d5014cec904e96c7a390b338493 Merge: c01b10a593 130981af64 Author: Earl Warren <earl-warren@noreply.codeberg.org> Date: Thu Jun 6 06:36:34 2024 +0000 Merge pull request 'federated-star' (#1680) from meissa/forgejo:forgejo-federated-star into forgejo Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1680 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> commit 130981af64b4391e20f44f6655a4d78b4c4d4ab6 Merge: 62856e639e c01b10a593 Author: Earl Warren <earl-warren@noreply.codeberg.org> Date: Thu Jun 6 06:07:34 2024 +0000 Merge branch 'forgejo' into forgejo-federated-star commit 62856e639e0c42a7902f241357679ce0bf8b34c2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jun 6 07:26:28 2024 +0200 adjust field name commit 81236bc9ef2fc53cf019425edd21460af2fffea0 Merge: c0b9ab2060 1b3ccfffe8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jun 5 07:33:12 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit c0b9ab2060bfe7b1b6c27f4c964778fe65cbe10c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Jun 4 12:37:18 2024 +0200 Extend integration test for staring federated repo commit 98939c4745dc7e15ca8c0a01ae09f4aea0f7c0fb Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 31 18:05:29 2024 +0200 remove no longer used doc commit 17e3f6c6f3bd224950d8d86cfa00983a1845ccc3 Merge: 58b8f57d3f f887972348 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 31 18:03:19 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 58b8f57d3f0cda45e3d501eff4f3caf5df8e879a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 09:20:39 2024 +0200 more lint commit c3650cb2fe5b049c1f92746c6c54eab126afc2de Merge: 07e2708e3d 73f6e8809a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 09:01:00 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 07e2708e3d279c4733c45dea66d2e159d79f9e46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:59:32 2024 +0200 lint commit e7580da130c1e25410d38459fcad005d6e1d983b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:58:19 2024 +0200 lint commit 7b2309592ce23cd2dd4f59f51b7d5079c3852366 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:55:47 2024 +0200 remove unused commit dadfb29ae944e18c02678a2eff433d235578c914 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:44:00 2024 +0200 relax validation commit 26612aa75b7542ebebb10ae912866393d5ee937f Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 15:37:53 2024 +0200 Add ToDo commit fa5806cecf222ecf1a24c0652177027a017c10cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 15:37:41 2024 +0200 Use StatusSeeOther commit 75c93e5319ea95cb49d7d90cd56d5b797febda1a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:54:49 2024 +0200 Update NewRepositoryID with case for following repo commit 9c9333868c3e3d1adfdc7bd3c12321845d28489a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:38:27 2024 +0200 Add todo We currently validate RepositoryID uris to be a valid api address from our own server. commit 69e79e50c28a2f23a2613e3c047c94a369702046 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:36:34 2024 +0200 Lift test env prep one up commit 72f2f35bd83662ab20a8c00a1ffadea96f6fa234 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 28 08:57:03 2024 +0200 wip integration test commit a133b6de31d435575ff14af41e99e4717bed7a5e Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 28 08:53:19 2024 +0200 rename commit 3d1586d9cb5c2ebf0130f3c98bfc57a4e159e705 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 27 08:20:43 2024 +0200 translation hast to be done in translation tool commit 108971ddc8eb919f9bf730d139fdb7351ff75ba7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 27 08:18:09 2024 +0200 add migration commit 6ef691b8d7457ce98969a5af1b1efc6889279ab9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 16:34:11 2024 +0200 lint commit a3c90e30854e92c59f04215dfe77264ad2ec5b60 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 13:27:37 2024 +0200 field no longer in use commit 5ace6816ac593d4a7ab8f7899faf5385e1db1e7a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:50:54 2024 +0200 remove todo - no change required commit 64be24ed0ce158119d2cdaee0b1244e7ac0367aa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:49:08 2024 +0200 Format & remove old todos commit 30e2582f246b3c2328a6ca83cc1e2ec3a26637c9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:24:54 2024 +0200 mv doc to doc project commit 2e72b5e05bb4190073ae24824e333421530e1f07 Merge: 4c87b0b3ee eea841d25d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 07:25:20 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 4c87b0b3eebb0bb8e3b04f18d005535017e6a3cc Merge: a1acc46c88 9c7ff70072 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 22 18:23:21 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit a1acc46c8885504776db681173cd60ed61b1cb93 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 21 18:46:48 2024 +0200 make mocked user consistent commit a62c2afcea0a1efe304460f14ecd648b815cad2c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue May 21 11:43:15 2024 +0200 Extended integration test commit 07659a5e7e36c1557930c0a9d926cb2a2f3bd140 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 17 08:15:33 2024 +0200 rename fxct name commit 86db5f612c889d0d889ccd62b431e08e8a49e225 Merge: 307b27bbaa 45a41811de Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 16 18:28:43 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 307b27bbaa3c83bf1b3f57efb730b9bf58b378c2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 16 18:22:09 2024 +0200 choose a not local avail federated userid commit a9c00d49da1dbad7bcdb737e591445266bf40cef Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:55:17 2024 +0200 Set LowerName to name with lower case commit 6457ace318afd4eeee18fb1f46847b2b31828b98 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:26:51 2024 +0200 Added migrations for User and FederatedUser commit 1b3c4dcd85ab207a8523ede87f7fe586765d4ac4 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:06:13 2024 +0200 Extended AP like-repo integration test commit 94be68725abd40449a8628fa0d7bea95272749aa Merge: 08fe47d5c8 fe3473fc8b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 15 09:35:02 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 08fe47d5c8b18d4ea8d2408cdb3c0f092d73a372 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 14 07:48:00 2024 +0200 Do not relay on ID start at 1 commit 57a972909495638765c835a50854fda827bbb57f Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 14:29:54 2024 +0200 linting commit e55533d64d5425d161482ec4b1e838c85f8c030b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 14:15:36 2024 +0200 Added migration for creation of federation_host table commit cf9953a6123859cca5c455c740df82271413c11d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:28:31 2024 +0200 linting commit c3fb34d5b4b3683cd1ce39684f7fdec30c51c551 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:00:16 2024 +0200 fixed some comments commit 379b0234eb0a716e70cc48922189745e06a9503b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:00:02 2024 +0200 added test cases for federationhost commit 8f426845994ff2b18d1cc7e4d75bd229daca115a Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 11:24:50 2024 +0200 Renamed field of FederationHost commit c4f9f8578a665bcf52161d516121c6319fa4b8b8 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 11:14:04 2024 +0200 Introduced ErrNotValid commit cb4690e570e1c32084178ec7b75687a3c220ab90 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 13 07:45:37 2024 +0200 linting commit 3cc48a5c9f0a6d7264622af9ee4f6ac959f54e82 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:44:26 2024 +0200 format commit 3bf423c97f1f4b4de57879354967f46d46b48086 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:29:49 2024 +0200 assert, that federation-host is present. commit 8d330fdb5d340c77393ea1e1dc13350de2c86e0b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:01:15 2024 +0200 Now we've an intergration test with second federation server commit 0665c1252e85e63f0a05cd107fa4ce8ab092df12 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 16:25:54 2024 +0200 make start time more flexible commit c4c03dab4b2adb92f501aa8dd404810b6011ad73 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 15:27:54 2024 +0200 on the way to test with second server commit 8ec570841a5a1123bdf87da43719cc3b47c8b2e0 Merge: e122df36f8 99d1ae52fc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 17:49:26 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit e122df36f815a06fd3166cf45304b2fd2e16eff0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 17:47:35 2024 +0200 prepare for next pr commit fdfc21a6b8ad5858313896d83b5b8b0ab1921f94 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 07:38:20 2024 +0200 review results commit 82fe1d3e425877d313e2f06647c0573b9f0bc7e6 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 6 16:01:23 2024 +0200 make fmt commit a485837b9c9673abd2673bdb4e4934b92b5e0867 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 08:52:25 2024 +0200 removed unused code commit c70b8d28a3d1f437f0f5d08e61f6791d681d3e53 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 08:12:43 2024 +0200 linting commit 8f298a9901ebd8b402746107ed356e72a04e9904 Merge: b99d66b530 8c3511a8b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 07:58:50 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit b99d66b5308961b93db3ad538392e7215bf0d5e9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 18:04:12 2024 +0200 linting commit 3a6dfadcd0bfa0120dc38853feade91c2ef81d10 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 17:10:16 2024 +0200 linting commit 510868731d7b3c53bbd879ea9509b04a6b9ab8b6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 16:58:15 2024 +0200 linting commit 1a07db1a407f95ee9b1da93ca9553cd3a179cb45 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 16:35:25 2024 +0200 omit linting next try commit ca0a53bf5f675cc9fa1f372bec0e812e64aa4936 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat May 4 17:58:54 2024 +0200 omit linting maybe? commit ee71f86432fbb3e4fb19b1fdfd7831b1424ad033 Merge: 957b1023e9 85f2727872 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 3 08:44:49 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 957b1023e96de43e8467e3e589a8501980169b02 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 3 08:00:17 2024 +0200 refactoring: separaate model & module commit 42837f5dab9e532efe46995fc271fb46f541f117 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 2 08:56:36 2024 +0200 fix linting commit ded7b60d0c5f0395aebedcab0131c291bc10be46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:46:15 2024 +0200 wix the invalid test commit 534d692d68e403a24a3dc413c0383eae74eb3d4a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:46:03 2024 +0200 fix field names commit 715ff0eb7fb28a3e5a5f505d3d84d4a2c70926d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:23:39 2024 +0200 remove unused & fix wording commit 87036ec7198510ef3e2d44f7e4da5eec736f722e Merge: be6e6eb96a bbec2e2960 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:02:36 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit be6e6eb96a0a8cc5f6349366f80a895ff7d660f3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:02:27 2024 +0200 refactor validation commit bbec2e29607565ef8efaddc93068787f5ce6aa3a Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed May 1 14:53:42 2024 +0200 Fix test and add symmetry This maybe was a mixup with TestActivityValidation. We now test if the UnmarshalJSON actually threw an error. commit 4b2802a6ba9ca57c3749a3bf9633e78c1b66b308 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 14:39:23 2024 +0200 internal refactoring commit 6c7cff4f162c1b2edc09f03528f016611a5b5a1b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 14:39:09 2024 +0200 fix NPE commit e9fed7a488a0cddfeb1e21b9f98202e91692352f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 20:13:37 2024 +0200 found NPE commit 285e72e4e64b2e3360c52f6a99802333a75ec48d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 19:51:28 2024 +0200 found issue during test commit a9a30fc2126113517894993dd55e189558e7acd5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 08:40:46 2024 +0200 remove resolved todo & integration test commit 2f2330c450b8a40086ee0c202e78478ebf864245 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Apr 28 13:52:51 2024 +0200 first integration test commit 70ae1025973d233fc3362a423a262639fbd7c055 Merge: df2fd904b3 d6c36ec406 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 17:16:15 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit df2fd904b3401b57b54bfc0cc0a8e4f40e19a496 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 16:37:16 2024 +0200 drop some words on normalized uri as id commit 37ed52cfd99f2a2f669884caa2438529a0b0d057 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 16:19:31 2024 +0200 start add NormalizedFederatedUri to user commit f687f79ed0f222d42890c7fb05d00d25b19c23b4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 15:48:56 2024 +0200 start add NormalizedFederatedUri to user commit b878e74f768eb19458f9941fdadb223ca0178b48 Merge: 71141a5ff3 37420442de Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:33:57 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 71141a5ff3af7b60b169ce7b7904b1ca8005f595 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:33:47 2024 +0200 WIP Refactoring and solving (adding) ToDos commit fb1d0df791308eb84049bbf0ae220990bff65462 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:29:32 2024 +0200 Also check for RepoID to be unique commit f3e58f29b054c276e4cca55d7401979fc010ec32 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:24:38 2024 +0200 Pass unvalidated input to field commit feca77b040ca785a9f02b39a2334bf6a83f69b72 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 13:58:55 2024 +0200 Rename for clearer semantics commit 37420442ded9acaa8be10ab065881d050df6d9d1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 12 13:52:26 2024 +0200 unify copyright comment commit 94091cc1444341e2ccf8a0acf44da7fbc4f1389e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:38:49 2024 +0200 Don't use TEXT type commit 6310e75d8d6e51d25fac8bbf27c0d62b91de6d6e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:33:13 2024 +0200 Update todo commit 075857f030d7497527b3720df3b117982e0af963 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:32:49 2024 +0200 Update docs commit 19628b84c6ce446ef2eea6a1cc806b8643478665 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:00:51 2024 +0200 use context commit 80888b80d6a1e59510347b7797dd07ab85e3afdb Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:00:28 2024 +0200 Fix imports commit af0d0f7745e4bb2c25bb2fd6168cf4c178b4a619 Merge: bbcb8e7060 9d6389352d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 15:38:11 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit bbcb8e70607dda94a77f3ab4ca3205f6559781e3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 14:21:51 2024 +0200 Bits of format commit bb83a8d85eaf498f6fac73680fbb496261a0b7e2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:58:28 2024 +0200 make fmt commit 0eb71098a2fef93c3250ad9563e149089cef0334 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:53:56 2024 +0200 make tidy commit e2c9653b3362b337d75007fa61771bff25f6a586 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:47:26 2024 +0200 Update go version and protobuf deps commit 2b9977d843bc5717bafac891977118225a699961 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:46:11 2024 +0200 Linting commit 511ef0bf5b5bcc5e80f694d7395a65724a54590d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:24:22 2024 +0200 Use federated staring func commit 8579b7f7bba5acee1f95364407b0859cd38f4a1a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:21:57 2024 +0200 Use optional.Some commit 97343470bc7d105b2e8b710a9865c5410c4d78ca Merge: 213fc3a97d 21b1381e36 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 10:42:42 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 213fc3a97dfc1f4deb41ff49f581866aef04e10b Merge: c908455998 765298814c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Apr 6 10:59:41 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit c908455998efe3b64b2f3e8fda4bee3d79fdb171 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Apr 6 10:59:36 2024 +0200 fix multiple federation in one host commit 765298814c3a4b716beec9b6ba433cbf93643368 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 5 17:07:04 2024 +0200 Add ToDo commit 33c60ebdffb1719f3becc3043fa7d2a203ded318 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 5 17:06:57 2024 +0200 Add logging commit 41f066a1a64c48b23e9f7476c6398678aa8ba155 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Apr 4 18:33:08 2024 +0200 add notes for setup commit 15bb774409aaae1d740ec57aefe88c1c50f0a300 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Apr 4 18:05:55 2024 +0200 add relation details commit 8d78c3edcabdfcc3f65d432a64a5879530329d73 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:12:41 2024 +0200 make fmt commit b4e6a7ea3f7238abf72b508e4f022bb745be3d9d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:09:40 2024 +0200 make lint-go-fix commit 92d011f1a597d6e9020d489da7b5a0b276f20930 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:08:02 2024 +0200 fix some linting issues commit 976d79044fd54b7bb15194105be06646b88d460d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 08:32:37 2024 +0200 show apapiurl in repo settings commit 73cf1e3901b979d1d4bb9804bc8320a2d5706922 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 07:22:04 2024 +0200 Revert "added repoUri to federationService" This reverts commit 8cd89bf4d30a146da30a2e4256e23977d59742cc. commit 8cd89bf4d30a146da30a2e4256e23977d59742cc Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 15:39:37 2024 +0200 added repoUri to federationService This does not work yet. APAPI url OR host and id have to be derived from repoUri. commit 2b7a22afb31074966bc3f0dab1dcd8520f422576 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 12:26:33 2024 +0200 renamed FederatedRepo to FollowingRepo commit daccaed1577c8f9e0d825ddb9c03d0dfa5be5fff Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Apr 3 12:08:44 2024 +0200 Rename federatedRepo to followingRepo commit d240a9bc90265ede91bdfb74c5a1c49c8029d796 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 10:25:40 2024 +0200 trim trailing semicolon commit 5671566df688b9fb58dc3a9e85a09b76e89b8140 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 09:53:19 2024 +0200 adjust fed repo splitting commit 7a142c876ecc4de23028aef419953c1c11c1f351 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Apr 2 18:36:22 2024 +0200 remove federated user in case of user deletion commit 5edf7d0e61e7a0297ddb047d1068758e49752b3d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 2 17:33:32 2024 +0200 Also trim whitespaces within the list items commit 431b4c282955fd55f75d25c4fed0172a97085196 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 12:38:06 2024 +0200 optimize function commit 962cd374e2d1d932baf6a5fd260e4f841416b7b8 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 12:36:04 2024 +0200 delete federated repos when deleting repository commit 8b56159042e7f906d61a7b31b89737abf41f9d6d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 11:13:50 2024 +0200 prevent error when setting no fed repos commit 9212fb1633550bade7915eec98cf9c832ce582f9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Apr 2 09:03:49 2024 +0200 feedback from discussion commit b747342672bf71d3336943fbe85e9272d35603b2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 16:08:29 2024 +0100 separate collecting activities from sending them commit 2ad685fd2ca1c126c2e3ef7e1f55cd4b1ff15efb Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 15:41:43 2024 +0100 fix like target commit e2b11b93bc331a018dd6f7d3f8fca20769a7c458 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:21:40 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit fc8e2b3f8af70b626e2851acfd7e2f3b3e166f48 Merge: 4d5c8b5563 7f19247b0a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:05:35 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 4d5c8b55634ee41b05be0cb8a2f099de7502d068 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:00:55 2024 +0100 refactor services commit 7f19247b0ae6ef37ed57b4686d8f8a67ad57728b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 14:27:50 2024 +0100 Moved sendLikeActivities to federation_service commit 1ad7bdf98367c9dc448f5299f81b18e78d3b344c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 09:36:08 2024 +0100 fixed tests part1, one test still failing commit d624ebb7128c953a95ba91aa1b865b911d643730 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 08:13:00 2024 +0100 use doer coming from api commit 992fbf6898a388142746fe5f4ad7261c7a2003a8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 07:44:22 2024 +0100 comments commit 259c0202c71714c8564b257fc7e36af59df74119 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:56:32 2024 +0100 fix test & add some review commit 8eae48761f3ad63b46b58a2e7cbc3fffd5171f10 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:26:55 2024 +0100 add some pictures commit e75bcb2f8953fddcc621dd105852420f39ff3bbc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:02:37 2024 +0100 rename file commit 97b5e0da9191bbbc5b299bb13fc260ea94614f92 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 16:20:33 2024 +0100 revise NewForgeLike Also added new test, which still fails since time.Now() does not match commit 911e916a4fe4a426690ca2920623d8f24cd65218 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 11:33:00 2024 +0100 Added new blog post commit a2a5956d7932aedf1ba90d0940f2d63596095759 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 09:29:23 2024 +0100 Added context and choices to new adr commit dd37e3a7b80f74726691659e8a7957569c1c7128 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 08:25:16 2024 +0100 wip commit a950ba4631c46462d86a138dc676b557641ef8fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 08:21:44 2024 +0100 prepare state of the month commit 84f73d9db810fb152dc401a8ac74d96e717be2dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:56:06 2024 +0100 Add ToDo commit 01e9853161ce3dbbe35a76e173872a024fa73741 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:54:55 2024 +0100 Add ToDo for storing federated repos We need to check whether federated repos already exist in db. This way multiple repos on a server (forks) can have the same federated repos. commit 45cddb4ac7f4a68320519ff88779505704b08e75 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:53:02 2024 +0100 Add logging commit 436466dcade0f919ff60f12abb41fee0f250abbc Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:21:28 2024 +0100 Check if federation enabled in StarRepo commit e9bbdc678bdd730c2c13ccd7ad2ec517ca980b7a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:21:09 2024 +0100 Not using object URL commit 04f907c8c8cf4e952ed6975338622d8bf8f27906 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:55 2024 +0100 Revert commit 32d457f9a3af222309f15d9f41f4859399a84b1c Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:36 2024 +0100 StarRepo Wrapper commit 0b8aa3105ce8677590b17b6289412ae84d181829 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:11 2024 +0100 Create object manually commit b2105de36f64cab816168e82cfa375cde6068081 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 14:39:25 2024 +0100 SendLikeActivity to api It might not be a good idea to start a possibly long lasting http call during a running DB transaction. I.E. in the case of failing transaction we already sent some data into the world which might not be valid. commit bbe50963079493a5ff7f8e5fba815c3cec756428 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 14:02:30 2024 +0100 fixed circular dependencies next: fix post call error commit 7f0371056e637fb64f8c115f5aac2aa81a67959b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 10:23:14 2024 +0100 moved functionality import of forgefed causes circular dependencies. This has to be solved! commit d251fc261168a2e7ceffde77cb763c9c0727a4c0 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 08:28:22 2024 +0100 set federatedRepoList into context commit cf8a30efac4e90b521d73debc6ada6018e5a99ac Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 26 07:58:04 2024 +0100 mob-next: how to store port & schema commit 5b8173f660da8517f66a9f8c36262505d53d8aae Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 26 07:36:09 2024 +0100 do not return invalid result commit 6d814447d09d6723f5148bb879891544286e8f10 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:52:39 2024 +0100 Use Plural commit 653ced55965b7ef111fa381030864b7fb509454b Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:47:18 2024 +0100 Validate before returning commit 35d3fc199c46d11090b18836062fca664f11d202 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:35:35 2024 +0100 Rename to StoreFederatedRepo* commit ca7d1c6f78bce9d9be1d1d5e763aa295fcdfc717 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:30:02 2024 +0100 Localize error messages commit 828e7a76f6b3a16552cf1d3ba7ad0fcbd1c493a9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 25 09:15:32 2024 +0100 use new table to populate settings commit a9d18e5327d13bb874c90a06261b78891c616a41 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 23 17:01:25 2024 +0100 fixed issues, store now works commit ce317c33cbbe408cb5e6885dd342d2ffd89d9ad4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 23 15:27:45 2024 +0100 fix context commit 950dcd959ebc05ef0f0825f787d0890953b7a067 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 20:14:20 2024 +0100 implement storage of federated_repo commit 6b767684a775485dee0a619a6237abef54fa58c3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:51:20 2024 +0100 Add discussion ToDo commit 0f27f0a05ba3d89af5e75dba68829ff12d449e10 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:49:29 2024 +0100 Add discussion ToDo commit 0f9d1c80be7cb169fca6198d42a0927f24161a01 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:42:38 2024 +0100 Implement CreateFederatedRepoList commit 36c0c1c3c1994ea9f05c3f5725b9c582e84ab37f Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:41:59 2024 +0100 Add DB functionality for federated repos commit 288dda282c813d1264aa0db0c0b82b3d71bed15c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:41:36 2024 +0100 Add more ToDos commit 508b4deac8e4e974bc96678fd5b8e45ac2255d4d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 08:37:06 2024 +0100 add test & fix compile commit 4938d38e39ba47ba5bbc338ede7f3a1dafb3680d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 08:08:54 2024 +0100 more review commit 9ccad50b055191088684cd594e45557450406f36 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:52:03 2024 +0100 review commit 7316108d56484a630e343747793a0f8059264bbf Merge: 7e355986f8 3e6eb255b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:32:30 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 7e355986f81edf44ca5a3185da7b90a545a46681 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:32:22 2024 +0100 fix wording commit 3e6eb255b357e25f040e640542e3f5e578c72c44 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:29:13 2024 +0100 WIP Initial, naive implementation of sending stars to fed repos Currently no rate limits are respected The mechanisms to use the Federated repo table need to be used commit 0c6c43003cbf5a7156d34e501890b799aeccfec0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:27:35 2024 +0100 Implement getting APAPIURL for repo and user commit ed256ca540456a577ee40a76c8536e2acbae14f6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:27:08 2024 +0100 Implement NewForgeLike commit 2e0584bdf34cae80827d48b38ddb5b4e80de4104 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 15:37:37 2024 +0100 Clearer error message "May" is also interchangeable with "could". "Should" fits better in this context. commit 84f2aab570e73f69f031757dc74030b9479c4d03 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:38 2024 +0100 Add todo commit 42a41ce2bca1f3e82d1f288893458b3bf1195c5f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:16 2024 +0100 Remove todo commit a02ec0363bfc0b4f32e2eb20e32a15a41c7f5aeb Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:04 2024 +0100 Add todo commit e4242dafd931bc64cbb1359010f8641358972e11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:41:11 2024 +0100 Add Function description commit 689837b63a25d003f8977de01ce0001ed60a26b8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 12:59:59 2024 +0100 Fix typos commit f327c0da24eb8427532aafaa6a263166b2af9ab9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 12:18:29 2024 +0100 Cap max size of federated repo list at 2048 bytes commit 6055b4fca0d90c952591f3d5a519b8f9d84a680d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 11:42:12 2024 +0100 Add todo commit b4bb41e0e3ebe05337d003a8b034be8312ab4a98 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 21 08:25:40 2024 +0100 introduce federated repo commit 3b30c678e76947547d6997cfafdf57893cb559d2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:22:35 2024 +0100 Remove ToDo commit b6035c03ae43c331ddae4e76f0fa812adc810c68 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:14:54 2024 +0100 Rephrasing for clearness commit 2e803e10c0498f304eb07fb4a51f7553035bd77c Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:12:42 2024 +0100 Do not use binding at this stage It wasn't clear how to utilize the "type" field in the .tmpl for our purposes. commit 13bf84e89e590ae1fa2d5ef0a96342d94f5a75e4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:12:20 2024 +0100 Implent checking for list of repos commit 3dda92b52bd1f27f5e7d8810f15a43f7dacca402 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:26:46 2024 +0100 Update Locales to reflect changes commit ea4471d0dbcf8af062abde4e2c6015cd7c9b2325 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:22:56 2024 +0100 Remove ToDos commit d1190423bb9ff800c51401090684fc2da6d752a9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:21:17 2024 +0100 Implement single Repo validation and saving POC commit 1cbd5e33cb2dc09a3676de120118826a4cbca75e Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:16:53 2024 +0100 Validate Federated Repos Field Considering this from a POC perspective we might want to avoid misuse of this field. In other words, we want this field to be used as intended. commit 584af0486dd8c91707d9f7640bbe85db189c61e2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:13:23 2024 +0100 Add Federation specific URL validation commit 41da150fb3bd2fece58c7045e9d08388a3af3c8a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 19 19:28:33 2024 +0100 add review comment commit 84f236a58d1cf0049662e8776ecc5d249a2ed2f8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 15:30:56 2024 +0100 Add more todos commit 884e38bdab96f0e73fc0074c9ba502bc11928641 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 15:25:52 2024 +0100 WIP Implement proper saving of federated repo urls Added ToDos where relevant commit 933727433423230c06106cba88f18e7ba370c0a7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:56:12 2024 +0100 Revert to input commit abc7aa097222d3b746828777ac0f0bf8a32f8d91 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:53:00 2024 +0100 Display data on text area commit 048ff5da1192ac2076338b7dc4250f3ab7b95b11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:52:14 2024 +0100 Fix typos commit 4c1d12b2e4a806692c37f18957cba52ce433bc1e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:52:00 2024 +0100 Use textarea as we expect lots of input commit 09cac163e09285a5d066daf73fab26a8910c17c9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:17:27 2024 +0100 Add a field for listing the federated repos commit a6d45f8b97545fcf4818e7559280707cee7c983a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 11:56:25 2024 +0100 Implement FederationEnabled function for templates commit 26eb01b509f59b8fa3bb5b4ee310f86a412b304e Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Mar 19 10:25:20 2024 +0100 corr var label name commit 3018769d267377ece757e9dadf999f4698ac9df0 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Mar 19 10:05:31 2024 +0100 Federation settigs :: set label name for internationalisation commit 6901ae4b999ba489a227866c7a0bf6d94a39c29a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 19 08:29:57 2024 +0100 wip: found backend for settings update commit 9dcdf8d828508146f4c9ada70ac692f3dcd212d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 16 12:46:43 2024 +0100 Locales, field & action commit fdcff3cc43771175f396992ea3b0e64d46eb6805 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 8 18:25:37 2024 +0100 found the template for frontend commit 93d7de147b5c263f8f9065eb4efc59c84dc98bed Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 4 13:57:33 2024 +0100 adjust to new dev-model commit e41fa653d9d2e6badab93f53e04c0ff5db9743f5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 4 13:43:16 2024 +0100 fix en name of score :-) commit 0e73dfccbb7ea917f0e7090c48ae9f97ad780a70 Merge: e2ca63ca38 db2f896264 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 14 18:23:15 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit e2ca63ca38e695f74b61b454c7ba13939321f897 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 14 18:23:10 2024 +0100 Add Malicious Controlled Forge - kudos to gusted commit db2f896264d59c3c481f12c7552fbd1dc68ba22b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Feb 13 11:09:31 2024 +0100 small fix by adding id as pk for FederatedUser commit 086c66b06a565bcc6ba5fb97bb6092d7bea1dfd0 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon Feb 12 13:07:15 2024 +0100 make tidy commit 2e41fe0a466bb93006655da338843a9227f2ea59 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon Feb 12 13:00:47 2024 +0100 fix import commit d65cd5a17a73a95db96504d53d6d4d61b8f616f9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:55:00 2024 +0100 ActorID gets source type from NodeInfo commit 181d743a8a521c43a26b4135c4bef41057a76aff Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:14:29 2024 +0100 update copyright commit 9662aee375e358b9531c30f17fb6cb453046a7a9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:14:16 2024 +0100 reflect hard fork commit 6e6813a88bac34d5adbe0aeccaa81ef2fed0400a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 18:17:40 2024 +0100 make operatorid unique commit 6d17f459867ac3d6a0b0945f24b5255ecbe3a2e7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:56:17 2024 +0100 fix misspell commit eecb9b8040386747c2588ca9ddfe10f2800a8567 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:46:27 2024 +0100 fmt fix commit 664144930ec16f8374829f7cb8a0813679bc90c3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:10:59 2024 +0100 result of lint-fix commit 5fa62287d648b09ed3a7886dc929a08de8fa345c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:00:21 2024 +0100 undo rebase conflicts commit 3ef57385ec32ac63eb8d1e0e80a64de1c2cfb83f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 16:44:03 2024 +0100 fix linting commit 3b244d673b18157b66192e7ef4245cd25b7a03aa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 16:24:51 2024 +0100 small fixes commit ac82486a95a583e6cd190e4222dadedf50a71663 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:31:58 2024 +0100 This months blog commit 8917bfca0c84cbb57ea64ec732ed95fb4a8125c4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:12:49 2024 +0100 add a arch federation overview commit 94937abc043b4e20942fffa22e4431ca1e19f1d9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:12:26 2024 +0100 Source is no longer needed - see adr-federated-star commit b2cc848e7df5b512b6b2dfd0b5b6914220b9d890 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:31:02 2024 +0100 clean up aliases commit e733809ef2c131847f8c40aed9fbd14570a55526 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:16:37 2024 +0100 symetric handling for value/reference commit d2d5e84977c209bc0e42120e7bc326881569372d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:16:02 2024 +0100 federated user is not entity - so no need for ID commit 91f7541addd573b3608cc36c63f03d994734bde7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 13:31:27 2024 +0100 refactor for semantic and cycle free deps commit 66bc7a9a0c4650727b2d8fc36619c028511f21de Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 11:09:55 2024 +0100 Search federatedUser instead of loginName commit e44be722513aaa1695b97b0b88898959abfbd888 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 09:56:49 2024 +0100 Add tx around user creation commit edf7f61b8325f98c26fad42e7201cb8de76e187a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 17:11:43 2024 +0100 mv federated_user_creation to user package commit e18046776049ab83b2340176ac781831c14f609f Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 16:42:40 2024 +0100 added user creation from ap commit a702da69ccf59fc91c94730dbcc25dfa17f33e2b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 16:12:23 2024 +0100 added test for federated user commit 67f3f66be481afbd6b85baef1cfb9249d3b0be60 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 15:37:48 2024 +0100 Created FederatedUser commit e477181e23af05bd1ecfd9704f937e7dbad518de Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 15:03:21 2024 +0100 fix typos commit a1ca7e958af8eddc51255f41823e4ac58da6e686 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 14:59:39 2024 +0100 use local fqdn for generated user email commit 5a7f6f15a6766447e6a270779369942c344d9a98 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 14:30:17 2024 +0100 ensure federation info fqdn to lowercase commit e05c810823baece8ccc0b9758d759d3709abdd3d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 13:52:25 2024 +0100 document usermapping chosen commit e255f737311425fd3de22dc58472e900b431b8e1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Feb 6 13:30:09 2024 +0100 make class diagram more accurate commit 7db83688db1852467381cfedd00383792d102c9e Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Feb 6 12:45:33 2024 +0100 updated rebase process commit ed99dfa99370f903447fa29cb05d1722ea511593 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 2 17:25:02 2024 +0100 new threats thx to gusted commit 56660e3a0bf21c548e13210538da54ebdcc6c609 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 1 15:48:56 2024 +0100 add aspect resulting from our discussion commit b02b8a307c7c1ff0a0bee3942ea8b6c9f63c6fe0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 28 12:48:44 2024 +0100 fix wording commit c45e726383d73fcfc8dfd302fcd4de3357b54318 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 28 12:43:56 2024 +0100 fix wording commit 5ef823e3afb1ee24d111de6e37077c8f7d534117 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 27 15:03:37 2024 +0100 adjust urls to changed username commit a08e435a1e096a89f0f4867aa2b49343421c30ba Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 26 17:16:26 2024 +0100 updated rebase instructions commit 6b14d1a5627d38572e45c49b5779db8105627e13 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 26 16:13:55 2024 +0100 updated rebase instructions commit 49b014f28f39ac230633d77ee09db76602f8a523 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 19 16:33:59 2024 +0100 add reply attack to blog commit c58a995fb24bbffa5545e751c106b29f37efb6d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 19 16:26:16 2024 +0100 refactor FederationInfo -> FederationHost commit e926ea16e276b6ca7650711165b4084679d1137f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 20:06:56 2024 +0100 improve english .. commit e1f27a950cc5b8102c51d247dfd78f9a45270202 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 20:01:22 2024 +0100 improve english .. commit 2c55c0252fa4c240f3cf7595aefadc5c789bc2f6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:48:36 2024 +0100 prepare discussion commit 2b5360a000b2a66ed42fb5ba76eeb9494c3e6409 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:20:15 2024 +0100 work on adr commit a6b7cc8e7004691c1bc6250ee955501daaf8afe8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:20:02 2024 +0100 update needed modules commit 0453598e3d800b6ac25247b57fb1f59dff6f2ff2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 09:31:36 2024 +0100 add some todos commit 48c6d62e47b84ae6408fc59b17780c84f12b7dda Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 09:31:27 2024 +0100 blog: newest on top commit c6981cdbf697c90e2d43d25522989a8a6b602df6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 08:28:12 2024 +0100 proposals for federatedPerson Mapping commit e2291fec1e9af8efadd346da845cbc8a1ac3e9e6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 15 08:12:40 2024 +0100 think about federated persons commit 5a88eef78e63bc0222a04bf3f7dd23f4e69a2704 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 15 08:12:26 2024 +0100 Propose the current solution commit 0ddc2db46ad04e610e27d4ddd6717c0dbfe49ad1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 14 14:53:00 2024 +0100 mitigate Block by future StartTime commit 1b35bd2911faf3cb2a5ccad599db90d4dcd2e945 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 14 13:03:51 2024 +0100 lint fix commit f25eab35fcc880d387b27cd0316d956be6350f15 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 17:16:43 2024 +0100 Update for new implementation commit c4eb763f4a5ff1b2beeb6fda8d4c797e3a2ec1d0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 17:06:40 2024 +0100 lint fix commit 9a9ac337661b8d39a206d48f3b599cfa913b9cd2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 16:22:49 2024 +0100 lint fix commit ca5eaa8c6b53031c9ca7f124788f2d2bb09ac70d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 16:08:12 2024 +0100 introduce FI Factory commit dabd773f6b0dcbdcf9dfa6e159d5c25c5850176b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 14:17:11 2024 +0100 Fix error handling & add timestamp check commit 40ec0490139db1c983291098350ad7dbe9ed253c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 18:12:22 2024 +0100 add the next todo commit 7d30d14c76af74f22b47f4d07224d2a09b539bde Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 17:49:07 2024 +0100 breaking struct adjustment commit 1f989f2ecd523084fd49b04a9ba9db5387c35fdb Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 17:27:52 2024 +0100 Added FederationInfo Create function commit 380d3db0bf83ef10565e4a9087ac37d458f03675 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 17:00:17 2024 +0100 integrate federation info in api call commit 52400f7978a9e1eff8284eaf203d950a1e1ee892 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 16:12:54 2024 +0100 Added FederationInfo get methods for repository commit bbccc24ed1ea2c3e5f6bea1970649ac8df45daf6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 15:34:34 2024 +0100 test federationinfo validation commit 9c37272ee9493eba835809f21384da51f97b8dd1 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 14:57:22 2024 +0100 make validateNotEmpty more generic commit c67be3b6681df86d076ce59f176a70c64289dbd0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 14:35:43 2024 +0100 start work on federationinfo commit 8610d94af8cb9015c5b93d382dd1afcaf201574f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 14:33:52 2024 +0100 start work on federationinfo commit 12558d62c86d9abd3c4125d5b1b858156b19b92a Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Jan 12 12:43:14 2024 +0100 Remove MaxConnsPerHost limit for outgoing connections commit 87bfa79f71593975a1fa8318aaf519739f479f00 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Jan 12 12:29:00 2024 +0100 Configure client against DOS commit ecf391dcbfbccc4bf67ed15e33c555f20ca78928 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 9 09:14:52 2024 +0100 add some user creation unittests commit de2569618c51046464e22fe7c6a3eb2a80062413 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 8 18:21:55 2024 +0100 fix: wmail should start with char commit f0af660cf9b58d4831e3fa43dc982df2b162800a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 18:19:46 2024 +0100 give names to threats commit a8b132da80bda85948164d0bb993ef6acd865b22 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 17:43:18 2024 +0100 provide the next testing commit 2d98b226046109067ef8ecb7ce0ef940e507f92c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 17:11:20 2024 +0100 blog the next test release commit 0fac86a384565e4276904b386a7ddd23b199fbdd Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 16:42:57 2024 +0100 update to new star activity commit 42eab2d3046c36c0b52afc9b47e7be669c9e51e5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 12:03:36 2024 +0100 add test-release-branch commit 680213b4799a05f8f5ac1189a5bc086abce192fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:43:52 2024 +0100 translate scoring commit 1fc1dda59d6e6645eaf9d9079496acd21fb06894 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:40:35 2024 +0100 Fix wording commit b978642da07811ed9376f259f2850d6d6185b5c6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:34:32 2024 +0100 improve sequence commit fe9f26305f7b90173457adf5c01ffe1ec77da363 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 4 18:25:43 2024 +0100 update ThreatAnalysis for Like Aktivity commit 6e467390901f6f7709333e558e156ab1ef79613c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 4 18:04:46 2024 +0100 validate person commit 0505baab2b93be6038d496518826799afb943ede Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:52:41 2024 +0100 ad validation for like activity commit 3ab2d9a449cdd4430b0791b21ac9669fd2313bbc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:29:12 2024 +0100 rename star -> ForgeLike commit 4473fb788ae59eb7c42f920d3038db2dce30e5b7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:10:24 2024 +0100 start refactoring star->like commit 38438b592f3223c2b22e594dee5c3995bec1ea4f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 18:09:27 2023 +0100 rebase conflicts to fix commit f673dd1ca763daaa0f8d16ae1e75615ff4a1bc11 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 16:31:52 2023 +0100 source no longer needed commit 084eed82a4e3a4d36c2c6a6f14b169aacaa735a0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 16:30:58 2023 +0100 use federate-repo users for our local test commit b2a9b530419a67912168f4314e5d6cb147734100 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:54:13 2023 +0100 use nodeInfo.Source instead of startActivity.Source commit 8116214727879ca4316ae2cba9675d7170f021f1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:48:45 2023 +0100 introduce nodeinfo commit 587bd07372af9c76978823ed4db97a193d8302a2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:48:31 2023 +0100 mv more fkt to http-client commit 310d740cee06047cca2ccac50280819cef190640 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Dec 29 12:10:07 2023 +0100 Start NodeInfo implementation commit 3c2493902d09416370b4597241b6fc2f1b89eb33 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 09:43:10 2023 +0100 adjust to ugly linting commit e704e5adccdeb8f50b205376166434e2206ebb11 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 15:10:21 2023 +0100 adjust to ugly linting commit 1e40b814a1c4b3e7ed67efb893e116e70892c0ab Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 15:00:42 2023 +0100 Linting commit 8585edc47ab5a73318775d2d64ad4d2fe2b465dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 14:52:10 2023 +0100 Linting commit 7d78fb8adcccc02b84e23ff3948b57493fb9eb28 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 14:47:34 2023 +0100 adjust to ugly linting commit a64ce2feb1e612797a0c2beeedc9bcb4cc6909fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 14:20:30 2023 +0100 removed resolved todos commit 2e031a976319c177e107c717dbb442a970674e39 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 13:44:45 2023 +0100 WIP Generic IsValid for *Id structs commit e69e5df08975dd2dc838efb93eaad71a9d0985d2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 13:42:07 2023 +0100 Assume validated url.URL for NewActorID commit 6e4467d49db721ad1a9866fcd10522a43b99883a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 11:48:24 2023 +0100 experiment on generalization commit 75cc5b900db83dec982896e8b794fda3433899a3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 10:19:01 2023 +0100 Add review todo commit 1dd3084f6654d4894bea521bdb69b8476431d0cf Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 15:01:49 2023 +0100 Split test according to actor.go commit 48cfb521d12193f552079f394cdef35f1911212f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:22:42 2023 +0100 Add suffix checking helper commit c887bddb72204430718e47aeef92623a4921dc58 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:22:23 2023 +0100 Attempt generalization of Id creation commit 15775ad891755794d0077356ed8780374e3c52e4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:21:47 2023 +0100 Fix import commit 715afb24681707b34f1235b4f4b734b03c60b7d5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 09:30:07 2023 +0100 Add newlines for readability commit fff4c3f9fc775199591c5acce809b7dd9ce2d76c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 20:12:31 2023 +0100 fix typo commit 5317832fef9b1af824c60724785627922b9ff347 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 13:04:40 2023 +0100 odd one mor picture to the blog commit 433a38699ab2ecfcdd12dd3c54c0f65d45ce7396 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 12:55:28 2023 +0100 improve test description commit 65e3f1d0ed03b296ab6380a00c332e102b8b6162 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 09:33:29 2023 +0100 update adr lining out a second option commit 4d1492831ddf2aa352bada98f45ec90a45f81c59 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:30:22 2023 +0100 Move char_limiter to utils and rename commit afc9acd9251f62763cd56c888d57ebe9a88031f2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:23:13 2023 +0100 Limit number of characters on body log commit 3363b3bf0c374d04e3f8317bebd52fb80374be14 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:22:03 2023 +0100 Validate response before further processing commit 2f4b1a5cd4eb7a6281b48713a3d31f270ceb76ef Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:20:41 2023 +0100 Use id of existing repo for convenience commit ff146a9430ab59774b63bf8728f7f1dc320f0bb8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 11:27:44 2023 +0100 Add review todos commit 071b47b8d0a710712e6c106decd33bf7f0f42813 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 12:26:55 2023 +0100 Catch edge case: remote user does not exist on remote repo commit 0378b2dc7d546ce3707ab245073221b9e1128a82 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 10:55:30 2023 +0100 Add questions for review discussion commit 8a8b6821bacef4c0bffc0e39b8e49e630ffc8fe9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 11:32:57 2023 +0100 Fix bash code block commit 3327fbc39adcb09934afe33e0529271708fc5740 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 10:19:35 2023 +0100 Fix typos, small rewordings commit bd640a70994458409665e8ec0be89387a7fbe7a3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 19 09:21:23 2023 +0100 add some pros to the source field commit 70fbfd6cf3c8239e16bec5eb3368738366d344e5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 19 08:36:02 2023 +0100 reflect the discussion with kik commit f636de050aaed3967adc512e719090e610b9f24c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:47:39 2023 +0100 some improvements commit bc7515fa317ae68ff3cfd1650ec4ad62a8c98114 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:45:14 2023 +0100 some improvements commit f9bbb91f114a26e027006c2738a03ebc4385a3b8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:38:31 2023 +0100 expose instance for tests commit 1704ac5bc2ca98bbc36bee695ec2f9122a5389cb Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 16:02:50 2023 +0100 fix most of the tests commit 9e6c45f87d7956e75b8fefbc3829806db7907c44 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 15:37:00 2023 +0100 make flows more precise commit e1d7db178cb1aaeae9194eb29e62a24ba6ebc5e9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 14:45:20 2023 +0100 unify logging & minor improvements commit 42854c900333f8ad66689436f793899768900689 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:49:23 2023 +0100 remove global actionUser commit a0c008b880ff92a39c5964b6cf8567f658dcd759 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:44:11 2023 +0100 cleand up user creation from ap commit 6de8fba14d85121fff249b080c2cca30d9db7289 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:06:53 2023 +0100 minor refactorings commit 44e10ed65a116aac0c4150df03e0cedb5445a8e3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:06:37 2023 +0100 get wo body commit c2a42587d2f338c85d341b40b0bc6206bd4adb23 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 12 11:08:57 2023 +0100 remove panics - that is not a exception replacement commit b27460d3fe225ca0f73211bc307023d6fb24377b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 12 11:04:03 2023 +0100 minor refactorings & reviews commit e893618cdcb07d90aa84c4f4f19fa83ab5b0913d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Dec 11 08:14:18 2023 +0100 add more threats commit 9633a2005a8e64e48778d505f88ab74cd373e90f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 19:23:48 2023 +0100 add a sql injection threat commit bad8e04c3c7a8bf7036c5db480352f79a18b0cbf Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 19:11:38 2023 +0100 cleanup & minor refactorings commit 3172eb69d2e5e1596be675e72b42deab2e7763b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 18:30:47 2023 +0100 introduce RepositoryId commit 1fe35e14a57dad5d1cdba945ff627ce844b9ae46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:53:40 2023 +0100 mv our actor code to forgefed commit abdf56dde1ed2402f5911add9d0888be4d3b432f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:27:29 2023 +0100 move forgefed to models commit 0b2cf2a55bfabd63d873f22d8aa1ee8512309438 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:26:49 2023 +0100 remov unused experiments commit 184388015da525d50dec8425a2e58af4ea8a5843 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 20:51:54 2023 +0100 added more tests commit b5a467e94d2312b6971cde91b0f6b4c1e2fd6402 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 20:37:26 2023 +0100 remove unused & implement webfinger commit 73a38ea0d1c2423fb67579071a703e8eeda09e20 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:52:09 2023 +0100 use new factory function commit e8371ca94c1a34dc9eb68b573f215bec2ad23ae2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:43:49 2023 +0100 ActorId -> PersonId commit 3151c8fe81a3fe97935319371e0abdf60d7c144d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:41:22 2023 +0100 make validate more compact commit be4d3544aea5fa4a9d73b9ef2a58c1d54b2cb629 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:33:26 2023 +0100 Refactor ActorID -> ActorId commit 7c86f13728763d66700c2b24b5fdb686d2edb548 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:09:22 2023 +0100 make route more compact commit afcc7f0def5e8088e54a18ee9d5f37d8f1730f3f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:08:54 2023 +0100 factory instead of parse & validate commit 6fef54ed1c73d53655fb9fefd9f16d36db7c6689 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:08:16 2023 +0100 there is a validation module commit a10a9141f820199c00750e1c9765f0a981b74901 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 8 15:44:00 2023 +0100 Remove useless call to repo, add todos commit 3c515c2614350554199701924be4e30688c9e997 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 8 11:54:07 2023 +0100 Add review todos commit 22d71e6b30cf1efd540e29276fd53d5e73f03890 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:53:37 2023 +0100 Update ToDo commit afe659f9f48cdc34f51edb92fc65ba65763bc56c Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:54:07 2023 +0100 Implement 5s waiting commit 745598bba4ea70743fb284e0d6886a58777729fa Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:24:01 2023 +0100 Implement starring commit 976256bf3d8ea4e9fccabe2e0c9011e582ad1106 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:21:26 2023 +0100 Refactor if conditional to switch, use split up functions commit 75ee273f40efa916977ac65964c2ecf1d3db0415 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:18:33 2023 +0100 Split user creation and saving user to db commit 7f4667696ff48050eeb05eb0dafe352bfbed57d6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:17:51 2023 +0100 Cleanup imports commit 6ad52a6d67d429577f58bbbb1bfb763ac0216b2a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 12:03:42 2023 +0100 Update tests commit 25d34e0c146a6f71f66be52d96fb7f10ce3b8ccf Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 12:03:28 2023 +0100 Check for empty path in IRI commit f84e0b27e1a71a4fc0606d81ca163a69935d4f98 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:45:24 2023 +0100 Use ValidateAndParseIRI, pass this to ParseActorID commit fa1acd1ebb895032705572b513e9530cb511aae1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:44:59 2023 +0100 Extract url string validation and parsing from ActorID parsing commit 4d3ab4dda2e628c63b54ffec02604f8d7190eae0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:24:47 2023 +0100 Update Validate() commit 39d4c8dd2df7d6396ec03da626176ed8fadc2dd5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:24:27 2023 +0100 Generalize validate_is_not_empty commit 085db0c1279ffdfe3c4f940aca8520fe57c67f71 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:51:58 2023 +0100 Remove todo commit 54ef78034edeb88dddeef4b27528c72077d2ac5e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:51:03 2023 +0100 Don't parse received repoID commit e3defaa212192df79af7d1be10cfa4983295d982 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:44:35 2023 +0100 Split getPersonByRest function This leaves us with two easier to read functions, encapsulating two different functionalities. commit bdddde8b68c5893dd4caefc8a30703b26fa7327f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:42:05 2023 +0100 Fix erroneous param and deprecated --name commit 28a290da10f029018a359eb9c4133deca54e7c04 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 6 18:32:26 2023 +0100 reviewed current work commit 02dc8901af20637c476e04778403c2fad3a31b90 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 16:14:50 2023 +0100 Fix tests commit 68cd621053350651464c907901e246f49aa9c4dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 16:14:39 2023 +0100 Test for empty string commit d27cac5bae24f3cfbf4f1b4dce178dbf2717e4a7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:56:26 2023 +0100 Move federated user creation to func commit 01506f9836c612c0fef758d02dedfeacf1c5db15 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:50:38 2023 +0100 Clearer description commit 77b6402e7791921f735e2fbb6efae4a7e267d0b2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:37:58 2023 +0100 Add missing error treatment commit 946e5cf34cc557106492b7b12c750ef57928860d Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:37:14 2023 +0100 Remove typo in func commit c0f1681fa3a939be6fcf789c06687b837a673803 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:16:01 2023 +0100 Allow parsing of repository-id too commit 4f25e5057a8db1a7b0b23b88ed739ca9c320e06f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:15:39 2023 +0100 Make the source an argument to the parser commit 2fb893843bfaa4f0cfb2d42a4d7d2d38e8c718ba Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:13:53 2023 +0100 Move getting person to own function commit 6d143e74cfd4f1201cc7438758fff9956f08f15f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 13:36:26 2023 +0100 More clear distinction between sender and receiver of star commit 52e950a492a39f15894510c8917cbb9fc7f1983b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 13:06:30 2023 +0100 Check the path for empty strings commit 65f7124c67898ce34c8975f8544968f2690b5508 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 12:05:47 2023 +0100 Use u.Hostname() instead of u.Host u.Host returns hostname:port. commit 27c9db1027a3d11d7084df5ebc5e4fb8903bd231 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 11:24:42 2023 +0100 Better function descriptions commit 9b5d8bbedae035047cec50776f98bd933f76ce76 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 6 09:07:09 2023 +0100 If we use user.loginname to store the actor.id we can search for local users earlier commit ed1af14cebe53cbc81b5ce2c7a4e4970565714ff Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:54:03 2023 +0100 Panic on error, use correct function names commit 9dcbe0177e99766b9292d886072547f53ba6d79a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:53:10 2023 +0100 Rename targe to remoteStargazer commit de9e4dea61a09197fdaacbbd49bdc8d5db961024 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:52:33 2023 +0100 Update todos, remove comments commit 68cc74d13974cbc820cc117840351928042add80 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:50:46 2023 +0100 Use actionsUser for creating http client commit d65e5aa70e148a8df3f0e2c95a7c8ec36a874569 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:49:27 2023 +0100 Move helper functions to top commit 1c145d9d6899afcb80245aebf492eece5fa7c44d Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 12:19:22 2023 +0100 WIP: fit generateUUIDMail for testing purposes commit 11e93784fea51d0459c2f87ea71604161ba388df Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 11:46:11 2023 +0100 WIP: log Info User created commit a20f535211ecf168ef7bc65d721515741e7ce3b3 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 11:38:36 2023 +0100 WIP: pwdgen, username commit 85e09a7ada86e849a1f37213c7aeb56527a67371 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 10:37:51 2023 +0100 WIP: Generate User if not exists commit 94880d64f4d10db439abad6b79501f6481cc72cf Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 5 09:26:03 2023 +0100 higlight the need for id normalization commit 231bdb65b83944a564359367798740220b46e629 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 1 17:06:39 2023 +0100 searching for the local person commit edd7fb77fd70cad1268cd8a92c03573515926d3f Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 1 15:07:13 2023 +0100 WIP create user if not exists commit 159f3dc3aa22628edc117ada6507dc4097ab3b65 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 30 17:41:08 2023 +0100 describe the current state commit 41e12d09ef7ca79803347273d3ed062605b9744c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 1 11:56:12 2023 +0100 WIP create User from person commit c8456d57ff757afaf77478e71cf140740fe520d3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:10:26 2023 +0100 Add thoughts on user creation commit c61be31c72a6f6707657f142bb9b66fb3e72852d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:04:26 2023 +0100 Remove redundant person implementation commit 22ba03ae4dc01802fcfebd2b4ef2f65311e2cbad Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:01:20 2023 +0100 Don't use redundant implementation of person commit b00b5fa7aff82c419ff9a1fcd46679f36fa97981 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:00:39 2023 +0100 Add some thoughts on repo testing commit eab016e8968c8a3cf1d3caf2508ea803a3c1c9dd Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 29 09:21:54 2023 +0100 add threat analyses commit a8d5e7ba7770fca8a8a7c37d5da8bf1ffd3a8c0b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:45:04 2023 +0100 Fix typos and format commit d43c4ba739c7e733be40df59590d328c97cbbc59 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:34:02 2023 +0100 Use person generation commit 9f016d36731d3b1aa972ce5529f920aba7680512 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:33:22 2023 +0100 Move to extra var commit 7071117864bc6e1ff385fd30cbc89649d55a34e6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:32:15 2023 +0100 Implement Person creation commit fde8de4f906b90d766f66d925409134c69ff8877 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 13:26:35 2023 +0100 Rename to ParseActorIDFromStarActivity commit 2c4089ba1dece994afc0fd0149cce773f7ea4243 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 13:24:59 2023 +0100 Add star json with links to lokalhost commit ede86df6858a1c94b75e43af822828573c1a4f1f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 11:46:24 2023 +0100 Remove todo commit 7529b9da91e1797b580687a471e36f5376ba3ff3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 15:17:59 2023 +0100 Note ToDos for setting up useful tests commit e60d89cb677f1b32d6fbd5aa10f7af64e19baf93 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 15:17:34 2023 +0100 Use correct target for get request commit 0388240039925b374eb8d1a6f88192dd5aca9865 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 13:03:45 2023 +0100 WIP Use non generated HTTP client commit 4b490802d70b1898928d0998ae7021f5881a52d0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 13:03:07 2023 +0100 Test creation of client only commit 61afc65377dc06b5a6ea494fc46881898d760d47 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 10:55:53 2023 +0100 Implement Get method on Client struct commit 56d11bbff479c525b4c594734d2f041c9320ffdd Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 10:55:18 2023 +0100 Don't hardcode method in NewRequest function commit 8a5333128394080e3ae9a54b7267efe98c6cd4c0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 14:01:32 2023 +0100 Add ToDo commit 93d79646de1f29ada36f64b6d6d9dfa4db4d4650 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 13:56:53 2023 +0100 Fix api url commit 9568eab62af65c75f84494d4a3f65b1a74b5f1c7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 13:23:03 2023 +0100 Fix tests commit 6284355e1e0f226b478773aa572907ae49ca579d Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:51:36 2023 +0100 Remove redundant ValidateStar and err check, call coorect function commit 43ac3ddca9f4b7ef672837ba253c4d6b73fe34cf Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:50:15 2023 +0100 Remove star validation as it happens in actor validation now commit 566b3bc4594bfbcb457a844fdd6163cbad2838c6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:49:36 2023 +0100 Parse Actor from star activity, Update function declaration order commit 3a938b6c3f2ae936e41b3b53f03bc51da152f01c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:48:14 2023 +0100 Use and validate source in ActorID struct commit 546ce5033720ab2c9cf1a9bd70f5cb0e678ee548 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:40:12 2023 +0100 Use PanicIfInvalid in repository.go commit 9566e9bc5d3b518d5a02a2b74639d5cec4beb568 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:38:01 2023 +0100 Change tests to use IsValid method commit fccf5c37cad5e2b57d6f0028fc3c38a3e488c0b5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:37:29 2023 +0100 Add IsValid and PanicIfInvalid methods for ActorID commit 8300d3fbded450a19806fb110108f5b61e928242 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 09:55:47 2023 +0100 Add ToDos from code review commit 34c511ae98a5702258f77e15ca7a539001d849cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:04:58 2023 +0100 Use data from actor, improve formatting commit aee2ee25961a013d8440cd7267938f2fb51cff9d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:04:22 2023 +0100 Also log error on person creation commit 91baf2be32471779ffbf42016c519e694c48a18e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:03:24 2023 +0100 Add get functions for userId and HostAndPort commit 92c089a4e29730a9842e22ff2c69fe069df601d4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:02:54 2023 +0100 Add a test for getting host and port commit 863b340622ffd1283eb05a02ee0731ab2888ff54 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:02:36 2023 +0100 Update dev notes with create repo curl cmd commit 8657f70960412922676247b1de049f2ab7cbe98e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 14:50:32 2023 +0100 Add todo commit 5efce01f6fd0c4f617553aba9111f391ad74d661 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 14:17:35 2023 +0100 Make test messages consistent commit ad8adc880fa60f1c2626db330ec4bb5a8ed02c9d Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:40:28 2023 +0100 Create easier to read tests for parser and validator commit 62eae6564f68bfceec42652edfddda05d8e04276 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:40:03 2023 +0100 Fix bug in validation commit d205c50a4395e648a67e5c067b3cc671d4386e1b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:08:14 2023 +0100 Implement generic validation on ActorID commit 7b5d13a625779c3db035ca80d0da706b46357568 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 15:27:44 2023 +0100 Split check for schema and host commit 3d2b5115ad1c904ee727f7d9cd62469fdf3884cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 15:25:43 2023 +0100 Implement and use Validatable interface commit 235ed7cd1e665b2ece8c8fc1790e16b069e1984f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 13:28:13 2023 +0100 Rename to actorID commit 5e111f14ef54d3d7fda874129389c1c340dc35b1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:20:36 2023 +0100 use the swagger-api commit 109dbd7d7566d6fc4fa69252c33892bd6dbe7224 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:20:22 2023 +0100 swager generated api commit 07bd30cf2011b68e67f1ca68c7c1d6e7870a37c8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:19:53 2023 +0100 exosy has moved this package to service commit 604f0a2477b7c7e71162e54aa5e9fbb82c7def63 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:19:08 2023 +0100 swagger client generation commit 9e74de829ecd81f685a11a2758c43244d24a17b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 13:38:20 2023 +0100 swagger client generation commit bc1ff23b23e582dbb1c5ad1f5839c1866312ae38 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:49:01 2023 +0100 swagger client generation commit d81647b36ef01ded6b1201c70b229cc2b18512e6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:37:47 2023 +0100 wip: swagger client generation commit a954c9764f63aa1a08e26a542a8b1dc630c3a4c3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:10:28 2023 +0100 wip: swagger client generation commit fbff67f11a01d706a60eae4cbb813a32c90a5803 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:10:04 2023 +0100 add some more todos commit 5c998a5c46e9732295b54c5ae5cf7fc5bcbed714 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 08:22:27 2023 +0100 add comment commit 5729cee3e55f03eadbbb9d5361dacd695ec0268a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 16:04:50 2023 +0100 Move test to model/activitypub commit 7193c0bd9b037837aea2583dce3f53cc5516a36a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 16:03:05 2023 +0100 WIP test for parsing the actor commit 0c367070aff6694290f9f3155068f7f0f520d521 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:06:41 2023 +0100 Call validate star commit b1f370657558167970a6d87edcc5c2cdd9d7a4c1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:02:59 2023 +0100 Introduce validation against source commit 78fc75135fd5287b35701349b4d846eb3ffd578e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:02:20 2023 +0100 Rename to ActorData commit 09058c13c54bc63d781e4508c37f0bfe8557e801 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:53:54 2023 +0100 Rename to actor commit 91dcd59e68ed9264e356df1283534ef55897ec11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:50:01 2023 +0100 Import parser from model and call validation commit 273ca49e22e1d2938e30edfc7688490a6d976807 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:49:05 2023 +0100 Validate on ActorData independently and move to model commit e44321221ec2355edb43442d2f260ae5a32c2610 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 15:07:23 2023 +0100 WIP: Add test for parser commit ad6597667719c9a0db4e65d62aae73666c4a0a2b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 14:27:47 2023 +0100 Reorder functions commit d52bb4bf8fc564d99baa1e9f3ee966691bf800f3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:31:16 2023 +0100 Remove newline from error string commit b869d91dc13bacd6bd22eb0e0aa6f9738e3fb163 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:29:17 2023 +0100 Parse Actor URL commit 7541251d635cfc7fa99bf0ed38c1fc0fd1b6d8c2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:28:26 2023 +0100 Correct API urls commit 9fa8d19cf40fcf12e8e79d14e30b021b35453eff Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:10:31 2023 +0100 Fix typo commit d10c1094d9d3fae550874b2b5aeec773415c2c22 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 15 09:23:03 2023 +0100 add some pseudocode commit ab928910915e9e94b562ba4bae18b454beadb447 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 08:59:55 2023 +0100 Use actor commit b085ce37a6acc4ed25e6929c3a765ca5f8a92b69 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 08:53:02 2023 +0100 Review commit d7abff31f63d4e98b0b173a28151667beb3aa5c0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:29:13 2023 +0100 Add ToDos commit d2b464582f6511c67d69fa57e05ef1b9996aad8e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:29:00 2023 +0100 Add ToDo commit e18e90f8dfa03343fb457e835c9395e514bb3122 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:28:38 2023 +0100 Add fieldname and type commit f48b4d1f556b96d0aaed9bf3a25ccd6f663c1488 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:27:32 2023 +0100 Get Activity field from star commit e8013250b869fdca44d30b1187bac1ace8cdaea8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 14:56:16 2023 +0100 Add question commit 7790e98f47a3f1ab8088ad5573604b1ff47fe4c1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 14:53:47 2023 +0100 Remove unused funcs and structs commit 51cb9aded0b44c3af6a3225f88adac6122c6fdad Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 15 09:08:17 2023 +0100 generate ap-person client commit 14c74f27cbeec6ea3431b4efe1f962da9cf30cb0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 17:00:08 2023 +0100 tests are now working commit d28ea1a30b0dc8d5f3c2baf5a79bdae3dd90c400 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Nov 10 16:43:44 2023 +0100 Start implementing UnmarshalJSON for Star commit 43014ca473cfc5ca201fa917d00ddc8dee06a313 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Nov 10 16:08:15 2023 +0100 Implement MarshallJSON for Star activity commit a1885a576735e61bc2602198267dd7d1ccc7f34c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 15:13:26 2023 +0100 star: test first commit 1044e44ee57910698a18f7bd10e9de2151751c42 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:51:33 2023 +0100 we got a parsed actor commit b08580280aaafc7333cb342bdcf318bd1d0547df Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:37:36 2023 +0100 np in case of unauthenticated user commit 6c1ec0545821d289b9b9a12b084f11fb680e6efa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:37:00 2023 +0100 extract the relevant app.ini parts commit 460e2fb6444e43f6acc91ba16b4bd10917ddd89b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:10:23 2023 +0100 prepare next steps commit 5b01517c1275273218c72a6764b313fc9ae73eec Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 10 14:26:13 2023 +0100 Get data from form commit e846e8225b789e35d0edf7c121daf8f2bd23e97a Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 10 14:06:17 2023 +0100 Update dev-notes commit a1e9783cec30e7c56a36cd4aa0f42fa7db3096ca Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 9 21:59:51 2023 +0100 expose star activity to swagger commit d7dfdca8b9976fd76caf43d00df14facce461e11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 9 15:38:55 2023 +0100 WIP Add star to swagger commit 17dfc7bdc1b8d301d753c97ed13d2060b5dd7a15 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 9 14:24:19 2023 +0100 Clearer wording, fix typos commit 07cf963af3c0f23135f79157458a0042a1767454 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 9 21:54:17 2023 +0100 expose star activity to swagger commit dc1a82bf4cfe17cb7847270f59e185879a3d4c9c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 8 08:56:22 2023 +0100 use star as swagger model commit 18f4c514ec9c1704d27cfbb969290c22146623c9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Nov 7 18:01:52 2023 +0100 add one more step to rebase procedure commit 46fb4fec8ff81cd503204ab20d8e6f0d86866c0d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Nov 7 09:30:32 2023 +0100 add star activity & bind to swagger commit ff5a4405fd0fc6ba6a9562cafabefdc495ae6a88 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 18:29:48 2023 +0100 introduce repo from exosy commit 157effdd8f74fddea198b18a0d8cefd8d06a1f02 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 18:29:24 2023 +0100 adjust star activity example commit a0efbf7d72a003e6c6f12a85e753abe8473e9c24 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 09:27:41 2023 +0100 improve git-setup-doc commit 1f80e99857b1ba9650439eb129150151f393c756 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 09:12:09 2023 +0100 improve git-setup-doc commit cde603dd0ee8f6fc85d153f37091b17e3ca6bca8 Author: Mirco <mirco.zachmann@meissa.de> Date: Fri Nov 3 17:58:47 2023 +0100 improve git sync procedure commit 71951418059ebc0d72ab52bcb0b0b04e962c2472 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 08:50:36 2023 +0100 wip: lets define the post input more close commit 6587b6d62ba18ece1aa04c13dfcea33bf7c99965 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 08:49:58 2023 +0100 log who is doing the inbox post commit 4e1e65e14f757bf63dff881ce7b626e05f12b474 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:45:53 2023 +0100 log repository under activity commit fe6f625923dc2690fd7d2edaa1f1962e998d0c58 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:45:21 2023 +0100 temp deactivate security commit b7082b7e9859a31229a8a998e1d61f2d0ab93a85 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:05:48 2023 +0100 improve rebase procedure commit 87324d155340ae3bbcd6d35efa53b9be7c16cbc5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:14:52 2023 +0200 ctx action should no be good enough commit 0d5702e5010fefa68bdf7d251a62fec1253b037c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:13:51 2023 +0200 fill in some minimal information to an actor commit 6ceb1d20405358b13181181b96510223d60f0c7a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:13:24 2023 +0200 add f3 dep commit 0572725204961bb95cf8bec6d8c594be226a3167 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 14:33:14 2023 +0200 add some rought branch sync description commit fe2a3d86d47e8ac7469cf56ce8bf2de7da6fb3ca Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 14:10:13 2023 +0200 get repo now works somehow commit da7a38b03dbd83228f3482d5cb55841f21ae5055 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 13:24:05 2023 +0200 enable federation commit 64abf87fb0df10f3ef40cbf20dd2a5e7fbd34a97 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 12:12:31 2023 +0200 added some logs commit 3dbcf34a1650d05861dd6cbd08322a8e4bc1962a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 11:50:39 2023 +0200 share dev notes commit 511ab65df4fb6a662e66b3dfcfcbd8c9035be291 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Oct 24 10:34:53 2023 +0200 Fix syntax error, unexpected new line commit 154be0a6377380417caf12f74af26715bc2deac6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Oct 24 09:10:31 2023 +0200 wip: compile one step further commit 317b7fac8f92dd9890b1b2be813c30e63a37cf79 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Oct 23 17:16:38 2023 +0200 wip: load repo to ctx commit 643681663fff73a0f74e892dc9f1a34743fae08b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 16:27:55 2023 +0200 add activity sequence commit 68318f263295f7fd8db8a0b6468b8f5514b5d66c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 16:12:37 2023 +0200 considerations about star activity commit d4f507a223a4797f4e829670fe80f7712757918b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 15:45:12 2023 +0200 remove unused imports commit a87cbda165329cd5627d00276fd7ee147e6f9286 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 15:16:04 2023 +0200 add repository actor
2024-06-06 08:58:11 +02:00
// Copyright 2024 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
2014-02-20 03:45:43 +01:00
package repo
import (
"errors"
"fmt"
"net/http"
"slices"
"strings"
2014-03-22 18:50:50 +01:00
"code.gitea.io/gitea/models"
"code.gitea.io/gitea/models/db"
git_model "code.gitea.io/gitea/models/git"
"code.gitea.io/gitea/models/organization"
access_model "code.gitea.io/gitea/models/perm/access"
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
quota_model "code.gitea.io/gitea/models/quota"
repo_model "code.gitea.io/gitea/models/repo"
"code.gitea.io/gitea/models/unit"
user_model "code.gitea.io/gitea/models/user"
"code.gitea.io/gitea/modules/base"
"code.gitea.io/gitea/modules/cache"
"code.gitea.io/gitea/modules/git"
"code.gitea.io/gitea/modules/log"
"code.gitea.io/gitea/modules/optional"
repo_module "code.gitea.io/gitea/modules/repository"
"code.gitea.io/gitea/modules/setting"
"code.gitea.io/gitea/modules/storage"
api "code.gitea.io/gitea/modules/structs"
"code.gitea.io/gitea/modules/util"
Move macaron to chi (#14293) Use [chi](https://github.com/go-chi/chi) instead of the forked [macaron](https://gitea.com/macaron/macaron). Since macaron and chi have conflicts with session share, this big PR becomes a have-to thing. According my previous idea, we can replace macaron step by step but I'm wrong. :( Below is a list of big changes on this PR. - [x] Define `context.ResponseWriter` interface with an implementation `context.Response`. - [x] Use chi instead of macaron, and also a customize `Route` to wrap chi so that the router usage is similar as before. - [x] Create different routers for `web`, `api`, `internal` and `install` so that the codes will be more clear and no magic . - [x] Use https://github.com/unrolled/render instead of macaron's internal render - [x] Use https://github.com/NYTimes/gziphandler instead of https://gitea.com/macaron/gzip - [x] Use https://gitea.com/go-chi/session which is a modified version of https://gitea.com/macaron/session and removed `nodb` support since it will not be maintained. **BREAK** - [x] Use https://gitea.com/go-chi/captcha which is a modified version of https://gitea.com/macaron/captcha - [x] Use https://gitea.com/go-chi/cache which is a modified version of https://gitea.com/macaron/cache - [x] Use https://gitea.com/go-chi/binding which is a modified version of https://gitea.com/macaron/binding - [x] Use https://github.com/go-chi/cors instead of https://gitea.com/macaron/cors - [x] Dropped https://gitea.com/macaron/i18n and make a new one in `code.gitea.io/gitea/modules/translation` - [x] Move validation form structs from `code.gitea.io/gitea/modules/auth` to `code.gitea.io/gitea/modules/forms` to avoid dependency cycle. - [x] Removed macaron log service because it's not need any more. **BREAK** - [x] All form structs have to be get by `web.GetForm(ctx)` in the route function but not as a function parameter on routes definition. - [x] Move Git HTTP protocol implementation to use routers directly. - [x] Fix the problem that chi routes don't support trailing slash but macaron did. - [x] `/api/v1/swagger` now will be redirect to `/api/swagger` but not render directly so that `APIContext` will not create a html render. Notices: - Chi router don't support request with trailing slash - Integration test `TestUserHeatmap` maybe mysql version related. It's failed on my macOS(mysql 5.7.29 installed via brew) but succeed on CI. Co-authored-by: 6543 <6543@obermui.de>
2021-01-26 16:36:53 +01:00
"code.gitea.io/gitea/modules/web"
"code.gitea.io/gitea/services/context"
"code.gitea.io/gitea/services/convert"
"code.gitea.io/gitea/services/forms"
repo_service "code.gitea.io/gitea/services/repository"
archiver_service "code.gitea.io/gitea/services/repository/archiver"
commitstatus_service "code.gitea.io/gitea/services/repository/commitstatus"
2014-02-20 03:45:43 +01:00
)
2014-06-23 05:11:12 +02:00
const (
tplCreate base.TplName = "repo/create"
tplAlertDetails base.TplName = "base/alert_details"
2014-06-23 05:11:12 +02:00
)
// MustBeNotEmpty render when a repo is a empty git dir
func MustBeNotEmpty(ctx *context.Context) {
if ctx.Repo.Repository.IsEmpty {
ctx.NotFound("MustBeNotEmpty", nil)
}
}
// MustBeEditable check that repo can be edited
func MustBeEditable(ctx *context.Context) {
if !ctx.Repo.Repository.CanEnableEditor() || ctx.Repo.IsViewCommit {
ctx.NotFound("", nil)
return
}
}
// MustBeAbleToUpload check that repo can be uploaded to
func MustBeAbleToUpload(ctx *context.Context) {
if !setting.Repository.Upload.Enabled {
ctx.NotFound("", nil)
}
}
func CommitInfoCache(ctx *context.Context) {
var err error
ctx.Repo.Commit, err = ctx.Repo.GitRepo.GetBranchCommit(ctx.Repo.Repository.DefaultBranch)
if err != nil {
ctx.ServerError("GetBranchCommit", err)
return
}
ctx.Repo.CommitsCount, err = ctx.Repo.GetCommitsCount()
if err != nil {
ctx.ServerError("GetCommitsCount", err)
return
}
ctx.Data["CommitsCount"] = ctx.Repo.CommitsCount
ctx.Repo.GitRepo.LastCommitCache = git.NewLastCommitCache(ctx.Repo.CommitsCount, ctx.Repo.Repository.FullName(), ctx.Repo.GitRepo, cache.GetCache())
}
func checkContextUser(ctx *context.Context, uid int64) *user_model.User {
orgs, err := organization.GetOrgsCanCreateRepoByUserID(ctx, ctx.Doer.ID)
if err != nil {
ctx.ServerError("GetOrgsCanCreateRepoByUserID", err)
2015-08-28 12:33:09 +02:00
return nil
}
if !ctx.Doer.IsAdmin {
orgsAvailable := []*organization.Organization{}
for i := 0; i < len(orgs); i++ {
if orgs[i].CanCreateRepo() {
orgsAvailable = append(orgsAvailable, orgs[i])
}
}
ctx.Data["Orgs"] = orgsAvailable
} else {
ctx.Data["Orgs"] = orgs
}
2015-07-19 11:11:16 +02:00
// Not equal means current user is an organization.
if uid == ctx.Doer.ID || uid == 0 {
return ctx.Doer
2015-07-19 11:11:16 +02:00
}
org, err := user_model.GetUserByID(ctx, uid)
if user_model.IsErrUserNotExist(err) {
return ctx.Doer
2015-07-19 11:11:16 +02:00
}
if err != nil {
ctx.ServerError("GetUserByID", fmt.Errorf("[%d]: %w", uid, err))
2015-07-19 11:11:16 +02:00
return nil
2015-08-28 12:33:09 +02:00
}
// Check ownership of organization.
if !org.IsOrganization() {
ctx.Error(http.StatusForbidden)
2015-07-19 11:11:16 +02:00
return nil
2014-11-06 05:30:04 +01:00
}
if !ctx.Doer.IsAdmin {
canCreate, err := organization.OrgFromUser(org).CanCreateOrgRepo(ctx, ctx.Doer.ID)
if err != nil {
ctx.ServerError("CanCreateOrgRepo", err)
return nil
} else if !canCreate {
ctx.Error(http.StatusForbidden)
return nil
}
} else {
ctx.Data["Orgs"] = orgs
}
2015-07-19 11:11:16 +02:00
return org
2014-11-06 05:30:04 +01:00
}
func getRepoPrivate(ctx *context.Context) bool {
switch strings.ToLower(setting.Repository.DefaultPrivate) {
case setting.RepoCreatingLastUserVisibility:
return ctx.Doer.LastRepoVisibility
case setting.RepoCreatingPrivate:
return true
case setting.RepoCreatingPublic:
return false
default:
return ctx.Doer.LastRepoVisibility
}
}
2016-11-24 08:04:31 +01:00
// Create render creating repository page
2016-03-11 17:56:52 +01:00
func Create(ctx *context.Context) {
2014-07-26 06:24:27 +02:00
ctx.Data["Title"] = ctx.Tr("new_repo")
// Give default value for template to render.
ctx.Data["Gitignores"] = repo_module.Gitignores
ctx.Data["LabelTemplateFiles"] = repo_module.LabelTemplateFiles
ctx.Data["Licenses"] = repo_module.Licenses
ctx.Data["Readmes"] = repo_module.Readmes
ctx.Data["readme"] = "Default"
ctx.Data["private"] = getRepoPrivate(ctx)
2015-10-25 09:26:26 +01:00
ctx.Data["IsForcedPrivate"] = setting.Repository.ForcePrivate
ctx.Data["default_branch"] = setting.Repository.DefaultBranch
2014-06-25 09:55:59 +02:00
ctxUser := checkContextUser(ctx, ctx.FormInt64("org"))
2015-07-19 11:11:16 +02:00
if ctx.Written() {
2014-11-06 05:30:04 +01:00
return
}
2014-06-28 21:43:25 +02:00
ctx.Data["ContextUser"] = ctxUser
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
ctx.Data["repo_template_name"] = ctx.Tr("repo.template_select")
templateID := ctx.FormInt64("template_id")
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
if templateID > 0 {
templateRepo, err := repo_model.GetRepositoryByID(ctx, templateID)
if err == nil && access_model.CheckRepoUnitUser(ctx, templateRepo, ctxUser, unit.TypeCode) {
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
ctx.Data["repo_template"] = templateID
ctx.Data["repo_template_name"] = templateRepo.Name
}
}
ctx.Data["CanCreateRepo"] = ctx.Doer.CanCreateRepo()
ctx.Data["MaxCreationLimit"] = ctx.Doer.MaxCreationLimit()
ctx.Data["SupportedObjectFormats"] = git.SupportedObjectFormats
ctx.Data["DefaultObjectFormat"] = git.Sha1ObjectFormat
ctx.HTML(http.StatusOK, tplCreate)
2014-04-11 00:09:57 +02:00
}
func handleCreateError(ctx *context.Context, owner *user_model.User, err error, name string, tpl base.TplName, form any) {
2015-08-28 12:33:09 +02:00
switch {
case repo_model.IsErrReachLimitOfRepo(err):
maxCreationLimit := owner.MaxCreationLimit()
msg := ctx.TrN(maxCreationLimit, "repo.form.reach_limit_of_creation_1", "repo.form.reach_limit_of_creation_n", maxCreationLimit)
ctx.RenderWithErr(msg, tpl, form)
case repo_model.IsErrRepoAlreadyExist(err):
2015-08-28 12:33:09 +02:00
ctx.Data["Err_RepoName"] = true
ctx.RenderWithErr(ctx.Tr("form.repo_name_been_taken"), tpl, form)
case repo_model.IsErrRepoFilesAlreadyExist(err):
Adopt repositories (#12920) * Don't automatically delete repository files if they are present Prior to this PR Gitea would delete any repository files if they are present during creation or migration. This can in certain circumstances lead to data-loss and is slightly unpleasant. This PR provides a mechanism for Gitea to adopt repositories on creation and otherwise requires an explicit flag for deletion. PushCreate is slightly different - the create will cause adoption if that is allowed otherwise it will delete the data if that is allowed. Signed-off-by: Andrew Thornton <art27@cantab.net> * Update swagger Signed-off-by: Andrew Thornton <art27@cantab.net> * Fix tests and migrate overwrite Signed-off-by: Andrew Thornton <art27@cantab.net> * as per @lunny Only offer to adopt or overwrite if the user can do that. Allow the site administrator to adopt or overwrite in all circumstances Signed-off-by: Andrew Thornton <art27@cantab.net> * Use setting.Repository.DefaultBranch for the default branch Signed-off-by: Andrew Thornton <art27@cantab.net> * Always set setting.Repository.DefaultBranch Signed-off-by: Andrew Thornton <art27@cantab.net> * update swagger Signed-off-by: Andrew Thornton <art27@cantab.net> * update templates Signed-off-by: Andrew Thornton <art27@cantab.net> * ensure repo closed Signed-off-by: Andrew Thornton <art27@cantab.net> * Rewrite of adoption as per @6543 and @lunny Signed-off-by: Andrew Thornton <art27@cantab.net> * Apply suggestions from code review * update swagger Signed-off-by: Andrew Thornton <art27@cantab.net> * missing not Signed-off-by: Andrew Thornton <art27@cantab.net> * add modals and flash reporting Signed-off-by: Andrew Thornton <art27@cantab.net> * Make the unadopted page searchable Signed-off-by: Andrew Thornton <art27@cantab.net> * Add API Signed-off-by: Andrew Thornton <art27@cantab.net> * Fix swagger Signed-off-by: Andrew Thornton <art27@cantab.net> * fix swagger Signed-off-by: Andrew Thornton <art27@cantab.net> * Handle empty and non-master branched repositories Signed-off-by: Andrew Thornton <art27@cantab.net> * placate lint Signed-off-by: Andrew Thornton <art27@cantab.net> * remove commented out code Signed-off-by: Andrew Thornton <art27@cantab.net> Co-authored-by: techknowlogick <techknowlogick@gitea.io>
2020-09-25 06:09:23 +02:00
ctx.Data["Err_RepoName"] = true
switch {
case ctx.IsUserSiteAdmin() || (setting.Repository.AllowAdoptionOfUnadoptedRepositories && setting.Repository.AllowDeleteOfUnadoptedRepositories):
ctx.RenderWithErr(ctx.Tr("form.repository_files_already_exist.adopt_or_delete"), tpl, form)
case setting.Repository.AllowAdoptionOfUnadoptedRepositories:
ctx.RenderWithErr(ctx.Tr("form.repository_files_already_exist.adopt"), tpl, form)
case setting.Repository.AllowDeleteOfUnadoptedRepositories:
ctx.RenderWithErr(ctx.Tr("form.repository_files_already_exist.delete"), tpl, form)
default:
ctx.RenderWithErr(ctx.Tr("form.repository_files_already_exist"), tpl, form)
}
case db.IsErrNameReserved(err):
2015-08-28 12:33:09 +02:00
ctx.Data["Err_RepoName"] = true
ctx.RenderWithErr(ctx.Tr("repo.form.name_reserved", err.(db.ErrNameReserved).Name), tpl, form)
case db.IsErrNamePatternNotAllowed(err):
2015-08-28 12:33:09 +02:00
ctx.Data["Err_RepoName"] = true
ctx.RenderWithErr(ctx.Tr("repo.form.name_pattern_not_allowed", err.(db.ErrNamePatternNotAllowed).Pattern), tpl, form)
2015-08-28 12:33:09 +02:00
default:
ctx.ServerError(name, err)
2015-08-28 12:33:09 +02:00
}
}
2016-11-24 08:04:31 +01:00
// CreatePost response for creating repository
Move macaron to chi (#14293) Use [chi](https://github.com/go-chi/chi) instead of the forked [macaron](https://gitea.com/macaron/macaron). Since macaron and chi have conflicts with session share, this big PR becomes a have-to thing. According my previous idea, we can replace macaron step by step but I'm wrong. :( Below is a list of big changes on this PR. - [x] Define `context.ResponseWriter` interface with an implementation `context.Response`. - [x] Use chi instead of macaron, and also a customize `Route` to wrap chi so that the router usage is similar as before. - [x] Create different routers for `web`, `api`, `internal` and `install` so that the codes will be more clear and no magic . - [x] Use https://github.com/unrolled/render instead of macaron's internal render - [x] Use https://github.com/NYTimes/gziphandler instead of https://gitea.com/macaron/gzip - [x] Use https://gitea.com/go-chi/session which is a modified version of https://gitea.com/macaron/session and removed `nodb` support since it will not be maintained. **BREAK** - [x] Use https://gitea.com/go-chi/captcha which is a modified version of https://gitea.com/macaron/captcha - [x] Use https://gitea.com/go-chi/cache which is a modified version of https://gitea.com/macaron/cache - [x] Use https://gitea.com/go-chi/binding which is a modified version of https://gitea.com/macaron/binding - [x] Use https://github.com/go-chi/cors instead of https://gitea.com/macaron/cors - [x] Dropped https://gitea.com/macaron/i18n and make a new one in `code.gitea.io/gitea/modules/translation` - [x] Move validation form structs from `code.gitea.io/gitea/modules/auth` to `code.gitea.io/gitea/modules/forms` to avoid dependency cycle. - [x] Removed macaron log service because it's not need any more. **BREAK** - [x] All form structs have to be get by `web.GetForm(ctx)` in the route function but not as a function parameter on routes definition. - [x] Move Git HTTP protocol implementation to use routers directly. - [x] Fix the problem that chi routes don't support trailing slash but macaron did. - [x] `/api/v1/swagger` now will be redirect to `/api/swagger` but not render directly so that `APIContext` will not create a html render. Notices: - Chi router don't support request with trailing slash - Integration test `TestUserHeatmap` maybe mysql version related. It's failed on my macOS(mysql 5.7.29 installed via brew) but succeed on CI. Co-authored-by: 6543 <6543@obermui.de>
2021-01-26 16:36:53 +01:00
func CreatePost(ctx *context.Context) {
form := web.GetForm(ctx).(*forms.CreateRepoForm)
2014-07-26 06:24:27 +02:00
ctx.Data["Title"] = ctx.Tr("new_repo")
ctx.Data["Gitignores"] = repo_module.Gitignores
ctx.Data["LabelTemplateFiles"] = repo_module.LabelTemplateFiles
ctx.Data["Licenses"] = repo_module.Licenses
ctx.Data["Readmes"] = repo_module.Readmes
2014-02-20 03:45:43 +01:00
ctx.Data["CanCreateRepo"] = ctx.Doer.CanCreateRepo()
ctx.Data["MaxCreationLimit"] = ctx.Doer.MaxCreationLimit()
ctx.Data["SupportedObjectFormats"] = git.SupportedObjectFormats
ctx.Data["DefaultObjectFormat"] = git.Sha1ObjectFormat
2016-11-27 07:03:59 +01:00
ctxUser := checkContextUser(ctx, form.UID)
2015-07-19 11:11:16 +02:00
if ctx.Written() {
return
}
2014-07-26 06:24:27 +02:00
ctx.Data["ContextUser"] = ctxUser
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
if !ctx.CheckQuota(quota_model.LimitSubjectSizeReposAll, ctxUser.ID, ctxUser.Name) {
return
}
2014-03-22 21:00:46 +01:00
if ctx.HasError() {
ctx.HTML(http.StatusOK, tplCreate)
2014-03-22 21:00:46 +01:00
return
}
var repo *repo_model.Repository
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
var err error
if form.RepoTemplate > 0 {
opts := repo_service.GenerateRepoOptions{
Name: form.RepoName,
Description: form.Description,
Private: form.Private || setting.Repository.ForcePrivate,
GitContent: form.GitContent,
Topics: form.Topics,
GitHooks: form.GitHooks,
Webhooks: form.Webhooks,
Avatar: form.Avatar,
IssueLabels: form.Labels,
ProtectedBranch: form.ProtectedBranch,
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
}
if !opts.IsValid() {
ctx.RenderWithErr(ctx.Tr("repo.template.one_item"), tplCreate, form)
return
}
templateRepo := getRepository(ctx, form.RepoTemplate)
if ctx.Written() {
return
}
if !templateRepo.IsTemplate {
ctx.RenderWithErr(ctx.Tr("repo.template.invalid"), tplCreate, form)
return
}
repo, err = repo_service.GenerateRepository(ctx, ctx.Doer, ctxUser, templateRepo, opts)
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
if err == nil {
log.Trace("Repository generated [%d]: %s/%s", repo.ID, ctxUser.Name, repo.Name)
ctx.Redirect(repo.Link())
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
return
}
} else {
repo, err = repo_service.CreateRepository(ctx, ctx.Doer, ctxUser, repo_service.CreateRepoOptions{
Name: form.RepoName,
Description: form.Description,
Gitignores: form.Gitignores,
IssueLabels: form.IssueLabels,
License: form.License,
Readme: form.Readme,
IsPrivate: form.Private || setting.Repository.ForcePrivate,
DefaultBranch: form.DefaultBranch,
AutoInit: form.AutoInit,
IsTemplate: form.Template,
TrustModel: repo_model.DefaultTrustModel,
ObjectFormatName: form.ObjectFormatName,
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
})
if err == nil {
log.Trace("Repository created [%d]: %s/%s", repo.ID, ctxUser.Name, repo.Name)
ctx.Redirect(repo.Link())
Template Repositories (#8768) * Start work on templates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Continue work Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix IsTemplate vs IsGenerated Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tabs vs spaces * Tabs vs Spaces * Add templates to API & start adding tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix integration tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Remove unused User Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move template tests to existing repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Minor re-check updates and cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test cleanup Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix optionalbool Signed-off-by: jolheiser <john.olheiser@gmail.com> * make fmt Signed-off-by: jolheiser <john.olheiser@gmail.com> * Test fixes and icon change Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add new user and repo for tests Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests (finally) Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update meta repo with env variables Signed-off-by: jolheiser <john.olheiser@gmail.com> * Move generation to create page Combine with repo create template Modify API search to prioritize owner for repo Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix tests and coverage Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix swagger and JS lint Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix API searching for own private repos Signed-off-by: jolheiser <john.olheiser@gmail.com> * Change wording Signed-off-by: jolheiser <john.olheiser@gmail.com> * Fix repo search test. User had a private repo that didn't show up Signed-off-by: jolheiser <john.olheiser@gmail.com> * Another search test fix Signed-off-by: jolheiser <john.olheiser@gmail.com> * Clarify git content Co-Authored-By: guillep2k <18600385+guillep2k@users.noreply.github.com> * Feedback updates Signed-off-by: jolheiser <john.olheiser@gmail.com> * Add topics WIP Signed-off-by: jolheiser <john.olheiser@gmail.com> * Finish adding topics Signed-off-by: jolheiser <john.olheiser@gmail.com> * Update locale Signed-off-by: jolheiser <john.olheiser@gmail.com>
2019-11-11 16:15:29 +01:00
return
}
2014-03-10 01:06:29 +01:00
}
2014-04-13 02:35:35 +02:00
2016-11-24 08:04:31 +01:00
handleCreateError(ctx, ctxUser, err, "CreatePost", tplCreate, &form)
2014-04-11 00:09:57 +02:00
}
2014-04-09 15:28:00 +02:00
const (
tplWatchUnwatch base.TplName = "repo/watch_unwatch"
tplStarUnstar base.TplName = "repo/star_unstar"
)
func ActionWatch(watch bool) func(ctx *context.Context) {
return func(ctx *context.Context) {
err := repo_model.WatchRepo(ctx, ctx.Doer.ID, ctx.Repo.Repository.ID, watch)
if err != nil {
ctx.ServerError(fmt.Sprintf("Action (watch, %t)", watch), err)
return
}
2014-08-11 05:11:18 +02:00
ctx.Data["IsWatchingRepo"] = repo_model.IsWatching(ctx, ctx.Doer.ID, ctx.Repo.Repository.ID)
// we have to reload the repository because NumStars or NumWatching (used in the templates) has just changed
ctx.Data["Repository"], err = repo_model.GetRepositoryByName(ctx, ctx.Repo.Repository.OwnerID, ctx.Repo.Repository.Name)
if err != nil {
ctx.ServerError(fmt.Sprintf("Action (watch, %t)", watch), err)
return
}
ctx.HTML(http.StatusOK, tplWatchUnwatch)
2014-08-11 05:11:18 +02:00
}
}
func ActionStar(star bool) func(ctx *context.Context) {
return func(ctx *context.Context) {
feat(federated-star) star repositories via ActivityPub (#1680) commit 1be80cfdbca10d5014cec904e96c7a390b338493 Merge: c01b10a593 130981af64 Author: Earl Warren <earl-warren@noreply.codeberg.org> Date: Thu Jun 6 06:36:34 2024 +0000 Merge pull request 'federated-star' (#1680) from meissa/forgejo:forgejo-federated-star into forgejo Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/1680 Reviewed-by: Earl Warren <earl-warren@noreply.codeberg.org> commit 130981af64b4391e20f44f6655a4d78b4c4d4ab6 Merge: 62856e639e c01b10a593 Author: Earl Warren <earl-warren@noreply.codeberg.org> Date: Thu Jun 6 06:07:34 2024 +0000 Merge branch 'forgejo' into forgejo-federated-star commit 62856e639e0c42a7902f241357679ce0bf8b34c2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jun 6 07:26:28 2024 +0200 adjust field name commit 81236bc9ef2fc53cf019425edd21460af2fffea0 Merge: c0b9ab2060 1b3ccfffe8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jun 5 07:33:12 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit c0b9ab2060bfe7b1b6c27f4c964778fe65cbe10c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Jun 4 12:37:18 2024 +0200 Extend integration test for staring federated repo commit 98939c4745dc7e15ca8c0a01ae09f4aea0f7c0fb Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 31 18:05:29 2024 +0200 remove no longer used doc commit 17e3f6c6f3bd224950d8d86cfa00983a1845ccc3 Merge: 58b8f57d3f f887972348 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 31 18:03:19 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 58b8f57d3f0cda45e3d501eff4f3caf5df8e879a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 09:20:39 2024 +0200 more lint commit c3650cb2fe5b049c1f92746c6c54eab126afc2de Merge: 07e2708e3d 73f6e8809a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 09:01:00 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 07e2708e3d279c4733c45dea66d2e159d79f9e46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:59:32 2024 +0200 lint commit e7580da130c1e25410d38459fcad005d6e1d983b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:58:19 2024 +0200 lint commit 7b2309592ce23cd2dd4f59f51b7d5079c3852366 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:55:47 2024 +0200 remove unused commit dadfb29ae944e18c02678a2eff433d235578c914 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 29 08:44:00 2024 +0200 relax validation commit 26612aa75b7542ebebb10ae912866393d5ee937f Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 15:37:53 2024 +0200 Add ToDo commit fa5806cecf222ecf1a24c0652177027a017c10cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 15:37:41 2024 +0200 Use StatusSeeOther commit 75c93e5319ea95cb49d7d90cd56d5b797febda1a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:54:49 2024 +0200 Update NewRepositoryID with case for following repo commit 9c9333868c3e3d1adfdc7bd3c12321845d28489a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:38:27 2024 +0200 Add todo We currently validate RepositoryID uris to be a valid api address from our own server. commit 69e79e50c28a2f23a2613e3c047c94a369702046 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue May 28 12:36:34 2024 +0200 Lift test env prep one up commit 72f2f35bd83662ab20a8c00a1ffadea96f6fa234 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 28 08:57:03 2024 +0200 wip integration test commit a133b6de31d435575ff14af41e99e4717bed7a5e Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 28 08:53:19 2024 +0200 rename commit 3d1586d9cb5c2ebf0130f3c98bfc57a4e159e705 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 27 08:20:43 2024 +0200 translation hast to be done in translation tool commit 108971ddc8eb919f9bf730d139fdb7351ff75ba7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 27 08:18:09 2024 +0200 add migration commit 6ef691b8d7457ce98969a5af1b1efc6889279ab9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 16:34:11 2024 +0200 lint commit a3c90e30854e92c59f04215dfe77264ad2ec5b60 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 13:27:37 2024 +0200 field no longer in use commit 5ace6816ac593d4a7ab8f7899faf5385e1db1e7a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:50:54 2024 +0200 remove todo - no change required commit 64be24ed0ce158119d2cdaee0b1244e7ac0367aa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:49:08 2024 +0200 Format & remove old todos commit 30e2582f246b3c2328a6ca83cc1e2ec3a26637c9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 08:24:54 2024 +0200 mv doc to doc project commit 2e72b5e05bb4190073ae24824e333421530e1f07 Merge: 4c87b0b3ee eea841d25d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 24 07:25:20 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 4c87b0b3eebb0bb8e3b04f18d005535017e6a3cc Merge: a1acc46c88 9c7ff70072 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 22 18:23:21 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit a1acc46c8885504776db681173cd60ed61b1cb93 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 21 18:46:48 2024 +0200 make mocked user consistent commit a62c2afcea0a1efe304460f14ecd648b815cad2c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue May 21 11:43:15 2024 +0200 Extended integration test commit 07659a5e7e36c1557930c0a9d926cb2a2f3bd140 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 17 08:15:33 2024 +0200 rename fxct name commit 86db5f612c889d0d889ccd62b431e08e8a49e225 Merge: 307b27bbaa 45a41811de Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 16 18:28:43 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 307b27bbaa3c83bf1b3f57efb730b9bf58b378c2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 16 18:22:09 2024 +0200 choose a not local avail federated userid commit a9c00d49da1dbad7bcdb737e591445266bf40cef Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:55:17 2024 +0200 Set LowerName to name with lower case commit 6457ace318afd4eeee18fb1f46847b2b31828b98 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:26:51 2024 +0200 Added migrations for User and FederatedUser commit 1b3c4dcd85ab207a8523ede87f7fe586765d4ac4 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu May 16 10:06:13 2024 +0200 Extended AP like-repo integration test commit 94be68725abd40449a8628fa0d7bea95272749aa Merge: 08fe47d5c8 fe3473fc8b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 15 09:35:02 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 08fe47d5c8b18d4ea8d2408cdb3c0f092d73a372 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 14 07:48:00 2024 +0200 Do not relay on ID start at 1 commit 57a972909495638765c835a50854fda827bbb57f Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 14:29:54 2024 +0200 linting commit e55533d64d5425d161482ec4b1e838c85f8c030b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 14:15:36 2024 +0200 Added migration for creation of federation_host table commit cf9953a6123859cca5c455c740df82271413c11d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:28:31 2024 +0200 linting commit c3fb34d5b4b3683cd1ce39684f7fdec30c51c551 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:00:16 2024 +0200 fixed some comments commit 379b0234eb0a716e70cc48922189745e06a9503b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 12:00:02 2024 +0200 added test cases for federationhost commit 8f426845994ff2b18d1cc7e4d75bd229daca115a Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 11:24:50 2024 +0200 Renamed field of FederationHost commit c4f9f8578a665bcf52161d516121c6319fa4b8b8 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 13 11:14:04 2024 +0200 Introduced ErrNotValid commit cb4690e570e1c32084178ec7b75687a3c220ab90 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 13 07:45:37 2024 +0200 linting commit 3cc48a5c9f0a6d7264622af9ee4f6ac959f54e82 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:44:26 2024 +0200 format commit 3bf423c97f1f4b4de57879354967f46d46b48086 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:29:49 2024 +0200 assert, that federation-host is present. commit 8d330fdb5d340c77393ea1e1dc13350de2c86e0b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 17:01:15 2024 +0200 Now we've an intergration test with second federation server commit 0665c1252e85e63f0a05cd107fa4ce8ab092df12 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 16:25:54 2024 +0200 make start time more flexible commit c4c03dab4b2adb92f501aa8dd404810b6011ad73 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 10 15:27:54 2024 +0200 on the way to test with second server commit 8ec570841a5a1123bdf87da43719cc3b47c8b2e0 Merge: e122df36f8 99d1ae52fc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 17:49:26 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit e122df36f815a06fd3166cf45304b2fd2e16eff0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 17:47:35 2024 +0200 prepare for next pr commit fdfc21a6b8ad5858313896d83b5b8b0ab1921f94 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue May 7 07:38:20 2024 +0200 review results commit 82fe1d3e425877d313e2f06647c0573b9f0bc7e6 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon May 6 16:01:23 2024 +0200 make fmt commit a485837b9c9673abd2673bdb4e4934b92b5e0867 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 08:52:25 2024 +0200 removed unused code commit c70b8d28a3d1f437f0f5d08e61f6791d681d3e53 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 08:12:43 2024 +0200 linting commit 8f298a9901ebd8b402746107ed356e72a04e9904 Merge: b99d66b530 8c3511a8b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon May 6 07:58:50 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit b99d66b5308961b93db3ad538392e7215bf0d5e9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 18:04:12 2024 +0200 linting commit 3a6dfadcd0bfa0120dc38853feade91c2ef81d10 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 17:10:16 2024 +0200 linting commit 510868731d7b3c53bbd879ea9509b04a6b9ab8b6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 16:58:15 2024 +0200 linting commit 1a07db1a407f95ee9b1da93ca9553cd3a179cb45 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun May 5 16:35:25 2024 +0200 omit linting next try commit ca0a53bf5f675cc9fa1f372bec0e812e64aa4936 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat May 4 17:58:54 2024 +0200 omit linting maybe? commit ee71f86432fbb3e4fb19b1fdfd7831b1424ad033 Merge: 957b1023e9 85f2727872 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 3 08:44:49 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 957b1023e96de43e8467e3e589a8501980169b02 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri May 3 08:00:17 2024 +0200 refactoring: separaate model & module commit 42837f5dab9e532efe46995fc271fb46f541f117 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu May 2 08:56:36 2024 +0200 fix linting commit ded7b60d0c5f0395aebedcab0131c291bc10be46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:46:15 2024 +0200 wix the invalid test commit 534d692d68e403a24a3dc413c0383eae74eb3d4a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:46:03 2024 +0200 fix field names commit 715ff0eb7fb28a3e5a5f505d3d84d4a2c70926d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:23:39 2024 +0200 remove unused & fix wording commit 87036ec7198510ef3e2d44f7e4da5eec736f722e Merge: be6e6eb96a bbec2e2960 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:02:36 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit be6e6eb96a0a8cc5f6349366f80a895ff7d660f3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 15:02:27 2024 +0200 refactor validation commit bbec2e29607565ef8efaddc93068787f5ce6aa3a Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed May 1 14:53:42 2024 +0200 Fix test and add symmetry This maybe was a mixup with TestActivityValidation. We now test if the UnmarshalJSON actually threw an error. commit 4b2802a6ba9ca57c3749a3bf9633e78c1b66b308 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 14:39:23 2024 +0200 internal refactoring commit 6c7cff4f162c1b2edc09f03528f016611a5b5a1b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed May 1 14:39:09 2024 +0200 fix NPE commit e9fed7a488a0cddfeb1e21b9f98202e91692352f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 20:13:37 2024 +0200 found NPE commit 285e72e4e64b2e3360c52f6a99802333a75ec48d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 19:51:28 2024 +0200 found issue during test commit a9a30fc2126113517894993dd55e189558e7acd5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Apr 29 08:40:46 2024 +0200 remove resolved todo & integration test commit 2f2330c450b8a40086ee0c202e78478ebf864245 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Apr 28 13:52:51 2024 +0200 first integration test commit 70ae1025973d233fc3362a423a262639fbd7c055 Merge: df2fd904b3 d6c36ec406 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 17:16:15 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit df2fd904b3401b57b54bfc0cc0a8e4f40e19a496 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 16:37:16 2024 +0200 drop some words on normalized uri as id commit 37ed52cfd99f2a2f669884caa2438529a0b0d057 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 16:19:31 2024 +0200 start add NormalizedFederatedUri to user commit f687f79ed0f222d42890c7fb05d00d25b19c23b4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 26 15:48:56 2024 +0200 start add NormalizedFederatedUri to user commit b878e74f768eb19458f9941fdadb223ca0178b48 Merge: 71141a5ff3 37420442de Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:33:57 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 71141a5ff3af7b60b169ce7b7904b1ca8005f595 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:33:47 2024 +0200 WIP Refactoring and solving (adding) ToDos commit fb1d0df791308eb84049bbf0ae220990bff65462 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:29:32 2024 +0200 Also check for RepoID to be unique commit f3e58f29b054c276e4cca55d7401979fc010ec32 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 14:24:38 2024 +0200 Pass unvalidated input to field commit feca77b040ca785a9f02b39a2334bf6a83f69b72 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 12 13:58:55 2024 +0200 Rename for clearer semantics commit 37420442ded9acaa8be10ab065881d050df6d9d1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Apr 12 13:52:26 2024 +0200 unify copyright comment commit 94091cc1444341e2ccf8a0acf44da7fbc4f1389e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:38:49 2024 +0200 Don't use TEXT type commit 6310e75d8d6e51d25fac8bbf27c0d62b91de6d6e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:33:13 2024 +0200 Update todo commit 075857f030d7497527b3720df3b117982e0af963 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:32:49 2024 +0200 Update docs commit 19628b84c6ce446ef2eea6a1cc806b8643478665 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:00:51 2024 +0200 use context commit 80888b80d6a1e59510347b7797dd07ab85e3afdb Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 16:00:28 2024 +0200 Fix imports commit af0d0f7745e4bb2c25bb2fd6168cf4c178b4a619 Merge: bbcb8e7060 9d6389352d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 15:38:11 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit bbcb8e70607dda94a77f3ab4ca3205f6559781e3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 14:21:51 2024 +0200 Bits of format commit bb83a8d85eaf498f6fac73680fbb496261a0b7e2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:58:28 2024 +0200 make fmt commit 0eb71098a2fef93c3250ad9563e149089cef0334 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:53:56 2024 +0200 make tidy commit e2c9653b3362b337d75007fa61771bff25f6a586 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 12:47:26 2024 +0200 Update go version and protobuf deps commit 2b9977d843bc5717bafac891977118225a699961 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:46:11 2024 +0200 Linting commit 511ef0bf5b5bcc5e80f694d7395a65724a54590d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:24:22 2024 +0200 Use federated staring func commit 8579b7f7bba5acee1f95364407b0859cd38f4a1a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 11:21:57 2024 +0200 Use optional.Some commit 97343470bc7d105b2e8b710a9865c5410c4d78ca Merge: 213fc3a97d 21b1381e36 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 9 10:42:42 2024 +0200 Merge branch 'forgejo' into forgejo-federated-star commit 213fc3a97dfc1f4deb41ff49f581866aef04e10b Merge: c908455998 765298814c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Apr 6 10:59:41 2024 +0200 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit c908455998efe3b64b2f3e8fda4bee3d79fdb171 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Apr 6 10:59:36 2024 +0200 fix multiple federation in one host commit 765298814c3a4b716beec9b6ba433cbf93643368 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 5 17:07:04 2024 +0200 Add ToDo commit 33c60ebdffb1719f3becc3043fa7d2a203ded318 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Apr 5 17:06:57 2024 +0200 Add logging commit 41f066a1a64c48b23e9f7476c6398678aa8ba155 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Apr 4 18:33:08 2024 +0200 add notes for setup commit 15bb774409aaae1d740ec57aefe88c1c50f0a300 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Apr 4 18:05:55 2024 +0200 add relation details commit 8d78c3edcabdfcc3f65d432a64a5879530329d73 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:12:41 2024 +0200 make fmt commit b4e6a7ea3f7238abf72b508e4f022bb745be3d9d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:09:40 2024 +0200 make lint-go-fix commit 92d011f1a597d6e9020d489da7b5a0b276f20930 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 15:08:02 2024 +0200 fix some linting issues commit 976d79044fd54b7bb15194105be06646b88d460d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 08:32:37 2024 +0200 show apapiurl in repo settings commit 73cf1e3901b979d1d4bb9804bc8320a2d5706922 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Apr 4 07:22:04 2024 +0200 Revert "added repoUri to federationService" This reverts commit 8cd89bf4d30a146da30a2e4256e23977d59742cc. commit 8cd89bf4d30a146da30a2e4256e23977d59742cc Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 15:39:37 2024 +0200 added repoUri to federationService This does not work yet. APAPI url OR host and id have to be derived from repoUri. commit 2b7a22afb31074966bc3f0dab1dcd8520f422576 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 12:26:33 2024 +0200 renamed FederatedRepo to FollowingRepo commit daccaed1577c8f9e0d825ddb9c03d0dfa5be5fff Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Apr 3 12:08:44 2024 +0200 Rename federatedRepo to followingRepo commit d240a9bc90265ede91bdfb74c5a1c49c8029d796 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 10:25:40 2024 +0200 trim trailing semicolon commit 5671566df688b9fb58dc3a9e85a09b76e89b8140 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Apr 3 09:53:19 2024 +0200 adjust fed repo splitting commit 7a142c876ecc4de23028aef419953c1c11c1f351 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Apr 2 18:36:22 2024 +0200 remove federated user in case of user deletion commit 5edf7d0e61e7a0297ddb047d1068758e49752b3d Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Apr 2 17:33:32 2024 +0200 Also trim whitespaces within the list items commit 431b4c282955fd55f75d25c4fed0172a97085196 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 12:38:06 2024 +0200 optimize function commit 962cd374e2d1d932baf6a5fd260e4f841416b7b8 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 12:36:04 2024 +0200 delete federated repos when deleting repository commit 8b56159042e7f906d61a7b31b89737abf41f9d6d Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Apr 2 11:13:50 2024 +0200 prevent error when setting no fed repos commit 9212fb1633550bade7915eec98cf9c832ce582f9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Apr 2 09:03:49 2024 +0200 feedback from discussion commit b747342672bf71d3336943fbe85e9272d35603b2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 16:08:29 2024 +0100 separate collecting activities from sending them commit 2ad685fd2ca1c126c2e3ef7e1f55cd4b1ff15efb Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 15:41:43 2024 +0100 fix like target commit e2b11b93bc331a018dd6f7d3f8fca20769a7c458 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:21:40 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit fc8e2b3f8af70b626e2851acfd7e2f3b3e166f48 Merge: 4d5c8b5563 7f19247b0a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:05:35 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 4d5c8b55634ee41b05be0cb8a2f099de7502d068 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 15:00:55 2024 +0100 refactor services commit 7f19247b0ae6ef37ed57b4686d8f8a67ad57728b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 14:27:50 2024 +0100 Moved sendLikeActivities to federation_service commit 1ad7bdf98367c9dc448f5299f81b18e78d3b344c Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Thu Mar 28 09:36:08 2024 +0100 fixed tests part1, one test still failing commit d624ebb7128c953a95ba91aa1b865b911d643730 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 08:13:00 2024 +0100 use doer coming from api commit 992fbf6898a388142746fe5f4ad7261c7a2003a8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 28 07:44:22 2024 +0100 comments commit 259c0202c71714c8564b257fc7e36af59df74119 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:56:32 2024 +0100 fix test & add some review commit 8eae48761f3ad63b46b58a2e7cbc3fffd5171f10 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:26:55 2024 +0100 add some pictures commit e75bcb2f8953fddcc621dd105852420f39ff3bbc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 19:02:37 2024 +0100 rename file commit 97b5e0da9191bbbc5b299bb13fc260ea94614f92 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 16:20:33 2024 +0100 revise NewForgeLike Also added new test, which still fails since time.Now() does not match commit 911e916a4fe4a426690ca2920623d8f24cd65218 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 11:33:00 2024 +0100 Added new blog post commit a2a5956d7932aedf1ba90d0940f2d63596095759 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Mar 27 09:29:23 2024 +0100 Added context and choices to new adr commit dd37e3a7b80f74726691659e8a7957569c1c7128 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 08:25:16 2024 +0100 wip commit a950ba4631c46462d86a138dc676b557641ef8fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Mar 27 08:21:44 2024 +0100 prepare state of the month commit 84f73d9db810fb152dc401a8ac74d96e717be2dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:56:06 2024 +0100 Add ToDo commit 01e9853161ce3dbbe35a76e173872a024fa73741 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:54:55 2024 +0100 Add ToDo for storing federated repos We need to check whether federated repos already exist in db. This way multiple repos on a server (forks) can have the same federated repos. commit 45cddb4ac7f4a68320519ff88779505704b08e75 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:53:02 2024 +0100 Add logging commit 436466dcade0f919ff60f12abb41fee0f250abbc Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:21:28 2024 +0100 Check if federation enabled in StarRepo commit e9bbdc678bdd730c2c13ccd7ad2ec517ca980b7a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 16:21:09 2024 +0100 Not using object URL commit 04f907c8c8cf4e952ed6975338622d8bf8f27906 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:55 2024 +0100 Revert commit 32d457f9a3af222309f15d9f41f4859399a84b1c Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:36 2024 +0100 StarRepo Wrapper commit 0b8aa3105ce8677590b17b6289412ae84d181829 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 15:28:11 2024 +0100 Create object manually commit b2105de36f64cab816168e82cfa375cde6068081 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 26 14:39:25 2024 +0100 SendLikeActivity to api It might not be a good idea to start a possibly long lasting http call during a running DB transaction. I.E. in the case of failing transaction we already sent some data into the world which might not be valid. commit bbe50963079493a5ff7f8e5fba815c3cec756428 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 14:02:30 2024 +0100 fixed circular dependencies next: fix post call error commit 7f0371056e637fb64f8c115f5aac2aa81a67959b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 10:23:14 2024 +0100 moved functionality import of forgefed causes circular dependencies. This has to be solved! commit d251fc261168a2e7ceffde77cb763c9c0727a4c0 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Mar 26 08:28:22 2024 +0100 set federatedRepoList into context commit cf8a30efac4e90b521d73debc6ada6018e5a99ac Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 26 07:58:04 2024 +0100 mob-next: how to store port & schema commit 5b8173f660da8517f66a9f8c36262505d53d8aae Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 26 07:36:09 2024 +0100 do not return invalid result commit 6d814447d09d6723f5148bb879891544286e8f10 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:52:39 2024 +0100 Use Plural commit 653ced55965b7ef111fa381030864b7fb509454b Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:47:18 2024 +0100 Validate before returning commit 35d3fc199c46d11090b18836062fca664f11d202 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:35:35 2024 +0100 Rename to StoreFederatedRepo* commit ca7d1c6f78bce9d9be1d1d5e763aa295fcdfc717 Author: erik <erik.seiert@meissa-gmbh.de> Date: Mon Mar 25 16:30:02 2024 +0100 Localize error messages commit 828e7a76f6b3a16552cf1d3ba7ad0fcbd1c493a9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 25 09:15:32 2024 +0100 use new table to populate settings commit a9d18e5327d13bb874c90a06261b78891c616a41 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 23 17:01:25 2024 +0100 fixed issues, store now works commit ce317c33cbbe408cb5e6885dd342d2ffd89d9ad4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 23 15:27:45 2024 +0100 fix context commit 950dcd959ebc05ef0f0825f787d0890953b7a067 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 20:14:20 2024 +0100 implement storage of federated_repo commit 6b767684a775485dee0a619a6237abef54fa58c3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:51:20 2024 +0100 Add discussion ToDo commit 0f27f0a05ba3d89af5e75dba68829ff12d449e10 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:49:29 2024 +0100 Add discussion ToDo commit 0f9d1c80be7cb169fca6198d42a0927f24161a01 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:42:38 2024 +0100 Implement CreateFederatedRepoList commit 36c0c1c3c1994ea9f05c3f5725b9c582e84ab37f Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:41:59 2024 +0100 Add DB functionality for federated repos commit 288dda282c813d1264aa0db0c0b82b3d71bed15c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Mar 22 17:41:36 2024 +0100 Add more ToDos commit 508b4deac8e4e974bc96678fd5b8e45ac2255d4d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 08:37:06 2024 +0100 add test & fix compile commit 4938d38e39ba47ba5bbc338ede7f3a1dafb3680d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 08:08:54 2024 +0100 more review commit 9ccad50b055191088684cd594e45557450406f36 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:52:03 2024 +0100 review commit 7316108d56484a630e343747793a0f8059264bbf Merge: 7e355986f8 3e6eb255b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:32:30 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit 7e355986f81edf44ca5a3185da7b90a545a46681 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 22 07:32:22 2024 +0100 fix wording commit 3e6eb255b357e25f040e640542e3f5e578c72c44 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:29:13 2024 +0100 WIP Initial, naive implementation of sending stars to fed repos Currently no rate limits are respected The mechanisms to use the Federated repo table need to be used commit 0c6c43003cbf5a7156d34e501890b799aeccfec0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:27:35 2024 +0100 Implement getting APAPIURL for repo and user commit ed256ca540456a577ee40a76c8536e2acbae14f6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 16:27:08 2024 +0100 Implement NewForgeLike commit 2e0584bdf34cae80827d48b38ddb5b4e80de4104 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 15:37:37 2024 +0100 Clearer error message "May" is also interchangeable with "could". "Should" fits better in this context. commit 84f2aab570e73f69f031757dc74030b9479c4d03 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:38 2024 +0100 Add todo commit 42a41ce2bca1f3e82d1f288893458b3bf1195c5f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:16 2024 +0100 Remove todo commit a02ec0363bfc0b4f32e2eb20e32a15a41c7f5aeb Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:42:04 2024 +0100 Add todo commit e4242dafd931bc64cbb1359010f8641358972e11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 14:41:11 2024 +0100 Add Function description commit 689837b63a25d003f8977de01ce0001ed60a26b8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 12:59:59 2024 +0100 Fix typos commit f327c0da24eb8427532aafaa6a263166b2af9ab9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 12:18:29 2024 +0100 Cap max size of federated repo list at 2048 bytes commit 6055b4fca0d90c952591f3d5a519b8f9d84a680d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Mar 21 11:42:12 2024 +0100 Add todo commit b4bb41e0e3ebe05337d003a8b034be8312ab4a98 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Mar 21 08:25:40 2024 +0100 introduce federated repo commit 3b30c678e76947547d6997cfafdf57893cb559d2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:22:35 2024 +0100 Remove ToDo commit b6035c03ae43c331ddae4e76f0fa812adc810c68 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:14:54 2024 +0100 Rephrasing for clearness commit 2e803e10c0498f304eb07fb4a51f7553035bd77c Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:12:42 2024 +0100 Do not use binding at this stage It wasn't clear how to utilize the "type" field in the .tmpl for our purposes. commit 13bf84e89e590ae1fa2d5ef0a96342d94f5a75e4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 16:12:20 2024 +0100 Implent checking for list of repos commit 3dda92b52bd1f27f5e7d8810f15a43f7dacca402 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:26:46 2024 +0100 Update Locales to reflect changes commit ea4471d0dbcf8af062abde4e2c6015cd7c9b2325 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:22:56 2024 +0100 Remove ToDos commit d1190423bb9ff800c51401090684fc2da6d752a9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:21:17 2024 +0100 Implement single Repo validation and saving POC commit 1cbd5e33cb2dc09a3676de120118826a4cbca75e Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:16:53 2024 +0100 Validate Federated Repos Field Considering this from a POC perspective we might want to avoid misuse of this field. In other words, we want this field to be used as intended. commit 584af0486dd8c91707d9f7640bbe85db189c61e2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Mar 20 13:13:23 2024 +0100 Add Federation specific URL validation commit 41da150fb3bd2fece58c7045e9d08388a3af3c8a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 19 19:28:33 2024 +0100 add review comment commit 84f236a58d1cf0049662e8776ecc5d249a2ed2f8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 15:30:56 2024 +0100 Add more todos commit 884e38bdab96f0e73fc0074c9ba502bc11928641 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 15:25:52 2024 +0100 WIP Implement proper saving of federated repo urls Added ToDos where relevant commit 933727433423230c06106cba88f18e7ba370c0a7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:56:12 2024 +0100 Revert to input commit abc7aa097222d3b746828777ac0f0bf8a32f8d91 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:53:00 2024 +0100 Display data on text area commit 048ff5da1192ac2076338b7dc4250f3ab7b95b11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:52:14 2024 +0100 Fix typos commit 4c1d12b2e4a806692c37f18957cba52ce433bc1e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:52:00 2024 +0100 Use textarea as we expect lots of input commit 09cac163e09285a5d066daf73fab26a8910c17c9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 13:17:27 2024 +0100 Add a field for listing the federated repos commit a6d45f8b97545fcf4818e7559280707cee7c983a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Mar 19 11:56:25 2024 +0100 Implement FederationEnabled function for templates commit 26eb01b509f59b8fa3bb5b4ee310f86a412b304e Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Mar 19 10:25:20 2024 +0100 corr var label name commit 3018769d267377ece757e9dadf999f4698ac9df0 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Mar 19 10:05:31 2024 +0100 Federation settigs :: set label name for internationalisation commit 6901ae4b999ba489a227866c7a0bf6d94a39c29a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Mar 19 08:29:57 2024 +0100 wip: found backend for settings update commit 9dcdf8d828508146f4c9ada70ac692f3dcd212d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Mar 16 12:46:43 2024 +0100 Locales, field & action commit fdcff3cc43771175f396992ea3b0e64d46eb6805 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Mar 8 18:25:37 2024 +0100 found the template for frontend commit 93d7de147b5c263f8f9065eb4efc59c84dc98bed Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 4 13:57:33 2024 +0100 adjust to new dev-model commit e41fa653d9d2e6badab93f53e04c0ff5db9743f5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Mar 4 13:43:16 2024 +0100 fix en name of score :-) commit 0e73dfccbb7ea917f0e7090c48ae9f97ad780a70 Merge: e2ca63ca38 db2f896264 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 14 18:23:15 2024 +0100 Merge branch 'forgejo-federated-star' of codeberg.org:meissa/forgejo into forgejo-federated-star commit e2ca63ca38e695f74b61b454c7ba13939321f897 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 14 18:23:10 2024 +0100 Add Malicious Controlled Forge - kudos to gusted commit db2f896264d59c3c481f12c7552fbd1dc68ba22b Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Tue Feb 13 11:09:31 2024 +0100 small fix by adding id as pk for FederatedUser commit 086c66b06a565bcc6ba5fb97bb6092d7bea1dfd0 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon Feb 12 13:07:15 2024 +0100 make tidy commit 2e41fe0a466bb93006655da338843a9227f2ea59 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Mon Feb 12 13:00:47 2024 +0100 fix import commit d65cd5a17a73a95db96504d53d6d4d61b8f616f9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:55:00 2024 +0100 ActorID gets source type from NodeInfo commit 181d743a8a521c43a26b4135c4bef41057a76aff Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:14:29 2024 +0100 update copyright commit 9662aee375e358b9531c30f17fb6cb453046a7a9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Feb 12 10:14:16 2024 +0100 reflect hard fork commit 6e6813a88bac34d5adbe0aeccaa81ef2fed0400a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 18:17:40 2024 +0100 make operatorid unique commit 6d17f459867ac3d6a0b0945f24b5255ecbe3a2e7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:56:17 2024 +0100 fix misspell commit eecb9b8040386747c2588ca9ddfe10f2800a8567 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:46:27 2024 +0100 fmt fix commit 664144930ec16f8374829f7cb8a0813679bc90c3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:10:59 2024 +0100 result of lint-fix commit 5fa62287d648b09ed3a7886dc929a08de8fa345c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 17:00:21 2024 +0100 undo rebase conflicts commit 3ef57385ec32ac63eb8d1e0e80a64de1c2cfb83f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 16:44:03 2024 +0100 fix linting commit 3b244d673b18157b66192e7ef4245cd25b7a03aa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 16:24:51 2024 +0100 small fixes commit ac82486a95a583e6cd190e4222dadedf50a71663 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:31:58 2024 +0100 This months blog commit 8917bfca0c84cbb57ea64ec732ed95fb4a8125c4 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:12:49 2024 +0100 add a arch federation overview commit 94937abc043b4e20942fffa22e4431ca1e19f1d9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 9 15:12:26 2024 +0100 Source is no longer needed - see adr-federated-star commit b2cc848e7df5b512b6b2dfd0b5b6914220b9d890 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:31:02 2024 +0100 clean up aliases commit e733809ef2c131847f8c40aed9fbd14570a55526 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:16:37 2024 +0100 symetric handling for value/reference commit d2d5e84977c209bc0e42120e7bc326881569372d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 15:16:02 2024 +0100 federated user is not entity - so no need for ID commit 91f7541addd573b3608cc36c63f03d994734bde7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 13:31:27 2024 +0100 refactor for semantic and cycle free deps commit 66bc7a9a0c4650727b2d8fc36619c028511f21de Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 11:09:55 2024 +0100 Search federatedUser instead of loginName commit e44be722513aaa1695b97b0b88898959abfbd888 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 8 09:56:49 2024 +0100 Add tx around user creation commit edf7f61b8325f98c26fad42e7201cb8de76e187a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 17:11:43 2024 +0100 mv federated_user_creation to user package commit e18046776049ab83b2340176ac781831c14f609f Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 16:42:40 2024 +0100 added user creation from ap commit a702da69ccf59fc91c94730dbcc25dfa17f33e2b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 16:12:23 2024 +0100 added test for federated user commit 67f3f66be481afbd6b85baef1cfb9249d3b0be60 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 15:37:48 2024 +0100 Created FederatedUser commit e477181e23af05bd1ecfd9704f937e7dbad518de Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Wed Feb 7 15:03:21 2024 +0100 fix typos commit a1ca7e958af8eddc51255f41823e4ac58da6e686 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 14:59:39 2024 +0100 use local fqdn for generated user email commit 5a7f6f15a6766447e6a270779369942c344d9a98 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 14:30:17 2024 +0100 ensure federation info fqdn to lowercase commit e05c810823baece8ccc0b9758d759d3709abdd3d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Feb 7 13:52:25 2024 +0100 document usermapping chosen commit e255f737311425fd3de22dc58472e900b431b8e1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Feb 6 13:30:09 2024 +0100 make class diagram more accurate commit 7db83688db1852467381cfedd00383792d102c9e Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Feb 6 12:45:33 2024 +0100 updated rebase process commit ed99dfa99370f903447fa29cb05d1722ea511593 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Feb 2 17:25:02 2024 +0100 new threats thx to gusted commit 56660e3a0bf21c548e13210538da54ebdcc6c609 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Feb 1 15:48:56 2024 +0100 add aspect resulting from our discussion commit b02b8a307c7c1ff0a0bee3942ea8b6c9f63c6fe0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 28 12:48:44 2024 +0100 fix wording commit c45e726383d73fcfc8dfd302fcd4de3357b54318 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 28 12:43:56 2024 +0100 fix wording commit 5ef823e3afb1ee24d111de6e37077c8f7d534117 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 27 15:03:37 2024 +0100 adjust urls to changed username commit a08e435a1e096a89f0f4867aa2b49343421c30ba Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 26 17:16:26 2024 +0100 updated rebase instructions commit 6b14d1a5627d38572e45c49b5779db8105627e13 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 26 16:13:55 2024 +0100 updated rebase instructions commit 49b014f28f39ac230633d77ee09db76602f8a523 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 19 16:33:59 2024 +0100 add reply attack to blog commit c58a995fb24bbffa5545e751c106b29f37efb6d6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 19 16:26:16 2024 +0100 refactor FederationInfo -> FederationHost commit e926ea16e276b6ca7650711165b4084679d1137f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 20:06:56 2024 +0100 improve english .. commit e1f27a950cc5b8102c51d247dfd78f9a45270202 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 20:01:22 2024 +0100 improve english .. commit 2c55c0252fa4c240f3cf7595aefadc5c789bc2f6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:48:36 2024 +0100 prepare discussion commit 2b5360a000b2a66ed42fb5ba76eeb9494c3e6409 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:20:15 2024 +0100 work on adr commit a6b7cc8e7004691c1bc6250ee955501daaf8afe8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 18 19:20:02 2024 +0100 update needed modules commit 0453598e3d800b6ac25247b57fb1f59dff6f2ff2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 09:31:36 2024 +0100 add some todos commit 48c6d62e47b84ae6408fc59b17780c84f12b7dda Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 09:31:27 2024 +0100 blog: newest on top commit c6981cdbf697c90e2d43d25522989a8a6b602df6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 16 08:28:12 2024 +0100 proposals for federatedPerson Mapping commit e2291fec1e9af8efadd346da845cbc8a1ac3e9e6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 15 08:12:40 2024 +0100 think about federated persons commit 5a88eef78e63bc0222a04bf3f7dd23f4e69a2704 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 15 08:12:26 2024 +0100 Propose the current solution commit 0ddc2db46ad04e610e27d4ddd6717c0dbfe49ad1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 14 14:53:00 2024 +0100 mitigate Block by future StartTime commit 1b35bd2911faf3cb2a5ccad599db90d4dcd2e945 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sun Jan 14 13:03:51 2024 +0100 lint fix commit f25eab35fcc880d387b27cd0316d956be6350f15 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 17:16:43 2024 +0100 Update for new implementation commit c4eb763f4a5ff1b2beeb6fda8d4c797e3a2ec1d0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 17:06:40 2024 +0100 lint fix commit 9a9ac337661b8d39a206d48f3b599cfa913b9cd2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 16:22:49 2024 +0100 lint fix commit ca5eaa8c6b53031c9ca7f124788f2d2bb09ac70d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 16:08:12 2024 +0100 introduce FI Factory commit dabd773f6b0dcbdcf9dfa6e159d5c25c5850176b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Jan 13 14:17:11 2024 +0100 Fix error handling & add timestamp check commit 40ec0490139db1c983291098350ad7dbe9ed253c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 18:12:22 2024 +0100 add the next todo commit 7d30d14c76af74f22b47f4d07224d2a09b539bde Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 17:49:07 2024 +0100 breaking struct adjustment commit 1f989f2ecd523084fd49b04a9ba9db5387c35fdb Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 17:27:52 2024 +0100 Added FederationInfo Create function commit 380d3db0bf83ef10565e4a9087ac37d458f03675 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 17:00:17 2024 +0100 integrate federation info in api call commit 52400f7978a9e1eff8284eaf203d950a1e1ee892 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 16:12:54 2024 +0100 Added FederationInfo get methods for repository commit bbccc24ed1ea2c3e5f6bea1970649ac8df45daf6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 15:34:34 2024 +0100 test federationinfo validation commit 9c37272ee9493eba835809f21384da51f97b8dd1 Author: Clemens <clemens.geibel@meissa-gmbh.de.de> Date: Fri Jan 12 14:57:22 2024 +0100 make validateNotEmpty more generic commit c67be3b6681df86d076ce59f176a70c64289dbd0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 14:35:43 2024 +0100 start work on federationinfo commit 8610d94af8cb9015c5b93d382dd1afcaf201574f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 12 14:33:52 2024 +0100 start work on federationinfo commit 12558d62c86d9abd3c4125d5b1b858156b19b92a Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Jan 12 12:43:14 2024 +0100 Remove MaxConnsPerHost limit for outgoing connections commit 87bfa79f71593975a1fa8318aaf519739f479f00 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Jan 12 12:29:00 2024 +0100 Configure client against DOS commit ecf391dcbfbccc4bf67ed15e33c555f20ca78928 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Jan 9 09:14:52 2024 +0100 add some user creation unittests commit de2569618c51046464e22fe7c6a3eb2a80062413 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Jan 8 18:21:55 2024 +0100 fix: wmail should start with char commit f0af660cf9b58d4831e3fa43dc982df2b162800a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 18:19:46 2024 +0100 give names to threats commit a8b132da80bda85948164d0bb993ef6acd865b22 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 17:43:18 2024 +0100 provide the next testing commit 2d98b226046109067ef8ecb7ce0ef940e507f92c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 17:11:20 2024 +0100 blog the next test release commit 0fac86a384565e4276904b386a7ddd23b199fbdd Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 16:42:57 2024 +0100 update to new star activity commit 42eab2d3046c36c0b52afc9b47e7be669c9e51e5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 12:03:36 2024 +0100 add test-release-branch commit 680213b4799a05f8f5ac1189a5bc086abce192fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:43:52 2024 +0100 translate scoring commit 1fc1dda59d6e6645eaf9d9079496acd21fb06894 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:40:35 2024 +0100 Fix wording commit b978642da07811ed9376f259f2850d6d6185b5c6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Jan 5 11:34:32 2024 +0100 improve sequence commit fe9f26305f7b90173457adf5c01ffe1ec77da363 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 4 18:25:43 2024 +0100 update ThreatAnalysis for Like Aktivity commit 6e467390901f6f7709333e558e156ab1ef79613c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Jan 4 18:04:46 2024 +0100 validate person commit 0505baab2b93be6038d496518826799afb943ede Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:52:41 2024 +0100 ad validation for like activity commit 3ab2d9a449cdd4430b0791b21ac9669fd2313bbc Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:29:12 2024 +0100 rename star -> ForgeLike commit 4473fb788ae59eb7c42f920d3038db2dce30e5b7 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Jan 3 18:10:24 2024 +0100 start refactoring star->like commit 38438b592f3223c2b22e594dee5c3995bec1ea4f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 18:09:27 2023 +0100 rebase conflicts to fix commit f673dd1ca763daaa0f8d16ae1e75615ff4a1bc11 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 16:31:52 2023 +0100 source no longer needed commit 084eed82a4e3a4d36c2c6a6f14b169aacaa735a0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 16:30:58 2023 +0100 use federate-repo users for our local test commit b2a9b530419a67912168f4314e5d6cb147734100 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:54:13 2023 +0100 use nodeInfo.Source instead of startActivity.Source commit 8116214727879ca4316ae2cba9675d7170f021f1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:48:45 2023 +0100 introduce nodeinfo commit 587bd07372af9c76978823ed4db97a193d8302a2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 15:48:31 2023 +0100 mv more fkt to http-client commit 310d740cee06047cca2ccac50280819cef190640 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Dec 29 12:10:07 2023 +0100 Start NodeInfo implementation commit 3c2493902d09416370b4597241b6fc2f1b89eb33 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 29 09:43:10 2023 +0100 adjust to ugly linting commit e704e5adccdeb8f50b205376166434e2206ebb11 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 15:10:21 2023 +0100 adjust to ugly linting commit 1e40b814a1c4b3e7ed67efb893e116e70892c0ab Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 15:00:42 2023 +0100 Linting commit 8585edc47ab5a73318775d2d64ad4d2fe2b465dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 14:52:10 2023 +0100 Linting commit 7d78fb8adcccc02b84e23ff3948b57493fb9eb28 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 14:47:34 2023 +0100 adjust to ugly linting commit a64ce2feb1e612797a0c2beeedc9bcb4cc6909fe Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 14:20:30 2023 +0100 removed resolved todos commit 2e031a976319c177e107c717dbb442a970674e39 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 13:44:45 2023 +0100 WIP Generic IsValid for *Id structs commit e69e5df08975dd2dc838efb93eaad71a9d0985d2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 13:42:07 2023 +0100 Assume validated url.URL for NewActorID commit 6e4467d49db721ad1a9866fcd10522a43b99883a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 22 11:48:24 2023 +0100 experiment on generalization commit 75cc5b900db83dec982896e8b794fda3433899a3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 22 10:19:01 2023 +0100 Add review todo commit 1dd3084f6654d4894bea521bdb69b8476431d0cf Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 15:01:49 2023 +0100 Split test according to actor.go commit 48cfb521d12193f552079f394cdef35f1911212f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:22:42 2023 +0100 Add suffix checking helper commit c887bddb72204430718e47aeef92623a4921dc58 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:22:23 2023 +0100 Attempt generalization of Id creation commit 15775ad891755794d0077356ed8780374e3c52e4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 14:21:47 2023 +0100 Fix import commit 715afb24681707b34f1235b4f4b734b03c60b7d5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 21 09:30:07 2023 +0100 Add newlines for readability commit fff4c3f9fc775199591c5acce809b7dd9ce2d76c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 20:12:31 2023 +0100 fix typo commit 5317832fef9b1af824c60724785627922b9ff347 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 13:04:40 2023 +0100 odd one mor picture to the blog commit 433a38699ab2ecfcdd12dd3c54c0f65d45ce7396 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 12:55:28 2023 +0100 improve test description commit 65e3f1d0ed03b296ab6380a00c332e102b8b6162 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 20 09:33:29 2023 +0100 update adr lining out a second option commit 4d1492831ddf2aa352bada98f45ec90a45f81c59 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:30:22 2023 +0100 Move char_limiter to utils and rename commit afc9acd9251f62763cd56c888d57ebe9a88031f2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:23:13 2023 +0100 Limit number of characters on body log commit 3363b3bf0c374d04e3f8317bebd52fb80374be14 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:22:03 2023 +0100 Validate response before further processing commit 2f4b1a5cd4eb7a6281b48713a3d31f270ceb76ef Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 12:20:41 2023 +0100 Use id of existing repo for convenience commit ff146a9430ab59774b63bf8728f7f1dc320f0bb8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 20 11:27:44 2023 +0100 Add review todos commit 071b47b8d0a710712e6c106decd33bf7f0f42813 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 12:26:55 2023 +0100 Catch edge case: remote user does not exist on remote repo commit 0378b2dc7d546ce3707ab245073221b9e1128a82 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 10:55:30 2023 +0100 Add questions for review discussion commit 8a8b6821bacef4c0bffc0e39b8e49e630ffc8fe9 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 11:32:57 2023 +0100 Fix bash code block commit 3327fbc39adcb09934afe33e0529271708fc5740 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 19 10:19:35 2023 +0100 Fix typos, small rewordings commit bd640a70994458409665e8ec0be89387a7fbe7a3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 19 09:21:23 2023 +0100 add some pros to the source field commit 70fbfd6cf3c8239e16bec5eb3368738366d344e5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 19 08:36:02 2023 +0100 reflect the discussion with kik commit f636de050aaed3967adc512e719090e610b9f24c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:47:39 2023 +0100 some improvements commit bc7515fa317ae68ff3cfd1650ec4ad62a8c98114 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:45:14 2023 +0100 some improvements commit f9bbb91f114a26e027006c2738a03ebc4385a3b8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 16 18:38:31 2023 +0100 expose instance for tests commit 1704ac5bc2ca98bbc36bee695ec2f9122a5389cb Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 16:02:50 2023 +0100 fix most of the tests commit 9e6c45f87d7956e75b8fefbc3829806db7907c44 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 15:37:00 2023 +0100 make flows more precise commit e1d7db178cb1aaeae9194eb29e62a24ba6ebc5e9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 15 14:45:20 2023 +0100 unify logging & minor improvements commit 42854c900333f8ad66689436f793899768900689 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:49:23 2023 +0100 remove global actionUser commit a0c008b880ff92a39c5964b6cf8567f658dcd759 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:44:11 2023 +0100 cleand up user creation from ap commit 6de8fba14d85121fff249b080c2cca30d9db7289 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:06:53 2023 +0100 minor refactorings commit 44e10ed65a116aac0c4150df03e0cedb5445a8e3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 13 16:06:37 2023 +0100 get wo body commit c2a42587d2f338c85d341b40b0bc6206bd4adb23 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 12 11:08:57 2023 +0100 remove panics - that is not a exception replacement commit b27460d3fe225ca0f73211bc307023d6fb24377b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 12 11:04:03 2023 +0100 minor refactorings & reviews commit e893618cdcb07d90aa84c4f4f19fa83ab5b0913d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Dec 11 08:14:18 2023 +0100 add more threats commit 9633a2005a8e64e48778d505f88ab74cd373e90f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 19:23:48 2023 +0100 add a sql injection threat commit bad8e04c3c7a8bf7036c5db480352f79a18b0cbf Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 19:11:38 2023 +0100 cleanup & minor refactorings commit 3172eb69d2e5e1596be675e72b42deab2e7763b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 18:30:47 2023 +0100 introduce RepositoryId commit 1fe35e14a57dad5d1cdba945ff627ce844b9ae46 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:53:40 2023 +0100 mv our actor code to forgefed commit abdf56dde1ed2402f5911add9d0888be4d3b432f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:27:29 2023 +0100 move forgefed to models commit 0b2cf2a55bfabd63d873f22d8aa1ee8512309438 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Sat Dec 9 14:26:49 2023 +0100 remov unused experiments commit 184388015da525d50dec8425a2e58af4ea8a5843 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 20:51:54 2023 +0100 added more tests commit b5a467e94d2312b6971cde91b0f6b4c1e2fd6402 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 20:37:26 2023 +0100 remove unused & implement webfinger commit 73a38ea0d1c2423fb67579071a703e8eeda09e20 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:52:09 2023 +0100 use new factory function commit e8371ca94c1a34dc9eb68b573f215bec2ad23ae2 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:43:49 2023 +0100 ActorId -> PersonId commit 3151c8fe81a3fe97935319371e0abdf60d7c144d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 19:41:22 2023 +0100 make validate more compact commit be4d3544aea5fa4a9d73b9ef2a58c1d54b2cb629 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:33:26 2023 +0100 Refactor ActorID -> ActorId commit 7c86f13728763d66700c2b24b5fdb686d2edb548 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:09:22 2023 +0100 make route more compact commit afcc7f0def5e8088e54a18ee9d5f37d8f1730f3f Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:08:54 2023 +0100 factory instead of parse & validate commit 6fef54ed1c73d53655fb9fefd9f16d36db7c6689 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 8 18:08:16 2023 +0100 there is a validation module commit a10a9141f820199c00750e1c9765f0a981b74901 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 8 15:44:00 2023 +0100 Remove useless call to repo, add todos commit 3c515c2614350554199701924be4e30688c9e997 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 8 11:54:07 2023 +0100 Add review todos commit 22d71e6b30cf1efd540e29276fd53d5e73f03890 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:53:37 2023 +0100 Update ToDo commit afe659f9f48cdc34f51edb92fc65ba65763bc56c Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:54:07 2023 +0100 Implement 5s waiting commit 745598bba4ea70743fb284e0d6886a58777729fa Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:24:01 2023 +0100 Implement starring commit 976256bf3d8ea4e9fccabe2e0c9011e582ad1106 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:21:26 2023 +0100 Refactor if conditional to switch, use split up functions commit 75ee273f40efa916977ac65964c2ecf1d3db0415 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:18:33 2023 +0100 Split user creation and saving user to db commit 7f4667696ff48050eeb05eb0dafe352bfbed57d6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 13:17:51 2023 +0100 Cleanup imports commit 6ad52a6d67d429577f58bbbb1bfb763ac0216b2a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 12:03:42 2023 +0100 Update tests commit 25d34e0c146a6f71f66be52d96fb7f10ce3b8ccf Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 12:03:28 2023 +0100 Check for empty path in IRI commit f84e0b27e1a71a4fc0606d81ca163a69935d4f98 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:45:24 2023 +0100 Use ValidateAndParseIRI, pass this to ParseActorID commit fa1acd1ebb895032705572b513e9530cb511aae1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:44:59 2023 +0100 Extract url string validation and parsing from ActorID parsing commit 4d3ab4dda2e628c63b54ffec02604f8d7190eae0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:24:47 2023 +0100 Update Validate() commit 39d4c8dd2df7d6396ec03da626176ed8fadc2dd5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 11:24:27 2023 +0100 Generalize validate_is_not_empty commit 085db0c1279ffdfe3c4f940aca8520fe57c67f71 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:51:58 2023 +0100 Remove todo commit 54ef78034edeb88dddeef4b27528c72077d2ac5e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:51:03 2023 +0100 Don't parse received repoID commit e3defaa212192df79af7d1be10cfa4983295d982 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:44:35 2023 +0100 Split getPersonByRest function This leaves us with two easier to read functions, encapsulating two different functionalities. commit bdddde8b68c5893dd4caefc8a30703b26fa7327f Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Dec 7 10:42:05 2023 +0100 Fix erroneous param and deprecated --name commit 28a290da10f029018a359eb9c4133deca54e7c04 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 6 18:32:26 2023 +0100 reviewed current work commit 02dc8901af20637c476e04778403c2fad3a31b90 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 16:14:50 2023 +0100 Fix tests commit 68cd621053350651464c907901e246f49aa9c4dc Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 16:14:39 2023 +0100 Test for empty string commit d27cac5bae24f3cfbf4f1b4dce178dbf2717e4a7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:56:26 2023 +0100 Move federated user creation to func commit 01506f9836c612c0fef758d02dedfeacf1c5db15 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:50:38 2023 +0100 Clearer description commit 77b6402e7791921f735e2fbb6efae4a7e267d0b2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:37:58 2023 +0100 Add missing error treatment commit 946e5cf34cc557106492b7b12c750ef57928860d Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:37:14 2023 +0100 Remove typo in func commit c0f1681fa3a939be6fcf789c06687b837a673803 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:16:01 2023 +0100 Allow parsing of repository-id too commit 4f25e5057a8db1a7b0b23b88ed739ca9c320e06f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:15:39 2023 +0100 Make the source an argument to the parser commit 2fb893843bfaa4f0cfb2d42a4d7d2d38e8c718ba Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 15:13:53 2023 +0100 Move getting person to own function commit 6d143e74cfd4f1201cc7438758fff9956f08f15f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 13:36:26 2023 +0100 More clear distinction between sender and receiver of star commit 52e950a492a39f15894510c8917cbb9fc7f1983b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 13:06:30 2023 +0100 Check the path for empty strings commit 65f7124c67898ce34c8975f8544968f2690b5508 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 12:05:47 2023 +0100 Use u.Hostname() instead of u.Host u.Host returns hostname:port. commit 27c9db1027a3d11d7084df5ebc5e4fb8903bd231 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Dec 6 11:24:42 2023 +0100 Better function descriptions commit 9b5d8bbedae035047cec50776f98bd933f76ce76 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Dec 6 09:07:09 2023 +0100 If we use user.loginname to store the actor.id we can search for local users earlier commit ed1af14cebe53cbc81b5ce2c7a4e4970565714ff Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:54:03 2023 +0100 Panic on error, use correct function names commit 9dcbe0177e99766b9292d886072547f53ba6d79a Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:53:10 2023 +0100 Rename targe to remoteStargazer commit de9e4dea61a09197fdaacbbd49bdc8d5db961024 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:52:33 2023 +0100 Update todos, remove comments commit 68cc74d13974cbc820cc117840351928042add80 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:50:46 2023 +0100 Use actionsUser for creating http client commit d65e5aa70e148a8df3f0e2c95a7c8ec36a874569 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 14:49:27 2023 +0100 Move helper functions to top commit 1c145d9d6899afcb80245aebf492eece5fa7c44d Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 12:19:22 2023 +0100 WIP: fit generateUUIDMail for testing purposes commit 11e93784fea51d0459c2f87ea71604161ba388df Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 11:46:11 2023 +0100 WIP: log Info User created commit a20f535211ecf168ef7bc65d721515741e7ce3b3 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Dec 5 11:38:36 2023 +0100 WIP: pwdgen, username commit 85e09a7ada86e849a1f37213c7aeb56527a67371 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Dec 5 10:37:51 2023 +0100 WIP: Generate User if not exists commit 94880d64f4d10db439abad6b79501f6481cc72cf Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Dec 5 09:26:03 2023 +0100 higlight the need for id normalization commit 231bdb65b83944a564359367798740220b46e629 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Dec 1 17:06:39 2023 +0100 searching for the local person commit edd7fb77fd70cad1268cd8a92c03573515926d3f Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 1 15:07:13 2023 +0100 WIP create user if not exists commit 159f3dc3aa22628edc117ada6507dc4097ab3b65 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 30 17:41:08 2023 +0100 describe the current state commit 41e12d09ef7ca79803347273d3ed062605b9744c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Dec 1 11:56:12 2023 +0100 WIP create User from person commit c8456d57ff757afaf77478e71cf140740fe520d3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:10:26 2023 +0100 Add thoughts on user creation commit c61be31c72a6f6707657f142bb9b66fb3e72852d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:04:26 2023 +0100 Remove redundant person implementation commit 22ba03ae4dc01802fcfebd2b4ef2f65311e2cbad Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:01:20 2023 +0100 Don't use redundant implementation of person commit b00b5fa7aff82c419ff9a1fcd46679f36fa97981 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 30 16:00:39 2023 +0100 Add some thoughts on repo testing commit eab016e8968c8a3cf1d3caf2508ea803a3c1c9dd Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 29 09:21:54 2023 +0100 add threat analyses commit a8d5e7ba7770fca8a8a7c37d5da8bf1ffd3a8c0b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:45:04 2023 +0100 Fix typos and format commit d43c4ba739c7e733be40df59590d328c97cbbc59 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:34:02 2023 +0100 Use person generation commit 9f016d36731d3b1aa972ce5529f920aba7680512 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:33:22 2023 +0100 Move to extra var commit 7071117864bc6e1ff385fd30cbc89649d55a34e6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 15:32:15 2023 +0100 Implement Person creation commit fde8de4f906b90d766f66d925409134c69ff8877 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 13:26:35 2023 +0100 Rename to ParseActorIDFromStarActivity commit 2c4089ba1dece994afc0fd0149cce773f7ea4243 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 13:24:59 2023 +0100 Add star json with links to lokalhost commit ede86df6858a1c94b75e43af822828573c1a4f1f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 29 11:46:24 2023 +0100 Remove todo commit 7529b9da91e1797b580687a471e36f5376ba3ff3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 15:17:59 2023 +0100 Note ToDos for setting up useful tests commit e60d89cb677f1b32d6fbd5aa10f7af64e19baf93 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 15:17:34 2023 +0100 Use correct target for get request commit 0388240039925b374eb8d1a6f88192dd5aca9865 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 13:03:45 2023 +0100 WIP Use non generated HTTP client commit 4b490802d70b1898928d0998ae7021f5881a52d0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 13:03:07 2023 +0100 Test creation of client only commit 61afc65377dc06b5a6ea494fc46881898d760d47 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 10:55:53 2023 +0100 Implement Get method on Client struct commit 56d11bbff479c525b4c594734d2f041c9320ffdd Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 28 10:55:18 2023 +0100 Don't hardcode method in NewRequest function commit 8a5333128394080e3ae9a54b7267efe98c6cd4c0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 14:01:32 2023 +0100 Add ToDo commit 93d79646de1f29ada36f64b6d6d9dfa4db4d4650 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 13:56:53 2023 +0100 Fix api url commit 9568eab62af65c75f84494d4a3f65b1a74b5f1c7 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 13:23:03 2023 +0100 Fix tests commit 6284355e1e0f226b478773aa572907ae49ca579d Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:51:36 2023 +0100 Remove redundant ValidateStar and err check, call coorect function commit 43ac3ddca9f4b7ef672837ba253c4d6b73fe34cf Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:50:15 2023 +0100 Remove star validation as it happens in actor validation now commit 566b3bc4594bfbcb457a844fdd6163cbad2838c6 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:49:36 2023 +0100 Parse Actor from star activity, Update function declaration order commit 3a938b6c3f2ae936e41b3b53f03bc51da152f01c Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 12:48:14 2023 +0100 Use and validate source in ActorID struct commit 546ce5033720ab2c9cf1a9bd70f5cb0e678ee548 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:40:12 2023 +0100 Use PanicIfInvalid in repository.go commit 9566e9bc5d3b518d5a02a2b74639d5cec4beb568 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:38:01 2023 +0100 Change tests to use IsValid method commit fccf5c37cad5e2b57d6f0028fc3c38a3e488c0b5 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 11:37:29 2023 +0100 Add IsValid and PanicIfInvalid methods for ActorID commit 8300d3fbded450a19806fb110108f5b61e928242 Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 24 09:55:47 2023 +0100 Add ToDos from code review commit 34c511ae98a5702258f77e15ca7a539001d849cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:04:58 2023 +0100 Use data from actor, improve formatting commit aee2ee25961a013d8440cd7267938f2fb51cff9d Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:04:22 2023 +0100 Also log error on person creation commit 91baf2be32471779ffbf42016c519e694c48a18e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:03:24 2023 +0100 Add get functions for userId and HostAndPort commit 92c089a4e29730a9842e22ff2c69fe069df601d4 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:02:54 2023 +0100 Add a test for getting host and port commit 863b340622ffd1283eb05a02ee0731ab2888ff54 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 17:02:36 2023 +0100 Update dev notes with create repo curl cmd commit 8657f70960412922676247b1de049f2ab7cbe98e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 14:50:32 2023 +0100 Add todo commit 5efce01f6fd0c4f617553aba9111f391ad74d661 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 23 14:17:35 2023 +0100 Make test messages consistent commit ad8adc880fa60f1c2626db330ec4bb5a8ed02c9d Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:40:28 2023 +0100 Create easier to read tests for parser and validator commit 62eae6564f68bfceec42652edfddda05d8e04276 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:40:03 2023 +0100 Fix bug in validation commit d205c50a4395e648a67e5c067b3cc671d4386e1b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 16:08:14 2023 +0100 Implement generic validation on ActorID commit 7b5d13a625779c3db035ca80d0da706b46357568 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 15:27:44 2023 +0100 Split check for schema and host commit 3d2b5115ad1c904ee727f7d9cd62469fdf3884cd Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 15:25:43 2023 +0100 Implement and use Validatable interface commit 235ed7cd1e665b2ece8c8fc1790e16b069e1984f Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 22 13:28:13 2023 +0100 Rename to actorID commit 5e111f14ef54d3d7fda874129389c1c340dc35b1 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:20:36 2023 +0100 use the swagger-api commit 109dbd7d7566d6fc4fa69252c33892bd6dbe7224 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:20:22 2023 +0100 swager generated api commit 07bd30cf2011b68e67f1ca68c7c1d6e7870a37c8 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:19:53 2023 +0100 exosy has moved this package to service commit 604f0a2477b7c7e71162e54aa5e9fbb82c7def63 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 17:19:08 2023 +0100 swagger client generation commit 9e74de829ecd81f685a11a2758c43244d24a17b3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 13:38:20 2023 +0100 swagger client generation commit bc1ff23b23e582dbb1c5ad1f5839c1866312ae38 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:49:01 2023 +0100 swagger client generation commit d81647b36ef01ded6b1201c70b229cc2b18512e6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:37:47 2023 +0100 wip: swagger client generation commit a954c9764f63aa1a08e26a542a8b1dc630c3a4c3 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:10:28 2023 +0100 wip: swagger client generation commit fbff67f11a01d706a60eae4cbb813a32c90a5803 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 10:10:04 2023 +0100 add some more todos commit 5c998a5c46e9732295b54c5ae5cf7fc5bcbed714 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 17 08:22:27 2023 +0100 add comment commit 5729cee3e55f03eadbbb9d5361dacd695ec0268a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 16:04:50 2023 +0100 Move test to model/activitypub commit 7193c0bd9b037837aea2583dce3f53cc5516a36a Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 16:03:05 2023 +0100 WIP test for parsing the actor commit 0c367070aff6694290f9f3155068f7f0f520d521 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:06:41 2023 +0100 Call validate star commit b1f370657558167970a6d87edcc5c2cdd9d7a4c1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:02:59 2023 +0100 Introduce validation against source commit 78fc75135fd5287b35701349b4d846eb3ffd578e Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 15:02:20 2023 +0100 Rename to ActorData commit 09058c13c54bc63d781e4508c37f0bfe8557e801 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:53:54 2023 +0100 Rename to actor commit 91dcd59e68ed9264e356df1283534ef55897ec11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:50:01 2023 +0100 Import parser from model and call validation commit 273ca49e22e1d2938e30edfc7688490a6d976807 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 16 14:49:05 2023 +0100 Validate on ActorData independently and move to model commit e44321221ec2355edb43442d2f260ae5a32c2610 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 15:07:23 2023 +0100 WIP: Add test for parser commit ad6597667719c9a0db4e65d62aae73666c4a0a2b Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 14:27:47 2023 +0100 Reorder functions commit d52bb4bf8fc564d99baa1e9f3ee966691bf800f3 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:31:16 2023 +0100 Remove newline from error string commit b869d91dc13bacd6bd22eb0e0aa6f9738e3fb163 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:29:17 2023 +0100 Parse Actor URL commit 7541251d635cfc7fa99bf0ed38c1fc0fd1b6d8c2 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:28:26 2023 +0100 Correct API urls commit 9fa8d19cf40fcf12e8e79d14e30b021b35453eff Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 12:10:31 2023 +0100 Fix typo commit d10c1094d9d3fae550874b2b5aeec773415c2c22 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 15 09:23:03 2023 +0100 add some pseudocode commit ab928910915e9e94b562ba4bae18b454beadb447 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 08:59:55 2023 +0100 Use actor commit b085ce37a6acc4ed25e6929c3a765ca5f8a92b69 Author: erik <erik.seiert@meissa-gmbh.de> Date: Wed Nov 15 08:53:02 2023 +0100 Review commit d7abff31f63d4e98b0b173a28151667beb3aa5c0 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:29:13 2023 +0100 Add ToDos commit d2b464582f6511c67d69fa57e05ef1b9996aad8e Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:29:00 2023 +0100 Add ToDo commit e18e90f8dfa03343fb457e835c9395e514bb3122 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:28:38 2023 +0100 Add fieldname and type commit f48b4d1f556b96d0aaed9bf3a25ccd6f663c1488 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 15:27:32 2023 +0100 Get Activity field from star commit e8013250b869fdca44d30b1187bac1ace8cdaea8 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 14:56:16 2023 +0100 Add question commit 7790e98f47a3f1ab8088ad5573604b1ff47fe4c1 Author: erik <erik.seiert@meissa-gmbh.de> Date: Tue Nov 14 14:53:47 2023 +0100 Remove unused funcs and structs commit 51cb9aded0b44c3af6a3225f88adac6122c6fdad Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 15 09:08:17 2023 +0100 generate ap-person client commit 14c74f27cbeec6ea3431b4efe1f962da9cf30cb0 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 17:00:08 2023 +0100 tests are now working commit d28ea1a30b0dc8d5f3c2baf5a79bdae3dd90c400 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Nov 10 16:43:44 2023 +0100 Start implementing UnmarshalJSON for Star commit 43014ca473cfc5ca201fa917d00ddc8dee06a313 Author: bom <mattis.boeckle@meissa-gmbh.de> Date: Fri Nov 10 16:08:15 2023 +0100 Implement MarshallJSON for Star activity commit a1885a576735e61bc2602198267dd7d1ccc7f34c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 15:13:26 2023 +0100 star: test first commit 1044e44ee57910698a18f7bd10e9de2151751c42 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:51:33 2023 +0100 we got a parsed actor commit b08580280aaafc7333cb342bdcf318bd1d0547df Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:37:36 2023 +0100 np in case of unauthenticated user commit 6c1ec0545821d289b9b9a12b084f11fb680e6efa Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:37:00 2023 +0100 extract the relevant app.ini parts commit 460e2fb6444e43f6acc91ba16b4bd10917ddd89b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 10 14:10:23 2023 +0100 prepare next steps commit 5b01517c1275273218c72a6764b313fc9ae73eec Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 10 14:26:13 2023 +0100 Get data from form commit e846e8225b789e35d0edf7c121daf8f2bd23e97a Author: erik <erik.seiert@meissa-gmbh.de> Date: Fri Nov 10 14:06:17 2023 +0100 Update dev-notes commit a1e9783cec30e7c56a36cd4aa0f42fa7db3096ca Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 9 21:59:51 2023 +0100 expose star activity to swagger commit d7dfdca8b9976fd76caf43d00df14facce461e11 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 9 15:38:55 2023 +0100 WIP Add star to swagger commit 17dfc7bdc1b8d301d753c97ed13d2060b5dd7a15 Author: erik <erik.seiert@meissa-gmbh.de> Date: Thu Nov 9 14:24:19 2023 +0100 Clearer wording, fix typos commit 07cf963af3c0f23135f79157458a0042a1767454 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Thu Nov 9 21:54:17 2023 +0100 expose star activity to swagger commit dc1a82bf4cfe17cb7847270f59e185879a3d4c9c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Wed Nov 8 08:56:22 2023 +0100 use star as swagger model commit 18f4c514ec9c1704d27cfbb969290c22146623c9 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Nov 7 18:01:52 2023 +0100 add one more step to rebase procedure commit 46fb4fec8ff81cd503204ab20d8e6f0d86866c0d Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Nov 7 09:30:32 2023 +0100 add star activity & bind to swagger commit ff5a4405fd0fc6ba6a9562cafabefdc495ae6a88 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 18:29:48 2023 +0100 introduce repo from exosy commit 157effdd8f74fddea198b18a0d8cefd8d06a1f02 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 18:29:24 2023 +0100 adjust star activity example commit a0efbf7d72a003e6c6f12a85e753abe8473e9c24 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 09:27:41 2023 +0100 improve git-setup-doc commit 1f80e99857b1ba9650439eb129150151f393c756 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 09:12:09 2023 +0100 improve git-setup-doc commit cde603dd0ee8f6fc85d153f37091b17e3ca6bca8 Author: Mirco <mirco.zachmann@meissa.de> Date: Fri Nov 3 17:58:47 2023 +0100 improve git sync procedure commit 71951418059ebc0d72ab52bcb0b0b04e962c2472 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 08:50:36 2023 +0100 wip: lets define the post input more close commit 6587b6d62ba18ece1aa04c13dfcea33bf7c99965 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Nov 6 08:49:58 2023 +0100 log who is doing the inbox post commit 4e1e65e14f757bf63dff881ce7b626e05f12b474 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:45:53 2023 +0100 log repository under activity commit fe6f625923dc2690fd7d2edaa1f1962e998d0c58 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:45:21 2023 +0100 temp deactivate security commit b7082b7e9859a31229a8a998e1d61f2d0ab93a85 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Nov 3 17:05:48 2023 +0100 improve rebase procedure commit 87324d155340ae3bbcd6d35efa53b9be7c16cbc5 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:14:52 2023 +0200 ctx action should no be good enough commit 0d5702e5010fefa68bdf7d251a62fec1253b037c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:13:51 2023 +0200 fill in some minimal information to an actor commit 6ceb1d20405358b13181181b96510223d60f0c7a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 20:13:24 2023 +0200 add f3 dep commit 0572725204961bb95cf8bec6d8c594be226a3167 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 14:33:14 2023 +0200 add some rought branch sync description commit fe2a3d86d47e8ac7469cf56ce8bf2de7da6fb3ca Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 14:10:13 2023 +0200 get repo now works somehow commit da7a38b03dbd83228f3482d5cb55841f21ae5055 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 13:24:05 2023 +0200 enable federation commit 64abf87fb0df10f3ef40cbf20dd2a5e7fbd34a97 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 12:12:31 2023 +0200 added some logs commit 3dbcf34a1650d05861dd6cbd08322a8e4bc1962a Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 27 11:50:39 2023 +0200 share dev notes commit 511ab65df4fb6a662e66b3dfcfcbd8c9035be291 Author: Mirco <mirco.zachmann@meissa.de> Date: Tue Oct 24 10:34:53 2023 +0200 Fix syntax error, unexpected new line commit 154be0a6377380417caf12f74af26715bc2deac6 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Tue Oct 24 09:10:31 2023 +0200 wip: compile one step further commit 317b7fac8f92dd9890b1b2be813c30e63a37cf79 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Mon Oct 23 17:16:38 2023 +0200 wip: load repo to ctx commit 643681663fff73a0f74e892dc9f1a34743fae08b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 16:27:55 2023 +0200 add activity sequence commit 68318f263295f7fd8db8a0b6468b8f5514b5d66c Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 16:12:37 2023 +0200 considerations about star activity commit d4f507a223a4797f4e829670fe80f7712757918b Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 15:45:12 2023 +0200 remove unused imports commit a87cbda165329cd5627d00276fd7ee147e6f9286 Author: Michael Jerger <michael.jerger@meissa-gmbh.de> Date: Fri Oct 20 15:16:04 2023 +0200 add repository actor
2024-06-06 08:58:11 +02:00
err := repo_service.StarRepoAndSendLikeActivities(ctx, *ctx.Doer, ctx.Repo.Repository.ID, star)
if err != nil {
ctx.ServerError(fmt.Sprintf("Action (star, %t)", star), err)
return
}
2015-07-23 22:50:05 +02:00
ctx.Data["IsStaringRepo"] = repo_model.IsStaring(ctx, ctx.Doer.ID, ctx.Repo.Repository.ID)
// we have to reload the repository because NumStars or NumWatching (used in the templates) has just changed
ctx.Data["Repository"], err = repo_model.GetRepositoryByName(ctx, ctx.Repo.Repository.OwnerID, ctx.Repo.Repository.Name)
if err != nil {
ctx.ServerError(fmt.Sprintf("Action (star, %t)", star), err)
return
}
ctx.HTML(http.StatusOK, tplStarUnstar)
}
}
func ActionTransfer(accept bool) func(ctx *context.Context) {
return func(ctx *context.Context) {
var action string
if accept {
action = "accept_transfer"
} else {
action = "reject_transfer"
}
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
ok, err := acceptOrRejectRepoTransfer(ctx, accept)
if err != nil {
ctx.ServerError(fmt.Sprintf("Action (%s)", action), err)
return
}
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
if !ok {
return
}
ctx.RedirectToFirst(ctx.FormString("redirect_to"), ctx.Repo.RepoLink)
}
2014-08-11 05:11:18 +02:00
}
2014-07-26 06:24:27 +02:00
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
func acceptOrRejectRepoTransfer(ctx *context.Context, accept bool) (bool, error) {
repoTransfer, err := models.GetPendingRepositoryTransfer(ctx, ctx.Repo.Repository)
if err != nil {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return false, err
}
if err := repoTransfer.LoadAttributes(ctx); err != nil {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return false, err
}
if !repoTransfer.CanUserAcceptTransfer(ctx, ctx.Doer) {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return false, errors.New("user does not have enough permissions")
}
if accept {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
if !ctx.CheckQuota(quota_model.LimitSubjectSizeReposAll, ctx.Doer.ID, ctx.Doer.Name) {
return false, nil
}
if ctx.Repo.GitRepo != nil {
ctx.Repo.GitRepo.Close()
ctx.Repo.GitRepo = nil
}
if err := repo_service.TransferOwnership(ctx, repoTransfer.Doer, repoTransfer.Recipient, ctx.Repo.Repository, repoTransfer.Teams); err != nil {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return false, err
}
ctx.Flash.Success(ctx.Tr("repo.settings.transfer.success"))
} else {
if err := repo_service.CancelRepositoryTransfer(ctx, ctx.Repo.Repository); err != nil {
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return false, err
}
ctx.Flash.Success(ctx.Tr("repo.settings.transfer.rejected"))
}
ctx.Redirect(ctx.Repo.Repository.Link())
feat(quota): Quota enforcement The previous commit laid out the foundation of the quota engine, this one builds on top of it, and implements the actual enforcement. Enforcement happens at the route decoration level, whenever possible. In case of the API, when over quota, a 413 error is returned, with an appropriate JSON payload. In case of web routes, a 413 HTML page is rendered with similar information. This implementation is for a **soft quota**: quota usage is checked before an operation is to be performed, and the operation is *only* denied if the user is already over quota. This makes it possible to go over quota, but has the significant advantage of being practically implementable within the current Forgejo architecture. The goal of enforcement is to deny actions that can make the user go over quota, and allow the rest. As such, deleting things should - in almost all cases - be possible. A prime exemption is deleting files via the web ui: that creates a new commit, which in turn increases repo size, thus, is denied if the user is over quota. Limitations ----------- Because we generally work at a route decorator level, and rarely look *into* the operation itself, `size:repos:public` and `size:repos:private` are not enforced at this level, the engine enforces against `size:repos:all`. This will be improved in the future. AGit does not play very well with this system, because AGit PRs count toward the repo they're opened against, while in the GitHub-style fork + pull model, it counts against the fork. This too, can be improved in the future. There's very little done on the UI side to guard against going over quota. What this patch implements, is enforcement, not prevention. The UI will still let you *try* operations that *will* result in a denial. Signed-off-by: Gergely Nagy <forgejo@gergo.csillger.hu>
2024-07-06 10:30:16 +02:00
return true, nil
}
// RedirectDownload return a file based on the following infos:
func RedirectDownload(ctx *context.Context) {
var (
vTag = ctx.Params("vTag")
fileName = ctx.Params("fileName")
)
tagNames := []string{vTag}
curRepo := ctx.Repo.Repository
releases, err := db.Find[repo_model.Release](ctx, repo_model.FindReleasesOptions{
IncludeDrafts: ctx.Repo.CanWrite(unit.TypeReleases),
RepoID: curRepo.ID,
TagNames: tagNames,
})
if err != nil {
ctx.ServerError("RedirectDownload", err)
return
}
if len(releases) == 1 {
release := releases[0]
att, err := repo_model.GetAttachmentByReleaseIDFileName(ctx, release.ID, fileName)
if err != nil {
ctx.Error(http.StatusNotFound)
return
}
if att != nil {
ServeAttachment(ctx, att.UUID)
return
}
} else if len(releases) == 0 && vTag == "latest" {
// GitHub supports the alias "latest" for the latest release
// We only fetch the latest release if the tag is "latest" and no release with the tag "latest" exists
release, err := repo_model.GetLatestReleaseByRepoID(ctx, ctx.Repo.Repository.ID)
if err != nil {
ctx.Error(http.StatusNotFound)
return
}
att, err := repo_model.GetAttachmentByReleaseIDFileName(ctx, release.ID, fileName)
if err != nil {
ctx.Error(http.StatusNotFound)
return
}
if att != nil {
ServeAttachment(ctx, att.UUID)
return
}
}
ctx.Error(http.StatusNotFound)
}
// Download an archive of a repository
func Download(ctx *context.Context) {
uri := ctx.Params("*")
2024-04-02 16:34:57 +02:00
aReq, err := archiver_service.NewRequest(ctx, ctx.Repo.Repository.ID, ctx.Repo.GitRepo, uri)
if err != nil {
if errors.Is(err, archiver_service.ErrUnknownArchiveFormat{}) {
ctx.Error(http.StatusBadRequest, err.Error())
} else if errors.Is(err, archiver_service.RepoRefNotFoundError{}) {
ctx.Error(http.StatusNotFound, err.Error())
} else {
ctx.ServerError("archiver_service.NewRequest", err)
}
return
}
archiver, err := aReq.Await(ctx)
if err != nil {
ctx.ServerError("archiver.Await", err)
return
}
download(ctx, aReq.GetArchiveName(), archiver)
}
func download(ctx *context.Context, archiveName string, archiver *repo_model.RepoArchiver) {
downloadName := ctx.Repo.Repository.Name + "-" + archiveName
Add an immutable tarball link to archive download headers for Nix This allows `nix flake metadata` and nix in general to lock a *branch* tarball link in a manner that causes it to fetch the correct commit even if the branch is updated with a newer version. For further context, Nix flakes are a feature that, among other things, allows for "inputs" that are "github:someuser/somerepo", "https://some-tarball-service/some-tarball.tar.gz", "sourcehut:~meow/nya" or similar. This feature allows our users to fetch tarballs of git-based inputs to their builds rather than using git to fetch them, saving significant download time. There is presently no gitea or forgejo specific fetcher in Nix, and we don't particularly wish to have one. Ideally (as a developer on a Nix implementation myself) we could just use the generic tarball fetcher and not add specific forgejo support, but to do so, we need additional metadata to know which commit a given *branch* tarball represents, which is the purpose of the Link header added here. The result of this patch is that a Nix user can specify `inputs.something.url = "https://forgejo-host/some/project/archive/main.tar.gz"` in flake.nix and get a link to some concrete tarball for the actual commit in the lock file, then when they run `nix flake update` in the future, they will get the latest commit in that branch. Example of it working locally: » nix flake metadata --refresh 'http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix' Resolved URL: http://localhost:3000/api/v1/repos/jade/cats/archive/main.tar.gz?dir=configs/nix Locked URL: http://localhost:3000/api/v1/repos/jade/cats/archive/804ede182b6b66469b23ea4d21eece52766b7a06.tar.gz?dir=configs /nix&narHash=sha256-yP7KkDVfuixZzs0fsqhSETXFC0y8m6nmPLw2GrAMxKQ%3D Description: Computers with the nixos Path: /nix/store/s856c6yqghyan4v0zy6jj19ksv0q22nx-source Revision: 804ede182b6b66469b23ea4d21eece52766b7a06 Last modified: 2024-05-02 00:48:32 For details on the header value, see: https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md
2024-05-03 02:51:26 +02:00
// Add nix format link header so tarballs lock correctly:
// https://github.com/nixos/nix/blob/56763ff918eb308db23080e560ed2ea3e00c80a7/doc/manual/src/protocols/tarball-fetcher.md
ctx.Resp.Header().Add("Link", fmt.Sprintf("<%s/archive/%s.tar.gz?rev=%s>; rel=\"immutable\"",
ctx.Repo.Repository.APIURL(),
archiver.CommitID, archiver.CommitID))
rPath := archiver.RelativePath()
if setting.RepoArchive.Storage.MinioConfig.ServeDirect {
// If we have a signed url (S3, object storage), redirect to this directly.
u, err := storage.RepoArchives.URL(rPath, downloadName)
if u != nil && err == nil {
2024-04-02 16:34:57 +02:00
if archiver.ReleaseID != 0 {
err = repo_model.CountArchiveDownload(ctx, ctx.Repo.Repository.ID, archiver.ReleaseID, archiver.Type)
if err != nil {
ctx.ServerError("CountArchiveDownload", err)
return
}
}
ctx.Redirect(u.String())
return
}
}
// If we have matched and access to release or issue
fr, err := storage.RepoArchives.Open(rPath)
if err != nil {
ctx.ServerError("Open", err)
return
}
defer fr.Close()
2024-04-02 16:34:57 +02:00
if archiver.ReleaseID != 0 {
err = repo_model.CountArchiveDownload(ctx, ctx.Repo.Repository.ID, archiver.ReleaseID, archiver.Type)
if err != nil {
ctx.ServerError("CountArchiveDownload", err)
return
}
}
ctx.ServeContent(fr, &context.ServeHeaderOptions{
Filename: downloadName,
LastModified: archiver.CreatedUnix.AsLocalTime(),
})
}
[RFC] Make archival asynchronous (#11296) * Make archival asynchronous The prime benefit being sought here is for large archives to not clog up the rendering process and cause unsightly proxy timeouts. As a secondary benefit, archive-in-progress is moved out of the way into a /tmp file so that new archival requests for the same commit will not get fulfilled based on an archive that isn't yet finished. This asynchronous system is fairly primitive; request comes in, we'll spawn off a new goroutine to handle it, then we'll mark it as done. Status requests will see if the file exists in the final location, and report the archival as done when it exists. Fixes #11265 * Archive links: drop initial delay to three-quarters of a second Some, or perhaps even most, archives will not take all that long to archive. The archive process starts as soon as the download button is initially clicked, so in theory they could be done quite quickly. Drop the initial delay down to three-quarters of a second to make it more responsive in the common case of the archive being quickly created. * archiver: restructure a little bit to facilitate testing This introduces two sync.Cond pointers to the archiver package. If they're non-nil when we go to process a request, we'll wait until signalled (at all) to proceed. The tests will then create the sync.Cond so that it can signal at-will and sanity-check the state of the queue at different phases. The author believes that nil-checking these two sync.Cond pointers on every archive processing will introduce minimal overhead with no impact on maintainability. * gofmt nit: no space around binary + operator * services: archiver: appease golangci-lint, lock queueMutex Locking/unlocking the queueMutex is allowed, but not required, for Cond.Signal() and Cond.Broadcast(). The magic at play here is just a little too much for golangci-lint, as we take the address of queueMutex and this is mostly used in archiver.go; the variable still gets flagged as unused. * archiver: tests: fix several timing nits Once we've signaled a cond var, it may take some small amount of time for the goroutines released to hit the spot we're wanting them to be at. Give them an appropriate amount of time. * archiver: tests: no underscore in var name, ungh * archiver: tests: Test* is run in a separate context than TestMain We must setup the mutex/cond variables at the beginning of any test that's going to use it, or else these will be nil when the test is actually ran. * archiver: tests: hopefully final tweak Things got shuffled around such that we carefully build up and release requests from the queue, so we can validate the state of the queue at each step. Fix some assertions that no longer hold true as fallout. * repo: Download: restore some semblance of previous behavior When archival was made async, the GET endpoint was only useful if a previous POST had initiated the download. This commit restores the previous behavior, to an extent; we'll now submit the archive request there and return a "202 Accepted" to indicate that it's processing if we didn't manage to complete the request within ~2 seconds of submission. This lets a client directly GET the archive, and gives them some indication that they may attempt to GET it again at a later time. * archiver: tests: simplify a bit further We don't need to risk failure and use time.ParseDuration to get 2 * time.Second. else if isn't really necessary if the conditions are simple enough and lead to the same result. * archiver: tests: resolve potential source of flakiness Increase all timeouts to 10 seconds; these aren't hard-coded sleeps, so there's no guarantee we'll actually take that long. If we need longer to not have a false-positive, then so be it. While here, various assert.{Not,}Equal arguments are flipped around so that the wording in error output reflects reality, where the expected argument is second and actual third. * archiver: setup infrastructure for notifying consumers of completion This API will *not* allow consumers to subscribe to specific requests being completed, just *any* request being completed. The caller is responsible for determining if their request is satisfied and waiting again if needed. * repo: archive: make GET endpoint synchronous again If the request isn't complete, this endpoint will now submit the request and wait for completion using the new API. This may still be susceptible to timeouts for larger repos, but other endpoints now exist that the web interface will use to negotiate its way through larger archive processes. * archiver: tests: amend test to include WaitForCompletion() This is a trivial one, so go ahead and include it. * archiver: tests: fix test by calling NewContext() The mutex is otherwise uninitialized, so we need to ensure that we're actually initializing it if we plan to test it. * archiver: tests: integrate new WaitForCompletion a little better We can use this to wait for archives to come in, rather than spinning and hoping with a timeout. * archiver: tests: combine numQueued declaration with next-instruction assignment * routers: repo: reap unused archiving flag from DownloadStatus() This had some planned usage before, indicating whether this request initiated the archival process or not. After several rounds of refactoring, this use was deemed not necessary for much of anything and got boiled down to !complete in all cases. * services: archiver: restructure to use a channel We now offer two forms of waiting for a request: - WaitForCompletion: wait for completion with no timeout - TimedWaitForCompletion: wait for completion with timeout In both cases, we wait for the given request's cchan to close; in the latter case, we do so with the caller-provided timeout. This completely removes the need for busy-wait loops in Download/InitiateDownload, as it's fairly clean to wait on a channel with timeout. * services: archiver: use defer to unlock now that we can This previously carried the lock into the goroutine, but an intermediate step just added the request to archiveInProgress outside of the new goroutine and removed the need for the goroutine to start out with it. * Revert "archiver: tests: combine numQueued declaration with next-instruction assignment" This reverts commit bcc52140238e16680f2e05e448e9be51372afdf5. Revert "archiver: tests: integrate new WaitForCompletion a little better" This reverts commit 9fc8bedb5667d24d3a3c7843dc28a229efffb1e6. Revert "archiver: tests: fix test by calling NewContext()" This reverts commit 709c35685eaaf261ebbb7d3420e3376a4ee8e7f2. Revert "archiver: tests: amend test to include WaitForCompletion()" This reverts commit 75261f56bc05d1fa8ff7e81dcbc0ccd93fdc9d50. * archiver: tests: first attempt at WaitForCompletion() tests * archiver: tests: slight improvement, less busy-loop Just wait for the requests to complete in order, instead of busy-waiting with a timeout. This is slightly less fragile. While here, reverse the arguments of a nearby assert.Equal() so that expected/actual are correct in any test output. * archiver: address lint nits * services: archiver: only close the channel once * services: archiver: use a struct{} for the wait channel This makes it obvious that the channel is only being used as a signal, rather than anything useful being piped through it. * archiver: tests: fix expectations Move the close of the channel into doArchive() itself; notably, before these goroutines move on to waiting on the Release cond. The tests are adjusted to reflect that we can't WaitForCompletion() after they've already completed, as WaitForCompletion() doesn't indicate that they've been released from the queue yet. * archiver: tests: set cchan to nil for comparison * archiver: move ctx.Error's back into the route handlers We shouldn't be setting this in a service, we should just be validating the request that we were handed. * services: archiver: use regex to match a hash This makes sure we don't try and use refName as a hash when it's clearly not one, e.g. heads/pull/foo. * routers: repo: remove the weird /archive/status endpoint We don't need to do this anymore, we can just continue POSTing to the archive/* endpoint until we're told the download's complete. This avoids a potential naming conflict, where a ref could start with "status/" * archiver: tests: bump reasonable timeout to 15s * archiver: tests: actually release timedReq * archiver: tests: run through inFlight instead of manually checking While we're here, add a test for manually re-processing an archive that's already been complete. Re-open the channel and mark it incomplete, so that doArchive can just mark it complete again. * initArchiveLinks: prevent default behavior from clicking * archiver: alias gitea's context, golang context import pending * archiver: simplify logic, just reconstruct slices While the previous logic was perhaps slightly more efficient, the new variant's readability is much improved. * archiver: don't block shutdown on waiting for archive The technique established launches a goroutine to do the wait, which will close a wait channel upon termination. For the timeout case, we also send back a value indicating whether the timeout was hit or not. The timeouts are expected to be relatively small, but still a multi- second delay to shutdown due to this could be unfortunate. * archiver: simplify shutdown logic We can just grab the shutdown channel from the graceful manager instead of constructing a channel to halt the caller and/or pass a result back. * Style issues * Fix mis-merge Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
2020-11-07 21:27:28 +01:00
// InitiateDownload will enqueue an archival request, as needed. It may submit
// a request that's already in-progress, but the archiver service will just
// kind of drop it on the floor if this is the case.
func InitiateDownload(ctx *context.Context) {
uri := ctx.Params("*")
2024-04-02 16:34:57 +02:00
aReq, err := archiver_service.NewRequest(ctx, ctx.Repo.Repository.ID, ctx.Repo.GitRepo, uri)
if err != nil {
ctx.ServerError("archiver_service.NewRequest", err)
return
}
[RFC] Make archival asynchronous (#11296) * Make archival asynchronous The prime benefit being sought here is for large archives to not clog up the rendering process and cause unsightly proxy timeouts. As a secondary benefit, archive-in-progress is moved out of the way into a /tmp file so that new archival requests for the same commit will not get fulfilled based on an archive that isn't yet finished. This asynchronous system is fairly primitive; request comes in, we'll spawn off a new goroutine to handle it, then we'll mark it as done. Status requests will see if the file exists in the final location, and report the archival as done when it exists. Fixes #11265 * Archive links: drop initial delay to three-quarters of a second Some, or perhaps even most, archives will not take all that long to archive. The archive process starts as soon as the download button is initially clicked, so in theory they could be done quite quickly. Drop the initial delay down to three-quarters of a second to make it more responsive in the common case of the archive being quickly created. * archiver: restructure a little bit to facilitate testing This introduces two sync.Cond pointers to the archiver package. If they're non-nil when we go to process a request, we'll wait until signalled (at all) to proceed. The tests will then create the sync.Cond so that it can signal at-will and sanity-check the state of the queue at different phases. The author believes that nil-checking these two sync.Cond pointers on every archive processing will introduce minimal overhead with no impact on maintainability. * gofmt nit: no space around binary + operator * services: archiver: appease golangci-lint, lock queueMutex Locking/unlocking the queueMutex is allowed, but not required, for Cond.Signal() and Cond.Broadcast(). The magic at play here is just a little too much for golangci-lint, as we take the address of queueMutex and this is mostly used in archiver.go; the variable still gets flagged as unused. * archiver: tests: fix several timing nits Once we've signaled a cond var, it may take some small amount of time for the goroutines released to hit the spot we're wanting them to be at. Give them an appropriate amount of time. * archiver: tests: no underscore in var name, ungh * archiver: tests: Test* is run in a separate context than TestMain We must setup the mutex/cond variables at the beginning of any test that's going to use it, or else these will be nil when the test is actually ran. * archiver: tests: hopefully final tweak Things got shuffled around such that we carefully build up and release requests from the queue, so we can validate the state of the queue at each step. Fix some assertions that no longer hold true as fallout. * repo: Download: restore some semblance of previous behavior When archival was made async, the GET endpoint was only useful if a previous POST had initiated the download. This commit restores the previous behavior, to an extent; we'll now submit the archive request there and return a "202 Accepted" to indicate that it's processing if we didn't manage to complete the request within ~2 seconds of submission. This lets a client directly GET the archive, and gives them some indication that they may attempt to GET it again at a later time. * archiver: tests: simplify a bit further We don't need to risk failure and use time.ParseDuration to get 2 * time.Second. else if isn't really necessary if the conditions are simple enough and lead to the same result. * archiver: tests: resolve potential source of flakiness Increase all timeouts to 10 seconds; these aren't hard-coded sleeps, so there's no guarantee we'll actually take that long. If we need longer to not have a false-positive, then so be it. While here, various assert.{Not,}Equal arguments are flipped around so that the wording in error output reflects reality, where the expected argument is second and actual third. * archiver: setup infrastructure for notifying consumers of completion This API will *not* allow consumers to subscribe to specific requests being completed, just *any* request being completed. The caller is responsible for determining if their request is satisfied and waiting again if needed. * repo: archive: make GET endpoint synchronous again If the request isn't complete, this endpoint will now submit the request and wait for completion using the new API. This may still be susceptible to timeouts for larger repos, but other endpoints now exist that the web interface will use to negotiate its way through larger archive processes. * archiver: tests: amend test to include WaitForCompletion() This is a trivial one, so go ahead and include it. * archiver: tests: fix test by calling NewContext() The mutex is otherwise uninitialized, so we need to ensure that we're actually initializing it if we plan to test it. * archiver: tests: integrate new WaitForCompletion a little better We can use this to wait for archives to come in, rather than spinning and hoping with a timeout. * archiver: tests: combine numQueued declaration with next-instruction assignment * routers: repo: reap unused archiving flag from DownloadStatus() This had some planned usage before, indicating whether this request initiated the archival process or not. After several rounds of refactoring, this use was deemed not necessary for much of anything and got boiled down to !complete in all cases. * services: archiver: restructure to use a channel We now offer two forms of waiting for a request: - WaitForCompletion: wait for completion with no timeout - TimedWaitForCompletion: wait for completion with timeout In both cases, we wait for the given request's cchan to close; in the latter case, we do so with the caller-provided timeout. This completely removes the need for busy-wait loops in Download/InitiateDownload, as it's fairly clean to wait on a channel with timeout. * services: archiver: use defer to unlock now that we can This previously carried the lock into the goroutine, but an intermediate step just added the request to archiveInProgress outside of the new goroutine and removed the need for the goroutine to start out with it. * Revert "archiver: tests: combine numQueued declaration with next-instruction assignment" This reverts commit bcc52140238e16680f2e05e448e9be51372afdf5. Revert "archiver: tests: integrate new WaitForCompletion a little better" This reverts commit 9fc8bedb5667d24d3a3c7843dc28a229efffb1e6. Revert "archiver: tests: fix test by calling NewContext()" This reverts commit 709c35685eaaf261ebbb7d3420e3376a4ee8e7f2. Revert "archiver: tests: amend test to include WaitForCompletion()" This reverts commit 75261f56bc05d1fa8ff7e81dcbc0ccd93fdc9d50. * archiver: tests: first attempt at WaitForCompletion() tests * archiver: tests: slight improvement, less busy-loop Just wait for the requests to complete in order, instead of busy-waiting with a timeout. This is slightly less fragile. While here, reverse the arguments of a nearby assert.Equal() so that expected/actual are correct in any test output. * archiver: address lint nits * services: archiver: only close the channel once * services: archiver: use a struct{} for the wait channel This makes it obvious that the channel is only being used as a signal, rather than anything useful being piped through it. * archiver: tests: fix expectations Move the close of the channel into doArchive() itself; notably, before these goroutines move on to waiting on the Release cond. The tests are adjusted to reflect that we can't WaitForCompletion() after they've already completed, as WaitForCompletion() doesn't indicate that they've been released from the queue yet. * archiver: tests: set cchan to nil for comparison * archiver: move ctx.Error's back into the route handlers We shouldn't be setting this in a service, we should just be validating the request that we were handed. * services: archiver: use regex to match a hash This makes sure we don't try and use refName as a hash when it's clearly not one, e.g. heads/pull/foo. * routers: repo: remove the weird /archive/status endpoint We don't need to do this anymore, we can just continue POSTing to the archive/* endpoint until we're told the download's complete. This avoids a potential naming conflict, where a ref could start with "status/" * archiver: tests: bump reasonable timeout to 15s * archiver: tests: actually release timedReq * archiver: tests: run through inFlight instead of manually checking While we're here, add a test for manually re-processing an archive that's already been complete. Re-open the channel and mark it incomplete, so that doArchive can just mark it complete again. * initArchiveLinks: prevent default behavior from clicking * archiver: alias gitea's context, golang context import pending * archiver: simplify logic, just reconstruct slices While the previous logic was perhaps slightly more efficient, the new variant's readability is much improved. * archiver: don't block shutdown on waiting for archive The technique established launches a goroutine to do the wait, which will close a wait channel upon termination. For the timeout case, we also send back a value indicating whether the timeout was hit or not. The timeouts are expected to be relatively small, but still a multi- second delay to shutdown due to this could be unfortunate. * archiver: simplify shutdown logic We can just grab the shutdown channel from the graceful manager instead of constructing a channel to halt the caller and/or pass a result back. * Style issues * Fix mis-merge Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
2020-11-07 21:27:28 +01:00
if aReq == nil {
ctx.Error(http.StatusNotFound)
2014-09-24 23:43:33 +02:00
return
}
archiver, err := repo_model.GetRepoArchiver(ctx, aReq.RepoID, aReq.Type, aReq.CommitID)
if err != nil {
ctx.ServerError("archiver_service.StartArchive", err)
return
}
if archiver == nil || archiver.Status != repo_model.ArchiverReady {
if err := archiver_service.StartArchive(aReq); err != nil {
ctx.ServerError("archiver_service.StartArchive", err)
return
}
}
var completed bool
if archiver != nil && archiver.Status == repo_model.ArchiverReady {
completed = true
2014-03-22 18:50:50 +01:00
}
ctx.JSON(http.StatusOK, map[string]any{
"complete": completed,
[RFC] Make archival asynchronous (#11296) * Make archival asynchronous The prime benefit being sought here is for large archives to not clog up the rendering process and cause unsightly proxy timeouts. As a secondary benefit, archive-in-progress is moved out of the way into a /tmp file so that new archival requests for the same commit will not get fulfilled based on an archive that isn't yet finished. This asynchronous system is fairly primitive; request comes in, we'll spawn off a new goroutine to handle it, then we'll mark it as done. Status requests will see if the file exists in the final location, and report the archival as done when it exists. Fixes #11265 * Archive links: drop initial delay to three-quarters of a second Some, or perhaps even most, archives will not take all that long to archive. The archive process starts as soon as the download button is initially clicked, so in theory they could be done quite quickly. Drop the initial delay down to three-quarters of a second to make it more responsive in the common case of the archive being quickly created. * archiver: restructure a little bit to facilitate testing This introduces two sync.Cond pointers to the archiver package. If they're non-nil when we go to process a request, we'll wait until signalled (at all) to proceed. The tests will then create the sync.Cond so that it can signal at-will and sanity-check the state of the queue at different phases. The author believes that nil-checking these two sync.Cond pointers on every archive processing will introduce minimal overhead with no impact on maintainability. * gofmt nit: no space around binary + operator * services: archiver: appease golangci-lint, lock queueMutex Locking/unlocking the queueMutex is allowed, but not required, for Cond.Signal() and Cond.Broadcast(). The magic at play here is just a little too much for golangci-lint, as we take the address of queueMutex and this is mostly used in archiver.go; the variable still gets flagged as unused. * archiver: tests: fix several timing nits Once we've signaled a cond var, it may take some small amount of time for the goroutines released to hit the spot we're wanting them to be at. Give them an appropriate amount of time. * archiver: tests: no underscore in var name, ungh * archiver: tests: Test* is run in a separate context than TestMain We must setup the mutex/cond variables at the beginning of any test that's going to use it, or else these will be nil when the test is actually ran. * archiver: tests: hopefully final tweak Things got shuffled around such that we carefully build up and release requests from the queue, so we can validate the state of the queue at each step. Fix some assertions that no longer hold true as fallout. * repo: Download: restore some semblance of previous behavior When archival was made async, the GET endpoint was only useful if a previous POST had initiated the download. This commit restores the previous behavior, to an extent; we'll now submit the archive request there and return a "202 Accepted" to indicate that it's processing if we didn't manage to complete the request within ~2 seconds of submission. This lets a client directly GET the archive, and gives them some indication that they may attempt to GET it again at a later time. * archiver: tests: simplify a bit further We don't need to risk failure and use time.ParseDuration to get 2 * time.Second. else if isn't really necessary if the conditions are simple enough and lead to the same result. * archiver: tests: resolve potential source of flakiness Increase all timeouts to 10 seconds; these aren't hard-coded sleeps, so there's no guarantee we'll actually take that long. If we need longer to not have a false-positive, then so be it. While here, various assert.{Not,}Equal arguments are flipped around so that the wording in error output reflects reality, where the expected argument is second and actual third. * archiver: setup infrastructure for notifying consumers of completion This API will *not* allow consumers to subscribe to specific requests being completed, just *any* request being completed. The caller is responsible for determining if their request is satisfied and waiting again if needed. * repo: archive: make GET endpoint synchronous again If the request isn't complete, this endpoint will now submit the request and wait for completion using the new API. This may still be susceptible to timeouts for larger repos, but other endpoints now exist that the web interface will use to negotiate its way through larger archive processes. * archiver: tests: amend test to include WaitForCompletion() This is a trivial one, so go ahead and include it. * archiver: tests: fix test by calling NewContext() The mutex is otherwise uninitialized, so we need to ensure that we're actually initializing it if we plan to test it. * archiver: tests: integrate new WaitForCompletion a little better We can use this to wait for archives to come in, rather than spinning and hoping with a timeout. * archiver: tests: combine numQueued declaration with next-instruction assignment * routers: repo: reap unused archiving flag from DownloadStatus() This had some planned usage before, indicating whether this request initiated the archival process or not. After several rounds of refactoring, this use was deemed not necessary for much of anything and got boiled down to !complete in all cases. * services: archiver: restructure to use a channel We now offer two forms of waiting for a request: - WaitForCompletion: wait for completion with no timeout - TimedWaitForCompletion: wait for completion with timeout In both cases, we wait for the given request's cchan to close; in the latter case, we do so with the caller-provided timeout. This completely removes the need for busy-wait loops in Download/InitiateDownload, as it's fairly clean to wait on a channel with timeout. * services: archiver: use defer to unlock now that we can This previously carried the lock into the goroutine, but an intermediate step just added the request to archiveInProgress outside of the new goroutine and removed the need for the goroutine to start out with it. * Revert "archiver: tests: combine numQueued declaration with next-instruction assignment" This reverts commit bcc52140238e16680f2e05e448e9be51372afdf5. Revert "archiver: tests: integrate new WaitForCompletion a little better" This reverts commit 9fc8bedb5667d24d3a3c7843dc28a229efffb1e6. Revert "archiver: tests: fix test by calling NewContext()" This reverts commit 709c35685eaaf261ebbb7d3420e3376a4ee8e7f2. Revert "archiver: tests: amend test to include WaitForCompletion()" This reverts commit 75261f56bc05d1fa8ff7e81dcbc0ccd93fdc9d50. * archiver: tests: first attempt at WaitForCompletion() tests * archiver: tests: slight improvement, less busy-loop Just wait for the requests to complete in order, instead of busy-waiting with a timeout. This is slightly less fragile. While here, reverse the arguments of a nearby assert.Equal() so that expected/actual are correct in any test output. * archiver: address lint nits * services: archiver: only close the channel once * services: archiver: use a struct{} for the wait channel This makes it obvious that the channel is only being used as a signal, rather than anything useful being piped through it. * archiver: tests: fix expectations Move the close of the channel into doArchive() itself; notably, before these goroutines move on to waiting on the Release cond. The tests are adjusted to reflect that we can't WaitForCompletion() after they've already completed, as WaitForCompletion() doesn't indicate that they've been released from the queue yet. * archiver: tests: set cchan to nil for comparison * archiver: move ctx.Error's back into the route handlers We shouldn't be setting this in a service, we should just be validating the request that we were handed. * services: archiver: use regex to match a hash This makes sure we don't try and use refName as a hash when it's clearly not one, e.g. heads/pull/foo. * routers: repo: remove the weird /archive/status endpoint We don't need to do this anymore, we can just continue POSTing to the archive/* endpoint until we're told the download's complete. This avoids a potential naming conflict, where a ref could start with "status/" * archiver: tests: bump reasonable timeout to 15s * archiver: tests: actually release timedReq * archiver: tests: run through inFlight instead of manually checking While we're here, add a test for manually re-processing an archive that's already been complete. Re-open the channel and mark it incomplete, so that doArchive can just mark it complete again. * initArchiveLinks: prevent default behavior from clicking * archiver: alias gitea's context, golang context import pending * archiver: simplify logic, just reconstruct slices While the previous logic was perhaps slightly more efficient, the new variant's readability is much improved. * archiver: don't block shutdown on waiting for archive The technique established launches a goroutine to do the wait, which will close a wait channel upon termination. For the timeout case, we also send back a value indicating whether the timeout was hit or not. The timeouts are expected to be relatively small, but still a multi- second delay to shutdown due to this could be unfortunate. * archiver: simplify shutdown logic We can just grab the shutdown channel from the graceful manager instead of constructing a channel to halt the caller and/or pass a result back. * Style issues * Fix mis-merge Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com> Co-authored-by: Lauris BH <lauris@nix.lv>
2020-11-07 21:27:28 +01:00
})
2014-03-22 18:50:50 +01:00
}
// SearchRepo repositories via options
func SearchRepo(ctx *context.Context) {
page := ctx.FormInt("page")
if page <= 0 {
page = 1
}
opts := &repo_model.SearchRepoOptions{
ListOptions: db.ListOptions{
Page: page,
PageSize: convert.ToCorrectPageSize(ctx.FormInt("limit")),
},
Actor: ctx.Doer,
Keyword: ctx.FormTrim("q"),
OwnerID: ctx.FormInt64("uid"),
PriorityOwnerID: ctx.FormInt64("priority_owner_id"),
TeamID: ctx.FormInt64("team_id"),
TopicOnly: ctx.FormBool("topic"),
Collaborate: optional.None[bool](),
Private: ctx.IsSigned && (ctx.FormString("private") == "" || ctx.FormBool("private")),
Template: optional.None[bool](),
StarredByID: ctx.FormInt64("starredBy"),
IncludeDescription: ctx.FormBool("includeDesc"),
}
if ctx.FormString("template") != "" {
opts.Template = optional.Some(ctx.FormBool("template"))
}
if ctx.FormBool("exclusive") {
opts.Collaborate = optional.Some(false)
}
mode := ctx.FormString("mode")
switch mode {
case "source":
opts.Fork = optional.Some(false)
opts.Mirror = optional.Some(false)
case "fork":
opts.Fork = optional.Some(true)
case "mirror":
opts.Mirror = optional.Some(true)
case "collaborative":
opts.Mirror = optional.Some(false)
opts.Collaborate = optional.Some(true)
case "":
default:
ctx.Error(http.StatusUnprocessableEntity, fmt.Sprintf("Invalid search mode: \"%s\"", mode))
return
}
if ctx.FormString("archived") != "" {
opts.Archived = optional.Some(ctx.FormBool("archived"))
}
if ctx.FormString("is_private") != "" {
opts.IsPrivate = optional.Some(ctx.FormBool("is_private"))
}
sortMode := ctx.FormString("sort")
if len(sortMode) > 0 {
sortOrder := ctx.FormString("order")
if len(sortOrder) == 0 {
sortOrder = "asc"
}
if searchModeMap, ok := repo_model.OrderByMap[sortOrder]; ok {
if orderBy, ok := searchModeMap[sortMode]; ok {
opts.OrderBy = orderBy
} else {
ctx.Error(http.StatusUnprocessableEntity, fmt.Sprintf("Invalid sort mode: \"%s\"", sortMode))
return
}
} else {
ctx.Error(http.StatusUnprocessableEntity, fmt.Sprintf("Invalid sort order: \"%s\"", sortOrder))
return
}
}
// To improve performance when only the count is requested
if ctx.FormBool("count_only") {
if count, err := repo_model.CountRepository(ctx, opts); err != nil {
log.Error("CountRepository: %v", err)
ctx.JSON(http.StatusInternalServerError, nil) // frontend JS doesn't handle error response (same as below)
} else {
ctx.SetTotalCountHeader(count)
ctx.JSONOK()
}
return
}
repos, count, err := repo_model.SearchRepository(ctx, opts)
if err != nil {
log.Error("SearchRepository: %v", err)
ctx.JSON(http.StatusInternalServerError, nil)
return
}
ctx.SetTotalCountHeader(count)
latestCommitStatuses, err := commitstatus_service.FindReposLastestCommitStatuses(ctx, repos)
if err != nil {
log.Error("FindReposLastestCommitStatuses: %v", err)
ctx.JSON(http.StatusInternalServerError, nil)
return
}
if !ctx.Repo.CanRead(unit.TypeActions) {
git_model.CommitStatusesHideActionsURL(ctx, latestCommitStatuses)
}
results := make([]*repo_service.WebSearchRepository, len(repos))
for i, repo := range repos {
results[i] = &repo_service.WebSearchRepository{
Repository: &api.Repository{
ID: repo.ID,
FullName: repo.FullName(),
Fork: repo.IsFork,
Private: repo.IsPrivate,
Template: repo.IsTemplate,
Mirror: repo.IsMirror,
Stars: repo.NumStars,
HTMLURL: repo.HTMLURL(),
Link: repo.Link(),
Internal: !repo.IsPrivate && repo.Owner.Visibility == api.VisibleTypePrivate,
},
}
if latestCommitStatuses[i] != nil {
results[i].LatestCommitStatus = latestCommitStatuses[i]
results[i].LocaleLatestCommitStatus = latestCommitStatuses[i].LocaleString(ctx.Locale)
}
}
ctx.JSON(http.StatusOK, repo_service.WebSearchResults{
OK: true,
Data: results,
})
}
Use frontend fetch for branch dropdown component (#25719) - Send request to get branch/tag list, use loading icon when waiting for response. - Only fetch when the first time branch/tag list shows. - For backend, removed assignment to `ctx.Data["Branches"]` and `ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever needed. - Changed some `v-if` to `v-show` and used native `svg` as mentioned in https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to improve perfomance when there are a lot of branches. - Places Used the dropdown component: Repo Home Page <img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51" src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0"> Commits Page <img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34" src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537"> Specific commit -> operations -> cherry-pick <img width="758" alt="Screen Shot 2023-07-06 at 12 23 28" src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d"> Release Page <img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05" src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb"> - Demo https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3 - Note: UI of dropdown menu could be improved in another PR as it should apply to more dropdown menus. Fix #14180 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-07-21 13:20:04 +02:00
type branchTagSearchResponse struct {
Results []string `json:"results"`
}
// GetBranchesList get branches for current repo'
func GetBranchesList(ctx *context.Context) {
branchOpts := git_model.FindBranchOptions{
RepoID: ctx.Repo.Repository.ID,
IsDeletedBranch: optional.Some(false),
ListOptions: db.ListOptionsAll,
Use frontend fetch for branch dropdown component (#25719) - Send request to get branch/tag list, use loading icon when waiting for response. - Only fetch when the first time branch/tag list shows. - For backend, removed assignment to `ctx.Data["Branches"]` and `ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever needed. - Changed some `v-if` to `v-show` and used native `svg` as mentioned in https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to improve perfomance when there are a lot of branches. - Places Used the dropdown component: Repo Home Page <img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51" src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0"> Commits Page <img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34" src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537"> Specific commit -> operations -> cherry-pick <img width="758" alt="Screen Shot 2023-07-06 at 12 23 28" src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d"> Release Page <img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05" src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb"> - Demo https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3 - Note: UI of dropdown menu could be improved in another PR as it should apply to more dropdown menus. Fix #14180 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-07-21 13:20:04 +02:00
}
branches, err := git_model.FindBranchNames(ctx, branchOpts)
if err != nil {
ctx.JSON(http.StatusInternalServerError, err)
return
}
resp := &branchTagSearchResponse{}
// always put default branch on the top if it exists
if slices.Contains(branches, ctx.Repo.Repository.DefaultBranch) {
Use frontend fetch for branch dropdown component (#25719) - Send request to get branch/tag list, use loading icon when waiting for response. - Only fetch when the first time branch/tag list shows. - For backend, removed assignment to `ctx.Data["Branches"]` and `ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever needed. - Changed some `v-if` to `v-show` and used native `svg` as mentioned in https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to improve perfomance when there are a lot of branches. - Places Used the dropdown component: Repo Home Page <img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51" src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0"> Commits Page <img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34" src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537"> Specific commit -> operations -> cherry-pick <img width="758" alt="Screen Shot 2023-07-06 at 12 23 28" src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d"> Release Page <img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05" src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb"> - Demo https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3 - Note: UI of dropdown menu could be improved in another PR as it should apply to more dropdown menus. Fix #14180 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-07-21 13:20:04 +02:00
branches = util.SliceRemoveAll(branches, ctx.Repo.Repository.DefaultBranch)
branches = append([]string{ctx.Repo.Repository.DefaultBranch}, branches...)
}
resp.Results = branches
ctx.JSON(http.StatusOK, resp)
}
// GetTagList get tag list for current repo
func GetTagList(ctx *context.Context) {
tags, err := repo_model.GetTagNamesByRepoID(ctx, ctx.Repo.Repository.ID)
if err != nil {
ctx.JSON(http.StatusInternalServerError, err)
return
}
resp := &branchTagSearchResponse{}
resp.Results = tags
ctx.JSON(http.StatusOK, resp)
}
func PrepareBranchList(ctx *context.Context) {
branchOpts := git_model.FindBranchOptions{
RepoID: ctx.Repo.Repository.ID,
IsDeletedBranch: optional.Some(false),
ListOptions: db.ListOptionsAll,
Use frontend fetch for branch dropdown component (#25719) - Send request to get branch/tag list, use loading icon when waiting for response. - Only fetch when the first time branch/tag list shows. - For backend, removed assignment to `ctx.Data["Branches"]` and `ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever needed. - Changed some `v-if` to `v-show` and used native `svg` as mentioned in https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to improve perfomance when there are a lot of branches. - Places Used the dropdown component: Repo Home Page <img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51" src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0"> Commits Page <img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34" src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537"> Specific commit -> operations -> cherry-pick <img width="758" alt="Screen Shot 2023-07-06 at 12 23 28" src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d"> Release Page <img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05" src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb"> - Demo https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3 - Note: UI of dropdown menu could be improved in another PR as it should apply to more dropdown menus. Fix #14180 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-07-21 13:20:04 +02:00
}
brs, err := git_model.FindBranchNames(ctx, branchOpts)
if err != nil {
ctx.ServerError("GetBranches", err)
return
}
// always put default branch on the top if it exists
if slices.Contains(brs, ctx.Repo.Repository.DefaultBranch) {
Use frontend fetch for branch dropdown component (#25719) - Send request to get branch/tag list, use loading icon when waiting for response. - Only fetch when the first time branch/tag list shows. - For backend, removed assignment to `ctx.Data["Branches"]` and `ctx.Data["Tags"]` from `context/repo.go` and passed these data wherever needed. - Changed some `v-if` to `v-show` and used native `svg` as mentioned in https://github.com/go-gitea/gitea/pull/25719#issuecomment-1631712757 to improve perfomance when there are a lot of branches. - Places Used the dropdown component: Repo Home Page <img width="1429" alt="Screen Shot 2023-07-06 at 12 17 51" src="https://github.com/go-gitea/gitea/assets/17645053/6accc7b6-8d37-4e88-ae1a-bd2b3b927ea0"> Commits Page <img width="1431" alt="Screen Shot 2023-07-06 at 12 18 34" src="https://github.com/go-gitea/gitea/assets/17645053/2d0bf306-d1e2-45a8-a784-bc424879f537"> Specific commit -> operations -> cherry-pick <img width="758" alt="Screen Shot 2023-07-06 at 12 23 28" src="https://github.com/go-gitea/gitea/assets/17645053/1e557948-3881-4e45-a625-8ef36d45ae2d"> Release Page <img width="1433" alt="Screen Shot 2023-07-06 at 12 25 05" src="https://github.com/go-gitea/gitea/assets/17645053/3ec82af1-15a4-4162-a50b-04a9502161bb"> - Demo https://github.com/go-gitea/gitea/assets/17645053/d45d266b-3eb0-465a-82f9-57f78dc5f9f3 - Note: UI of dropdown menu could be improved in another PR as it should apply to more dropdown menus. Fix #14180 --------- Co-authored-by: silverwind <me@silverwind.io> Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
2023-07-21 13:20:04 +02:00
brs = util.SliceRemoveAll(brs, ctx.Repo.Repository.DefaultBranch)
brs = append([]string{ctx.Repo.Repository.DefaultBranch}, brs...)
}
ctx.Data["Branches"] = brs
}