polyglot icon indicating copy to clipboard operation
polyglot copied to clipboard

site.active_lang is occasionally wrong when parallel_localization is enabled

Open linsui opened this issue 1 year ago • 8 comments

We upgraded Jekyll from 3.8.3 to 4.3.1 for https://f-droid.org/ and had to upgrade polyglot to get that working. Since then, site.active_lang is occasionally the wrong value, causing parts of the page to be rendered in the wrong language. It seems to always be a language that was processed as part of the same batch. For example, on our 12 CPU render machine, de occasionally gets he and zh_Hans occasionally gets tr.

It seems that setting parallel_localization: false fixes it, but also drastically slows things down for a 24 language site.

@obfusk Could you also take a look since you worked on parallel_localization? Thanks!

With parallel_localization: false, there is now a stacktrace involving polyglot: https://gitlab.com/fdroid/fdroid-website/-/jobs/6364604629

linsui avatar Mar 11 '24 11:03 linsui

I am no longer working on anything related to F-Droid, having been given no choice but to leave the project several months ago.

obfusk avatar Mar 11 '24 15:03 obfusk

图片 图片

linsui avatar Mar 11 '24 15:03 linsui

could be related to this prior change. But writing tests for some of this is rather challenging. The parallel localization approach to fork is so naive, and I regret it as a design decision from a security perspective. https://github.com/untra/polyglot/pull/140/files

I would appreciate help with the current open PRs @obfusk started, but I also understand if ya also want nothing to do with this. I could use the help with open source software tho.

@linsui did you upgrade any other parts of the site build process besides jekyll major versions by chance? different ci provider, new arm runners by chance? those can influence weird behavior problems like this given the fork strategy parallel_localization uses.

untra avatar Mar 11 '24 18:03 untra

https://gitlab.com/fdroid/fdroid-website/-/merge_requests/1030 I thought I didn't upgrade other parts.

linsui avatar Mar 12 '24 05:03 linsui

Hey @untra thanks for your response. I've been working with @linsui to troubleshoot this, but I'm not a Ruby or Jekyll programmer. Switching to parallel_localization: false in https://gitlab.com/fdroid/fdroid-website/-/jobs/6364604629 actually gave us a really different result, so perhaps this is not a bug in the parallelization after all. There is a stacktrace now, and I am guessing it might have something to do with changes made to how default_lang: is handled since v1.3ish. Here's the stacktrace:

  Liquid Exception: Liquid error (/builds/fdroid/fdroid-website/_includes/sidebar-lastupdated-packages.html line 3): Cannot sort a null object. included in /builds/fdroid/fdroid-website/_layouts/default.html
/usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/filters.rb:302:in `sort': Liquid error (/builds/fdroid/fdroid-website/_includes/sidebar-lastupdated-packages.html line 3): Cannot sort a null object. included  (Liquid::ArgumentError)
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/strainer_template.rb:52:in `invoke'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/context.rb:104:in `invoke'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:90:in `block in render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:88:in `each'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:88:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tags/assign.rb:37:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-fdroid-aafd701ad4df/lib/jekyll/FDroidLastUpdatedPackagesTag.rb:26:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tag.rb:51:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:204:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/tags/include.rb:122:in `block in render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/context.rb:134:in `stack'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/tags/include.rb:119:in `render'
	from /usr/share/rubygems-integration/all/gems/jekyll-include-cache-0.2.1/lib/jekyll-include-cache/tag.rb:22:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tag.rb:51:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:204:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:129:in `render_liquid'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:192:in `render_layout'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:161:in `place_in_layouts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:93:in `render_document'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:63:in `run'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:578:in `render_regenerated'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:563:in `block (2 levels) in render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `each'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `block in render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `each_value'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:210:in `render'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:80:in `process'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:101:in `process_active_language'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:85:in `process_language'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:60:in `block in process'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:59:in `each'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:59:in `process'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:28:in `process_site'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:65:in `build'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:36:in `process'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `each'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/exe/jekyll:13:in `<top (required)>'
	from /usr/bin/jekyll:25:in `load'
	from /usr/bin/jekyll:25:in `<main>'
/usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/filters.rb:302:in `sort': Cannot sort a null object. (ArgumentError)
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/strainer_template.rb:52:in `invoke'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/context.rb:104:in `invoke'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:90:in `block in render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:88:in `each'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/variable.rb:88:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tags/assign.rb:37:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-fdroid-aafd701ad4df/lib/jekyll/FDroidLastUpdatedPackagesTag.rb:26:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tag.rb:51:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:204:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/tags/include.rb:122:in `block in render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/context.rb:134:in `stack'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/tags/include.rb:119:in `render'
	from /usr/share/rubygems-integration/all/gems/jekyll-include-cache-0.2.1/lib/jekyll-include-cache/tag.rb:22:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/tag.rb:51:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:80:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:230:in `render_node'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/block_body.rb:213:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/document.rb:41:in `render_to_output_buffer'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:194:in `render'
	from /usr/share/rubygems-integration/all/gems/liquid-5.4.0/lib/liquid/template.rb:204:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:39:in `block (3 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:59:in `measure_counts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:38:in `block (2 levels) in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:63:in `measure_bytes'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:37:in `block in render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:70:in `measure_time'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/liquid_renderer/file.rb:36:in `render!'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:129:in `render_liquid'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:192:in `render_layout'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:161:in `place_in_layouts'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:93:in `render_document'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/renderer.rb:63:in `run'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:578:in `render_regenerated'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:563:in `block (2 levels) in render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `each'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:562:in `block in render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `each_value'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:561:in `render_docs'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:210:in `render'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/site.rb:80:in `process'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:101:in `process_active_language'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:85:in `process_language'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:60:in `block in process'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:59:in `each'
	from /var/lib/gems/3.1.0/bundler/gems/jekyll-polyglot-0760eda11055/lib/jekyll/polyglot/patches/jekyll/site.rb:59:in `process'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:28:in `process_site'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:65:in `build'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:36:in `process'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `block in process_with_graceful_fail'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `each'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/command.rb:91:in `process_with_graceful_fail'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/lib/jekyll/commands/build.rb:18:in `block (2 levels) in init_with_program'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `block in execute'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `each'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/command.rb:221:in `execute'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary/program.rb:44:in `go'
	from /usr/share/rubygems-integration/all/gems/mercenary-0.4.0/lib/mercenary.rb:21:in `program'
	from /usr/share/rubygems-integration/all/gems/jekyll-4.3.1/exe/jekyll:13:in `<top (required)>'
	from /usr/bin/jekyll:25:in `load'
	from /usr/bin/jekyll:25:in `<main>'

eighthave avatar Mar 12 '24 08:03 eighthave

Here is the relevant code from the stacktrace:

  • https://gitlab.com/fdroid/fdroid-website/-/blob/master/_includes/sidebar-lastupdated-packages.html
  • https://gitlab.com/fdroid/jekyll-fdroid/-/blob/aafd701ad4df/lib/jekyll/FDroidLastUpdatedPackagesTag.rb#L26
  • https://gitlab.com/fdroid/jekyll-fdroid/-/blob/aafd701ad4df/_layouts/sidebar-lastupdated-packages.html

So it seems that site or site.packages ends up being null at https://gitlab.com/fdroid/jekyll-fdroid/-/blob/aafd701ad4df/_layouts/sidebar-lastupdated-packages.html#L1

@seabass-labrax any ideas?

eighthave avatar Mar 12 '24 08:03 eighthave

try out v1.8.0, which should additionally provide further debugging output if sub processes are individually failing.

untra avatar Mar 17 '24 18:03 untra

We've tried it on staging.f-droid.org and it seems like it might reduce the likelihood of the sidebar element having the wrong language, but it doesn't completely stop it. I'm switching production to v1.8.0 and I uploaded it to Debian.

eighthave avatar Apr 04 '24 09:04 eighthave

It sounds this issue has been resolved, but let me know if this is still an issue. Cheers!

untra avatar Jan 10 '25 04:01 untra

It is unfortunately not resolved, but instead, we are relying on hacky workarounds. We're working on finding new contributors to help us get it fixed. Could you reopen it please?

eighthave avatar Jan 16 '25 11:01 eighthave

👋 @untra

This issue can now be closed.

The issue we had in the fdroid website repo was actually related to how we were using jekyll-include-cache gem (ref: FDroid - Issue #775 ).

heliocola avatar May 03 '25 09:05 heliocola

Thanks!

linsui avatar May 03 '25 13:05 linsui