<p dir="auto">This PR upgrades Bootstrap to v5, specifically <a href="https://getbootstrap.com/docs/5.1/getting-started/introduction/" rel="nofollow">v5.1</a>, and therefore <span class="issue-keyword tooltipped tooltipped-se" aria-label="This pull request closes issue #3230.">fixes</span> <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="927086260" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/3230" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/3230/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/3230">#3230</a></p>
<p dir="auto">There's a lot of changes in the v4 to v5 upgrade, but I've gone through everything in the <a href="https://getbootstrap.com/docs/5.1/migration/" rel="nofollow">changelog</a>, and made each change a separate commit, and so hopefully everything is dealt with. If anyone spots any glitches in our use of v5, I'm happy to fix them.</p>
<p dir="auto">There are very few noticeable visual changes. <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1311489883" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/3609" data-hovercard-type="pull_request" data-hovercard-url="/openstreetmap/openstreetmap-website/pull/3609/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/pull/3609">#3609</a> is a prerequisite for this PR, or can be merged along with this. One visible change is that RFS is enabled in v5, and I'm fine with that. The menu dropdown widths in RTL are now fixed (see <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="557478104" data-permission-text="Title is private" data-url="https://github.com/openstreetmap/openstreetmap-website/issues/2527" data-hovercard-type="issue" data-hovercard-url="/openstreetmap/openstreetmap-website/issues/2527/hovercard" href="https://github.com/openstreetmap/openstreetmap-website/issues/2527">#2527</a>) but other problems (e.g. button-group rounding) are not fixed yet without further work.</p>
<hr>
<h4>You can view, comment on, or merge this pull request online at:</h4>
<p> <a href='https://github.com/openstreetmap/openstreetmap-website/pull/3610'>https://github.com/openstreetmap/openstreetmap-website/pull/3610</a></p>
<h4>Commit Summary</h4>
<ul>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/a481915a3773b92b4464bb70fdc0544667611751" class="commit-link">a481915</a> Upgrade to bootstrap 5</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/3b942ae5ded02c887389fb4a4385577b450b8f2b" class="commit-link">3b942ae</a> Bootstrap 5: change rounded-sm to rounded-1</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/779167e493d3163138e1bdde2982ee9f6402da14" class="commit-link">779167e</a> Bootstrap 5: Enable negative margins</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/2080696fe689c08faa238a73cda4366f71750423" class="commit-link">2080696</a> Bootstrap 5: Remove use of form-row class</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/02a6ec60ec204fb98f917e2a006bf38bb85876dc" class="commit-link">02a6ec6</a> Bootstrap 5: Update manual select boxes to use form-select class</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/a4af46ef4786aa7eef5524a2a69cbc13f326880b" class="commit-link">a4af46e</a> Bootstrap 5: Override float attribute on legends</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/e80d74ae7369fc1293e5195f29c4f6e8a9dcb87b" class="commit-link">e80d74a</a> Bootstrap 5: Add form-label class to hand-crafted form labels</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/934d81aa551c791e0200f3be06b1e97de23c008e" class="commit-link">934d81a</a> Bootstrap 5: Replace all form-group classes with mb-3</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/e2f17abd3dcb86961393cc81999466126c0405ce" class="commit-link">e2f17ab</a> Bootstrap 5: Replace card-deck with a row-cols-* based grid</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/2f1715a02c3ace77b900bcdb3f66376fb24a4f63" class="commit-link">2f1715a</a> Bootstrap 5: no-gutters renamed to g-0</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/235ca0b4f3642c5f0d7858a3e6f4afc39c0c3d3a" class="commit-link">235ca0b</a> Bootstrap 5: data-toggle renamed to data-bs-toggle for dropdown menus</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/ac07a790784e36641c761658dc13f5c61249c6dc" class="commit-link">ac07a79</a> Use bootstrap variables to style links</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/9963fcffc09bae24e9eca2005bf5ad8d67365216" class="commit-link">9963fcf</a> Bootstrap 5: Override button text colours, force to white</li>
<li><a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/commits/9e6ecefdb2a53881c04e17a2f7d47d888c5b3d82" class="commit-link">9e6ecef</a> Bootstrap 5: Remove the padding from trace nav buttons on larger sizes</li>
</ul>
<h4 style="display: inline-block">File Changes </h4> <p style="display: inline-block">(<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files">32 files</a>)</p>
<ul>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-d09ea66f8227784ff4393d88a19836f321c915ae10031d16c93d67e6283ab55f">Gemfile</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-89cade48462044ee1b672dc5f4c3ec250fbd29effcd8932096a23c1283c6731f">Gemfile.lock</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-e15f8139afbbcbe98b89298674e7980a4a4500dbc54a431e1325a11adfe83f83">app/assets/javascripts/leaflet.share.js</a>
(4)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-e86a39e6d0b163f152db8843fc7d647a3f5d648de4a74f1732bef4474b6e5bc8">app/assets/stylesheets/common.scss</a>
(35)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-d2e82deee467e04b34fde66bc330f96ed2020aefc541445c1d576a56612ee71b">app/assets/stylesheets/parameters.scss</a>
(7)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-e60a309ef4c891e6cb7845dfcb970684e61c569372bb66ea1ac9c3a16e699eac">app/views/accounts/edit.html.erb</a>
(14)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-fba7159a4abd78f8b24f765a0c58ebe47a24be99e185c373175f20f612a5d781">app/views/browse/changeset.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-d05f770c89f6fd47fa3b37ac3aa9edcb9da5ebb26165fb27b7df92ac85a11aee">app/views/browse/new_note.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-c90a6599296c0b71654cb5f0bb5c8166da6fc66966056e39ff0e4f967233a8ea">app/views/browse/note.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-19dab1f0d2d0eed75db55df8281858bd2c2409cd9841a6e8e8555c043255bc70">app/views/dashboards/_popup.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-a70496e2ae2868f80fd3d1c03598e102076f6b88bdc8d54de9a9e005b2de9447">app/views/diary_entries/_form.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-ed96df420873aaa1d006204ba97c74a9ffcbe5c21c25de224b6b4c95edb8cd7a">app/views/issues/index.html.erb</a>
(18)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-6d2ef58207c92d1533287af551a075122ba98240a861819047a2ae77b7674f0b">app/views/layouts/_header.html.erb</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-60b815932a6942ef4da576f75ee4e9b670e2aeb07950b7f8494bdbedb319c8c2">app/views/layouts/_search.html.erb</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-a883ca6abfde69d2e3b1191317f5e544efcc5b7f9f3a17ab9369cbbac37f5d5a">app/views/oauth2_authorizations/new.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-4279172d81d80e24a02d54d1c0e3d3f3db54dbd06ded34239dbb83d210d0a5b6">app/views/oauth_clients/_form.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-6091542e4570d68ca546a4a893b0d0202a75b9aa6fabf4e8aa0b4122ae6a3544">app/views/profiles/edit.html.erb</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-5654cfc158c888a40321c1e90f9ea3a0208ae80616b15ff0fa5e939b8f795e87">app/views/sessions/new.html.erb</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-37a91b9b8a670076e653c22c9f2009388c0204f378bebe5bb625414400d75010">app/views/shared/_richtext_field.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-db1600b3df800c073c8d2ff04b1f5042902abcb20b0a55729ddeca8d23012ea5">app/views/site/export.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-50a7bffbc7b9d16b69dd3456d376259098ed3661f6e1c48ea352273b4a89cc4e">app/views/site/help.html.erb</a>
(14)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-446cb1205994b7918b2a68c30feb162b10fce3a0a9e05c716d9e966df4ba0507">app/views/traces/index.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-762e147134aeb7c6c814b6478e6fee8af290b11a6009a242d52fa14cfe3d6db2">app/views/user_blocks/edit.html.erb</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-723b378da7a4d479965b760622bd0542ae8a85ce398e4e809ee8511977bbedf7">app/views/user_blocks/new.html.erb</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-21483aff8c8e9342f056457705f81d9d821f4bc1d1d33c402487ff905f769f52">app/views/user_blocks/revoke.html.erb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-8dd599ea27028815c7fa912755a38dd05e4a768470cc792840b85fd1e486d69a">app/views/users/new.html.erb</a>
(6)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-f6ed49e0cedc003a3fa0c339f473b25280b800f6d25c59269d60adc773b0848c">app/views/users/terms.html.erb</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-42f978077b25d17cae9dd23c5ad1bbdae876875f7f32e5b9630f316034d25885">test/controllers/accounts_controller_test.rb</a>
(12)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-9d330c9b4c315df4e0b0a23cd48461483d1dd153a9976aa056dc7b9b1258a01a">test/controllers/preferences_controller_test.rb</a>
(2)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-6ad6fcf04b256a25747cfe704f2e34405ccb340f00b049eb348ee02410d747c5">test/controllers/profiles_controller_test.rb</a>
(8)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-2719d3c650da3c587f727ca3c105e6bc93a7113f85717bb15983543cf4f85ae5">test/controllers/users_controller_test.rb</a>
(10)
</li>
<li>
<strong>M</strong>
<a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610/files#diff-19aa16b7c7e0598a9b16e64733cafc53ac88bc34c658524342c0a0bffde8affc">test/integration/user_creation_test.rb</a>
(4)
</li>
</ul>
<h4>Patch Links:</h4>
<ul>
<li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/3610.patch'>https://github.com/openstreetmap/openstreetmap-website/pull/3610.patch</a></li>
<li><a href='https://github.com/openstreetmap/openstreetmap-website/pull/3610.diff'>https://github.com/openstreetmap/openstreetmap-website/pull/3610.diff</a></li>
</ul>
<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/3610">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLLJZDC25ASGRB645M3VVAZBVANCNFSM54EPVXPQ">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLLS5PI4XPF424SELJTVVAZBVA5CNFSM54EPVXP2YY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4TRMWT4Q.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/3610</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/3610",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/3610",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>