Bike 1.8.2 (102)

These are final 1.8.2 release notes. I think issues brought up in this thread are all addressed. Onto next version!

  • Changed Bike link format, see notes below
  • Added script access to Bike’s edit mode
  • Added explanation label to “Show Checking…” menu item
  • Show blue replacement underline only when active
  • Support reading Hookmark links from pasteboard
  • Fixed crash for some user text replacement combinations
  • Fixed read/write of OPML files to keep row attributes
  • Fixed crash when editing same outline in multiple windows
  • Fixed crash when selecting unnormalized text with Katakana input
  • Fixed performance when outdenting a folded row in text mode
  • Fixed crash when moving between strings with different unicode normalizations

Changes to Bike links:

  • bike://<rootID>/<focusID>#<selectID>
  • Focus and select are optional parts
  • Copy Link command includes focus and selection
  • Supports optional target=(tab|window) query parameter

To get preview releases through Bike’s software update select: Bike > Preferences > General > Include “preview” releases.

4 Likes

Crash when select this text with arrow key and character by character.

image
(looks like this)

I can’t paste here directly because after uploading, デザ (30C6+3099, 30B5+3099) will be automatically converted to デザ (30C7, 30B6), but デザ (30C6+3099, 30B5+3099) exists mainly in the Japanese file names and associated storage commands.

Reproduce
Copy the characters in order in two rows as shown in the picture.
Now, when you select characters with arrow key from the start, it will crash.

char unicode
U+30C6
U+3099
U+30B5
U+3099
U+30A4
U+30F3
- -
U+30C7
U+30B6
U+30A4
U+30F3

Bike 1.8.2
macOS 12.6.3

1 Like

Me too.

Bike 1.8.2
macOS 13.0

For testing (to copy those characters, both spaced and continuously) to the clipboard.

Expand disclosure triangle to view JS source
(() => {
    "use strict";

    ObjC.import("AppKit");

    // delimitedText :: [[Int]] -> String -> String
    const delimitedText = unicodePointRows =>
        delimiter => unicodePointRows.map(
            cs => cs.map(chr).join(delimiter)
        )
        .join("\n");


    // Copy spaced-delimited and continuous character
    // sequences to clipboard.
    const main = () => {
        const
            s = [" ", ""].map(
                delimitedText([
                    [
                        0x30C6, 0x3099, 0x30B5, 0x3099,
                        0x30A4, 0x30F3
                    ],
                    [0x30C7, 0x30B6, 0x30A4, 0x30F3]
                ])
            )
            .join("\n\n");

        return (
            setClipOfTextType(
                "public.utf8-plain-text"
            )(s),
            s
        );
    };


    // ----------------------- JXA -----------------------


    // setClipOfTextType :: String -> String -> IO String
    const setClipOfTextType = utiOrBundleID =>
        txt => {
            const pb = $.NSPasteboard.generalPasteboard;

            return (
                pb.clearContents,
                pb.setStringForType(
                    $(txt),
                    utiOrBundleID
                ),
                txt
            );
        };

    // --------------------- GENERIC ---------------------

    // chr :: Int -> Char
    const chr = x =>
    // The character at unix code-point x.
        String.fromCodePoint(x);

    // MAIN ---
    return main();
})();
テ ゙ サ ゙ イ ン
デ ザ イ ン

デザイン
デザイン
1 Like

Thanks I can reproduce this. Also this seems to reproduce in older versions too… so not a new problem right? Just something your recently stumbled across?

Yes, I just came across it now.

Sorry if it causes confusion in the discussion string.

1 Like

No problem at all, thanks for finding it!

Thanks, I’ve been using this script :slight_smile:

1 Like

4 posts were split to a new topic: Slow performance on unindent in big document

I think this should be fixed in latest 101 preview release.

I still can reproduce this in version 101.
Can anyone else test it?

Not managing to reproduce that here by moving the cursor through the text.

(I could with earlier builds)

(Now Bike 101, macOS 11.7.3)

Which IME are you typing with ?


Might you be able to zip a .bike file (with which you can reproduce the problem) and post it here ?

(I’m wondering whether there’s a subtle difference between the output of that JavaScript snippet and what is actually getting into your files)

Oh, I noticed there is a condition to reproduce: keep IME in Japanese-Hiragana.

Here is the test file: test.bike.zip (1.0 KB)
I should have noticed earlier that we could test it by sharing bike file. :sweat_smile:


My testing environment:
Bike 101, macOS 12.6.3

2 Likes

I’m still unable to reproduce it. I’m on macOS 12.6.3 and I:

  1. Open that file
  2. Change IME to Hiragana
  3. Use arrow keys to move through the file

That was enough to crash before. Do I also need to make edits?

I think here is the point:
Not just move the caret, but hold Shift key & right arrow key to select text from beginning. (and keep IME in Hiragana)

1 Like

Thanks again! I think this is fixed in 102 … wasn’t my fault this time! :)… getting some bad ranges from text input manage in that case I think. Please give it a try and let me know if it’s really fixed for you too.

2 Likes

It’s really fixed! Thank you!

1 Like