Skip to content

v1.17.0

Compare
Choose a tag to compare
@github-actions github-actions released this 12 Sep 22:50
· 733 commits to main since this release
81001a2

1.17.0 (2023-09-12)

Bug Fixes

  • board-formatting: properly format board data (a7808f1)
  • board-formatting: remove duplicate id field from stats (e9f63ec)
  • by-thread: issue with pagination for post by thread (633d34b)
  • controllers/post: formatting issues causing code to not compile (2416370)
  • controllers/post: issue regarding non authenticated user (7e86603)
  • controllers/thread: partial fix for thread view, resolve issue with viewer id key being incorrect (655417a)
  • controllers/thread: re-add accidentally removed code (4bf83e1)
  • controllers/thread: remove unused param in get_thread_view_flag_for_viewer (48064f0)
  • dialyzer: type spec fix for dialyzer error (69be1f0)
  • helpers/acl: allow user to be passed as a map to has_permission (e92c1a0)
  • increment-thread-view: resolve issue causingg thread views not to increment properly (ed385cd)
  • mentions: bug fix for mentions, convert per_page out of pagination helper to limit with rendering api results (301f421)
  • misc: make user type check less strict, check for map instead of user model (482f16e)
  • models/board_moderator: fix spec for get_user_moderated_boards (f50a83f)
  • models/user_ignored: fix dialyzer issue wtih user ignored (5237ea4)
  • models/user: match {:ok, user} (e24dcc5)
  • poll-answers: relationship between poll answers was not correct, was breaking preloading (af1b7a7)
  • post-by-thread: pass in user_id fix fragment query to use user_id (62e1c51)
  • post-by-thread: querying thread without poll (3274e75)
  • post-by-thread: update view to match what frontend expects, add body_html and rename metric_rank_maps to rank_metric_maps (d27065e)
  • post-create-validation: resolve issue that would cause error in code if title or body were not strings (f53b7df)
  • rank: changeset variable fix (71c6ed9)
  • res-req-headers: expose custom epochtalk header through corsica so Vue frontend can receive it (6c026c7)
  • session: fix unused default option for update_user_info (790436d)
  • thread-viewed: resolve issue with thread view behaving differently for author and viewer (f7b8e5f)
  • thread-view: resolve issue with thread not being marked viewed, when viewing a thread not created by authed user (622eda6)
  • trust-feedback: correct schema name for trust feedback model (d53142d)
  • user-thread-view: remove unused imports, fix name, add needed aliases (6eacba2)

Features

  • board-find: implement find by id for board model (0cbfc84)
  • board-jason: add jason derive for board model (dd7048a)
  • board-read-access: add ability to check read access by thread_id (e3cc765)
  • board-write-access: add Board.get_write_access_by_thread_id, refactor existing code for reuse (4a70845)
  • by-thread-spec: add spec for dialyzer (8a94e88)
  • by-thread: implement skeleton view for posts by thread (5c90949)
  • by-thread: query thread poll data for post by thread (935f7b8)
  • category-find: port find db method for categories, find_by_id (942ffa5)
  • controller/post: watch thread after creating post (581b908)
  • controllers/post: add board read/write authorizations to post create (aa01e50)
  • controllers/post: implement auth check which returns if you can view deleted posts or not (4032a0f)
  • controllers/post: implement thread notifications for post create routea, includes email and template (3c0767c)
  • controllers/post: reject with error if posts start position or page is out of range (ca43058)
  • controllers/post: update post create to validate post body length using configs, update documentation with remaining tasks for post create (c9718a5)
  • controllers/post: update post create, add hook for subscribing to thread upon posting (a266dc1)
  • customerrors: update custom errors to handle validating string length (3995352)
  • helpers/acl: refactor and implement function that returns boolean given user and permission path (5542de3)
  • ignored-users: implement function that filters out posts by ignored users (56e9d80)
  • metadata-thread-inc: implement database function to increase thread view count (996ef52)
  • metric-rank-map: port model and db method for fetching metric rank maps (53aa5ac)
  • models/auto_moderation: implement all database functions relating to auto moderation (cbf8914)
  • models/auto_moderation: implement all query (00908cb)
  • models/auto_moderation: port model for auto_moderation (00115ce)
  • models/board_moderator: implement checks for if user is moderator using post and thread id (0cc879d)
  • models/board_moderator: implement database function to query a users moderated boards (79df8f7)
  • models/board_moderator: implement function to add moderators to board (42a5425)
  • models/board_moderator: implement function to remove board moderators from specific board (da0da50)
  • models/board_moderators: implement is moderator database function for board id (de48a51)
  • models/mention_ignored: port mention ignored model and all related db functions (b9f8117)
  • models/mention: implement all mention related db functions (a4f2b50)
  • models/post: add function for creating posts via create posts api route (9bcf41f)
  • models/post: implement db function to count number of posts between two dates for a user (e334831)
  • models/post: port function to correct search tsv (be85efa)
  • models/post: update post by thread validation to check min and max values (0422cfd)
  • models/preference: implement functions relating to notify_replied_threadR$ (f9d5d42)
  • models/preferences: port db functions relating to email_mentions settings (f7fe412)
  • models/role_user: implement way to delete newbie and banned role, update delete to be more correct, update Ban model code to reflect this change (7822673)
  • models/thread_subscription: port thread subscription model and all relevant db functions (fc2772f)
  • models/thread: implement database function to determine if user is self moderator of thread (7a8fb69)
  • models/trustfeedback: implement trust statistics by user id (6813b27)
  • models/trust: initial port of trust sources, needs refactoring (69e93db)
  • models/user_activity: implement function to get user activity by user id (7e62b95)
  • models/user_activity: implement user_activity hook for post (5526af0)
  • models/user_activity: intial port of user activity model (b81c1c9)
  • models/user_ignored: implement function which returns lists of users ignored users (fd6e11f)
  • models/user_ignored: initial port of user ignored model, for use with posy by thread (9343e27)
  • models/user: create function to query and return the id of the DefaultTrustUser (12a9971)
  • models/user: implement database function to query user with role data given a list of usernames (1f5a622)
  • models/user: implement db method to check if user is active (09933f2)
  • models/user: update by_id to preload info (7b58b53)
  • models/watch_board: port model for watching board, and related db functions (7a3e07f)
  • models/watch_thread: port model for watching thread (c508a25)
  • poll-by-thread: initial implementation of Poll by thread (cad778e)
  • post-by-thread: add metadata for ranks to json being returned by api (2c0ecea)
  • post-by-thread: format post data for api return (7fe3d1f)
  • post-by-thread: implement default priority query, had to modify node query since elixir doesnt support selecting within select (f509b4f)
  • post-by-thread: implement user activity for posts by thread (9e505b0)
  • post-by-thread: set defaults for parameters coming into db call (97b80ad)
  • post-by-thread: update post by thread to append trust stats when authenticated (5c2eaa3)
  • post-by-thread: update view to return rank and watched metadata (fdf85c2)
  • post-controller: initial skeleton for post controller and function for posts by thread (bf93859)
  • post-create-authorizations: finish post create authroizations (5eeb9ff)
  • post-create: add skeleton route for creating a new post (9664db8)
  • post-find: port database function to find posts by id (c7115d0)
  • rank: port rank model, add database function to query all ranks (58b887c)
  • router-post-by-thread: add route for post by thread (65d4211)
  • session: modify update_roles, optionally take in ttl (6bc9ad3)
  • session: return user after update (0a62c08)
  • session: standardize ttl nil check (a7add42)
  • session: update takes in user_id, queries User (4da90ce)
  • session: update_ban_info takes optional ttl (0507032)
  • session: update_moderating take in optional ttl (936e957)
  • thread-find: implement thread find, needed to implement post by thread (9628aa1)
  • thread-slug-to-id: implement and port api route which converts thread slug to id (08116fa)
  • thread-slug-to-id: port database function that queries thread id by its slug (c725f07)
  • thread-viewed: add thread viewed route to router (d99acd7)
  • threads-viewed: implement threads-viewed, finish implementing redis calls storing user and thread views (a159513)
  • trust-board: port trust board model and database function to query all trust boards, relating to post by thread, previously used as a hook (81e69f7)
  • trust-feedback: create function to query timestamp of first negative feedback (c217049)
  • trust-feedback: implement db function for getting feedback counts for a specific user (14d277e)
  • trust-feedback: port database query to calculate score for user with no negative feedback (18693fc)
  • trust-feedback: port trust feedback model in order to port trust stats for post by thread (3fedb56)
  • trust-max-depth: port over trust max depth model add to iex file (d65fb01)
  • trust-max-depth: query max depth by user_id, to be used by post by thread route (a048c75)
  • trust: create function to query trust by list of user ids (28b505d)
  • trust: port trust model (9bda296)
  • user-thread-view: implement upsert, remove unneeded changeset (008d98d)
  • user-thread-view: port user thread view model (cd111d5)
  • validator: update validator to validate min and max of string (6500a5e)
  • watch-threads: port watch threads model, and database function to check if user is watching thread (e3483ed)