Feature #8642

Enable the mirror pool dispatcher on all website pages that need it

Added by intrigeri 2015-01-09 16:52:00 . Updated 2016-05-31 20:23:57 .

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Installation
Target version:
Start date:
2015-01-09
Due date:
2016-04-15
% Done:

100%

Feature Branch:
web/8642-enable-mirror-pool-dispatcher
Type of work:
End-user documentation
Blueprint:

Starter:
Affected tool:
Deliverable for:
269

Description

This is about having our JS mirror pool dispatcher loaded and active on web pages that need it.


Subtasks


Related issues

Blocks Tails - Feature #8643: Clean up the remainers of the old mirror pool setup Resolved 2015-01-09 2016-04-15
Blocked by Tails - Bug #11329: Mark all links on the website which should use the mirror pool Resolved 2016-04-06
Blocks Tails - Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors Resolved 2016-03-25
Blocks Tails - Bug #11483: Have mirrors.json use proper server-side caching control Resolved 2016-05-24

History

#1 Updated by intrigeri 2015-01-09 16:53:04

  • blocked by Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o added

#2 Updated by intrigeri 2015-01-09 16:53:39

  • blocks Feature #8643: Clean up the remainers of the old mirror pool setup added

#3 Updated by intrigeri 2015-05-28 15:17:52

  • blocks #8668 added

#4 Updated by intrigeri 2015-05-28 15:18:27

  • Target version changed from Sustainability_M1 to Tails_2.3

#5 Updated by intrigeri 2015-08-02 09:57:28

  • Due date set to 2016-04-15

#6 Updated by intrigeri 2015-09-28 04:52:10

  • Subject changed from Adjust download documentation to point to the mirror pool dispatcher URL to Adjust download page to point to use the mirror pool dispatcher

#7 Updated by intrigeri 2015-09-28 04:52:23

  • Subject changed from Adjust download page to point to use the mirror pool dispatcher to Adjust download page to use the mirror pool dispatcher

#8 Updated by intrigeri 2015-09-28 04:53:08

  • blocked by Feature #8635: Make each mirror provide a unique virtualhost name added

#9 Updated by intrigeri 2016-03-25 21:07:49

In https://mailman.boum.org/pipermail/tails-dev/2016-February/010262.html (Feature #10284) we’ve decided to not do this, and instead use the fallback DNS round-robin pool for anyone not using DAVE.

#10 Updated by intrigeri 2016-03-25 21:08:01

  • blocks deleted (Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o)

#11 Updated by intrigeri 2016-03-25 21:08:05

  • blocked by deleted (#8668)

#12 Updated by intrigeri 2016-03-25 21:08:11

  • blocks deleted (Feature #8635: Make each mirror provide a unique virtualhost name)

#13 Updated by intrigeri 2016-03-25 21:08:17

  • blocked by deleted (Feature #8643: Clean up the remainers of the old mirror pool setup)

#14 Updated by intrigeri 2016-03-25 21:08:41

  • Status changed from Confirmed to Rejected
  • Assignee deleted (intrigeri)

#15 Updated by intrigeri 2016-03-25 21:08:51

  • % Done changed from 0 to 100

#16 Updated by Anonymous 2016-04-06 08:56:25

  • Status changed from Rejected to Confirmed
  • Assignee set to intrigeri
  • % Done changed from 100 to 60

I am reopening this. Some links on the website should use the mirror pool dispatcher: news/* (Call for testing) and the newly to be added back link to to the ISO and signature.

#17 Updated by Anonymous 2016-04-06 08:56:42

  • Subject changed from Adjust download page to use the mirror pool dispatcher to Adjust some website pages to use the mirror pool dispatcher

#18 Updated by intrigeri 2016-04-07 03:55:07

FTR: we had to revisit the decision made last month, since there will be a direct link to the ISO (Bug #11024) and thus non-DAVE downloads can hardly be considered as a corner case anymore.

#19 Updated by intrigeri 2016-04-07 03:57:24

  • blocks Feature #8643: Clean up the remainers of the old mirror pool setup added

#20 Updated by intrigeri 2016-04-07 03:58:56

  • Subject changed from Adjust some website pages to use the mirror pool dispatcher to Enable the mirror pool dispatcher on all website pages that need it
  • Description updated

#21 Updated by intrigeri 2016-04-07 03:59:20

  • blocked by Bug #11329: Mark all links on the website which should use the mirror pool added

#22 Updated by intrigeri 2016-04-07 04:00:06

  • blocked by Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o added

#23 Updated by intrigeri 2016-04-07 04:00:20

  • blocked by Feature #8635: Make each mirror provide a unique virtualhost name added

#24 Updated by intrigeri 2016-04-07 06:41:02

  • Assignee deleted (intrigeri)
  • Feature Branch set to web/8642-enable-mirror-pool-dispatcher

#25 Updated by intrigeri 2016-04-07 06:45:49

  • Status changed from Confirmed to In Progress
  • Assignee set to intrigeri

Tested the branch locally as best as I could, and it seems to work :)

We now have two options:

  • merge this into master, and have the JS use a mirrors.json that only has dl.amnesia.boum.org
  • wait until Feature #8635 is done and mirrors.json points to the new mirrors pool

Let’s think about it more.

#26 Updated by intrigeri 2016-04-08 07:02:10

I think we should wait until at least ma1 and co6 have reviewed our the JS code of our mirror-dispatcher library + our changes to DAVE, i.e. until we can consider mirror-dispatcher.js as reviewed and ready for production use.

#27 Updated by intrigeri 2016-04-17 02:10:52

  • Target version changed from Tails_2.3 to Tails_2.4

#28 Updated by intrigeri 2016-04-28 12:08:51

  • blocks deleted (Feature #8635: Make each mirror provide a unique virtualhost name)

#29 Updated by intrigeri 2016-04-28 12:13:34

  • blocked by Feature #11384: Record the current state of our mirror pool in JSON added

#30 Updated by intrigeri 2016-04-28 12:18:51

  • blocks deleted (Feature #8641: Have the mirror pool dispatcher script deployed on tails.b.o)

#31 Updated by intrigeri 2016-04-28 12:21:31

  • blocked by Feature #8640: Have the mirror pool dispatcher library audited added

#32 Updated by intrigeri 2016-04-30 06:57:13

Note that there’s ongoing work on the IA, that may add more links that need to get the right CSS class, so before we merge this we’ll need to do a last complete search for such links (and then, we’ll need to communicate with the IA developers and doc writers, to let them know how links to dl.a.b.o should look like nowadays).

#33 Updated by intrigeri 2016-05-04 07:37:34

intrigeri wrote:
> […] we’ll need to communicate with the IA developers and doc writers, to let them know how links to dl.a.b.o should look like nowadays).

Just done that (over email).

#34 Updated by intrigeri 2016-05-04 10:43:24

  • blocked by Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors added

#35 Updated by intrigeri 2016-05-10 03:56:48

  • Assignee deleted (intrigeri)
  • QA Check set to Ready for QA

Can you please review this branch, and then reassign to me?

#36 Updated by Anonymous 2016-05-13 03:07:43

  • Assignee set to intrigeri
  • QA Check changed from Ready for QA to Pass

Looks good! thanks!

#37 Updated by Anonymous 2016-05-13 03:51:54

Depending on https://labs.riseup.net/code/issues/11405 we might want to include this script only on non IE browsers. Using conditional comments :

<!--[if !IE]><!--><script>our script</script><!--<![endif]-->

.. but this will not work in recent IE browsers as support for this kind of comment has been deprecated..https://msdn.microsoft.com/library/hh801214(v=vs.85).aspx So I’m not sure it’s actually a good solution.

#38 Updated by intrigeri 2016-05-14 03:15:19

  • QA Check deleted (Pass)

#39 Updated by intrigeri 2016-05-23 12:48:11

  • blocks deleted (Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors)

#40 Updated by intrigeri 2016-05-23 12:48:21

  • blocks deleted (Feature #11384: Record the current state of our mirror pool in JSON)

#41 Updated by intrigeri 2016-05-23 12:50:08

  • blocks Feature #11284: Update the DNS round-robin mirror pool to only include a few fast and reliable HTTP mirrors added

#42 Updated by intrigeri 2016-05-23 13:47:53

  • blocks deleted (Feature #8640: Have the mirror pool dispatcher library audited)

#43 Updated by intrigeri 2016-05-23 13:49:05

(u and I agree that this can now go live, without blocking on Feature #8640, since u has addressed all concerns raised by the 1st security audit, and I’m happy with the resulting code.)

#44 Updated by intrigeri 2016-05-23 14:43:00

  • % Done changed from 60 to 70

I’ve merged master again, and checked that any new dl.a.b.o or stable_i386_iso_url occurrence had the right CSS class. Then I’ve tested locally, it works fine, modulo a bug in the JS (reject() does not exist, so our various sanity checks are no-ops in practice) that we’ve just discovered. Once that bug is fixed, I’ll test again and will send this to sajolida’s plate for a last review, and I’ll let him merge! :)

#45 Updated by intrigeri 2016-05-23 16:36:19

  • Assignee changed from intrigeri to sajolida
  • QA Check set to Ready for QA

All known issues have been fixed, it works for me locally on news/test_2.2-rc1.en.html and install/download/openpgp.en.html. Please review and merge :)

#46 Updated by intrigeri 2016-05-26 13:21:53

  • blocks Bug #11483: Have mirrors.json use proper server-side caching control added

#47 Updated by sajolida 2016-05-31 20:23:57

  • Status changed from In Progress to Resolved
  • Assignee deleted (sajolida)
  • % Done changed from 70 to 100
  • QA Check deleted (Ready for QA)

Merging now!