summaryrefslogtreecommitdiff
path: root/developer-weekend/feb-2020.mdwn
blob: 9a1b683b898f9861d6f74b43b36729e76bd24e15 (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
[[!meta title="Developer Weekend (February 2020)"]]
[[!meta author="NetSurf Developers"]]
[[!meta date="2020-02-24 09:00:00"]]

[[!toc]]

Attendees
=========

* Michael Drake
* Vincent Sanders
* Daniel Silverstone


Outstanding work (from December)
============================

* General
    * Implement any appropriate auto fill auth handlers **IGNORING**
    * Continue styling the generated query pages. (Michael)
    * Review TODOs.
* Framebuffer
    * Language support for resources (Vince) **SHITCANNED**
    * 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.
    * Short of finding a native speaker there's not a lot we can do.  **Nothing**
* 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 **SHITCANNED**

Pathway to 3.10
===============

* Completion of MVP for page info core window (Michael to work on this)
* DER exfiltration and SSL Certificate viewer `about:certificate` (Vince)
* 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 (Daniel to complete this)
* Review styling for internal pages. (Assigned to Michael)
* Listing compiled-in surfaces for nsfb (Assigned to Vincent)
* [[!bug 2650]] Inappropriate error message (Assigned to Vincent)
* [[!bug 2722]] GTK3 UI vertical scrollbar wrong (Assigned to Vincent)
* [[!bug 2721]] Bizarre corners on download box in highdpi (Assigned to Michael)

Bug Triage
==========

* [[!bug 2704]] - Closed, can't reproduce.
* [[!bug 2702]] - Definitely still happening, Daniel will look. (NOT ASSIGNING)
* [[!bug 2716]] - Acknowledged (CURL ARES)
* [[!bug 2717]] - Acknowledged (CURL ARES)
* [[!bug 2703]] - Closed, notabug
* [[!bug 2722]] - Selected for this weekend.
* [[!bug 2719]] - Closed, no resolution required
* [[!bug 2727]] - Acknowledged (Our scaling sucks)
* [[!bug 2729]] - Closed, macOS sucks
* [[!bug 2730]] - Misguided attempt at typo fix, closed.
* [[!bug 2726]] - Closed, can't reproduce
* [[!bug 2708]] - Fixed in 3.10
* [[!bug 2731]] - Acknowledged
* [[!bug 2732]] - Resolved in 3.10
* [[!bug 2733]] - Acknowledged feature request
* [[!bug 2734]] - Acknowledged feature request
* [[!bug 2735]] - Acknowledged feature request
* [[!bug 2737]] - Assigned to Daniel
* [[!bug 2739]] - Assigned to Vincent
* [[!bug 2738]] - Michael to explain user stylesheet
* [[!bug 2736]] - Assigned to Daniel
* [[!bug 2620]] - Assigned to Vincent

Topics
======

* We need a discussion about framebuffer, but won't block 3.10 mostly
* See if we can exfiltrate better SSL session error information such as a lack
  of cipher list overlap. [[!bug 2719]] (Assigned to Daniel)

Activity
========

Mostly individual activity here

Michael
-------

* Converted NetSurf's README to Markdown.
* Removed unused minimum GIF delay setting from front ends (RISC OS, Amiga,
  GTK, Atari, Windows).
* Removed unused minimum GIF delay option from Core settings.
* Removed unused minimum GIF delay option from documentation.
* Various constifications of parameters though APIs:
  - The `bw` in browser window URL access function.
  - The core window in the core window callback table's getters.
  - The treeview clip rectangle through redraw.
  - The `bw` though the browser_window page_info getter.
* Check for success/failure on HTML script mimetype interning.
* Split out a helper to get colour lightness in plot_style.
* Added function to engorge a particular component channel in a colour.
* Added stubs for new browser window interfaces for page-info functionality.
* Added new page info core window.
  - Handles correct scaling of everything (text, paddings, etc) for different DPIs.
  - Handles light on dark, or dark on light colour configurations.
  - Implemented content layout, redraw and mouse action.
* Initialise/finalise the page-info module in NetSurf startup/quit handling.
* Renamed "crtvrfy" to "pi" (for page-info) in the GTK front end.
* Found a bug in the Amiga m86k toolchain where the compiler generates assembly
  that the assembler says is invalid.
  - For now, since we can't build the Amiga m86k toolchain, we have just
    disabled that entry in the CI build matrix.
* Added `-ldl` link flag for unit test build of `libmalloc_fig.so`.
* Addressed missing malloc check in hashmap from Rob's code review.
* Added treeview API for setting a search string in searchable treeviews.
* Added cookie manager API for setting search string.
* Made the browser window cookie opener set the search term to the current
  URL's host.

Daniel
------

* Went through [[!bug 2702]] worked out that we weren't completing the
  content state machine when async scripts completed after `dom_to_box` had
  finished.  Fixed that.
* Went through [[!bug 2736]] and fixed the tests to use `__func__` instead.
* Updated the SDK for iconv and curl versions
* GTK3 - local history focussing and other core windows
* Fixed async scripts not completing the content state machine properly
* Don't progress the content state machine if scripts dont' run anything
* Ignore content loading status in html_proceed_to_done
* Added `DOMImplementation::createHtmlDocument()`
* Added `Element::innerHTML` support
* Added `Element::attributes` and thus a rudimentary `NamedNodeMap` and proxies
* Fixed `infinity` to `Infinity` in exports in `Window`
* Added `FOREGROUND` browser window creation flag to be honoured in frontends
  which use tabs and can open things in the background at user choice
    * Added support for that in GTK frontend
* Added `FOCUS_LOCATION` browser window creation flag which frontends can use
  to indicate that they want the location bar focussed when the window opens
    * Added support to GTK frontend to use that
    * Added a state machine for the focussing logic in GTK
* Corrected `browser_window` to inform the GUI when redirects occur and to
  ensure that the final URL reported to the GUI is the final fetched URL not
  the fetch parameters URL
    * Removed hack in GTK for url bar refresh on throbber stop as a result
* Various GTK3 type updates (e.g. `GtkVBox` and `GtkHBox` to `GtkBox`)
* Increased information available from `monkeyfarmer.py` when a window is
  alive after being asked to destroy itself
    * Also increased timeout in `monkey_driver` for that so that tests pass
      once more
* In the GTK frontend, drain GTK events before polling the scheduler to allow
  windows a chance to realise before we render.  This improves the local history
  thumbnails and scrollbar size
    * To complete the scrollbar fix, also send a resize event to the grid when
      we complete a fetch so that the scrollbar will rerender its thumb properly
* Correct `Node::nodeValue` setter to return the value set into it
* made llcache persist anything useful during finalise
* Added generic hashmap type
    * Reworked the `fs_backing_store` to use this hashmap to reduce memory
      impact at startup and simplify the code a bit.
    * Added an SSL certificate chain cache to the curl fetcher using the hashmap
* Corrected ring handling in about, resource, file, and data fetchers
* Made fetch core send a `FETCH_ERROR` of `FetchFailedToFinish` if a fetch
  is freed without actually passing through one of the finish states


Vince
-----




Statement of work
=================

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


Next time
=========

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