Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
6fa597e
Improved for phone the webui pages
defnax Jul 26, 2026
8157f6d
disabled getAvatar api call
defnax Jul 26, 2026
f144a85
improved mail view on phones
defnax Jul 26, 2026
e33e38c
missed this changes
defnax Jul 27, 2026
f576b9f
Fixed desktop mail counting
defnax Jul 27, 2026
de4d0aa
update styles.css
defnax Jul 27, 2026
d468016
Fixed to show drafts
defnax Jul 27, 2026
289f93e
Added for direct chat file, emoji & image buttons
defnax Jul 27, 2026
04d42dc
Added comments viewer & composer for boards
defnax Jul 28, 2026
709c002
Improved Channels for Phone & Desktop
defnax Jul 30, 2026
19b0902
Fixed config pages get compatible for phone
defnax Jul 31, 2026
1f3dfdd
Fix status spacing issue
defnax Aug 1, 2026
2186fee
Merge master into improvements_v2
jolavillette Aug 8, 2026
b8a6e25
scss: close the unterminated @media block in _people.scss
jolavillette Aug 8, 2026
0d07265
build: drop build.ps1 and keep the standard sass pipeline
jolavillette Aug 8, 2026
d5fb6a5
lint: apply `eslint --fix` to the new code
jolavillette Aug 8, 2026
1444f94
Merge pull request #3 from jolavillette/pr121-merge
defnax Aug 8, 2026
a7b6e94
Fixing context menu issue on quote message
defnax Aug 9, 2026
f1cb679
used npm build for webui
defnax Aug 9, 2026
434f473
Fixed to show own Location name
defnax Aug 9, 2026
41e995e
Added to show custom status on network page
defnax Aug 9, 2026
d459613
Enabled Chat History with direct friends
defnax Aug 9, 2026
98d5409
Added missed identity selector for vote board posts
defnax Aug 9, 2026
acb754e
channels: fetch channel content in batches instead of one request per…
jolavillette Aug 9, 2026
a960920
channels, boards: stop pointing the group logo at a file that does no…
jolavillette Aug 9, 2026
7f843d1
identities: stop calling the deprecated /rsIdentity/getOwnIds
jolavillette Aug 9, 2026
d951e11
webui v132: decode HTML entities in chat messages
jolavillette Aug 8, 2026
974d7bb
Merge pull request #5 from jolavillette/fix/own-ids-endpoint-for-121
defnax Aug 9, 2026
aff0f88
Merge pull request #6 from jolavillette/fix/chat-html-entities-for-121
defnax Aug 9, 2026
53f03a0
Merge pull request #4 from jolavillette/fix/channels-batching-for-121
defnax Aug 9, 2026
1559326
Fixed to get own custom state string
defnax Aug 10, 2026
38118e9
Added to use status colored dots instead of the status text string
defnax Aug 10, 2026
23a3f0d
Added setOwnCustomStateString
defnax Aug 10, 2026
589c9ef
Added feedreader for webui
defnax Aug 10, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
694 changes: 694 additions & 0 deletions webui-src/app/boards/board_kanban.js

Large diffs are not rendered by default.

737 changes: 507 additions & 230 deletions webui-src/app/boards/board_view.js

Large diffs are not rendered by default.

51 changes: 30 additions & 21 deletions webui-src/app/boards/boards.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,41 +7,49 @@ const peopleUtil = require('people/people_util');

const getBoards = {
All: [],
PopularBoards: [],
SubscribedBoards: [],
Popular: [],
Subscribed: [],
MyBoards: [],
OtherBoards: [],
Other: [],
async load() {
const res = await rs.rsJsonApiRequest('/rsPosted/getBoardsSummaries');
const data = res.body;
getBoards.All = data.groupInfo;
getBoards.PopularBoards = getBoards.All;
getBoards.PopularBoards.sort((a, b) => b.mPop - a.mPop);
getBoards.OtherBoards = getBoards.PopularBoards.slice(5);
getBoards.PopularBoards = getBoards.PopularBoards.slice(0, 5);
getBoards.SubscribedBoards = getBoards.All.filter(
(board) => board.mSubscribeFlags === util.GROUP_SUBSCRIBE_SUBSCRIBED
);
getBoards.MyBoards = getBoards.All.filter(
(board) => board.mSubscribeFlags === util.GROUP_MY_BOARD
);
try {
const res = await rs.rsJsonApiRequest('/rsPosted/getBoardsSummaries');
const boards = res && res.body && Array.isArray(res.body.groupInfo) ? res.body.groupInfo : null;
if (!boards) {
console.warn('Boards summaries response did not include groupInfo', res && res.body);
return;
}
getBoards.All = boards;
const popular = [...boards].sort((a, b) => (b.mPop || 0) - (a.mPop || 0));
getBoards.Other = popular.slice(5);
getBoards.Popular = popular.slice(0, 5);
getBoards.Subscribed = boards.filter(
(board) => board.mSubscribeFlags === util.GROUP_SUBSCRIBE_SUBSCRIBED
);
getBoards.MyBoards = boards.filter(
(board) => board.mSubscribeFlags === util.GROUP_MY_BOARD
);
m.redraw();
} catch (error) {
console.warn('Failed to load board summaries', error);
}
},
};

const sections = {
MyBoards: require('boards/my_boards'),
SubscribedBoards: require('boards/subscribed_boards'),
PopularBoards: require('boards/popular_boards'),
OtherBoards: require('boards/other_boards'),
Subscribed: require('boards/subscribed_boards'),
Popular: require('boards/popular_boards'),
Other: require('boards/other_boards'),
};

const Layout = () => {
let ownId;

return {
oninit: () => {
rs.setBackgroundTask(getBoards.load, 5000, () => {
// return m.route.get() === '/files/files';
rs.setBackgroundTask(getBoards.load, 30000, () => {
return m.route.get().startsWith('/boards');
});
peopleUtil.ownIds((data) => {
ownId = data;
Expand Down Expand Up @@ -95,6 +103,7 @@ module.exports = {
m(widget.Sidebar, {
tabs: Object.keys(sections),
baseRoute: '/boards/',
mobileDrawer: true,
}),
m('.node-panel', m(Layout, { pathInfo: vnode.attrs })),
];
Expand Down
Loading