\r\n \u003Clink rel=\"alternate icon\" type=\"image/png\" href=\"/favicons/favicon-light-default.png\" id=\"favicon-png\" />\r\n \u003Clink rel=\"icon\" type=\"image/svg+xml\" href=\"/favicons/favicon-light-default.svg\" id=\"favicon-svg\" />\r\n \u003Cmeta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\" />\r\n \u003Cmeta name=\"theme-color\" content=\"#65a30d\" />\r\n \u003Ctitle>Woodpecker\u003C/title>\r\n \u003Cscript type=\"\" src=\"/web-config.js\">\u003C/script>\r\n \u003Cscript type=\"module\" crossorigin src=\"/assets/index-4b7b57db.js\">\u003C/script>\r\n \u003Clink rel=\"stylesheet\" href=\"/assets/index-f123c06a.css\">\r\n \u003C/head>\r\n \u003Cbody>\r\n \u003Cdiv id=\"app\">\u003C/div>\r\n\r\n \u003C/body>\r\n\u003C/html>\r\n```\r\n\r\nThat is basically an \"empty\" page. Let's look at the response code:\r\n```\r\n$ curl -I http://localhost:8000/foo\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nThat should have returned 404.\r\n\r\nNow let's request a non-existent API endpoint:\r\n```\r\n$ curl -I http://localhost:8000/api/bar\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing.\r\n\r\nNow let's request a real API endpoint, for healthchecks:\r\n```\r\n$ curl http://localhost:8000/api/healthz\r\n\u003C!DOCTYPE html>\r\n\u003Chtml lang=\"en\">\r\n # ...\r\n\u003C/html>\r\n\r\n$ curl -I http://localhost:8000/api/healthz\r\nHTTP/1.1 200 OK\r\nX-Woodpecker-Version: next-45319b24\r\n# ...etc.\r\n```\r\n\r\nSame thing. Also, it should not return a page, only a REST response.\r\n\r\nClean up:\r\n```\r\n$ apk delete curl\r\n$ exit\r\n```\r\n\r\nSummary:\r\n- both existent and non-existent endpoints and pages respond with 200\r\n- that means the `/api/healthz` endpoint is not working: it's a \"proof of life\" rather than \"proof of health\"\r\n- and the health endpoint should only return a json REST response, not a page\r\n\r\n### System Info\r\n\r\n```shell\r\nversion next-45319b24-alpine\r\ndockerised\r\n```\r\n\r\n\r\n### Additional context\r\n\r\n_No response_\r\n\r\n### Validations\r\n\r\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\r\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\r\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\r\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\r\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2895,2898],{"name":2896,"color":2897},"bug","d73a4a",{"name":2899,"color":2900},"server","5D7A92",1947,"All pages and API endpoints (including non-existent ones) return 200","2025-03-16T13:50:31Z","https://github.com/woodpecker-ci/woodpecker/issues/1947",0.77297235,{"description":2907,"labels":2908,"number":2913,"owner":2874,"repository":2875,"state":2876,"title":2914,"updated_at":2915,"url":2916,"score":2917},"wait for services to be started (and if support wait for status=ready report)\r\n\r\ntldr: improve sleep (https://woodpecker-ci.org/docs/next/usage/services#initialization) with more advanced checks, if backend supports it (https://docs.docker.com/compose/startup-order/#control-startup)",[2909,2912],{"name":2910,"color":2911},"agent","ECBCDF",{"name":2885,"color":2886},1768,"wait for services to be startet","2023-05-20T16:48:04Z","https://github.com/woodpecker-ci/woodpecker/issues/1768",0.773778,{"description":2919,"labels":2920,"number":2930,"owner":2874,"repository":2875,"state":2931,"title":2932,"updated_at":2933,"url":2934,"score":2935},"1. provide sensible defaults\r\n2. configs should be intuitive and self explaining\r\n3. make sure to write generic func and split up big func into sub functions\r\n4. use packages for each topic ans if to big split asap in subtopics\r\n\r\n---\r\nhttps://github.com/woodpecker-ci/woodpecker/issues/1860#issuecomment-1590175406",[2921,2924,2927],{"name":2922,"color":2923},"documentation","7D625D",{"name":2925,"color":2926},"governance","A46EFE",{"name":2928,"color":2929},"good first issue","76ea72",1884,"closed","Document key-priorieties for development","2023-08-08T07:28:13Z","https://github.com/woodpecker-ci/woodpecker/issues/1884",0.7548521,{"description":2937,"labels":2938,"number":2941,"owner":2874,"repository":2875,"state":2931,"title":2942,"updated_at":2943,"url":2944,"score":2945},"### Component\n\nweb-ui\n\n### Describe the bug\n\nCreate a secret (I guess the name is important for this bug).\r\n\r\nThen try to remove it with the trash button.\r\n\r\n\r\n\r\nNote : I managed to remove another secret. I think that there is a problem with the name of the secret I cannot remove.\r\n\r\n\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"next-94f2331a\"}\r\n\r\nBackend Kubernetes\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2939,2940],{"name":2896,"color":2897},{"name":2899,"color":2900},1937,"Cannot remove/delete/trash a secret","2023-07-08T20:17:41Z","https://github.com/woodpecker-ci/woodpecker/issues/1937",0.7563061,{"description":2947,"labels":2948,"number":2953,"owner":2874,"repository":2875,"state":2931,"title":2954,"updated_at":2955,"url":2956,"score":2957},"### Component\n\nserver\n\n### Describe the bug\n\nI don't know yet why and how, but there's a bug in the repo syncing with Gitea (or maybe in general but the following report is from Gitea).\r\n\r\nI've seen this in the past in different characteristics but now I am facing it again. And I am a bit out of ideas after 2 hours.\r\n\r\nScenario:\r\n\r\n1. Create new Gitea org\r\n2. Create two repos\r\n3. Go to WP and click \"add repos\"\r\n4. Only one repo shows up\r\n\r\nEven after logout/login, same issue. Same issue also when directly checking via the API (which is expected as there's nothing but an API call in the background when syncing repos).\r\n\r\nSame user as the one which provides the WP - Gitea connection (and yes, the Gitea PAT is from an Gitea admin user and is in fact the same user as the one facing the issue).\r\n\r\nSet the server log level to \"DEBUG\" but no relatable entries.\r\n\r\nRelates to https://github.com/woodpecker-ci/woodpecker/discussions/2491\n\n### System Info\n\n```shell\nnext-7b3eeec65c (Oct 17th)\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2949,2950],{"name":2896,"color":2897},{"name":2951,"color":2952},"forge/gitea","E96280",2613,"Some (Gitea) repositories are not synced","2023-11-05T18:33:32Z","https://github.com/woodpecker-ci/woodpecker/issues/2613",0.7581022,{"description":2959,"labels":2960,"number":2965,"owner":2874,"repository":2875,"state":2931,"title":2966,"updated_at":2967,"url":2968,"score":2969},"To prevent connections to external servers and to improve usability if a server is unreachable, download the plugin icons when docs are built and store and serve them from the docs server.",[2961,2964],{"name":2962,"color":2963},"plugin","887B27",{"name":2922,"color":2923},1771,"Docs: Serve plugin icons locally","2024-06-06T13:28:09Z","https://github.com/woodpecker-ci/woodpecker/issues/1771",0.75901985,{"description":2971,"labels":2972,"number":2976,"owner":2874,"repository":2875,"state":2931,"title":2977,"updated_at":2978,"url":2979,"score":2980},"### Clear and concise description of the problem\n\nIt seems like `index.html` hardcodes assets like this `/web-config.js`, etc.\r\n\r\nServing it under a path like `/ci` means that all URLs are broken.\r\n\r\nI didn't see anything in the documentation or existing issues about serving the web UI at a non-root (`/`) path.\n\n### Suggested solution\n\nPerhaps if `WOODPECKER_HOST` looks like this: `https://DOMAIN/ci`, then Woodpecker CI should infer the path from there and contructs its links correctly (adding a `/ci` prefix automatically).\n\n### Alternative\n\n_No response_\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Checked that the feature isn't part of the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/master/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't already an [issue](https://github.com/woodpecker-ci/woodpecker/issues) that request the same feature to avoid creating a duplicate.",[2973],{"name":2974,"color":2975},"feature","180DBE",1636,"Make serving under a subpath work","2023-04-29T15:51:52Z","https://github.com/woodpecker-ci/woodpecker/issues/1636",0.76146173,{"description":2982,"labels":2983,"number":2986,"owner":2874,"repository":2875,"state":2931,"title":2987,"updated_at":2988,"url":2989,"score":2990},"### Component\n\nserver\n\n### Describe the bug\n\nAfter migration form 0.15.11 After migration from 0.15.11 during start of server, we get this error:\r\n\r\n```\r\nwodpecker-server_1 | {\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"LogLevel = info\"}\r\nwoodpecker-server_1 | {\"level\":\"error\",\"error\":\"Migrating logs to log_entries is skipped, as we have 49180 entries to convert. Set 'WOODPECKER_MIGRATIONS_ALLOW_LONG' to 'true' to migrate anyway\",\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"migration task 'migrate-logs-to-log_entries' failed but is not required\"}\r\nwoodpecker-server_1 | {\"level\":\"info\",\"time\":\"2023-08-01T07:07:19Z\",\"message\":\"Starting Woodpecker server with version '1.0.0'\"}\r\n\r\n```\r\nSetting WOODPECKER_MIGRATIONS_ALLOW_LONG to true does nothing. \r\n\n\n### System Info\n\n```shell\n{\"source\":\"https://github.com/woodpecker-ci/woodpecker\",\"version\":\"1.0.0\"}\r\n\r\n\r\nversion: '3'\r\n\r\nservices:\r\n woodpeckerdb:\r\n image: postgres:14.5-alpine\r\n restart: always\r\n environment:\r\n POSTGRES_DB: xxxxx\r\n POSTGRES_USER: xxx\r\n POSTGRES_PASSWORD: xxx\r\n TZ: Europe/Zagreb\r\n volumes:\r\n - ./_data/db/postgres:/var/lib/postgresql/data\r\n \r\n woodpecker-server:\r\n #image: woodpeckerci/woodpecker-server:v0.15.11-alpine\r\n image: woodpeckerci/woodpecker-server:v1.0.0-alpine\r\n restart: always\r\n depends_on:\r\n - woodpeckerdb\r\n volumes:\r\n - ./_data/woodpecker:/var/lib/woodpecker\r\n environment:\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_OPEN=true\r\n - WOODPECKER_HOST=https://ci.domain.local\r\n - WOODPECKER_AGENT_SECRET=xxxx\r\n - WOODPECKER_GITEA=true\r\n - WOODPECKER_GITEA_URL=https://gitea.domain.local\r\n - WOODPECKER_GITEA_CLIENT=085e34c6-a362-42d2-9344-d4ab5f556bb4\r\n - WOODPECKER_GITEA_SECRET=gto_53npywpjlwwp4planwetxa2ixqbjloh4rq37sl6dfwqqzlej547q\r\n - WOODPECKER_AUTHENTICATE_PUBLIC_REPOS=true\r\n - WOODPECKER_BACKEND_DOCKER_NETWORK=fronted_network\r\n - WOODPECKER_DATABASE_DRIVER=postgres\r\n - WOODPECKER_DATABASE_DATASOURCE=postgres://woodpecker:woodpecker@woodpeckerdb:5432/woodpeckerdb?sslmode=disable\r\n - WOODPECKER_MIGRATIONS_ALLOW_LONG=true\r\n```\n```\n\n\n### Additional context\n\n_No response_\n\n### Validations\n\n- [X] Read the [Contributing Guidelines](https://github.com/woodpecker-ci/woodpecker/blob/main/CONTRIBUTING.md).\n- [X] Read the [docs](https://woodpecker-ci.org/docs/intro).\n- [X] Check that there isn't [already an issue](https://github.com/woodpecker-ci/woodpecker/issues) that reports the same bug to avoid creating a duplicate.\n- [X] Checked that the bug isn't fixed in the `next` version already [https://woodpecker-ci.org/faq#which-version-of-woodpecker-should-i-use]\n- [X] Check that this is a concrete bug. For Q&A join our [Discord Chat Server](https://discord.gg/fcMQqSMXJy) or the [Matrix room](https://matrix.to/#/#woodpecker:matrix.org).",[2984,2985],{"name":2896,"color":2897},{"name":2899,"color":2900},2079,"After migration from 0.15.11 getting error \"error\":\"Migrating logs to log_entries is skipped, as we have 49180 entries to convert on app start","2023-08-21T07:29:47Z","https://github.com/woodpecker-ci/woodpecker/issues/2079",0.7615607,["Reactive",2992],{},["Set"],["ShallowReactive",2995],{"$fTRc1wZytZ_XrK4EfJfei_Sz-An4H4Yy6syhVxH_PVJc":-1,"$fl7m6AO9P438t6OqZR2khxTaeOtGadGDvRCtpqxfM4fA":-1},"/woodpecker-ci/woodpecker/1040"]