[[!meta title="Developer Weekend (February 2019)"]] [[!meta author="Daniel Silverstone"]] [[!meta date="2019-02-17 14:00:00"]] [[!toc]] Attendees ========= * Michael Drake * Vincent Sanders * Daniel Silverstone Apologies ========= * 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. Topics ====== Saturday -------- * 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 Sunday ------ * 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 [[!bug 2595]] (submission missing button) * Vince can then look at [[!bug 2558]] (text area truncation) * Daniel will tone down dukky debug regarding odd stack trace reports * Vince will do [[!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. Discussions =========== We all had a chat about Lars' statement on NetSurf and Ick - with a minor alteration we agreed to allow Lars to publish. Activity ======== Bug Triage ---------- * [[!bug 2595]] (Form button submission missing name/value) should be tackled on Sunday * [[!bug 2558]] (Text area truncation/timeouts?) Possibly investigate adding a test case for this. * [[!bug 2630]] (Dukky too verbose) will be solved by Daniel by rolling back the warnings to debug level for now. No movement on the github bug. * [[!bug 2629]] (Oddness in 50vh in css) assigned to Michael * Daniel closed the CMakeLists bugs WONTFIX * [[!bug 2617]] (LCC support in build system) assigned to Vince * [[!bug 2600]] (no username stuff?) closed can't reproduce * [[!bug 2531]] (Something minijemmish) closed no change required * [[!bug 1961]] (Something fragmented) michael had already fixed * [[!bug 2605]] (JPEG somesuch) michael closes because they've not reproduced * [[!bug 2599]] (svgtiny parsing) assigned to michael Daniel ------ * 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 `monkeyfarmer.py` * Added support for 401 in `monkey-driver.py` and wrote a `401login.yaml` to demonstrate * Perhaps fixed remaining issue with dom sanitize tests. * Issued certificate for test.netsurf-browser.org * 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 Michael ------- * 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 [[!bug 2629]]. This has made the content structure aware of viewport height. (It was always aware of viewport width.) Vincent ------- * 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. [[!bug 2616]] * fixed bug [[!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…" Frontends ========= ### Atari If we do nothing about the toolchains soon, it'll be entirely demoted. ### Cocoa Basically gone away ### Framebuffer 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 ### Otherwise... We revisited the decisions made in [September 2017](../sep-2017/#index4h1) 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.