1
0
mirror of https://github.com/flarum/core.git synced 2025-10-17 09:46:14 +02:00
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
2021-04-16 15:53:05 -04:00
2020-12-07 13:33:42 -05:00
2021-03-05 09:43:35 -05:00
2021-03-05 09:43:35 -05:00
2021-03-15 16:09:23 +01:00
2021-03-19 18:01:38 -04:00
2020-01-05 22:28:27 +01: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.

Description
No description provided
Readme 128 MiB
Languages
PHP 65.5%
JavaScript 14.2%
TypeScript 13.9%
Less 5.5%
Blade 0.7%
Other 0.2%