******************** \ _____ / * * \ "--/ . . \--" / * * "---| | |---" * BUG REPORT * | \_/ | * * .--\_____/--. * * / / \ \ ******************** / / \ \ About ----- This is a list of known Arachne DOS browser issues (BUG's, flaws, missing features, documentation problems, other wish-list stuff). Installer --------- [I0] [CRITICAL] Make the installer work in DOS only (no DOG-BOX / DOG-EMU / NTVDM). [I1] [CRITICAL] Switch from obsolete RAR to Deflate or (less likely) LZMA: Plain : 3'572'224 (TAR) Average ZIP : 1'296'518 (could be better without the TAR) Optimized ZIP : 1'252'532 (could be better without the TAR) Obsolete RAR : 1'246'919 (no TAR, reportedly solid nevertheless, + 52'820 Byte's installer) 7-ZIP 64 KiB : 1'139'473 (could be better without the TAR) 7-ZIP 2 MiB : 1'029'030 (could be better without the TAR) The RAR compresses barely better than Deflate, is proprietary, and probably bloated, the complete installer is strange (see MZ header) and brings 52'820 Byte's of bloat. Reduce the full size by optimizing the installer, improving compression, optimizing the useful content and removing garbage. [I2] Make the installer nicer (GUI). [I3] Provide some information (program name and purpose, version, needed OS, brew / release date) displayed before installation, ask the user whether to install this at all. [I4] Additionally provide same information as in [I3] to be visible without running the installer (as plain text inside the EXE, thus also accessible in non-DOS systems). [I5] Add a nice icon into the EXE (as PE resource, might be accessible in DOS one day in future) as well as PE code displaying a nice "This program must be run in DOS mode." message. [I6] Ask the user not only where to put "ARACHNE" but also where to put "ARACHTMP" and "ARACHDAT" directories (see also [F2]). Overall observations -------------------- [O0] [CRITICAL] Make sure that no crucial component can be executed on non-DOS systems. [O1] [CRITICAL] Don't advertize or even "tune" dumb Windaube-specific files like "CONFIG.SYS" and "AUTOEXEC.BAT". [O2] Remove (or at least reduce) the dependency on BAT'tery files (this is somewhat documented in "DOC\DIR.HTM" ...). [O3] Reduce the amount of files inside the installation and make sure that the crucial ones are properly checked for presence and integrity. [O4] Rearrange the settings, put together what belongs together, especially the "virtual screen" and "BMP width" hack. ************************************************************************ Package content --------------- [K0] [CRITICAL] Kick "PPP_BACK.GIF", has 32 KiB of bloat and causes DEATH of DOS, and NO, I'm NOT going to the Loonix hell toomorrow or any time before implosion of the universe is finished, also bloat of the fractalious stuff can be reduced to 16 KiB by kicking Loonix and converting into PNG. [K1] [CRITICAL] Fix "EXAMPLES\ARACHNE.GIF" (AGIF file). [K2] [CRITICAL] Replace "MOUSE.JPG" with "RATMOVED.PNG" (referenced from "RESIZE.HTM"), saves 4 KiB of bloat, upgrades look from Windaube 95 to Wi$ta. [K3] [CRITICAL] File "OOPS\WINDOWS.OOK" (has "@win.com", 8 Byte's) is heavily faulty, kick it. [K4] [CRITICAL] File "OOPS\DOSSHELL.OOK" is strange, has "COMMAND.COM", kick it. [K5] [CRITICAL] File "SYSTEM\DGI\DOSSHELL.BAT" is strange, has "COMMAND.COM", also "correct incompatibility with FreeDos" is apparently false, "'drive:\path\' which generates an error" is known behavior of both FreeDOS and EDR-DOS, use "CDD" to change both if FreeDOS, so kick this file too. [K6] [CRITICAL] File "SYSTEM\DGI\CLR-BAT.TXT" is strange, says "file with a space in its name goes", fix and move this text into the documentation or kick it. [K7] Remove "DEVDRVRS" directory ("DELTREE" it) with all content ("USB.HTM" is garbage, CTMOUSE is somewhat up-to-date but docs aren't, no need to include it). [K8] File "DOC\SAVETRIX.GIF" is absurdly bloated, promotes crap (world ".doc"), has a very obsolete version of Arachne, ugly dithering (M$-PAINT ???) and bad format GIF, fix it. [K9] The directory "APM.DB" has a bad name, fix it some way (is it needed at all ???). [K10] The directory "CODEPAGE.EXT" has a bad name, also there are duplicates in this directory and directory "CODEPAGE", clean-up this, even worse there is a "ToDo" from 2004, anything has been done since (???). [K11] Files "APM.EXE" and "UNARJ.EXE" are strange, duplicate (???), clean-up and reduce bloat. [K12] Convert all GIF's into optimized PNG's (except pictures intended for testing the GIF and JPG decoder), do something with the AGIF's too. [K13] Remove obsolete "CWSDPMI.EXE" version "r3" from 1995, update to HDPMI32 or CWSDPMI "r7" at least, later completely remove dependency on WPMI (Windaube Protected Mode Irrationality). [K14] Remove ZIP and UNZIP or at least reduce significantly the size of them, put both into one executable, remove dependency on WPMI. [K15] Kick "PLANY.EXE" as it can neither decode Vorbis / FLAC / WAVPACK / MP5 nor use PCI sound hardware or PC speaker, see also [D27]. [K16] File "SPID.ICO" is strange, kick it (or see [I5]). [K17] Files "SYSTEM\GUI\CONF_EXT.AH" and "SYSTEM\GUI\CONF_PPP.AH" have "Success of Linux will be limited. Bill Gates, 1999", kick this text. [K18] Files "SYSTEM\GUI\OPT_LOC.AH" and "SYSTEM\GUI\WIZARDC.AH" have "DOS never says ""Excellent command or filename""...", just reduce to 1 piece and add "Loonix never says ""Your hard disk is too big to hold Loonix""..." and "Windaube never says ""You can do """"FORMAT C:"""" at any time""..." somewhere. [K19] File "FILE_ID.DIZ" is flawed, fix license contradiction, remove "WAV" as Arachne most likely doesn't support it nor it is an Internet standard, nor a good idea to transfer this format, also remove boasting with MP5 and related "technologies", see also [D10]. [K20] Kick all the "!" files in various directories as well as the file "FORMFEED". ************************************************************************ "CORE.EXE" - HTTP support ------------------------- [P0] When DHCP address request or similar is pending, show a progress / timeout indicator and alow to abort (Windaube does NOT have this feature either). [P1] Implement HTTP upload (so far not present in Arachne at all, nor in DOSLynx). [P2] Implement HTTPS (32-bit version only, like DOSLynx does). [P3] Add a "User Agent Editor" (so far only a switcher is available). [P4] Add a good "Referree Controller" (most likely no other browser (including non-DOS ones) has such a feature, FireFox needs and has a hacky addon available for this purpose). [P5] Remove "Gopher" (???) as nobody uses it anymore and other browsers had dropped it too. [P6] Default title page should be changed, "arachne.cz" is still a valid domain, but no longer "the home". :-( "CORE.EXE" - HTML processing ---------------------------- [L0] Inline CSS is apparently entirely ignored ("SPECIF.HTM" neglects this problem (???), outsourced CSS files do have some effect at least), fix / complete outsourced CSS handling and add (???) support for inlined CSS. [L1] Arachne may hang/deadloop on buggy CSS ("Acid Test"). [L2] Table background color affects table cells and CELLPADDING, but it should affect CELLSPACING too (see attach "TABLEBUG.ZIP", tables [E], [F], [G]). [L3] There is a tiny bloat in most right column of tables and CELLSPACING causes another tiny bloat at bottom side (see attach "TABLEBUG.ZIP", tables [B], [C]). [L4] Table BORDER occupies some space but is "empty" (see attach "TABLEBUG.ZIP", tables [B] to [G]). [L5] If COLSPAN is used in a table and causes that the table exceeds the screen width, the layout "breaks completely" - the affected columns at the right side are excessively bloated or even cells missplaced, this causes a huge screen space wasting (see attach "TABLEBUG.ZIP", table [G]). "TABLES.HTM" example looks cool but apparently doesn't really exploit this problem reliably or at all. [L6] Arachne supports HTML 3.2 (fully ???) with a subset of HTML 4 (frames are unsupported, CSS incomplete, what else is missing ???), this could be improved. "CORE.EXE" - file I/O --------------------- [F0] [CRITICAL] Remove NTLFN support (useless, alien and shameful thing in DOS). [F1] [CRITICAL] Support file sizes over 4 GiB (or does it already work ???). [F2] Improve file and directory management, rename "ARACHNE.TMP" directory into "ARACHTMP" only (to be located preferably on RAMDISK), add "ARACHDAT" directory (preferably NOT on RAMDISK), all writes go into 1 of those 2, allowing to make the installation inside the "ARACHNE" directory (with "CORE.EXE") read-only, place the 2 "writable" ones by default into "ARACHNE", overridable by a user setting stored inside the "ARACHNE" directory, or in case of lack of this information as well as the directories themselves, look at a variable "ARACHNETEMPDIR", delete completely "TEMP" and "TMP" sensitivity, save downloads, APM's and screenshots into "ARACHDAT", and cache, history and cookies into "ARACHTMP". [F3] When downloading a file, auto-fix the filename if necessary, and create a download report (one file only, append on every download) containing the original filename, new filename, the address it was taken from, timestamp if available, start time and the time it took to complete. "CORE.EXE" - editor ------------------- [E0] Fix the "32-KiB-EDIT-BUG" (give at least 48 KiB in real mode, brew a proper error message if exceeded, don't beep or crash, document the limit). [E1] Fix other editor BUG's (especially text wrapping and selection / highlighting do act very strange in 1.95 ...). [E2] Better editor and better C&P (also from or to file), maybe add a possibility to cooperate with an external editor. Examples -------- [Q0] Remove Opera rants from "TABLES.HTM", add "TABLEBUG.HTM" file (see attach "TABLEBUG.ZIP") exploiting the table background and size problems reliably, see also [L2] to [L5]. [Q1] Kick "EMBED.HTM" as Arachne doesn't have any audio support, and there is HTML5 for this purpose, see also [D10]. ************************************************************************ Memory management, 16-bit vs 32-bit ----------------------------------- [M0] Upgrade "CORE.EXE" to 32-bit, preferably avoiding WPMI, keeping also a 16-bit 8086-compatible version, remove FPU usage from both, see also [S0]. [M1] In the 8086 version provide a mechanism to free some memory when spawning an external application (most notably the picture and animation decoder, as well as an external text editor), for example put a part of the "core" code (for example the HTTP stuff) into a separate ".DAT" file (indeed NOT ".EXE" file, compress / encrypt the content and provide an integrity check), free this memory before spawning and reload from the file after. [M2] In the 8086 version, allow to use all XMS (or up to 1 GiB at least), not just cca 5 MiB. GUI --- [G0] Fix the "Merge-in-below-8bpp-BUG". [G1] In palettized modes, use (optionally ?) a fixed palette ("2-3-3 RGB" in 8 bpp) rather than palette mixing causing delays and strange "color leaking and switches" with large pages. [G2] Use (only) the LFB in the 32-bit version. [G3] Allow more than 1024x768x16bpp (maybe only in the 32-bit version). [G4] Make the screenshooting by default "more automatic", auto-generate and auto-increment the filename, don't ask where to save, don't suggest lossy conversion into JPG. [G5] Cooperate with a DOS screenshooting solution (not yet available). [G6] Drop legacy rat support (INT $33) and upgrade to a better mouse driver model (not yet available). [G7] Fix the ZOOM-BUG (this might not have the highest priority considering that Firefox 4 and Opera 10.63 do have this BUG too). Tested by "RESIZE.HTM" example, zooms, but doesn't look very good. [G8] The graphics settings are jerky, Arachne sometimes restricts to 8 bpp or 800x600 or even 640x480 for no (?) reason (hack: kick "ARACHNE.CFG" and try again), fix this some way. Picture and animation decoding ------------------------------ [X0] [CRITICAL] Add an 8086 PNG decoder. [X1] Remove bloat and WPMI dependency from 32-bit PNG and JPG decoders. [X2] Remove GIF and AGIF decoding from "CORE.EXE" (keep BMP support), except other decoders get added too, see [X4], Arachne apparently had been rudely violating the dumb LZW84 patent of Unisys for years, now the patent is securely expired but nevertheless there is no point to privilege obsolete GIF/AGIF. [X3] Add (only to the 8086 version ?) an Arachne-specific intermediate picture (and maybe animation) format, NOT having the horrible flaws of BMP and GIF / AGIF, having some compression (RLE / frame SUB'bing ?) and sharing the pixel format (and possible palette) with the screen, not with the source file. [X4] Add a high quality PNG, JPG and GIF all-in-one decoder with bunch mode support, either in both 8086 and 32-bit versions, or just a separate 8086 version, while in 32-bit version all decoding resides inside "CORE32.EXE", maybe also support animations and video (AGIF ? APNG ? MNG ? Theora ? WeBM ?). Dream stuff ----------- [R0] Implement proper multithreading (multiple screens / tabs), download in the background, multiple downloads at same time. [R1] Make it multitasking-compliant (this needs a kernel update, I'm referring to a good multitasking solution, not a bad pseudo-multi-tasking hack, feel free to send source code of "DREMM786.EXE" or "VMM64.VXD", but be aware that I won't touch any of them, because they do NOT contain the HOT CODE needed for multitasking in DOS). [R2] Port it to some better DOS / OS / PC type (not including legacy crap like Windaube, Loonix, OSama/2 or ManiAC). [R3] Support HTML5 audio and video (Theora/Vorbis/WeBM). [R4] Implement JavaShit (or even better, pressure Web content providers to make their stuff working without). ************************************************************************ Documentation ------------- [D0] All files / overall issues - Reduce the amount of documentation files, put them all (except historical stuff) into 1 (one) directory and provide them in 1 (one) format, not TXT mixed with HTML. - Remove advertizing of Win-$hit and Lin-$hit DOG BOXES and EMUH's, and obsolete and unavailable M$-DOG, instead, add EDR-DOS, FreeDOS, "HIMEMX.EXE", SRDISK. ;-) - Update the docs, so it doesn't tell you "hey, this is from 15 years ago" just atfer reading 3 lines of any file. - Document purpose of every single file inside the installation. - Document file formats ".FNT" and ".IKN" used by Arachne ("wotsit.org" doesn't have ".IKN" either). - Document the screenshooting features, especially the "virtual screen" and "BMP width" hack. - Document where to get the source code of all the stuff ("CORE.EXE", "INSIGHT.EXE", "WWWMAN.EXE", libs used by "CORE.EXE", external decoders, "LSPPP.EXE", "REBOOT.COM", etc.). [D1] "DOC\ACF_ASF.HTM" - Explain the playback, add OGG Vorbis. [D2] "DOC\APM.HTM" - Merge with content of "APM.TXT", "uninstall" (???), see [D21]. [D3] "DOC\CABLE.HTM" - Does it work also without any EMM386 (???), remove advertizing of MS-DOG. [D4] "DOC\DIR.HTM" - "List of Arachne system files" - Has dead links to "REGISTER.HTM" (is in wrong directory) and "X_LOPIF.HTM" (not present at all). [D5] "DOC\DOSSHELL.HTM" - Delete or move into "some rare problems" or "history" category. ;-) [D6] "DOC\EXT-PROG.HTM" > A very often used format is .JPG, but only .GIF and .BMP can be > inlined using the IMG-tag in HTML documents. Arachne uses some > built in conversion programmes to view eg. .JPG images. > Such programmes have to be declared in mime.cfg! > JPG can be converted to BMP (Arachne default) or to GIF (my choice) - Nonsense ^^^ , rewrite and add PNG. - About "M$ WORLD DOC", deprecate it properly, mention ANTIWORLD, mention ".DOCX." documents from "WORLD 2011 Ultimate xxx64", I doubt some 15 years old DOS viewer will help with latest M$ mess, see also [D17]. - Replace NC with DN or some free FM ... piracy sucks. :-( [D7] "DOC\INTERNET.HTM" - "Introduction to the Internet" - Mention the "evolution" AKA "messyvolution" from HTML <= 3 to HTML 4 with Frames and CSS, the intrusion of JavaShit, the Fla$h mess, and finally HTML5 as a very late attempt to fix it, and the shameful removal of Vorbis + Theora from the "standard", as well as the increasing bloat of pages. - Reduce Open-DOS, delete M$-DOG, delete Win/Lin/EMU, add FreeDOS and EDR-DOS, add PNG, add SRDISK, delete "feel best in "V8086" (also called "Virtual") mode.", delete "Developing applications for protected mode DOS is a much more complex task." (no longer true, big technical and legal improvements in WPMI hosts and compilers, but no clean DOS-only PM standard yet). [D8] "DOC\MEMMAP.HTM" - "16-bit Arachne for DOS Memory Map" - Update, mention amount of XMS (5 MiB limit ???), add HDPMI32 as alternative for CWSDPMI, update CWSDPMI.EXE itself (r3 -> r7) or replace with HDPMI32, deprecate better EMM386, especially the one from DR-DOS, mention how WPMI sucks :-( , see also [D22]. [D9] "DOC\NETDOS.HTM" - putting DOS COM and DOS MZ EXE online ??? - Says "if you are running some DOS emulator (like DOSEMU under Linux), it can be configured to be as secure as a Java virtual machine", delete (WtF ??? ...). [D10] "DOC\SPECIF.HTM" - "List of standards supported by 16-bit Arachne for DOS" - Mention limitations (CSS issues, ZOOM-BUG, frames, AGIF vs APNG/MNG ...). - Remove dead link to "bio.jpg" and fix "high quality JPG to GIF". - Remove advertizing of MP5 and related "technologies", don't pretend WAV support, mention MPLAYER and DUGL Player, see also [K19]. - Add notice about (not very useful) IKN support. - Write about Fla$h-Crap and HTML5. [D11] "DOC\SPEED.HTM" - "FASTER!" 1'000'000'000 times, see also "http://www.narconon.ca/speed.htm" :-D - "HIMEM.SYS" -> "HIMEMX.EXE", mention handles, mention RAMDISK / SRDISK. [D12] "DOC\SYSTEM.HTM" - "16-bit Arachne for DOS system requirements" - Add EDR-DOS and FreeDOS as preferred, delete "any Virtual DOS Machine". - Add HIMEMX, mention handle hogginess. - Replace "smart" stuff with LBAcache, mention 100% RAMDISK usage instead. [D13] "DOC\TEMPDIR.HTM" - "How to set up a temporary directory for Arachne" - Writes "2. do not use the root directory of any drive" (why ???) it (she ?) creates a subdir anyway ... fix this, or even better, fix "CORE.EXE", see [F2]. [D14] "DOC\VIEWER.HTM" - Update DN (now o.s. free), add NDN. ************************************************************************ [D15] "LSPPP.DOC" - "DOS PPP Packet Driver (C) 1997-2003 David Lindauer" - Rename to "LSPPP.TXT, remove advertizing of MS-DOG, remove contradictions (config file), document version / last update, write how it is related to Arachne, explain what is "PPP" (historical ???). [D16] "FAQ.HTM" - "Arachne Frequently Asked Questions" - Very outdated again. - Various company and contact information is most likely no longer valid. - JavaShit plans are obsolete. - Stuff about PNG is outdated. [D17] "HELP-ENG.HTM" - "ARACHNE HELP PAGE: Internet and E-mail by Bastiaan Edelman" - Writes "you first have to dial up", fix this, as no longer the rule. - Writes "Arachne can handle .TXT .HTM .JPG .GIF .BMP .DOC", this is obviously false, mention IKN, mention PNG, mention external decoders, mention possible APM's, deprecate ".DOC" and ".GIF", see also [D10]. - Writes "since MS-Word runs under Windows, we have to use a support program like VIEW.EXE", excellent, mention where to get it, mention ANTIWORLD, mention ".docx.", deprecate both ".DOC" and ".docx", see also [D6]. - Writes "Save the .pdf file to disk or (if you are running in an MS-DOS window) to a Windows directory where it can subsequently be viewed, e.g., with Acrobat Reader in Windows.", fix or remove, don't advertize Windaube, write about XPDF & Co. - Writes "You have to use a DOS-printer. ""Win"" printers will NOT function. A ""Post Script"" printer is best, it will also print images", good, but write more about it, what is "Win printer", how much Arachne suports "Post Script". [D18] "NONPROFI.HTM" - Kick or move into "history area". [D19] "ORIGINS.HTM" - Kick or update or move into "history area" (advertizes obsolete Loonix again). [D20] "AHTML40.TXT" - "This is a complete list of 102 unique HTML" - Document the CSS support and limitations too. [D21] "APM.TXT" - "How to create Arachne Packages (.APM)" - Merge into "APM.HTM", see [D2], improve info about creation, remove statement "Please send all your public APM packages or information about them to me ([email protected]), because the *REQUIRED* starting URL for APM packages is ""http://home.arachne.cz/apm/"".", as it is most likely obsolete. [D22] "ARAMDISK.TXT" - "Arachne RAMDISK (and memory use) Howto" - Add SRDISK, make it preferred. - Remove Windaube's "RAMDIRVE.SYS" crap. - Writes "Your HD cache. The HD will be required for normal operations and to load to, and save from, the RD." - strange, delete. - Merge with "DOC\MEMMAP.HTM", see [D8]. [D23] "DGI.TXT" - "DGI - Dos Gateway Interface" - Update, remove obsolete Loonix advertizing. [D24] "DGJPPEG.TXT" - Reduce. [D25] "FIXMEM.TXT" - "HTMLPIPE.COM REPLACES FIXMEM.EXE" - Stragne, remove. [D26] "MEMCORE.TXT - Stragne (HTML rather than plain text ???), remove. [D27] "PLANY.TXT" - Kick out, see [K15]. [D28] "README.TXT" - Move into "history area". [D29] "E-DRESS.TXT" & "QUICKPAD.TXT" & "SIGN.TXT" - kick out. ;-) ************************************************************************ Local file boasting ------------------- [C0] Free space is always (?) strange, especially if large, and it is also wrongly reported as "KB" when it should be "ZERO". [C1] Kick "Audio playlist" as it doesn't work (crash or strange error page), even more considering that Arachne does not have any audio support. Compiler and source issues -------------------------- [S0] Upgrade to some better compiler (yeah ... or less bad at least), maybe Watt-COM (???), see also [M0]. [S1] Remove Loonix support (before doing this, check whether the Loonix-specific code could maybe help to upgrade Arachne to 32-bit (DOS, LFB instead B.S., 32-bit flat memory instead of xSwap) or porting to some better OS). [S2] Document the source code: what file does what, how to compile, compiling requirements, additional files and libraries used. [S3] "CORE.EXE" is debug version, or are all the ".C" files used during execution (???). Yeah ---- Comments are welcome. Please let me know if any of the observations or BUG's is incorrect or INVALID, also if there are additional known issues missing here in. I'm aware that Arachne is IIRC subject of DEATH since 2008 December. If nobody cares then this is just my private ToDo list, heh. ************************************************************************