20 Jun #1


Advanced subscriber
I haven't used thunderboard for awhile, I love it, but I've had to disable it and go with the much easier to use InstantClick. I do like all of the feature it has, however most of them don't work or are very fragile. The pjax on thunderboard usually breaks all scripts, instantclick for whatever reason doesn't. Recently I reinstalled it and I'll let you know some problems.

On the surface:
- A problem I got quite a bit, and had to do a workaround by placing a <base href="(site)" /> in my header. Just installed thunderboard on a near stock board, cleared cache, rebuilt, etc. All the styles are 404. https://i.imgur.com/kdAcRHS.png

- Can't disable minify on only scripts or stylesheets. Thunderboard has two checkboxes, one for minifying stylesheets and another for scripts. These really don't do anything unless you disable both, then minify is disabled completely.

- After minify is completely disabled and your styles are back, thunderboard still breaks javascript by somehow removing a slash in the url: https://i.imgur.com/Jbpd1ZU.png I've checked the source code, I have no idea how it does this, but it's missing and script includes are broken.

- Preview templates do nothing. If I could get pjax working again, I would recreate this. At one point in time I managed to tweak the hell out of it and get pjax working, only to realize preview templates are broken as well.

Thunderboard has features I keep coming back to for, thinking I can somehow rectify this plugin and salvage its golden features. But eachtime I'm faced with a mountain of unsolvable problems. Mind you I'm trying this again on a stock dev board, the nightmare I faced trying to use this on my main board was unimaginable. Not to be an ass, I realize how much effort you've put into it but I'm wondering if you have tested this plugin at all. It's impossible to use, I'd be surprised if a single board uses it at this stage.
  • 1
  • 2
Shade 20 Jun
Yeah I know, ThunderBoard was born specifically for the old MyBBoost theme till someone requested a plugin. It worked brilliantly on my board until I changed the theme and installed the current one, which of course is far more advanced, thus breaking most of TB’s features. I have tried replacing pjax with something more reliable and it looked like it was kinda stable with Turbolinks, but still I encountered too many issues.

I do not have enough time to work on it now unfortunately.
Tac 21 Jun
How exactly did you implement preview templates? I see the general idea used on a lot of modern web interfaces and I'd like to try to recreate it.
Shade 21 Jun
It’s fairly simple:
- preview templates are fetched and stored upon the first visit into the user’s browser with an AJAX background call;
- once the user visits a link, its structure is searched through those templates, and if a match is found, the page is replaced with it.

Of course this implies the existence of an AJAXed interface to switch between pages without refreshing the page every time; otherwise, it doesn’t look smooth but “bumpy”.
Tac 21 Jun
Huh that's neat, thanks for that info. I'm having a difficult time getting it to work however, would you mind giving an example? I'd like to use it without using thunderboard's pjax if possible.
Shade 21 Jun
Like I said, using it without pjax is fairly useless as the replacement happens before the page load, not after it. The latter case is impossible using MyBB (it would require a massive rewrite using other frameworks, such as React).
Tac 21 Jun
Would you mind getting thunderboard pjax and preview templates working on my test board? I've sent you my board details.
Shade 21 Jun
Seems like Minify is having some troubles generating the static files. Unfortunately, I do not have much time to look into it before 15/7 I'm afraid.
Tac 21 Jun
Ok, I look forward to getting this worked out. I would definitely love to use Thunderboard again.
Tac 28 Jun
Also, not to harp on too much, you said you managed to incorporate TurboLinks with mybb? Was this with the older jquery turbo links? I looked into it a bit as an alternative to Instantclick, as the project is stagnant, but it seemed like far too much hassle to incorporate it for what I needed.