{
    "object_kind": "push",
    "event_name": "push",
    "before": "cd6946ebf1fb4f4856cf916d335b617902a215a7",
    "after": "f3d8fe6d19093565f8e21f5760e7b6a1fcdc20ae",
    "ref": "refs\/heads\/main",
    "ref_protected": true,
    "checkout_sha": "f3d8fe6d19093565f8e21f5760e7b6a1fcdc20ae",
    "message": null,
    "user_id": 22,
    "user_name": "B\u00edr\u00f3 Marcell",
    "user_username": "biromarcell",
    "user_email": null,
    "user_avatar": "https:\/\/www.gravatar.com\/avatar\/52dc890fb46e6c1c30181b64ce67280a6bb8794dec98c20eaf6e1aa110942e7f?s=80&d=identicon",
    "project_id": 204,
    "project": {
        "id": 204,
        "name": "atriumfrontend",
        "description": null,
        "web_url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend",
        "avatar_url": null,
        "git_ssh_url": "git@git.dunahousedev.hu:atrium\/atriumfrontend.git",
        "git_http_url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend.git",
        "namespace": "atrium",
        "visibility_level": 0,
        "path_with_namespace": "atrium\/atriumfrontend",
        "default_branch": "main",
        "ci_config_path": "",
        "homepage": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend",
        "url": "git@git.dunahousedev.hu:atrium\/atriumfrontend.git",
        "ssh_url": "git@git.dunahousedev.hu:atrium\/atriumfrontend.git",
        "http_url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend.git"
    },
    "commits": [
        {
            "id": "1d3181268e4752dbbca3799f30e94dbc9a8d501e",
            "message": "Emotikonbol emoji gepeles kozben\n\nJelzes: \":)\"-bol nem lesz \ud83d\ude42. Nem elromlott \u2014 ilyen csere sehol nem volt a\nkodban, sem a kliensben, sem a backendben; emoji csak a valaszto panelen es a\nreakciokon letezett.\n\nA csere azonnal tortenik, amint az emotikon elkeszul, ahogy minden chat app\ncsinalja. A nehez resze nem ez, hanem hogy mit NEM szabad lecserelni: a\nkezenfekvo `replaceAll(':\/', '\ud83d\ude15')` minden beillesztett linket tonkretenne,\nmert a `http:\/\/` tartalmaz `:\/`-t. Ezert a talalat csak SZOHATARON szamit \u2014\naz emotikon elott szokoz kell alljon vagy a szoveg eleje. Igy a `http:\/\/`, a\n`C:\/Munka` es a `10:00` erintetlen marad.\n\nA `8)` szandekosan nincs a tablaban: megkulonboztethetetlen egy szamozott\nlista nyolcadik pontjatol, ami munkahelyi chatben hetkoznapi szoveg. Erre\nteszt is figyel, hogy aki felveszi, elolvassa az indokot.\n\nKet viselkedesi dontes: torles SOHA nem hoz letre emojit (a `:-x)`-bol az `x`\ntorlese utan marad `:-)`) \u2014 szerkesztes kozben a mezo ne cselekedjen magatol;\nes a kurzor az emoji moge kerul, hogy folytathato legyen a gepeles.\n\nA formazo a beviteli mezon es az \"Uzenet szerkesztese\" mezon van, a\nbeszelgetesen beluli keresore NINCS raterve: ott a `:)` keresese `:)`-t\nkeressen.\n\n19 teszt, tobbsegukben arrol, hogy mi marad valtozatlan. Van kozte\nbekotes-teszt is: a CallKitBridge pont azon bukott el, hogy a fajl megvolt,\nde senki nem hivatkozott ra \u2014 ez mutacioval ellenorizve elbukik, ha a\nformazo lekerul a mezorol.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\n",
            "title": "Emotikonbol emoji gepeles kozben",
            "timestamp": "2026-09-17T09:24:48+02:00",
            "url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend\/-\/commit\/1d3181268e4752dbbca3799f30e94dbc9a8d501e",
            "author": {
                "name": "birmar2",
                "email": "biromarcell1994@gmail.com"
            },
            "added": [
                "lib\/core\/emoticons.dart",
                "test\/emoticons_test.dart"
            ],
            "modified": [
                "lib\/screens\/convo_screen.dart"
            ],
            "removed": []
        },
        {
            "id": "f3d8fe6d19093565f8e21f5760e7b6a1fcdc20ae",
            "message": "Fekvo tajolas: a beszelgeteslista nem nyulik a teljes szelessegre\n\nEgy beszelgetessor egy avatar, egy nev es egy idobelyeg. Fekvo telefonon a\nsor ~850 px-et kap, es nem kitolti, hanem szetterul: a nev balra marad, a\n`Spacer()` a jobb szelre dobja az idot, kozottuk tenyernyi ures sav. A szemnek\nvegig kell utaznia rajta, hogy egy idoponthoz hozzaparositsa a beszelgetest.\n\nMiert epp itt: 900 px felett az asztali shell veszi at (sajat, 332 px-es\nlistaoszloppal), egy fekvo telefon viszont ~850 px \u2014 epp alatta marad, tehat a\ntelefonra tervezett lista renderelodik dupla szelessegben. A 600-900 px-es sav\neddig senkihez nem tartozott.\n\nJavitas: 560 px maximum szelesseg, kozepre igazitva. A szam nem onkenyes \u2014\nugyanezt a listat az asztali shell 332 px-en rajzolja, a sorok nagyjabol arra\nkeszultek; 560 szandekosan lazabb annal, mert egy fekvo telefon meg mindig\ntelefon. A korlat alatt semmit nem valtoztat: allo telefon keskenyebb.\n\nMellekesen egy valodi elrendezesi hiba is kijott: a fejlec keresomezojeben a\nhelyorzo szoveg nem volt Expanded-be csomagolva. A szoveg forditott, es a\nrendszer-betumeret nagyithato, tehat a szelessege nem olyasmi, amit ez a sor\nfeltetelezhet \u2014 becsomagolva, ellipszissel. Enelkul nagyitott betumerettel a\nsarga-fekete csikos tulcsordulas jelenne meg a keresomezon.\n\nNegy teszt, amelyek a KIRAJZOLT elrendezest merik (a sor tenyleges szelesseget\nes a ket oldali margo egyenloseget), nem egy konstans letezeset. Mutacioval\nellenorizve: a korlat nelkul a ket fekvo teszt elbukik, az allo atmegy \u2014\ntehat tenyleg csak azt a savot meri, amelyikrol szol.\n\n347 teszt zold, analyze tiszta.\n\nCo-Authored-By: Claude Opus 5 <noreply@anthropic.com>\n",
            "title": "Fekvo tajolas: a beszelgeteslista nem nyulik a teljes szelessegre",
            "timestamp": "2026-09-17T09:29:22+02:00",
            "url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend\/-\/commit\/f3d8fe6d19093565f8e21f5760e7b6a1fcdc20ae",
            "author": {
                "name": "birmar2",
                "email": "biromarcell1994@gmail.com"
            },
            "added": [
                "test\/inbox_landscape_test.dart"
            ],
            "modified": [
                "lib\/screens\/inbox_screen.dart",
                "lib\/widgets\/shared_ui.dart"
            ],
            "removed": []
        }
    ],
    "total_commits_count": 2,
    "push_options": [],
    "repository": {
        "name": "atriumfrontend",
        "url": "git@git.dunahousedev.hu:atrium\/atriumfrontend.git",
        "description": null,
        "homepage": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend",
        "git_http_url": "http:\/\/git.dunahousedev.hu\/atrium\/atriumfrontend.git",
        "git_ssh_url": "git@git.dunahousedev.hu:atrium\/atriumfrontend.git",
        "visibility_level": 0
    },
    "output": [
        "\/etc\/apache2\/sites-available\/biromarcell.atriumfrontend.dunahousedev.hu.conf exists.",
        "\/etc\/apache2\/sites-available\/atriumfrontend.dunahousedev.hu.conf exists.",
        "Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log",
        "An unexpected error occurred:",
        "BrokenPipeError: [Errno 32] Broken pipe",
        "Ask for help or search for solutions at https:\/\/community.letsencrypt.org. See the logfile \/var\/log\/letsencrypt\/letsencrypt.log or re-run Certbot with -v for more details.",
        "Saving debug log to \/var\/log\/letsencrypt\/letsencrypt.log",
        "An unexpected error occurred:",
        "BrokenPipeError: [Errno 32] Broken pipe",
        "Ask for help or search for solutions at https:\/\/community.letsencrypt.org. See the logfile \/var\/log\/letsencrypt\/letsencrypt.log or re-run Certbot with -v for more details.",
        "Fetching origin",
        "From git.dunahousedev.hu:atrium\/atriumfrontend",
        "   cd6946e..f3d8fe6  main       -> origin\/main",
        "HEAD is now at f3d8fe6 Fekvo tajolas: a beszelgeteslista nem nyulik a teljes szelessegre",
        "--OK--"
    ]
}