-
Notifications
You must be signed in to change notification settings - Fork 0
/
todo.txt
263 lines (215 loc) · 13.4 KB
/
todo.txt
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
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
# TODO
# 3.1.0
Copy to clipboard
Cope with triggering downloads from within tab (check load reason?)
Test with proxies
Testing with things like ublock
Put documentation back online
# 3.2.0
Rework using react?
# 3.3.0
DNS support (release version with min_compat 60
# 2.0.2
Bugfix
- Fix bugs with tracking window IDs
Remove legacy code
Fix some tests
#2.1
Support for [2001::1] format hostname (needs to match for mainHost functionality)
Testing
- tests for requestcache behaviour
- Unit testing for IP related methods
investigate channelIsForDownload on nsIHttpChannelInternal
Optimisations
- Avoid lengthy IP type/ordering calls
NAT64 prefixes
- Detection + conversion of embedded IPv4 addresses
- Configurable prefix
- Autodetect prefixes (+ manual config too)
- Translation strings for config
Warnings for ip6_disabled and ip4only_domain
- ip4only_domain should show a badge next to affected domains
- permit toggling whether a domain is on the ip4 only list or not
- configuration interface in settings to access list of ip4only_domains
- ip6_disabled should show a warning on the panel
- maybe tint the entire panel red?
SSL information for connections
(- Show yellow icon for mixed-mode connections)
- Certificate info on hover over icon (+ copy to clipboard on click)
# 2.2
Overview mode for icon
- show green icon only if all connections made using v6
- show blue icon only if all hosts have only AAAA records
Local info:
Refactor local address code
Retrieve interface information along with addresses
- Display local addresses per interface
- Linting ctypes files
Retrieve netmask information for each address and display (e.g. 1999::1/64)
- Also collect tunnel interface IPs on Vista+
Better greyscale icons (especially for cache entries)
- new monochrome icon set (match new FF icons?)
# Rejected ideas:
Detail view pane for info about each connection
Copy everything (report) to clipboard
Add ability to copy a list of all files fetched to clipboard (per-domain)
Record total size of objects downloaded from each site + display (in KB? etc.)
Icon display in status bar on SeaMonkey/Firefox alternatives
switch over to nsIWebProgressListener - doesn't expose IP addresses!
# Ideas
Multiple workers to speed up DNS resolution
Refactor return objects from DNS lookups (wrapped IP address objects w/ type etc.)
Test internationalised domain names handling by native resolvers
- e.g. www.söhne.com
Collect nsIHttpChannelInternal.localAddress info for each request
- Highlight addresses used to load pages?
German translation for addon description
Handling for edge-cases and special pages (text)
Reverse DNS lookups? (local/remote)
More info about IP address types, e.g. link-local, global etc.
# Done
# 2.0.0
E10S support - DONE
Use Services.jsm in place of Components.classes.getService where possible - DONE
- https://developer.mozilla.org/en-US/docs/Mozilla/JavaScript_code_modules/Services.jsm
Replace env.jsm with Services.jsm.appinfo - DONE
Refactor requestcache/requestobserver - DONE
- Accessor methods for cache/waitinglist - DONE
- Move methods to destroy entries into requests object - DONE
- Abstract implementation of cache - maybe change from an array - DONE
Optimise panel + other code - DONE
- Avoid adding entries to panel until they are displayed - DONE
- Refactor UI to split out legacy components & freeze - DONE
- Refactor locale handling code to use built-in functionality - DONE
- Removed overridelocale setting - DONE
Add observer for http-on-examine-merged-response - DONE
Update documentation - DONE
- document proxy support - DONE
- document SSL support - DONE
- integrate documentation into addon instead of online - DONE
- remove references to overridelocale - DONE
optimise memory usage (don't use a chromeworker per tab) - DONE
unload for content script - DONE
Handle resource:// URLs better (displays E at present) - DONE
Proxy detection + info - DONE
Add better proxy detection (per-connection) and icon display - DONE
Disable native DNS resolution for proxied connections - DONE
- if it's an http/https proxy - DONE
- show proxy icon in toolbar/host info for http/https proxy hosts - DONE
- show address in brackets for http/https proxied connections - DONE
- if it's a socks proxy and has resolve via DNS set - DONE
Show icon in panel against proxied hosts - DONE
- Proxy information on mouseover - DONE
Show coloured proxy icon if DNS lookups disabled - DONE
eslint validation - DONE
SSL information for connections - DONE
- Show padlock icon for each host - DONE
observe showallips preference and update panel - DONE
- fix local address display on expand - DONE
- on toggle show all update copytext for host - DONE
split MM from widget/panel into object for code reuse - DONE
disable seamonkey/pre-australis compat (pending testing in 2.1) - DONE
Change resource:// URLs to chrome:// - DONE
create IPAddress type and use it to unify ipv4s/ipv6s arrays - DONE
- update output format of the firefox resolver to use new object - DONE
- change format of requestcache entry's IP address to match - DONE
- unify entity used for request cache with that produced by httpobserver - DONE
- test firefox resolver for remote/local addresses - DONE
check logging levels (check for level zero) - DONE
test unload/load works - DONE
Refactor DNS - DONE
- move unit tests out to proper unit testing system - DONE
- move ip utility functions into own object - DONE
# 1.0.0/0.8.3
Release to get out of beta...
Refactor dns_worker - DONE
- Split OS-specific code into different workers - DONE
Test to make sure unload() callbacks all happen if a window has - DONE
been opened and then closed again - DONE
Only lookup local IPs on panel show if they aren't hidden - DONE
Update Russian translation - DONE
Test on Linux - DONE
Test on FF 24, SeaMonkey 2.26, FF 29 - DONE
- FF 24.5 - Test customisation of UI - DONE
Test on FF 30/31 and future versions of SeaMonkey - DONE
Test on Palemoon - DONE
Confirm log level pref is set to 0
# 0.8.2
Local IP address display - DONE
- refresh on tooltip show - DONE
- Fix tooltip display for first line of addresses - DONE
Private browsing mode checks - DONE
Update documentation + screenshots - DONE
# 0.8.1
Refactoring panel to improve code - DONE
Fix legacy button for SeaMonkey/pre-Australis Firefox - DONE
FF 24.5 - Listen for customizeToolbar events and inject stylesheet - DONE
FF 24.5 - Button style for large icons (should be same as small) - DONE
FF 24.5 - Button style in customize dialog (needs to be small icon) - DONE
Linux customize panel (popup window) detection + stylesheet inject - DONE
- Need to only inject into each panel once! - DONE
Direct link to preferences pane - DONE
Better display of settings/online help links - DONE
- Does Linux Australis FF still need large icons? (NO) - DONE
Panel layout - spacing between sections + above bottom links - DONE
# 0.8.0
Fix Australis breakages & refactor
# 0.7.1
Fix memory leaks in cache
Minor code improvements
# 0.7.0
Rewrite to use event-driven model + strip out all the old code from FlagFox - DONE
Add support for nsIHttpChannelInternal detection of connection's IP address - DONE
Switch from tooltip to panel for address display - DONE
Display all addresses involved in connections - DONE
Display count of connections per domain - DONE
JSLint for utils.js - DONE
Re-add ability to copy information to clipboard - DONE
Update Russian localisation - DONE
Make preferences work again - DONE
Compatibility bump to Firefox 7.0/Seamonkey 2.4 - DONE
Test windowWatcher and so on (ensure unloading works properly) - DONE
Preferences dialog/pane for Firefox 7 - DONE
Object for images rather than lots of global variables - DONE
Handle moving back/foward in history - DONE
# 0.6.6
Check if domain is in network.dns.ipv4OnlyDomains list and display v4 only - DONE
Check if network.dns.disableIPv6 is set and display warning/never use blue
icon if so (still use orange icon if we detect an AAAA record) - DONE
Add seamonkey support - DONE
Localisation override via preference (for testing etc.) - DONE
Add Russion localisation - DONE
Upgrade functionality, e.g. don't delete prefs if doing an upgrade - DONE
Loglevel setting for dns_worker - DONE
Implement Windows-specific resolver method for use by XP x86 - DONE
Linux support (needs testing and cleanup) - DONE
Fix Windows ctypes support so that it always returns remote v6 results - DONE
Add option to show/hide non-global IP addresses (on by default) - DONE
# 0.6.5
Display local DNS name on tooltip - DONE
Italics for link-local local IPv6 - DONE
Italics for link-local IPv4 - DONE
Preferences - turn ctypes usage on/off
- select greyscale/colour icon set - DONE
- switch address bar icon on/off - DONE
- add preference for debug level - DONE
Detecting type of IPv6 local address and alter display of icon accordingly - DONE
Information added to popup to explain what the icon means?
For tooltip/menu, order IP addresses by type - DONE
Favour better classes of addresses - DONE
Hide special cases, e.g. fe80::1 on OSX - DONE
Add 24px icons for larger size buttons - DONE (images there, needs testing on Linux)
Add greyscale icon set (for OSX platform, but selectable anywhere) - DONE
Menu on-click of the icon to allow you to copy IP addresses to clipboard - DONE
Native menu look+feel - DONE
list of remote IPs -> tooltip, "click to copy IP address" - DONE
list of local IPs -> tooltip, "click to copy IP address" - DONE
Option to open preferences No preferences, all in the menu - DONE
Option to visit addon website + get more information/help - DONE
Website/help documentation - DONE
Testing
Unit tests for core functions
UI testing, full sequence for moving icon, close+reopen to check it stays in the right place
Install/uninstall/upgrade sequence testing
Test on various windows platforms (XP x86, Vista, 7 x86/x64)
Test on linux + implement ctypes for linux platforms