diff --git a/composer.json b/composer.json
index 61765adcc56c6add278242765d7fcd8baa197f22..9861694a2f0eb8b7760657b0d85f6b3b3d85bf09 100644
--- a/composer.json
+++ b/composer.json
@@ -83,6 +83,7 @@
         "npm-asset/scriptaculous-js": "1.9.0",
         "npm-asset/prototype-js-core": "1.7.3",
         "noblogs/r2db": "0.1.7",
+        "noblogs/ai-global-activity-plugin": "0.0.8",
         "noblogs/ai-buddypress-plugin": "0.1.1",
         "noblogs/ai-mu-plugins": "0.3.1",
         "noblogs/noblogs-wp-ssl": "0.1.0",
@@ -118,8 +119,11 @@
         "wpackagist-plugin/creative-commons": "^2021.04",
         "wpackagist-plugin/disable-remove-google-fonts": "1.3.1",
         "wpackagist-plugin/footnotes": "2.7.3",
-        "wpackagist-plugin/wpuntexturize": "2.2"
-    },
+        "wpackagist-plugin/wpuntexturize": "2.2",
+        "wpackagist-theme/spearhead": "^1.2",
+        "wpackagist-theme/blank-canvas": "^1.2",
+        "wpackagist-theme/seedlet": "^1.1"
+    },    
     "extra": {
         "wordpress-install-dir": "app",
         "installer-types": [
diff --git a/composer.lock b/composer.lock
index c852bdfe04e753d69039f2cd08f8a13675c6181f..afd2296e043515eb4910ddd9efb0477356fe1964 100644
--- a/composer.lock
+++ b/composer.lock
@@ -4,7 +4,7 @@
         "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
         "This file is @generated automatically"
     ],
-    "content-hash": "7e1228a363f89ac168030afce92c08aa",
+    "content-hash": "ab16c6400ccd5452a17bd107473cbdc6",
     "packages": [
         {
             "name": "bjornjohansen/wplang",
@@ -296,6 +296,15 @@
                 "wordpress/core-implementation": "5.8.1"
             },
             "type": "wordpress-core",
+            "extra": {
+                "patches_applied": {
+                    "Patch definition of WP_CONTENT_URL to include SSL when it might not ": "patches/core/0052-fix-ssl-wp-content-url.patch",
+                    "Anonymize requests to api.wordpress.org for updates": "patches/core/anonymize-update.php.patch",
+                    "Do not perform pingbacks and trackbacks when we update via cron": "patches/core/0103-Remove-pingback-trackback.patch",
+                    "Load JS library locally instead than from Googleapis": "patches/core/0155-Removing-reference-to-googleapis-from-wp-includes-up.patch",
+                    "Remove Google Fonts API calls": "patches/core/0165-remove-google-fonts.patch"
+                }
+            },
             "notification-url": "https://packagist.org/downloads/",
             "license": [
                 "GPL-2.0-or-later"
@@ -435,6 +444,32 @@
             ],
             "description": "git@git.autistici.org:noblogs/ai-buddypress-plugin.git"
         },
+        {
+            "name": "noblogs/ai-global-activity-plugin",
+            "version": "0.0.8",
+            "source": {
+                "type": "git",
+                "url": "https://git.autistici.org/noblogs/ai-global-activity-plugin.git",
+                "reference": "9a9144c4c9143535b3027689dbde44d63b1c1044"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://git.autistici.org/api/v4/projects/485/packages/composer/archives/noblogs/ai-global-activity-plugin.zip?sha=9a9144c4c9143535b3027689dbde44d63b1c1044",
+                "reference": "9a9144c4c9143535b3027689dbde44d63b1c1044",
+                "shasum": ""
+            },
+            "require": {
+                "composer/installers": "^1.9"
+            },
+            "type": "wordpress-plugin",
+            "authors": [
+                {
+                    "name": "lucha",
+                    "email": "lucha@paranoici.org"
+                }
+            ],
+            "description": "git@git.autistici.org:noblogs/ai-global-activity-plugin.git"
+        },
         {
             "name": "noblogs/ai-mu-plugins",
             "version": "0.3.1",
@@ -844,6 +879,12 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Disable gravatar": "patches/buddypress/0053-Patch-buddypress.patch",
+                    "Force https on buddypress login redirect": "patches/buddypress/0147-forced-https-on-buddypress-login-redirect.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/buddypress/"
         },
         {
@@ -952,6 +993,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Run update checks during cron": "patches/plugins/disable-wordpress-updates.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/disable-wordpress-updates/"
         },
         {
@@ -1096,6 +1142,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Do send mail on privacy setting change": "patches/plugins/more-privacy-options.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/more-privacy-options/"
         },
         {
@@ -1168,6 +1219,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Small workaround to fix simplyexclude plugin broken with wordpress 4": "patches/plugins/0117-simplyexclude.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/simply-exclude/"
         },
         {
@@ -1276,6 +1332,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Disable Piwik global updates": "patches/plugins/wp-piwik.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/wp-piwik/"
         },
         {
@@ -1294,6 +1355,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-plugin",
+            "extra": {
+                "patches_applied": {
+                    "Support for global recaptcha keys": "patches/plugins/wp-recaptcha-bp.patch"
+                }
+            },
             "homepage": "https://wordpress.org/plugins/wp-recaptcha-bp/"
         },
         {
@@ -1420,8 +1486,31 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Teme footer": "patches/themes/0056-Patch-theme-azul.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/azul/"
         },
+        {
+            "name": "wpackagist-theme/blank-canvas",
+            "version": "1.2.9",
+            "source": {
+                "type": "svn",
+                "url": "https://themes.svn.wordpress.org/blank-canvas/",
+                "reference": "1.2.9"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://downloads.wordpress.org/theme/blank-canvas.1.2.9.zip"
+            },
+            "require": {
+                "composer/installers": "~1.0 || ~2.0"
+            },
+            "type": "wordpress-theme",
+            "homepage": "https://wordpress.org/themes/blank-canvas/"
+        },
         {
             "name": "wpackagist-theme/bliss",
             "version": "1.2.0",
@@ -1438,6 +1527,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0223-bliss-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/bliss/"
         },
         {
@@ -1456,6 +1550,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0057-Patch-theme-carrington-blog.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/carrington-blog/"
         },
         {
@@ -1474,6 +1573,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0058-Patch-theme-classic.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/classic/"
         },
         {
@@ -1492,6 +1596,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0062-Patch-theme-default.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/default/"
         },
         {
@@ -1510,6 +1619,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0063-Patch-theme-disconnected.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/disconnected/"
         },
         {
@@ -1528,6 +1642,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0064-Patch-theme-elegant-grunge.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/elegant-grunge/"
         },
         {
@@ -1546,6 +1665,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0065-Patch-theme-fixed-blix.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/fixed-blix/"
         },
         {
@@ -1564,6 +1688,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0067-Patch-theme-fresh-editorial.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/fresh-editorial/"
         },
         {
@@ -1582,6 +1711,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0069-Patch-theme-gone-fishing.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/gone-fishing/"
         },
         {
@@ -1654,6 +1788,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/themes-minimalism.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/minimalism/"
         },
         {
@@ -1672,6 +1811,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0073-Patch-theme-mnml.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/mnml/"
         },
         {
@@ -1690,6 +1834,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0077-Patch-theme-ocular-professor.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/ocular-professor/"
         },
         {
@@ -1708,6 +1857,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0079-Patch-theme-primepress.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/primepress/"
         },
         {
@@ -1726,8 +1880,31 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0080-Patch-theme-rusty-grunge.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/rusty-grunge/"
         },
+        {
+            "name": "wpackagist-theme/seedlet",
+            "version": "1.1.13",
+            "source": {
+                "type": "svn",
+                "url": "https://themes.svn.wordpress.org/seedlet/",
+                "reference": "1.1.13"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://downloads.wordpress.org/theme/seedlet.1.1.13.zip"
+            },
+            "require": {
+                "composer/installers": "~1.0 || ~2.0"
+            },
+            "type": "wordpress-theme",
+            "homepage": "https://wordpress.org/themes/seedlet/"
+        },
         {
             "name": "wpackagist-theme/simplex",
             "version": "2.0.1.3",
@@ -1744,8 +1921,31 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0083-Patch-theme-simplex.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/simplex/"
         },
+        {
+            "name": "wpackagist-theme/spearhead",
+            "version": "1.2.5",
+            "source": {
+                "type": "svn",
+                "url": "https://themes.svn.wordpress.org/spearhead/",
+                "reference": "1.2.5"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://downloads.wordpress.org/theme/spearhead.1.2.5.zip"
+            },
+            "require": {
+                "composer/installers": "~1.0 || ~2.0"
+            },
+            "type": "wordpress-theme",
+            "homepage": "https://wordpress.org/themes/spearhead/"
+        },
         {
             "name": "wpackagist-theme/tanzaku",
             "version": "1.1.1",
@@ -1762,6 +1962,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0084-Patch-theme-tanzaku.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/tanzaku/"
         },
         {
@@ -1780,6 +1985,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0085-Patch-theme-the-scenery.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/the-scenery/"
         },
         {
@@ -1798,6 +2008,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0223-thematic-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/thematic/"
         },
         {
@@ -1816,6 +2031,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0086-Patch-theme-threattocreativity.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/threattocreativity/"
         },
         {
@@ -1834,6 +2054,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0165-twentyeleven-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentyeleven/"
         },
         {
@@ -1852,6 +2077,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0187-twentyfifteen.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentyfifteen/"
         },
         {
@@ -1870,6 +2100,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0187-twentyfourteen.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentyfourteen/"
         },
         {
@@ -1885,7 +2120,7 @@
                 "url": "https://downloads.wordpress.org/theme/twentynineteen.2.1.zip"
             },
             "require": {
-                "composer/installers": "~1.0 || ~2.0"
+                "composer/installers": "~1.0"
             },
             "type": "wordpress-theme",
             "homepage": "https://wordpress.org/themes/twentynineteen/"
@@ -1924,6 +2159,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0223-twentysixteen-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentysixteen/"
         },
         {
@@ -1942,6 +2182,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0187-twentyten.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentyten/"
         },
         {
@@ -1960,6 +2205,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0165-twentythirteen-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentythirteen/"
         },
         {
@@ -1978,6 +2228,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Footer credits": "patches/themes/0165-twentytwelve-footer.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/twentytwelve/"
         },
         {
@@ -1993,7 +2248,7 @@
                 "url": "https://downloads.wordpress.org/theme/twentytwenty.1.8.zip"
             },
             "require": {
-                "composer/installers": "~1.0 || ~2.0"
+                "composer/installers": "~1.0"
             },
             "type": "wordpress-theme",
             "homepage": "https://wordpress.org/themes/twentytwenty/"
@@ -2014,6 +2269,11 @@
                 "composer/installers": "~1.0 || ~2.0"
             },
             "type": "wordpress-theme",
+            "extra": {
+                "patches_applied": {
+                    "Theme footer": "patches/themes/0090-Patch-theme-wp-andreas01.patch"
+                }
+            },
             "homepage": "https://wordpress.org/themes/wp-andreas01/"
         },
         {