Š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.