Commit Graph
34667 Commits
Author SHA1 Message Date
Blocket Flex 9c4ec8106e Removed Cinemax Links From Czech Republic (#50893) 2026-09-09 10:13:59 +02:00
Pecaquito 34528da5e7 Merge pull request #50877 from iptv-org/patch-2026.09.3
Patch 2026.09.3
2026-09-08 17:45:49 -04:00
freearhey 95c15a8011 Update generate.ts 2026-09-08 17:15:24 +03:00
freearhey bfba3e5f1f Update tests/__data__ 2026-09-08 17:15:21 +03:00
Jonathan Joewono ace35db9be Add: Suara Surabaya to id.m3u 2026-09-08 10:30:48 +02:00
iptv-bot[bot] bd370c42bb [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34172834567) workflow.
2026-09-08 00:18:21 +00:00
iptv-bot[bot] 1ed34721b6 [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34172834567) workflow.

closes #50790, closes #50791, closes #50796, closes #50797, closes #50798, closes #50799, closes #50801, closes #50802, closes #50804, closes #50805, closes #50806, closes #50807, closes #50808, closes #50810, closes #50813, closes #50814, closes #50815, closes #50816, closes #50817, closes #50820, closes #50821, closes #50822, closes #50825, closes #50826, closes #50827, closes #50832, closes #50839, closes #50840, closes #50841
2026-09-08 00:18:21 +00:00
Aleksandr Statciuk 188a16c61e Patch 2026.09.2 (#50642)
* Move docs/ to root directory

* Fix file name

* Update scripts.md

* Delete playlist-structure.md

* Create playlists.md

* Update stream-testing.md

* Create geo-blocking.md

* Create stream-id.md

* Update CONTRIBUTING.md
2026-09-07 02:29:08 +02:00
iptv-bot[bot] 8b956d40dc [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34069398699) workflow.
2026-09-07 00:19:16 +00:00
iptv-bot[bot] b65ed4b6ea [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34069398699) workflow.

closes #50624, closes #50626, closes #50648, closes #50673, closes #50741, closes #50745, closes #50746, closes #50748, closes #50749, closes #50750, closes #50752, closes #50754, closes #50756, closes #50757, closes #50758, closes #50759, closes #50760, closes #50761, closes #50762, closes #50763, closes #50764, closes #50768, closes #50769, closes #50770, closes #50772, closes #50773, closes #50776, closes #50777, closes #50778, closes #50779, closes #50780, closes #50781, closes #50782, closes #50783, closes #50784, closes #50785
2026-09-07 00:19:16 +00:00
Pecaquito 1bffa8b367 Merge pull request #50670 from Arley87326/patch-10
Update us.m3u
2026-09-06 13:23:43 -04:00
jogerj 4ed2a1f0af ci: pin GitHub Actions to commit SHAs and add Dependabot
Pin every action reference to the full commit SHA that its current tag
already resolves to, with the version kept in a trailing comment. No action
changes version as a result of this commit -- including actions/setup-node
in validate_issue.yml, which stays on v4.4.0 rather than being lifted to the
v6 used by the other workflows. Version bumps are left to Dependabot so they
arrive as reviewable PRs.

Add .github/dependabot.yml for the github-actions ecosystem: weekly on
Monday, minor/patch grouped into a single PR (majors always get their own),
"ci" commit prefix. tibdex/github-app-token is ignored to match
iptv-org-database; it is archived upstream, so replacing it should be a
considered migration rather than an automated bump.
2026-09-06 14:31:50 +02:00
iptv-bot[bot] 6e137149bc [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34000960456) workflow.
2026-09-06 00:19:41 +00:00
iptv-bot[bot] 85e1fb220f [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/34000960456) workflow.

closes #50090, closes #50091, closes #50092, closes #50093, closes #50094, closes #50095, closes #50096, closes #50097, closes #50098, closes #50099, closes #50100, closes #50101, closes #50102, closes #50103, closes #50104, closes #50105, closes #50106, closes #50107, closes #50108, closes #50109, closes #50110, closes #50274, closes #50476, closes #50593, closes #50594, closes #50595, closes #50597, closes #50598, closes #50623, closes #50625, closes #50632, closes #50633, closes #50634, closes #50635, closes #50637, closes #50638, closes #50639, closes #50643, closes #50644, closes #50645, closes #50649, closes #50650, closes #50651, closes #50652, closes #50653, closes #50654, closes #50655, closes #50656, closes #50657, closes #50672, closes #50674, closes #50689, closes #50690, closes #50692, closes #50694, closes #50695, closes #50709, closes #50729, closes #50732
2026-09-06 00:19:41 +00:00
Blocket Flex cfcb2368a7 Update us.m3u 2026-09-05 08:47:36 -07:00
PopeyeTheSai10r c4e41fcaa0 Merge pull request #49852 from Virkuiich-777/patch-2
Update uk.m3u
2026-09-04 18:33:10 -07:00
iptv-bot[bot] 3130c8663b [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33932426615) workflow.
2026-09-05 00:17:23 +00:00
iptv-bot[bot] fc85211cb6 [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33932426615) workflow.

closes #44464, closes #50058, closes #50260, closes #50271, closes #50273, closes #50302, closes #50559, closes #50564, closes #50568, closes #50571, closes #50572, closes #50573, closes #50574, closes #50576, closes #50577, closes #50579, closes #50580, closes #50582, closes #50583, closes #50584, closes #50585, closes #50586, closes #50587, closes #50588, closes #50589, closes #50590, closes #50591, closes #50599, closes #50606, closes #50607, closes #50608, closes #50611, closes #50613, closes #50616, closes #50617, closes #50618, closes #50619, closes #50620, closes #50621, closes #50622
2026-09-05 00:17:23 +00:00
Pecaquito 403d972279 Merge pull request #50558 from iptv-org/patch-2026.09.1
Patch 2026.09.1
2026-09-04 16:52:14 -04:00
Sanaei afdb2b594c fix: make report:create test independent of log output and line endings
The assertion compared stdout against a template literal that could never
match:

- The file was converted from LF to CRLF in 25fa704e14, so the literal
  carries \r\n while the command's stdout uses \n.
- The literal starts with a newline, which only exists when consola prints
  its [info] lines to stdout ahead of the table. Those are suppressed unless
  DEBUG is set, so stdout begins directly at the table border.

Normalize line endings on both sides and trim the leading newline, so the
test asserts what it means to assert: that stdout contains the report table.
It now passes with and without DEBUG=true.
2026-09-04 18:39:37 +02:00
Aleksandr Statciuk baac833f76 Merge pull request #49871 from klein523666/pr/nested-paths
Preserve nested playlist paths in formatter
2026-09-04 19:12:55 +03:00
Sanaei 994b12fb25 fix: correct Live 24/7 handling and label regressions
- stream.updateWithIssue: 'Live 24/7: Yes' meant the stream IS 24/7, but it
  was assigned straight to isNot247, inverting the label. A 'No' answer was
  also ignored because the guard skipped falsy values.
- dataSet.getBoolean: an unanswered dropdown is stored as '' by
  parseIssueBody, which getBoolean read as false. Treat it as undefined so
  'no answer' means 'leave unchanged' instead of 'Not 24/7'.
- update.addStream: has() is true for an unanswered field, so it produced
  isNot247 = true for issues that left the dropdown blank.
- generate: sortBy got five orders for four iteratees.
- 2_streams_edit.yml: restore the '~' reset option dropped from the quality
  dropdown when the Label field was removed.
- stream.getLabels: use const to satisfy prefer-const.
2026-09-04 18:02:35 +02:00
Sanaei 3448e44b7e Merge branch 'master' into patch-2026.09.1
Resolved conflict in scripts/models/stream.ts: kept the branch's
labels/isNot247/isGeoBlocked handling in fromPlaylistItem while adopting
master's optional-chaining guards for data.tvg / data.http.
2026-09-04 18:01:12 +02:00
Aleksandr Statciuk d4d4ff9ebc Update streams/ (#50263)
* Update streams/

* Update us.m3u

* Update us.m3u
2026-09-04 17:52:26 +02:00
Sanaei f527cfd03a fix: harden getStoragePath and keep CRLF endings
- Normalize the returned path to forward slashes so it matches what
  Storage.list() (glob) returns, instead of leaking `\` on Windows.
- Treat the storage root itself as "not inside", so passing a directory
  no longer yields an empty path that Storage.load() would open as a dir.
- Extract the containment check into isInsideDirectory() and drop the
  redundant isAbsolute(filepath) branch (path.resolve already handles it).
- Restore the repository's CRLF line endings in the nested fixture.
2026-09-04 17:47:43 +02:00
Sanaei 2336dbc41f Merge remote-tracking branch 'origin/master' into pr/49871
# Conflicts:
#	tests/commands/playlist/format.test.ts
2026-09-04 17:30:25 +02:00
chen zhihao c5e24196b1 fix: keep malformed URLs during normalization (#49870) 2026-09-04 17:13:08 +02:00
chen zhihao 9652409093 fix: tolerate missing playlist metadata (#49868) 2026-09-04 17:12:25 +02:00
LuckWzx 2f83f28352 Fix issue:validate tests on Windows (#49523) 2026-09-04 17:11:01 +02:00
Aleksandr Statciuk 016c6ec540 Merge branch 'master' into patch-2026.09.1 2026-09-04 11:25:51 +03:00
chen zhihao f3ef256bdf Restrict parsed stream quality suffixes (#49869)
* fix: restrict parsed stream quality suffixes

* test: reuse playlist export fixture for quality suffix
2026-09-04 09:28:26 +02:00
iptv-bot[bot] 1e283edf33 [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33821076681) workflow.
2026-09-04 00:20:36 +00:00
iptv-bot[bot] 64f34a60c5 [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33821076681) workflow.

closes #50266, closes #50268, closes #50275, closes #50279, closes #50280, closes #50281, closes #50282, closes #50283, closes #50284, closes #50285, closes #50286, closes #50288, closes #50289, closes #50291, closes #50292, closes #50293, closes #50294, closes #50295, closes #50297, closes #50300, closes #50301, closes #50303, closes #50304, closes #50305, closes #50307, closes #50308, closes #50309, closes #50310, closes #50311, closes #50312, closes #50313, closes #50314, closes #50315, closes #50316, closes #50317, closes #50318, closes #50319, closes #50320, closes #50321, closes #50322, closes #50323, closes #50324, closes #50325, closes #50326, closes #50327, closes #50329, closes #50330, closes #50331, closes #50332, closes #50333, closes #50334, closes #50335, closes #50336, closes #50337, closes #50338, closes #50339, closes #50340, closes #50342, closes #50343, closes #50344, closes #50345, closes #50346, closes #50347, closes #50348, closes #50349, closes #50350, closes #50351, closes #50352, closes #50353, closes #50354, closes #50355, closes #50358, closes #50359, closes #50361, closes #50362, closes #50364, closes #50366, closes #50367, closes #50368, closes #50369, closes #50370, closes #50371, closes #50372, closes #50373, closes #50374, closes #50375, closes #50376, closes #50377, closes #50378, closes #50379, closes #50380, closes #50381, closes #50382, closes #50383, closes #50384, closes #50385, closes #50386, closes #50387, closes #50388, closes #50389, closes #50390, closes #50391, closes #50392, closes #50393, closes #50394, closes #50395, closes #50396, closes #50397, closes #50398, closes #50399, closes #50400, closes #50401, closes #50402, closes #50403, closes #50404, closes #50405, closes #50406, closes #50407, closes #50408, closes #50409, closes #50410, closes #50411, closes #50412, closes #50413, closes #50414, closes #50415, closes #50416, closes #50417, closes #50418, closes #50419, closes #50420, closes #50421, closes #50422, closes #50423, closes #50424, closes #50425, closes #50426, closes #50427, closes #50428, closes #50429, closes #50430, closes #50431, closes #50432, closes #50433, closes #50434, closes #50435, closes #50436, closes #50437, closes #50438, closes #50440, closes #50441, closes #50442, closes #50443, closes #50444, closes #50445, closes #50446, closes #50447, closes #50448, closes #50449, closes #50450, closes #50451, closes #50452, closes #50453, closes #50454, closes #50455, closes #50456, closes #50457, closes #50458, closes #50459, closes #50460, closes #50461, closes #50462, closes #50463, closes #50464, closes #50465, closes #50466, closes #50467, closes #50468, closes #50499, closes #50500, closes #50505, closes #50509, closes #50518, closes #50525, closes #50526, closes #50527, closes #50528, closes #50530, closes #50532, closes #50533, closes #50534, closes #50535, closes #50536, closes #50537, closes #50538, closes #50539, closes #50540, closes #50541, closes #50542, closes #50543, closes #50544, closes #50545, closes #50546, closes #50547, closes #50548, closes #50549, closes #50551, closes #50552, closes #50553, closes #50555
2026-09-04 00:20:36 +00:00
chen zhihao 2c21f19496 Return failure status when playlist checks are offline (#49872)
* fix: fail playlist tests when offline

* test: move offline playlist check into test suite
2026-09-03 22:42:56 +02:00
freearhey 2dd669d237 Update issue templates 2026-09-03 14:53:34 +03:00
freearhey d4f07c0a4c Update scripts 2026-09-03 14:53:13 +03:00
freearhey b700995496 Update tests/__data__ 2026-09-03 14:52:31 +03:00
freearhey f2ada39cd0 Update dependencies 2026-09-03 06:05:32 +03:00
iptv-bot[bot] b618525815 [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33698900838) workflow.
2026-09-03 00:18:32 +00:00
iptv-bot[bot] 673e792e0a [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33698900838) workflow.

closes #49948, closes #49952, closes #49969, closes #49972, closes #49973, closes #49974, closes #49975, closes #49980, closes #49981, closes #49986, closes #49987, closes #49988, closes #49989, closes #49990, closes #49991, closes #49992, closes #49994, closes #49995, closes #49996, closes #49997, closes #49998, closes #49999, closes #50000, closes #50001, closes #50002, closes #50003, closes #50004, closes #50005, closes #50006, closes #50009, closes #50011, closes #50012, closes #50013, closes #50014, closes #50016, closes #50045, closes #50046, closes #50047, closes #50048, closes #50049, closes #50050, closes #50051, closes #50052, closes #50053, closes #50054, closes #50059, closes #50069, closes #50070, closes #50071, closes #50072, closes #50073, closes #50074, closes #50075, closes #50076, closes #50077, closes #50078, closes #50079, closes #50080, closes #50081, closes #50082, closes #50083, closes #50084, closes #50085, closes #50086, closes #50087, closes #50088, closes #50132, closes #50133, closes #50134, closes #50135, closes #50136, closes #50137, closes #50138, closes #50139, closes #50140, closes #50141, closes #50142, closes #50143, closes #50144, closes #50145, closes #50146, closes #50147, closes #50148, closes #50150, closes #50151, closes #50152, closes #50153, closes #50154, closes #50155, closes #50156, closes #50157, closes #50158, closes #50159, closes #50160, closes #50161, closes #50162, closes #50163, closes #50164, closes #50165, closes #50166, closes #50167, closes #50168, closes #50169, closes #50170, closes #50171, closes #50172, closes #50173, closes #50174, closes #50176, closes #50177, closes #50178, closes #50179, closes #50180, closes #50182, closes #50183, closes #50185, closes #50187, closes #50188, closes #50189, closes #50190, closes #50191, closes #50192, closes #50193, closes #50194, closes #50195, closes #50196, closes #50197, closes #50198, closes #50199, closes #50200, closes #50201, closes #50203, closes #50204, closes #50210, closes #50211, closes #50212, closes #50214, closes #50215, closes #50216, closes #50217, closes #50218, closes #50219, closes #50220, closes #50221, closes #50222, closes #50223, closes #50224, closes #50225, closes #50226, closes #50227, closes #50228, closes #50229, closes #50230, closes #50231, closes #50232, closes #50233, closes #50234, closes #50235, closes #50236, closes #50240, closes #50241, closes #50242, closes #50244, closes #50245, closes #50246, closes #50248, closes #50249, closes #50250, closes #50251, closes #50252, closes #50253, closes #50255, closes #50256, closes #50257
2026-09-03 00:18:32 +00:00
iptv-bot[bot] 1080fddcf6 [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33574717986) workflow.
2026-09-02 00:18:18 +00:00
iptv-bot[bot] 6a5c4ee74d [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33574717986) workflow.

closes #49818, closes #49923, closes #49925, closes #49926, closes #49927, closes #49930, closes #49931, closes #49936, closes #49937, closes #49939
2026-09-02 00:18:18 +00:00
chen zhihao 5062505330 fix: handle formatter paths relative to workspace 2026-09-01 10:58:12 +08:00
chen zhihao de096ff4a8 fix: address nested playlist review feedback 2026-09-01 10:53:47 +08:00
iptv-bot[bot] d006a4b6c9 [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33454356592) workflow.
2026-09-01 00:21:19 +00:00
iptv-bot[bot] 2565bd5deb [Bot] Update /streams
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33454356592) workflow.

closes #49705, closes #49770, closes #49807, closes #49808, closes #49809, closes #49810, closes #49811, closes #49812, closes #49813, closes #49814, closes #49815, closes #49816, closes #49817, closes #49819, closes #49820, closes #49833, closes #49834, closes #49835, closes #49836, closes #49837, closes #49838, closes #49839, closes #49840, closes #49841, closes #49842, closes #49845, closes #49846, closes #49847, closes #49848, closes #49849, closes #49850, closes #49851, closes #49853, closes #49854, closes #49855, closes #49856, closes #49857, closes #49858, closes #49859, closes #49860, closes #49861, closes #49866, closes #49867, closes #49873, closes #49876, closes #49877, closes #49878, closes #49879, closes #49880, closes #49882, closes #49883, closes #49884, closes #49885, closes #49886, closes #49887, closes #49888, closes #49890, closes #49891, closes #49892, closes #49893, closes #49894, closes #49896, closes #49901, closes #49904, closes #49905, closes #49906
2026-09-01 00:21:19 +00:00
chen zhihao e7e21e166c fix: reject formatter paths outside storage 2026-08-31 20:52:37 +08:00
chen zhihao 1b6b7db25a fix: preserve nested playlist paths when formatting 2026-08-31 20:52:37 +08:00
Virkuii 4eb357befb Update uk.m3u
Adding missing name
2026-08-31 10:16:54 +03:00
iptv-bot[bot] 8b84d0585d [Bot] Update PLAYLISTS.md
Committed by [iptv-bot](https://github.com/apps/iptv-bot) via [update](https://github.com/iptv-org/iptv/actions/runs/33344236926) workflow.
2026-08-31 00:20:04 +00:00