Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Documentation #95

Closed
wants to merge 244 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
244 commits
Select commit Hold shift + click to select a range
4353378
refactor(backend-upgrade): duplicate axios and http
unenglishable May 20, 2022
f943083
refactor(backend-upgrade): use http2 for email and username checks
unenglishable May 20, 2022
6b0a99f
refactor(backend-upgrade): use http2 for login and logout
unenglishable Oct 21, 2022
91f56cf
refactor(backend-upgrade): use http2 for authenticate, register, conf…
akinsey Oct 21, 2022
7354095
Merge remote-tracking branch 'origin/http2' into server-migration
akinsey Oct 21, 2022
acc730f
refactor(config-api): use config for backend url
akinsey Oct 21, 2022
30a9265
feat(phoenix-sockets): proof of concept, connect to phoenix socket an…
akinsey Oct 25, 2022
94d0614
fix(axios2): update axios2 to match axios
akinsey Oct 26, 2022
6d8c785
feat(channels): implement working channel connection
akinsey Oct 27, 2022
316b627
feat(logout-socket): implement working logout socket
akinsey Oct 28, 2022
721a391
feat(phoenix-channels): functioning channel connections for reauthent…
akinsey Oct 28, 2022
0bff455
feat(notifications): swap notification api to use new server
akinsey Nov 1, 2022
2a0b8e7
feat(mentions): page mentions from new server
akinsey Nov 9, 2022
9a9e9e6
fix(login-issue): fix issue with login caused by socket logout
akinsey Nov 9, 2022
d44c413
refactor(websockets): wip convert websockets to use phoenix websockets
akinsey Nov 10, 2022
6dd52c5
refactor(websockets): wip websocket port, general sockets working, st…
akinsey Nov 11, 2022
cc4731e
feat(websockets): use phoenix for mentions, motd and messages.
akinsey Nov 14, 2022
b22d0e9
feat(websockets): port isOnline to phoenix channels
akinsey Nov 16, 2022
2f9c7db
refactor(websockets): change role channel message to permissionsChanged
akinsey Nov 17, 2022
4d4b286
refactor(websockets): clean up websocket_log variable
akinsey Nov 18, 2022
fba9209
Merge pull request #41 from epochtalk/phoenix-websockets
unenglishable Nov 21, 2022
3228317
feat(get-boards): use elixir api route to fetch boards for boards vie…
akinsey Feb 9, 2023
3e2cbf4
feat(by-board): port by board and slug routes to use new elixir server
akinsey Apr 11, 2023
31157f2
feat(update-dependencies): Updated all vue dependencies that needed u…
crod951 Jun 2, 2023
7cef98d
Merge pull request #42 from epochtalk/update-dependencies
akinsey Jun 2, 2023
9b86b88
feat(port-routes): convert routes relating to viewing thread to new s…
akinsey Jun 28, 2023
d8a33ab
feat(epoch-viewer): handle epoch viewer on request and response
akinsey Jun 28, 2023
6e28278
fix(epoch-viewer-token): check that local storage object exists befor…
akinsey Jul 3, 2023
7fcff40
build(dependencies): update dependencies
crod951 Jul 18, 2023
83097a4
refactor(breadcrumbs): changed breadcrumbs route to use new api, remo…
crod951 Jul 18, 2023
b96f787
fix(console-warnings): Removed unused boardId and threadId params to …
crod951 Jul 19, 2023
0a86671
refactor(breadcrumbs): Moved breadcrumbs.splice() to after api call t…
crod951 Jul 19, 2023
159e2fa
build(dependencies): update dependencies
crod951 Jul 28, 2023
c0c1c25
Merge pull request #43 from epochtalk/breadcrumbs
akinsey Aug 10, 2023
12275fd
feat(thread-create): port thread create to new server
akinsey Sep 29, 2023
621307f
feat(post-create): port post create to new server
akinsey Sep 29, 2023
76a8a49
build(package/lock): update phoenix version to match elixir project
unenglishable Sep 30, 2023
fde4722
fix(websocket): handle setting params.token on login
unenglishable Sep 30, 2023
ccc3471
fix(websocket): set token, reconnect when connection not 'open'
unenglishable Sep 30, 2023
90e4037
Merge pull request #46 from epochtalk/websocket-fixes
akinsey Sep 30, 2023
0fc70f0
fix(websockets): issue with reconnect not working when logging back i…
akinsey Sep 30, 2023
f9278a5
refactor(websockets): use disconnect callback instead of setTimeout t…
akinsey Sep 30, 2023
7492cd3
fix(router): handle session expiration when getting 401
akinsey Oct 23, 2023
5bb0379
fix(breadcrumbs): Fixed bug where breadcrumbs doesnt clear when acces…
crod951 Oct 23, 2023
244175a
Merge pull request #47 from epochtalk/breadcrumbs-fix
akinsey Oct 23, 2023
66a3df5
feat(api): movelist to new api
akinsey Nov 17, 2023
6ce7868
fix(breadcrumbs): render titles as html so entities display
akinsey Nov 17, 2023
8fc3a4a
feat(posts): display thread title as html so entities render
akinsey Nov 17, 2023
b283fce
refactor(thread): display board name as html so entities render
akinsey Nov 17, 2023
095ad6a
refactor(threads): render thread titles as html so entities render
akinsey Nov 17, 2023
6f54f01
feat(decode): update decode filter to allow raw decoding which will n…
akinsey Nov 20, 2023
7960d53
feat(posts): use raw decode to display post body content
akinsey Nov 20, 2023
4bd7c06
feat(threads): use v-html to render thread title
akinsey Nov 20, 2023
93727bc
fix(assets/scss): update css for markdown blockquote
akinsey Nov 20, 2023
da4afdd
fix(assets/scss): remove scroll bar from pre tag
akinsey Nov 21, 2023
00b40f3
fix(assets/scss): paragraph tag display for markdown parser
akinsey Nov 21, 2023
176efb8
fix(assets/scss): blockquote tag after implementing markdown parser
akinsey Nov 21, 2023
205f4d7
feat(assets/scss): add css for code and pre tags
akinsey Nov 22, 2023
3985d8e
feat(api): update post update route to use new elixir api
akinsey Dec 4, 2023
ef0f1cf
fix(api): modify crud routes for post and thread models to handle err…
akinsey Dec 14, 2023
f9af001
chore(dockerfile): upgrade node version
unenglishable Dec 15, 2023
ecdb347
chore(dockerfile): install git
unenglishable Dec 15, 2023
5f9fc41
chore(dockerfile): remove configs
unenglishable Dec 15, 2023
402e1c8
build(package.json): use https:// for nestable instead of git://
unenglishable Dec 15, 2023
68c13b8
fix(package.json): update pointer to nestable project after moving in…
akinsey Dec 16, 2023
c9813a3
build(yarn.lock): update
unenglishable Dec 16, 2023
738d597
fix(index): re-allow config from config.json
unenglishable Dec 16, 2023
aa869b9
Revert "chore(dockerfile): remove configs"
unenglishable Dec 16, 2023
ff3497e
feat(src/config): re-add docker/dev config files
unenglishable Dec 16, 2023
b15c6ce
fix(composables/websocket): handle wss
unenglishable Dec 19, 2023
d0e7cdb
refactor(services/websocket): test using ws instead of wss for connec…
unenglishable Dec 19, 2023
1231375
Revert "refactor(services/websocket): test using ws instead of wss fo…
unenglishable Dec 19, 2023
5551a26
refactor(posts-view): update post edit disabled check, wip still not …
akinsey Dec 20, 2023
84f6d06
refactor(views/post): wip debug timestamp issues
akinsey Dec 21, 2023
b3d2f3f
refactor(layout/posts): remove console logs from post disable check
akinsey Dec 22, 2023
893c24f
yolo(Thread view): remove checks for thread count
unenglishable Dec 22, 2023
01b615a
yolo(limits): Reduce limits for posts and threads per page
crod951 Jan 10, 2024
6092209
fix(rankdisplay): add check if metricToRankMaps exists to handle prox…
crod951 Jan 10, 2024
634dee6
fix(threads): Fix display bug for proxy data showing -1 replies to th…
crod951 Jan 10, 2024
b04c30d
feat(polls): use new server for voting on polls
akinsey Jan 16, 2024
b65c05f
refactor(api/index): increase timeout to 10k to reduce timeout errors
unenglishable Feb 16, 2024
7170b5f
feat(api-update): update api and code to use new elixir server routes…
akinsey Apr 18, 2024
ad66eda
feat(preview): editor preview using new elixir server route
akinsey Apr 30, 2024
449ccb0
fix(post-timestamp): correct timezone error, todo pull user preferenc…
akinsey May 2, 2024
e0916fe
fix(preview): css fix for previewing post
akinsey May 6, 2024
40df389
fix(post-preview): issue regarding sending empty body to preview api …
akinsey May 7, 2024
aa82f20
fix(editor-css): hide tool bar in preview view of editor
akinsey May 8, 2024
f225ab4
refactor(timezone-prefs): wip implement timezone from prefs
akinsey May 9, 2024
9e3d65d
refactor(tz): wip timezone fix
akinsey May 10, 2024
8f09c3e
fix(tz-issues): resolve timezone display issues, todo: clean up code
akinsey May 10, 2024
56b2a38
fix(filters/humanDate): use only dayjs
unenglishable May 10, 2024
acd3eb3
refactor(dayjs): move timezone plugin to top level
akinsey May 10, 2024
fdff01a
Merge pull request #48 from epochtalk/server-migration
unenglishable May 28, 2024
872cc69
feat(thread-lock): update thread lock to point to new api
akinsey Jun 4, 2024
9661a23
refactor(sticky-thread): use new server for sticky thread route
akinsey Jun 22, 2024
5491f86
refactor(public/index): load backend url from $VUE_APP_BACKEND_URL in…
unenglishable Jun 27, 2024
04abdf5
feat(purge): port purge thread route to new server
akinsey Jul 1, 2024
39249ac
fix(thread-title): make sticky thread titles render the same as regul…
akinsey Jul 1, 2024
9f4bc71
feat(thread-watch): port thread watch routes to new server api
akinsey Aug 6, 2024
44761aa
fix(move-thread): broken page reload after moving thread
akinsey Aug 13, 2024
24fe57f
refactor(pagination): wip convert pagination to standard pagination
akinsey Aug 23, 2024
58d0930
style(pagination): update css styles for pagination
akinsey Aug 26, 2024
698cdf5
feat(pagination): implement standard pagination
akinsey Aug 27, 2024
b80384d
Merge pull request #51 from epochtalk/server-migration-pagination
unenglishable Sep 3, 2024
2e720bc
Merge remote-tracking branch 'origin/server-migration' into proxy
unenglishable Sep 4, 2024
78be532
fix(pagination): resolve thread pagination issues, update router to n…
akinsey Sep 6, 2024
746b982
fix(thread-pagination): resolve thread pagination issue in mobile view
akinsey Sep 6, 2024
b7d7149
fix(sort): save query params when sorting threads
akinsey Sep 6, 2024
797b87d
Merge pull request #52 from epochtalk/server-migration-pagination
unenglishable Sep 10, 2024
5825cd3
Merge pull request #53 from epochtalk/server-migration
unenglishable Sep 10, 2024
e18b548
feat(recent-threads): add api route for recent threads
akinsey Sep 19, 2024
2157618
feat(recent-threads): extract recent threads into its own api route
akinsey Sep 20, 2024
15363dc
fix(recent-threads): resolve component loading delay for recent threads
akinsey Sep 21, 2024
79f5d25
Merge pull request #54 from epochtalk/server-migration-recent-threads
unenglishable Sep 24, 2024
e3781bf
fix(proxy-posts): hide rank if metadata is not present
akinsey Sep 24, 2024
a7c414c
fix(proxy): get recent threads to stop erroring for proxy
akinsey Sep 24, 2024
29c1d0d
feat(user-avatars-and-pagination): Added avatars to posts and threads…
crod951 Sep 27, 2024
7def406
refactor(rect-object-fit): Changed object-fit css to 'contain' to pre…
crod951 Sep 27, 2024
f766ffd
fix(recent-threads): decode html entities in recent thread titles
akinsey Sep 27, 2024
a53e334
Merge pull request #55 from epochtalk/user-avatars-and-pagination
akinsey Sep 27, 2024
83c7f1a
Merge pull request #56 from epochtalk/server-migration
akinsey Sep 27, 2024
f1bae2c
fix(btc-link): Removed btc link from server-migration branch
crod951 Sep 27, 2024
138ab01
fix(recent-threads-boards): decode html entities within board names
akinsey Sep 27, 2024
4c80b54
refactor(thread-pagination): wip implement pagination to jump to thre…
akinsey Oct 1, 2024
01ea729
fix(recent-threads): decode html entities in board name
akinsey Oct 1, 2024
1a21f95
feat(thread-pagination): initial implementation of thread pagination
akinsey Oct 1, 2024
dea264f
fix(polls): parse html entities in poll answers
akinsey Oct 2, 2024
82c5244
refactor(profiles): change so profile view does not require auth
akinsey Oct 2, 2024
cbfa508
feat(user-attrs): show merit and title under posts
akinsey Oct 4, 2024
45d3279
Merge pull request #57 from epochtalk/server-migration
unenglishable Oct 4, 2024
e88d605
feat(merit): add merit update api for user find
akinsey Oct 11, 2024
e29de4e
feat(layout/header): display revision
unenglishable Oct 14, 2024
6f5579c
refactor(layout/header): use window.title to display site title
unenglishable Oct 14, 2024
3c42a82
Merge pull request #58 from epochtalk/show-version
akinsey Oct 15, 2024
93ab238
Merge remote-tracking branch 'origin/server-migration' into proxy
unenglishable Oct 15, 2024
bdabff7
feat(profile): convert profile page to use new api
akinsey Oct 18, 2024
00eb6b3
Merge pull request #59 from epochtalk/server-migration
unenglishable Oct 18, 2024
15736dc
feat(api/index): increase timeout to 15 seconds
unenglishable Oct 21, 2024
a6c2bf0
ci(github/workflows/main): add image build and push
unenglishable Oct 23, 2024
b42b100
ci(github/workflows/main): remove dependency in build and push job
unenglishable Oct 23, 2024
303103f
Merge pull request #61 from epochtalk/ci
akinsey Oct 25, 2024
bce97af
Merge remote-tracking branch 'origin/server-migration' into proxy
unenglishable Oct 26, 2024
95085fd
feat(proxy-profile): update to make links to user profile functional
akinsey Nov 4, 2024
36cfb1d
fix(last-post-info): break work on last post thread title
akinsey Nov 4, 2024
55eb48b
fix(rank): only display rank if user.metadata is present
akinsey Nov 4, 2024
ef434d4
Merge remote-tracking branch 'origin/server-migration' into proxy
akinsey Nov 4, 2024
ac2bea9
feat(bug-form): Added link in header to bug submission form
crod951 Nov 5, 2024
f90c139
feat(last-seen): change last seen to last post
akinsey Nov 5, 2024
ea0f82c
fix(breadcrumbs): Call decodeURI() on breadcrumb.label to resolve enc…
crod951 Nov 15, 2024
9174ace
feat(profile): update profile page to work with proxy
akinsey Nov 15, 2024
4c01eaa
Merge pull request #62 from epochtalk/breadcrumbs-decode-uri
akinsey Nov 15, 2024
c9044b6
Merge remote-tracking branch 'origin/server-migration' into proxy
akinsey Nov 15, 2024
d3df955
fix(last-post-link): resolve linking to wrong profile in last post info
akinsey Nov 22, 2024
0209b77
style(header-component): Adding more margin bottom to the header comp…
crod951 Nov 22, 2024
7b872da
Merge pull request #63 from epochtalk/header-margin
akinsey Nov 22, 2024
1df11e0
style(threads): Moved thread pagination to bottom of each thread on m…
crod951 Nov 27, 2024
01c53fa
style(boards-avatar-small): Removed left margin and increased right m…
crod951 Nov 27, 2024
0ffb5ff
fix(pagination): Fixed pagination display bug when current page doesn…
crod951 Nov 27, 2024
a2df2a3
style(post-user-data): Updated layout of post user data on mobile to …
crod951 Nov 27, 2024
d734f8c
Merge pull request #64 from epochtalk/mobile-layout
akinsey Nov 29, 2024
fade620
style(user-posts): added more height to user posts in profile view to…
crod951 Dec 2, 2024
2b1ae5c
style(posts): Changed from 'Act' to 'Activity'; moved activity above …
crod951 Dec 2, 2024
c7a3cf1
style(profile): Reversed posts label and data to match other user-sta…
crod951 Dec 2, 2024
4990d12
style(user-posts): Increasing height of user posts preview
crod951 Dec 3, 2024
a2d720d
style(profile-margin): Adding bottom margin to be able to scroll to b…
crod951 Dec 3, 2024
ee3cf6e
style(profile-margin): Removing margin bottom from previous commit
crod951 Dec 3, 2024
8a36593
Merge pull request #67 from epochtalk/profile-mobile-layout
akinsey Dec 3, 2024
7b074a9
Merge branch 'proxy' into server-migration
crod951 Dec 3, 2024
314e5e4
Merge pull request #68 from epochtalk/server-migration
akinsey Dec 3, 2024
5ec0640
style(signature): Hide signature on posts and profile for proxy data
crod951 Jan 10, 2025
9e1874a
Merge pull request #69 from epochtalk/hide-signature
akinsey Jan 10, 2025
cd57245
refactor(profile-username): Updated to use user.username instead of p…
crod951 Jan 10, 2025
4e27de3
Merge pull request #70 from epochtalk/profile-username-case
akinsey Jan 10, 2025
d42370e
Merge pull request #71 from epochtalk/server-migration
crod951 Jan 10, 2025
42ca038
fix(forum-title): set forum title using vue_app_name
akinsey Jan 11, 2025
15c5d40
fix(forum-title): set forum title to bitcoin forum
akinsey Jan 11, 2025
827587b
fix(title): set forum title to bitcoin forum
akinsey Jan 11, 2025
577e99c
fix(pagination-history): use router push instead of replace to mainta…
akinsey Jan 13, 2025
abe1854
feat(api-key): send api key to with requests
akinsey Jan 17, 2025
1016160
feat(example-env): update to add api key
akinsey Jan 17, 2025
213e41b
Merge pull request #73 from epochtalk/api-key
crod951 Jan 17, 2025
0624a21
fix(api-key): attempt to fix api key
akinsey Jan 17, 2025
3055ac8
fix(api-key): temp fix for api key until we can figure out why its no…
akinsey Jan 17, 2025
c451174
fix(profile-breadcrumbs): For profile page, pull username breadcrumb …
crod951 Jan 23, 2025
9afbcd7
Merge pull request #74 from epochtalk/profile-breadcrumbs
akinsey Jan 24, 2025
526a8a0
refactor(api/index): load api key from VUE_APP_API_KEY
unenglishable Jan 24, 2025
a486f9f
fix(src/config.json): add VUE_APP_API_KEY for dev and prod
unenglishable Jan 24, 2025
13b876c
docs(example.env): add note for new env variables (dev/prod)
unenglishable Jan 24, 2025
7cfb761
build(docker): update docker-compose file, add nginx conf
unenglishable Jan 24, 2025
b66a2ad
feat(collapsible-recent-threads): implement collapsible recent threads
akinsey Jan 24, 2025
25e12bc
Merge pull request #76 from epochtalk/fix-api-key
crod951 Jan 24, 2025
fa77625
Merge pull request #77 from epochtalk/recent-threads-collapse
crod951 Jan 24, 2025
2e3fa3e
Merge branch 'proxy' into server-migration
akinsey Jan 24, 2025
7a2fe02
Merge pull request #78 from epochtalk/server-migration
crod951 Jan 24, 2025
bf028b1
fix(recent-threads): spacing issue
akinsey Jan 24, 2025
6f621f2
fix(code-tag): remove decode which was converting escaped gt and lt b…
akinsey Jan 27, 2025
92a649c
Merge pull request #79 from epochtalk/fix-code-tag
crod951 Jan 28, 2025
617b3bc
fix(quote-spacing): add spacing below quote blocks
akinsey Jan 31, 2025
a991500
fix(table-css): clean up css for tables
akinsey Feb 3, 2025
562d1e6
fix(code-css): general cleanup for code block css
akinsey Feb 3, 2025
1589f78
Merge pull request #80 from epochtalk/css-fixes
crod951 Feb 5, 2025
80ae5fc
use pathMatch to keep url preserved instead of defaulting to '/' when…
crod951 Feb 5, 2025
2a6646a
use correct .name for error pages to not produce breadcrumbs
crod951 Feb 5, 2025
38f7dd4
rename error page css to 'error-code' to remove background
crod951 Feb 5, 2025
461a0b1
Merge pull request #81 from epochtalk/error-preserve-url
akinsey Feb 5, 2025
d20a388
fix(default-limit): setting default limits for thread and posts per p…
crod951 Feb 6, 2025
2096b75
Merge pull request #82 from epochtalk/update-default-limit
akinsey Feb 7, 2025
5a457d6
feat(quote-link-fix): redirect users to correct link when clicking on…
akinsey Feb 10, 2025
bac9973
fix(limit): support limit when quering page that post is on
akinsey Feb 10, 2025
5e01397
Merge pull request #83 from epochtalk/quote-link-fix
crod951 Feb 10, 2025
bf20fd7
feat(views/post,thread): implement text direction for rtl boards
unenglishable Feb 12, 2025
65356df
refactor(quote-links): dont appened page if quote is on the same page
akinsey Feb 13, 2025
00a5cd7
fix(mobile-css): header spacing for mobile
akinsey Feb 13, 2025
3479841
fix(header-css): spacing specific to each view
akinsey Feb 13, 2025
ac59176
feat(hide-auth): remove actions pertaining to auth
akinsey Feb 13, 2025
f5b2b6f
Merge pull request #84 from epochtalk/rtl
akinsey Feb 14, 2025
6c248e9
refactor(quote-timestamp): Take body_html from parsed posts and repla…
crod951 Feb 18, 2025
4e37cc7
refactor(quote-timestamp): look for 10 digit number with prefix 'unix…
crod951 Feb 18, 2025
1e5844f
Merge pull request #85 from epochtalk/quote-timestamp
akinsey Feb 18, 2025
741985f
feat(anonymous-user): Added handling for anonymous post user so it do…
crod951 Feb 19, 2025
5c67667
style(avatar-size): Set avatar size to be 120x80 to match Bitcointalk…
crod951 Feb 19, 2025
aecdcc1
refactor(report-bug): Removed report bug link in header
crod951 Feb 19, 2025
74d2f88
refactor(thread-anonymous): Handle anonymous poster in thread view
crod951 Feb 19, 2025
11f5be3
style(large-numbers): Added thousands separators to large numbers to …
crod951 Feb 19, 2025
cfd8e16
style(grid-columns): Removing base grid columns for posts and profile…
crod951 Feb 19, 2025
743713c
feat(title-update): Update document title based on page
crod951 Feb 19, 2025
c89f33a
style(boards): restructured board listing layout and spacing; added b…
crod951 Feb 20, 2025
8c04163
style(polls): Added polls to the top of the thread; added collapse fu…
crod951 Feb 20, 2025
083e491
style(polls): Removed min-height from polls css
crod951 Feb 20, 2025
6faf98d
refactor(wip-dark-theme-colors): implement general dark theme css
akinsey Feb 20, 2025
0ee7ba0
style(boards-view): Set flex always on last-post section of boards li…
crod951 Feb 21, 2025
b3637f0
style(column-gap): Removed column gap so posts view can use full width
crod951 Feb 21, 2025
1d910d7
style(user-posts): Prevent user posts from being cutoff on mobile
crod951 Feb 21, 2025
fe65b28
feat(dark-mode): implement dark mode and save settings via local prefs
akinsey Feb 21, 2025
f26a771
fix(bug-report): remove bug report button
akinsey Feb 21, 2025
0c9b6d2
feat(sun-icon): add sun icon that toggles with dark mode
akinsey Feb 21, 2025
4c83cb0
Merge pull request #90 from epochtalk/dark-mode
crod951 Feb 21, 2025
e4fc4f8
Merge pull request #87 from epochtalk/avatar-size
unenglishable Feb 21, 2025
8f7398b
Merge pull request #88 from epochtalk/css-layout-update
akinsey Feb 21, 2025
ce4bfef
Merge remote-tracking branch 'origin/proxy' into anonymous-user
crod951 Feb 21, 2025
a318ac4
refactor(thread-username): Remove checks for thread username before d…
crod951 Feb 21, 2025
60ffefa
Merge pull request #86 from epochtalk/anonymous-user
akinsey Feb 21, 2025
d133b29
refactor(delopment-readme): add continued development guide, WIP
akinsey Feb 26, 2025
b182614
feat(documentation): add development documentation regarding porting …
akinsey Feb 28, 2025
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
53 changes: 53 additions & 0 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
name: CI test and build

on:
push:
pull_request:
types: [opened]
branches:
- main

# env settings for github releases
# docker image push
env:
REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}

jobs:
# build and push image to github container registry
build-and-push-image:
runs-on: ubuntu-latest
permissions:
contents: read
packages: write
attestations: write
id-token: write
steps:
- name: Checkout repository
uses: actions/[email protected]
- name: Log in to the Container registry
uses: docker/[email protected]
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Extract metadata (tags, labels) for Docker
id: meta
uses: docker/[email protected]
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
- name: Build and push Docker image
id: push
uses: docker/[email protected]
with:
context: .
push: true
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
# https://docs.github.com/en/actions/security-guides/using-artifact-attestations-to-establish-provenance-for-builds
- name: Generate artifact attestation
uses: actions/[email protected]
with:
subject-name: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME}}
subject-digest: ${{ steps.push.outputs.digest }}
push-to-registry: true
38 changes: 38 additions & 0 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# DEVELOPMENT GUIDE

## Proxy Project

The proxy server queries the existing BCT database and manipulates that data to fit into Epochtalk's data models. The backend serves that manipulated data to the frontend project. This version of the project is for a read only mobile deployment of BCT.

### Continued Development

* Prequisites
* SSH tunnel to BCT database from localhost if developing locally, this is required to make the proxy queries work
* Checkout each of the three projects and switch to the branch in parentheses
* `epochtalk/epochtalk` (ui-refactor-2020)
* There should be no modifications made to this project, it is just running to stop the frontend from breaking when hitting api routes which have not been ported to the new `epochtalk-server` yet
* `epochtalk/epochtalk-vue` (proxy)
* Changes can be made here when proxy BCT data doesn't quite fit into the current model design scheme of Epochtalk
* `slickage/epochtalk-server` (main)
* This should only be modified if there is an issue with existing proxied routes, or if there is a requirement to proxy more BCT data for the mobile read only site
* Key Files
* `lib/epochtalk_server/smf_query.ex` - used to proxy SMF data into Epochtalk format
* `lib/epochtalk_server_web/controller/*.ex` - to override a standard route with data queried from the proxy, the controller must be modified. See existing examples of using the plug `:check_proxy` the `post.ex` controller is a good example of this.
* `lib/epochtalk_server/bbc_parser.ex` - used to turn the bbcode parser into genserver process which can be deployed as a pool via `poolboy`
* `parsing.php` - bbcode parser
* `parsing_extra.php` - additional settings and functions required to run bbcode parser

## Main Project

The main project was initially written in Node/Angular an is in the process of being ported to Vue JS (Frontend) and Elixir (Backend).

### Continued Development

* Checkout each of the three projects and switch to the branch in parentheses
* `epochtalk/epochtalk` (ui-refactor-2020)
* There should be no modifications made to this project, it is just running to stop the frontend from breaking when hitting api routes which have not been ported to the new `epochtalk-server` yet.
* `epochtalk/epochtalk-vue` (main)
* Frontend changes should be made here. When new routes are ported to the new elixir server, the front end api/views must be updated as well.
* See `PortRoadMap.md` within this project to view a list of remaining views to be ported.
* `epochtalk/epochtalk-server` (main)
* See `PortRoadmap.md` within the `epochtalk-server` project for a list of which models and features have been ported.
3 changes: 2 additions & 1 deletion Dockerfile
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
# build stage
FROM node:12-alpine as build-stage
FROM node:16-alpine as build-stage
ENV JQ_VERSION=1.6
RUN wget --no-check-certificate https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-linux64 -O /tmp/jq-linux64
RUN cp /tmp/jq-linux64 /usr/bin/jq
RUN chmod +x /usr/bin/jq
RUN apk add --no-cache git
WORKDIR /app
COPY . .
COPY src/docker-config.json src/config.json
Expand Down
43 changes: 43 additions & 0 deletions PortRoadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
## Port Roadmap

This document is used to track progress of porting views from the original node/angular `epochtalk/epochtalk` project to the new elixir/vue `epochtalk/epochtalk-vue`

## Non Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| Boards | :white_check_mark: |
| Threads | :white_check_mark: |
| Posts | :white_check_mark: |
| Profile | :white_check_mark: |
| About | :x: |

## Public Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| Boards | :white_check_mark: |
| Threads | :white_check_mark: |
| Posts | :white_check_mark: |
| Profile | :white_check_mark: |
| WatchList | :construction_worker: |
| Messages | :construction_worker: |
| Trust | :white_check_mark: |
| Trust Settings | :white_check_mark: |
| Settings | :white_check_mark: |
| Invite User | :white_check_mark: |

## Administrative Authenticated View Port Progress
| View Name | Completed? |
| --------- | ---------- |
| General Settings | :x: |
| Advanced Settings | :x: |
| Legal Settings | :x: |
| Theme Settings | :x: |
| Board Management | :x: |
| Users Management | :x: |
| Roles Management | :x: |
| Banned Addresses Management | :x: |
| Users Moderation | :x: |
| Posts Moderation | :x: |
| Messages Moderation | :x: |
| Board Bans Moderation | :x: |
| Moderation Logs | :x: |
44 changes: 44 additions & 0 deletions data/nginx-vue/conf.d/default.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
server {
listen 80;
server_name localhost;

#access_log /var/log/nginx/host.access.log main;

location / {
root /usr/share/nginx/html;
index index.html index.htm;
}

#error_page 404 /404.html;

# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
error_page 404 =200 /index.html;
location = /50x.html {
root /usr/share/nginx/html;
}

# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}

# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
40 changes: 2 additions & 38 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,43 +4,7 @@ services:
build: .
ports:
- "80:80"
links:
- epochtalk
environment:
BASE_URL: "http://localhost:8080"
epochtalk:
image: quay.io/epochtalk/epochtalk:ui-refactor-2020
ports:
- "8080:8080"
- "23958:23958"
depends_on:
- redis
- postgres
- epoch
links:
- redis
- postgres
env_file:
- epochtalk-docker.env
epoch:
image: quay.io/epochtalk/epoch:v1.14.0
depends_on:
- postgres
links:
- postgres
environment:
MIX_ENV: prod
DATABASE_USER: docker
DATABASE_PASSWORD: docker
DATABASE_NAME: epochtalk
DATABASE_HOST: postgres
redis:
image: redis:4.0.1
user: redis
postgres:
image: postgres:11.1
environment:
POSTGRES_USER: docker
POSTGRES_PASSWORD: docker
- epochtalk-vue.env
volumes:
- ./db:/var/lib/postgresql/data
- ./data/nginx-vue/conf.d:/etc/nginx/conf.d
6 changes: 6 additions & 0 deletions example.env
Original file line number Diff line number Diff line change
@@ -1,2 +1,8 @@
# When adding a new env variable,
# make sure to add an entry to:
# src/config.json (dev)
# and
# src/docker-config.json (prod)
VUE_APP_BACKEND_URL=http://localhost:4000
VUE_APP_OLD_BACKEND_URL=http://localhost:8080
VUE_APP_API_KEY=ABC123
45 changes: 24 additions & 21 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,33 +19,34 @@
"url": "git://github.com/epochtalk/epochtalk-vue"
},
"dependencies": {
"@fortawesome/fontawesome-free": "^5.15.1",
"@vueform/multiselect": "^1.2.5",
"axios": "^0.21.0",
"core-js": "^3.6.5",
"dayjs": "^1.9.6",
"emittery": "^0.10.1",
"jquery": "^3.6.0",
"nestable": "git+https://github.com/slickage/Nestable.git",
"@fortawesome/fontawesome-free": "^6.4.0",
"@vueform/multiselect": "^2.6.2",
"axios": "^1.4.0",
"core-js": "^3.32.0",
"dayjs": "^1.11.8",
"emittery": "^1.0.1",
"jquery": "^3.7.0",
"nestable": "https://github.com/epochtalk/Nestable.git",
"normalize.css": "^8.0.1",
"nprogress": "^0.2.0",
"sass": "^1.55.0",
"slugify": "^1.6.1",
"socketcluster-client": "^14.3.2",
"swrv": "^1.0.0-beta.5",
"vue": "^3.0.0",
"vue-router": "^4.0.6",
"phoenix": "^1.7.7",
"sass": "^1.64.1",
"slugify": "^1.6.6",
"socketcluster-client": "^17.1.1",
"swrv": "^1.0.3",
"vue": "^3.3.4",
"vue-router": "^4.2.2",
"vuedraggable": "^4.1.0"
},
"devDependencies": {
"@babel/eslint-parser": "^7.21.8",
"@vue/cli-plugin-babel": "~5.0.8",
"@vue/cli-plugin-eslint": "~5.0.8",
"@vue/cli-service": "~5.0.8",
"@vue/compiler-sfc": "^3.0.0",
"babel-eslint": "^10.1.0",
"eslint": "^7.27.0",
"eslint-plugin-vue": "^7.0.0-0",
"sass-loader": "^10"
"@vue/compiler-sfc": "^3.3.4",
"eslint": "^8.46.0",
"eslint-plugin-vue": "^9.14.1",
"sass-loader": "^13.3.1"
},
"eslintConfig": {
"root": true,
Expand All @@ -57,9 +58,11 @@
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
"parser": "@babel/eslint-parser"
},
"rules": {}
"rules": {
"vue/multi-word-component-names": "off"
}
},
"browserslist": [
"> 1%",
Expand Down
6 changes: 3 additions & 3 deletions public/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,18 @@
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="/favicon.ico">
<title><%= htmlWebpackPlugin.options.title %></title>
<title>Bitcoin Forum</title>
</head>
<body>
<noscript>
<strong>We're sorry but <%= htmlWebpackPlugin.options.title %> doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
<strong>We're sorry but Bitcoin Forum doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<div id="modals"></div>
<!-- built files will be auto injected -->
<script id="config-remote" async>
window.configScript = document.createElement('script')
window.configScript.src = '<%= process.env.VUE_APP_BACKEND_URL%>/config.js'
window.configScript.src = '<%= process.env.VUE_APP_BACKEND_URL || "$VUE_APP_BACKEND_URL"%>/config.js'
window.configScript.type = 'text/javascript'

// Try to append config from backend
Expand Down
8 changes: 4 additions & 4 deletions src/App.vue
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<ProvideWebsocket>
<ProvideBreadcrumbs>
<div id="wrapper" :class="{ 'admin': adminMode }">
<Header></Header>
<HeaderComponent></HeaderComponent>
<main>
<div id="public-content">
<router-view />
Expand All @@ -18,7 +18,7 @@
</template>

<script>
import Header from '@/components/layout/Header.vue'
import HeaderComponent from './components/layout/HeaderComponent.vue'
import ProvidePreferences from '@/composables/stores/prefs'
import ProvideAuth from '@/composables/stores/auth'
import ProvideWebsocket from '@/composables/services/websocket'
Expand All @@ -28,7 +28,7 @@ import { useRoute } from 'vue-router'

export default {
name: 'Epochtalk',
components: { Header, ProvidePreferences, ProvideWebsocket, ProvideBreadcrumbs, ProvideAuth },
components: { HeaderComponent, ProvidePreferences, ProvideWebsocket, ProvideBreadcrumbs, ProvideAuth },
setup() {
const v = reactive({ adminMode: false })
const $route = useRoute()
Expand Down Expand Up @@ -106,13 +106,13 @@ main {
#public-content {
@include base-layout-width;
@include grid-base-layout;
@include grid-columns-base;
// margin-top: $header-bottom-margin;
grid-template-areas:
"header header"
"main main"
"sidebar sidebar";
grid-gap: 2rem;
column-gap: 0;
row-gap: 0;
margin-bottom: 2rem;

Expand Down
Loading