Viimeisimmät muutokset Politiikka-palvelussa
Kymmenen korjauspakettia, yksi tietokantaindeksi ja kaksi mittausdokumenttia. Kaikki lähtevät samasta säännöstä: palvelu ei koskaan näytä keksittyä lukua eikä nielaise virhettä hiljaa — puuttuva tieto sanotaan ääneen ja syy kerrotaan. Työn pohjana on 17 dokumentoitua näytettä siitä, missä sääntö rikkoutui, ja jokaisen paketin kävi läpi kolme katselmoijaa ennen julkaisua.
Vaikutus: Haku löytää nimet muodossa "Sukunimi, Etunimi" ja monisanaiset hakusanat kaikilla kymmenellä hakupinnalla; asiakirjaviite "HE 6/2026" löytää asiakirjan viitteellä. Liian lyhyt tai tyhjäksi kutistuva hakusana ei enää näytä koko listaa vaan sanoo "Hakusana on liian lyhyt." Dashboardin aktiivisuusluvut kertovat mistä ne on laskettu ja mitä ne eivät kata. Lobbauslistat kertovat, montako nimetöntä kohdetta jäi pois. Olematon listasivu ohjaa ensimmäiselle sivulle ja sanoo miksi. Onboarding-kierros osoittaa puhelimella oikeisiin paikkoihin. Tuoreusmerkki kertoo näkyvänä tekstinä, mihin päivään aineisto ulottuu, ja jatkossa myös, montako äänestystä odottaa päivitystä.
Kolme tietoturvakorjausta: sovelluksen ajonaikaisilta tietokantarooleilta poistettiin taulujen ylläpito-oikeudet ja oletusoikeudet, hälytykset kulkevat nyt Upstash-jonon ja Sentryn kautta, ja käyttäjäprofiilin luonti ei voi enää asettaa käyttäjän tasoa muuksi kuin oletukseksi.
Vaikutus: Ei näkyviä muutoksia käyttäjälle. Kirjautuminen ja profiilin luonti toimivat kuten ennen; tason korotus tapahtuu vain laskutuksen kautta. Ylläpito saa sovelluksen hälytykset ilman, että palvelinta avataan ulos.
Tilin asetukset -sivun istuntolista palautti tuotannossa virheen 502; Supabasen tunnistuspalvelussa ei ole istuntojen listausreittiä lainkaan, joten sovellus vastaa nyt rehellisesti 501 "ei toteutettu" ja sivu näyttää sen selkeästi. Dashboardin aktiivisimpien edustajien puhehaku ajettiin kahdesti kahden widgetin takia; nyt kysely tehdään kerran ja jaetaan. Selaintestit päivitettiin nykyisiin reitteihin ja kytkettiin savutestiin.
Vaikutus: Tilisivu ei enää näytä virhettä istuntolistan kohdalla vaan kertoo, ettei toimintoa ole. Dashboard lataa puhedatan puolet nopeammin.
Jaettava poliitikkokortti näytti aina nimikirjaimet muotokuvan sijaan, koska eduskunnan kuvapalvelin ilmoittaa kuvan tyypiksi application/octet-stream; nyt kuva hyväksytään sisällön perusteella. Äänestystulosten värit ja SDP:n puoluemerkki korjattiin WCAG AA -kontrastiin (kuusi rikkomusta tuotannon saavutettavuusajosta). Tilinpoiston peruutus epäonnistui näkymättömästi, jos yöllinen poistoajo oli jo ehtinyt merkitä pyynnön käsittelyyn; nyt peruutus toimii kaikissa tiloissa, joissa se on vielä mahdollista, ja kertoo, jos ei ole. Stripe-webhook kirjoitti tilaustiedot tauluun, jossa sarakkeita ei ole — tilaukset tallentuvat nyt oikeaan tauluun ja tapahtumien järjestys on suojattu (Stripe ei ole vielä käytössä).
Vaikutus: Jakokorteissa näkyy edustajan kuva. Äänestyssivun värit erottuvat myös heikkonäköiselle. Tilinpoiston peruminen onnistuu koko 30 päivän ajan.
Yhteensä 13 julkaisua, jotka kokosivat Politiikka.pron oman agentin 16.–17.9. tekemät auditkorjaukset ja ne varmennettiin paikallisesti ennen julkaisua.
Vaikutus: Organisaation omistajaa ei voi poistaa vahingossa, ja organisaatiokutsu sidotaan kutsutun henkilöllisyyteen. "Eturistiriidat" on nimetty uudelleen "mahdollisiksi sidonnaisuusosumiksi", koska ne ovat sanahaun vihjeitä, eivät todisteita. Puoluekurin poikkeamat lasketaan äänestyshetken puoluetiedosta, ja puutteellisesta datasta varoitetaan hiljaisen "ei kapinallisia" -viestin sijaan. Lobbauskohteen nimi täsmätään koko nimellä, ja kahden samannimisen edustajan tapaus jätetään ratkaisematta eikä arvata. Tuntematon profiilitaso näyttää virheen eikä ilmaistasoa. Uudelleentunnistautuminen epäonnistuu näkyvästi eikä jatka hiljaa. Edellisen äänestyksen asiakirjat eivät jää hetkeksi näkyviin uuden äänestyksen sivulle. Virheraporttilomakkeen kentät saivat saavutettavat nimilaput, organisaatiosivun välilehdet seuraavat osoitetta, ja compliance-tallennuksen sekä uutisvirran virheet näkyvät. Sivukartta kattaa julkiset reitit ja puoluesivut saivat metatiedot.
Julkiselta poliitikkoprofiililta voi jakaa ja ladata 1200×630-kuvakortin, ja sivulla on jakopalveluiden lukemat metatiedot. Kirjautumattoman käyttäjän "Tilaa nyt" avaa kirjautumisen maksuvirheen sijaan ja palauttaa hintasivulle.
Vaikutus: Edustajan tiedot voi jakaa somessa kuvana suoraan sivulta. Tilauksen aloitus ei enää kaadu kirjautumattomalla.
Kirjautumaton käyttäjä voi avata edustajalistan, hakea nimellä, suodattaa puolueella ja siirtyä julkiseen profiiliin. Etusivun tutustumislinkki avaa selauksen. Kirjautuneen käyttäjän näkymä säilyy ennallaan. Samalla paikalliset ja CI:n tarkistukset yhtenäistettiin yhdeksi komennoksi.
Vaikutus: Palveluun voi tutustua ilman tiliä. Julkinen näkymä käyttää samoja tietokannan sarakeoikeuksia kuin ennen — mitään ei avattu lisää.
Sivupalkin tuoreusmerkki näytti ylläpidon synkkalokia; nyt se lukee julkista data_freshness-tietoa ja on nimetty "Eduskunta: viimeisin osapäivitys" — se on viimeisin onnistunut osapäivitys, ei väite koko aineiston tuoreudesta. Rahoituksen vastaanottajahaun tietokantavirhe näytti tyhjän tuloksen; nyt se näyttää virheen. Puheenvuorojen API-testit tehtiin siirrettäviksi ja suojaustestin koetiedosto poistettiin.
Vaikutus: Aikaleima kertoo sen mitä se on. "Seuraa rahaa" ei enää väitä, ettei vastaanottajia ole, kun haku epäonnistui.
Äänestysten asiakirjaluetteloista poistettiin 4 369 715 kaksoiskappaletta — sama asiakirja oli tallentunut sekä suomen- että ruotsinkielisenä saman äänestyksen alle. Lisäksi korjattiin EU-valiokuntien synkronointi ja kirjautumisen tarkistus.
Vaikutus: Äänestyssivulla asiakirja näkyy nyt kerran, ei kahdesti. Yksikään äänestys ei menettänyt asiakirjojaan: tarkistimme, että asiakirjoja sisältäviä äänestyksiä on täsmälleen yhtä monta kuin ennen poistoa. Sivut latautuvat hieman nopeammin, koska asiakirjataulusta poistui 46 prosenttia riveistä.
Yllätysäänestyksissä "puolueensa kantaa vastaan äänestäneet" lasketaan nyt sitä eduskuntaryhmää vasten, johon edustaja kuului äänestyshetkellä — ei sitä, johon hän kuuluu tänään. Ryhmän nimi näytetään lukujen yhteydessä.
Vaikutus: Etusivun oletusnäkymässä (viimeiset 90 päivää) luvut eivät muutu lainkaan — tarkistimme sen. Pidemmälle taaksepäin katsottaessa muuttuvat: 2 000 tuoreimmasta äänestyksestä 823:n luku muuttuu, ja poikkeajia on kaikkiaan 2 900 sijaan 2 219. Vanha tapa laski mukaan edustajia, jotka kuuluvat puolueeseen tänään mutta eivät kuuluneet siihen äänestäessään. Lakkautetut ryhmät, kuten Sininen eduskuntaryhmä, näkyvät nyt omalla nimellään sen sijaan että olisivat sulautuneet nykyisiin puolueisiin tai kadonneet kokonaan.
Tällä sivulla näkyy 10 viimeisintä merkintää. Täydellinen muutosloki: PATCHNOTES.md