New LittleLink Custom release (version 3.5.2)
New additions:
- Updated Framework to Laravel 9
- Added phone and email block
- Added option to import and export user data
- Improved LittleLink page loading time
- Improved loading time on the themes page
- Removed unique constrain from usernames
- Fixed page description spacing issue
- Fixed text input limited to 255 characters on MySQL
Docker only:
- Enabled compression for docker image
v3.5.1 hotfix:
- Fixed default avatar being used on mobile
- Added new button "BookWyrm"
v3.5.2 security patch and bugfixes:
- Added option to test SMTP setup
- Fixed custom logo not showing on login/register page
- Fixed cross-realm object access in Webpack 5 (security update)
Updated Framework to Laravel 9
We switched from Laravel 8 to Laravel 9. Laravel 9 introduces important security updates and improvements to the framework, which make it more secure and reliable. Additionally, Laravel 8 has reached its end of life, which means that it will no longer receive updates or security patches, leaving the application vulnerable to potential security risks. Initially, we couldn't update to Laravel 9 due to our dependencies not supporting it.
By upgrading to Laravel 9, we ensure that our application is up-to-date and secure.
Laravel 10 has been released, but it requires at least PHP 8.1, which means that we won't be switching to it just yet to retain support for PHP 8.0.
Added phone and email block
The page item blocks now include two new additions, the phone and email blocks.
Here, users can simply enter their E-Mail address or phone number, respectively. This will generate a button that opens a system dialog to compose a new email or initiate a phone call.
The same can still be done with all regular buttons by saving your phone number or E-Mail by adding tel:
or mailto:
at the beginning.
Added option to import and export user data
Users can now export and import their user data and links. This allows users to transfer their accounts from one instance to another. This new options can be accessed from the account settings.
Users can choose to either export all their data or just their links.
This export includes:
- all links and page icons
- LittleLink name
- username
- page description
- profile picture
the export won't include:
- user email
- user password
- the selected theme
- theme background image
Things like roles, blocked status or email verification will be ignored by the import system.
Importing user data from a file will result in overwriting of the current user's data, including replacing all their current links.
Admins can disable both import and export separately in their config in the security section.
Improved LittleLink page loading time
Recent code refactoring on the LittleLink page has resulted in significant improvements in page load times. By rendering most of the CSS and JavaScript assets inline, we have been able to reduce the number of requests made to the server, which has contributed to faster loading times.
Additionally, we also changed the code for rendering links from to a switch case, which has helped to simplify the code and improve its maintainability.
What the future holds:
The current use of Font Awesome is negatively impacting the performance of the website, causing slower load times. We will look into solving this issue and improving load time, even further.
Loading time without Font Awesome:
Improved loading time on the themes page
The loading time on the themes page has been improved through the implementation of lazy loading the theme updater using Ajax.
The updater part has been moved off the page, resulting in a faster loading time even if you have many themes installed. A loading animation is displayed until all external requests to the themes have been made to check the version, after which the updater becomes interactive.
Removed unique constrain from usernames
The database used to have a restriction that each user had to have a unique name. This meant that if two users tried to register with the same name, the system would not allow it and the second user would have to choose a different name.
However, now, the unique constraint has been removed, which means that users can now have the same username. This update allows multiple users to choose the same name without any issues or restrictions. So, if two users want to use the same username, they are now free to do so, and the system will accept both names without any issues.
Fixed page description spacing issue
The line breaks in the page description have been adjusted to have less spacing between them.
Fixed text input limited to 255 characters on MySQL
Previously, users were restricted to a maximum of 255 characters when inputting text for page descriptions on MySQL. This meant that users had to limit their descriptions to fit within this character limit.
However, with the recent update, users are no longer restricted to a specific character limit. This means that they can enter longer descriptions for their pages without any restrictions. They are free to input as much text as they need to effectively describe their page, without worrying about hitting a character limit.
Enabled compression for docker image
The Docker image has been updated to include compression, which is a technique used to reduce the size of data sent between the website server and the user's browser.
By enabling mod_deflate for text compression, we can reduce the size of files before they are sent from the server to the client. This is achieved by compressing the data using the Deflate algorithm and then sending the compressed data to the client. This process reduces the amount of data that needs to be transferred and therefore may improve the page load time.
To enable compression, we have updated the Apache configuration file to include the necessary directives to enable mod_deflate and configure the output filters for various file types. By doing so, we can compress all text-based content types such as HTML, CSS, and JavaScript files, as well as certain image and font formats.
Overall, this change improves the performance of the application, reduces bandwidth usage, and provides a faster browsing experience for users.
To make use of this update, users will have to update their docker instance or reinstall it manually.