GithubHelp home page GithubHelp logo

n4n0gh / 0xchan-frontend Goto Github PK

View Code? Open in Web Editor NEW
17.0 6.0 3.0 4.87 MB

0xchan is a decentralized and immutable message board system on the Ethereum blockchain where users can post messages and media files.

Home Page: https://0xchan.net

JavaScript 9.39% CSS 10.18% HTML 1.55% Vue 78.87%
vuejs2 chan imageboard 0xchan 4chan 8chan ipfs ethereum web3

0xchan-frontend's People

Contributors

n4n0gh avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

0xchan-frontend's Issues

fix aggressive keep-alive

Thanks to keep-alive, if a user expands the reverse image search on 2nd OP on /g/, it'll also be open on the 2nd OP on other boards.

[REQ] Economy Mode

Users can enable this to prevent files larger than n MB to be auto fetched even if SFW mode is turned off.

Board.vue needs restructure

Issue

Calling the catalog or a single thread will still render all posts seen on page 1.

Current Nesting:

Board.vue
+------------------+
| Banner Component |
+------------------+
| New Button       |
+------------------+
| <router-view>    |
+------------------+
| Render Posts     |
+------------------+

Suggested Solution

The currently mis-rendered child pages will now be put in the child's child to not overlap any further. Needs adjustment of router.js and new components.

Possible Nesting:

Board.vue
+------------------+
| Banner Component |
+------------------+
| <router-view>    |
+------------------+

Content.vue (child route of board)
+---------------+
| New Button    |
+---------------+
| <router-view> |
+---------------+

Reconsider (you) functionality

Currently outlined in the whitepaper:

Users can award each other (you) tokens that can b e collected and later b e redeemed for cosmetic things. (you) don’t account for any additional stake nor can they b e traded or sold. Another way to thank users for a p ost would b e through an integrated donation function that engages a standard Ether transfer from the user clicking the button on 0xchan.net to the user that made the p ost where users can cho ose how much Ether will b e sent themselves. No Ether will be transferred to the 0xchan contract that way

However this bears a greater risk of making posts very traceable.

[REQ] Content parsing

Dynamically check posts for various contents and manipulate the rendered output.

Parse posts for ">>n" where n = post number, create dynamic anchor link to n

Parse user input for certain things like [code] blocks and format them accordingly

Parse post for reply numbers and add ">>n" to the bottom of a single post card

[REQ] Encrypt post content

Regular text should be converted to hex, then bitwise XOR against a repeating salt to keep the length -> then store on IPFS

Media files should be converted to base64, then hex, then bitwise XOR against a repeating salt to keep the length -> then store on IPFS https://codepen.io/AshV/pen/pjodjV

[REQ] Basic functionality of imageboards

List to go by as per lainchan/lainchan#153 (comment)
[ ] search
[ ] sticky, lock , raw html
[ ] and delete, unsticky, sage, lock, move and edit
[ ] support for post formatting
[ ] support for reply linking
[ ] overboard extensions
[ ] is performant and secure
[x] word filters (see whitepaper)
[x] moderation dashboard
[x] new board creation
[x] uses database
[x] user management
[x] themes or extensions
[x] reporting system / log
[x] moderation log
[x] configuration editor
[x] name, email, subject, spoiler image, file ,oekaki
[x] trip codes
[x] banners support
[x] moderation actions
[x] image / file upload
[x] thumbnail image support
[x] ImgOps iqdb
[x] anonymous naming scheme
[x] board customization
[x] api probably 4chan api compatible or similar
[x] catalog extension
[x] recent posts
[x] css themes
[x] hackable (easy to extend, modify and customize)
[x] board aliases
wontadd:
[ ] customisable header support
[ ] keyboard navigation
[ ] word / phrase blocking
[ ] works with and without JavaScript
[ ] file / post deletion and password
[ ] ban appeals
[ ] ban list
[ ] board deletion and editing #wontfix
[ ] thread merge
[ ] auto IP note generation
[ ] multiple file upload using URLs
[ ] server side syntax highlighting #wontfix

[BUG] "View Thread" icon on replies in board view

Describe the bug
The icon/router-link to view a thread is rendered on every reply in board view. Clicking those results, obviously, in an empty result as the system will query threads matching the reply ID.

To Reproduce

  1. Create a board
  2. Create a thread
  3. Comment on that thread
  4. Switch to board view, if not already there

Expected behavior
Icon should only be visible on the OP of a thread, not all subsequent replies.

[REQ] Enable post preview

When hovering over post references (>>), show a hovering preview of the post that is being referenced.

[BUG] Catalog in NSFW mode

Describe the bug
When using NSFW mode and browsing the catalog of any board, the catalog viewer will try to display images even when no images where supplied in the OP.

To Reproduce

  1. Go to any board with SFW turned off
  2. Click on catalog
  3. If there are OPs with no image you will see the issue

Expected behavior
It should behave like in SFW mode, where the container is ignored.

[REQ] Custom IPFS HTTP API Endpoint

Add input to settings page for users to define the IPFS HTTP API endpoint they want to use, if one goes down.

If vuex has anything user-sided stored, it'll use that address to resolve the new HTTP API, if not it uses the provided HTTP API on 0xchan.org/net/com

[REQ] Custom CSS

a) modify this theme (selects custom theme and pre-fills textarea with content of theme user wants to modify)
b) auto-apply theme on select switch

[BUG] Custom board list not rendering in regular sidebar on desktop

Describe the bug
See title

To Reproduce
Steps to reproduce the behavior:

  1. Go to Settings
  2. Create custom board list (make sure boards are available)
  3. No board list is rendered anymore upon saving

Expected behavior
The board list should use the custom selection.

Additional context
When switching to "comfy mode" the board list is rendered properly.

[BUG] Boardlist in Comfy Mode Ignores Custom Boards

Describe the bug
When using the comfy mode and creating a custom board list, the board list will not change.

To Reproduce

  1. Go to settings
  2. Create custom board list
  3. Save
  4. Switch to comfy mode if not already active

Expected behavior
Board list should adhere to the custom list, but doesn't.

Additional context
Issue stems from how the list is filtered in the regular view, where not needed boards are just applied a display: none; style to hide them.

Proposed fix
Properly filter the list using methods instead of relying on CSS hacks.

Encoding Unicode Characters Breaks Encryption

Building up on #26 there's an issue with the current encode and decrypt methods:
Encode returns the wrong hex representation for the characters:

  • Input:
  • Expected Output: e2 9b a7
  • Produced Output: 26 e7
    This produces another issue with the decryption process, whereas the hex encoder takes bits in pairs of two to translate them back to ASCII, which is fine for ASCII but doesn't obviously work on Unicode.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.