about summary refs log tree commit diff
path: root/src/main.rs
AgeCommit message (Collapse)AuthorFilesLines
2021-04-05 chore: Relicense under GPL-3.0Vincent Ambo1-7/+7
2018-05-22 chore: Remove Tera usage in all modulesVincent Ambo1-13/+1
2018-05-22 refactor(templates): Move post editing template to AskamaVincent Ambo1-1/+0
2018-05-22 refactor(templates): Move thread page template to AskamaVincent Ambo1-1/+0
2018-05-22 refactor(templates): Use Askama for index templateVincent Ambo1-4/+6
2018-05-22 feat(templates): Add new MDL based index pageVincent Ambo1-1/+2
2018-05-19 refactor(handlers): Embed static files into binaryVincent Ambo1-12/+4
2018-05-19 feat(templates): Add syntax highlighting for code via highlight.jsVincent Ambo1-0/+11
Includes a static distribution of highlight.js for syntax highlighting. A sane set of languages has been chosen.
2018-05-02 refactor(main): Use actix-web's identity middleware for authVincent Ambo1-5/+9
2018-04-17 chore(license): Relicense under AGPL-3.0-or-laterVincent Ambo1-8/+10
Relicense the project from the standard GPL3 to the Affero version of the license, requiring source code disclosure for modifications made on instances of Converse that are serving users over the network.
2018-04-16 fix(render): Enable GFM's tagfilter extensionVincent Ambo1-0/+1
2018-04-16 refactor(main): Include Tera templates into application binaryVincent Ambo1-7/+15
Instead of loading the templates at launch time (which requires the template folder to be present), include the template strings into the binary. This also re-enables auto-escaping in Tera.
2018-04-15 feat(handlers): Implement post editing handlerVincent Ambo1-0/+1
Implements a handler that receives the edit form result and updates the database accordingly if the user identity matches.
2018-04-15 feat(handlers/render): Display edit form for user's own postsVincent Ambo1-0/+1
Displays an edit form for posts that are owned by a user (which is currently defined as "email addresses match").
2018-04-15 refactor: Add a message!-macro to reduce message boilerplateVincent Ambo1-0/+10
2018-04-15 refactor(main): Split enormous main() into smaller methodsVincent Ambo1-38/+58
A little bit of logical grouping of things has never hurt anyone.
2018-04-15 feat(handlers): Determine whether current user can edit a postVincent Ambo1-1/+1
2018-04-14 refactor(handlers): Receive search terms via query parametersVincent Ambo1-1/+1
There are several reasons for this, but one important one is that people expect to be able to share search links.
2018-04-14 feat: Implement search result view & enable searchVincent Ambo1-0/+1
Implements a very simple and currently kinda broken-looking search result view.
2018-04-14 feat(main/db): Schedule regular search view refreshVincent Ambo1-0/+19
Schedules refreshes of the database view used for search at one-minute intervals.
2018-04-14 feat: License project under GPLv3Vincent Ambo1-0/+16
2018-04-12 feat(handlers/main): Add 'anonymous' mode for forumVincent Ambo1-3/+10
Adds a `REQUIRE_LOGIN` environment variable which, if set to anything other than true, will let users post anonymously on the forums.
2018-04-11 feat(render): Implement Markdown thread rendering & GravatarVincent Ambo1-2/+12
Implements a new thread rendering pipeline which all posts and the main thread body are first converted to a `RenderablePost` structure. During the conversion to this structure, the post body is rendered as Markdown and the author's email address is converted into the format required by Gravatar.
2018-04-11 chore(cargo): Add md5 crate dependencyVincent Ambo1-0/+2
Required for Gravatar.
2018-04-11 fix(main): Correctly set up rendering actorVincent Ambo1-3/+7
2018-04-11 feat(render): Add rendering actorVincent Ambo1-1/+2
Adds a separate actor that handles page rendering, templating engine state and other related topics.
2018-04-10 fix(main): Update cookie session setup for new actix-webVincent Ambo1-4/+3
2018-04-09 feat(handlers/templates): Add "New Thread" handler and templateVincent Ambo1-1/+1
2018-04-09 feat(handlers): Extract & add author to thread and post informationVincent Ambo1-2/+2
2018-04-09 feat(main): Initialise RequireLogin middleware on launchVincent Ambo1-4/+11
2018-04-09 fix(main): Generate random session keyVincent Ambo1-1/+10
2018-04-08 feat(handlers): Use cookie session backend to store author infoVincent Ambo1-2/+6
2018-04-08 feat(main): Configure & start OIDC actor when Converse launchesVincent Ambo1-5/+33
2018-04-08 feat(oidc): Implement initial OIDC actorVincent Ambo1-2/+8
Implements an actor that can perform OAuth2 logins (not really OIDC-compliant yet because Rust doesn't have an easy to use JWT library that supports JWKS, and I don't have time for that right now). Currently this hardcodes some Office365-specific stuff.
2018-04-08 feat(handlers): Add reply_thread handler for postsVincent Ambo1-1/+2
2018-04-08 feat(handlers): Add thread submission handlerVincent Ambo1-0/+1
2018-04-08 feat(errors): Introduce error module with custom error typeVincent Ambo1-2/+6
Introduces an error type using the failure crate. This type has foreign error links established to various errors that can occur within Converse.
2018-04-08 refactor(main): Move handlers into separate handler moduleVincent Ambo1-61/+3
2018-04-08 feat(main): Support CONVERSE_BIND_HOST environment variableVincent Ambo1-2/+5
2018-04-08 refactor(main): Use actix-web extractor patternVincent Ambo1-10/+12
2018-04-08 feat(main/templates): Add barebones single-thread viewVincent Ambo1-1/+27
2018-04-08 feat(main): Add support for Tera templatesVincent Ambo1-14/+23
Sets up the structure required to carry Tera templates in the actix-web state. The (still very barebones) index renderer has been updated to render a Tera template.
2018-04-08 feat(main): Add barebares thread listingVincent Ambo1-16/+66
This ties together the first components here (actix, diesel etc.) to provide a _very_ simple thread overview.
2018-04-08 feat(main): Add minimal thread listing exampleVincent Ambo1-2/+9
2018-04-08 feat(main): Bootstrap project entrypointVincent Ambo1-0/+26
This doesn't really do anything yet.