Activity

Elie

These two hours of coding were mainly spent on bug fixes.

Here is a list of everything that has been fixed:

  • Crash when trying to add images without granting Fover access
  • Color validation in the tab bar of the WeChat picker
  • Pull-to-refresh color

But there are also some new features!

  • When an item is selected, the bottom navigation bar disappears
  • When the user hasn’t granted Fover access to photos, the app displays a dialog that allows the user to grant access simply by opening the settings
Attachment
0
Elie

I refined the light theme because it wasn’t quite perfect yet. There were display bugs in some text fields, colors that didn’t match the light theme, and so on…

I also discovered a bug in the viewer that I was able to fix.
When you open the image editor without editing the image, the viewer displays a blank image with an error.
This error was caused by improper handling of the refresh and state changes in the viewer.

Attachment
0
Elie

Fover now has a light theme!

To match certain native elements, I created a light mode that fits the app perfectly.
I also implemented dynamic color changes in the library, which was one of the things that took me the most time, along with reworking the widgets.

I still need to implement the light mode in the viewer!

Attachment
Attachment
Attachment
0
Elie

Now you can drag and drop multiple items from a third-party app. But you can also add photos to your albums by dragging and dropping media from your library into the album!

The image placement isn’t perfect, but it works for a first version. I’ll figure out how to make it look better later.

0
Elie

Now you can drag and drop your media into other apps! I haven’t implemented in-app drag and drop yet, but it’s coming soon!
I’m also going to add a drop option to the library that will let you upload media from other apps using drag and drop.
Also, I’ve started working on the iOS sharing extension, but I’d prefer to continue that later.

0
Elie

Major new feature

You can now share your images and videos using a native sharing sheet.

It was fairly straightforward to implement this on the servers using XFile.fromData.
This feature also works offline.

Minor bug

I have a fairly minor bug. On certain types of images, a large white border may appear in the preview, without affecting the media itself. It seems to be a bug related to file extensions that iOS treats as documents when they are actually images or videos

What’s left to do

Since we’re on a roll with sharing, I’m going to look into how to share media directly from an external app, as many apps do

Attachment
0
Elie

I didn’t think I’d have to work four hours straight… I ran into a few bugs and issues that have now been fixed. First, HEIF images weren’t resizing properly, and clicking on an image in the search results used to crash the app.

All of that has been fixed. I also added a search history. And when you click on it, it brings up the search again. A few optimizations have also been made.

0
Elie

I had a major problem that I hadn’t realized at first:

The search functionality I had built was the LEAST optimized thing in the world!!

In fact, every time it reloaded the library, which meant having to run queries all over again, write data, etc., which was not optimized at all.

So I changed all that, and now none of that is needed thanks to synchronous loading.

I also had a major bug: the search only took the first character into account, which completely skewed the results. And also, when returning to the library after a search, the search results were still displayed…

Also, I redid the animations, which aren’t perfect (unfortunately) but are much cleaner.

0
Elie

I’ve started developing the photo search feature. I’ve added several elements to the app that will make searching easier.

With the search feature, you’ll be able to find the following:

  • Image date
  • Image name
  • Text within the image (I still need to develop the OCR)
  • Camera model

To fill in the gaps, I’ve added an “Explore” section that lets you browse a category within the search.
And of course, search history!

If you have any other ideas for filling the gap, I’m all ears 🙏

For the Liquid Glass version, it’s a bit complicated… Since the issue with the TabBar bug hasn’t been fixed yet, it’s quite difficult to integrate the search feature into Liquid Glass. But it’ll be ready as soon as the issue is resolved!

Attachment
0
Elie

A few fixes: First, regarding the viewer. Most of the display bugs have been fixed (they were caused by an issue with page focus and opacity). We’ve also resolved an issue with the popmenuaction, which wasn’t always loading the correct page on iOS 26 and later.

There was also an issue when users tried to adjust the date. The original date displayed was incorrect. This issue has also been resolved.

Attachment
0
Elie

I fixed the bug with the form. Before, when you clicked “Next,” the keyboard would close and then reopen, causing the page to jump.

I’m not a huge fan of the basic design I came up with, but for now I don’t have many ideas for a redesign, and for a v1 I don’t think it’s a priority.
But now I’m going to start on the video editor, then image search and OCR 👀

0
Elie

There must have been a glitch during Hackatime because I didn’t spend that much time on this commit.

What I did was revert a few changes that were doing more harm than good. I’ll try optimizing the RAM again later.

However, there are still some fixes. Video playback works better and is much better managed. However, I have a minor issue: the controls aren’t positioning correctly anymore. I’ll try to fix that now.

Attachment
0
Elie

Since last night, I’ve been trying to optimize the app so it uses less RAM. I’m having a really hard time optimizing that part. Personally, on my phone, I don’t experience any lag—the app runs incredibly smoothly—but I don’t know if that will be the case on all phones…

The huge spike you see here happens when loading a large video; it requires a lot of RAM, but I can’t seem to limit that…

However, RAM usage in the library has dropped drastically, and the app size has gone from 68 MB to 45 MB.
This reduction is thanks to video_player, which is much better suited for phone screens and handles HDR videos better than the library I was using before.

Attachment
0
Elie

What’s New

Now when you upload media, a progress circle appears!
You can also cancel the upload by clicking on it

Why It Took So Long

I ran into a few issues:

  • First of all, I wanted to create a simple, clean design, which wasn’t easy with Liquid Glass…
  • Also, I had to create an overlay because otherwise the card would have been limited to the appbar. And I’d never made an overlay in my life, which took me a long time
  • I had to redo the upload section with Dio to get the real progress (thanks, Claude, for helping me)
  • Bugs related to canceling the upload wasted a lot of my time

But at least I think the result is good—that’s all that matters!

0
Elie

I’ve implemented the back buttons.
I’ve also fixed the following bugs:

  • After editing an image, the app returns to the viewer instead of the gallery
  • The viewer loads the new image immediately after it has been edited
  • Data such as EXIF is now retrieved again
  • Returns the actual dimensions instead of null x null
  • Fixed a padding issue in the settings information sheet
0
Elie

What’s new ?

Lots of changes to the image editor!

First things first: edited images are uploaded to the server.
I’ve tried to replicate the behavior of the basic gallery editor as closely as possible.
When you edit a photo, the new photo is the only one displayed in the gallery. But the original photo remains stored on the server so you can revert the changes!

Also, when you edit a photo but want to undo all changes, a warning message appears in the “Cancel” button in Liquid Glass

What remains to be done

  • The “revert” button in the viewer and in the context menu.
    I haven’t implemented it yet because I need to rework the indexes
  • Video editor
  • No “push” when opening the gallery
  • Animations
0
Elie

This is what the editor looks like in terms of general settings. Personally, I like it—I think it’s a nice change from the basic iOS editor, which I don’t always find great, without confusing users either.

However, I still have a small issue to fix regarding the padding. I don’t know why, but even when I set the AppBar to null, an empty one is still generated, which leaves just as much space at the top…
For the slider, we’re using the native Cupertino style on iOS and a Material Design slider on Android, which is also a bit different from the iOS editor!

As you can imagine, there’s still some work to be done on the editor, but I’m still working on it.

0
Elie

I’m having a bit of trouble overriding and customizing the editor to make it work for me. It’s starting to look like something, but it’s not quite what I want…
There’s still a lot of work to be done on that front, but we’ll get there.

What’s left to do?

  • First, create a “more iOS-like” style that still works well on Android
  • Make selection smoother
  • Make cropping look better
  • Give the widgets (sliders, buttons) a liquid glass style

I also need to work on the video editor, but I’ll do that later..

Translated with DeepL.com (free version)

Attachment
0
Elie

I wanted to post this earlier, but Hackatime was down…

In the meantime, I made the viewer automatically adjust to the image’s orientation. I also created a little animation that turned out pretty well (I wasn’t expecting that).

I’ve started developing the image editor. It’s a bit rough around the edges right now, but I’ll come back to it once I’m done.

0
Elie

What’s new?

  • I’ve implemented a pull-to-refresh feature, which will come in handy when I add synchronization across multiple devices.
  • Dynamic image display (not sure if it works 100%)
  • Improved authentication for hidden albums and fixed crashes caused by failed authentication.

Other things
The code has been improved; certain issues, such as the context being called after an await, have been fixed. And the formatting in the library has been done.

I’m still trying to figure out how to fix the display issue with the albums

0
Elie

What’s new?

You can now delete or add items to an album using the picker I created earlier

What’s left to do with albums?

  • Make the hidden album fully functional, even on devices without biometric recognition
  • Be able to view albums offline
  • Display a slideshow of the album

Why so much time for so little?

Since images are now displayed in their original quality, the animation when you exit an image has become buggy because the image has become too large… I’m still trying to find a solution for this

0
Elie

Now you can view only your screenshots and screen recordings. This can be useful for freeing up server storage more easily if needed.

Attachment
0
Elie

Several minor changes

  1. You can now see the remaining storage space on your server.
  2. You can log out of the app.
  3. Dialogs now adjust to the text size.
  4. The container on the onboarding page is now responsive.
0
Elie

Improvements to the picker. On iOS, there are native Cupertino buttons, and the picker overall looks much more polished.
The picker also supports drag-to-select, just like the native picker.

Attachment
0
Elie

Well… I had to switch libraries for the picker. It’s no longer a native picker.

Why?
Sure, the native picker has a lot of great features: it’s perfectly optimized, fast, and the selection process is very efficient. But there are two major issues that prevent it from being used in Fover.

On iOS/iPadOS, the picker doesn’t return the actual name of the image. It gives a completely random name because it places the media in a temporary folder, which makes it very difficult to retrieve.

Apparently, it’s possible to fix this issue with native code, so I tried to implement it using Vibe Coding. But it caused me too many problems and didn’t even work. So I decided to rebuild everything from scratch, remove the code Claude generated for me, and switch to a different picker.

On Android, however, this problem doesn’t exist, but the native image selection is terrible. I don’t understand why it was implemented this way.

For now, I’ll admit the picker isn’t very pretty, but I’m going to redesign it to better fit the app by adding Liquid Glass on iOS >26 and some nice Material Design on Android and iOS <18

Attachment
0
Elie

Several changes have been made; media is now displayed more effectively in the library.
Now, the actual images are displayed in the viewer instead of thumbnails.

Also, due to legal issues: Thumbnails created on your Copyparty server for HEVC videos will not display. Until a solution is found, a gray box will appear instead.

I’ve also fixed a responsiveness issue in my onboarding.

.

Attachment
Attachment
0
Elie

I started working on Copyparty compatibility last night. And wow, I had no idea it would be such a hassle.

I ran into several issues, particularly with files that wouldn’t stay in place and kept deleting themselves, because Copyparty can’t overwrite files. So I had to delete them and put them back.
Also, the thumbnails wouldn’t load, and it took me at least two hours to debug. The reason was that the size was incorrectly specified in my server configuration, which prevented the thumbnails from loading…

It’s working now. I still have a few things to do and test regarding Copyparty, but I’m almost done with the first version of the app!

Attachment
0
Elie

I finished connecting to Copyparty!
When the user does not enter the correct information, an error is displayed in a dialog box.
Otherwise, when the user forgets to fill in a field, the app displays an error in the missing text field.

Currently, when the connection is successful, a message is displayed in the console.

I encountered several problems, particularly with certificates that Flutter rejected. So I created a function with IOClient to counter this. And a bug that displayed the success message despite an error. These problems have, of course, been fixed.

Attachment
Attachment
0
Elie

This is what the login page for Copyparty looks like! It’s a little outdated at the moment, but personally I like it, and it’s certainly quite different from the onboarding page.

I didn’t have much inspiration, but despite that, I think it looks pretty good. Especially since it’s been a long time since I’ve designed a login page.

Attachment
1

Comments

Elie
Elie about 1 month ago

I don’t know why it looks so close to the edge on the screenshot. That’s not the case in real life 🙌🏼

Elie

I’ve started working on the onboarding, and this is what it looks like so far. Personally, I love it, but the background isn’t animated yet. I’ll do that if I have time before March 31.

Attachment
0
Elie

Here are the new icons for iOS in Liquid Glass!

Gemini generated the basic icon and I modified it with Icon Composer. It is available in several shades: light, dark, and tinted.

Attachment
0
Elie

The application has been optimized. Loading times are shorter. It is now possible to have completely personalized albums. You can create, edit, and delete albums, and the data is sent to your servers so that it is synchronized between your devices.

1

Comments

Elie
Elie 11 days ago

I just want to clarify that the 42 hours is because I finished the album section all at once. I was really focused on that part and didn’t think to keep a devlog…

Sorry about that 😅

Elie

Hey, because of exams, I didn’t have time to develop and make good devlogs, but I’m back!

The app has undergone several UI changes.

First of all, the Album page has finally been developed. Here’s what it looks like; it’s very similar to the iOS one. I’ve combined iOS 17 and 26 because I think it’s the perfect mix.

The “Hidden” and “Recently Deleted” albums require Face ID, Touch ID, or a passcode.

For the viewer and library, I’ve developed an animation that plays when you open and close a photo (see the video).
The tab bar doesn’t hide at the moment; the library I’m using is experiencing an issue, but it will be fixed soon.

Attachment
0
Elie

Two days ago, I started adapting the application for Android and iOS versions lower than iOS 26.

To make this portability possible, all the LiquidGlass elements I used must be readapted for these operating systems.
For now, this is what it looks like, but there will be improvements over time.

NB: To facilitate the development of the interface, all the images in the gallery are the same. I will display the real images in a few days.

0
Elie

This is what the image viewer on iOS 26 will look like!

Attachment
2

Comments

secretaditzu78
secretaditzu78 3 months ago

Cool

chefpenguino
chefpenguino 3 months ago

looks really good!

Elie

In 4 hours and 20 minutes, the Photo Library page already looks very similar to Apple’s.
For now, the app is only available in French, and the images are not clickable.

Attachment
0