#Pictopy

1 messages · Page 7 of 1

hollow quiver
#

thank you very much @wet lion and @north lion, it's working fine now

main jay
#

i added a simple ui fix on github do i need to tag soemone to review my request?

north lion
#

yeah tbh i just did it for my local system, since the tauri sidecar feature was under development

livid shuttle
#

Since there is currently no active review, no issue assignment, and no scheduled meeting, would it be appropriate for me to open a PR independently?

wet lion
livid shuttle
limber tulip
#

Hello maintainers and contributors! 👋

I've recently cloned and set up PictoPy on my local machine (Windows) and have been exploring the codebase. I'm really interested in contributing to this project.

My question: Will PictoPy be participating in Google Summer of Code 2026? I understand the project was part of GSoC 2025, but I wanted to confirm if it will be available for 2026 applications.

I'm eager to start contributing and would appreciate any guidance on how to proceed, especially if the project will be in GSoC 2026.

limber tulip
#

Hi
Can we work on any issue or first we have to assign issue to us before working on it?
Anyone guide please, what is the rule of this project about issue woking

wet lion
wet lion
sly stirrup
#

Hi, I’m Prathamesh Rajput, a 3rd-year CSE student. I'm new here.I’ve set up the code locally and am looking forward to contribute

wet lion
marble hamlet
#

hello @marsh idol sir please review it , i have worked on your assigned issue .

young torrent
#

Hey @marsh idol, earlier I raised PR #792 regarding the recursive logging error.
After syncing my local code today, the same issue occurred again.
Kindly review and merge the PR to resolve this problem, If you face any issue, let me know, I will resolve it.
https://github.com/AOSSIE-Org/PictoPy/pull/792

GitHub

This PR fixes a RecursionError that occurs when Uvicorn (or other stdlib loggers) emit logs, and the InterceptHandler tries to re-log them.
What was happening?
The handler called logger.log(...) in...

minor valve
#

I’ve started contributing to PictoPy and really enjoy the codebase.
Just wanted to ask — is there any chance PictoPy might be proposed for GSoC 2026 later on?

lilac badger
#

is it not proposed

#

???

#

?

main jay
#

Is pictopy still active?

wet lion
main jay
# wet lion yeah

I want to contribute but there has been no repl from the mentor and no commit since lasts to week?

#

so i thought this might be abandoned

wet lion
#

not like this, atm all the mentors are busy with some work, but they will actively reply soon

main jay
#

ohh

main jay
#

and one thing i wanted to ask. like i want to particiapte in Gsoc 2026. what should be the ideal thing i must be doing?

crude prismBOT
#

@main jay You are now level 3! :confetti_ball:

wet lion
main jay
#

makes sense

#

thanks though

#

like, it migjht sound naive but, if i dont have a lot of meaningfull contributions before the coding period starts, will it make a lot of difference?

wet lion
winter marsh
#

I have created an issue but according to the guidelines of PictoPy the mentor has to assign before PR but I can work on that right or else I have to wait.

main jay
#

Or also can push in your fork

manic widget
#

is the coderabbit review automated? cuz i saw the PR's having coderabbit comments, also what are the common rasons for PRs getting rejected, If I may ask please

narrow tendon
main jay
#

Auto reviews are pretty helpful though

crude prismBOT
#

@main jay You are now level 4! :confetti_ball:

winter marsh
main jay
#

i think so it is for ci tsests

zenith violet
#

is there a meeting today?

crude prismBOT
#

@zenith violet You are now level 2! :confetti_ball:

main jay
fiery knoll
limber tulip
young torrent
#

Rahul sir is busy, you should wait for sometime for your issue to get reviewed.

tall bone
#

@marsh idol I had done full debugging of pictopy, i have created a lot of issues from issue 1013 to 1028. I have added appropriate screenshots and videos. Please assign me those issues so that i could submit PRs which i have already prepared

#

It has been two weeks now, please assign me those issues

marsh idol
#

Hi everyone

#

Today I am working on a document which will have the tasks which are to be done under GSoC 2026. Tomorrow, I will review some PRs.

marsh idol
#

I will review issues and PRs from this form responses only.

#

Just insert links separated by a new line in the PRs and Issues field, no other text please

unreal quartz
#

https://github.com/AOSSIE-Org/PictoPy/issues/1070

This repository currently does not include a license file. I searched for common license files such as LICENSE, LICENSE.md, and COPYING, reviewed the README.md, and checked configuration files (Cargo.toml, pyproject.toml), but found no license information.

My idea is to add the Proper lisence file instead of the default copyright law.

GitHub

Describe the feature Description This repository currently does not include a license file. I searched for common license files such as LICENSE, LICENSE.md, and COPYING, reviewed the README.md, and...

distant thorn
marsh idol
#

Hi guys

#

It may be updated in future.

#

Do not be in a hurry to discuss about this ideas, we still have a lot of time 😄

#

Let us focus on the existing PRs and issues first.

bold estuary
#

Hi @marsh idol will there be any meet in upcoming weeks?

marsh idol
#

Probably tomorrow.

marsh idol
#

on mac it doesn't seem to exist.

tall bone
#

@marsh idol This guy has done PRs to issues created by me which were not assigned to him. I hope you will make a fair decision for these conflicts of interests

marsh idol
#

send me the PR links. I will close all such PRs.

tall bone
#
GitHub

Fixes #1032
Description
This PR addresses the fragility of the watcher service where unhandled exceptions (e.g., network timeouts or logic errors) caused the entire service to crash permanently.
Ch...

GitHub

This PR fixes the white flash and full app reload that occur when navigating using the Navbar.
Previously, clicking the app logo or the profile/avatar icon triggered a full page reload, which cause...

distant thorn
#

i have added some build flags in workflow also

marsh idol
#

Currently reviewing Memories page PRs

#

after that, coming to that PR.

distant thorn
distant thorn
#

if you have some questions, you can ask here also regarding pr

marsh idol
#

sure.

distant thorn
#
Running lint-staged for React...
→ lint-staged could not find any staged files.
Running Python linters...
ruff.....................................................................Passed
black....................................................................Failed
- hook id: black
- exit code: 1

Traceback (most recent call last):
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/bin/black", line 7, in <module>
    sys.exit(patched_main())
             ~~~~~~~~~~~~^^
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/black/__init__.py", line 1455, in patched_main
    main()
    ~~~~^^
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/click/core.py", line 1485, in __call__
    return self.main(*args, **kwargs)
           ~~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/click/core.py", line 1406, in main
    rv = self.invoke(ctx)
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/click/core.py", line 1269, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/click/core.py", line 824, in invoke
    return callback(*args, **kwargs)
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/black/__init__.py", line 570, in main
    reformat_many(
    ~~~~~~~~~~~~~^
        sources=sources,
        ^^^^^^^^^^^^^^^^
    ...<4 lines>...
        workers=workers,
        ^^^^^^^^^^^^^^^^
    )
    ^
  File "/home/tushar/.cache/pre-commit/repovub909f9/py_env-python3/lib/python3.14/site-packages/black/__init__.py", line 767, in reformat_many
    loop = asyncio.get_event_loop()
  File "/usr/lib/python3.14/asyncio/events.py", line 715, in get_event_loop
    raise RuntimeError('There is no current event loop in thread %r.'
                       % threading.current_thread().name)
RuntimeError: There is no current event loop in thread 'MainThread'.

husky - pre-commit script failed (code 1)
#

anybody is facing this issue?

#

ig we need to update the black version from 22.3.0 to 25.12.0

#

black v22.3.0 was released in 2022

#

@marsh idol so its best to update black to latest version we just need to update in .pre-commit-config

marsh idol
wet lion
marsh idol
#

assigned.

#

Was planning to work on this, but you already opened an issue 😄

wet lion
bold estuary
marsh idol
#

The open folder button should work. Can you work on fixing it?

#

We can't hide it.

bold estuary
crude prismBOT
#

@marsh idol You are now level 34! :confetti_ball:

marsh idol
#

I should touch some grass ig. 🥱

kindred bear
#

classic cse joke

crude prismBOT
#

@kindred bear You are now level 3! :confetti_ball:

kindred bear
wet lion
bold estuary
wet lion
#

hey @marsh idol should i create a seperate issue for setup.sh (for conda ) or ??

north lion
#

.

limber tulip
north lion
#

@marsh idol
Here are the PRs yet to be reviewed in PictoPy:

  • #996 — Enable WebP image support in backend validation (backend, enhancement)
  • #986 — Fix navigation for Overview, Setup, and Frontend (docs)
  • #978 — Smooth exit animation for image details panel (UI, animation)
  • #964 — Make Settings link clickable in empty gallery (UI, empty state)
  • #941 — Prevent duplicate scrollbars on Windows/Tauri (UI, bug)
crude prismBOT
#

@north lion You are now level 10! :confetti_ball:

wet lion
tall bone
bold estuary
tall bone
#

which issue are you talking about ??

bold estuary
#

The one i raised pr for

#

959

crude prismBOT
#

@bold estuary You are now level 4! :confetti_ball:

tall bone
crude prismBOT
#

@tall bone You are now level 13! :confetti_ball:

bold estuary
tall bone
#

The open orginal file as well?

bold estuary
#

Also you have multiple duplicate issues i suggest you to once cross check all the previous issues of others as well

bold estuary
tall bone
#

no no the open original file button, it appears when you hit the info button

bold estuary
#

The info button is supposed to show the details na ?

#

Maybe we’re confusing 2-3 things here

tall bone
bold estuary
#

Issue no.

tall bone
#

1017

tall bone
bold estuary
#

Ohh ok ok so for now i only implemented the open folder button functionality whose purpose is same to open the original file so yeah

tall bone
#

Yupp! nice to meet you friend most people don't accept things

#

Actually i am a little stressed as i have put so much efforts in debugging that someone could just snatch one or two bugs i found

bold estuary
bold estuary
#

Mine too 3-4 issues got closed as duplicated so i can understand

dapper atlas
#

Heyy..!!
I also would like to take on the tasks... Can I start with the existing PRs??

crude prismBOT
#

@dapper atlas You are now level 2! :confetti_ball:

wet lion
distant thorn
wet lion
zenith violet
#

hey @marsh idol I’ve opened an issue proposing content-hash based duplicate image detection (to avoid re-processing the same image copied/renamed in multiple folders). Would love to get feedback on whether this approach fits PictoPy’s direction. If yes, I can start working on it. https://github.com/AOSSIE-Org/PictoPy/issues/1069 and also the performance issue where /toggle-favourite loads the entire images table (#977) https://github.com/AOSSIE-Org/PictoPy/issues/977

GitHub

Describe the feature Currently PictoPy identifies images only by their file path. If the same image file is: Copied to another folder Downloaded multiple times Renamed Or exists in backups …it is s...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? The /toggle-favourite endpoint fetches the entire images table using db_get_all_images() to determine the fav...

zealous owl
#

@marsh idol will we have a meeting today if yes at what time would it be.

crude prismBOT
#

@zealous owl You are now level 2! :confetti_ball:

frank quest
#

Hey everyone
I am working currently on the build for AUR package for arch linux
I was looking for ways to bundle both the services ( backend and micro service) and I found this side car approach of tauri
With this basically we create a binary of the backend and microservice and then bundle it as resources in tauri conf , these can be run as it is when running the app

#

what are your views on this approach

marsh idol
marsh idol
#

I will not assign new issues until I merge a good number of PRs.

wet lion
real gale
distant thorn
# frank quest Hey everyone I am working currently on the build for AUR package for arch linux...

I am working currently on the build for AUR package for arch linux
I was looking for ways to bundle both the services ( backend and micro service) and I found this side car approach of tauri

Have you seen these examples https://v2.tauri.app/distribute/aur/#examples ?. You can use the same exact approach from our workflow in this while building the AUR package

With this basically we create a binary of the backend and microservice and then bundle it as resources in tauri conf , these can be run as it is when running the app

In the meet , we discussed this thing also before my tauri sidecar proposal. It has a problem, we need some files from the backend and microservices folders like the face model (along with few other files which i cant remember). So either you find all the depenedent files , change its location to a common folder (see plateformdirs python repo and database location implementation from my pr #1009) and then you can create the executables.
Or we can continue with our current approach to bundle both folders and then include in installers.

Tauri
AUR

The cross-platform app building toolkit

wet lion
#

hey @distant thorn your PR 1009 does not create RPM package??

distant thorn
#

just the deb exe packages

#

i am working on appimage release as well

wet lion
#

can i take this

#

if you don't mind

distant thorn
#

good for fedora users

wet lion
#

can i contribution to your existing PR

distant thorn
distant thorn
# wet lion yeah

you can fork from upstream branch only
my pr just changes in main.rs file not in that config file

wet lion
#

tauri build in support RPM packages

distant thorn
wet lion
#

your PR

wet lion
#

ok

#

my bad

distant thorn
#

😁

crude prismBOT
#

@distant thorn You are now level 21! :confetti_ball:

wet lion
#

I’ve left some comments on your PR.

#

can you check that out

distant thorn
wet lion
#

as i found them by running locally

distant thorn
#

i cant find that comment

wet lion
#

yeah

wet lion
distant thorn
wet lion
#

in that main.rs file we are storing the PID before and after running the app if backend crashes then it skips to run backend/sync bcz the old PID is used. Bcz after crash OS will assign a new PID but we are using old one so this can be a bug

#

@real gale could you please look into this

wet lion
real gale
wet lion
#

i have left a code that you can review

#

the os._exit(0) isn't forceful shutdowns?

real gale
wet lion
night musk
#

hello @everyone
i have a little problem when i fork and clone the PictoPy repo
there is scripts/setup.ps1 which is not come in my local as well as my forked repo
any one has facing the same problem or it's only my system's internall problem ?

wet lion
#

where are you checking this .ps1 file

night musk
wet lion
#

send your git cmd

limber tulip
tall bone
#

Hey @marsh idol Can you please share the meeting agenda doc

zenith violet
#

Meet link will be shared here right?

marsh idol
#

Sorry guys, meet will be held tomorrow.

wet lion
#

bcz i had some work today😁

zenith violet
#

If possible, please keep it at 11 PM or later, as I get home late from the office

marble hamlet
kindred bear
#

tbh enjoying open source

narrow tendon
#

One general message, don't ping too much to anyone, it makes things frustrating

#

like every message most time ping rahul

livid shuttle
#

@marsh idol I previously submitted work for issues #969 and #992, but the PRs haven't been merged yet.

issue#969 (I've implemented the collapsible Folder Management section in the Settings page) as shown in the video
issue#992( I've implemented the feature to Display the total number of Photos in the Gallery and Settings page) as shown in the screenshot

#

@marsh idol please check this also

crude prismBOT
#

@livid shuttle You are now level 4! :confetti_ball:

main jay
main jay
main jay
#

@marsh idol The application currently runs two separate Python processes: backend (FastAPI + ML) and sync-microservice (File Watcher). What i suggest is that we merge the sync-microservice functionality into the main backend application. this will redeuce the number of python runtimes and will same RAM. i guess this is a good optimisation we should try
i have raised an issue for the same

crude prismBOT
#

@main jay You are now level 5! :confetti_ball:

main jay
young torrent
marsh idol
#

10

marsh idol
#

Does anybody have a discord bot or any website in mind which can record and summarize discord meetings?

wet lion
night musk
wet lion
night musk
marsh idol
#

you asked chatgpt to suggest bots 😂

night musk
crude prismBOT
#

@night musk You are now level 3! :confetti_ball:

wet lion
marsh idol
#

no problem bro

#

utm_source=chatgpt.com is added when chatgpt finds some links

wet lion
marsh idol
#

nvm, please try to find some other sites

wet lion
#

i saw that a YT was using this but i don't remember their name.

marsh idol
#

Join the meet everyone.

north lion
#

hey @marsh idol , i cant join today's meeting as I'm travelling, would it be fine if I discuss my pending pr's and new issues in later meets

#
  • #996 — Enable WebP image support in backend validation (backend, enhancement)
  • #986 — Fix navigation for Overview, Setup, and Frontend (docs)
  • #978 — Smooth exit animation for image details panel (UI, animation)
  • #964 — Make Settings link clickable in empty gallery (UI, empty state)
  • #941 — Prevent duplicate scrollbars on Windows/Tauri (UI, bug)

(pasted this from my above message, won't be there in meet to discuss)

bold estuary
tall bone
#
GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description The /health endpoint is defined as async, but it calls synchronous blocking database operations. ...

#

Actually i am currently learning this in my semester (CPU scheduling) thats why I was able to identify this

distant thorn
#

LLMs understand, process, and generate human-like language, enabling tasks like translation, summarization, and question answering through advanced contextual learning and pattern recognition.

DEV Community

LLMs are everywhere, and RAG is hot right now. SQLite is fast and lightweight — perfect for the job....

zealous meteor
#

Subject: Interested in contributing to Pictopy

Hi @penguinzz ,

My name is Shiv Gupta, and I’m a Software Engineering student with experience in Python , SQL, GoLang. I’ve been following Pictopy am very impressed with how it handles

I would love to start contributing to the project. I’ve already looked through the repository and the documentation, but I wanted to ask:

Are there any specific "good first issues" or high-priority tasks you recommend for new contributors?

Is there a preferred communication channel Discord, Slack, or GitHub Discussions where I should stay updated on the roadmap?

You can find some of my previous work and projects on my GitHub: github.com/shivgupta272007-dotcom.

Looking forward to hearing from you and helping out!

Best regards,

Shiv Gupta

kindred bear
#

My goal by today meet is to understand the team workflow, people approaches to problems and their innovative solutions. I got great insights and will share my ideas in this group. Also if anyone wants to collaborate for work, I am happy to get involved.

rough iris
balmy venture
#
GitHub

Fixes #1088
The cargo:check script was trying to run in the backend/ directory, but that&#39;s where the Python code lives. The Rust code is actually in frontend/src-tauri/, so the script was f...

GitHub

This adds an MIT license and updates the README so the project has clear, standard terms for use and contribution.
A LICENSE file is added at the repo root with the usual MIT text and copyright (c)...

GitHub

This PR integrates the file watcher from the sync microservice directly into the main backend, eliminating the need to run two separate Python processes.
What changed

Copied watcher implementation...

unreal quartz
marsh idol
#

Closed all the PRs for the issues which were not assigned 🙂 . Also I closed those issues. If anyone are looking for a reason for this, you should have read the comment by github actions bot under your issue.

bold estuary
normal breach
wild rampart
#

Hi @marsh idol Please check this CI/CD feature, it requires a single .yml file

I think this is quite important to flag duplicate issues to avoid repo spamming , What's your view on this Please feel free to assign

https://github.com/AOSSIE-Org/PictoPy/issues/1110

GitHub

Describe the feature Problem: Before opening a new issue, people have to manually check many old issues. This takes time and still causes duplicate issues. How: Use a GitHub bot and a simple GitHub...

karmic pebble
#

Hi everyone! 👋

I'm moksha-hub and I just joined the Discord. I want to apologize for not following the proper contribution process I submitted a PR before introducing myself here and requesting issue assignment.

I've worked on two related performance/code quality issues and would like to discuss them:

#

Issue #1108 - Expensive and Repeated Metadata Parsing
Link: https://github.com/AOSSIE-Org/PictoPy/issues/1108

Problem: The ⁨image_util_parse_metadata⁩ import was placed inside for loops in backend/app/database/images.py, which is bad practice even though Python caches imports.

Fix: Moved the import to global scope at the top of the file.

PR: https://github.com/AOSSIE-Org/PictoPy/pull/1114

Issue #1109 - Inefficient Way of Getting Images
Link: https://github.com/AOSSIE-Org/PictoPy/issues/1109

Problem: db_get_all_images() fetches multiple rows per image (due to JOINs) and iterates in Python to group tags, which is slow for 100k+ images.

Fix:

  • Used SQL ⁨GROUP_CONCAT(DISTINCT m.name, '\x1f')⁩ to aggregate tags at database level
  • Returns one row per image instead of multiple
  • Added proper NULL handling for folder_id
  • Added sorted() for deterministic tag ordering

PR: https://github.com/AOSSIE-Org/PictoPy/pull/1115

Current Status

Both PRs are ready and address CodeRabbit's review comments
I understand these may not be merged due to process reasons

Request

Going forward, I will properly discuss issues here before working on them. Could I please get feedback on:

  1. Are these issues available for me to work on?
  2. If the current PRs look good, can they be considered for merge?

Thank you for your understanding! I'm excited to contribute to PictoPy.

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Where : backend/app/database/images.py What happened ? : from app.utils.images import image_util_parse_metada...

GitHub

Fixes #1108
Moved the image_util_parse_metadata import from inside loops to the top of the file (global scope). While Python caches module imports, importing inside tight loops is considered bad pr...

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Where : backend/app/database/images.py What happened ? : db_get_all_images fetches raw rows (potentially mult...

GitHub

…ages
Fixes #1109
Refactored db_get_all_images() to use SQL GROUP_CONCAT to aggregate tags at the database layer instead of iterating in Python.
Changes:

SQL query now uses GROUP_CONCAT(DISTINCT m...

#

@wild rampart I will be not repeating this again and from now on i will make sure to discuss and approve before any Pr. Please go through my current state of Prs. Thank you

wild rampart
#

Join weekly meeting to discuss your PRs and issues there

plush whale
#

next meet timing

karmic pebble
wild rampart
crude prismBOT
#

@wild rampart You are now level 6! :confetti_ball:

wild rampart
#

Wait you will get notified in this group whenever a meeting is to be scheduled

limber tulip
#

@marsh idol can we create our those issue again that was closed because of not planned PR attached with them ?

#

can I create those same issue again and when you will assign me then i will work on them ?

frank quest
#

Before creating an issue , I think a better alternative can be to first discuss it in this server , if he feels genuine then he can give the permit for the issue

young torrent
tall bone
tall bone
#

@marsh idol Regarding this issue, you had asked me to show the proof that removing async will improve performance.

Issue https://github.com/AOSSIE-Org/PictoPy/issues/1033

Here is the proof

This is with async (red = failures, purple = response time, blue = no. of users)

#

This is without async

#

You can clearly see the number of failures on the/health endpoint dropping to zero, and an improved response time

limber tulip
# marsh idol No.

So what will be approach or strategy to create issue
should i ask discuss here before creating them ?

tall bone
#

You create unique issue -> On day of metting update that in meeting doc -> discuss in meeting and get assigned -> do PR -> get PR reviewed

limber tulip
tall bone
#

Oo so someone else attached some unplanned PR to it? or you did that PR?

limber tulip
#

I raised the PR, actually @marsh idol sir was busy i think, i also mentioned him on github to assign that issue but i think he was busy and then i raised the PR against those issues

#

The issues was also created by me

tall bone
#

then i don't think you should re-create those issues

limber tulip
#

but now sir @marsh idol closed the PR and also closed those issues,
i just want to request sir @marsh idol to allow me to create those issues again and then assign me and after assigned i will start working on them

tall bone
#

Ok propose them in next meet and you may get to create those

unborn grove
#

@marsh idol @real gale
Hello everybody
Problem Statement:

While exploring the app, I noticed that there isn’t a dedicated profile page right now
the profile action takes you directly to settings page, and

I am also unable to change my avatar or have a pfp instead of my avatar.

Proposed Solution

I think adding a profile page with basic information - like avatar update, could improve the experience of the user.

Before creating an issue for this, i just wanted to have your point of view on this. Like :

is it useful to work on,
or is there already a plan for future?

**Plz let me know. **I will be happy to create somthing like this in order to make a better user experience.

narrow tendon
#

Also, Google Photo does not have a profile page

real gale
winter marsh
#

Can I know When the next meeting is going to happen??

wild rampart
plain bear
#

Hi everyone, I’m Jitendra , a Python + AI developer exploring PictoPy for GSoC 2026. I’ve read the PictoPy idea doc + contributing guide and I’m setting up the project locally. Could you please suggest a beginner-friendly issue that is reviewed/labeled and good for a first PR?

unborn grove
# narrow tendon what is the need for that ???

@narrow tendon My thought is more for a user-experience perspective.
Instead of doing everything from the settings , we can use more simplistic approach for better UI/UX.

and,
about Google Photos - it also contains a option to change profile and also gives the option to change account and account pfp.
Also on google photos when you click on profile ,it dosen't directs you to settings.

unborn grove
unborn grove
plain bear
#

Hi maintainers, I ran backend tests on Windows 11 (100 passed) but got an ONNX Runtime warning about “Unsupported Windows version (11)”.
Can I open a small docs PR to clarify this warning is harmless when tests pass?

plain bear
#

Hi maintainers,
I ran frontend tests successfully (all passing) but noticed a common Jest warning about async handles not closing.
Can I open a small docs PR clarifying that this warning is harmless when tests pass?

plush whale
#

during setting up is python 3.10 mandatory for env

#

plz tell me

unborn grove
plain bear
#

Hi everyone 👋, I’m facing an issue while running PictoPy locally on Windows. Sharing what I’ve done so far and the problem I’m stuck with:

✅ What I’ve done so far:

OS: Windows 11

Node, npm, Python, Rust installed

Project cloned successfully

npm install completed in frontend

Python venv created and activated in backend

✅ Backend status:

Backend runs fine with:

uvicorn main:app --reload --host 127.0.0.1 --port 52123

These URLs work correctly in browser:

http://127.0.0.1:52123/docs

http://127.0.0.1:52123/health

⚠️ Frontend / Tauri issue:

When I run:

npm run tauri dev

Vite starts successfully on:

http://localhost:1420

Tauri window opens but shows:
“Waiting for servers to start”

After a few seconds, it shows:
“Failed to connect to one or more local services. Exiting…”

Then the app closes automatically.

📌 Errors / logs I’m seeing:

Repeated log:

Failed to unregister class Chrome_WidgetWin_0. Error = 1412

Warning (not blocking, I think):

[baseline-browser-mapping] The data in this module is over two months old

Sometimes I also get:

Error: Port 1420 is already in use

❓ My understanding / doubt:

Backend is running properly

Frontend dev server is running

But Tauri seems unable to connect to backend (possible port / config mismatch?)

Not sure if Tauri expects backend on a different port or URL

🙏 Request:

If anyone can point me to:

The correct backend URL/port config for Tauri

Or what I might be missing on Windows

Or if this is a known Windows + Tauri issue

I’d really appreciate the help. Thanks in advance! 🙌

real gale
real gale
#

@plain bear

young torrent
young torrent
#

Hey @marsh idol,
In backend/main.py (line 110), we're using allow_origins=["*"] which allows
any origin to access our API. This could let malicious websites/extensions make requests to our backend.

Is this intentional for development, or should we restrict it to specific origins like:

Happy to submit a PR if we need to fix it.

rich matrix
#

Hi, I’m Swetalin. I’ve worked with HTML, CSS, JS, and Python. I want to start contributing to this project. Could u @radiant mauve guide me what to do and to a good first issue?

small dune
#

Getting some error 'Couldn't find config file' while setuping frontend.

#

Can someone please help

wet lion
#

script based setup or manual setup??

small dune
#

Manual setup

#

Script based is only recommended for Windows or Debian, ig

wet lion
#

Could you share a visual guide (screenshots or a recording) of the error you’re facing?

lilac badger
#

kaise ho bhai log ?

young torrent
#

@lilac badger please maintain the decorum of server, if you have anything related to Pictopy that you can discuss.

plush whale
#

Is it ok for python 3.12 or later version

narrow tendon
night musk
#

Hi @marsh idol1603 sir,
If you find this feature proposal suitable and ready for execution, I kindly request you to assign it to me so that I can proceed with the detailed design and implementation.
https://github.com/AOSSIE-Org/PictoPy/issues/1141

GitHub

Overview This proposal outlines a feature to automatically detect and flag potential duplicate issues in the repository. The system will analyze newly created issues and compare them with existing ...

night musk
winter marsh
#

@marsh idol when is the next meeting

crude prismBOT
#

@winter marsh You are now level 2! :confetti_ball:

plush whale
#

please notify us

unborn grove
plush whale
#

Ok which version is it 3.10

crude prismBOT
#

@plush whale You are now level 4! :confetti_ball:

unborn grove
crude prismBOT
#

@unborn grove You are now level 8! :confetti_ball:

plush whale
#

thanks bro

young torrent
#

Hey @marsh idol, pls review the issues #1134 and #1133 so that i can raise pr

crude prismBOT
#

@young torrent You are now level 8! :confetti_ball:

small elk
#

Hi, I’m setting up Pictopy locally and noticed some confusion around Python versions.
Would it make sense to mention a recommended Python version in the README to avoid this for new contributors?

eternal venture
small elk
#

I’ve opened a small PR to document the Python version in the README.

wild rampart
zenith hound
wild rampart
crude prismBOT
#

@zenith hound You are now level 4! :confetti_ball:

wild rampart
zenith hound
marsh idol
#

Reviewed 23 PRs related to small UI fixes. 10 Merged 13 Closed.

Now I will try to merge at least 1 PR per day.

strange hearth
#

Hi @marsh idol Please view this and assign it to me if my proposed solution is correcthttps://github.com/AOSSIE-Org/PictoPy/issues/852

GitHub

Describe the feature Is there an existing issue for this? I have searched the existing issues Feature Description Currently, PictoPy only supports .jpg, .jpeg, and .png image formats. Modern photo ...

surreal zodiac
#

hi everyone

#

just wanna get some clarity on the issue #1139 that 2 prs has been raised on this specific issue but none of them have been reviewed yet . can i still work on this issue

north lion
#

@marsh idol thanks for merging all the pending pr's, will look into new bugs or feat based on future goals, also when do we have our next pictopy meeting?

north lion
#

@marsh idol
Hey, after syncing main I hit a Rust warning in tauri dev:
unused import tauri_plugin_shell::ShellExt in src-tauri/src/main.rs.

Cause: ShellExt is only used under #[cfg(feature = "ci")].
Fix: gate the import with #[cfg(feature = "ci")].

I applied it locally and warning is gone. Lmk if I should open an Issue and the PR for this.

limber tulip
hasty creek
#

Hi i am sanyam bhandari . and i am a python student interested in the pictopy backend for gsoc 2026. and i have read the project description and i am starting to look at the pyhton/Fast API code now

zealous owl
vagrant wave
#

Hello everyone, I’m interested in Pictopy. I’ve gone through the documentation and the code, and I think it would be a good choice for GSoC 2026. I’m excited to start contributing.

halcyon hearth
#

Hi @marsh idol ,

I realize that I should have discussed this issue here before creating the pull request. I proceeded without coordinating because I was new to the contribution workflow and focused on addressing the problem directly. That was my mistake, and I apologize for not following the proper process.
I’ve opened a PR related to improving error handling:
https://github.com/AOSSIE-Org/PictoPy/pull/1151
Could you please review it ? I will make sure to discuss and get approval here before working on any new issues next time.

GitHub

Fixes #1102
What this PR does
This PR improves error handling in the get_db_connection context manager by catching database-specific exceptions and adding structured logging.
Changes made

Replaced...

prisma dragon
#

@marsh idol I noticed a UI issue in PictoPy where the title bar moves along with the content when scrolling both upward and downward.
I have a screen recording of the issue.
I’ve created a GitHub issue for the title bar scrolling bug and attached a screen recording.
Could you please review it and assign it to me if it looks fine?
Issue link: https://github.com/AOSSIE-Org/PictoPy/issues/1156

night musk
#

Hey @marsh idol i go through the issue of PictoPy and I found one merged PR which fix the responsiveness of the docs but still there are some improvement needed for that I created a issue please assign it to me

https://github.com/AOSSIE-Org/PictoPy/issues/1155

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Although mobile responsiveness improvements were previously implemented in PR #763 (addressing issue #734), t...

north lion
#

@marsh idol while doing ai tagging, person a gets only 4 pictures in same cluster, but when i search for the same person using our search bar, it shows 13 related pictures, should we not fix this inconsistency

safe hare
#

Hi @marsh idol,
I was exploring the backend startup flow and noticed that OpenAPI generation currently happens during app lifespan.
I was thinking of working on a very small fix/test around this behavior to better handle edge cases.
Would it be okay if I work on a small, scoped improvement related to this?

vagrant wave
#

PictoPy desktop looks good. I have done the setup and now i am going through the issues.

wild rampart
prisma dragon
#

@marsh idol
I noticed a small UX improvement opportunity in PictoPy.

In the Favourite Image Gallery, when there are no favourite images, the empty state only shows text. It might be helpful to add a small action like a “Go to Home” or “Browse Images” link/button so users can quickly navigate back and start selecting favourites.

I’ve recorded this and can create a GitHub issue if you think it makes sense.
Please let me know your thoughts

real gale
#

Meet tonight?

vagrant wave
#

Hi @marsh idol , I’ve reviewed issue #592 and submitted a PR with an improved solution compared to the previous one. If you find this approach better, I’d appreciate it if you could consider accepting the PR.
Please take a look whenever you have some time. Thanks!

karmic pebble
wild rampart
#

ask @marsh idol

crude prismBOT
#

@wild rampart You are now level 8! :confetti_ball:

karmic pebble
#

@marsh idol when will there be the meet?

surreal zodiac
#

@marsh idol Is Aossie Currently active as i am seeing no messages either from maintainers or entors

#

mentors

rough iris
#

Hi @marsh idol , @everyone , do we have to discuss before opening a new feature request issue in the meeting if we want to raise any?

zenith violet
crude prismBOT
#

@zenith violet You are now level 3! :confetti_ball:

rough iris
tall bone
rough iris
#

Okk

zenith violet
zealous thorn
frozen matrix
#

guys can anyone please tell me how can i get access for the introduction section beacause i am unable to text there as well as for the general section.

THANK YOU !
@marsh idol

frozen matrix
vagrant wave
vagrant wave
marsh idol
#

@wet lion I have added comments to your setup script PR. Please make the required changes and test the script on your friend's laptop which doesn't have the local PictoPy setup.

vocal garden
wet lion
#

is there someone who don't have #1311271974630330388 set up yet, locally

surreal zodiac
wet lion
#

hey @surreal zodiac i am also a contributor
you tagged wrong person

surreal zodiac
#

ohh sorry my bad

wet lion
surreal zodiac
#

@marsh idol can you please assign this issue to me

#

@wet lion are the maintainers currently active

wet lion
#

yes

#

they will review the issue and assign it to you

#

wait for their response

surreal zodiac
#

ok

#

thanks

surreal zodiac
#

hi is there any channel to report the changes done in the main aossie website

karmic pebble
#

@marsh idol when will there be a meet?

royal bay
#

Hey everyone, I am new here and I have found an issue how can I present it?

#

should I just normally type it here or is there a format?

wet lion
vagrant wave
vagrant wave
surreal zodiac
obtuse hatch
#

Hi @marsh idol ,
I’ve submitted a PR addressing issue:
#1007 :- BUG:Refactor album route tests to decouple from internal database implementation
#608:- SQL injection risk in db_add_images_to_album due to dynamic IN-clause constructio
pr link :-pr 1163 :- https://github.com/AOSSIE-Org/PictoPy/pull/1163
pr 629 :- https://github.com/AOSSIE-Org/PictoPy/pull/629
Looking forward to your review and any suggestions.

GitHub

closes #1007
Summary
This PR refactors the album route tests to reduce tight coupling with internal database helper functions and improve long-term test maintainability.
Changes Made
Centralized da...

GitHub

closes #608
Summary
Fix potential SQL injection in db_add_images_to_album by sanitizing image_ids and using parameterized IN clause safely.
Changes

Validate image_ids to be integers (skip invalid)...

raw basin
#

Hi everyone 👋
I’m Muskan, a B.Tech CSE student and a GSoC aspirant.

I’ve set up PictoPy locally (FastAPI + Tauri) and I’m currently exploring the codebase and documentation to understand the workflow better. I’m particularly interested in improving contributor experience, documentation clarity, and small frontend/UX issues.

I’ll be raising an issue soon based on some setup and workflow observations I’ve found while running the project locally.
Looking forward to contributing and learning from you all!

lilac badger
#

Hey @wet lion are you a maintainer
i am asking this becasue you are contributing in almost each project of aoosie like you are helping new guys , may be you are multi talented . please give me tips too

wet lion
vagrant wave
vagrant wave
crude prismBOT
#

@vagrant wave You are now level 3! :confetti_ball:

young torrent
#

hey @marsh idol, when we have a meet?

plush whale
#

when we have meet

plush whale
prime scroll
#

Hi , everyone ! Im Aurthita , interested in contributing to Pictopy . Looking forward to collaborating with you all !😃

wild rampart
marsh idol
#

When I find a good agenda to take a meeting, I will inform.

wild rampart
vagrant wave
vagrant wave
young torrent
plain bear
#

Hi@Rahul 👋
I opened a docs-only PR: https://github.com/AOSSIE-Org/PictoPy/pull/1144

✅ Changes: clarified Jest warning after frontend tests + fixed CodeRabbit markdown nitpick
🟢 Status: No conflicts, ready to merge
🚧 Blocker: “1 workflow awaiting approval” (needs maintainer approval to run)

Could you please approve the workflow / re-run checks so it can be merged? Thanks!

GitHub

Summary
Clarifies the ONNX Runtime warning seen on Windows 11 during backend tests and local runs.
Details
Windows 11 users may see an ONNX Runtime warning even though the backend works correctly a...

#

Hi @marsh idol 👋
I opened a docs-only PR: https://github.com/AOSSIE-Org/PictoPy/pull/1148

✅ Changes: clarified Jest warning after frontend tests + fixed CodeRabbit markdown nitpick
🟢 Status: No conflicts, ready to merge
🚧 Blocker: “1 workflow awaiting approval” (needs maintainer approval to run)

Could you please approve the workflow / re-run checks so it can be merged? Thanks!

GitHub

Summary
Adds documentation clarifying a common Jest warning that appears after successful frontend test runs.
Details
When running frontend tests, Jest may print the warning:

“Jest did not exit on...

marsh idol
#

Hi everyone. I have merged a PR recently and I request to all to pull the latest changes and do the following steps before starting the app locally:

  1. backend/app/config/settings.py inside this file add a print statement for the variable DATABASE_PATH. Whatever the path is printed when you start the main backend, go to that folder and delete the PictoPy.db file.
  2. After this you can easily start the app.
#

This is because there have been schema changes in the database.

young torrent
vagrant wave
vagrant wave
vagrant wave
safe hare
#

Hi, I’ve submitted PR https://github.com/AOSSIE-Org/PictoPy/pull/1167#issue-3925744240 and everything seems green.
While that’s under review, I’d love to help more.
Is there any small issue / test / documentation area you’d recommend I pick up next?

GitHub

This PR adds a focused failing test to verify that generating OpenAPI schema does not trigger application lifespan events.
No functional changes are included yet - this is only the initial test as ...

unreal quartz
safe hare
placid vector
real gale
#

Hi @marsh wyvern,
I just recently noticed that the AOSSIE yt channel was created ||YAY 🥳|| and been set up for demos.

I’ve recently been spending some time working on a launch / reveal video for PictoPy and I wanted to get your thoughts as well before I go too far in one direction.

This has been in loop with @marsh idol

https://drive.google.com/file/d/131O0Eqyda4C02j1cKx4S0GsFHuFHg4JL/view?usp=sharing

It’s not fully complete yet, so... should I submit what I currently have in the form as an incomplete draft, or should I wait and submit a more complete version once everything is finished?
The completed version might take a bit longer due to other co-curricular / academic assignments, but I’m happy to go either way

marsh wyvern
real gale
marsh wyvern
#

There is one thing that has been bothering me a bit about PictoPy and that is relevant in case we are going to start marketing it more strongly with videos, landing pages and so on.

I assume that the Py in "PictoPy" is because it is implemented in Python. Right?

But the end user doesn't care about the language that was used for implementation. If PictoPy were a library for developers, a reference to python, making it clear that it is a Python library, would make sense. But, for an end-user application, the Py suffix seems unnecessary and possibly confusing.

Maybe it would be worth considering a renaming?

#

For example, "PictAI" rhymes with "PictoPy" and conveys more clearly the value proposition of the app.

marsh wyvern
# real gale Thank you! :) I am essentially using a set of these five applications: Adobe Ph...

I wish I had skills in these tools...

One of my sons (8 years old) really likes art (and goes to a painting school) and I wanted to eventually introduce him to some professional applications to manipulate digital images and videos. I see that he keeps playing with the basic photo and video editing tools of his mobile's camera app, and I think he would like to have tools with more powerful features.

Do you know any good tutorials that could be suitable for him?

real gale
# marsh wyvern I wish I had skills in these tools... One of my sons (8 years old) really like...

Thats so cool to hear 😄

I didn’t really follow any single tutorial or course myself. Most of what I know came from a lot of experimenting, spamming buttons, trials and errors, and gradually picking things up over time in the process of recreating what I saw.

That said, i'd be more than happy to help and curate a few specific tutorials and resources based on what he’s most interested in, whether that’d be in drawing and illustrations, photo manipulation, animations like these or video edits

marsh wyvern
real gale
# marsh wyvern He doesn't have a computer yet. So, if you know any good mobile drawing/editing ...

Adobe Lightroom for photo editing (free)

Adobe Photoshop mobile (free for basic use, subscription needed for advanced features)

Adobe Illustrator Draw ||only available on ipad if im not wrong|| for drawing / illustration (paid)

CapCut (mobile) is probably the best option for video editing on mobile right now
It has got features like timelines, layers, text, effects, and keyframes. Very close to a desktop styled workflow.
There are alternatives like VN and iMovie, which are better suited for more basic editing, storytelling, cuts, and pacing.
Adobe also recently released the Premiere Pro mobile app. It’s free to use, but some advanced AI features might require a subscription.

Additionlly, Garageband is one of the most powerful Digital Audio Workstation available out there on mobile (iOS devices only)

#

All of these are extremely powerful and popular applications so there's a bunch of guides and tutorials available online and on youtube and I'm sure he'll get to learn a whole lot by using these hands on!

rustic willow
#

Hey! 👋
@marsh idol
I'd like to work on Issue #1181 (Same image indexed multiple times with symlinks/hardlinks) — could a maintainer please assign it to me?

I've already fixed and tested it locally:

Root cause: image_util_get_images_from_folder in images.py had no deduplication — both the recursive (os.walk) and non-recursive (os.listdir) branches appended every matched path unconditionally, so hardlinks and symlinks to the same physical file got indexed multiple times.

Fix: Added a _is_duplicate() helper with two complementary checks — os.path.realpath() to catch symlinks, and (st_dev, st_ino) inode tracking to catch hardlinks. The inode check degrades gracefully on FAT/exFAT where st_ino is always 0.

Tests: 7 new tests in TestDeduplicationBug1181 covering baseline scan, hardlink dedup (recursive + non-recursive), symlink dedup (recursive + non-recursive), and a false-positive guard to ensure distinct files with identical content are NOT dropped. All 7 passing, 0 warnings. ✅

Happy to open the PR as soon as the issue is labelled and assigned! 🙌

vagrant wave
vagrant wave
young torrent
#

Hey @marsh idol!
Just pushed Issue #1184 - I've added some major clustering enhancements!
New Features:

  1. Create clusters manually (user-defined organization)
  2. Add images to any cluster
  3. Remove images from clusters
    This gives users way more flexibility to organize photos their way, not just how AI detects them.

Demo video attached - would appreciate your feedback!
Took me about a week of work! What do you think? Any suggestions to improve?

plush whale
plush whale
#

@radiant mauve plz assign it to me

crude prismBOT
#

@plush whale You are now level 5! :confetti_ball:

young torrent
#

Hey @marsh idol, pls clarify a question, should i raise the pr for the issues I have raised or wait for your review as suggested by github bot?

unreal quartz
dusk carbon
safe hare
#

Hi, I reviewed issue https://github.com/AOSSIE-Org/PictoPy/issues/705#issue-3715145356 #705 and the current implementation of db_get_images_by_cluster_id.

Since metadata is already being deserialized in the function, I left a comment on GitHub asking for clarification on where the mismatch is occurring.

If no additional context is needed, I’m happy to proceed with investigating and preparing a fix.

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? The GET /face-clusters/{id}/images endpoint returns image metadata as a serialized JSON string rather than a ...

real gale
#

Hi Rahul, the release of v1.1.0 is a long awaited goal for PictoPy and we are also in a very good spot to do the same but one of the most major bugs present in the application is the ImageViewer component's Zoom on Scroll feat.
I'd be very delighted if you could try this PR out yourself, locally, before and after of the ImageViewer. It fixes the current implementation of the Zoom on Scroll feature and makes it more predictable.

https://github.com/AOSSIE-Org/PictoPy/pull/835

real gale
#

Hi Rahul, I've opened this PR for the Coderabbit config addition to the repository.
#announcements message
It's fine-tuned for PictoPy's tech stack, and the unrequired blockchain and mobile dev prompts and tools have been removed from the config keeping everything aligned with Rust + python + typescript

young torrent
#

Hey Rahul!
Just opened an issue to add YouTube badge to PictoPy's README (following Bruno's suggestion to keep it in docs, not UI).
Issue: https://github.com/AOSSIE-Org/PictoPy/issues/1190

Starting with README badge now. Also asked if you want social links in Settings footer too — lmk your thoughts!

GitHub

Describe the feature Context Following discussion with Bruno about adding AOSSIE's YouTube channel to project documentation/social links. As suggested, adding to README.md is preferred over UI ...

thorny otter
#

If anyone is stuck on an issue or needs help reviewing or debugging something, feel free to tag me or assign it. I’m happy to collaborate and support where I can.

supple zealot
real gale
young torrent
#

Can anyone pls share the link of PictoPy Youtube Channel, I'm Unable to find.

#

Hey @marsh wyvern @marsh idol,
I'd like to draft a user-friendly guide explaining what PictoPy does, why to use it, and how we handle privacy/security along with this adding all the social links.

Thinking of adding a USER_GUIDE.md or docs/USER_GUIDE.md for end-users. Which contain Purpose, Security Feature, Offline workability, data flow.

While Keeping README.md consice for discovery, and link to the detailed guide.

Any preferences on format or key points to highlight? Happy to start with a draft PR for review.

marsh wyvern
marsh wyvern
real gale
marsh wyvern
marsh wyvern
grim lava
#

Sharing just for information

young torrent
marsh wyvern
marsh wyvern
grim lava
grim lava
#

My bad I mean to say account verification (generally require video+phone number)..

vagrant wave
#

Hi @marsh idol sir, i would love to work on this issue.

wet lion
#

Hi Rahul, could you please review this PR ? I’ve updated it and added visuals to demonstrate that everything is working correctly.

zenith violet
bold estuary
unreal quartz
supple zealot
#

@marsh wyvern @marsh idol

How about "GallAI" as the name?

Also, in case videos aren't supported yet (as I can't see them in any demo), adding it would be simple: extract 1 of every X frames and treat them as images to get the tags.

mystic fern
#

Hi everyone 👋

I’m Arunodoy, a second-year CS student preparing for GSoC 2026. I’ve previously contributed to Resonate (5 PRs merged) and have experience building AI-powered tools including a local AI code review assistant and Chrome extensions.

I’m interested in PictoPy, especially the AI pipeline and local inference aspects. I’d love to start contributing and understand the current architecture and priority areas.

Here are my profiles for reference:
GitHub: https://github.com/Arunodoy18

Portfolio: https://aruno.buildc3.tech/

LinkedIn: https://www.linkedin.com/in/arunodoy-banerjee-214251342

Looking forward to contributing

vagrant wave
vagrant wave
marsh wyvern
supple zealot
marsh wyvern
#

(We should also keep in mind that, sooner or later, people will get tired of the AI suffix, and we would need to rebrand again. (Remember when "-ly" suffixes were fashionable?) But it is probably good for now.)

#

Adding videos, as @supple zealot suggested, could be a good task for GSoC!

supple zealot
marsh wyvern
#

There was/is also a trend of using proper names for AI-powered tools....

  • Kelly - your AI-Powered Auto-Organizing Gallery
supple zealot
marsh wyvern
#

Add this task and the reference to the idea in the idea list.

marsh wyvern
#

@real gale , I have just published your PictoPy video. YouTube found copyrighted material on it, but usage is allowed.

bold estuary
#

As long as there is no intention of earning from the video ads it will have no effect on video

real gale
# marsh wyvern

Aah the audio… gotta make sure not to use copyrighted material from next time

Thanks for the update :)

and thanks again for publishing ☺️

young torrent
tall bone
#

Hey @marsh idol , I am back, i had my minor exams, can you let me know did we had any meet recently?

real gale
sick yarrow
#

@bitter wind @round laurel @knotty shore@radiant mauve @marsh idol @supple zealot Hello mentors, apologies for the interruption. I hope you're doing well.

I wanted to reach out regarding a potential GSoC idea related to this year’s sustainability theme. This idea was originally suggested by the admin, and I have been working on refining it by outlining some features, researching its feasibility, and preparing a small draft explaining the motivation and possible implementation approach.

As advised, I am currently looking for a mentor who might be willing to review the idea and guide it further for the GSoC phase. I would be very grateful if you could take a look at the draft and share your thoughts or feedback. If this aligns with your interests, it would be great if you could also join the sustainability channel where the discussion is ongoing.

I understand everyone is busy, so I truly appreciate your time and consideration. Thank you.

crude prismBOT
#

@sick yarrow You are now level 10! :confetti_ball:

crude prismBOT
#

@safe hare You are now level 3! :confetti_ball:

safe hare
#

@marsh wyvern , @bitter wind Hey Mentors! Sorry for intrupting you but I’ve submitted one more PR #1199 " https://github.com/AOSSIE-Org/PictoPy/pull/1199#issue-3995280791 " and I’m currently exploring deeper test coverage improvements in the metadata module.
If there are any priority areas where more testing or refactoring is needed, I’d love to contribute.

GitHub

This PR increases test coverage for the metadata database module.
Functions Covered:

db_create_metadata_table
db_get_metadata
db_update_metadata

Changes:

Added deterministic unit tests for table...

young torrent
crude prismBOT
#

@young torrent You are now level 9! :confetti_ball:

crude prismBOT
#

@real gale You are now level 24! :confetti_ball:

young torrent
wet lion
#

Hello @marsh wyvern ,

I want to introduce a new feature for PictoPy. Now that PictoPy is ready for end-users, and we already have all the data stored in clusters (with different faces), why not use that data to create a short memory summary for users? For example, showing where a person appeared most frequently, where they spent the most time, and similar insights — just like Google Photos does.

This can significantly improve the user experience, as users will be able to view their past moments and activity in a structured way. Since everything can be built locally using existing clustered data, there would be no need for an internet connection. This could become one of the best features of PictoPy.

wet lion
real gale
#

But yeah, this being a memories feature is indeed what an actual memories functionality is supposed to be. A group of curated images that belong with each other, that are supposed to be related.

young torrent
#

@real gale I have tried to search, you have downloaded it from audio.com that doesn't provide license key and the song you have chosen is also not originally from audio.com, it's better to try another websites like uppbeat where you will get royalty based song and free credits along with license key

novel yoke
#

Hello @radiant mauve
I want to propose a new feature for PictoPy to add AI-powered natural language search.

Instead of searching photos manually, users will be able to type conversational queries like "show me beach photos" or "pictures with friends from last year" and get relevant results.

Under the hood, PictoPy already extracts rich metadata (objects, faces, dates) using YOLO and FaceNet. So I propose converting that metadata into vector embeddings using Sentence Transformers and storing them in a local FAISS index. When a user searches, their query gets embedded and matched against the index semantically — all offline, preserving PictoPy's privacy-first approach.

thorny otter
#

Hi sir @marsh idol @real gale , I was exploring the new PictoPy website and noticed a great opportunity to improve the UX for users trying to download the app.
I just opened Issue #12 proposing an OS-Aware Dynamic Download Component. Instead of static links, it detects the user's OS (Windows/Mac/Linux) and automatically fetches the latest correct installer (.exe, .dmg, etc.) directly from the main repo's GitHub Releases API. This means the website will never need manual updates when a new version drops! 🚀
Here is the issue link: https://github.com/AOSSIE-Org/PictoPy-Website/issues/12
I'd love to hear your thoughts on this approach. If you think this is a good architectural fit, I have my local environment set up and would be absolutely thrilled to work on the PR!

GitHub

Feature and its Use Cases 🚀 Feature Request: Intelligent OS-Aware Dynamic Download Component Is your feature request related to a problem? Please describe. Currently, as the landing page for a desk...

real gale
real gale
#

Though yes, the approach is sound but I think this has already been raised in a prior conversation

real gale
#

Good luck!

thorny otter
supple zealot
north lion
#

when is the next pictopy meet?

vagrant wave
obtuse hatch
#

Hi @marsh idol , hope you're doing well.

I just wanted to kindly follow up on my PR. When you get time, could you please take a look and share any feedback?

PR[1163] : https://github.com/AOSSIE-Org/PictoPy/pull/1163
PR [629] : https://github.com/AOSSIE-Org/PictoPy/pull/629
Thank you!

GitHub

closes #1007
Summary
This PR refactors the album route tests to reduce tight coupling with internal database helper functions and improve long-term test maintainability.
Changes Made
Centralized da...

GitHub

closes #608
Summary
Fix potential SQL injection in db_add_images_to_album by sanitizing image_ids and using parameterized IN clause safely.
Changes

Validate image_ids to be integers (skip invalid)...

safe hare
#

Hi everyone!
While exploring the backend architecture I opened a small discussion about backend layer separation and scalability considerations.

Would love to hear thoughts from maintainers whenever convenient.

Discussion link: https://github.com/AOSSIE-Org/PictoPy/discussions/1214#discussion-9587229

GitHub

Hi everyone, While working on a recent backend contribution related to the image favourite toggle functionality, I spent some time exploring how the API routes, database utilities, and processing l...

thorny otter
vast jetty
#

Good evening sir @marsh idol @real gale could you please check PR #18 for the issue #15 .
I've fixed the logo navigation issue

thorny otter
vast jetty
warm olive
#

Hello @marsh wyvern , I am a React and python developer interested in contributing to Pictopy for gsoc, I am looking at #724 as my first contribution.

young torrent
#

Hey everyone, I'm facing some issue, recently pulled code but it's not running, I've tried a lot from my side but things are not working out. need help!!

real gale
young torrent
real gale
#

The PictoPy.db file might not be in the directory I specified, can you confirm if it's there?

young torrent
#

let me check

young torrent
#

Pictopy.db is there, I retried after deleting it, but it's not working

real gale
young torrent
#

By what time you will be free?

real gale
#

I'm free rn

young torrent
#

Okay, will free after 10 min, see you in meeting room

young torrent
#

@real gale Thnx for joining, I will ping you if i find any issues after recloning repo.

karmic saffron
#

I have submitted only one PR, is i am still eligible for making praposal and submit?

novel yoke
frank quest
fading timber
#

Hi @marsh idol @real gale ! I'm Ajith, a Python/ML developer from India. I'm interested in contributing to PictoPy for GSoC 2026.
I just opened my first PR → https://github.com/AOSSIE-Org/PictoPy/pull/1219
Fix: improve SQLite error handling in get_db_connection
Could you assign me the PictoPy contributor role? I'd love to keep contributing and discuss potential GSoC project ideas. Thanks!

GitHub

Fixes #1102
Changes

Replace broad Exception catch with sqlite3.Error for precise DB error handling
Add logging to surface database failures with context
Preserve existing rollback and re-raise beh...

slate stump
#

I’m a engineer who enjoys building real products and solving technical problems. That part of my work feels natural to me. The difficult part is client communication, because English is not my native language.

Even when I fully understand the project, it can be hard to express everything smoothly in meetings. Because of that, I hope to find not only a collaboration partner, but also a true online friend someone reliable, kind, and easy to trust.

I can handle the technical side, development, and delivery. I’m looking for someone who feels comfortable with English communication and wants to build a long-term partnership together.

For me, trust is the most important part. Good collaboration is not only about skills. It is about honesty, patience, and supporting each other step by step. No trust, no party.

If you are looking for something real, sincere, and long-term, feel free to message me.

safe hare
#

Hi @marsh wyvern , @marsh idol ,

I’ve opened a PR to address duplicate image indexing caused by symlinks/hardlinks (issue #1181) by introducing filesystem-based deduplication before record preparation, which avoids redundant thumbnail generation and unnecessary processing.

All CodeRabbit review comments have been addressed, and I’ve also added a test to validate the deduplication behavior.

Would appreciate a review when someone gets a chance

PR: https://github.com/AOSSIE-Org/PictoPy/pull/1224#issue-4080655277

GitHub

Addressed Issues:
Fixes #1181
Screenshots/Recordings:
Not applicable for this change since it improves backend ingestion logic rather than the user interface.
Behavior difference summary:
Before

W...

wild rampart
upper gulch
bold estuary
worthy gale
#

Hi, can Anyone share with some high quality PictoPy screenshots ? It would be really helpful

covert pasture
#

Hey everyone!
I'm Vaibhav Khokha and applying for GSoC, I'm super interested in the PictoPy project. My background is in Python and I'd love to help out with the backend tasks. Could anyone point me toward a good first issue or give me some guidance on how to jump in? Thanks!

covert pasture
#

Hi @mentors @marsh idol ! I've just submitted my first PR (#1242) addressing the backend module naming collisions and initial type safety guards I found during my pre GSoC audit. Looking forward to any feedback! Thanks!

marsh idol
#

Hi guys

#

I will review gsoc proposals publicly

bold estuary
#

Hi @marsh idol I was mostly inactive because of my ongoing exams. I also want to let u know my 2 Pr's are hanging for a while could you please review them as it'll help me in the proposal. Thank you.
https://github.com/AOSSIE-Org/PictoPy/pull/958
https://github.com/AOSSIE-Org/PictoPy/pull/1191

GitHub

Hi @rahulharpal1603 here is the brief summary and related screenshots and videosfor this pr and issue.
Summary:
Added a React ErrorBoundary component to catch unhandled JavaScript errors during re...

GitHub

Fixes: #1091
@rahulharpal1603
Issue - The core issue was dumping the full image object (file paths, metadata, favourite status) into the browser devtools in production.
Steps to reproduce:
1 Open P...

balmy coral
#

Hey @marsh idol ! I’m working on a GSoC proposal for AOSSIE focused on improving SEO, discoverability, and social sharing across projects.

This would involve adding things like proper metadata (Open Graph, Twitter Cards), structured data (JSON-LD), sitemap/robots setup, and optional integrations like SocialShareButton and a lightweight engagement prompt system.

Before finalising my proposal, I wanted to check — would you be open to SEO-related improvements and PRs for your Pictopy Website?

Happy to share more details or tailor changes to your codebase if needed.

pseudo quail
#

Hi @marsh idol , I’ve commented on this issue about the navbar shifting during gallery reload/empty state
https://github.com/AOSSIE-Org/PictoPy/issues/962

I can reproduce it and would like to work on fixing the layout stability

Could you please take a look and assign it to me?

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Description The Top Nav Bar (search/profile area) shifts unexpectedly during reloads or when the gallery is e...

north lion
#

@marsh idol when are we planning to have a meet again?

echo gust
#

Hey @marsh idol, Does the final proposal get Evaluated via the Google Doc? Google Form? or the pdf on the official GSoC portal?

marsh idol
marsh idol
near glen
#

Hey @marsh idol , I have submitted a PR(#1253) for validating empty space , blanks or white-space only strings . Just wanted to confirm if it’s okay to move on to my next PR or if I should wait.
https://github.com/AOSSIE-Org/PictoPy/pull/1253

GitHub

Addressed Issues:
None (no existing issue linked; this PR improves input validation)

Screenshots/Recordings:
Not applicable (backend validation change)

Additional Notes:
Adds validation to ImageI...

marsh idol
#

@everyone Reminder to submit your proposal before the deadline today!

north lion
real gale
real gale
#

Hi everyone,
||cc: @marsh wyvern, @marsh idol, @supple zealot, @knotty shore, @bitter wind||
Hope you're all doing well.

Since things are a bit quieter until the 30th, I wanted to contribute in a slightly different and creative way.
I had an idea for a short promotional video that showcases a real-world use case for PictoPy, almost like an advertisement for when the next major version goes into production.

The concept is simple:
A photographer comes back from a shoot with hundreds of photos and videos. They transfer everything to their laptop and then realize they now have to spend a lot of time manually sorting and organizing all the files.
Instead, they open PictoPy, enable AI tagging, and within moments everything is automatically organized.

Before sharing this idea publicly, I put together a quick prototype to see how it might feel in practice, and honestly, I think it has potential. You can check out the prototype here:
https://drive.google.com/file/d/1G3bMNIbzyummA8cLSLOQWCr32rWKxtJ5/view?usp=sharing

I would really appreciate feedback from the community, the mentors, and admins,

A few things I would especially love feedback on:

  • Does the video prototype clearly showcases the “photographer comes back from a shoot and has to manually sort everything” problem part?
  • Are there any scenes or clips that could be shown in a better or more understandable way?
  • Any ideas on how to make the pain point feel more obvious or relatable?

Would love to collectively brainstorm and hear what everyone thinks.

worthy gale
# real gale Hi everyone, ||cc: <@369000194630746113>, <@691646844425469952>, <@4585941958889...

Hi @real gale ,

Great efforts, I feel you can make a great video out of this. Some of my suggestions would be to use motion typography and add transition effects when switching scenes and clips. Your vision has a lot of potential and only need proper care and polish to become incredible.

The message scene,
colour grading of your video,
and the in between typography (Avoiding too much text at once and putting small interactive text once and then showing visuals)

real gale
# worthy gale Hi <@812032267123556383> , Great efforts, I feel you can make a great video out...

Yes, motion typography is definitely something I have in mind. One of my main concerns, though, is figuring out where and how to include it without ending up recreating something too similar to what we did last time. ||Please refer to this for context: https://www.youtube.com/watch?v=RWp-9xT9jow||

It would also be really helpful if you could share references from other videos online, whether from YouTube, Pinterest, or similar platforms, sharing your idea more effectively.

For the next few sequences as well, I’d love your input on what text should appear on screen and what wording would work best. Simple, easy for users to understand.

And yes, the color grading will happen once we’ve collectively locked the scenes.

distant thorn
#

looking too old now /s

real gale
real gale
#

Hi Rahul sir,
I was revamping the README file when I remembered the Database Architecture inside docs/backend/backend_python/database.md doesn't correctly render the diagram.

#

So I was thinking, if I can fix this and add it to the upcoming README revamp PR itself... The fix would be rendering an SVG file instead using the <iframe> tag 👇

real gale
#

Hi community and @marsh idol
Is this architecture easy and clear to understand?

#

||And correct*? 😅||

north lion
near glen
#

Hi @radiant mauve , @marsh idol , @real gale I had previously worked on this https://github.com/AOSSIE-Org/PictoPy/issues/1254 validation fix and opened a PR, but I realize now I should have requested assignment first. Since this issue is now created, could I be assigned to it so I can reopen/update my existing PR accordingly? Happy to make any changes as per review. Thanks!

GitHub

Is there an existing issue for this? I have searched the existing issues What happened? Currently, the ImageIdsRequest schema allows empty lists or lists containing only whitespace strings (e.g., [...

real gale
#

The architecture should keep updating only once the feature is implemented, shouldn't it?

north lion
real gale
# near glen Am I missing something ?

Hey @near glen, I was tagged as well and sorry I didn’t respond, but I’m not in a position to assign issues since I’m also just a contributor here.

In general, it’s always a good idea to request assignment before starting work or opening a PR.

frank quest
#

Hey everyone, and @marsh idol @real gale 👋

@real gale I really appreciate your current work in the docs area meanwhile we have progress on summer of code.
While reading through your PR, I remembered the image processing flow diagram I had shared earlier. I feel like this would fit in nicely now and make the workflow a lot easier to grasp for new contributors.
Also I noticed that the issues with the special admonition boxes (like fun fact, tip, etc.) are still there which I had actually fixed some of these locally already.

So I went ahead and opened an issue to bundle both things together:
https://github.com/AOSSIE-Org/PictoPy/issues/1259
Let me know what you think 🙂

GitHub

What's wrong with the existing documentation Improve README with Visual Flow Diagram & Admonition Fixes What's missing / needs improvement The current README lacks a clear visual repres...

marsh idol
#

Congratulations @real gale

Welcome to GSoC 2026 program 😃

real gale
north lion
#

congrats rohan

lunar pivot
real gale
#

Thank you @north lion @lunar pivot 😄

distant thorn
#

you got selected

#

congrats

real gale
real gale
wet lion
#

Very Bery congrats @real gale

wet lion
frank quest
tall bone
#

Congratulations @real gale , i knew you are going for this one bro

marsh idol
#

Congratulations to @distant thorn for getting selected at KDE.

Also Congratulations to @tall bone @wet lion

You guys deserved this.

real gale
#

Congratulations! To all of you @wet lion @tall bone @distant thorn

jolly garden
#

Congratulations @real gale 🚀

crude prismBOT
#

@jolly garden You are now level 11! :confetti_ball:

real gale
#

Thank you so much @frank quest and @tall bone

distant thorn
#

where can i see all the student-2026 role members?

distant thorn
#

i haven't noticed

narrow tendon
#

Congratulations @real gale bro

real gale
wet lion
#

Same bro, congratulations to all, @distant thorn @tall bone

real gale
#

Hi @marsh idol, in order to discuss the scope of the upcoming GSoC work and go over a few implementation ideas outlined in the proposal, I’d like to invite you and any other contributors who are interested to join for a quick meeting in #1345795402682859561 today at 10 PM IST. Similar to the previously followed weekly meeting sync format, having meetings whenever there are specific points to align upon.

crude prismBOT
#

@real gale You are now level 25! :confetti_ball:

marsh idol
real gale
#

The Meeting Summary notes have been updated, please find them here

frank quest
#

Hey everyone
My apologies , I could not join today's meeting due to some sudden high priority task .
Actually I am really keen to know in some more detail about what Rohan is planning for pictopy for this year,thus if it aligns with AOSSIE’s terms @marsh idol and Rohan is comfortable sharing, could you please share the proposal with us please, It would really help everyone get a clearer idea of the direction and upcoming plans for this project.

frank quest
marsh idol
#

@real gale Can you please check if you received invite from AOSSIE on mail?

#

for repo access.

real gale
real gale
#

Hi @marsh idol,
As a prerequisite to Application Size Optimization we'll have to create a separate release for all the models.
The YOLOv11 Nano object detection ONNX file can be sourced directly from the upstream Ultralytics v8.3.0 release assets, where it is already published as a pre-built ONNX with a verified checksum. All other models (Small and Medium object detection variants, all face detection variants, and FaceNet) are not published as ONNX by Ultralytics. As a one-time setup step, we will have to export the Small and Medium ONNX (which we already have) and upload all these ONNX format models as assets on a pinned PictoPy GitHub release tag (models-v1.0). The Ultralytics library is Apache 2.0 licensed, so redistribution of exported files is permitted. This tag will be kept separate from app release tags so model URLs remain stable across app updates.

#

Other than that, I have opened this issue on GitHub which lists down all the steps involved for the complete App Size Optimization technique enlisted in the proposal: https://github.com/AOSSIE-Org/PictoPy/issues/1260 Please feel free to review and suggest changes.

real gale
#

@slow ravine I believe you're the author of this issue?

real gale
#

Hey @tall bone, you had opened quite a few issues for PictoPy back in Jan. Are you still willing to work on them, or should I leave them unassigned for now so others can pick them up if interested?

tulip monolith
real gale
real gale
real gale
#

Hey @marsh idol,

As part of the upcoming App Size Optimization PR, I’m planning to remove the job in build-and-release.yml that currently bundles PictoPy with all models. So going forward, installing the models during the onboarding step will be the only way. I.e, we’ll no longer support distributing the 300MB+ PictoPy variants with prepackaged models.

Do you agree with this direction? Or should we continue providing release artifacts that include the ONNX models as well??

marsh idol
real gale
# marsh idol Only release the minimal version

I'm almost done with the app size optimization PR. And currently am reviewing everything and going through potential issues and bugs before opening the PR, which should probably happen sometime in the next 12 hours.

A few things I wanted to mention... A 4th onboarding step has been added called "AIModelSetupStep". This step:

  1. Recommends the best compatible YOLO model variant for the user.
  2. Checks both the device RAM and available ONNX Runtime execution providers. There’s one part related to this that I’d like to discuss with you.
  3. Still allows the user to manually change the selected variant if they want to.
  4. Once everything is finalized within this step, the installation of the models starts, fetching the models from the repo's "Core AI Models" release.

This "AIModelSetupStep" component will eventually be complemented by a Model Manager window in Settings for installing and managing additional models later on.

crude prismBOT
#

@real gale You are now level 26! :confetti_ball:

real gale
# real gale I'm almost done with the app size optimization PR. And currently am reviewing ev...

Uhh... hi, nevermind about the (2) ONNX Runtime execution provider concern I mentioned earlier. Actually, I was initially implementing "directly relying on execution providers for model recommendation" (as mentioned in point 2), but that would've required installing onnxruntime-gpu, which is significantly larger than the normal onnxruntime package and would've pretty much defeated the purpose of the entire app size optimization effort.

So instead, I looked into how the existing GPU acceleration flow was already implemented (especially the DirectML setup) and took inspiration from that approach. The recommendation logic is now separated from runtime provider detection itself. Rather than forcing heavyweight GPU runtime dependencies globally just to detect accelerated providers, the recommendation system now focuses more on actual hardware capability signals, while runtime execution/provider selection remains independent as it was.

real gale
marsh idol
#

Great job!

marsh idol
#

Also, while merging PRs, always do squash and merge, it keeps the commit history linear and clean.

real gale
#

But turned out, to make sure the application correctly detects if a user can run the CUDAExecutorProvider, we’d have to change the onnxruntime package into onnxruntime-gpu which is 1GB+ (while the onnxruntime package is 10x lesser)

#

Adding the onnxruntime-gpu package would have completely defeated the target of size optimisation

#

So instead, the recommendation system now simply detect if there is a GPU present… if yes, it recommends the YOLO medium variant, if no, we fall back to Ram size detection: less than 4GB = Nano variant gets recommended, less than 8GB = Small variant gets recommended, more than 8GB = Medium variant

#

And since GPU acceleration toggle inside settings page already supports power users using direct ML, that part is as is and sorted

real gale
#

@marsh idol What's the difference between releaseName and tagName in github actions??

#

I mean, Google says "In GitHub Actions, tagName refers to the immutable Git reference that marks a specific point in your history, while releaseName is a GitHub-specific label for the user-facing release package."
Do I need to add a releaseName variable within the release-and-build.yml workflow? Or should I not touch the release logic there at all?

marsh idol
#

I think release name can be edited

#

So once release pipeline is completed, we can edit the release name and publish it

#

Try to complete these asap. We planned a release back in Jan, but i couldn't actively participate since then 😅

real gale
real gale
#

I've opened the PR!
Tested everything works properly on Windows. You can find the test release here ||Praying nothing breaks in the main branch||

frank quest
#

Hi @real gale ,Are we having the weekly meet today?

crude prismBOT
#

@frank quest You are now level 8! :confetti_ball:

real gale
#

Hey everyone, we'll be having a quick sync meet today at 11:30pm IST in #1345795402682859561

real gale
marsh idol
#

@real gale

Can you check if your timline is now 20 weeks?

#

On GSoC dashboard?

marsh idol
#

Oh

#

Is it fine? Or should I ask Bruno to reduce it?

real gale
#

I meannnnnn
Doesn't hurt to have two extra weeks just in case 😅

#

It's fine

frank quest
#

Hi @real gale ,
just a heads up, while testing the release on windows, I noticed that the pictopy server binary sometimes keeps running even after the app is closed.
It seems pretty random right now, but I’m trying to get to the root cause.
||To reproduce: keep an eye on the Task Manager after closing the app and check if the server process is still alive.||

marsh idol
#

Let's meet at 9 PM @real gale @frank quest

real gale
supple zealot
#

There's a problem from my side, ig, can't allow mic on mobile for discord.

supple zealot
supple zealot
# marsh idol Also, while merging PRs, always do squash and merge, it keeps the commit history...

But it’s better not to squash, for debugging, it’ll be easier to pinpoint exactly where things went wrong from upstream instead of forks for collaborators.

Some more things I noticed:

For Linux targets, we should go with Flatpak instead of .deb.

Also, this might be a bit naive since I was disconnected for some time: Are we planning to completely get rid of the DB, since we’re storing processed info as metadata or in the file itself? I think that would be a good move, and we could just have a memory cache created in detached mode when the app starts for faster access than the current DB.

marsh idol
#

pre-commit run --config ../.pre-commit-config.yaml --all-files

marsh idol
#

@real gale
Please update the meeting notes.

crude prismBOT
#

@marsh idol You are now level 37! :confetti_ball:

marsh idol
#

The meeting resources are in the pinned messages. If anyone wants to have a look, they can.

real gale
#

@marsh idol I’ve updated the PR with yesterday’s discussed changes. The merge is good to go now! :)

marsh idol
#

I have rebased and merged

distant thorn
distant thorn
marsh idol
frank quest
#

hey @real gale
Can you please help me to identify the cause of why this is happening, I saw you had similar failures in your workflow runs as well

real gale
frank quest
#

this is for the windows publishing

real gale
# frank quest this is for the windows publishing

Ah missing key. The build and release workflow contains a signed secret key requirement that you’ll need to remove for testing purposes for the time being in your fork. This signed key can only be provided in the official repo.

#

Just remove the secret key line from the workflow, that is the work round.

frank quest
crude prismBOT
#

@frank quest You are now level 10! :confetti_ball:

real gale
#

You've corrected commented the private keys, also change createUpdaterArtifacts to false like in the image below

#

And in case you see a "releaseName" not set but required to create release. error, you might also need to add releaseName: ${{ github.event.release.name || github.event.inputs.tag }} in .github/workflows/build-and-release.yml

frank quest
#

Finally!!!... Had to follow all steps including the releaseName step, and finally got a release.
Thank you Rohan for your help for this issue

real gale
#

Anytime Akshaj!

marsh idol
#

@real gale have you created the builds for the release after your PR was merged?

real gale
marsh idol
#

ok

#

please let me know the approach for this in tomorrow's meet.

supple zealot
#

Note that we need to find a way to identify corrupted EXIF/metadata so that those files are reprocessed instead of getting skipped.

Given we are removing the db

marsh idol
#

As discussed in the last meet, we will meet on 21st.

kindred shale
# marsh idol As discussed in the last meet, we will meet on 21st.

Hey Rahul , I made a couple of contributions for Pictopy a while back right around the GSoC rush. I know the codebase has moved forward a lot since then, but I’m still very keen on contributing to the project so
I wanted to ask, is development for Pictopy currently reserved strictly for the selected GSoC contributors right now, or are non-GSoC community members welcome to pick up tasks and submit PRs?

tall bone
#

Hey, @marsh idol @real gale I would recommend that you review my PRs done in the contribution phase, as they will soon have merge conflicts and all

https://github.com/AOSSIE-Org/PictoPy/pull/967
http://github.com/AOSSIE-Org/PictoPy/pull/990

GitHub

Fixes #905
Relevant Changes

Made backend handler for detecting duplicate images
Made backend handler for detecting best shot out of duplicates
Made a duplicates page in frontend to show duplicates...

GitHub

Closes #904
Changes done

Added face encodings of 1000 celebrities
Implemented celebrity detection
Marks a cluster with name of celebrity if a celebrity is detected in that cluster

Why second comm...

crude prismBOT
#

@tall bone You are now level 17! :confetti_ball:

tall bone
marsh idol
#

Let's keep the meet tomorrow, I am a little busy today due to work.

frank quest
#

Meanwhile, @real gale .. are you working on writing tests for the new api's, since you mentioned the tests needs to be written?
If not I can volunteer in it , as per your permissions and your proposal rules

marsh idol
#

If Rohan is working on something else, then please take it up. It will be a great help.

real gale
#

Here’s a list of the API calls currently integrated with the new model additions. This should give you a clearer overview of the available APIs and their implementation details for covering the main tests and possible edge cases. Just download the file and import it into your preferred API testing tool.

Since Postman’s suddently become restrictive with their new pricings, I ended up building these tests in Hoppscotch after discussing with Rahul. Unfortunately, Hoppscotch doesn’t currently support generating a shareable web link for an entire request collection, so we’ll probably need to explore a better free and open-source alternative for sharing and collaboration.

#

Please open an issue so that I can assign it to you

frank quest
frank quest
kindred shale
#

@marsh wyvern Sorry for posting it in the wrong group , so I'll post it here too as requested
To be honest, it’s been a little disheartening on my side because I’ve been trying to contribute to Pictopy for about a month now, but I haven’t really been getting responses regarding issue assignments on GitHub, and I haven’t gotten replies in the project Discord channel either. I also had a PR for an issue I created closed, so I’m a bit confused about the preferred process for contributors there.
Is there somewhere better I should ask before starting work on issues?

real gale
# kindred shale <@369000194630746113> Sorry for posting it in the wrong group , so I'll post it...

Hi @kindred shale, I'm sorry if the experience felt confusing.
Just to clarify a few things regarding the workflow for contributions:

  • Non GSoC contributors are absolutely welcome to contribute.
  • However, we do follow an issue-assignment workflow before PRs are opened, mainly to avoid duplicate work and overlapping/unplanned implementations.
  • There’s also an automated comment posted on newly opened issues requesting contributors to wait for assignment/reviewer confirmation before opening a PR.

From what I can see, the PRs that were closed earlier were opened before assignment/approval, which is why the triage team closed them at the time. 🫠

real gale
real gale
real gale
#

Hi @wild rampart, I recently merged one of your PRs about Potential Duplicate Issue Matching and Commenting. I noticed that it’s currently identifying the newly created issue itself as a duplicate and also adding the possible-duplicate label to it.

Could you update the logic so the “New issue” isn’t included in the semantic matching process and open a new PR for it?

eternal solstice
wild rampart
marsh idol
#

Let's keep the meet at 8:30pm.
Is it fine @supple zealot @real gale @frank quest ?

marsh idol
frank quest
marsh idol
#

Let's do one thing, on weekends i am mostly with my friends during the night. Is it fine if we schedule the call in the evening? Like 5-6 pm?

#

If so lets meet tomorrow at 5:30 pm

frank quest
real gale
kindred shale
real gale
#

Today’s meeting summary has been updated in the Google Docs file and can be found in the pinned messages.

marsh idol
#

@frank quest please ask Bruno about the AUR publishing

#

Also if you want you can take up old PRs and resolve conflicts in your branch and then make another PR.

supple zealot
frank quest
#

Hi @supple zealot sir ,
I do think Flathub is definitely worth it and we should pursue on working for it ,
But at the same time I think we can be more flexible so that we are able to provide the easiest ways of setting up the application at the user's end.
Tauri already gives us multiple distribution options, so I think adding an AUR package on top of that has very low additional maintenance cost ||(a PKGBUILD is ~20 lines of initial working code and version bumps ).||
Also in my own personal opjnion , experience along with the feedback from a few discussions as well , a majority of people on specifically arch based distros prefer downloading ftom AUR/pacman than using flatpak.

I'd be happy to hear your thoughts on this sir.

frank quest
frank quest
frank quest
#

Hello PictoPy community,
I’m happy to share that PictoPy can now be built and used on Arch-based distributions as well! 🎉
Thus, I would like all of you who use Arch based distributions, to come forward and test the PKGBUILD on your devices as well.
So that we are completely sure that it can be put into officially rolled as release by the admins.
Installation Steps:

  1. Download both of these files attached (PKGBUILD and pictopy-bin.install) into the same directory
  2. From inside that directory run the command makepkg -si
  3. There will be a confirmation prompt once the file is downloaded, select Yes on that.
    That’s it, if everything works correctly installation should now be complete!

Your feedback is really valuable to us. If you run into any issues or have suggestions, please don’t hesitate to share them. We’ll be happy to help and improve the experience together.
Thanks in advance for your support! 🙌
@distant thorn , I would request you as well to please come and give your feedback on this.

supple zealot
frank quest
#

Hey @marsh wyvern , hope you're doing well! 👋
I am glad to let you know that after my recent PR merge, PictoPy can now be successfully distributed on Arch based Linux distributions as well. However to go in production it requires some initial steps.

GitHub

Addressed Issues:
Fixes #946
Screenshots/Recordings:
Tested on Endeavour OS (Arch-based). App installs and runs correctly via makepkg -si — all three services start, desktop entry and icons show up...

#

I've built a GitHub Actions workflow that automatically publishes PictoPy to AUR whenever a new release goes out. I just need some help with the setup before it can actually run.
To push to AUR, the workflow needs to authenticate with an AUR account. That means we need an AUR account that owns the pictopy-bin package, and we need to store its credentials as GitHub secrets so the workflow can use them.

marsh idol
frank quest
#

Option 1 — You can handle the setup

Here's what needs to be done:

  1. Create an AUR account: https://aur.archlinux.org/register
  2. Go to https://aur.archlinux.org/packages/pictopy-bin and adopt package,this makes us the owner of PictoPy on AUR
  3. Generate an SSH key pair and register it on the AUR account full steps here: ||https://wiki.archlinux.org/title/AUR_submission_guidelines#Authentication||
  4. Add the following secrets to the PictoPy GitHub repo:
    • AUR_USERNAME → the AUR account username
    • AUR_EMAIL → the AUR account email
    • AUR_SSH_PRIVATE_KEY → the private key generated in step 3
      That's it ! the workflow will handle everything from there automatically.
#

Option 2 — I handle the setup and transfer ownership later
I can do all of it myself first:

  1. I adopt the package under my own AUR account
  2. I set up the credentials and get the workflow running and tested on my fork
  3. Once it's verified working, you can create an AUR account
  4. I transfer ownership of the package to that account
  5. You generate a new ssh key pair, add it to your AUR account, and updates the 3 GitHub secrets their own credentials
    The only thing you'd need to do in this option is step 5 at the end
#

Let me know what you think on this sir !!

real gale
#

@marsh idol bhaiya was the check for updates feature working in the prior release?

real gale
#

Okay, it checks for the latest release on GitHub releases?

real gale
#

@marsh idol Can I add a new GlobalAlert for small/lightweight user notifications, for in the case of the upcoming quality gate in the Adaptive Density-Aware Face Clustering issue, or should I prioritize the existing InfoDialog implementation first?

Because the system will be skipping those faces that lie below a certain clarity threshold of images, so that FaceNet does not hallucinate. PFA the flow for reference:

crude prismBOT
#

@real gale You are now level 28! :confetti_ball:

marsh idol
#

I did not get that

real gale
#

So once the system skips X images due to poor quality, it would essentially notify the user that “X images were skipped during clustering.”

This step is not strictly required... we could also keep the rejected images silent. But if we do decide to inform the user, though I personally don’t think it’s significant enough to warrant a full screen InfoDialog popup.

marsh idol
marsh idol
#

Yes

uneven crystal
real gale
distant thorn
#

finally

#

great job akshaj

distant thorn
uneven crystal
frank quest
frank quest
#

@real gale , I was fixing some silly bug in my previous PR when I ran the command npx prettier . --write from the root of the repository and it formatted a lot of files say around 13-14 , is it worth a PR or should I cancel those changes?

crude prismBOT
#

@frank quest You are now level 12! :confetti_ball:

frank quest
real gale
tall bone
#

Hey @real gale since v1.1.0 is released, can you update this https://aossie.org/projects/pictopy for pictopy.

uneven crystal
still fulcrum
real gale
real gale
#

So that I can merge the PR soon?

real gale
still fulcrum
frank quest
#

Hi @real gale ,
3 PRs of mine are ready for review. I would request you to please take some time to review them accordingly.
https://github.com/AOSSIE-Org/PictoPy/pull/1291

https://github.com/AOSSIE-Org/PictoPy/pull/1285

https://github.com/AOSSIE-Org/PictoPy/pull/1284

GitHub

Addressed Issues:
Fixes Issue
#942
Fixes Conflicted PR
#1116
Screenshots/Recordings:
NA
Additional Notes:
NA
AI Usage Disclosure:
We encourage contributors to use AI tools responsibly when creating...

GitHub

Addressed Issues:
Fixes Issue : #592
merge conflicted PR : #1158
Screenshots/Recordings:
NA
Additional Notes:
NA
AI Usage Disclosure:
We encourage contributors to use AI tools responsibly when cre...

GitHub

Summary
Repo-wide prettier formatting pass and bug fixes from the previous PR.#1268
Description

Ran npx prettier . --write across the entire repo to enforce consistent code style
Removed the v pre...

real gale
#

Hey guys, does anywhere here operate on a MacOS?

distant thorn
real gale
# distant thorn rahul

I need help testing an upcoming implementation for PictoPy aarch64 builds. It‘d be difficult for him to actively participate in this testing on weekdays.

sick yarrow
real gale
# sick yarrow what will I need to do?

In one of the latest PRs, we implemented the AI model-based app size optimization feature, which recommends models based on the user’s hardware configuration.

We first checked for GPU availability and fell back to RAM size in case no dedicated GPU was detected. But MacOS doesn't expose GPUs in the same way.

So, Rahul suggested improving model recommendations for Apple Silicon devices by

  • Detecting processor type (M1, M3 Pro, M4 Pro, etc.)
  • Recommending stronger models for higher-end Apple chips even without dedicated GPUs.

I’ve implemented this enhancement and opened a separate branch for it, you may access it here.

I simply need help in testing whether Apple's chips (M1/M2/Pro or Max variants) are getting detected correctly for MacOS,
and that the application is recommending appropriate AI models based on the detected chip

#

After cloning the repo:

# Add my fork as a remote
git remote add rohan https://github.com/rohan-pandeyy/PictoPy.git

# Fetch branches from my fork
git fetch rohan

# Switch to the feature branch
git checkout -b feat/model-tier-recommendation-for-apple-silicon rohan/feat/model-tier-recommendation-for-apple-silicon
#

Kindly ping me if you walk into any issues while setting up or testing.

jaunty smelt
#

Hey @real gale , I also have a mac. Let me know if you want me to test as well!

real gale
silk dawn
#

@real gale i need to test the frontend and backend right? as per the documentation?

real gale
#

The fourth on boarding step install the models.

crude prismBOT
#

@silk dawn You are now level 9! :confetti_ball:

real gale
#

After cloning the repository, run the backend, the sync microservices, and frontend in three different terminals.

When you reach the fourth onboarding page, could you please share a screenshot?

silk dawn
#

alright

#

just to be sure, are you talking about this?

real gale
# silk dawn

Yes, you can follow the set up guides as well.

silk dawn
#

alright

#

@real gale

#

i use M4 air btw, i think it is recommending me stronger models

real gale
real gale
real gale
#

I’ll look into it, thank you

silk dawn
#

yepp , no problem , let me know if u need any other help!

real gale
silk dawn
#

Alrightt, will do it and let you know

crude prismBOT
#

@silk dawn You are now level 10! :confetti_ball:

supple zealot
#

I think this will bottleneck the dev phase if someone else is developing while someone else is testing.

What if Rohan only focuses on x86 for now, and someone else with an M‑series device finds the solution for detecting the M variant or whichever other platform‑related info is needed, separately as a module per requirement, and we just import from it?

Also, wouldn’t it be simpler to have a static recommendation with a spec hint and let the user choose? For dynamic recommendations, we’d need to keep up with proprietary standard changes and upcoming chips. Just a thought

<@&1235894000192327690>

real gale
supple zealot
#

got it

real gale
#

This… I implemented… considering the fact that from now onwards, chips would only get stronger and they‘d easily be able to process the medium variant.

Soo:
The M1/M2 base -> small, everything else (apple silicon) -> medium

silk dawn
#

It is saved in the cache or localstorage , ill try to clear it

#

I pulled the changes from github

#

I tried clearing the localstorage , i get the on boarding now , but i the page 4 is skipped , after page 3 it directly loads the dashboard :(

frank quest
silk dawn
#

Alrightt

#

@real gale

real gale
#

Thank you for your time @silk dawn
And thanks for covering up for me @frank quest

sick yarrow
#

@real gale do you still need me to test pictopy? or you got what you needed?

real gale
real gale
#

Hey @marsh idol, could you please take a look at these frontend test suites and merge the PR when convenient later today?
https://github.com/AOSSIE-Org/PictoPy/pull/1056
The PR adds 6 component level tests and 2 page level tests, covering both smoke and sanity testing. Merging it will unblock the upcoming frontend changes and the addition of their corresponding test suites as well.

real gale
#

Hi y’all,
This is a reminder for the weekly sync meeting, happening today at 2:30 PM IST in #1345795402682859561

real gale
#

Hi @narrow tendon can you please join this meeting, let's discuss the Face Name, Date, and Event Search PR #579

marsh idol
real gale
obtuse hatch
marsh idol
#

https://github.com/AOSSIE-Org/PictoPy/pull/1116

@obtuse hatch I think this PR already has the required code for issue 942, so you can just take the code from there and open your own PR. because this PR has merge conflicts.

GitHub

Fixes: #942

Toggle button in sidebar footer with smooth rotation animation
Sidebar state persists across app restarts using localStorage
Smooth 300ms transitions for all sidebar animations
Footer ...

#

wait

#

I think akshaj has already resolved the conflicts

frank quest
marsh idol
#

so @obtuse hatch please only work on the issue 817

narrow tendon
#

but i can talk with you whenever you are free in discord

real gale
real gale
#

Let me know if that's okay with you

uneven crystal
obtuse hatch
real gale
#

cc/ @marsh idol @supple zealot

marsh wyvern
#

@real gale @marsh idol @supple zealot , note that the example screenshots are saying "Person abc & Person de", but the search results seem to be showing an or of both persons...

An "and" should show only photos that contain both faces. An "or" should show photos that contain any face.

#

In principle, we could consider any boolean expression when filtering.

For example: "(Alice and Bob) or Charlie"

real gale
real gale
# real gale
poll_question_text

Hey everyone! I'm currently working on one of the proposed implementations regarding support for searching multiple faces at once in AI Tagging, and we have two possible navigation designs. I wanted to drop in a poll for which approach feels more natural and intuitive.

victor_answer_votes

3

total_votes

3

victor_answer_id

2

victor_answer_text

Inline Filtered View

victor_answer_emoji_name

🇧

real gale
marsh wyvern
#

The images did not load for me.

real gale
real gale
uneven crystal
#

Ok @real gale

obtuse hatch
obtuse hatch
#

@real gale what is the time of the meeting??

marsh idol
#

@real gale

Did you research about the flatpak packaging?

real gale
#

I was able to package tauri into flatpak, but we might run into some difficulty with tauri sidecar, filesystem, model related compatibility

real gale
marsh idol
marsh idol
real gale
real gale
#

@marsh idol, your concern regarding the Chronological view and Ranked view in Multi person search was very valid... something I mistakenly overlooked.
The gallery's date grouping overwrites the ranking system, and a weaker match from a newer date floats above a stronger match from an older date. The ranking system only had any effect when two matched photos happen to fall in the same month... which was the case with the dataset I was testing it with, so this ended up slipping through the gaps ||💔||

#

I'm a bit torn between which behavior should be taken up...
Should the Chronological view continue to prioritize date grouping, or vice versa?

#

ie should the ranking score take precedence, regardless of when the photo was taken?

real gale
real gale
#

@marsh idol Here's how it looks when a user clicks on "Recluster Faces" and X number of embeddings are currupted.

marsh idol
#

until then,just display sorted results

#

and in the date based grouping, they should be sorted according to the ranks inside a particular month