Skip to main content

Introduktion

Innan du dyker in i utvecklingen hoppas vi att du förstår följande:
  • Overleaf utvecklas officiellt i ett internt repository, och community-utgåvan publiceras i overleaf/overleaf. En copybot ansvarar för att synkronisera kod mellan det interna och det publika repositoryt.
  • Ayaka-notes/overleaf-pro är en fork av Overleaf Community. Vi hoppas att projektet ska bli långlivat, så följ reglerna innan du bidrar.

Regler för commits

  • Gör inga omfattande ändringar i den befintliga Overleaf-koden. Samla så mycket funktionalitet som möjligt i mappen services/web/modules. Det minimerar vårt arbete när vi senare slår ihop och uppdaterar koden.
  • Vibe coding är visserligen ett mycket enkelt arbetssätt, men det kan lätt röra till projektet och göra det svårt att underhålla senare, så använd det med försiktighet.
  • Lägg inte till något översättningsrelaterat innehåll under utvecklingen; använd befintliga översättningar när det är möjligt.
  • Undvik att införa miljövariabler om det inte är absolut nödvändigt. Om det krävs, se till att de är så konsekventa som möjligt med dem i Overleaf Toolkit eller docs.overleaf.com.

Regler för grenar

Vi använder följande grenar för utvecklingen av overleaf-pro:
  • main: Den här grenen används endast för synkronisering av upstream-kod, så committa INTE några externa ändringar. I den här grenen sätter vi taggar som ce-v[X.x.x], vilket anger att den motsvarar v[X.x.x] i Overleafs officiella Community Edition. Obs: den här taggen är oföränderlig!
  • server-pro: Den här grenen är standardgrenen för den dagliga utvecklingen.
  • feature-X: Den här grenen används för utveckling av en specifik funktion.
  • release-vX.0.0: Grenen som är specifik för en release; vi gör vissa snabbkorrigeringar (hot-fix) före releasen.

Grenregler för Overleaf Pro

GitHub Action

GitHub Action ansvarar för automatisk CI/CD, vilket omfattar:
  • Nattlig uppdatering av main-grenen
  • Bygge av Docker-image för utveckling
  • Release av Docker-image

Frågor och svar

Först behöver du hämta Docker-imagen och köra följande kommando för att inspektera etiketterna i den:
bash
Sedan kan du kontrollera om commit(b0d05c0) finns i upstreams master-gren.
Detta är förväntat beteende. Version 6.0.1 är en mindre patch-release som bygger på 6.0.0-imagen. Ändringarna tillämpas genom att patcha den befintliga 6.0.0-imagen i stället för att bygga om imagen från en ny commit. Därför är commit-hashen i imagen identisk mellan 6.0.0 och 6.0.1.Mer information finns i hotfix.
Senast ändrad 4 oktober 2026