Merge branch 'develop' into hooks-migration
This commit is contained in:
commit
2eab0b68b7
5 changed files with 99 additions and 872 deletions
87
packages/pl-fe/CHANGELOG.md
Normal file
87
packages/pl-fe/CHANGELOG.md
Normal file
|
@ -0,0 +1,87 @@
|
||||||
|
# Changelog
|
||||||
|
|
||||||
|
## Unreleased
|
||||||
|
|
||||||
|
Changes made since the project forked from Soapbox in April 2024.
|
||||||
|
|
||||||
|
### Major changes
|
||||||
|
|
||||||
|
- Switched to a separate library [`pl-api`](https://github.com/mkljczk/pl-fe/tree/develop/packages/pl-api) for Mastodon API integration. It is mostly written from scratch, inheriting minor code parts from Soapbox/Mastodon. This also comes with improved compatibility with various Mastodon API extensions and abstracts out the implementation details.
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
**Behavior:**
|
||||||
|
- Notifications of the same type and reposts of the same post are grouped client-side.
|
||||||
|
- Date is displayed for notifications that are not about new posts.
|
||||||
|
- Replies to your posts are displayed differently to other mentions in notification list.
|
||||||
|
|
||||||
|
**Settings:**
|
||||||
|
- You can add image description to your avatar/backend, if supported by backend.
|
||||||
|
- GoToSocial users can manage post interaction policies.
|
||||||
|
|
||||||
|
**Composing posts:**
|
||||||
|
- WYSIWYG text formatting, available if Markdown is supported.
|
||||||
|
- When writing posts, links to statuses are added as quotes, when supported by backend.
|
||||||
|
- You can select post language manually, when composing.
|
||||||
|
- You can write posts with multiple language versions, when supported by backend.
|
||||||
|
- Language detection is done client-side for composed posts, utilizing `fasttext.wasm.js`.
|
||||||
|
- Draft posts. They are stored locally only and work with any backend.
|
||||||
|
|
||||||
|
|
||||||
|
**Features:**
|
||||||
|
- The most recent scrobble is displayed on user profile/card.
|
||||||
|
- Users can generate *interaction circles* for their profiles.
|
||||||
|
- You can bite users, if supported by backend.
|
||||||
|
- You can browse Bubble timeline, if supported by backend.
|
||||||
|
- Mastodon displays trending articles on Search page.
|
||||||
|
- Postsa can be addressed to lists of users, on Pleroma.
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
**Behavior:**
|
||||||
|
- Separated favourites from reaction emojis. Limit for one reaction per post is removed. Facebook-like emoji reaction bar is removed.
|
||||||
|
- Simplified sensitive text/media logic.
|
||||||
|
- Reposting user is mentioned, when replying to a reposted status.
|
||||||
|
- Notification types filtering options are reasonably merged.
|
||||||
|
- Search results are never cleared by just leaving the page.
|
||||||
|
- Status spoilers are displayed with a collapse/expand button, not in an overlay.
|
||||||
|
- Mentions and hashtags in bio no longer link to external pages.
|
||||||
|
- Quotes are counted with reblogs for non-detailed statuses.
|
||||||
|
- Reactions/favourites/reblogs list modal is displayed on long press.
|
||||||
|
|
||||||
|
**Settings:**
|
||||||
|
- Moved missing description confirmation option back to Settings page.
|
||||||
|
- Profile fields can be reordered on the Edit profile page.
|
||||||
|
|
||||||
|
**UI changes:**
|
||||||
|
- Removed header. Search bar and profile dropdown are moved to the sidebar. Mobile sidebar button is moved to the thumb navigation.
|
||||||
|
- Floating action button for creating new posts is moved to the thumb navigation.
|
||||||
|
- Mobile sidebar UI is changed to look like a popover.
|
||||||
|
- Added some animations, improved consistency of the existing ones.
|
||||||
|
- Max width of the layout is increased.
|
||||||
|
- Updated Lists UI, to match the overall style.
|
||||||
|
- RSS button is displayed in account header for local users, when unauthenticated.
|
||||||
|
- Conversations page is always displayed, even when Chats are supported.
|
||||||
|
- Emojis are zoomed on hover.
|
||||||
|
|
||||||
|
**Internal:**
|
||||||
|
- Migrated some local stores from Redux to Zustand.
|
||||||
|
|
||||||
|
**Dependencies:**
|
||||||
|
- `@tanstack/react-virtual` is used for list virtualization, instead of `react-virtuoso`.
|
||||||
|
- Replaced `react-popper` and `react-overlays` with `@floating-ui/react`.
|
||||||
|
- `uuid` package is replaced by the `randomUUID()` method.
|
||||||
|
|
||||||
|
### Removed
|
||||||
|
|
||||||
|
- Removed Truth Social-specific features.
|
||||||
|
- Removed Nostr-specific stuff.
|
||||||
|
- Removed option that disabled name editing for verified users.
|
||||||
|
- Removed Call to Action banner.
|
||||||
|
|
||||||
|
### Fixed
|
||||||
|
|
||||||
|
- When initializing FaviconService, canvas export permission is checked.
|
||||||
|
- Improved regex for mentions in post composer.
|
||||||
|
- Post tombstones don't interrupt status navigation with hotkeys.
|
||||||
|
- Emojis are supported in poll options.
|
|
@ -1,15 +1,4 @@
|
||||||
`pl-fe` is a social networking client app forked from [Soapbox](https://gitlab.com/soapbox-pub/soapbox/). It works with any Mastodon API-compatible software, but it's focused on supporting alternative backends, like Pleroma or GoToSocial.
|
`pl-fe` is a social networking client app. It works with any Mastodon API-compatible software, but it's focused on supporting alternative backends, like Pleroma or GoToSocial.
|
||||||
|
|
||||||
## Differences compared to Soapbox
|
|
||||||
|
|
||||||
- **Broader compatibility**: The compatibility matrix has been updated to support more features on various backends. Support for features specific to Mitra, Toki, GoToSocial and Akkoma has been added, more are coming soon.
|
|
||||||
- **WYSIWYG status composer**: You can use the WYSIWYG editor for advanced text formatting on any backend with Markdown support.
|
|
||||||
- **Language detection**: When you write a post, the language gets detected automatically with great accuracy. You can always select it manually.
|
|
||||||
- **Drafts**: You can save a post you are working on and finish it later. Drafts are only stored locally and work with any backend.
|
|
||||||
- **Quote anywhere**: If your backend supports quote posts, you can now quote a post by simply putting the link in your post, so you can now quote other posts in a reply.
|
|
||||||
- **Interaction circles**: A fun feature you might know from third-party tools for Twitter. You can generate a picture that represents the accounts you interact the most with.
|
|
||||||
|
|
||||||
There is more to mention. `pl-fe` includes various minor improvements and visual changes.
|
|
||||||
|
|
||||||
## Try it out
|
## Try it out
|
||||||
|
|
||||||
|
@ -33,7 +22,7 @@ Code contributions are welcome. [Weblate](https://hosted.weblate.org/projects/pl
|
||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
`pl-fe` is a fork of Soapbox, which was forked from [Gab Social](https://github.com/GabOpenSource/gab-social), which is a fork of [Mastodon](https://github.com/mastodon/mastodon/).
|
`pl-fe` is a fork of [Soapbox](https://gitlab.com/soapbox-pub/soapbox/), which was forked from [Gab Social](https://github.com/GabOpenSource/gab-social), which is a fork of [Mastodon](https://github.com/mastodon/mastodon/).
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU Affero General Public License as published by
|
it under the terms of the GNU Affero General Public License as published by
|
||||||
|
|
|
@ -128,7 +128,6 @@
|
||||||
"react-sticky-box": "^2.0.5",
|
"react-sticky-box": "^2.0.5",
|
||||||
"react-swipeable-views": "^0.14.0",
|
"react-swipeable-views": "^0.14.0",
|
||||||
"redux": "^5.0.1",
|
"redux": "^5.0.1",
|
||||||
"redux-immutable": "^4.0.0",
|
|
||||||
"redux-thunk": "^3.1.0",
|
"redux-thunk": "^3.1.0",
|
||||||
"reselect": "^5.1.1",
|
"reselect": "^5.1.1",
|
||||||
"resize-observer-polyfill": "^1.5.1",
|
"resize-observer-polyfill": "^1.5.1",
|
||||||
|
@ -193,7 +192,6 @@
|
||||||
"rollup-plugin-visualizer": "^5.12.0",
|
"rollup-plugin-visualizer": "^5.12.0",
|
||||||
"stylelint": "^16.9.0",
|
"stylelint": "^16.9.0",
|
||||||
"stylelint-config-standard-scss": "^12.0.0",
|
"stylelint-config-standard-scss": "^12.0.0",
|
||||||
"tailwind": "^4.0.0",
|
|
||||||
"tailwindcss": "^3.4.13",
|
"tailwindcss": "^3.4.13",
|
||||||
"vite-plugin-checker": "^0.8.0",
|
"vite-plugin-checker": "^0.8.0",
|
||||||
"vite-plugin-pwa": "^0.20.5",
|
"vite-plugin-pwa": "^0.20.5",
|
||||||
|
|
17
packages/pl-fe/types/redux-immutable/index.d.ts
vendored
17
packages/pl-fe/types/redux-immutable/index.d.ts
vendored
|
@ -1,17 +0,0 @@
|
||||||
// Type definitions for redux-immutable v4.0.0
|
|
||||||
// Project: https://github.com/gajus/redux-immutable
|
|
||||||
// Definitions by: Sebastian Sebald <https://github.com/sebald>
|
|
||||||
// Gavin Gregory <https://github.com/gavingregory>
|
|
||||||
// Kanitkorn Sujautra <https://github.com/lukyth>
|
|
||||||
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
|
|
||||||
// TypeScript Version: 2.3
|
|
||||||
|
|
||||||
declare module 'redux-immutable' {
|
|
||||||
import { Collection, Record } from 'immutable';
|
|
||||||
import { ReducersMapObject, Reducer, Action } from 'redux';
|
|
||||||
|
|
||||||
export function combineReducers<S, A extends Action, T>(reducers: ReducersMapObject<S, A>, getDefaultState?: () => Collection.Keyed<T, S>): Reducer<S, A>;
|
|
||||||
export function combineReducers<S, A extends Action>(reducers: ReducersMapObject<S, A>, getDefaultState?: () => Collection.Indexed<S>): Reducer<S, A>;
|
|
||||||
export function combineReducers<S>(reducers: ReducersMapObject<S, any>, getDefaultState?: () => Collection.Indexed<S>): Reducer<S>;
|
|
||||||
export function combineReducers<S extends object, T extends object>(reducers: ReducersMapObject<S, any>, getDefaultState?: Record.Factory<T>): Reducer<ReturnType<Record.Factory<S>>>;
|
|
||||||
}
|
|
File diff suppressed because it is too large
Load diff
Loading…
Reference in a new issue