Instiki
Known Bugs

Here is a list of known bugs in Instiki. Comments and fixes are welcome.

Log Rotation under Windows

The Log Rotation does not seem to work on Windows with some versions of Ruby. When the log file grows to 1MB in size, Instiki tries to rotate the file, which results in a “Do you smell smoke” 500 Application Error.

Workaround: In config\environments\production.rb, comment out the line:

 config.action_controller.logger = Logger.new(Rails.root.join('log', "#{RAILS_ENV}.log"), 25, 1024000)

(it’s the first line without a “#” comment mark in front of it; please add one). This disables log rotation, which will keep Windows happy. The downside is that log file will now grow, indefinitely, unless you rotate it manually.

Spaces in the Pathname

If you try to run Instiki from a directory, one of whose parent directories has a space in its name, you will likely run into trouble. So don’t do that.

This is not so much a bug in Instiki itself as in the various associated pieces of software. Which makes it not so straightforward to fix.

WikiChunks in Equations

Equations should be protected from Wiki Syntax processing. This doesn’t seem to work for inline equations. For instance

$$[[foo]]$$

correctly produces

[[foo]][[foo]]

but

$[[foo]]$

produces

[[foo]][[foo]]

Unit test content_with_wikiword_in_equations (PageRendererTest) fails because of this bug.

“See Changes” in Textile Mode

The “See Changes” function uses XHTMLdiff to generate a redline document of changes from one version of a page to the next. To do this, it assumes that it is dealing with two well-formed XHTML documents. This works reliably in the Markdown-based text filters.

But, under Textile, it is rather trivial to produce ill-formed XHTML (which is why Textile is served as text/html). When you try to “See Changes”, under Textile, and one or the other of the pages is ill-formed, you will get a 500 Application Error.

Other Failed Unit Tests

There are a couple of other unit tests that fail. But these failures do not indicate a (significant) problem in Instiki.

html_diff_preserves_endlines_in_pre (DiffTest)
Arguably, whitespace in <pre> elements is significant, but xhtmldiff fails to flag such changes.
non_alpha_non_digit_III (SanitizerTest)
One sanitizer test fails. The XSS attack is successfully defanged, but the output is ill-formed XML. Ordinarily, this would be a huge problem for us. But, in this case, the mangled input for this test is already flagged by Maruku, so there doesn’t seem to be a way to “leak” ill-formed output by this means.

Nestled lists

Nestled lists doesn’t seem to work correctly. The following (taken from dingus) should format correctly as nestled list.

*   Abacus
    * answer
*   Bubbles
    1.  bunk
    2.  bupkis
        * BELITTLER

Maruku doesn’t handle 1-item (nested) lists, as expected. The above results in the following.

  • Abacus
    • answer
  • Bubbles
    1. bunk
    2. bupkis
      • BELITTLER

The answer is to include a blank line

*   Abacus
    
    * answer
*   Bubbles
    1.  bunk
    2.  bupkis
        
        * BELITTLER
  • Abacus

    • answer
  • Bubbles

    1. bunk

    2. bupkis

      • BELITTLER

Possible S5 Bug

– Perhaps not a bug, but selecting “Safe mode - strip HTML tags and stylesheet options from the content of all pages” appears to stop S5 slideshows from working.