summaryrefslogtreecommitdiff
path: root/developer-weekend/may-2020.mdwn
blob: 85113d0ec753491c5143c681a38aed77c7ffc56c (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
[[!meta title="Developer Weekend (May 2020)"]]
[[!meta author="NetSurf Developers"]]
[[!meta date="2020-05-22 09:00:00"]]

[[!toc]]

Attendees
=========

* Michael Drake
* Vincent Sanders
* Daniel Silverstone

Outstanding work (from Feb)
===========================

* General
    * Implement any appropriate auto fill auth handlers **IGNORING**
    * Continue styling the generated query pages. (Michael) **DONE**
    * Review TODOs. **IGNORING**
* Framebuffer
    * Listing of compiled-in surfaces (Daniel) **DONE**
* Internationalisation
    * Framebuffer front end.
    * 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
===============

* Complete RISC OS frontend support for pageinfo core window **DONE**
* Add url to about:query/ssl to launch cert viewer (the link needs _blank) (Daniel) **DONE**
* excise sslcert_viewer entirely (Daniel) **DONE**
  * Monkey doesn't need it, excise from farmer and driver **DONE**
  * Remove cert_verify from the `gui_misc_table` **DONE**
  * Email to developer list to say this has been done and that frontends
    will need to add padlock and page_info support **DONE**
* [[!bug 2752]] Building without openssl: acknowledged and assigned to Daniel. **DONE**
* [[!bug 2754]] GTK history delete menu options: acknowledged and assigned to Daniel. **DONE**
* [[!bug 2753]] RISC OS URL entry bug needs fixed. **DONE**


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

* [[!bug 2759]] To be closed when the web site doesn't mention MacOS any more.
* [[!bug 2740]] Wikipedia has its scrollbar on BODY instead of HTML.
* [[!bug 2755]] More Wikipedia scrollbars.
* [[!bug 2752]] Building without openssl: acknowledged and assigned to Daniel.
* [[!bug 2754]] GTK history delete menu options: acknowledged and assigned to Daniel.
* [[!bug 2753]] RISC OS URL entry bug needs fixed.
* [[!bug 2748]] Hubbub needs to know about these elements.
* [[!bug 2742]] Closed; no change required.

Topics
======

* HTML5 Canvas.
* Text layout (maybe).
* Selection cleanups.

Write ups
=========

Current Forms Handling
----------------------

### DOM / Gadget syncronisation

Currently both the DOM and the NetSurf gadget for form input elements
store a representation of the current state of the form element.
JavaScript can modifiy the representation in the DOM.  Users can
modifiy the repreentation in the form gadget.

There is a `form_gadget_sync_with_dom()` in NetSurf's `form.c`.
This syncronises the data both ways.  If the DOM has changed, then
the gadget representation is updated, and if the gadget has changed
then the DOM is updated.  If both have changed, the gadget version
wins.

The `form_gadget_sync_with_dom()` is called from:

* **[html/dom_event.c]** The DOMSubtreeModified callback.
* **[html/form.c]** The `form_gadget_update_value()` function, which is called
  from:
  * **[html/box_textarea.c]** The desktop/textarea widget callback for
    TEXTAREA_MSG_TEXT_MODIFIED.
  * **[html/html.c] The file upload handling in
    `html_set_file_gadget_filename()`.
* **[html/forms.c]** The `parse_input_element` function, which ends up getting
  called during box tree construction of the special box elements in
  **[html/box_special.c]**.


Tasks
=====

* Review Vince's text selection change commit.
* Release 3.10:
  * Complete RISC OS page-info.
  * Any blockers from bug triage.
* Make some progress with text layout.
* Michael to update Wikipedia scrollbar bug.
* JavaScript / bindings stuff:
  - Upgrade Duktape.
  - Unimplemented JavaScript list.
  - Binding generator improvements.
  - Looking at NetSurf's JS error logs and see what we need to do.
  - Build time heap config for reuse.
* Remove MacOS from web site.

Activity
========

Mostly individual activity here

Michael
-------

* Rebuild on Ubuntu 20.04 and fixed some new compiler warnings.
* Fixed [[!bug 2748]]: Updated Hubbub to know about some more elements.

Daniel
------

* Performed `sslcert_viewer`-ectomy
* Reworked env to prefer cross-env
* Included link for query/ssl to display certs
* Made curl fetcher build without openssl again
* Made treeview cancellation behave right
* ...and made gtk global history and friends cope with select all
* Added `<canvas>` support
* Fixed bug in GTK Quit handling
* Altered logging in `fs_backing_store`
* Unbroke monkey driver timeout handling
* Added cookie counting to `browser_window`
* Reworked cookie presentation as a `guit->misc` callback
* ...for all the major frontends
* Fixed buffer overrun in idna
* Fixed leak in llcache when new cert chains turn up
* Wrote Game of Life test for Canvas
* Fixed int32 and ulong property setting in `html_element` in libdom
* Fixed title string handling in `html_title_element`
* Support more types in `_init()` handling in nsgenbind
* Used `output_ccode` in more places in nsgenbind
* Fixed AST generation for overloaded methods in nsgenbind


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
=========

* May 22nd to 26th (Fri through Tuesday)
* Remote / video conf / IRC.