{"action":"opened","number":468,"pull_request":{"url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468","id":216191532,"node_id":"MDExOlB1bGxSZXF1ZXN0MjE2MTkxNTMy","html_url":"https://github.com/thegazelle-ad/gazelle-server/pull/468","diff_url":"https://github.com/thegazelle-ad/gazelle-server/pull/468.diff","patch_url":"https://github.com/thegazelle-ad/gazelle-server/pull/468.patch","issue_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/468","number":468,"state":"open","locked":false,"title":"Add OpenGraph meta tags on serverside render","user":{"login":"emilgoldsmith","id":18149242,"node_id":"MDQ6VXNlcjE4MTQ5MjQy","avatar_url":"https://avatars0.githubusercontent.com/u/18149242?v=4","gravatar_id":"","url":"https://api.github.com/users/emilgoldsmith","html_url":"https://github.com/emilgoldsmith","followers_url":"https://api.github.com/users/emilgoldsmith/followers","following_url":"https://api.github.com/users/emilgoldsmith/following{/other_user}","gists_url":"https://api.github.com/users/emilgoldsmith/gists{/gist_id}","starred_url":"https://api.github.com/users/emilgoldsmith/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/emilgoldsmith/subscriptions","organizations_url":"https://api.github.com/users/emilgoldsmith/orgs","repos_url":"https://api.github.com/users/emilgoldsmith/repos","events_url":"https://api.github.com/users/emilgoldsmith/events{/privacy}","received_events_url":"https://api.github.com/users/emilgoldsmith/received_events","type":"User","site_admin":false},"body":"<!--- Provide a general summary of your changes in the Title above -->\r\n<!--- Please follow this template to ensure you've satisfied all the requirements for having code merged, and to make the reviewer's life a bit easier -->\r\n\r\n## Related Issue\r\n\r\nThought I would do #390, but actually that was way too hard, and a huge undertaking (big rewrites of the codebase), so I've just added the opengraph meta tags on serverside renders through a hack\r\n\r\n## Description\r\n\r\nWhen we disabled serverside rendering the javascript in our React components that was previously setting the opengraph information that let's Facebook display the images and text when you share a link was no longer running. I have therefore created a bit of a hack so we can add in this information on serverside without doing the full React render as that doesn't currently work\r\n\r\n## How Has This Been Tested?\r\n\r\nManually with https://developers.facebook.com/tools/debug/sharing/?q=https%3A%2F%2F310780db.ngrok.io\r\n\r\nI could probably add in some good unit tests for some of these functions, but to be honest I just don't have the time right now :(, and this is very high priority, sorry for bad practices!\r\n\r\n## Screenshots (if appropriate):\r\n\r\n<!--- Please provide before and after screenshots for any frontend changes -->\r\n\r\n## Checklist:\r\n\r\n<!--- Go over all the following points, and put an `x` in all the boxes that apply. -->\r\n<!--- If you're unsure about any of these, don't hesitate to ask. -->\r\n\r\n- [x] My code follows the code style of this project. (see the [style guide](https://github.com/thegazelle-ad/gazelle-server/tree/master/docs/the-gazelle-style-guide.md))\r\n- [ ] My change requires a change to the documentation.\r\n- [ ] I have updated the documentation accordingly.\r\n- [ ] Coveralls reported increased code coverage, and full coverage for all the code I added / changed (or I have a good reason that I explained above for why this is not the case)\r\n","created_at":"2018-09-18T06:01:46Z","updated_at":"2018-09-18T06:01:46Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468/commits","review_comments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468/comments","review_comment_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/comments{/number}","comments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/468/comments","statuses_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/statuses/ad25a2d76c65efd9ce26d73377687e658ff5157b","head":{"label":"thegazelle-ad:add-serverside-opengraph","ref":"add-serverside-opengraph","sha":"ad25a2d76c65efd9ce26d73377687e658ff5157b","user":{"login":"thegazelle-ad","id":8604956,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2MDQ5NTY=","avatar_url":"https://avatars3.githubusercontent.com/u/8604956?v=4","gravatar_id":"","url":"https://api.github.com/users/thegazelle-ad","html_url":"https://github.com/thegazelle-ad","followers_url":"https://api.github.com/users/thegazelle-ad/followers","following_url":"https://api.github.com/users/thegazelle-ad/following{/other_user}","gists_url":"https://api.github.com/users/thegazelle-ad/gists{/gist_id}","starred_url":"https://api.github.com/users/thegazelle-ad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thegazelle-ad/subscriptions","organizations_url":"https://api.github.com/users/thegazelle-ad/orgs","repos_url":"https://api.github.com/users/thegazelle-ad/repos","events_url":"https://api.github.com/users/thegazelle-ad/events{/privacy}","received_events_url":"https://api.github.com/users/thegazelle-ad/received_events","type":"Organization","site_admin":false},"repo":{"id":60618027,"node_id":"MDEwOlJlcG9zaXRvcnk2MDYxODAyNw==","name":"gazelle-server","full_name":"thegazelle-ad/gazelle-server","private":false,"owner":{"login":"thegazelle-ad","id":8604956,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2MDQ5NTY=","avatar_url":"https://avatars3.githubusercontent.com/u/8604956?v=4","gravatar_id":"","url":"https://api.github.com/users/thegazelle-ad","html_url":"https://github.com/thegazelle-ad","followers_url":"https://api.github.com/users/thegazelle-ad/followers","following_url":"https://api.github.com/users/thegazelle-ad/following{/other_user}","gists_url":"https://api.github.com/users/thegazelle-ad/gists{/gist_id}","starred_url":"https://api.github.com/users/thegazelle-ad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thegazelle-ad/subscriptions","organizations_url":"https://api.github.com/users/thegazelle-ad/orgs","repos_url":"https://api.github.com/users/thegazelle-ad/repos","events_url":"https://api.github.com/users/thegazelle-ad/events{/privacy}","received_events_url":"https://api.github.com/users/thegazelle-ad/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/thegazelle-ad/gazelle-server","description":"Server for front-end and editor tools of The Gazelle","fork":false,"url":"https://api.github.com/repos/thegazelle-ad/gazelle-server","forks_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/forks","keys_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/teams","hooks_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/hooks","issue_events_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/events{/number}","events_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/events","assignees_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/assignees{/user}","branches_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/branches{/branch}","tags_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/tags","blobs_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/statuses/{sha}","languages_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/languages","stargazers_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/stargazers","contributors_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/contributors","subscribers_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/subscribers","subscription_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/subscription","commits_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/contents/{+path}","compare_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/merges","archive_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/downloads","issues_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues{/number}","pulls_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls{/number}","milestones_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/milestones{/number}","notifications_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/labels{/name}","releases_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/releases{/id}","deployments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/deployments","created_at":"2016-06-07T14:04:28Z","updated_at":"2018-09-15T20:59:27Z","pushed_at":"2018-09-17T14:23:06Z","git_url":"git://github.com/thegazelle-ad/gazelle-server.git","ssh_url":"git@github.com:thegazelle-ad/gazelle-server.git","clone_url":"https://github.com/thegazelle-ad/gazelle-server.git","svn_url":"https://github.com/thegazelle-ad/gazelle-server","homepage":"","size":5829,"stargazers_count":11,"watchers_count":11,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":126,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":4,"open_issues":126,"watchers":11,"default_branch":"master"}},"base":{"label":"thegazelle-ad:master","ref":"master","sha":"31fd2e941b1456684d769b49caf9cafba5781e70","user":{"login":"thegazelle-ad","id":8604956,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2MDQ5NTY=","avatar_url":"https://avatars3.githubusercontent.com/u/8604956?v=4","gravatar_id":"","url":"https://api.github.com/users/thegazelle-ad","html_url":"https://github.com/thegazelle-ad","followers_url":"https://api.github.com/users/thegazelle-ad/followers","following_url":"https://api.github.com/users/thegazelle-ad/following{/other_user}","gists_url":"https://api.github.com/users/thegazelle-ad/gists{/gist_id}","starred_url":"https://api.github.com/users/thegazelle-ad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thegazelle-ad/subscriptions","organizations_url":"https://api.github.com/users/thegazelle-ad/orgs","repos_url":"https://api.github.com/users/thegazelle-ad/repos","events_url":"https://api.github.com/users/thegazelle-ad/events{/privacy}","received_events_url":"https://api.github.com/users/thegazelle-ad/received_events","type":"Organization","site_admin":false},"repo":{"id":60618027,"node_id":"MDEwOlJlcG9zaXRvcnk2MDYxODAyNw==","name":"gazelle-server","full_name":"thegazelle-ad/gazelle-server","private":false,"owner":{"login":"thegazelle-ad","id":8604956,"node_id":"MDEyOk9yZ2FuaXphdGlvbjg2MDQ5NTY=","avatar_url":"https://avatars3.githubusercontent.com/u/8604956?v=4","gravatar_id":"","url":"https://api.github.com/users/thegazelle-ad","html_url":"https://github.com/thegazelle-ad","followers_url":"https://api.github.com/users/thegazelle-ad/followers","following_url":"https://api.github.com/users/thegazelle-ad/following{/other_user}","gists_url":"https://api.github.com/users/thegazelle-ad/gists{/gist_id}","starred_url":"https://api.github.com/users/thegazelle-ad/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thegazelle-ad/subscriptions","organizations_url":"https://api.github.com/users/thegazelle-ad/orgs","repos_url":"https://api.github.com/users/thegazelle-ad/repos","events_url":"https://api.github.com/users/thegazelle-ad/events{/privacy}","received_events_url":"https://api.github.com/users/thegazelle-ad/received_events","type":"Organization","site_admin":false},"html_url":"https://github.com/thegazelle-ad/gazelle-server","description":"Server for front-end and editor tools of The Gazelle","fork":false,"url":"https://api.github.com/repos/thegazelle-ad/gazelle-server","forks_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/forks","keys_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/keys{/key_id}","collaborators_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/teams","hooks_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/hooks","issue_events_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/events{/number}","events_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/events","assignees_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/assignees{/user}","branches_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/branches{/branch}","tags_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/tags","blobs_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/refs{/sha}","trees_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/trees{/sha}","statuses_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/statuses/{sha}","languages_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/languages","stargazers_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/stargazers","contributors_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/contributors","subscribers_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/subscribers","subscription_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/subscription","commits_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/commits{/sha}","git_commits_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/git/commits{/sha}","comments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/comments{/number}","issue_comment_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/comments{/number}","contents_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/contents/{+path}","compare_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/compare/{base}...{head}","merges_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/merges","archive_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/downloads","issues_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues{/number}","pulls_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls{/number}","milestones_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/milestones{/number}","notifications_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/labels{/name}","releases_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/releases{/id}","deployments_url":"https://api.github.com/repos/thegazelle-ad/gazelle-server/deployments","created_at":"2016-06-07T14:04:28Z","updated_at":"2018-09-15T20:59:27Z","pushed_at":"2018-09-17T14:23:06Z","git_url":"git://github.com/thegazelle-ad/gazelle-server.git","ssh_url":"git@github.com:thegazelle-ad/gazelle-server.git","clone_url":"https://github.com/thegazelle-ad/gazelle-server.git","svn_url":"https://github.com/thegazelle-ad/gazelle-server","homepage":"","size":5829,"stargazers_count":11,"watchers_count":11,"language":"JavaScript","has_issues":true,"has_projects":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":126,"license":{"key":"mit","name":"MIT License","spdx_id":"MIT","url":"https://api.github.com/licenses/mit","node_id":"MDc6TGljZW5zZTEz"},"forks":4,"open_issues":126,"watchers":11,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468"},"html":{"href":"https://github.com/thegazelle-ad/gazelle-server/pull/468"},"issue":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/468"},"comments":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/issues/468/comments"},"review_comments":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468/comments"},"review_comment":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/pulls/468/commits"},"statuses":{"href":"https://api.github.com/repos/thegazelle-ad/gazelle-server/statuses/ad25a2d76c65efd9ce26d73377687e658ff5157b"}},"author_association":"MEMBER","merged":false,"mergeable":null,"rebaseable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"maintainer_can_modify":false,"commits":11,"additions":266,"deletions":129,"changed_files":9}}
{"actor":{"display_login":"emilgoldsmith"}}