Discussion of NodeBB Updates
-
@pie_flavor said in Discussion of NodeBB Updates:
@julianlam I think you misunderstood the entirety of what I said.
Imagus is an extension which lets me open a full-size version of an image. Like this:
https://i.imgur.com/IFFwty0.png
I can zoom it, scroll it, do whatever, without leaving the page I'm on.
Image embeds with HTML or Markdown work fine. But boxed links, like the one in this post? No dice.
This used to work, and now it doesn't.
Yes I could just open the image in a new tab, but there is literally no reason this shouldn't be working.Working for me. At least, as far as I can tell.
-
@pie_flavor said in Discussion of NodeBB Updates:
But boxed links, like the one in this post? No dice.
working for me on firefox with imagus (webextension version)
-
Just so nobody flips their shit when the update lands here.
- In September, I made this commit to re-expose the bottom navbar on mobile devices because some users here commented that it'd be nice to be able to minimize the composer on mobile. Astute readers will notice that there was a three-line comment explicitly warning of problems were this code removed, and that I went ahead and ignored it anyway
- Turns out it was a bad idea
- We will be committing a revert to the above commit, to restore the original behaviour, but do keep in mind that we intend to re-introduce composer/chat minimization at some later point in time, once a sane design has been agreed upon.
So, say goodbye to the red boob on mobile once again... at least while you're composing/chatting.
-
@julianlam said in Discussion of NodeBB Updates:
Just so nobody flips their shit when the update lands here.
I like that you are trying to be proactive, but we will anyway.
-
One thing I've never quite understood: (more mobile complaining)
When you arrive in a thread, you are presented with this minimal top bar with no buttons.
If you then scroll up, it expands to a huge bar with buttons.
And then if you scroll down, the bar disappears completely.
To make the bar reappear, you scroll up.
This is stupid and annoying behavior. First of all, it's definitely implemented poorly, because there's lag between the scroll and the bar appearing, and on Puffin this lag is global. It's also completely pointless to have the tiny bar in the first place, as it has little purpose and will disappear after it's expanded and retracted. The huge bar, meanwhile, is huge. The small buttons do not warrant their massive padding, and could be easily moved to a tiny bar which does not disappear. This disappearing thing, by the way, is even more annoying when it happens at the same time as Chrome's top bar, decreasing the reading space even more. And if you try to open the NodeBB top bar without opening Chrome's top bar, it is very easy to slightly overshoot and open Chrome's without opening NodeBB's.By the way, in case you needed some reference on how to best fix this, there's this great software called Discourse.
This bar is small enough to be unobtrusive, does not feel the need to disappear and reappear on regular actions you don't intend to open and close things with, and holds the most common thing to use (the buttons), with a separate area for the uncommon one (a reminder of what thread you clicked on five seconds ago) in the scroll meter.
-
@pie_flavor said in Discussion of NodeBB Updates:
Puffin
The bar is much more reasonable in Chrome. The "delay" just seems to be it scrolling in two parts AFAICT. Also, I like that stuff hiding away while I'm reading.
-
@pie_flavor I've disabled the TDWTF-specific customization that shows the topic title in your custom CSS: https://what.thedailywtf.com/user/pie_flavor/settings
-
@pie_flavor said in Discussion of NodeBB Updates:
the tiny bar in the first place
was implemented because at one point people were accidentally posting in the wrong thread because jellypotato (IIRC).
@pie_flavor said in Discussion of NodeBB Updates:
huge bar with buttons.
Is because (I think) there's site CSS to move everything down so that we can tap the submit button on mobile composer, which is another hack.
-
@ben_lubar said in Discussion of NodeBB Updates:
@pie_flavor I've disabled the TDWTF-specific customization that shows the topic title in your custom CSS: https://what.thedailywtf.com/user/pie_flavor/settings
And removed what I already had in there, thanks.
-
@pie_flavor said in Discussion of NodeBB Updates:
@ben_lubar said in Discussion of NodeBB Updates:
@pie_flavor I've disabled the TDWTF-specific customization that shows the topic title in your custom CSS: https://what.thedailywtf.com/user/pie_flavor/settings
And removed what I already had in there, thanks.
You had nothing in that field.
-
@ben_lubar No, I did. I had the thing that disabled the Lounge image.
-
@jaloopa said in Discussion of NodeBB Updates:
@ben_lubar said in Discussion of NodeBB Updates:
I can probably make it into a checkbox in your profile
Don't store it in local storage or @pie_flavor will have an aneurysm.
I think I've had three already.
-
This is the only rule you need
body { taps-as-sideways-swipes: none!important; }
-
@hungrier said in Discussion of NodeBB Updates:
This is the only rule you need
body { taps-as-sideways-swipes: none!important; }
AHEM
body { clothes: none!important; }
Fixed that for me.
-
@perverted_vixen said in Discussion of NodeBB Updates:
!important
Somehow I keep reading that as 'not important'.
-
don't blame me, blame the implementors of the CSS spec.
-
@ben_lubar said in NodeBB Updates:
NodeBB 1.7.3 - https://github.com/NodeBB/NodeBB/milestone/67?closed=1
Update scheduled for 20:00 UTC
Bye bye mobile red boob...
-
@ben_lubar said in NodeBB Updates:
NodeBB 1.7.3 - https://github.com/NodeBB/NodeBB/milestone/67?closed=1
Update scheduled for 20:00 UTC
By the way, there's a database change that has a full table scan, so expect a few minutes of turbulence before the update notification.
-
@ben_lubar What do you know, the sidebar is back on the left and swiping is re-enabled. And now I can't minimize the composer. Yay.
Hopefully the regressions will continue to the point where the compose buttons or reply buttons are actually visible under the title bar when skins are used.
-
@pie_flavor said in Discussion of NodeBB Updates:
And now I can't minimize the composer
The red boob on mobile is gone. According to the guy, they're going to try to work it into the interface in a way that actually makes sense. Hopefully.
-
@barisu can I request that the "Fix" for the red boob be that we're able to motorboat it around the screen? That way we could put it somewhere that's not covering what we need to see.
Originally I was going with the lame-o "minimize button in the composer's title bar", but now that I thought of this, I like this better. Kind of like Facebook Messenger's Chat Heads. But mostly just because I like the idea of motorboating the red boob.
-
@anotherusername or we could put a minimize button on the boob:
-
@bb36e said in Discussion of NodeBB Updates:
@anotherusername or we could put a minimize button on the boob:
We need a minimize button for that. It's too big.
-
What's with the vote counter on the topic list?
I can see more than one vote in the topic.
Edit: Oh, is it the number of votes on the first post?
Feature request: something useful instead of that.
-
@hungrier said in Discussion of NodeBB Updates:
What's with the vote counter on the topic list?
I can see more than one vote in the topic.
Edit: Oh, is it the number of votes on the first post?
Feature request: something useful instead of that.I was wondering about that....
-
NodeBB remains the only thing I've used where, if you click one thing and then click another thing immediately after, it will send you to the target of the first link rather than the second.
-
@tdwtf-nodebb-development I'm running https://github.com/BenLubar/nodebb-postgres-converter/tree/nodebb-v1.7.3 on this server, so let me know if the server is slow. It won't change any data in MongoDB, so there won't be any problems with the forum other than possible resource starvation.
-
@ben_lubar said in Discussion of NodeBB Updates:
@tdwtf-nodebb-development I'm running https://github.com/BenLubar/nodebb-postgres-converter/tree/nodebb-v1.7.3 on this server, so let me know if the server is slow. It won't change any data in MongoDB, so there won't be any problems with the forum other than possible resource starvation.
Looks good so far:
-
@ben_lubar Is this more science experiment or is it getting serious?
-
@boomzilla said in Discussion of NodeBB Updates:
@ben_lubar Is this more science experiment or is it getting serious?
I want an idea of how long the conversion process takes on production hardware so I know whether we can have a few minutes of "the forum won't keep your changes" or if I should write a plugin to journal whatever happens between the start of the conversion and the end of it.
So more !!science!! than anything else.
-
[2018-01-04 17:54:14.465] [WARN] There were 32580059 objects, but 32579377 were expected. [2018-01-04 17:54:16.566] [LOG] Copy objects: 1604064.164ms [2018-01-04 17:54:16.566] [LOG] Copy: 1604198.812ms
So a bit under a half hour to copy the MongoDB stuff to PostgreSQL. Now the script will create some indexes and do the actual data manipulation without moving the data out of the database from here on.
-
[2018-01-04 17:55:53.379] [LOG] Create index on expireAt: 96758.889ms [2018-01-04 17:56:33.782] [LOG] Create unique index on key: 137162.272ms [2018-01-04 17:59:16.032] [LOG] Create index on key__score: 299444.860ms [2018-01-04 17:59:39.795] [LOG] Create unique index on key__value: 323173.823ms [2018-01-04 17:59:39.795] [LOG] Index: 323228.577ms
Five minutes-ish for the four indexes (the server this forum runs on has 8 cores, so the script runs up to 8 SQL commands at a time).
Now for the
CLUSTER
...
-
-
@anonymous234 For you
-
@ben_lubar said in Discussion of NodeBB Updates:
Now for the
CLUSTER
...Aw crap, maintenance_work_mem defaults to 64 megabytes. I'm gonna cancel this attempt and change the config in PostgreSQL.
-
@ben_lubar said in Discussion of NodeBB Updates:
Five minutes-ish for the four indexes (the server this forum runs on has 8 cores, so the script runs up to 8 SQL commands at a time).
I/O is more likely than CPU to be the bottleneck for this sort of stuff.
-
@boomzilla said in Discussion of NodeBB Updates:
@ben_lubar said in Discussion of NodeBB Updates:
Five minutes-ish for the four indexes (the server this forum runs on has 8 cores, so the script runs up to 8 SQL commands at a time).
I/O is more likely than CPU to be the bottleneck for this sort of stuff.
Not really; the server has 32GB of RAM and the
objects
table is less than 8GB with indexes included.
-
[2018-01-04 18:40:54.455] [LOG] [DB] clustering "public.objects" using sequential scan and sort [2018-01-04 19:08:02.907] [LOG] [DB] "objects": found 0 removable, 32533096 nonremovable row versions in 918196 pages 0 dead row versions cannot be removed yet. CPU: user: 1247.10 s, system: 36.59 s, elapsed: 1628.22 s. [2018-01-04 19:13:00.657] [LOG] Cluster objects: 1926319.115ms [2018-01-04 19:13:00.669] [LOG] Cluster: 1926338.815ms [2018-01-04 19:13:00.705] [LOG] [DB] analyzing "public.objects" [2018-01-04 19:13:01.005] [LOG] [DB] "objects": scanned 30000 of 947387 pages, containing 1026885 live rows and 0 dead rows; 30000 rows in sample, 32529786 estimated total rows [2018-01-04 19:13:01.350] [LOG] Analyze objects: 671.468ms [2018-01-04 19:13:01.350] [LOG] Analyze: 680.343ms
Half an hour for the cluster, even with 4GB of maintenance memory available. I wonder if it would go any faster with 8GB or 16GB of maintenance memory, or if I should just skip the cluster altogether...
[2018-01-04 19:13:01.497] [LOG] Create type legacy_object_type: 90.762ms [2018-01-04 19:13:01.666] [LOG] Create table legacy_object: 168.171ms [2018-01-04 19:14:31.704] [LOG] Insert into legacy_object (zset): 90037.882ms [2018-01-04 19:19:08.584] [LOG] Insert into legacy_object (string, set, list, hash): 276879.201ms [2018-01-04 19:19:16.159] [LOG] Create index on expireAt: 7574.775ms [2018-01-04 19:19:16.198] [LOG] Objects: 374833.121ms
There's the "hub" table done, so now it should do the five types of objects in parallel, but it looks like creating a table in a transaction locks out all the other transactions from creating tables, so I'll need to change that to create the tables first before starting the transactions.
-
@ben_lubar said in Discussion of NodeBB Updates:
[2018-01-04 17:54:14.465] [WARN] There were 32580059 objects, but 32579377 were expected. [2018-01-04 17:54:16.566] [LOG] Copy objects: 1604064.164ms [2018-01-04 17:54:16.566] [LOG] Copy: 1604198.812ms
So a bit under a half hour to copy the MongoDB stuff to PostgreSQL. Now the script will create some indexes and do the actual data manipulation without moving the data out of the database from here on.
Rewrote the script that filters MongoDB objects to create less garbage for the collector, and PostgreSQL used 60% CPU instead of 10-20%, and it shaved a few minutes off the initial copy:
[2018-01-04 20:18:30.467] [WARN] There were 32582668 objects, but 32582388 were expected. [2018-01-04 20:18:30.476] [LOG] Copy objects: 1354962.147ms [2018-01-04 20:18:30.477] [LOG] Copy: 1355047.811ms
-
@ben_lubar so is this why the forums are as performant right now as a frozen bag of monkey shit?
-
@polygeekery said in Discussion of NodeBB Updates:
@ben_lubar so is this why the forums are as performant right now as a frozen bag of monkey shit?
I haven't noticed any change in the number of page views per hour or the speed at which I can browse the forum, so I'm going to assume you're being affected by Regular NodeBB Performance or RNP.
-
@ben_lubar said in Discussion of NodeBB Updates:
the speed at which I can browse the forum
If that's the metric you are using then there's your problem.
-
Hm, OK I have no idea what normal looks like so this is pretty pointless.
-
@pleegwat a screenshot is better:
And no, it should not look like that. The forums are running like shit. Probably because Been is dicking around with tasks chewing lots of CPU at a time when we have lots of users.
-
@polygeekery it looked like that before I started testing stuff. I wonder if something is causing servercooties to be throttled...
-
By the way, there are plenty of resources left over:
-
Alright, with 12GB of RAM allowed for maintenance tasks,
[2018-01-04 22:07:15.300] [LOG] [DB] clustering "public.objects" using sequential scan and sort [2018-01-04 22:34:25.938] [LOG] [DB] "objects": found 0 removable, 32536404 nonremovable row versions in 917993 pages 0 dead row versions cannot be removed yet. CPU: user: 1246.02 s, system: 32.62 s, elapsed: 1629.20 s. [2018-01-04 22:39:24.133] [LOG] Cluster objects: 1928875.845ms [2018-01-04 22:39:25.225] [LOG] Cluster: 1930213.502ms [2018-01-04 22:39:25.336] [LOG] [DB] analyzing "public.objects" [2018-01-04 22:39:25.592] [LOG] [DB] "objects": scanned 30000 of 946377 pages, containing 1029614 live rows and 0 dead rows; 30000 rows in sample, 32534619 estimated total rows [2018-01-04 22:39:26.055] [LOG] Analyze objects: 730.736ms [2018-01-04 22:39:26.056] [LOG] Analyze: 830.012ms
About 32 minutes.
[2018-01-04 22:39:26.138] [LOG] Create type legacy_object_type: 43.437ms [2018-01-04 22:39:26.323] [LOG] Create table legacy_object: 184.366ms [2018-01-04 22:40:55.804] [LOG] Insert into legacy_object (zset): 89480.095ms [2018-01-04 22:45:34.461] [LOG] Insert into legacy_object (string, set, list, hash): 278657.410ms [2018-01-04 22:45:42.572] [LOG] Create index on expireAt: 8110.334ms [2018-01-04 22:45:42.635] [LOG] Objects: 376579.172ms [2018-01-04 22:45:42.963] [LOG] Create table legacy_hash: 327.720ms [2018-01-04 22:45:43.082] [LOG] Create table legacy_zset: 117.913ms [2018-01-04 22:45:43.182] [LOG] Create table legacy_set: 99.599ms [2018-01-04 22:45:43.249] [LOG] Create table legacy_list: 66.321ms [2018-01-04 22:45:43.389] [LOG] Create table legacy_string: 126.111m
Looks good so far...
[2018-01-04 22:45:54.803] [ERROR] Query failed: Insert into legacy_zset [2018-01-04 22:45:54.803] [LOG] Insert into legacy_zset: 10646.858ms [2018-01-04 22:45:54.908] [ERROR] error: null value in column "score" violates not-null constraint at Connection.parseE (/usr/src/app/node_modules/pg/lib/connection.js:546:11) at Connection.parseMessage (/usr/src/app/node_modules/pg/lib/connection.js:371:19) at Socket.<anonymous> (/usr/src/app/node_modules/pg/lib/connection.js:114:22) at emitOne (events.js:116:13) at Socket.emit (events.js:211:7) at addChunk (_stream_readable.js:263:12) at readableAddChunk (_stream_readable.js:250:11) at Socket.Readable.push (_stream_readable.js:208:10) at TCP.onread (net.js:594:20)
what.
-
@ben_lubar said in Discussion of NodeBB Updates:
Not really; the server has 32GB of RAM and the objects table is less than 8GB with indexes included.
I think phpBB would perform well with 32KB of RAM
-
@sockpuppet7 said in Discussion of NodeBB Updates:
@ben_lubar said in Discussion of NodeBB Updates:
Not really; the server has 32GB of RAM and the objects table is less than 8GB with indexes included.
I think phpBB would perform well with 32KB of RAM
Not IME...
-
@boomzilla @ben_lubar it would be cool if the first upvote didn't trigger a notification
or maybe, just create a special rule for people that use upvote for marking shit as read, AKA @tsaukpaetra