Simple forum software for building great communities.
Go to file
Alexander Skvortsov fb51fb4e6d
Drop session from user class (#2790)
This was originally introduced in 3612ca7aca, but has not seen usage, since usually when the session needs to be modified, the request is available.

It causes issues with certain queue drivers, as it can't be serialized.

It's also not entirely accurate, as a user can have multiple sessions at once. Therefore, a given session is a property of the request, not of the user.

The reason this causes issues in the Queue is that when a Job has payload that consists User(s), the Queue will try to serialize that. Serializing the User object will require serializing the session too; this causes a Serialization of Closure is not allowed error, see image.

One can circumvent that in many ways, the most obvious one is adding a __sleep and __wakeup implementation in the User class (or the session handler). But as we aren't really using the session on the User model anywhere in core, bundled or most community extensions it is best to simply detach this from the user.
2021-04-16 15:53:05 -04:00
.github Add option to build with Webpack Bundle Analyzer (#2708) 2021-04-10 15:00:48 +01:00
js Bundled output for commit 286027ff27 [skip ci] 2021-04-10 14:45:12 +00:00
less Replace spin.js with a CSS-only loading spinner (#2764) 2021-04-09 00:42:32 +01:00
locale [A11Y] Add aria-label to dropdown toggles (#2668) 2021-03-16 10:50:36 -04:00
migrations Remove MyISAM Requirement (#2442) 2021-04-09 08:13:47 -04:00
src Drop session from user class (#2790) 2021-04-16 15:53:05 -04:00
tests Add unparse to Formatter extender (#2780) 2021-04-14 11:34:49 +01:00
views Slug Driver Support (#2456) 2020-12-07 13:33:42 -05:00
.editorconfig Laravel components v8 (#2576) 2021-03-05 09:43:35 -05:00
.gitattributes Improve developer experience by forcing LF line endings (#2321) 2020-09-28 14:04:08 -04:00
.gitignore Laravel components v8 (#2576) 2021-03-05 09:43:35 -05:00
.styleci.yml Drop the generate:migration command (#2686) 2021-03-16 12:41:07 -04:00
CHANGELOG.md Release v0.1.0-beta.16 2021-03-15 16:09:23 +01:00
composer.json Include task scheduler in core 2021-03-19 18:01:38 -04:00
LICENSE Update LICENSE 2020-01-05 22:28:27 +01:00
README.md Fixed Broken Badges in ReadMe.md (#2358) 2020-10-04 16:11:39 -04:00

PHP Tests Total Downloads Latest Version License StyleCI

About Flarum

Flarum is a delightfully simple discussion platform for your website. It's fast and easy to use, with all the features you need to run a successful community. It is designed to be:

  • Fast and simple. No clutter, no bloat, no complex dependencies. Flarum is built with PHP so its quick and easy to deploy. The interface is powered by Mithril, a performant JavaScript framework with a tiny footprint.

  • Beautiful and responsive. This is forum software for humans. Flarum is carefully designed to be consistent and intuitive across platforms, out-of-the-box.

  • Powerful and extensible. Customize, extend, and integrate Flarum to suit your community. Flarums architecture is amazingly flexible, with a powerful Extension API.

Installation

This repository contains Flarum's core code. If you want to set up a forum, visit the Flarum skeleton repository.

Contributing

Thank you for considering contributing to Flarum! Please read the Contributing guide to learn how you can help.

Security Vulnerabilities

If you discover a security vulnerability within Flarum, please send an e-mail to security@flarum.org. All security vulnerabilities will be promptly addressed. More details can be found in our security policy.

License

Flarum is open-source software licensed under the MIT License.