Attendees

  • Michael Drake
  • Vincent Sanders
  • Daniel Silverstone

Outstanding work (from May)

  • General
    • Implement any appropriate auto fill auth handlers
    • Low level cache should own certificate data and persist with all other data
      • Shouldn't be pushed down to browser window; browser window should request it from the hlcache handle, which should get it from the llcache.
    • Implement Site Information (padlock) and repurpose certificate error core windows to be certificate viewing interfaces
    • Continue styling the generated query pages.
    • Review TODOs.
  • Framebuffer
    • Language support for resources (Vince)
    • Listing of compiled-in surfaces (Vince)
  • Internationalisation
    • Translations of all messages for the SSL/privacy internal query page.
    • Translations of all messages for the authentication internal query page.
  • New tests
    • Take the 10,000 sites list, split it up into blocks of 20, and run them as independent tests.
    • Four core VM, which gets 4 Jenkins jobs for running these tests.
    • Experiment and see how it breaks down. Needs to be weekly (we can tweak it).
  • Text layout
    • Continue implementing. (Michael)

Topics

  • Goals for the weekend

    • Complete the multi-site parallel test stuff that Vince has started DONE
    • Migrate SSL certification ownership to the llcache and at least block out the padlock work DONE
    • Resolve new Debian packaging and upload Deferred to after 3.10
  • Bug triage

  • Reviews

    • Go over GTK frontend changes DONE As a group
    • Fetcher/Cache hacking regarding file/data/resources/etc DONE As a group
    • Look over the generic error internal query page work DONE Daniel checked it
    • Check over the mouse input handler rework DONE As a group
  • Consider the pathway to 3.10/4.0 DONE

  • Consider what the best return-on-effort might be to improve general layout support. We're increasingly falling behind. DONE

Discussions

Frontends

Coverity

Bug Triage

General Layout Improvement Approach

  • libcss needs support for calc
  • libcss needs css variable support
  • NetSurf could try and use the flexbox properties and grid layout
  • Continue to try and get jQuery working

Pathway to 3.10

  • Completion of MVP for page info core window (Assigned to Vince, Michael to help)
  • Completion of integration of that into GTK and RISC OS frontends, with others being given at least two weeks to integrate before they cease blocking. (Assigned to Vince)
  • At least some attention given to GTK focus issues (Assigned to Vince, Daniel to assist)
  • See if we can exfiltrate better SSL session error information such as a lack of cipher list overlap. NetSurf Mantis Bug#2719 (Assigned to Daniel)
  • Verify webp on riscos, disable if too buggy (Assigned to Michael)

Activity

Mostly individual activity here

Michael

  • Proposed a FOSDEM talk
  • NetSurf Mantis Bug#2689 - Fixed us not to render scrollbars when the CSS tells us not to.
  • Added some extra glyphs to the Framebuffer front end to render the the wttr page properly.
  • NetSurf Mantis Bug#2688 - Looked into the cause of this bug, and found it was due to the unimplemented opacity property. It's tricky to implement right now. It applies to all descendant elements, so compositing is required.
  • NetSurf Mantis Bug#2705 - Looked into this, unfortunately we seem to be given different content to Firefox - save firefox's content and NS can render it. ARGH.
  • Helped Daniel track down a breakage in libcss when faced with an incomplete ruleset inside a media query block.
  • Added support for KeyboardEvent properly in libdom and semi-properly in NetSurf

Daniel

  • Added support for storing SSL certificates onto the llcache objects
  • Added catchup support so that new users get the certs too
  • Added support for serialising and deserialising the certificate chains so that persistent https data retains its chain for use.
  • Did a bunch of toolchain updates
  • Did a bunch of rr and fixed some leaks in box_construct.c
  • Did a bunch of rr and tracked down a breakage in libcss when faced with an incomplete ruleset inside a media query block. (Michael helped)
  • Did a bunch of rr and tracked down an incorrect throbberstoppage.
  • Wrote support for page info status indicators in browser window and content, threaded through html content too.
  • Wrote a monkey test set to validate the page info status
  • Various jenkins frobbling

Vince

  • NetSurf Mantis Bug#2720 - Implemented feature request of closing tabs with middle click
  • Finished extended internet test badgering including full reorganisation of the monkey-tests tree.
  • Fixed NetSurf Mantis Bug#2709 - UTF8 caption on Windows (WIN32)
  • Implemented icons for page info status work that Daniel did, and made it all work in the GTK frontend (GTK2 and GTK3)
  • Temporarily plumbed the old SSL cert info into being activated from that button. It's not brilliant but it does work.
  • Began to look at fixing win32 font-width stuff for wide-chars
  • Various jenkins frobbling

Plan for page info

  1. We add to browser_window the concept of the currently displayed page info.
  2. That info is an enumeration of:
    • UNKNOWN (nothing loaded?)
    • INTERNAL (e.g. about: etc)
    • INSECURE (e.g. http://)
    • SECURE+PROBLEMS (e.g. https:// but http:// images, or badssl)
    • SECURE (all is well)
  3. Whenever the currently displayed page changes, browser_window will send a notification to the GUI, which will then be able to retrieve the current state information.
  4. More detailed page information will be available through further APIs

Then separately

When the page information button is clicked, the GUI pops up a corewindow for it. This window will show information about the page's security, etc. Most of the information for this can be directly retrieved from the browser_window and as such, the corewindow will be initialised with the browser_window pointer. The GUI will be responsible for destroying the corewindow when the browser window is going away, and for notifying the corewindow when the browser window event indicating info-change occurs.

This means that the corewindow is borrowing from the browser window, so we need to ensure that anything the browser window returns by pointer will remain safe for use even when navigation events occur.

Statement of work

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

  • General
    • Implement any appropriate auto fill auth handlers
    • Continue styling the generated query pages.
    • Review TODOs.
  • Framebuffer
    • Language support for resources (Vince)
    • Listing of compiled-in surfaces (Vince)
  • Internationalisation
    • Translations of all messages for the SSL/privacy internal query page.
    • Translations of all messages for the authentication internal query page.
  • Text layout
    • Continue implementing. (Michael)
  • Release 3.10
    • Which means do the work first needed to complete it
    • And then do Debian package releases, including removing framebuffer from Debian.
  • Events
    • Michael to do more UI event support in NetSurf

Next time

  • February 21st to 24th (Fri through Monday) as a full 4 day event
  • Manchester, unless something changes.