Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pik/Interlocutor
Free, decentralized comment software for the web
https://github.com/pik/Interlocutor
Last synced: 3 months ago
JSON representation
Free, decentralized comment software for the web
- Host: GitHub
- URL: https://github.com/pik/Interlocutor
- Owner: pik
- Created: 2016-08-19T13:29:48.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-15T22:33:51.000Z (over 7 years ago)
- Last Synced: 2024-08-01T12:28:09.214Z (6 months ago)
- Language: HTML
- Homepage:
- Size: 896 KB
- Stars: 30
- Watchers: 7
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome-starred - pik/Interlocutor - Free, decentralized comment software for the web (others)
README
# Interlocutor
Interlocutor is a decentralized comment software built on a [Matrix](http://matrix.org/) backend as a [Polymer Webcomponent](https://www.webcomponents.org/), it is under active development and not ready for production use.
The goal of this project is to provide a censorship-resistant software for discussions, while providing a comfortable modern UI and effective moderation features.
### Blog
A brief article providing a high-level overview of Interlocutor and a demo application can be found at: https://pik.github.io/Interlocutor/blog/
### Comment UI
**Flagging Comments**: Comments can be flagged by users by clicking the flag icon.
**Starring Comments**: Comments can be favorited by users by clicking the star icon.
**Collapsing Comments**: Comments can be collapsed by clicking the collapse icon.
**Edit Comments**: Comments can be editted by clicking the edit button. An edited comment will display the time it was last edited.
**User Actions**: Ignore User will add the user to a list of Ignored Identities, see Moderation Features below.
Contact User will attempt to initiate a Matrix chat with the user (which they are free to accept or decline).
### Moderation Features
Interlocutor supports a number of moderatain features which are accessible to all users. Default settings can be passed as a JSON string by the site-operator to interlocutor-app (see configuring Interlocutor) as well as modified by the users via UI.
```js
{
// Flag Kill Threshold determines how many flags a comment should have before it is hidden by filters.
// This does not apply to comments Flagged by a Moderator, as those are assumed to be malicious and hidden instantly.
flagKillThreshold: 1,
// Hides all comments below a certain number of stars.
voteCollapseThreshold: -1,
// Enable or disable the moderation filter.
filterOn: true,
// Interlocutor allows the hosting site to specify a list of Moderator Identities.
// a user may choose to add or remove Moderator Identities from this list.
trustedIdentities: { '@pik:pik-test': {} },
// All comments made by Ignored Users will be hidden from view.
ignoredIdentities: {},
// Window of time(ms) after a comment is posted that it can be edited.
// Set to -1 to disable edit completely
editWindow: 1000*60*24*7,
}
```**Auto-Persisted Settings per Discussion**: For a logged in user, changes to Moderation Settings are automatically persisted on a per-discussion basis. This means that your Moderation Settings will be remembered and restored next time you come back.
### Usage
With a Polymer App `bower install https://github.com/pik/interlocutor` and include
the import ``.For usage outside of a Polymer App include webcomponents-lite.js and the bundled interloctur-app.
```
```
Than simply include the `` element.
```
default-settings=""
config=""
```#### default-settings
See Moderation features for a list of options which can be manipulated in for default-setting.#### config
Static configuration for Interlocutor App.```js
{
flagsEnabled: true, // Flags are enabled for comments.
upvotesEnabled: true, // Stars are enabled for comments.
editsEnabled: true, // Edits are enabled for comments.
sortStrategy: 'newest' // Default comment sort order, accepts 'newest' or 'top'.
}
```#### roomId
Each comment thread corresponds to a unique Matrix RoomId, currently the relevant room should be created on a per discussion basis. This can be done via. one of the existing Matrix clients or via. the create_room script provided in this repo. Note that creating a room requires the user to be registered on the Homeserver.#### home-server-address
Pass a Matrix `home-server-address` to interlocutor.Use an existing HomeServer such as the official one at https://matrix.org or https://matrix.amaznev.net.
For running your own homeserver see: https://github.com/matrix-org/synapse.