Stabilize Pier

Several weeks ago, loading Pier in a Pharo 10 image would fail with an error:

Warning: Package *Pier-Seaside depends on the following classes: GRPharoZnUtf8CodecStream You must resolve ...

Since then, someone has resolved the issue and it cleanly loads. It may have been a change to a project that Pier depends. Below are a list of recent changes merged into the main Pier branch:

  • Loading PRValueLink>>#redirectIn: raised errors because it sent #fromString: to PRLink. No similar classes implement this so it was replaced with #fromReference:
  • Pier Scheduled Tasks that have syntax errors can cause the whole webserver to crash, for example:

    PRScheduledTaskExamples newForKernelNamed: 'Pier') reportOfHistoryOnPageAt: '/example/line/should/begin/with/an/open/paran/Report'.

    adding this message allows it to be ignored instead:

    class compiler failBlock: [ :ignore | ]

  • Improve wiki search - the previous version would begin the search results page with: Your search for "..." - this could instead explain what the search was executed as, like: searching for "-bad good" excludes "bad" but includes "good"; it could be displayed as: NOT bad AND GOOD
  • Updated web scraping to reduce timeouts.
  • Updated workouts: so a test passes (replaced collectAll: with add:/addAll:).

Posted by John Borden at 3 October 2023, 12:00 am with tags Pier link

Comments

Committed the changes to GitHub

Posted by John Borden at 4 October 2023, 3:03 am link