diff --git a/content/news/73-what-makes-lbry-different.md b/content/news/73-what-makes-lbry-different.md index 0db4bb5e..5ae4ab85 100644 --- a/content/news/73-what-makes-lbry-different.md +++ b/content/news/73-what-makes-lbry-different.md @@ -41,7 +41,7 @@ It's difficult to compare LBRY to something that doesn't exist yet, but as we un Additionally, LBRY is the only one of these three to see significant backing outside of the cryptocurrency niche. While we love crypto, we're aiming to be a mainstream, household technology. To that extent, the fact that LBRY has backing from major VCs, tech companies, and Hollywood studios says a lot. -Finally, unlike almost every blockchain company, we've never sold coins to the public. We've put ourselves in a position where the only way we make money is if LBRY is a long-term success. To us, having "skin in the game" is a moral imperative. +Finally, unlike almost every blockchain companyC, we've never sold coins to the public. We've put ourselves in a position where the only way we make money is if LBRY is a long-term success. To us, having "skin in the game" is a moral imperative. ## How is LBRY different from a toaster? diff --git a/controller/action/ContentActions.class.php b/controller/action/ContentActions.class.php index 64945ae6..44f0bd87 100644 --- a/controller/action/ContentActions.class.php +++ b/controller/action/ContentActions.class.php @@ -191,11 +191,10 @@ class ContentActions extends Actions public static function executeRoadmap() { - $cache = !Request::getParam('nocache'); + $cache = !Request::getParam('nocache'); $githubItems = Github::listRoadmapChangesets($cache); $projectMaxVersions = []; - $closedGroups = []; foreach($githubItems as $group => $items) { if ($items) diff --git a/lib/thirdparty/Asana.class.php b/lib/thirdparty/Asana.class.php index ed042adf..3ce983b3 100644 --- a/lib/thirdparty/Asana.class.php +++ b/lib/thirdparty/Asana.class.php @@ -29,17 +29,22 @@ class Asana $taggedTasks = static::get('/tags/' . $tagId . '/tasks', ['completed_since' => 'now'], $cache); foreach ($taggedTasks as $task) { - $fullTask = static::get('/tasks/' . $task['id']); + $fullTask = static::get('/tasks/' . $task['id'], [], $cache); $projectId = $fullTask['memberships'][0]['project']['id'] ?? null; - if ($fullTask['name'] && $projectId && isset($projects[$projectId])) + if ($fullTask['name']) { - list($projectName, $projectUrl) = $projects[$projectId]; + if ($projectId && isset($projects[$projectId])) + { + list($projectName, $projectUrl) = $projects[$projectId]; + } + else + { + $projectName = 'Other'; + } $tasks[$tagLabel][] = array_intersect_key($fullTask, ['name' => null]) + [ - 'project_label' => $projectName, 'badge' => $projectName, 'date' => $fullTask['due_on'] ?? null, - 'body' => $fullTask['notes'], - 'url' => $projectUrl, + 'body' => nl2br($fullTask['notes']) , 'group' => $tagLabel, 'assignee' => $fullTask['assignee'] ? ucwords($fullTask['assignee']['name']) : '' ]; diff --git a/lib/thirdparty/Github.class.php b/lib/thirdparty/Github.class.php index cf5d80ee..8c262426 100644 --- a/lib/thirdparty/Github.class.php +++ b/lib/thirdparty/Github.class.php @@ -42,27 +42,21 @@ class Github $sets = []; $allReleases = []; - $projects = [ - 'lbry' => '' - ]; + $project = 'lbry'; + $page = 1; - foreach ($projects as $project => $label) + do { - $page = 1; - do + $releases = static::get('/repos/lbryio/' . $project . '/releases?page=' . $page, $cache); + $page++; + $allReleases = array_merge($allReleases, array_map(function ($release) use ($project) { - $releases = static::get('/repos/lbryio/' . $project . '/releases?page=' . $page, $cache); - $page++; - $allReleases = array_merge($allReleases, array_map(function ($release) use ($label, $project) - { - return $release + ['project_label' => $label, 'project' => $project]; - }, array_filter($releases, function ($release) - { - return isset($release['tag_name']) && isset($release['published_at']) && $release['published_at'] && - $release['tag_name'] != 'v0.4.0'; - }))); - } while (count($releases) >= 30); - } + return $release + ['project' => $project]; + }, array_filter($releases, function ($release) + { + return isset($release['tag_name']) && isset($release['published_at']) && $release['published_at']; + }))); + } while (count($releases) >= 30); foreach ($allReleases as $release) { @@ -70,17 +64,17 @@ class Github $matches = null; if (isset($release['tag_name']) && preg_match('/v(\d+)\.(\d+).?(\d+)?/', $release['tag_name'], $matches)) { - $group = $release['project_label'] . ' v' . $matches[1] . '.' . $matches[2]; + $group = 'v' . $matches[1] . '.' . $matches[2]; } if ($group) { $sets[$group][] = array_intersect_key($release, [ - 'prerelease' => null, 'tag_name' => null, 'published_at' => null, 'project' => null, 'project_label' => null + 'prerelease' => null, 'tag_name' => null, 'published_at' => null, 'project' => null ]) + [ 'date' => date('Y-m-d', strtotime($release['created_at'])), //I thought published_at, but GitHub displays created_at and published_at is out of sync sometimes (0.3.2, 0.3.3) 'name' => $release['name'] ?: $release['tag_name'], - 'github_url' => $release['url'], + 'url' => $release['html_url'], 'major_version' => $matches[1], 'minor_version' => $matches[2], 'patch_version' => isset($matches[3]) ? $matches[3] : null, diff --git a/view/template/content/roadmap.php b/view/template/content/roadmap.php index c157d4bd..6848ed38 100644 --- a/view/template/content/roadmap.php +++ b/view/template/content/roadmap.php @@ -14,6 +14,16 @@ +
+

Roadmap Notes

+

+ Our roadmap pulls change note directly from our Git repo via GitHub. + Ongoing, Upcoming and Future items are pulled directly from our internal project management system (Asana), so they are always up-to-date. +

+

+ This roadmap only outlines past and anticipated technical changes, it does not cover other initiatives. Development was fast and furious among a small group prior to 0.6, and release notes are sparse. +

+
@@ -47,16 +57,17 @@

- + + + + +

No description' ?> - - -
@@ -64,5 +75,6 @@ + \ No newline at end of file