• Michael Drake
  • Vincent Sanders
  • Daniel Silverstone


  • John-Mark Bell

Statement of work (from November)

Within the fortnight we will:

  1. Have monkeyfarmer and monkey-driver updated to work with 401 and the full feature set thus-far defined.
  2. Have a set of tests in the netsurf-test repository along with their metadata.
  3. Have those tests aggregated during the build/install of the repo
  4. Have a CI job which downloads that aggregation, acquires a source-all tarball, and builds monkey from that, running the driver across the test set.



  • Daniel to sort wapcaplet dodginess with modern libcs/compilers.
  • Do the SoW from November
  • Attempt to correct the sanitize situation with libdom. Failing that, disable the job
  • Bug Triage
  • Figure out why master branch packaging jobs are failing
  • Review framebuffer's feature set and decide on a battle plan


  • Review Lars statement on netsurf and the ick project
  • Daniel to write a CGI which reports everything about how it's called
  • Vince can then look at NetSurf Mantis Bug#2595 (submission missing button)
  • Vince can then look at NetSurf Mantis Bug#2558 (text area truncation)
  • Daniel will tone down dukky debug regarding odd stack trace reports
  • Vince will do NetSurf Mantis Bug#2617 (LCC support in build system)
  • Michael to update the svgtiny parser bug with why it's hard and thus why we are deferring it short-term.
  • Michael will look through his assigned bugs.


We all had a chat about Lars' statement on NetSurf and Ick - with a minor alteration we agreed to allow Lars to publish.


Bug Triage


  • Found and fixed issue with warning in wapcaplet. Learned that memcpy has a return value. Shocking!
  • Fixed a monkey TEXT plot call bug which was introducing spurious newlines and also failing to render the limited text string properly. This now enables the 401LOGIN support previously written in the
  • Added support for 401 in and wrote a 401login.yaml to demonstrate
  • Perhaps fixed remaining issue with dom sanitize tests.
  • Issued certificate for
  • Wrote monkey-see-monkey-do and associated index CGI in the tests
  • Wrote an image.cgi which Michael might be able to use.
  • Wrote an env.cgi for Vince to use.
  • Reworked dukky logging pathways, toned things down by default, added a category for dukky, and got nsgenbind to use it all.
  • Wrote a Makefile change for Vince


  • Looked at libdom sanitiser failures.
    • Found I'd already fixed all the issues with the actual libdom library source on a branch.
    • The commit message also helpfully explained all the remaining failures due to an issue in the perl test generator.
    • Merged the libdom fixes and discussed the perl stuff with Daniel.
  • Cleaned up the netsurf-test repo.
  • Wrote a bunch of automated NetSurf tests for netsurf-test.
  • Some minor fixes and tweaks to the monkey test runners.
  • Added bmp and ico to Monkey's mime hash.
  • Fixed HTML reflow triggered by HTML child objects to pass the correct viewport height to layout. Fixes bug NetSurf Mantis Bug#2629. This has made the content structure aware of viewport height. (It was always aware of viewport width.)


  • Updated all working toolchains (not atari) with new openssl/curl etc.
  • fixed framebuffer install target to use install program and install messages file with the correct case. NetSurf Mantis Bug#2616
  • fixed bug NetSurf Mantis Bug#2468 to get openbsd building framebuffer
  • resolved package build faliures in CI
  • Added support to the CI for running the integration test suites.
  • added framebuffer language resource selection from environment.
  • Added webp support
  • Sorted a bunch of bugs' "Fixed in version…"



If we do nothing about the toolchains soon, it'll be entirely demoted.


Basically gone away


Keep as release but minimal feature additions:

  • corewindow for cookies etc.
  • language support LANGUAGE, LC_ALL, LC_MESSAGES, LANG split on : then _ to get langs and use as default Accept language
  • fontconfig
  • ability to list compiled in libnsfb surfaces


We revisited the decisions made in September 2017 and decided they're all good so we're not changing them for now.

Statement of work

If at all possible, we'd like to see some of the following addressed before the next developer weekend…

  • Monkey
    • Ability to inject an arbitrary piece of JavaScript (Daniel)
    • Driver - capability to "Click" on a specified piece of text (Daniel) (Basically a way to say click button FOO)
  • JavaScript
    • Some documentation around how to write bindings (Vince)
  • Dynamic relayout
    • Write up documentation around whether we can regenerate the box model as a sop to basic dynamic content changes. (Michael)
  • Framebuffer
    • Language support for resources (Vince)
    • Fontconfig (Vince)
    • Listing of compiled-in surfaces (Vince)
  • LibCSS
    • Finish media queries (Michael)

Things we might want to think about but are making no commitments on:

  • GTK4?
  • Qt?
  • Framebuffer corewindow support
  • Further work toward core-as-widget
  • Using the core buildsystem for NetSurf

We expect that subsequent to the next developer weekend we will make a release of NetSurf to comprise all the shiny new bug fixes (and possibly shiny new bugs too)

Next time

The next developer weekend will be in Manchester, from Friday 3rd through Tuesday 7th May.