Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
83 commits
Select commit Hold shift + click to select a range
d494e24
execution toggle
mariusandra Sep 7, 2025
f41d2e2
deploy scenes.json
mariusandra Sep 7, 2025
1bb409e
bootstrap rendering interpreted scenes
mariusandra Sep 10, 2025
d034982
some clarity
mariusandra Sep 10, 2025
4da6e83
gradient
mariusandra Sep 12, 2025
7f4f255
e2e tests for both scene types
mariusandra Sep 13, 2025
36ca1b0
data gradient
mariusandra Sep 13, 2025
c2fce88
values
mariusandra Sep 15, 2025
19bd1f0
app exports
mariusandra Sep 15, 2025
3ae5c83
tag'em
mariusandra Sep 21, 2025
4bb356e
works with a gradient
mariusandra Sep 22, 2025
d4357d7
app loader basics
mariusandra Sep 24, 2025
2a785fc
app loaders
mariusandra Sep 24, 2025
c2bc241
some basic json interpretation
mariusandra Sep 25, 2025
9573cb1
more snap changes
mariusandra Sep 26, 2025
ee70676
log faster
mariusandra Sep 26, 2025
4d41291
less lazy
mariusandra Sep 26, 2025
5a9f226
python 3.12
mariusandra Sep 28, 2025
c1e5432
seq fields
mariusandra Sep 28, 2025
a648751
field nodes
mariusandra Sep 28, 2025
b735e09
all apps
mariusandra Sep 28, 2025
342bb3c
fix color defaults
mariusandra Sep 28, 2025
bbe2708
more working
mariusandra Sep 28, 2025
36cb5b1
state and scene nodes
mariusandra Sep 29, 2025
2135916
state works
mariusandra Sep 29, 2025
f8f04e9
basic caching
mariusandra Sep 29, 2025
a43f33e
actually evaluate some js
mariusandra Sep 30, 2025
a27debf
add submodule
mariusandra Oct 1, 2025
d8ffdac
subs
mariusandra Oct 1, 2025
aed078b
deploy quickjs
mariusandra Oct 1, 2025
838f9a0
add noise
mariusandra Oct 1, 2025
e506dd5
inline burrito instead
mariusandra Oct 2, 2025
7437c94
search for scenes
mariusandra Oct 2, 2025
207ab56
nix deploys work
mariusandra Oct 2, 2025
aae4c6c
this works
mariusandra Oct 3, 2025
cc2af6d
js types
mariusandra Oct 3, 2025
4d4812d
remove global vars
mariusandra Oct 3, 2025
ce75e67
float plus code node args
mariusandra Oct 3, 2025
c4a1ddb
better script
mariusandra Oct 3, 2025
9829a35
render as a function
mariusandra Oct 3, 2025
83948f1
cleanup
mariusandra Oct 3, 2025
f209c42
slight touchup
mariusandra Oct 3, 2025
fe78705
undef
mariusandra Oct 4, 2025
58df97c
dataNewImage
mariusandra Oct 4, 2025
433505d
split loop
mariusandra Oct 4, 2025
7d60f1f
all scens
mariusandra Oct 4, 2025
fe48ad2
no full redeploy if interpreted
mariusandra Oct 4, 2025
c492d0e
ts fix
mariusandra Oct 4, 2025
a43924d
upgrade pillow
mariusandra Oct 4, 2025
1687f46
build with quickjs
mariusandra Oct 4, 2025
f1f76d9
split in two
mariusandra Oct 4, 2025
3b8a6fe
chjanges
mariusandra Oct 4, 2025
42bef9b
refresh repos
mariusandra Oct 4, 2025
1b56f5b
enough for the xkcd scene
mariusandra Oct 4, 2025
6b7c916
dispatch
mariusandra Oct 4, 2025
c7de085
image url
mariusandra Oct 4, 2025
4d6e3ec
use the latest quickjs
mariusandra Oct 4, 2025
c9aea94
textarea focus scroll
mariusandra Oct 4, 2025
db0db0a
split js runtime
mariusandra Oct 4, 2025
c069f6e
fix
mariusandra Oct 4, 2025
4de9a28
tz
mariusandra Oct 4, 2025
3190cf3
tz fix
mariusandra Oct 5, 2025
1f0fa23
code node log output frontend
mariusandra Oct 5, 2025
eb1da18
log code node outputs
mariusandra Oct 5, 2025
808633d
a bit of frontend cleanup
mariusandra Oct 5, 2025
31e21a2
disable a bunch of logging
mariusandra Oct 5, 2025
a922a77
less noise
mariusandra Oct 5, 2025
1359831
Revert "use the latest quickjs"
mariusandra Oct 5, 2025
1dd041f
misc cleanup
mariusandra Oct 5, 2025
1bff5b9
take out the trash
mariusandra Oct 5, 2025
d275b0a
scene nodes work in all directions
mariusandra Oct 5, 2025
597718e
type fix
mariusandra Oct 5, 2025
633f760
fix color input
mariusandra Oct 5, 2025
271c978
use bg color for scene nodes
mariusandra Oct 5, 2025
e73bd82
show saved and unsaved states
mariusandra Oct 5, 2025
cf2932a
better differ
mariusandra Oct 5, 2025
95d60ba
fix panel bug
mariusandra Oct 5, 2025
5582a3c
parseJson
mariusandra Oct 5, 2025
11269fd
js
mariusandra Oct 5, 2025
b266fc1
js scene state
mariusandra Oct 5, 2025
a51a03e
remove modules
mariusandra Oct 5, 2025
0fb856d
misc cleanup
mariusandra Oct 5, 2025
f2572fa
fix
mariusandra Oct 5, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/docker-publish-multi.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
python-version: '3.12'

- name: Set up Node
uses: actions/setup-node@v2
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/e2e-docker.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ jobs:
steps:
- name: Check out repository
uses: actions/checkout@v3
with:
submodules: true # Fetch submodules

- name: Build Docker image
run: |
Expand Down
12 changes: 9 additions & 3 deletions .github/workflows/pull-request-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
python-version: '3.12'

- name: Cache pip packages
uses: actions/cache@v4
Expand All @@ -38,11 +38,17 @@ jobs:
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}

- name: FrameOS nim tests
- name: FrameOS nim build
run: |
cd frameos
nimble install -d
nimble setup
FRAMEOS_ROOT_DIR="." python3 ../e2e/makeapploaders.py
nimble build

- name: FrameOS nim tests
run: |
cd frameos
nimble test

- name: Visual regression tests
Expand Down Expand Up @@ -71,7 +77,7 @@ jobs:
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: '3.11'
python-version: '3.12'

- name: Install redis
run: sudo apt-get install -y redis-server
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ dist-ssr
# Nim
frameos/tmp/
e2e/tmp/
e2e/frameos/

gpt.txt
.env
Expand Down
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
## Prerequisites

You'll need to install:
Python >= 3.11
Python >= 3.12
`Node.js` and `npm`
`redis-server`
`nim >=2.0.0` (https://nim-lang.org/install.html)
Expand Down
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Use the official Python 3.11 image as the base
FROM python:3.11-slim-bullseye
# Use the official Python 3.12 image as the base
FROM python:3.12-slim-bullseye

# Set the working directory
WORKDIR /app
Expand Down
9 changes: 9 additions & 0 deletions backend/app/api/repositories.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,6 @@
import logging
import asyncio
from datetime import datetime, timedelta
from http import HTTPStatus
from fastapi import Depends, HTTPException
from sqlalchemy.exc import SQLAlchemyError
Expand Down Expand Up @@ -71,6 +73,13 @@ async def get_repositories(db: Session = Depends(get_db)):
db.commit()

repositories = db.query(Repository).all()

for r in repositories:
# if haven't refreshed in a day
if not r.last_updated_at or r.last_updated_at < datetime.utcnow() - timedelta(seconds=86400):
# schedule updates in the background
asyncio.create_task(r.update_templates())

return [r.to_dict() for r in repositories]
except SQLAlchemyError as e:
logging.error(f'Database error: {e}')
Expand Down
Loading