~reykjalin/inner_circle

0.6.4 10 months ago .tar.gz browse log

Version 0.6.4

Tweaks

* Tailwindcss is now processed via mix.

Bug fixes

* Fixed issue where ffmpeg encodes in a format that isn't supported by
  iOS and macOS devices.
* Pagination now correctly appends posts.

0.6.3 10 months ago .tar.gz browse log

Version 0.6.3

Bug fixes

* Add missing content type to video responses that would cause issues in
  some browsers.

0.6.2 10 months ago .tar.gz browse log

Version 0.6.2

Bug fixes

* Fixed asset deployment during automatic build.

0.6.1 10 months ago .tar.gz browse log

Version 0.6.1

Bug Fixes

* The New Post form is now properly ported to the
  heex template format.

0.6 10 months ago .tar.gz browse log

Version 0.6

* Better styles via Tailwind CSS.
* Basic caching.
* Thumbnails for videos.
* Compression for photos (imagemagick converts to webp).
* Compression for videos (ffmpeg converts to mp4 w/ max bitrate of 2Mbps).
* Links to original videos and images provided.
* Phoenix updated to v1.6.
* Post page moved out of a live modal to its own page.

Images are now all compressed and displayed as WEBP images.
Videos are now all compressed and displayed as x264 mp4 videos.

The originals still exist and are linked to when appropriate.

0.5 1 year, 4 months ago .tar.gz browse log

Inner Circle v0.5

* Tweak - Add autofocus to user registration form
* Tweak - Add link to page where users can send invitations
* Tweak - Lazy load images
* Add   - Support for adding photos when making new posts
* Add   - Support for adding videos when making new posts

The media uploads introduce 3 new environment variables. All are
optional, but setting them is highly recommended.

* MEDIA_FILE_STORAGE - path to where you want your file uploads to be
  saved. Defaults to "priv/static/media".
* MAX_MEDIA_PER_POST - the maximum amount of files that can be uploaded
  per post. Defaults to "5".
* MAX_FILE_SIZE - the maximum allowed file size of individual uploads in
  bytes. Defaults to "1000000000" (1GB).

Supported video mime-types:

* video/mp4
* video/ogg
* video/webm
* video/quicktime

Supported image extensions:

* .jpg
* .jpeg
* .png
* .webp
* .gif

0.4 1 year, 4 months ago .tar.gz browse log

Inner Circle v0.4

* Add   - Infinite scroll pagination, with some persistance in URL
* Add   - Links to specific posts.
* Add   - Posts can now be updated by the owner.
* Add   - Posts can now be deleted by the owner.
* Tweak - Release instructions in README are a bit more detailed.
* Tweak - Login, invitation, and new/edit post forms now have an
          autofocus element.

0.3 1 year, 4 months ago .tar.gz browse log

InnerCircle v0.3

* Add   - User posts and a corresponding timeline
* Add   - real-time updates for posts on post, edit, and delete
* Tweak - Remove the generated PageLive component since it is no longer used
* Fix   - SMTP_USERNAME is now required to send emails and works in a
          dev environment

0.2 1 year, 5 months ago .tar.gz browse log

Inner Circle v0.2

New features:

* Ubuntu builds are now generated at
  https://builds.sr.ht/~reykjalin/inner_circle on every push to `main`.
  Builds are available there for 90 days. Release builds available on
  tags.
* Automatic SSL certificate generation via SiteEncrypt.
    * MIX_ENV=dev will create self-signed certificates locally.
    * MIX_ENV=prod will use Let's Encrypt to manage certificates.
    * New required environment variables for this to work:
	* URL="<site_url>" -- Your website's URL.
	* ADMIN_EMAIL="<email>" -- The webmaster email address; required
	  by Let's Encrypt.
	* SITE_ENCRYPT_DB="<path/to/some/folder>" -- Path to where
	  certificates will be stored.
	* CERT_MODE="<server_mode>" -- either "local", "production", or
	  "staging". Used to configure certificate generation.
    * All environment variables are evaluated at runtime.
* Example systemd script is provided for managing Inner Circle on a
  server in `scripts/inner-circle.service`.

Updates:

* Configurations that should've been evaluated at runtime are now
  correctly evaluated at runtime instead of compile time:
    * SECRET_KEY_BASE
    * LIVE_VIEW_SIGNING_SALT
    * DATABASE_PATH
    * SMTP_USERNAME
    * SMTP_PASSWORD
    * SMTP_SERVER
    * SMTP_PORT
    * SMTP_RETRIES
    * PORT
* Some secrets that were hardcoded at compile time have now been moved
  to the runtime configuration and depend on environment variables:
    * SECRET_KEY_BASE
    * LIVE_VIEW_SIGNING_SALT
* Build instructions in README are now accurate and up to date.

Notes:

Secrets like SECRET_KEY_BASE and LIVE_VIEW_SIGNING_SALT are usually
generated with `mix phx.server.gen` but if you don't want to install
Phoenix and Elixir, you can also do this with Python 3:

    python3 -c 'import secrets; print(secrets.token_urlsafe(64))'

0.1 1 year, 5 months ago .tar.gz browse log

Inner Circle v0.1

New features:

- Data stored in a SQLite database.
    - DB file path can be configured via `DATABASE_PATH` environment
      variable at compile time. Defaults to `./prod.sqlite3`.
- Support for account creation exclusively via email invitations.
    - Users can change their display name.
    - Users can change their email.
    - Users can change their password.
    - Users can reset their passwords if they forget them.
- Server can send emails for account invitations, password reset, and
  email updates on user accounts.
    - Email must be configured via `SMTP_USERNAME`, `SMTP_PASSWORD`,
      `SMTP_SERVER`, and `SMTP_PORT` at compile time. No defaults are
      provided.
    - The number of attempted retries can be configured with
      `SMTP_RETRIES` at compile time. Defaults to `0`.
- Invitations can be sent via
  `InnerCircle.Release.send_invitation("<email>")` from an `iex`
  session. See `README.md` for more information.
- Database can be migrated via `InnerCircle.Release.migrate()` from an
  `iex` session, or by connecting to a release before it's started. See
  `README.md` for more information.

Branches

main
b9d3d31a — Kristófer R 7 months ago