Šta je novo
Hronološki pregled novih funkcionalnosti, poboljšanja performansi i bezbednosnih ispravki. Objavljujemo često, i male stvari idu na ovu listu.
Sigurna izmena email adrese — industry-standard double-confirm
- NovoPromena email adrese sad ide po Stripe / GitHub patternu — pokrećete iz Podešavanja → Profil uz potvrdu trenutne lozinke. Sistem šalje dva odvojena linka: confirm na novu adresu i revoke notice na staru. Email se zaista menja tek kad potvrdite link sa nove adrese.
- BezbednostForensic blok u "vaš email se menja" notice mailu — IP adresa, približna lokacija (grad, država) iz lokalne GeoIP baze i precizan UTC timestamp. Cilj je da odmah znate da li ste vi pokrenuli izmenu.
- BezbednostPo potvrdi izmene, sve aktivne sesije na svim uređajima se automatski odjavljuju — mora se ponovo prijaviti svuda, sa novim email-om. Sprečava napadača koji je inicirao izmenu da zadrži sesiju kad email "pukne".
- Novo"Hitno promeni lozinku" dugme u notice mailu, pored "Otkaži promenu" — ako znate da niste vi pokrenuli izmenu, jednim klikom poništavate izmenu i pokrećete password reset.
- BezbednostPer-user security audit log — interno beležimo svaku osetljivu akciju (zatraženo / potvrđeno / poništeno / otkazano / ponovo poslato) za buduću "Sigurnost" stranicu i forensic potrebe.
Finansijski polish: paidBy na troškovima, default-i u formama, Settings split
- NovoTrošak — novo polje "Plaća" (Vlasnik / Agencija). Kad je vlasnik platio trošak, odbija se na ledger-u u njegovu korist; agencijska analitika ga ne broji svojom.
- NovoBoravišna taksa kao first-class polje na rezervaciji — automatski recompute na promenu broja noćenja ili gostiju, sa "Promeni ručno" toggle za izuzetke.
- NovoPer-platform default kanal-fee na nivou organizacije i per-property default cleaning fee — booking forma ih sama preuzme tako da ne morate svaki put kucati istu cifru.
- PoboljšanjeSettings podeljeni na "Nalog" (lični profil + sigurnost + notifikacije) i "Agencija" (organizaciono podešavanje + članovi tima + plan). Manji ekrani, jasnija struktura.
- PoboljšanjeMaster toggle za sve push notifikacije u Podešavanjima — jedan klik isključi/uključi sve, granularne preferencije ostaju.
- PoboljšanjeOWNER strana: paidBy filter na ledger-u (vidite samo troškove koje ste vi platili), itemizovani owner-plaćeni troškovi sa kategorijom i opisom, "Objasni" modal preveden na plain srpski.
- PoboljšanjeBooking validacija — broj noćenja mora odgovarati razmaku između check-in i check-out datuma (catch off-by-one greški). Trošak + zadatak se odvajaju od rezervacije ako rezervacija pređe na drugu nekretninu.
- IspravkaStabilniji billing state machine — TRIAL otkaz pravilno ide u EXPIRED stanje, plan-overflow check radi i posle subscription.created event-a, manualne pretplate ističu na kraju prepaid perioda, Paddle pretplata se otkaže pre brisanja organizacije (nema više "duh" naplata).
- IspravkafullName se odmah propagira na login i edit profila — sidebar i mobile bar se ažuriraju instant, bez refresh-a.
Sigurnost po ulogama, sesije ostaju kroz deploy (v2.7.x serija)
- BezbednostSTAFF i OWNER role su sad strogo read-only kroz sve write surface-e — ne mogu kreirati ni izmeniti rezervacije, troškove, zadatke ni nekretnine bez ADMIN/MANAGER potpisa. Multi-tenant E2E granični testovi pokrivaju sve rute (Sesija 3 Iter A i B).
- BezbednostMulti-mode finansijska regresija — locked fixture pokriva sve režime obračuna (PERCENTAGE, FIXED_RENT, FIXED_MONTHLY, SPLIT) tako da future cross-surface drift bude uhvaćen u CI (Sesija 4).
- PoboljšanjeViše se ne odjavljujete iz aplikacije pri svakom deploy-u — refresh tokeni preživljavaju nove release-e (osim u retkim slučajevima koji to stvarno zahtevaju). Veliki UX win za sve koji su navikli da se "nešto čudno desi" pri ažuriranju.
- NovoBooking override toggle — polje "ručno menjaj % vlasnika" više nije uvek vidljivo. Sakriveno iza eksplicitnog toggle-a, sa upozorenjem ako je 0% (sumnjiva vrednost koja često označava grešku u unosu).
- IspravkaDeploy više ne ruši VPS — API i worker se pravilno zaustave pre npm install-a, da bi memorija bila slobodna. Plus auto-rollback ako deploy padne na pre-flight check-u.
Push notifikacije, biometrija i Android polish
- NovoPush notifikacije na mobilnoj aplikaciji — Android (FCM) i iOS (APNs preko Firebase). Stiže vam obaveštenje na zaključanom ekranu kad je nova rezervacija, promena statusa, otkaz, dolazak/odlazak danas, novi zadatak ili podsjetnik trial perioda. Tap otvara konkretni detalj u aplikaciji.
- NovoBiometrijsko otključavanje — Face ID i Touch ID na iOS-u, otisak prsta i prepoznavanje lica na Android-u. Refresh token se čuva u sistemskom secure storage-u (iOS Keychain, Android EncryptedSharedPreferences). Toggle u Settings → Sigurnost.
- NovoPamćenje uređaja (Trusted Devices) — Settings sekcija sa listom svih aktivnih sesija po uređaju, sa lokacijom (grad/zemlja iz IP-a). Možete jednim klikom poništiti pristup udaljenom uređaju.
- PoboljšanjeOzbiljan polish na Android-u — Galaxy S10 i drugi stariji uređaji. Status bar više ne ima sive trake, tastatura ne pokriva polja u formama, kalendar i forme rade savršeno na touch-u.
- PoboljšanjeInfo ikonice (i) na Dashboard-u i Analytics-u sada rade na mobilnom — tap pokazuje pojašnjenje formule (Neto profit, Provizije platformi, Bruto prihod...).
- PoboljšanjeKonzistentni izbor datuma — Rok zadatka i Datum troška sada koriste isti kalendar kao Datumi rezervacije (custom kalendar umesto OS native picker-a).
- IspravkaLogin na mobilnom — kad keyboard izađe, polje za lozinku može da se skroluje iznad tastature.
- IspravkaSitan jezički fix — "Istorija rezervacija" umesto "Historija" na detaljima gosta.
Tim invite, preselekcija plana i pametnije notifikacije
- NovoTim invite flow sa email aktivacijom — novi članovi tima dobijaju lični email link i sami biraju lozinku. Admin više ne upravlja tuđim lozinkama (isti bezbednosni model kao Slack, Notion i Linear).
- NovoDirektan put od sajta do pretplate — klik na plan na primestay.rs/pricing vodi pravo u aplikaciju sa već izabranim paketom i ciklusom (mesečno/godišnje). Posle email verifikacije i prijave, Paddle checkout se automatski otvara za izabrani plan.
- IspravkaStabilniji prelazak između Starter / Pro / Business planova — rešene greške koje su se ranije mogle pojaviti pri određenim kombinacijama nadogradnje i prelaska.
- NovoRelativno vreme u notifikacijama — „pre 2 sata", „juče", „pre 3 dana" umesto apsolutnih timestamp-ova.
- PoboljšanjePametnije poruke o dolascima i odlascima gostiju — ako ne otvorite aplikaciju ceo dan, sutra ćete videti „Dolazak bio juče" umesto zbunjujućeg „Dolazak danas".
- NovoMeđunarodni unos telefona sa pretragom zemlje — 95 zemalja sa zastavicama, od Balkana do SAD-a i Azije, dostupno u formi gostiju i rezervacija.
- PoboljšanjeSemafor indikator potrošnje — traka „X od 10 nekretnina" menja boju (zelena / žuta / crvena) kako se približavate limitu plana. Business plan dobija poseban premium prikaz.
- NovoFinalne pripreme za App Store i Google Play — mobilna aplikacija kao kompanion web platformi. Pretplatom i dalje upravljate sa sajta (Paddle kao Merchant of Record).
Stabilnost i performanse
- IspravkaRešene race condition-e u kreiranju rezervacija — concurrent zahtevi više ne mogu napraviti double-booking.
- PoboljšanjeSmisleni error toast-ovi u mutations — korisnik sada vidi konkretne backend poruke umesto generic "Greška".
- PoboljšanjeN+1 query fix u Owners i Payouts ekranima — drastično brže za portfolije preko 50 nekretnina.
- BezbednostDefenzivna provera za null resetTokenExpiry pri reset lozinke.
Self-service brisanje organizacije
- NovoDanger Zone u Settings — ADMIN može trajno obrisati organizaciju i sve podatke, uz re-entry lozinke i naziva organizacije.
- PoboljšanjePolitika privatnosti i Uslovi korišćenja ažurirani sa mobilnom sekcijom i Apple-ovim obaveznim klauzulama.
Paddle verifikacija i nove cene
- NovoPaddle nalog verifikovan — priprema za live cutover.
- PoboljšanjeNove cene: Starter €9.99, Pro €24.99, Business €79.99 (mesečno).
- NovoBusiness plan prelazi u self-service Paddle checkout (ostaje i manual aktivacija kao fallback).
Mobilna aplikacija — Capacitor shell
- NovoWeb aplikacija upakovana u Capacitor 8 (iOS + Android). Faze 1 (viewport), 2 (haptics, status bar, keyboard, preferences, filesystem, share) i 3 (forme, tabbar) završene.
- PoboljšanjeStaging i produkcija razdvojeni u fizički nezavisne deploy-eve na VPS-u.
CI/CD i super-admin toolkit
- NovoGitHub Actions automatski deploy na staging na svaki push na staging granu.
- NovoSuper-admin crisis toolkit: session invalidate-all, maintenance mode, org suspend/export, user impersonate, subscription reconcile.
- IspravkaMobile Safari Paddle portal — sinhrono otvaranje blank window-a umesto async callback-a.
Subscription sistem kompletan
- NovoSubscriptionGuard, PlanLimitGuard, PlanFeatureGuard — potpuna kontrola pristupa po planu.
- NovoPaddle checkout, webhook i customer portal integrisani.
- NovoTrial cron, email notifikacije, PDF fakture, cancel sa survey-om, reaktivacija pretplate.
- NovoUpgradeModal sa razlozima: trial_expired, subscription_inactive, plan_limit_reached, feature_not_in_plan.
- NovoForgot password i reset password flow.
Property-level access control
- NovoUserProperty junction tabela — OWNER i STAFF vide samo svoje dodeljene nekretnine.
- NovoAuto-expense na bookingu — provizija (%) i fiksna mesečna naknada (€) se automatski kreiraju pri rezervaciji.
- NovoAnalytics: individualni mesec filter (poslednjih 13 meseci).
Guests i Directory
- NovoPhoneInput sa country picker-om (Base UI, ISO badge).
- NovoDirectory (Imenik) — centralna baza korisnih servisa sa kategorijama i filtriranjem.
- PoboljšanjeTelefoni se normalizuju u digits-only storage.
MVP deploy
- NovoInicijalni javni deploy platforme. Session management, single-device login, query invalidacija, dark/light favicon.