summaryrefslogtreecommitdiff
path: root/developer-weekend/feb-2019.mdwn
blob: 5505342f3cb987b37376a9ba8fc8316317551234 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
[[!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.