163 29 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716
  1. <!DOCTYPE html>
  2. <html>
  3. <head data-suburl="">
  4. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
  6. <meta name="author" content="diogo" />
  7. <meta name="description" content="gnu-social - GNU social is a social communication software used in federated social networks. It is widely supported and has a large userbase. It is already used by the Free Software Foundation." />
  8. <meta name="keywords" content="go, git, self-hosted, gogs">
  9. <meta name="referrer" content="no-referrer" />
  10. <meta name="_csrf" content="xIEQVyCx7PtAPR5PACovdhABItA6MTYwNDc5MjM1MTg5ODE3Njc2NQ==" />
  11. <meta name="_suburl" content="" />
  12. <meta property="og:url" content="https://notabug.org/diogo/gnu-social" />
  13. <meta property="og:type" content="object" />
  14. <meta property="og:title" content="diogo/gnu-social">
  15. <meta property="og:description" content="GNU social is a social communication software used in federated social networks. It is widely supported and has a large userbase. It is already used by the Free Software Foundation.">
  16. <meta property="og:image" content="https://notabug.org/avatars/12290" />
  17. <link rel="shortcut icon" href="/img/favicon.png" />
  18. <script src="/js/jquery-1.11.3.min.js"></script>
  19. <script src="/js/libs/jquery.are-you-sure.js"></script>
  20. <link href="/img/icon-48.ico" rel="icon" type="image/x-icon" />
  21. <link href="/img/icon-60.png" rel="apple-touch-icon">
  22. <link href="/img/icon-76.png" rel="apple-touch-icon" sizes="76x76">
  23. <link href="/img/icon-120.png" rel="apple-touch-icon" sizes="120x120">
  24. <link href="/img/icon-152.png" rel="apple-touch-icon" sizes="152x152">
  25. <link href="/img/icon-240.png" rel="apple-touch-icon" sizes="240x240">
  26. <link rel="stylesheet" href="/assets/font-awesome-4.6.3/css/font-awesome.min.css">
  27. <link rel="stylesheet" href="/assets/octicons-4.3.0/octicons.min.css">
  28. <link rel="stylesheet" href="/css/semantic-2.2.13.min.css">
  29. <link rel="stylesheet" href="/css/gogs.css?v=6fc9e85aa88133794d3434ea74aa557a">
  30. <link rel="stylesheet" href="/css/notabug.css">
  31. <script src="/js/semantic-2.2.13.min.js"></script>
  32. <script src="/js/gogs.js?v=6fc9e85aa88133794d3434ea74aa557a"></script>
  33. <title>RFC: Restructuring the database - NotABug.org: Free code hosting</title>
  34. <meta name="theme-color" content="#428bca">
  35. <noscript><style>.nojs-popup:hover > .menu { display: block ; }</style></noscript>
  36. </head>
  37. <body>
  38. <div class="full height">
  39. <noscript>Please enable JavaScript in your browser!</noscript>
  40. <div id="header-div" class="following bar light">
  41. <div class="ui container">
  42. <div class="ui grid">
  43. <div class="column">
  44. <div class="ui top secondary menu">
  45. <a class="item brand" href="/">
  46. <img class="ui mini image" src="/img/favicon.png">
  47. </a>
  48. <a class="item" href="/">Home</a>
  49. <a class="item" href="/explore/repos">Explore</a>
  50. <a class="notabug-item item" href="/help" rel="noreferrer">Help</a>
  51. <div class="right menu">
  52. <a class="item" href="/user/sign_up">
  53. <i class="octicon octicon-person"></i> Register
  54. </a>
  55. <a class="item" href="/user/login?redirect_to=%2fdiogo%2fgnu-social%2fissues%2f163">
  56. <i class="octicon octicon-sign-in"></i> Sign In
  57. </a>
  58. </div>
  59. </div>
  60. </div>
  61. </div>
  62. </div>
  63. </div>
  64. <div class="repository view issue pull">
  65. <div class="header-wrapper">
  66. <div class="ui container">
  67. <div class="ui vertically padded grid head">
  68. <div class="column">
  69. <div class="ui header">
  70. <div class="ui huge breadcrumb">
  71. <i class="mega-octicon octicon-repo"></i>
  72. <a href="/diogo">diogo</a>
  73. <div class="divider"> / </div>
  74. <a href="/diogo/gnu-social">gnu-social</a>
  75. </div>
  76. <div class="ui right">
  77. <div class="ui labeled button" tabindex="0">
  78. <a class="ui basic button" href="/diogo/gnu-social/action/watch?redirect_to=%2fdiogo%2fgnu-social%2fissues%2f163">
  79. <i class="icon fa-eye-slash"></i>Watch
  80. </a>
  81. <a class="ui basic label" href="/diogo/gnu-social/watchers">
  82. 9
  83. </a>
  84. </div>
  85. <div class="ui labeled button" tabindex="0">
  86. <a class="ui basic button" href="/diogo/gnu-social/action/star?redirect_to=%2fdiogo%2fgnu-social%2fissues%2f163">
  87. <i class="icon fa-star-o"></i>Star
  88. </a>
  89. <a class="ui basic label" href="/diogo/gnu-social/stars">
  90. 22
  91. </a>
  92. </div>
  93. <div class="ui labeled button" tabindex="0">
  94. <a class="ui basic button " href="/repo/fork/25974">
  95. <i class="octicon octicon-repo-forked"></i>Fork
  96. </a>
  97. <a class="ui basic label" href="/diogo/gnu-social/forks">
  98. 21
  99. </a>
  100. </div>
  101. </div>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <div class="ui tabs container">
  107. <div class="ui tabular menu navbar">
  108. <a class=" item" href="/diogo/gnu-social">
  109. <i class="octicon octicon-file-text"></i> Files
  110. </a>
  111. <a class="active item" href="/diogo/gnu-social/issues">
  112. <i class="octicon octicon-issue-opened"></i> Issues <span class="ui blue small label">73</span>
  113. </a>
  114. <a class=" item" href="/diogo/gnu-social/pulls">
  115. <i class="octicon octicon-git-pull-request"></i> Pull Requests <span class="ui blue small label">3</span>
  116. </a>
  117. <a class=" item" href="/diogo/gnu-social/wiki">
  118. <i class="octicon octicon-book"></i> Wiki
  119. </a>
  120. </div>
  121. </div>
  122. <div class="ui tabs divider"></div>
  123. </div>
  124. <div class="ui container">
  125. <div class="navbar">
  126. <div class="ui compact small menu">
  127. <a class=" item" href="/diogo/gnu-social/labels">Labels</a>
  128. <a class=" item" href="/diogo/gnu-social/milestones">Milestones</a>
  129. </div>
  130. <div class="ui right">
  131. <a class="ui green button" href="/diogo/gnu-social/issues/new">New Issue</a>
  132. </div>
  133. </div>
  134. <div class="ui divider"></div>
  135. <div>
  136. <div class="ui grid">
  137. <div class="sixteen wide column title">
  138. <div class="ui grid">
  139. <h1 class="twelve wide column">
  140. <span class="index">#163</span> <span id="issue-title" class="has-emoji">RFC: Restructuring the database</span>
  141. <div id="edit-title-input" class="ui input" style="display: none">
  142. <input value="RFC: Restructuring the database">
  143. </div>
  144. </h1>
  145. </div>
  146. <div class="ui green large label"><i class="octicon octicon-issue-opened"></i> Open</div>
  147. <span class="time-desc">
  148. opened <span class="time-since" title="Tue, 30 Jun 2020 18:21:32 UTC">4 months ago</span> by <a href="/someonewithpc">someonewithpc</a>
  149. ·
  150. 1 comments
  151. </span>
  152. <div class="ui divider"></div>
  153. </div>
  154. <div class="twelve wide column comment-list">
  155. <ui class="ui comments">
  156. <div class="comment">
  157. <a class="avatar" href="/someonewithpc">
  158. <img src="https://seccdn.libravatar.org/avatar/89baac3327aebd79156eb67a9db545e6">
  159. </a>
  160. <div class="content">
  161. <div class="ui top attached header">
  162. <span class="text grey"><a href="/someonewithpc">someonewithpc</a> commented <a href="#issue-65181"><span class="time-since" title="Tue, 30 Jun 2020 18:21:32 UTC">4 months ago</span></a></span>
  163. <div class="ui right actions">
  164. </div>
  165. </div>
  166. <div class="ui attached segment">
  167. <div class="render-content markdown has-emoji">
  168. <p>I&#39;d like comments on the commits <del><a href="https://notabug.org/diogo/gnu-social/commit/20b0c4a3a6b38b3631fdd00fd967ff973dde0e77" rel="nofollow">20b0c4a3a6</a></del> <a href="https://notabug.org/diogo/gnu-social/commit/a17072af6291d8f56b7f37901caf39d3b048033e" rel="nofollow">a17072af62</a> and <a href="https://notabug.org/diogo/gnu-social/commit/a56d64678b22158cd04ecf35200a975838f1a7a5" rel="nofollow">a56d64678b</a>, on branch v3</p>
  169. </div>
  170. <div class="raw-content hide">I&#39;d like comments on the commits ~~[20b0c4a3a6](https://notabug.org/diogo/gnu-social/commit/20b0c4a3a6b38b3631fdd00fd967ff973dde0e77)~~ [a17072af62](https://notabug.org/diogo/gnu-social/commit/a17072af6291d8f56b7f37901caf39d3b048033e) and [a56d64678b](https://notabug.org/diogo/gnu-social/commit/a56d64678b22158cd04ecf35200a975838f1a7a5), on branch v3</div>
  171. <div class="edit-content-zone hide" data-write="issue-65181-write" data-preview="issue-65181-preview" data-update-url="/diogo/gnu-social/issues/163/content" data-context="/diogo/gnu-social"></div>
  172. </div>
  173. </div>
  174. </div>
  175. <div class="comment" id="issuecomment-19749">
  176. <a class="avatar" href="/someonewithpc">
  177. <img src="https://seccdn.libravatar.org/avatar/89baac3327aebd79156eb67a9db545e6">
  178. </a>
  179. <div class="content">
  180. <div class="ui top attached header">
  181. <span class="text grey"><a href="/someonewithpc">someonewithpc</a> commented <a href="#issuecomment-19749"><span class="time-since" title="Tue, 30 Jun 2020 21:55:38 UTC">4 months ago</span></a></span>
  182. <div class="ui right actions">
  183. <div class="item tag">
  184. Collaborator
  185. </div>
  186. </div>
  187. </div>
  188. <div class="ui attached segment">
  189. <div class="render-content markdown has-emoji">
  190. <h1>What</h1>
  191. <p>A summary of the changes:</p>
  192. <ol>
  193. <li>Renamed <code>notice</code> to <code>activity</code></li>
  194. <li>Deleted <code>activity.url</code></li>
  195. <li>Deleted <code>avatar.filename</code></li>
  196. <li>Removed all OAuth1 related tables (<code>consumer</code>, <code>nonce</code>, <code>oauth_application{,user}</code>, <code>oauth_token</code>, <code>token</code>)</li>
  197. <li>Removed <code>file.filename</code>, added <code>file.is_local</code>, renamed <code>date</code> to <code>timestamp</code></li>
  198. <li>Removed <code>file_redirection</code></li>
  199. <li>Removed <code>file_thumbnail.{filename,url,url_hash}</code></li>
  200. <li>Renamed <code>subscription</code> to <code>follow</code></li>
  201. <li>Renamed <code>user_group</code> to <code>group</code>, added <code>profile_id</code> as unique key</li>
  202. <li>Removed <code>local_group</code></li>
  203. <li>Renamed <code>location_namespace</code> to <code>location_service</code></li>
  204. <li>Removed <code>login_token</code>, <code>remember_me</code> and <code>session</code></li>
  205. <li>Renamed <code>attention</code> to <code>notification</code></li>
  206. <li>Removed <code>old_school_preferences</code></li>
  207. <li>Removed <code>reply</code></li>
  208. <li>Renamed <code>unavailable_status_network</code> to <code>reserved_nickname</code></li>
  209. <li>Removed <code>schema_version</code></li>
  210. <li>Removed notification settings from <code>user</code> table</li>
  211. <li>Replaced <code>user_im_prefs</code> with <code>user_notification_prefs</code></li>
  212. <li>Removed <code>user_username</code></li>
  213. <li>Changed <code>modified</code> fields to use <code>timestamp</code>s</li>
  214. </ol>
  215. <h1>Why</h1>
  216. <ol>
  217. <li>The <code>notice</code> table had all sorts of activity streams objects</li>
  218. <li>Activities can have more than one url, and this relation is made with the <code>file</code> table already, so this field is not necessary</li>
  219. <li>avatar files can be identified by <code>&#39;id-height_width&#39;</code></li>
  220. <li>We&#39;ll use <a href="https://github.com/authbucket/oauth2-symfony-bundle" rel="nofollow">AuthBucket&#39;s OAuth2</a></li>
  221. <li>Filename will be replaced with it&#39;s hash, the title will have it&#39;s description. <code>is_local</code> used to distinguish local attachments from remote attachments or urls. <code>date</code> was an unix timestamp, from the HTTP query</li>
  222. <li>Superfluous table, final url stored in <code>file</code>, <code>redirection_count</code> irrelevant</li>
  223. <li>As with <code>file</code>, file thumbnails can be identified by <code>&#39;hash-height_width&#39;</code>. <code>url{,_hash}</code> is already in the <code>file</code> table</li>
  224. <li>Subscription makes it sound like a paid comercial product, follow is a more common term for social networks</li>
  225. <li><code>user_group</code> suggests a join table between <code>user</code> and <code>group</code>. A previous bug prevented the used of <code>profile_id</code> as an unique key, but it&#39;s no longer relevant and a <code>profile</code> can be in a <code>group</code> at most once</li>
  226. <li>This table was always used in a join with <code>group</code>. <code>group</code> already has <code>is_local</code></li>
  227. <li>Namespace was a confusing term, but it turns out it was just meant to identify a service an id belongs to, in case another location service is used in the future</li>
  228. <li>Login and session will be handled with Symfony&#39;s implementation. Session will have <a href="https://symfony.com/doc/current/session/database.html#store-sessions-in-a-relational-database-mysql-postgresql" rel="nofollow">a new table</a>, to be implemented when I get there</li>
  229. <li>Just a more standard name</li>
  230. <li>These settings are deprecated, <code>conversation_tree</code> is a plugin</li>
  231. <li>Old table, <code>activity</code> already has a <code>reply_to</code> field (which is indexed)</li>
  232. <li>Very bad name</li>
  233. <li>Handled by Doctrine</li>
  234. <li>Combinatorial explosion of needed fields</li>
  235. <li>See above. This table can have all discrete settings for each type of transport (email, xmpp, sms, etc)</li>
  236. <li>Old table, not used in core. Seemingly used only for the LDAP plugin, which will be implemented in terms of <a href="https://symfony.com/doc/current/security/ldap.html" rel="nofollow">Symfony&#39;s implementation</a></li>
  237. <li>For consistency, we&#39;ll have the ORM handle it with <a href="https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/timestampable.md" rel="nofollow">this</a>.</li>
  238. </ol>
  239. <h1>Aditional Questions</h1>
  240. <ul>
  241. <li>Should we keep SMS support? I&#39;m not sure if it&#39;s currently functional and if it&#39;s worth making it so</li>
  242. <li>What to do about repeats of deleted activities? I think we should recurse on the <code>repeat_of</code> field and display the content we find there, not make a copy. This way deleting something will actually delete it (on this instance)</li>
  243. </ul>
  244. </div>
  245. <div class="raw-content hide"># What
  246. A summary of the changes:
  247. 1. Renamed `notice` to `activity`
  248. 1. Deleted `activity.url`
  249. 1. Deleted `avatar.filename`
  250. 1. Removed all OAuth1 related tables (`consumer`, `nonce`, `oauth_application{,user}`, `oauth_token`, `token`)
  251. 1. Removed `file.filename`, added `file.is_local`, renamed `date` to `timestamp`
  252. 1. Removed `file_redirection`
  253. 1. Removed `file_thumbnail.{filename,url,url_hash}`
  254. 1. Renamed `subscription` to `follow`
  255. 1. Renamed `user_group` to `group`, added `profile_id` as unique key
  256. 1. Removed `local_group`
  257. 1. Renamed `location_namespace` to `location_service`
  258. 1. Removed `login_token`, `remember_me` and `session`
  259. 1. Renamed `attention` to `notification`
  260. 1. Removed `old_school_preferences`
  261. 1. Removed `reply`
  262. 1. Renamed `unavailable_status_network` to `reserved_nickname`
  263. 1. Removed `schema_version`
  264. 1. Removed notification settings from `user` table
  265. 1. Replaced `user_im_prefs` with `user_notification_prefs`
  266. 1. Removed `user_username`
  267. 1. Changed `modified` fields to use `timestamp`s
  268. # Why
  269. 1. The `notice` table had all sorts of activity streams objects
  270. 1. Activities can have more than one url, and this relation is made with the `file` table already, so this field is not necessary
  271. 1. avatar files can be identified by `&#39;id-height_width&#39;`
  272. 1. We&#39;ll use [AuthBucket&#39;s OAuth2](https://github.com/authbucket/oauth2-symfony-bundle)
  273. 1. Filename will be replaced with it&#39;s hash, the title will have it&#39;s description. `is_local` used to distinguish local attachments from remote attachments or urls. `date` was an unix timestamp, from the HTTP query
  274. 1. Superfluous table, final url stored in `file`, `redirection_count` irrelevant
  275. 1. As with `file`, file thumbnails can be identified by `&#39;hash-height_width&#39;`. `url{,_hash}` is already in the `file` table
  276. 1. Subscription makes it sound like a paid comercial product, follow is a more common term for social networks
  277. 1. `user_group` suggests a join table between `user` and `group`. A previous bug prevented the used of `profile_id` as an unique key, but it&#39;s no longer relevant and a `profile` can be in a `group` at most once
  278. 1. This table was always used in a join with `group`. `group` already has `is_local`
  279. 1. Namespace was a confusing term, but it turns out it was just meant to identify a service an id belongs to, in case another location service is used in the future
  280. 1. Login and session will be handled with Symfony&#39;s implementation. Session will have [a new table](https://symfony.com/doc/current/session/database.html#store-sessions-in-a-relational-database-mysql-postgresql), to be implemented when I get there
  281. 1. Just a more standard name
  282. 1. These settings are deprecated, `conversation_tree` is a plugin
  283. 1. Old table, `activity` already has a `reply_to` field (which is indexed)
  284. 1. Very bad name
  285. 1. Handled by Doctrine
  286. 1. Combinatorial explosion of needed fields
  287. 1. See above. This table can have all discrete settings for each type of transport (email, xmpp, sms, etc)
  288. 1. Old table, not used in core. Seemingly used only for the LDAP plugin, which will be implemented in terms of [Symfony&#39;s implementation](https://symfony.com/doc/current/security/ldap.html)
  289. 1. For consistency, we&#39;ll have the ORM handle it with [this](https://github.com/l3pp4rd/DoctrineExtensions/blob/master/doc/timestampable.md).
  290. # Aditional Questions
  291. - Should we keep SMS support? I&#39;m not sure if it&#39;s currently functional and if it&#39;s worth making it so
  292. - What to do about repeats of deleted activities? I think we should recurse on the `repeat_of` field and display the content we find there, not make a copy. This way deleting something will actually delete it (on this instance)</div>
  293. <div class="edit-content-zone hide" data-write="issuecomment-19749-write" data-preview="issuecomment-19749-preview" data-update-url="/diogo/gnu-social/comments/19749" data-context="/diogo/gnu-social"></div>
  294. </div>
  295. </div>
  296. </div>
  297. <div class="ui warning message">
  298. <a href="/user/login?redirect_to=/diogo/gnu-social/issues/163">Sign in</a> to join this conversation.
  299. </div>
  300. </ui>
  301. </div>
  302. <div class="four wide column">
  303. <div class="ui segment metas">
  304. <div class="ui disabled floating jump select-label dropdown">
  305. <span class="text">
  306. <strong>Labels</strong>
  307. <span class="octicon octicon-gear"></span>
  308. </span>
  309. <div class="filter menu" data-action="update" data-update-url="/diogo/gnu-social/issues/163/label">
  310. <div class="no-select item">Clear labels</div>
  311. <a class=" item" href="#" data-id="1564" data-id-selector="#label_1564"><span class="octicon "></span><span class="label color" style="background-color: #fbca04"></span> bounty</a>
  312. <a class=" item" href="#" data-id="1483" data-id-selector="#label_1483"><span class="octicon "></span><span class="label color" style="background-color: #ee0701"></span> bug</a>
  313. <a class=" item" href="#" data-id="1484" data-id-selector="#label_1484"><span class="octicon "></span><span class="label color" style="background-color: #cccccc"></span> duplicate</a>
  314. <a class=" item" href="#" data-id="1485" data-id-selector="#label_1485"><span class="octicon "></span><span class="label color" style="background-color: #84b6eb"></span> enhancement</a>
  315. <a class=" item" href="#" data-id="1486" data-id-selector="#label_1486"><span class="octicon "></span><span class="label color" style="background-color: #128a0c"></span> help wanted</a>
  316. <a class=" item" href="#" data-id="1487" data-id-selector="#label_1487"><span class="octicon "></span><span class="label color" style="background-color: #e6e6e6"></span> invalid</a>
  317. <a class=" item" href="#" data-id="1488" data-id-selector="#label_1488"><span class="octicon "></span><span class="label color" style="background-color: #cc317c"></span> question</a>
  318. <a class="checked item" href="#" data-id="1565" data-id-selector="#label_1565"><span class="octicon octicon-check"></span><span class="label color" style="background-color: #d4c5f9"></span> RFC</a>
  319. <a class=" item" href="#" data-id="1841" data-id-selector="#label_1841"><span class="octicon "></span><span class="label color" style="background-color: #0052cc"></span> v3</a>
  320. <a class=" item" href="#" data-id="1489" data-id-selector="#label_1489"><span class="octicon "></span><span class="label color" style="background-color: #ffffff"></span> wontfix</a>
  321. </div>
  322. </div>
  323. <div class="ui labels list">
  324. <span class="no-select item hide">No Label</span>
  325. <div class="item">
  326. <a class="ui label hide" id="label_1564" href="/diogo/gnu-social/issues?labels=1564" style="color: #000; background-color: #fbca04">bounty</a>
  327. </div>
  328. <div class="item">
  329. <a class="ui label hide" id="label_1483" href="/diogo/gnu-social/issues?labels=1483" style="color: #fff; background-color: #ee0701">bug</a>
  330. </div>
  331. <div class="item">
  332. <a class="ui label hide" id="label_1484" href="/diogo/gnu-social/issues?labels=1484" style="color: #000; background-color: #cccccc">duplicate</a>
  333. </div>
  334. <div class="item">
  335. <a class="ui label hide" id="label_1485" href="/diogo/gnu-social/issues?labels=1485" style="color: #000; background-color: #84b6eb">enhancement</a>
  336. </div>
  337. <div class="item">
  338. <a class="ui label hide" id="label_1486" href="/diogo/gnu-social/issues?labels=1486" style="color: #fff; background-color: #128a0c">help wanted</a>
  339. </div>
  340. <div class="item">
  341. <a class="ui label hide" id="label_1487" href="/diogo/gnu-social/issues?labels=1487" style="color: #000; background-color: #e6e6e6">invalid</a>
  342. </div>
  343. <div class="item">
  344. <a class="ui label hide" id="label_1488" href="/diogo/gnu-social/issues?labels=1488" style="color: #fff; background-color: #cc317c">question</a>
  345. </div>
  346. <div class="item">
  347. <a class="ui label " id="label_1565" href="/diogo/gnu-social/issues?labels=1565" style="color: #000; background-color: #d4c5f9">RFC</a>
  348. </div>
  349. <div class="item">
  350. <a class="ui label hide" id="label_1841" href="/diogo/gnu-social/issues?labels=1841" style="color: #fff; background-color: #0052cc">v3</a>
  351. </div>
  352. <div class="item">
  353. <a class="ui label hide" id="label_1489" href="/diogo/gnu-social/issues?labels=1489" style="color: #000; background-color: #ffffff">wontfix</a>
  354. </div>
  355. </div>
  356. <div class="ui divider"></div>
  357. <div class="ui disabled floating jump select-milestone dropdown">
  358. <span class="text">
  359. <strong>Milestone</strong>
  360. <span class="octicon octicon-gear"></span>
  361. </span>
  362. <div class="menu" data-action="update" data-update-url="/diogo/gnu-social/issues/163/milestone">
  363. <div class="no-select item">Clear milestone</div>
  364. </div>
  365. </div>
  366. <div class="ui select-milestone list">
  367. <span class="no-select item ">No Milestone</span>
  368. <div class="selected">
  369. </div>
  370. </div>
  371. <div class="ui divider"></div>
  372. <input id="assignee_id" name="assignee_id" type="hidden" value="">
  373. <div class="ui disabled floating jump select-assignee dropdown">
  374. <span class="text">
  375. <strong>Assignee</strong>
  376. <span class="octicon octicon-gear"></span>
  377. </span>
  378. <div class="menu" data-action="update" data-update-url="/diogo/gnu-social/issues/163/assignee">
  379. <div class="no-select item">Clear assignee</div>
  380. </div>
  381. </div>
  382. <div class="ui select-assignee list">
  383. <span class="no-select item hide">No assignee</span>
  384. <div class="selected">
  385. <a class="item" href="/diogo/gnu-social/issues?assignee=21260"><img class="ui avatar image" src="https://seccdn.libravatar.org/avatar/be64a3cf684f74eecd530b6d69cde332"> XRevan86</a>
  386. </div>
  387. </div>
  388. <div class="ui divider"></div>
  389. <div class="ui participants">
  390. <span class="text"><strong>1 Participants</strong></span>
  391. <div>
  392. <a href="/someonewithpc">
  393. <img class="ui avatar image poping up" src="https://seccdn.libravatar.org/avatar/89baac3327aebd79156eb67a9db545e6" data-content="someonewithpc" data-position="top center" data-variation="small inverted">
  394. </a>
  395. </div>
  396. </div>
  397. </div>
  398. </div>
  399. </div>
  400. <div class="hide" id="edit-content-form">
  401. <div class="ui comment form">
  402. <div class="ui top attached tabular menu">
  403. <a class="active write item">Write</a>
  404. <a class="preview item" data-url="/api/v1/markdown" data-context="/diogo/gnu-social">Preview</a>
  405. </div>
  406. <div class="ui bottom attached active write tab segment">
  407. <textarea tabindex="1" id="content" name="content"></textarea>
  408. </div>
  409. <div class="ui bottom attached tab preview segment markdown">
  410. Loading...
  411. </div>
  412. <div class="text right edit buttons">
  413. <div class="ui basic blue cancel button" tabindex="3">Cancel</div>
  414. <div class="ui green save button" tabindex="2">Save</div>
  415. </div>
  416. </div>
  417. </div>
  418. <div class="hide" id="no-content">
  419. <span class="no-content">There is no content yet.</span>
  420. </div>
  421. </div>
  422. </div>
  423. </div>
  424. </div>
  425. <footer>
  426. <div class="ui container">
  427. <div class="ui left">
  428. <a href="/tos">Terms of Service</a>
  429. &bull;
  430. <a href="/about">About us</a>
  431. &bull;
  432. <a href="/outages">Outages</a>
  433. &bull;
  434. <a href="/hp/gogs/issues">Report a problem</a>
  435. &bull;
  436. <a href="/assets/librejs/librejs.html" data-jslicense="1">Javascript licenses</a>
  437. &bull;
  438. <a href="/fingerprints">SSH Fingerprints</a>
  439. </div>
  440. <div class="ui right links">
  441. <div class="ui language bottom floating slide up dropdown link item">
  442. <i class="world icon"></i>
  443. <div class="text">English</div>
  444. <div class="menu">
  445. <a class="item active selected" href="#">English</a>
  446. <a class="item " href="/diogo/gnu-social/issues/163?lang=zh-CN">简体中文</a>
  447. <a class="item " href="/diogo/gnu-social/issues/163?lang=zh-HK">繁體中文(香港)</a>
  448. <a class="item " href="/diogo/gnu-social/issues/163?lang=zh-TW">繁體中文(臺灣)</a>
  449. <a class="item " href="/diogo/gnu-social/issues/163?lang=de-DE">Deutsch</a>
  450. <a class="item " href="/diogo/gnu-social/issues/163?lang=fr-FR">français</a>
  451. <a class="item " href="/diogo/gnu-social/issues/163?lang=nl-NL">Nederlands</a>
  452. <a class="item " href="/diogo/gnu-social/issues/163?lang=lv-LV">latviešu</a>
  453. <a class="item " href="/diogo/gnu-social/issues/163?lang=ru-RU">русский</a>
  454. <a class="item " href="/diogo/gnu-social/issues/163?lang=ja-JP">日本語</a>
  455. <a class="item " href="/diogo/gnu-social/issues/163?lang=es-ES">español</a>
  456. <a class="item " href="/diogo/gnu-social/issues/163?lang=pt-BR">português do Brasil</a>
  457. <a class="item " href="/diogo/gnu-social/issues/163?lang=pl-PL">polski</a>
  458. <a class="item " href="/diogo/gnu-social/issues/163?lang=bg-BG">български</a>
  459. <a class="item " href="/diogo/gnu-social/issues/163?lang=it-IT">italiano</a>
  460. <a class="item " href="/diogo/gnu-social/issues/163?lang=fi-FI">suomi</a>
  461. <a class="item " href="/diogo/gnu-social/issues/163?lang=tr-TR">Türkçe</a>
  462. <a class="item " href="/diogo/gnu-social/issues/163?lang=cs-CZ">čeština</a>
  463. <a class="item " href="/diogo/gnu-social/issues/163?lang=sr-SP">српски</a>
  464. <a class="item " href="/diogo/gnu-social/issues/163?lang=sv-SE">svenska</a>
  465. <a class="item " href="/diogo/gnu-social/issues/163?lang=ko-KR">한국어</a>
  466. <a class="item " href="/diogo/gnu-social/issues/163?lang=gl-ES">galego</a>
  467. <a class="item " href="/diogo/gnu-social/issues/163?lang=uk-UA">українська</a>
  468. <a class="item " href="/diogo/gnu-social/issues/163?lang=en-GB">English (United Kingdom)</a>
  469. <a class="item " href="/diogo/gnu-social/issues/163?lang=hu-HU">Magyar</a>
  470. <a class="item " href="/diogo/gnu-social/issues/163?lang=sk-SK">Slovenčina</a>
  471. <a class="item " href="/diogo/gnu-social/issues/163?lang=id-ID">Indonesian</a>
  472. <a class="item " href="/diogo/gnu-social/issues/163?lang=fa-IR">Persian</a>
  473. </div>
  474. </div>
  475. </div>
  476. </div>
  477. </footer>
  478. </body>
  479. <link rel="stylesheet" href="/plugins/highlight-9.6.0/github.css">
  480. <script src="/plugins/highlight-9.6.0/highlight.pack.js"></script>
  481. <link rel="stylesheet" href="/plugins/dropzone-4.2.0/dropzone.css">
  482. <script src="/plugins/dropzone-4.2.0/dropzone.js"></script>
  483. <script src="/js/libs/emojify-1.1.0.min.js"></script>
  484. <script src="/js/libs/clipboard-1.5.9.min.js"></script>
  485. </html>