On 29. 7. 2026 14:15, Daniel Sahlberg wrote:
Den ons 29 juli 2026 kl 12:58 skrev Branko Čibej <[email protected]>:

    On 29. 7. 2026 11:38, Ivan Zhakov wrote:
    On Tue, 28 Jul 2026 at 19:51, Nathan Hartman
    <[email protected]> wrote:

        On Tue, Jul 28, 2026 at 10:57 AM Ivan Zhakov
        <[email protected]> wrote:
        >
        > On Tue, 28 Jul 2026 at 17:11, Nathan Hartman
        <[email protected]> wrote:
        >>
        >> On Fri, Jul 24, 2026 at 12:40 PM <[email protected]> wrote:
        >> >
        >> > Author: ivan
        >> > Date: Fri Jul 24 16:39:48 2026
        >> > New Revision: 1936555
        >> >
        >> > Log:
        >> > In site/staging:
        >> >
        >> > Use 'content' CSS property to add section link symbol.
        >> >
        >> > * style/site.css
        >> >   (.sectionlink::before): New class. Add 'pilcrow'
        symbol via 'content' CSS
        >> >    property.
        >> >
        >> > * blog/2006-09-10-EnhancingSubversionServer.html
        >> > * blog/2007-03-27-authz-and-anon-authn-agony.html
        >> > * blog/2007-06-13-merge_auditing.html
        >> > * blog/2008-03-29-merging-from-foreign-repositories.html
        >> > * blog/2008-05-06-merge-info.html
        >> > * blog/2009-11-19-where-did-that-mergeinfo-come-from.html
        >> > *
        blog/2012-10-24-reducing_network_traffic_in_subversion_1-8.html
        >> > *
        
blog/2013-06-24-repository-dictated-configuration-part-1-inheritable-properties.html
        >> > *
        blog/2013-06-25-repository-dictated-configuration-part-2-autoprops.html
        >> > *
        
blog/2013-06-26-repository-dictated-configuration-part-3-global-ignores.html
        >> > * blog/2013-06-28-foreign-repository-copies.html
        >> > * blog/index.html
        >> > * contributing.html
        >> > * docs/community-guide/building.part.html
        >> > * docs/community-guide/conventions.part.html
        >> > * docs/community-guide/debugging.part.html
        >> > * docs/community-guide/general.part.html
        >> > * docs/community-guide/issues.part.html
        >> > * docs/community-guide/l10n.part.html
        >> > * docs/community-guide/mailing-lists.part.html
        >> > * docs/community-guide/releasing.part.html
        >> > * docs/community-guide/roles.part.html
        >> > * docs/community-guide/web.part.html
        >> > * docs/index.html
        >> > * docs/release-notes/1.1.html
        >> > * docs/release-notes/1.10.html
        >> > * docs/release-notes/1.11.html
        >> > * docs/release-notes/1.12.html
        >> > * docs/release-notes/1.13.html
        >> > * docs/release-notes/1.14.html
        >> > * docs/release-notes/1.15.html
        >> > * docs/release-notes/1.2.html
        >> > * docs/release-notes/1.3.html
        >> > * docs/release-notes/1.4.html
        >> > * docs/release-notes/1.5.html
        >> > * docs/release-notes/1.6.html
        >> > * docs/release-notes/1.6.zh.html
        >> > * docs/release-notes/1.7.html
        >> > * docs/release-notes/1.8.html
        >> > * docs/release-notes/1.9.html
        >> > * docs/release-notes/index.html
        >> > * download.html
        >> > * faq.html
        >> > * faq.ja.html
        >> > * faq.zh.html
        >> > * features.html
        >> > * ideas.html
        >> > * index.html
        >> > * mailing-lists.html
        >> > * news.html
        >> > * opw.html
        >> > * packages.html
        >> > * pronunciation/index.html
        >> > * quick-start.html
        >> > * reporting-issues.html
        >> > * roadmap.html
        >> > * security/index.html
        >> > * source-code.html
        >> >   Remove "&para;" from section links: we add it via
        'content' CSS property.
        >>
        >> Hi,
        >>
        >> Sorry, this change doesn't seem to work on Firefox.
        >>
        >> I am using the very latest Firefox, version 153.0.1.
        >>
        > I am using Firefox 153.0.1 and it works for me.
        >
        > I have also tested Microsoft Edge 150.0.4078.99 and it also
        works.
        >
        > May it's some kind of caching issue?


        You are correct, it was a caching issue. This confused me
        because I
        believed that I had force-reloaded the page. However, I just
        checked
        and it turns out that Cmd + R only reloads the HTML. You have
        to press
        Cmd + Shift + R to also reload stylesheets. I had forgotten this.

        Strangely, an earlier change of the stylesheets (to add
        td.success,
        td.warning, td.danger) took effect here without any special
        action on
        my part.

        This issue is rather annoying. I was searching for a reliable
        method
        to force browsers to reload CSS when it changes without forcing a
        reload every time the page is accessed. One StackOverflow
        page [1]
        contains an entire debate about this. The most simplistic
        idea from
        that page is to rename the CSS file with some sort of
        monotonically
        increasing version number in the filename each time the file is
        edited. This method would always work; the downside is that
        it would
        necessitate changes to all the files across the site, each
        time we
        edit the CSS. That could be annoying for us.

    An alternative solution would be to add a query argument and
    increment it on every CSS change. Something like this:
    <link rel="stylesheet" href="/style/site.css?v=1" type="text/css"
    media="all">

    But we would still have to update 63 HTML files on every CSS
    change. I'm not sure it is worth it, but I can do this


    It's not worth it. Some browsers are just notorious for caching
    too much. That is not the case for Firefox – the difference
    between ^R/Shift-^R (or ⌘R/Shift-⌘R on the Mac) is well known.
    Safari, on the other hand, is way too smart, it doesn't have an
    equivalent to Shift-⌘R and will happily cache CSS and favicons and
    such even when they no longer exist at the source...

    TL;DR: This will only happen to people who are regularly tracking
    the changing staging web site.


It will also happen to anyone who regularly check the main website, whenever we merge this kind of changes. I have no idea how long it takes before the web browsers refresh a cached resource.

That said, I don't think it is worth changing 63 HTML files on every CSS change.

One possible solution: We already use mod_ssi to <!-- #include --> other files. One possible solution would be to have the head as a separate include. If I understand mod_ssi correctly, we could <!-- #set var="title" value="Some title" --> and then <title><!-- #echo var="title" --></title> in the header file. That way we only need to update the header-include file.


Changing this in the source code just smells wrong to me. I had a quick look and it appears that none of the HTML responses from apache.org have any cache control headers set. However, the response for our 'style/site.css' does have both ETag and Last-Modified (about 3 hours ago on the main site, apparently). Still, since there's no Cache-Control max_age or similar, any browser can decide to cache the page as long as it likes.

The correct way to fix this is to set cache-control headers appropriately, but this should be done by Infra, not us.

-- Brane

Reply via email to