gitextract_qddtl31l/ ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ └── config.yml │ ├── SECURITY.md │ └── workflows/ │ ├── build-assets.yml │ ├── phpstan.yml │ ├── prettier.yml │ ├── stale.yml │ └── tests.yml ├── .gitignore ├── .prettierignore ├── .prettierrc ├── .release-it.yml ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── composer.json ├── config/ │ ├── api.php │ ├── auth.php │ ├── cp.php │ ├── design.php │ ├── forum.php │ ├── seo.php │ ├── system.php │ ├── uploads.php │ └── users.php ├── database/ │ ├── factories/ │ │ ├── ChannelFactory.php │ │ ├── CommentFactory.php │ │ ├── PageFactory.php │ │ ├── PostFactory.php │ │ ├── TagFactory.php │ │ └── UserFactory.php │ ├── migrations/ │ │ ├── 2021_06_21_021231_create_channels_table.php │ │ ├── 2021_06_21_021344_create_users_table.php │ │ ├── 2021_06_21_021345_create_notifications_table.php │ │ ├── 2021_06_21_021348_create_posts_table.php │ │ ├── 2021_06_21_021355_create_comments_table.php │ │ ├── 2021_06_21_021413_create_groups_table.php │ │ ├── 2021_06_21_021449_create_group_user_table.php │ │ ├── 2021_06_21_021454_create_mentions_table.php │ │ ├── 2021_06_21_021502_create_post_user_table.php │ │ ├── 2021_06_21_111526_create_permissions_table.php │ │ ├── 2021_10_18_130929_create_channel_user_table.php │ │ ├── 2021_12_04_093522_create_pages_table.php │ │ ├── 2021_12_04_095210_create_structure_table.php │ │ ├── 2021_12_04_095221_create_structure_headings_table.php │ │ ├── 2021_12_04_095226_create_structure_links_table.php │ │ ├── 2023_01_06_083525_create_reaction_sets_table.php │ │ ├── 2023_01_06_083700_create_reaction_types_table.php │ │ ├── 2023_01_06_084208_create_reactions_table.php │ │ ├── 2023_01_06_165934_add_reaction_set_columns_to_channels.php │ │ ├── 2023_01_13_110454_create_taxonomies_table.php │ │ ├── 2023_01_13_110537_create_tags_table.php │ │ ├── 2023_01_13_110933_create_post_tag_table.php │ │ ├── 2023_01_13_110952_create_channel_taxonomy_table.php │ │ ├── 2023_01_19_113324_create_auth_providers_table.php │ │ ├── 2023_01_26_145619_add_view_count_to_posts.php │ │ ├── 2023_02_02_115230_create_uploads_table.php │ │ ├── 2023_02_02_115236_create_attachments_table.php │ │ ├── 2023_02_02_151121_add_hotness_to_posts.php │ │ ├── 2023_02_02_153704_add_suspsended_until_to_users.php │ │ ├── 2023_03_03_083340_add_is_required_to_taxonomies.php │ │ ├── 2023_03_11_114659_add_answerable_to_channels.php │ │ ├── 2023_03_11_114850_add_answer_id_to_posts.php │ │ ├── 2023_03_16_095929_add_show_similar_posts_to_channels.php │ │ ├── 2023_04_05_165546_add_post_id_created_at_index_to_comments.php │ │ ├── 2023_04_05_165601_add_is_listed_position_index_to_structure.php │ │ ├── 2023_04_13_163452_rename_channels_sandbox_to_ignore.php │ │ ├── 2023_04_13_203750_rename_channels_default_layout_to_layout.php │ │ ├── 2023_04_13_203835_add_layout_config_to_channels.php │ │ ├── 2023_04_22_131025_add_translations_to_channels.php │ │ ├── 2023_06_08_093656_add_is_pinned_to_posts.php │ │ ├── 2023_06_08_113707_add_hiding_columns_to_comments.php │ │ ├── 2023_06_10_151000_add_created_at_to_posts_is_pinned_index.php │ │ ├── 2023_07_12_165151_add_deleted_at_to_posts.php │ │ ├── 2026_01_22_000001_add_rules_and_auto_assign_to_groups.php │ │ ├── 2026_01_22_000002_add_is_approved_to_posts.php │ │ ├── 2026_01_22_000003_add_is_approved_to_comments.php │ │ ├── 2026_01_22_000004_add_deleted_reason_to_posts.php │ │ ├── 2026_01_22_000005_create_flags_table.php │ │ ├── 2026_01_22_000006_migrate_comment_hidden_to_deleted.php │ │ ├── 2026_01_22_000007_add_approval_requirements_to_channels.php │ │ ├── 2026_01_22_000008_add_deleted_notes_to_posts_and_comments.php │ │ ├── 2026_01_24_000009_add_note_to_flags_table.php │ │ └── 2026_01_24_000010_add_reactions_enabled_to_channels.php │ └── seeders/ │ ├── DefaultSeeder.php │ └── GroupsSeeder.php ├── lang/ │ ├── en/ │ │ ├── auth.ftl │ │ ├── cp.ftl │ │ ├── forum.ftl │ │ ├── install.ftl │ │ ├── notifications.ftl │ │ ├── passwords.php │ │ ├── system.ftl │ │ ├── user.ftl │ │ └── validation.php │ ├── fr/ │ │ ├── auth.ftl │ │ ├── cp.ftl │ │ ├── forum.ftl │ │ ├── install.ftl │ │ ├── notifications.ftl │ │ ├── passwords.php │ │ ├── system.ftl │ │ ├── user.ftl │ │ └── validation.php │ ├── nl/ │ │ ├── auth.ftl │ │ ├── cp.ftl │ │ ├── forum.ftl │ │ ├── install.ftl │ │ ├── notifications.ftl │ │ ├── passwords.php │ │ ├── system.ftl │ │ ├── user.ftl │ │ └── validation.php │ ├── ru/ │ │ ├── auth.ftl │ │ ├── cp.ftl │ │ ├── forum.ftl │ │ ├── install.ftl │ │ ├── notifications.ftl │ │ ├── passwords.php │ │ ├── system.ftl │ │ ├── user.ftl │ │ └── validation.php │ └── zh-Hant/ │ ├── auth.ftl │ ├── cp.ftl │ ├── forum.ftl │ ├── header.ftl │ ├── install.ftl │ ├── notifications.ftl │ ├── passwords.php │ ├── system.ftl │ ├── user.ftl │ └── validation.php ├── package.json ├── phpstan.dist.neon ├── phpunit.xml ├── postcss.config.cjs ├── resources/ │ ├── css/ │ │ ├── cp/ │ │ │ ├── _dashboard.css │ │ │ ├── _permission-grid.css │ │ │ ├── _structure.css │ │ │ └── app.css │ │ ├── global/ │ │ │ ├── _auth.css │ │ │ ├── _channel-card.css │ │ │ ├── _comment.css │ │ │ ├── _composer.css │ │ │ ├── _emoji.css │ │ │ ├── _flags.css │ │ │ ├── _header.css │ │ │ ├── _index.css │ │ │ ├── _notifications.css │ │ │ ├── _post-feed.css │ │ │ ├── _post-page.css │ │ │ ├── _reactions.css │ │ │ ├── _search.css │ │ │ ├── _text-editor.css │ │ │ ├── _user-profile.css │ │ │ └── app.css │ │ └── system/ │ │ ├── _alert.css │ │ ├── _alerts.css │ │ ├── _attribution.css │ │ ├── _avatar.css │ │ ├── _badge.css │ │ ├── _base.css │ │ ├── _block-link.css │ │ ├── _breadcrumb.css │ │ ├── _btn.css │ │ ├── _card.css │ │ ├── _channel-label.css │ │ ├── _channel-picker.css │ │ ├── _choice.css │ │ ├── _color-picker.css │ │ ├── _combobox.css │ │ ├── _dialog.css │ │ ├── _divider.css │ │ ├── _emoji-picker.css │ │ ├── _form.css │ │ ├── _highlightjs.css │ │ ├── _icon.css │ │ ├── _input.css │ │ ├── _mention.css │ │ ├── _menu.css │ │ ├── _modal.css │ │ ├── _nav.css │ │ ├── _placeholder.css │ │ ├── _reset.css │ │ ├── _sidebar.css │ │ ├── _skip-link.css │ │ ├── _spinner.css │ │ ├── _table.css │ │ ├── _tabs.css │ │ ├── _tooltip.css │ │ ├── _turbo.css │ │ ├── _typography.css │ │ ├── _user-label.css │ │ ├── _utils.css │ │ ├── _variables.css │ │ ├── breakpoints.css │ │ ├── mixins.css │ │ └── system.css │ ├── dist/ │ │ ├── cp.css │ │ ├── cp.js │ │ ├── emoji.js │ │ ├── global.css │ │ ├── global.js │ │ └── highlight.js │ ├── js/ │ │ ├── bootstrap/ │ │ │ ├── custom-elements.ts │ │ │ ├── document-title.ts │ │ │ ├── echo.ts │ │ │ ├── hotkeys.ts │ │ │ └── turbo.ts │ │ ├── controllers/ │ │ │ ├── action-menu-controller.ts │ │ │ ├── alert-controller.ts │ │ │ ├── comment-controller.ts │ │ │ ├── comment-replies-controller.ts │ │ │ ├── composer-controller.ts │ │ │ ├── copy-link-controller.ts │ │ │ ├── details-focus-controller.ts │ │ │ ├── load-backwards-controller.ts │ │ │ ├── login-controller.ts │ │ │ ├── mentions-controller.ts │ │ │ ├── modal-controller.ts │ │ │ ├── notifications-popup-controller.ts │ │ │ ├── page-controller.ts │ │ │ ├── post-controller.ts │ │ │ ├── post-feed-controller.ts │ │ │ ├── post-page-controller.ts │ │ │ ├── quotable-controller.ts │ │ │ ├── reveal-controller.ts │ │ │ ├── scrollspy-controller.ts │ │ │ ├── similar-posts-controller.ts │ │ │ ├── suspend-duration-controller.ts │ │ │ ├── text-editor-controller.ts │ │ │ ├── theme-controller.ts │ │ │ ├── truncated-controller.ts │ │ │ ├── turbo-frame-controller.ts │ │ │ ├── uploads-controller.ts │ │ │ ├── watch-scroll-controller.ts │ │ │ └── watch-sticky-controller.ts │ │ ├── cp/ │ │ │ ├── controllers/ │ │ │ │ ├── color-picker-controller.ts │ │ │ │ ├── filter-input-controller.ts │ │ │ │ ├── form-controller.ts │ │ │ │ ├── icon-picker-controller.ts │ │ │ │ ├── incremental-search-controller.ts │ │ │ │ ├── line-chart-controller.ts │ │ │ │ ├── permission-grid-controller.ts │ │ │ │ ├── slugger-controller.ts │ │ │ │ └── sortable-controller.ts │ │ │ └── index.ts │ │ ├── elements/ │ │ │ └── turbo-echo-stream-tag.ts │ │ ├── emoji.ts │ │ ├── env.d.ts │ │ ├── highlight.ts │ │ ├── index.ts │ │ └── utils.ts │ └── views/ │ ├── actions/ │ │ ├── confirm.blade.php │ │ └── menu.blade.php │ ├── auth/ │ │ ├── confirm-password.blade.php │ │ ├── forgot-password.blade.php │ │ ├── login.blade.php │ │ ├── register.blade.php │ │ └── reset-password.blade.php │ ├── comments/ │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ └── show.blade.php │ ├── components/ │ │ ├── action-button.blade.php │ │ ├── action-buttons.blade.php │ │ ├── action-form.blade.php │ │ ├── action-menu.blade.php │ │ ├── alert.blade.php │ │ ├── attribution.blade.php │ │ ├── avatar.blade.php │ │ ├── cancel.blade.php │ │ ├── channel-label.blade.php │ │ ├── channel-picker.blade.php │ │ ├── collapsible-nav.blade.php │ │ ├── comment-answer-badge.blade.php │ │ ├── comment-frame.blade.php │ │ ├── comment-full.blade.php │ │ ├── comment-mark-as-answer.blade.php │ │ ├── comment-reactions.blade.php │ │ ├── comment-replies.blade.php │ │ ├── comment-reply-button.blade.php │ │ ├── comments-locked.blade.php │ │ ├── composer.blade.php │ │ ├── cp/ │ │ │ ├── color-picker.blade.php │ │ │ ├── group-row.blade.php │ │ │ ├── icon-picker.blade.php │ │ │ ├── permission-grid.blade.php │ │ │ ├── structure-node.blade.php │ │ │ ├── title.blade.php │ │ │ └── version.blade.php │ │ ├── cp.blade.php │ │ ├── dialog.blade.php │ │ ├── email-verification.blade.php │ │ ├── feed-filters.blade.php │ │ ├── feed-top-period.blade.php │ │ ├── field.blade.php │ │ ├── flag-container.blade.php │ │ ├── follow-button.blade.php │ │ ├── group-badge.blade.php │ │ ├── header-breadcrumb.blade.php │ │ ├── header-guest.blade.php │ │ ├── header-moderation.blade.php │ │ ├── header-notifications.blade.php │ │ ├── header-search.blade.php │ │ ├── header-title.blade.php │ │ ├── header-user.blade.php │ │ ├── header.blade.php │ │ ├── html.blade.php │ │ ├── index-create-post.blade.php │ │ ├── index-footer-language.blade.php │ │ ├── index-footer.blade.php │ │ ├── index-nav.blade.php │ │ ├── index.blade.php │ │ ├── infinite-scroll.blade.php │ │ ├── layout.blade.php │ │ ├── menu-item.blade.php │ │ ├── nav-link.blade.php │ │ ├── notification.blade.php │ │ ├── pinned-post.blade.php │ │ ├── post-activity.blade.php │ │ ├── post-answer.blade.php │ │ ├── post-answered.blade.php │ │ ├── post-attribution.blade.php │ │ ├── post-card.blade.php │ │ ├── post-channel.blade.php │ │ ├── post-feed-channel.blade.php │ │ ├── post-feed-pinned.blade.php │ │ ├── post-feed-toolbar.blade.php │ │ ├── post-feed.blade.php │ │ ├── post-full.blade.php │ │ ├── post-list-item.blade.php │ │ ├── post-locked.blade.php │ │ ├── post-notifications.blade.php │ │ ├── post-replies.blade.php │ │ ├── post-sidebar.blade.php │ │ ├── post-title.blade.php │ │ ├── post-trash.blade.php │ │ ├── post-unread.blade.php │ │ ├── reaction-set-picker.blade.php │ │ ├── reactions-condensed.blade.php │ │ ├── reactions.blade.php │ │ ├── relative-time.blade.php │ │ ├── removed-banner.blade.php │ │ ├── search-form.blade.php │ │ ├── selector.blade.php │ │ ├── spacer.blade.php │ │ ├── text-editor-button.blade.php │ │ ├── text-editor.blade.php │ │ ├── theme-selector.blade.php │ │ ├── user-label.blade.php │ │ ├── user-link.blade.php │ │ ├── user-profile.blade.php │ │ └── validation-errors.blade.php │ ├── cp/ │ │ ├── dashboard.blade.php │ │ ├── groups/ │ │ │ ├── form.blade.php │ │ │ └── index.blade.php │ │ ├── reactions/ │ │ │ ├── index.blade.php │ │ │ ├── reaction-set.blade.php │ │ │ └── reaction-type.blade.php │ │ ├── structure/ │ │ │ ├── channel.blade.php │ │ │ ├── delete-channel.blade.php │ │ │ ├── heading.blade.php │ │ │ ├── index.blade.php │ │ │ ├── link.blade.php │ │ │ └── page.blade.php │ │ ├── taxonomies/ │ │ │ ├── index.blade.php │ │ │ ├── tag.blade.php │ │ │ └── taxonomy.blade.php │ │ ├── users/ │ │ │ ├── delete.blade.php │ │ │ ├── form.blade.php │ │ │ ├── index.blade.php │ │ │ └── suspend.blade.php │ │ └── widget.blade.php │ ├── forum/ │ │ ├── channel.blade.php │ │ ├── home.blade.php │ │ ├── moderation.blade.php │ │ ├── notifications.blade.php │ │ ├── page.blade.php │ │ └── search.blade.php │ ├── mail/ │ │ ├── email.blade.php │ │ ├── html/ │ │ │ ├── button.blade.php │ │ │ ├── header.blade.php │ │ │ ├── layout.blade.php │ │ │ ├── link.blade.php │ │ │ ├── message.blade.php │ │ │ ├── subcopy.blade.php │ │ │ └── themes/ │ │ │ └── default.css │ │ ├── notification.blade.php │ │ └── text/ │ │ ├── button.blade.php │ │ ├── header.blade.php │ │ ├── layout.blade.php │ │ ├── link.blade.php │ │ └── message.blade.php │ ├── moderation/ │ │ ├── removal-reason.blade.php │ │ └── report.blade.php │ ├── pagination/ │ │ ├── default.blade.php │ │ └── simple-default.blade.php │ ├── posts/ │ │ ├── create.blade.php │ │ ├── edit.blade.php │ │ ├── move-to-channel.blade.php │ │ └── show.blade.php │ ├── preferences/ │ │ ├── account.blade.php │ │ ├── notifications.blade.php │ │ └── profile.blade.php │ ├── reactions/ │ │ └── list.blade.php │ ├── users/ │ │ ├── comments.blade.php │ │ ├── mention-suggestion.blade.php │ │ └── posts.blade.php │ └── widgets/ │ ├── feed.blade.php │ ├── getting-started.blade.php │ └── line-chart.blade.php ├── routes/ │ ├── api.php │ ├── channels.php │ ├── cp.php │ └── forum.php ├── src/ │ ├── Actions/ │ │ ├── Action.php │ │ ├── Concerns/ │ │ │ ├── RemovesContent.php │ │ │ └── ResolvesFlags.php │ │ ├── CopyImpersonationUrl.php │ │ ├── CopyLink.php │ │ ├── DeleteChannel.php │ │ ├── DeleteComment.php │ │ ├── DeleteGroup.php │ │ ├── DeletePost.php │ │ ├── DeleteReactionSet.php │ │ ├── DeleteReactionType.php │ │ ├── DeleteSelf.php │ │ ├── DeleteStructure.php │ │ ├── DeleteTag.php │ │ ├── DeleteTaxonomy.php │ │ ├── DeleteUser.php │ │ ├── DismissFlags.php │ │ ├── EditChannel.php │ │ ├── EditComment.php │ │ ├── EditGroup.php │ │ ├── EditPost.php │ │ ├── EditReactionSet.php │ │ ├── EditReactionType.php │ │ ├── EditStructure.php │ │ ├── EditTag.php │ │ ├── EditTaxonomy.php │ │ ├── EditUser.php │ │ ├── Follow.php │ │ ├── Ignore.php │ │ ├── Link.php │ │ ├── Lock.php │ │ ├── MarkAsAnswer.php │ │ ├── MarkAsRead.php │ │ ├── MoveToChannel.php │ │ ├── Pin.php │ │ ├── React.php │ │ ├── RemoveComment.php │ │ ├── Report.php │ │ ├── RestoreComment.php │ │ ├── RestorePost.php │ │ ├── SuspendUser.php │ │ ├── TrashPost.php │ │ ├── Unfollow.php │ │ ├── Unignore.php │ │ ├── Unlock.php │ │ └── Unpin.php │ ├── Api/ │ │ ├── Collections/ │ │ │ └── StructureContentCollection.php │ │ └── Resources/ │ │ ├── ChannelUsersResource.php │ │ ├── ChannelsResource.php │ │ ├── CommentsResource.php │ │ ├── ExtendableResource.php │ │ ├── GroupsResource.php │ │ ├── PagesResource.php │ │ ├── PostUsersResource.php │ │ ├── PostsResource.php │ │ ├── ReactionCountsResource.php │ │ ├── ReactionSetsResource.php │ │ ├── ReactionTypesResource.php │ │ ├── ReactionsResource.php │ │ ├── StructureHeadingsResource.php │ │ ├── StructureLinksResource.php │ │ ├── StructureResource.php │ │ ├── TagsResource.php │ │ ├── TaxonomiesResource.php │ │ └── UsersResource.php │ ├── Auth/ │ │ ├── AuthenticatesWaterhole.php │ │ ├── HasWaterholeUser.php │ │ ├── Providers.php │ │ ├── SsoPayload.php │ │ ├── SsoProvider.php │ │ └── SsoUser.php │ ├── Console/ │ │ ├── CacheClearCommand.php │ │ ├── Concerns/ │ │ │ └── ValidatesInput.php │ │ ├── InstallCommand.php │ │ ├── MakeExtensionCommand.php │ │ ├── OpenApiCommand.php │ │ ├── ReformatCommand.php │ │ └── stubs/ │ │ └── extension/ │ │ ├── .editorconfig │ │ ├── .gitattributes │ │ ├── composer.json │ │ └── src/ │ │ └── ServiceProvider.stub │ ├── Database/ │ │ └── Migration.php │ ├── Events/ │ │ ├── FlagReceived.php │ │ ├── NewComment.php │ │ ├── NewPost.php │ │ └── NotificationReceived.php │ ├── Extend/ │ │ ├── Api/ │ │ │ ├── ChannelUsersResource.php │ │ │ ├── ChannelsResource.php │ │ │ ├── CommentsResource.php │ │ │ ├── GroupsResource.php │ │ │ ├── JsonApi.php │ │ │ ├── PagesResource.php │ │ │ ├── PostUsersResource.php │ │ │ ├── PostsResource.php │ │ │ ├── ReactionSetsResource.php │ │ │ ├── ReactionTypesResource.php │ │ │ ├── ReactionsResource.php │ │ │ ├── StructureHeadingsResource.php │ │ │ ├── StructureLinksResource.php │ │ │ ├── StructureResource.php │ │ │ ├── TagsResource.php │ │ │ ├── TaxonomiesResource.php │ │ │ └── UsersResource.php │ │ ├── Assets/ │ │ │ ├── Locales.php │ │ │ ├── Script.php │ │ │ └── Stylesheet.php │ │ ├── Core/ │ │ │ ├── Actions.php │ │ │ ├── Formatter.php │ │ │ ├── NotificationTypes.php │ │ │ ├── PostFilters.php │ │ │ └── PostLayouts.php │ │ ├── Forms/ │ │ │ ├── ChannelForm.php │ │ │ ├── GroupForm.php │ │ │ ├── PageForm.php │ │ │ ├── PostForm.php │ │ │ ├── ReactionSetForm.php │ │ │ ├── ReactionTypeForm.php │ │ │ ├── RegistrationForm.php │ │ │ ├── StructureLinkForm.php │ │ │ ├── TagForm.php │ │ │ ├── TaxonomyForm.php │ │ │ └── UserForm.php │ │ ├── Query/ │ │ │ ├── CommentQuery.php │ │ │ ├── PostFeedQuery.php │ │ │ └── PostVisibilityScopes.php │ │ ├── Routing/ │ │ │ ├── ApiRoutes.php │ │ │ ├── CpRoutes.php │ │ │ └── ForumRoutes.php │ │ ├── ServiceProvider.php │ │ ├── Support/ │ │ │ ├── Assets.php │ │ │ ├── Attributes.php │ │ │ ├── ComponentList.php │ │ │ ├── OrderedList.php │ │ │ ├── Resource.php │ │ │ ├── Set.php │ │ │ └── UnorderedList.php │ │ └── Ui/ │ │ ├── CommentAttributes.php │ │ ├── CommentComponent.php │ │ ├── CpAlerts.php │ │ ├── CpNav.php │ │ ├── DocumentHead.php │ │ ├── IndexPage.php │ │ ├── Layout.php │ │ ├── LoginPage.php │ │ ├── PostAttributes.php │ │ ├── PostFeed.php │ │ ├── PostFooter.php │ │ ├── PostListItem.php │ │ ├── PostPage.php │ │ ├── Preferences.php │ │ ├── TextEditor.php │ │ ├── UserInfo.php │ │ ├── UserMenu.php │ │ └── UserNav.php │ ├── Feed/ │ │ ├── CommentFeed.php │ │ ├── Feed.php │ │ └── PostFeed.php │ ├── Filters/ │ │ ├── Alphabetical.php │ │ ├── Filter.php │ │ ├── Following.php │ │ ├── Ignoring.php │ │ ├── Latest.php │ │ ├── Newest.php │ │ ├── Oldest.php │ │ ├── Top.php │ │ ├── Trash.php │ │ └── Trending.php │ ├── Formatter/ │ │ ├── Context.php │ │ ├── FormatExternalLinks.php │ │ ├── FormatMentions.php │ │ ├── FormatUploads.php │ │ └── Formatter.php │ ├── Forms/ │ │ ├── ChannelForm.php │ │ ├── Concerns/ │ │ │ └── ContainsFields.php │ │ ├── Field.php │ │ ├── Fields/ │ │ │ ├── ChannelAnswers.php │ │ │ ├── ChannelApproval.php │ │ │ ├── ChannelDescription.php │ │ │ ├── ChannelFilters.php │ │ │ ├── ChannelIgnore.php │ │ │ ├── ChannelInstructions.php │ │ │ ├── ChannelLayout.php │ │ │ ├── ChannelLayoutCards.php │ │ │ ├── ChannelLayoutList.php │ │ │ ├── ChannelName.php │ │ │ ├── ChannelReactions.php │ │ │ ├── ChannelSimilarPosts.php │ │ │ ├── ChannelSlug.php │ │ │ ├── ChannelTaxonomies.php │ │ │ ├── GroupAppearance.php │ │ │ ├── GroupGlobalPermissions.php │ │ │ ├── GroupName.php │ │ │ ├── GroupRules.php │ │ │ ├── GroupStructurePermissions.php │ │ │ ├── Icon.php │ │ │ ├── PageBody.php │ │ │ ├── PageName.php │ │ │ ├── PageSlug.php │ │ │ ├── Permissions.php │ │ │ ├── PostBody.php │ │ │ ├── PostTags.php │ │ │ ├── PostTitle.php │ │ │ ├── ReactionSetDefaults.php │ │ │ ├── ReactionSetName.php │ │ │ ├── ReactionTypeName.php │ │ │ ├── ReactionTypeScore.php │ │ │ ├── StructureLinkName.php │ │ │ ├── StructureLinkUrl.php │ │ │ ├── TagName.php │ │ │ ├── TaxonomyName.php │ │ │ ├── TaxonomyOptions.php │ │ │ ├── UserAvatar.php │ │ │ ├── UserBio.php │ │ │ ├── UserEmail.php │ │ │ ├── UserGroups.php │ │ │ ├── UserHeadline.php │ │ │ ├── UserLocation.php │ │ │ ├── UserName.php │ │ │ ├── UserPassword.php │ │ │ ├── UserShowOnline.php │ │ │ └── UserWebsite.php │ │ ├── Form.php │ │ ├── FormSection.php │ │ ├── GroupForm.php │ │ ├── PageForm.php │ │ ├── PostForm.php │ │ ├── ReactionSetForm.php │ │ ├── ReactionTypeForm.php │ │ ├── RegistrationForm.php │ │ ├── StructureLinkForm.php │ │ ├── TagForm.php │ │ ├── TaxonomyForm.php │ │ ├── UserForm.php │ │ └── UserProfileForm.php │ ├── Http/ │ │ ├── Controllers/ │ │ │ ├── ActionsController.php │ │ │ ├── Api/ │ │ │ │ └── ApiController.php │ │ │ ├── Auth/ │ │ │ │ ├── ConfirmPasswordController.php │ │ │ │ ├── ForgotPasswordController.php │ │ │ │ ├── LoginController.php │ │ │ │ ├── LogoutController.php │ │ │ │ ├── RegisterController.php │ │ │ │ ├── ResetPasswordController.php │ │ │ │ ├── SsoController.php │ │ │ │ └── VerifyEmailController.php │ │ │ ├── Controller.php │ │ │ ├── Cp/ │ │ │ │ ├── ChannelController.php │ │ │ │ ├── DashboardController.php │ │ │ │ ├── GroupController.php │ │ │ │ ├── PageController.php │ │ │ │ ├── ReactionSetController.php │ │ │ │ ├── ReactionTypeController.php │ │ │ │ ├── StructureController.php │ │ │ │ ├── StructureHeadingController.php │ │ │ │ ├── StructureLinkController.php │ │ │ │ ├── TagController.php │ │ │ │ ├── TaxonomyController.php │ │ │ │ └── UserController.php │ │ │ ├── FormatController.php │ │ │ ├── Forum/ │ │ │ │ ├── CommentController.php │ │ │ │ ├── IndexController.php │ │ │ │ ├── ModerationController.php │ │ │ │ ├── NotificationController.php │ │ │ │ ├── PostController.php │ │ │ │ ├── PreferencesController.php │ │ │ │ ├── RssController.php │ │ │ │ ├── SearchController.php │ │ │ │ └── UserController.php │ │ │ ├── ImpersonateController.php │ │ │ ├── UploadController.php │ │ │ └── UserLookupController.php │ │ └── Middleware/ │ │ ├── ActorSeen.php │ │ ├── AuthGuard.php │ │ ├── Authenticate.php │ │ ├── AuthenticateWaterhole.php │ │ ├── ContactOutpost.php │ │ ├── Localize.php │ │ ├── MaybeRequireLogin.php │ │ ├── MaybeRequirePassword.php │ │ ├── PoweredByHeader.php │ │ ├── RedirectIfAuthenticated.php │ │ ├── StartSession.php │ │ └── VerifyCsrfToken.php │ ├── Layouts/ │ │ ├── CardsLayout.php │ │ ├── Layout.php │ │ └── ListLayout.php │ ├── Licensing/ │ │ ├── LicenseManager.php │ │ └── Outpost.php │ ├── Listeners/ │ │ └── ReverifyInactiveUser.php │ ├── Mail/ │ │ └── Markdown.php │ ├── Models/ │ │ ├── Attributes/ │ │ │ └── FileAttribute.php │ │ ├── AuthProvider.php │ │ ├── Channel.php │ │ ├── ChannelUser.php │ │ ├── Comment.php │ │ ├── Concerns/ │ │ │ ├── Approvable.php │ │ │ ├── Deletable.php │ │ │ ├── Flaggable.php │ │ │ ├── Followable.php │ │ │ ├── HasBody.php │ │ │ ├── HasFileAttributes.php │ │ │ ├── HasIcon.php │ │ │ ├── HasPermissions.php │ │ │ ├── HasUserState.php │ │ │ ├── NotificationContent.php │ │ │ ├── Reactable.php │ │ │ ├── ReceivesPermissions.php │ │ │ ├── Structurable.php │ │ │ ├── UsesFormatter.php │ │ │ └── ValidatesData.php │ │ ├── Flag.php │ │ ├── Group.php │ │ ├── Model.php │ │ ├── Notification.php │ │ ├── Page.php │ │ ├── Permission.php │ │ ├── PermissionCollection.php │ │ ├── Post.php │ │ ├── PostUser.php │ │ ├── Reaction.php │ │ ├── ReactionSet.php │ │ ├── ReactionType.php │ │ ├── Structure.php │ │ ├── StructureHeading.php │ │ ├── StructureLink.php │ │ ├── Support/ │ │ │ └── MorphTypeCache.php │ │ ├── Tag.php │ │ ├── Taxonomy.php │ │ ├── Upload.php │ │ └── User.php │ ├── Notifications/ │ │ ├── ContentApproved.php │ │ ├── ContentRemoved.php │ │ ├── DatabaseChannel.php │ │ ├── Mention.php │ │ ├── NewComment.php │ │ ├── NewFlag.php │ │ ├── NewPost.php │ │ ├── Notification.php │ │ ├── ResetPassword.php │ │ └── VerifyEmail.php │ ├── Policies/ │ │ ├── CommentPolicy.php │ │ ├── PostPolicy.php │ │ └── UserPolicy.php │ ├── Providers/ │ │ ├── ApiServiceProvider.php │ │ ├── AppServiceProvider.php │ │ ├── AuthServiceProvider.php │ │ ├── BroadcastServiceProvider.php │ │ ├── ConsoleServiceProvider.php │ │ ├── EventServiceProvider.php │ │ ├── FormatterServiceProvider.php │ │ ├── MailServiceProvider.php │ │ ├── RouteServiceProvider.php │ │ ├── SearchServiceProvider.php │ │ ├── TranslationServiceProvider.php │ │ ├── ViewServiceProvider.php │ │ └── WaterholeServiceProvider.php │ ├── Scopes/ │ │ ├── CommentIndexScope.php │ │ └── PermittedScope.php │ ├── Search/ │ │ ├── EngineInterface.php │ │ ├── FullTextSearchEngine.php │ │ ├── Highlighter.php │ │ ├── Hit.php │ │ ├── Results.php │ │ └── Searcher.php │ ├── Translation/ │ │ ├── FluentTranslator.php │ │ └── ValidationTranslator.php │ ├── View/ │ │ ├── Components/ │ │ │ ├── ActionButton.php │ │ │ ├── ActionButtons.php │ │ │ ├── ActionForm.php │ │ │ ├── ActionMenu.php │ │ │ ├── Alert.php │ │ │ ├── Attribution.php │ │ │ ├── AuthButtons.php │ │ │ ├── Avatar.php │ │ │ ├── Cancel.php │ │ │ ├── ChannelLabel.php │ │ │ ├── ChannelPicker.php │ │ │ ├── CollapsibleNav.php │ │ │ ├── CommentAnswerBadge.php │ │ │ ├── CommentFrame.php │ │ │ ├── CommentFull.php │ │ │ ├── CommentMarkAsAnswer.php │ │ │ ├── CommentReactions.php │ │ │ ├── CommentReplies.php │ │ │ ├── CommentReplyButton.php │ │ │ ├── CommentsLocked.php │ │ │ ├── Composer.php │ │ │ ├── Concerns/ │ │ │ │ └── Streamable.php │ │ │ ├── Cp/ │ │ │ │ ├── ColorPicker.php │ │ │ │ ├── IconPicker.php │ │ │ │ ├── PermissionGrid.php │ │ │ │ ├── StructureNode.php │ │ │ │ ├── TagRow.php │ │ │ │ └── Version.php │ │ │ ├── Cp.php │ │ │ ├── Dialog.php │ │ │ ├── EmailVerification.php │ │ │ ├── FeedFilters.php │ │ │ ├── FeedTopPeriod.php │ │ │ ├── Field.php │ │ │ ├── FlagContainer.php │ │ │ ├── FlagSummary.php │ │ │ ├── FollowButton.php │ │ │ ├── GroupBadge.php │ │ │ ├── Header.php │ │ │ ├── HeaderBreadcrumb.php │ │ │ ├── HeaderGuest.php │ │ │ ├── HeaderModeration.php │ │ │ ├── HeaderNotifications.php │ │ │ ├── HeaderSearch.php │ │ │ ├── HeaderTitle.php │ │ │ ├── HeaderUser.php │ │ │ ├── Html.php │ │ │ ├── Index.php │ │ │ ├── IndexCreatePost.php │ │ │ ├── IndexFooter.php │ │ │ ├── IndexFooterLanguage.php │ │ │ ├── IndexNav.php │ │ │ ├── InfiniteScroll.php │ │ │ ├── Layout.php │ │ │ ├── MenuDivider.php │ │ │ ├── MenuItem.php │ │ │ ├── ModerationBadge.php │ │ │ ├── NavHeading.php │ │ │ ├── NavLink.php │ │ │ ├── Notification.php │ │ │ ├── NotificationAlert.php │ │ │ ├── NotificationsBadge.php │ │ │ ├── PinnedPost.php │ │ │ ├── PostActivity.php │ │ │ ├── PostAnswer.php │ │ │ ├── PostAnswered.php │ │ │ ├── PostAttribution.php │ │ │ ├── PostCard.php │ │ │ ├── PostChannel.php │ │ │ ├── PostFeed.php │ │ │ ├── PostFeedChannel.php │ │ │ ├── PostFeedPinned.php │ │ │ ├── PostFeedToolbar.php │ │ │ ├── PostFull.php │ │ │ ├── PostListItem.php │ │ │ ├── PostLocked.php │ │ │ ├── PostNotifications.php │ │ │ ├── PostReactions.php │ │ │ ├── PostReactionsCondensed.php │ │ │ ├── PostReplies.php │ │ │ ├── PostSidebar.php │ │ │ ├── PostTagsSummary.php │ │ │ ├── PostTitle.php │ │ │ ├── PostTrash.php │ │ │ ├── PostUnread.php │ │ │ ├── ReactionSetPicker.php │ │ │ ├── Reactions.php │ │ │ ├── ReactionsCondensed.php │ │ │ ├── RelativeTime.php │ │ │ ├── RemovedBanner.php │ │ │ ├── Selector.php │ │ │ ├── Spacer.php │ │ │ ├── Spinner.php │ │ │ ├── TagsFilter.php │ │ │ ├── TextEditor.php │ │ │ ├── TextEditorButton.php │ │ │ ├── TextEditorEmojiButton.php │ │ │ ├── ThemeSelector.php │ │ │ ├── UserGroups.php │ │ │ ├── UserJoined.php │ │ │ ├── UserLabel.php │ │ │ ├── UserLastSeen.php │ │ │ ├── UserLink.php │ │ │ ├── UserLocation.php │ │ │ ├── UserProfile.php │ │ │ ├── UserWebsite.php │ │ │ └── ValidationErrors.php │ │ └── TurboStream.php │ ├── Waterhole.php │ ├── Widgets/ │ │ ├── Feed.php │ │ ├── GettingStarted.php │ │ └── LineChart.php │ └── helpers.php ├── tests/ │ ├── Feature/ │ │ ├── ExtendActionsTest.php │ │ ├── ExtendApiTest.php │ │ ├── ExtendAssetsTest.php │ │ ├── ExtendCoreTest.php │ │ ├── ExtendFormsTest.php │ │ ├── ExtendQueryTest.php │ │ ├── ExtendRoutingTest.php │ │ ├── ExtendUiTest.php │ │ ├── JsonApiTest.php │ │ ├── Permissions/ │ │ │ ├── CommentPermissionsTest.php │ │ │ ├── GlobalPermissionsTest.php │ │ │ ├── PostPermissionsTest.php │ │ │ ├── StructurePermissionsTest.php │ │ │ └── UserPermissionsTest.php │ │ ├── SearchTest.php │ │ └── SeoTest.php │ ├── Pest.php │ └── TestCase.php ├── tsconfig.json └── tsdown.config.ts