ticket summary priority component milestone type owner status created _changetime _description _reporter 5601 Mention HTTPS in deployment docs minor documentation 0.11.0 enhancement new 2020-04-28T15:47:48Z 2021-09-19T13:28:57Z Ben Sturmfels 5600 Mention a mail server in deployment docs minor documentation 0.11.0 enhancement new 2020-04-28T15:45:08Z 2021-09-19T13:28:47Z "This could be as simple as ``apt install postfix``, which will pretty well work out of the box. There is more too it that we could mention in ""considerations for production deployments"". The system would require a reverse DNS entry though and some hosts like AWS automatically blacklist mail from EC2 servers, and require you to use a third-party SMTP service, which you can configure in Postfix. Personally, I really do like having something like Postfix in the mix rather than hooking MediaGoblin directly to third-party SMTP." Ben Sturmfels 5311 Improve plugin documentation major documentation enhancement Laura Arjona Reina in_progress 2015-04-11T11:03:30Z 2015-04-11T11:09:29Z "All the available plugins should be listed. List plugins in alphabetical order. " Laura Arjona Reina 5082 We need documentation about resolving user issues major documentation task Jim Campbell new 2015-03-30T14:12:48Z 2015-03-30T14:12:48Z "We need to document how to resolve issues like media uploads failing (how to reprocess uploaded media files), images not being visible after upload (likely permission issues), and the website not being visible even though everything appears to be set up correctly (likely firewall issues). In general, this requires a ""troubleshooting"" section. Just adding this ticket as a reminder that this needs to be done. If you can think of any possible troubleshooting topics, please add them as comments to this bug. Thanks!" Jim Campbell 947 Media type configuration options are not documented trivial documentation enhancement accepted 2014-08-16T14:24:20Z 2016-07-25T00:54:35Z "Enabling the various media types is well documented, however no hint is given on how to configure media specific options, e.g. video quality. There are individual `config_spec.ini` files scattered around, but there's no mention of where to put those options in `mediagoblin_local.ini`." Matt Molyneaux 931 deployment documentation - switch to mediagoblin user with sudo minor documentation defect new 2014-08-01T12:19:23Z 2014-08-01T17:23:18Z "Switching to the mediagoblin user with sudo as mentioned in the document: http://mediagoblin.readthedocs.org/en/latest/siteadmin/deploying.html cause problems, at least with ubuntu 14.04: =================================== No password will be assigned to this account, and you will not be able to log in as this user. To switch to this account, enter either: '''sudo -u mediagoblin /bin/bash''' # (if you have sudo permissions) or: su mediagoblin -s /bin/bash # (if you have to use root permissions) =============================== After using ""sudo -u mediagoblin /bin/bash"" to switch to the mediagoblin user, and executing ./bin/gmg dbupdate for example, there is an error regarding the path of the directory .python-egg which points to homedir of the user that executed the ""sudo -u mediagoblin /bin/bash"" command. If you use ""sudo su -"" first to swicht to root and then enter the second command mentioned in the doc ""su mediagoblin -s /bin/bash"", it works perfectly. The .python-egg directory used in this case is the one in the mediagoblin user homedir. In my opinion, this: =================================== No password will be assigned to this account, and you will not be able to log in as this user. To switch to this account, enter either: '''sudo -u mediagoblin /bin/bash''' # (if you have sudo permissions) or: su mediagoblin -s /bin/bash # (if you have to use root permissions) =============================== should be replaced for something like this: =================================== No password will be assigned to this account, and you will not be able to log in as this user. To switch to this account, enter the following if you are logged as root: su mediagoblin -s /bin/bash In case you are not logged as root, excute first ""sudo su -"" to switch to the root user and then enter the command mentioned above. =============================== in the documentation." Alberto 862 "Not require the ""mediagoblin"" user during install (or, other permissions solutions)" major documentation 0.12.0 defect new 2014-03-25T16:36:02Z 2021-09-02T12:56:02Z "Our present docs are presently very confusing because we suggest users make a ""mediagoblin"" user, but this isn't the same user that the web server runs as. Thus, people tend to run into permission issues. It would be easier for the user to run as www-data on Debian and similar machines, and whatever the equivalent is on Fedora/Red Hat/etc. How to do this and not make it *more* confusing? Maybe we could have some way to have separate install pages for each distro but have them ""build"" from the same base? I'm not sure that's possible though. Other solutions to help us avoid permision issues would also help." Christopher Allan Webber 734 Document the config options available in config_spec.ini major documentation enhancement accepted 2013-07-12T19:08:42Z 2017-02-09T21:50:28Z It would be nice if we had all of the config options documented in one place. rodney757 692 Proper documentation on how to author tests major documentation defect accepted 2013-05-04T20:39:08Z 2014-07-23T15:59:26Z "We need better documentation on how to author unit tests. This should go in {{{docs/source/devel/}}} on its own page, maybe ""writing tests"" or some such. The following should be mentioned: * How to run tests (even though this is covered elsewhere) * What tools we use (pytest, webtest) * A simple ""writing a unit test"" example * Show to pass an application fixture into a test * Show how to set it up with different configs (I can explain this on IRC) " Christopher Allan Webber 650 .media_data is sometimes None (and has no rows)! Is this the right thing to do? major documentation defect new 2013-03-03T00:06:56Z 2013-08-15T15:57:12Z "Elrond and I had a conversation on IRC. Basically, I was surprised to learn that some entries do not have {{{.media_data}}} records and wrote some code that exploded on me, and that this was by design (it may be that I was involved in this design, but anyway, if so I forgot :)) The way things currently work is that media_data is optionally initialized when properties are set, like so: {{{ if len(exif_all): entry.media_data_init(exif_all=exif_all) if len(gps_data): for key in list(gps_data.keys()): gps_data['gps_' + key] = gps_data.pop(key) entry.media_data_init(**gps_data) }}} In the above example (which is image processing code) media data is initialized if there's exif data or if there's GPS data. However, if there's neither, the {{{.media_data}}} row will never be written and trying to access {{{.media_data}}} will return None. The question is: is this a good idea? The short version is that it's a battle between two different forms of minimalism: only filling the database with rows when there's something to store results in a leaner database but messier code, always having a row results in simpler code but some rows when no rows need to exist. (Thus a battle between Elrond's razor (database simplicity) and cwebber's razor (code simplicity)!) A longer version of these points are: 1. This results in code that is harder to read: {{{ if media.media_data is not None: # do something with media data }}} ... which is fairly confusing. 2. As for writing, one could argue that it's not much trickier to do {{{media.media_data.p = q}}} or instead {{{media.media_data_init(p=q)}}}. (Counterpoint: maybe there are some media data forms that require setting multiple fields at once in a somewhat interdependent or tricky way?) However, initializing fields is not the only thing; one also works with things above such as the {{{if media.media_data is not None}}} which can be very tricky to get right. Also, if Chris Webber was confused and wrote totally broken code because of this {{{.media_data}}} being None thing, probably so will others! 3. Migrations could get a lot messier. Basically, one might write a migration that assumes a query on an images' media data, and one might forget that those rows might not always be there. This could result in broken migrations. On the other hand, migrations are already one of the trickest things in mediagoblin anyway. ;) 4. The big thing though is that it's less db space to do things this way. Elrond says it's a bigger concern on MySQL/MariaDB (well, we don't support that yet anyway ;)) than it is on postgres or sqlite. 5. It wouldn't be less queries though, since we still need to check whether there's a row or not. (However, Elrond points out that the payload is somewhat less if we don't return anything!) What's the right thing to do? " Christopher Allan Webber 350 "Document what ""Category"" options are" minor documentation task accepted 2011-12-08T13:58:00Z 2016-01-14T09:40:26Z "{{{ #!rst This is meta; I was wondering if we could get an explanation in the Redmine wiki as to what the categories refer to. I get **Documentation**, **Feature idea** and **Graphic design/UI**. I don't quite understand the difference between **Infrastructure** and **Programming**. Per `#699 `_, I would be happy to document that, if someone explained the last two to me. }}}" maiki interi 5623 im unable to play videos after disableing transcoding major graphic design/interface defect new 2020-07-22T06:52:02Z 2021-04-09T07:50:48Z "im unable to play videos after disableing transcoding per https://wiki.mediagoblin.org/Configure_MediaGoblin#Disable_transcoding i added the following to the bottom of mediagoblin.ini and did ./bin/gmg dbupdate, and now it no longer plays videos i upload, even though the direct download link works just fine and plays the video in browser, in chrome and firefox, any help would be appreaciated, ty [[[skip_transcode]]] mime_types = video/webm, video/ogg, video/mp4, audio/ogg, application/ogg, application/x-annodex container_formats = Matroska, Ogg, ISO MP4/M4A video_codecs = VP8 video, VP9 video, Theora, H.264, H.264 / AVC, MPEG-4 video audio_codecs = Vorbis, MPEG-4 AAC audio dimensions_match = false" Easton 5588 Make mediagoblin.org work on small screens minor graphic design/interface defect new 2020-04-09T06:50:04Z 2020-04-09T06:50:04Z "Our website mediagoblin.org currently uses 960.css as the layout framework. From my brief investigation, it looks as though this framework does not support responsive layout. I've hacked in some changes in `theme/templates/base.html` to make it work a little better for the time being, but the site really needs to be switched to a different CSS framework, eg. Tachyons." Ben Sturmfels 5529 """Newer"" and ""Older"" page link captions are incorrect for Collection view" minor graphic design/interface 0.13.0 defect new 2017-09-27T04:53:59Z 2021-09-19T13:30:18Z "When viewing a collection, the thumbnails are listed from oldest to newest. However, the pagination links still say: ""← Newer"" (which goes back a page, to older media) ""Older →"" (which goes forward a page, to newer media) These link captions are incorrect. I am running MediaGoblin 0.9.0. " anongoblin 5502 Does not work with LibreJS major graphic design/interface 0.13.0 defect Andreas Nilsson in_progress 2017-03-20T18:47:14Z 2021-09-19T13:47:55Z "GNU MediaGoblin does not work with GNU LibreJS. There was no ""JavaScript license information"" link on the GNU MediaGoblin page, so I coludn't manually check it." CharlieBrown 5485 Audio player controls not announced to Orca screenreader major graphic design/interface defect accepted 2016-10-18T19:43:41Z 2016-10-18T22:19:01Z "As reported on the Orca Mailing List: https://mail.gnome.org/archives/orca-list/2016-October/msg00113.html there is at least one instance with an inaccessible video player control: http://vidstorm.tk/u/storm_dragon/m/the-insane-song/ Looking into the Markup it looks like audio.js is the problematic bit: http://git.savannah.gnu.org/cgit/mediagoblin.git/tree/mediagoblin/static/js/audio.js The user reported it in https://mail.gnome.org/archives/orca-list/2016-October/msg00120.html as ""There are no controls, no play, stop, pause, anything other than the slider, which itself is unlabeled."" A good entry point was suggested in https://mail.gnome.org/archives/orca-list/2016-October/msg00121.html What led to the decision of using/writing this audio.js? Where there alternatives to be considered?" André Jaenisch 5483 audio player is not accessible with screen readers major graphic design/interface defect accepted 2016-10-17T15:03:46Z 2016-10-18T22:32:48Z "Hi, I am blind, so use a screen reader to access the web. However, your audio player (not sure about video) is inaccessible with them. For example, the play button shows to my screen reader as a clickable of 'black up pointing small triangle"" which is not very descriptive. However, when I do click on the triangle, the pause button is a symbol that my screen reader cannot recognize, which simply speaks as clickable. This is on windows, using jaws for windows. I haven't tested with NVDA (an open source screen reader), but with orca on linux, the clickable isn't even seen at all, and there is no way to play the audio. For audio (and video, possibly) I can recommend able player (https://ableplayer.github.io/ableplayer/) as an alternative that is guaranteed to be accessible if done right. IT could also introduce new features, such as closed captions and transcripts on videos. Thanks, -Michael. " Michael Taboada 5443 Theater mode for videos in MediaGoblin major graphic design/interface enhancement review 2016-03-21T11:03:17Z 2016-03-21T11:17:02Z Theater mode for videos in MediaGoblin Saksham Agrawal 5434 Lightbox effect for images minor graphic design/interface enhancement accepted 2016-03-02T17:07:20Z 2021-04-09T06:18:11Z Adding lightbox effect for images would be a good enhancement. Saksham Agrawal 5428 """Add media"" and ""Create new collection"" placing" minor graphic design/interface enhancement new 2016-02-28T21:29:36Z 2016-03-01T12:53:18Z """Add media"" and ""Create new collection"" should be present out of the drop down menu. This will improve the UX." Saksham Agrawal 5418 Fix the look of media type icon minor graphic design/interface 0.11.0 enhancement new 2016-02-16T22:57:19Z 2020-04-23T12:10:37Z Comments from #365 need to be resolved and we should either say that we like the position/look or fix it Boris Bobrov 5417 Add more type icons minor graphic design/interface 0.11.0 defect new 2016-02-16T22:55:27Z 2020-04-23T12:12:01Z With bug #365 resolved, we need icons for all the types we have. Boris Bobrov 5378 video area does not fit height when video is not transcoded minor graphic design/interface defect new 2015-12-21T13:37:33Z 2015-12-21T13:37:33Z "I avoid transcoding of webm, it's ok it plays fine but I get non transcoded videos shown weird in mediagoblin preview as in here: [http://mediagoblin.mysticemporium.xyz/u/prietus/m/debian-jessie-btrfs-subvols/] thanks." teraflops 5351 Add “private” setting to limit media view/access to logged-in users minor graphic design/interface enhancement new 2015-10-10T23:50:48Z 2020-05-16T15:54:30Z "MediaGoblin currently exposes all the available media to the world (e.g., on the front page or a user's page), logged in or not. In some cases, it would be good to be able to restrict access to a select few. One way to do this would be to condition the display of media and galleries on whether a user is logged in or not. There is also the issue of access to the file itself, which should be similarly prevented from an unlogged user. Of course, this behaviour should be configurable through a setting option." Olivier Mehani 1051 """Max file size: X mb"" should state ""MiB"", not ""mb""." trivial graphic design/interface enhancement accepted 2014-12-04T23:04:26Z 2016-07-25T00:56:26Z "First of all, thanks for your awesome work in Mediagoblin. I know this might sound very picky and even stupid, but stating ""MB"", in caps, would be wrong, because the real unit used for files is, universally, but commonly misnamed, the mebibyte, MiB. It's commonly misnamed as ""MB"" for historical reasons, and even if incorrect, I can understand the resistance to change. But stating ""mb"" is wrong in all levels. Mega is ""M"", not ""m"" (which could be 'meters'), and ""b"" means bits, not bytes. I'm providing a patch to be less annoying in case you feel this is an acceptable change. I hope it's well done, it comes from a ""git diff"" " anongoblin 1045 Merge sandyseventiesspeedboat into core minor graphic design/interface 0.11.0 task review 2014-12-01T16:43:30Z 2020-05-10T12:43:26Z Move the sandyseventiesspeedboat theme into core instead of being a git submodule. Jeremy Pope 999 Notifications panel minor graphic design/interface enhancement Jeremy Pope in_progress 2014-10-18T13:27:27Z 2014-12-08T19:44:48Z "Notifications show full width. No distinction between notifications and menu. A start could be to add a top margin of about 20px to: .header_notifications" sebomoto 998 Profile in Topbar minor graphic design/interface enhancement new 2014-10-18T13:23:40Z 2014-12-11T15:20:47Z "In topbar you can only see the triangle. To show users that they logged in show their avatar, nickname or other information (like twitter). " michael 992 "Change Me ""Media Processing Panel"" into something more simple" minor graphic design/interface enhancement new 2014-10-18T13:07:50Z 2016-01-12T22:35:28Z "The phrase ""Media Processing Panel"" is kind of to excessive. Something like ""Media queue"" would be much more appropriate." fbnlrt 988 Meta information right next to picture is more prominent than title and description minor graphic design/interface enhancement new 2014-10-18T12:58:27Z 2016-09-20T01:04:24Z "Currently the layout of the picture detail page puts the meta information (upload date, tags, report image button, etc) right next to the image, making it very present. The title, description and comments are pushed down below. Arguably these are more important than the meta information though. A possible solution for this would be to make the image take the whole width in the first block (16 columns). Then the current sidebar would just be pushed down to start at the same height as the title and description." jan 987 Account Settings: Better grouping of sections major graphic design/interface enhancement new 2014-10-18T12:57:53Z 2014-10-18T12:57:53Z "Currently the ""edit Accout"" page is poorly structured. There are also three links who point exactly to the same page (change passwords). It would be useful to group the three sections ""change password"", ""email notifications"" and ""license"" into visually clear separated parts. " fbnlrt 986 Double confirmation needed to delete media minor graphic design/interface enhancement review 2014-10-18T12:57:28Z 2017-01-30T13:02:18Z "When deleting a media item you have to first check a checkbox and then click then delete button. This could be simplified by getting rid of the checkbox. Accidental media deletion should be prevented by the dialogue itself." sebomoto 979 Server Error is untranslatable trivial graphic design/interface defect new 2014-09-26T09:46:40Z 2014-09-30T15:19:54Z "The following page is available only in English. {{{ #!html

Server Error

YEOWCH... that's an error!

.-------------------------.
|     __            _     |
|    -, \_,------,_//     |
|     <\  ,--   --.\      |
|      / (x  ) ( X )      |
|      '  '--, ,--'\      |
|     / \ -v-v-u-v /      |
|     .  '.__.--__'.\     |
|    / ',___/ / \__/'     |
|    | |   ,'\_'/, ||     |
|    \_|   | | | | ||     |
|     W',_ ||| |||_''     |
|      |  '------'|       |
|      |__|     |_|_      |
|     ,,,-'     '-,,,     |
'-------------------------'
  

Something bad happened, and things broke.

If this is not your website, you may want to alert the owner.



Powered... er broken... by MediaGoblin, a GNU Project.

}}}" Genghis Khan 925 Consider reordering the media sidebar minor graphic design/interface enhancement new 2014-07-26T00:18:41Z 2014-07-26T00:18:41Z "Hi everybody, congratulations for your work in MediaGoblin. The media sidebar, right now, displays, in this order: * Date added * tags * collections * report media * license * location * exif * attachments * feature * metadata And these ones where I'm not quite sure where are they displayed (at the bottom, I think) * Download * Created * 3d info I think License should be near ""added time"", since the person uploading decided the license in that time. And Feature, Report media, and Download could be the last ones in the list (after you see all the info, you decide what to do with the media). My proposal: * Date added * Date created * License * Location * Exif * 3D info * attachments * metadata * tags * Collections * Feature media * report media * Download What do you think? I can prepare a patch when you decide the final order." Laura Arjona Reina 882 Moderation: reason for report looks like a comment. minor graphic design/interface defect new 2014-05-08T16:26:06Z 2014-05-08T16:26:06Z "A user accidentally posted a moderation report instead of a comment: https://gobblin.se/u/avrs/m/a-user-accidentally-made-a-report-instead-of-a-comment/ ------------------------------------- [UserA] 2 days, 18 hours назад: [Comment 1 text] Reason for report: [UserB] 4 days, 18 hours назад [Comment 2 text] ------------------------------------- [Comment 2 text] is the stated reason for report, but it was actually intended as a comment. Although the UI that led to that could be improved, the UI shown above also needs to be improved, maybe by adding a border, and making it clear that the time and reporter's name are not a part of the reason message." Aleksej 856 Time interval localization fails minor graphic design/interface defect new 2014-03-04T15:01:05Z 2014-03-04T15:01:05Z "Time intervals, such as “1 hour, 20 minutes ago” are never translated, even though the i18n is implemented correctly. Cause: timesince.py uses lazy_pass_to_ungettext for the translation. The function, ungettext, requires a singular-plural pair. But this pair was not recognized when generating the .pot file. To be usable with ungettext, the record must contain both “msgid” and “msgid_plural”. Consequently, ungettext sees neither singular nor plural translation, even when it is present in the language file, and always defaults to the English string. Solution: when generating the .pot file (template for translators), be sure not to miss the ungettext aliased as “_” in timesince.py. Easier solution: just patch the .pot file with “fix-plurals-in-pot.patch” that I included in the attachment. This will fix the 6 special cases (year, month, …) and you can continue generating the template the same way you do now. Note: If you are wondering why “minutes” is mentioned twice, it is because timesince.py uses it via both ungettext and ugettext (in the case of “0 minutes”), and it wouldn't otherwise see it. You can either change it to ungettext with n=1, or have the word “minutes” twice in the .pot, I chose the latter because it didn't require changing the code. So, I believe it will work like this: if you patch the current mediagoblin_mediagoblin.pot and upload it to transifex, it will add these new words. Once people translate them, the .po files you'll export from transifex will already be in the correct format, and time intervals will appear in those languages, without changing any of the code. I tested it on my machine and it seems to work." digital-dreamer 826 Mediatype of image should provide a Download link. minor graphic design/interface defect new 2013-12-28T17:01:11Z 2018-05-07T09:52:35Z "Currently, the webpages for images (PNG, GIF, JPEG, and TIFF) provide no link for downloading the original file. If the preview is a scaled version of the original file, it is left to the user to right-click on the preview image and choose ""Save link as..."" or ""Save target as..."" or somesuch (depending on the webbrowser used). It would more convenient and less confusing if there was an explicit Download link as is provided for on the webpages of other mediatypes. For example, if I am hosting a PNG file that has a scaled down preview, I could instruct someone to visit the page and click on the ""Download"" link -- there would be no concern about what browser they are using and no chance that they might mistakenly choose the ""Save image as..."" command. " saul 817 4 different similar strings about Markdown trivial graphic design/interface defect new 2013-12-03T20:03:56Z 2015-02-19T04:52:21Z "Unless #389 gets fixed. ======================== #: mediagoblin/edit/forms.py:91 mediagoblin/submit/forms.py:65 msgid """" ""You can use\n"" "" \n"" "" Markdown for formatting."" msgstr """" -- #: mediagoblin/submit/forms.py:41 msgid """" ""You can use\n"" "" \n"" "" Markdown for formatting."" msgstr """" -- #: mediagoblin/user_pages/forms.py:25 msgid """" ""You can use Markdown for formatting."" msgstr """" -- #: mediagoblin/user_pages/forms.py:49 msgid """" ""You can use\n"" "" \n"" "" Markdown for formatting."" msgstr """" ======================== " Aleksej 777 Not possible to edit collection item notes minor graphic design/interface defect accepted 2013-09-25T13:59:31Z 2013-11-22T14:51:02Z "When adding media to a collection one can add a note. Currently there is no way to edit that note. Clicking ""add to collection"" on the media and selecting the same collection, one gets a ""this media is already in the collection"" error message. Instead one should get redirected to a form field, that lets one edit the relationship." spaetz 720 """file correctly uploaded"" bar is misleading" minor graphic design/interface defect accepted 2013-06-20T14:34:42Z 2016-01-14T09:40:16Z "With my new fresh installation of MG I added a sample picture. Then the system said on the green bar ""file correctly uploaded"" but in the same page there was also written ""you haven't already added files"" Screenshot attached. I'm currently testing the dave thompson 421-mysql branch which is up to date with master." Danilo Tomasoni 714 """Change forgotten password"" e-mail subject is not localizable" trivial graphic design/interface defect accepted 2013-05-31T01:08:01Z 2016-01-14T11:13:54Z "Subject: ""GNU MediaGoblin - Change forgotten password!"" is not translatable." Aleksej 712 Base template should not enforce header's max-width minor graphic design/interface enhancement new 2013-05-26T11:03:53Z 2013-05-26T11:03:53Z "Right now mediagoblin's base theme (aka default theme)) enforces header's maximum width, but this should not happen in my opinion, because can make some troubles to theme designers. http://gitorious.org/mediagoblin/mediagoblin/blobs/master/mediagoblin/static/css/base.css#line116 In my opinion, base.css must be included for _really_ base design (e.g. theme skeleton), and all max-* items must be defined in themes (and colors too). So there is a possible solution: make a default theme, that can be specified in ""theme"" option in mediagoblin{_local}.ini and clean up base.css." Stanislav N. aka pztrn 701 Automatically play audio / video in collections successively minor graphic design/interface enhancement new 2013-05-09T21:26:29Z 2013-05-09T21:26:29Z "Similar to how !YouTube handles it with its playlists: There is a button ""autoplay"" that let's you play one video or audio track after another automatically. Also there should be buttons for ""next media in collection"", etc." Jakob Kramer 635 "REQUEST: Add a ""like"" (and maybe dislike) function" minor graphic design/interface enhancement accepted 2013-02-14T02:58:10Z 2016-01-14T09:41:04Z "Like the summary says. It would be neat (and super simple) to have a ""like"" button (or maybe love/heart/4 or 5 star rating) for all kinds of media. Or, someone could use this ticket to educate me why this isn't such a good idea, despite so many the big media sharing sites having this feature." Andrew Ter-Grigoryan 593 Thumbnails of portrait images have inconsistent padding minor graphic design/interface defect accepted 2013-01-10T13:15:46Z 2016-09-18T02:12:52Z "Thumbnails of portrait images have padding on every side except on top, which makes them look off. Screenshot: http://pix.toile-libre.org/upload/original/1357823610.png Perhaps adding a separator between the title and the image will fix this, so that the thumbnail will no longer look like it has padding on the bottom." "Sergey ""Shnatsel"" Davidoff" 591 Default theme handles thumbnails for small pictures poorly minor graphic design/interface defect accepted 2013-01-10T12:42:03Z 2016-09-18T02:11:02Z "The default theme handles small images poorly. Screenshot: http://pix.toile-libre.org/upload/original/1357821395.png The title should always be on the bottom to make browsing many pictures in a row easier. The thumbnail should be vertically centered in the remaining space." "Sergey ""Shnatsel"" Davidoff" 590 Provide Markdown formatting options rather than linking to Markdown website trivial graphic design/interface enhancement new 2013-01-09T03:32:06Z 2013-01-09T03:32:06Z "When a new user is setting up their profile, the website text tells them that they can use Markdown, and links them to the Markdown website. A better approach might be to do what Reddit does when allowing users to add basic text formatting to their comments. Reddit just has a link that says ""Formatting Help,"" which displays text formatting options when someone clicks on it. It displays things as, ""You Type"" and ""You See"", which I think makes sense for less technical users who might not know or care much about Markdown. Just showing the formatting options would help them do what they need to do without having to review the Markdown website." Jim Campbell 534 Use accesskeys in the forms minor graphic design/interface enhancement new 2012-11-11T07:30:21Z 2015-02-19T05:05:31Z "See, e.g., the MediaWiki edit interface. Shift+alt+s will submit the form. Even most web forum software has this feature. There's some hacking-around-wtforms that needs to be done for this, but it's possible." Mark Holmquist 530 Airy: audio player’s time indicator is low-contrast minor graphic design/interface defect accepted 2012-11-05T10:52:49Z 2014-05-05T16:42:12Z See the bottom-right angle of the player at https://gobblin.se/u/selknam/m/impulse-by-silenwater-from-still-power/ Aleksej 516 """Hidden fields"" in oauth authorize client form not so hidden" minor graphic design/interface defect joar new 2012-10-16T06:41:14Z 2016-09-18T02:04:39Z joar 490 Media processing panel layout improvements minor graphic design/interface enhancement new 2012-08-23T15:27:10Z 2015-02-19T05:11:33Z "schendje and aaronw suggested some improvements to the panel's appearance: * The introductory text (""You can track..."") is probably unnecessary (at least as long as the content is self-descriptive) * Failed and successful uploads can be combined into a single list (""Recent uploads"") that distinguishes successful from failed uploads by color and/or other indicators * Column headings should be left-aligned like column contents to improve readability * The headings are not very visually distinct from the rest of the content -- indenting the tables a few em's to the right might help." Aaron Williamson 389 Remove Markdown explanations, after figuring out how to handle links minor graphic design/interface defect new 2012-02-09T20:55:28Z 2015-02-19T04:51:11Z "Currently some inputs such as the comment field, the profile bio and the media description have ""You can use Markdown for formatting."" next to them, where ""Markdown"" links to http://daringfireball.net/projects/markdown/basics . I'd prefer to have these removed, the reasons being: 1. Not all Markdown styles work, on purpose. Headers don't show, for instance, because this would mess up the page layout. 2. Markdown aims to be as natural as possibe. Type *this* and it will show it with emphasis. Lists are easy to create as well. Therefore, no explicit explanation is needed. 3. Having less stuff is good. The only problem to me seems to be links, because it is unclear how to create those. Either: 1. We explain how to create links. 2. We add a small button that inserts a link template in the field. Otherwise, it will be hard to figure out how to create links because inserting a URL will not result in one (maybe that is a bug in itself?)." Jef van Schendel 244 GIF images work on media pages in most (of my personally experianced) cases, but not all. minor graphic design/interface defect accepted 2011-09-05T17:13:00Z 2012-06-22T20:58:42Z "{{{ #!rst When the user uploads an image we convert it to one or two additional JPEG sizes. 1. We will always create thumbnail.jpg. 2. If the image dimensions exceed one of 640x640px, we will create medium.jpg 3. If there exists a medium.jpg file for a media entry, we will show it on the media page, **else we will display the original file** This means that GIF images work if the fit within 640x640px Proposal¶ --------- 1. Create GIF thumbnails and medium.jpg if the original is a gif image Possible setbacks with this is that some thumbnails may present a large download despite it's small size. Possible solutions to possible setbacks¶ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It might be possible to resize a preset duration for the thumbnail animation and create the medium.jpg (if needed) with the full animation. }}}" joar 5341 mg-dev-environments repository needs migration to Savannah minor infrastructure task new 2015-08-04T01:21:46Z 2015-08-05T06:00:15Z I've just run across the mg-dev-environments repository in the docs, but it's no longer available though Gitorious (https://gitorious.org/mediagoblin/mg-dev-environments say that it's currently being migrated to archive.org). Can this please be pushed up to Savannah? Ben Sturmfels 1086 Add CAPTCHA support major infrastructure enhancement accepted 2015-01-11T23:28:45Z 2016-01-15T16:09:59Z Add template and authentication hooks to enable CAPTCHA plugins to be easily integrated. ayleph 1070 Handling languages Babel currently doesn't (Na'vi, Lojban) major infrastructure defect accepted 2014-12-12T21:35:24Z 2016-01-09T22:36:44Z "Currently, Babel doesn't support languages like Na'vi, Lojban. The unfortunate side effect of this is that when our language tooling hits these languages, it explodes. Looking into how to fix this, it looks like Babel [https://github.com/mitsuhiko/babel/blob/master/scripts/download_import_cldr.py#L16 downloads] the [http://cldr.unicode.org/ CLDR data] on languages, and this is used to populate a big ol' dictionary which is stored in [https://github.com/mitsuhiko/babel/blob/master/babel/localedata.py#L22 babel.localedata:_cache]. Unfortunately, while we *can* monkeypatch this variable (simply [https://github.com/mitsuhiko/babel/blob/master/babel/localedata.py#L51 load('en_US')] once then append 'jbo' or etc to the dictionary), the value we would have to supply is a very, very complex data structure, and I doubt we could provide it correctly. This value is extracted by Babel during the [https://github.com/mitsuhiko/babel/blob/master/scripts/download_import_cldr.py CLDR data downloading/importing process] and it is a non-trivial exercise. I [https://github.com/mitsuhiko/babel/issues/30#issuecomment-66796699 filed a bug looking for a workaround for unidentified languages], but I think a workaround will be hard given the large amount Babel relies on this data. So, probably, we will need to supply CLDR data, but that data is too complex to just write by hand. One way or another (monkeypatching or not), in order to supply these, we need the proper CLDR data. I spoke to someone involved in the process, and found two things: * They are welcome to contributions of Na'vi and Lojban to their catalog, and there is a [http://cldr.unicode.org/development/new-cldr-developers new contributor page]. We should (and likely will) do this. Probably, the process for getting things officially will take some time. * In the meanwhile, while going through the process to generate those, we should be able to get the appropriate files to run through the necessary tooling to generate the data we need. " Christopher Allan Webber 959 Create separate git repository for MediaGoblin themes trivial infrastructure enhancement new 2014-09-01T03:26:45Z 2014-12-09T16:21:34Z "MediaGoblin should provide a separate mediagoblin-themes repository similar to that which the Pelican project maintains [0]. It would be simple to set up, and would provide a common platform for theme hosting and user theme discovery. The core themes could be maintained directly in the repository, and any user-contributed themes could be listed / provided as git submodules. To be included, each theme should ideally include at least one screenshot of the theme as deployed and state which MG versions it is valid against. [0] https://github.com/getpelican/pelican-themes" Jim Campbell 811 Move away from Paste* major infrastructure 0.12.0 enhancement new 2013-11-12T18:44:00Z 2021-04-09T06:59:03Z "I don't like the PasteScript and PasteDeploy libraries that we use since they seem to lack a visible community and there are other replacements out there with wide adoption and living communities. I talked a bit with Chris on IRC about this, this issue could be seen as a RFC on this my proposal." joar 385 Show the original’s file size and dimensions on the file page minor other enhancement accepted 2012-01-28T13:30:00Z 2012-06-09T14:00:11Z "{{{ #!rst Currently there is no indication of the original's file size or dimensions. }}}" Aleksej 348 Ads support with Open X trivial other enhancement accepted 2011-12-07T14:09:00Z 2012-03-02T13:49:22Z "{{{ #!rst I think that at some time we will need to include ads support, and that for this it could be ideal the open-source advertising server OpenX. I've written more details in my wiki user page, since I think this will need a lot of literature: `http://wiki.mediagoblin.org/User:Manolinux#Openx\_support `_ Tell me your opinion here or by IRC. }}}" Manolinux aka Mu 5629 Replace media through GUI major programming enhancement new 2022-06-10T17:18:25Z 2022-06-10T17:18:25Z It would be nice if a logged in user could replace media without making a new entry. I know how to manually change the files through the command line and backend, but it would be easier for the less technical if this was an option through the interface. thomzane 5628 Select new thumbnail through GUI minor programming enhancement new 2022-06-10T17:17:04Z 2022-06-10T17:17:04Z It would be nice if a logged in user could select a thumbnail from a video. I know how to manually set the thumbnail through the command line and backend, but it would be easier for the less technical if this was an option through the interface. thomzane 5619 Modernise gallery listings major programming 0.13.0 enhancement new 2020-05-16T15:50:34Z 2021-09-19T12:59:26Z "The gallery looks a bit old and clunky. It would be nice to refresh it a bit, with less whitespace more room for the thumbnails, and a more dynamic/responsive layout taking into account size of the various thumbs, as well as that of the container window" Olivier Mehani 5617 Private mode major programming 0.13.0 enhancement new 2020-05-16T15:45:33Z 2021-09-19T13:00:18Z "Here is a first cut at requiring login before seeing content. It adds a configuration option, `require_login`, which, if set, prevents media and listings from being displayed to anonymous visitors. It also doesn't output any entry in the RSS feed, which could otherwise be used to discover paths to the media. I realised fairly late that this sort of behaviour could be implemented through decorators (probably as a light superset to `@require_active_login`, checking the config). At the moment, this is mostly implemented within the Jinja templates, rendering login pages where listings should be, rather than blocking the entire page. Let's discuss what the best approach is!" Olivier Mehani 5616 Update Leaflet.js, jQuery, Video.js - heck, check and upgrade them all! critical programming 0.11.0 defect new 2020-05-16T11:02:34Z 2020-05-16T11:05:13Z We're using rather old versions of Leaflet.js, jQuery etc. We should check that things work with a recent version and update `bower.json`. Ben Sturmfels 5613 Configuration for default video quality minor programming 0.13.0 defect accepted 2020-05-13T22:38:49Z 2021-09-19T13:05:14Z "with 0.10 version, a nice enhancement for video quality selection. 3 level are available by default (360, 480 and 720p), is there any configuration to generate only some of them and what matter more for me is could we force a default quality for the user, actually it's the lowest by default, which poorly show quality works for people not knowing how to change the quality... thanks a lot again, " TmCTux 5605 Atom feed compatibility with podcatchers minor programming enhancement new 2020-04-30T13:29:09Z 2020-05-06T11:23:59Z Has anyone modified the atom feed to point to the actual files for download? It would be nice to have the feeds compatible with podcatchers. This would work best with audio and video feeds. thomzane 5599 Celery requires python3-gi and python3-gst-1.0 even when audio/video not enabled major programming 0.11.0 defect new 2020-04-28T15:22:39Z 2020-04-29T02:55:17Z "I've just been testing the installation instructions and noticed that I needed to install python3-gi and python3-gst-1.0 to avoid celery startup failures like: {{{ Apr 29 00:34:00 swing-virgo celery[6374]: File ""/srv/mediagoblin.example.org/mediagoblin/mediagoblin/media_types/video/transcoders.py"", line 34, in Apr 29 00:34:00 swing-virgo celery[6374]: import gi Apr 29 00:34:00 swing-virgo celery[6374]: ModuleNotFoundError: No module named 'gi' }}} and {{{ Apr 29 00:46:38 swing-virgo celery[7111]: File ""/srv/mediagoblin.example.org/mediagoblin/mediagoblin/media_types/video/transcoders.py"", line 35, in Apr 29 00:46:38 swing-virgo celery[7111]: gi.require_version('Gst', '1.0') Apr 29 00:46:38 swing-virgo celery[7111]: File ""/usr/lib/python3/dist-packages/gi/__init__.py"", line 129, in require_version Apr 29 00:46:38 swing-virgo celery[7111]: raise ValueError('Namespace %s not available' % namespace) Apr 29 00:46:38 swing-virgo celery[7111]: ValueError: Namespace Gst not available }}} This should only happen if audio/video is enabled. For now I've updated the install docs to include these dependencies." Ben Sturmfels 5586 My somewhat prioritised Mediagoblin wish list major programming 0.13.0 enhancement new 2020-04-02T11:40:32Z 2021-09-19T13:37:05Z "Posting here from my post to the ML a few weeks ago, for better tracking and visibility. ## Important * Sometimes slow/unresponsive * high celery CPU usage when idle * ... + hard to debug/trace * DB deadlock with SQLite ## Normal * Rotate media without reencoding * Navigate through the current tag or collection rather than user-post history, depending on how the media was reached (maybe using proxy URLs e.g. /t/TAG/m/MEDIA or /u/USER/t/TAG/m/MEDIA instead of /u/USER/m/media when accessed through the tag page, or /u/USER/collection/COLLECTION/m/MEDIA, when accessed through the collection page) * private mode * ... + share single media/collection with private, revocable, token * bulk actions: upload/delete/tag,... from a single page ## Minor * Play animated gif * audio/audiolab * Category sorting * tag rename * tag suggestion * audiolab no longer available on recent Pythons * keyboard navigation in galleries: left/right for prev/next page * navigation pager at top of page ## Wishlist * Crop * show Geotag + other metadata from video * More attractive/immersive layout with less whitespace between thumbnails and screen walls * comment edition/deletion * multi site install, split binary from config * standard python build + venv * search by keywords and/or multiple tags " Olivier Mehani 5568 LDAP Plguin doesn't work well with Active Directory minor programming 0.13.0 enhancement review 2018-04-11T13:52:45Z 2021-09-20T17:39:17Z "All, In implementing GMG in our Active Directory Environment, I discovered that it doesn't work particularly well with AD. I've generated a patch for some changes that I've made. Some of the changes are specific to AD, but some of them should be more generic for any LDAP implementation. I've also attempted to clarify the documentation, since I had to do to quite a bit of code reading to even find what all of the LDAP config options were. The changes in this patch are tested against my AD environment, and are known to be working -- I'll probably be rolling this out to production this week. I do hope to get an OpenLDAP implementation set up so that I can also test against it, but in reality I am probably quite a ways from it. I wasn't able to find a style guide, so I hope that my code is up to snuff. It is my first ever patch of this sort, so please be gentle. I'm happy to answer any questions." Meaulnes 5567 Allowing setting per-user upload limits trivial programming enhancement new 2018-04-10T17:33:07Z 2018-04-10T17:33:07Z You can set a global user upload limit in mediagoblin.ini. I'd like to add a mechanism to set per-user upload limits. I currently do this by manually editing the values in the database, but perhaps we could add this functionality to an administrator page on the web interface or to a gmg subcommand. ayleph 5566 Display uploaded file size sum vs upload limit minor programming enhancement new 2018-04-10T17:23:36Z 2018-04-10T17:23:53Z "There's a configuration option to set an upload limit, but there's no mechanism to display to a user how much of that limit is being used. I would like to add a display of the user's consumed upload limit viewable only by the user. Since it's possible to modify the upload limit on a per-user basis in the database, we should read the upload limit on a per-user basis instead of reading the global upload limit set in mediagoblin.ini. For sites that haven't implemented an upload limit, I think it's still nice to show a user how much data they've uploaded. In this case, perhaps we could show something like ""450 MB / Unlimited"" or something similar." ayleph 5565 Display file size of uploaded media trivial programming enhancement new 2018-04-10T17:15:17Z 2018-04-10T17:15:17Z I think it would be useful to show the file size of uploaded media, on the media page itself, in the processing panels, or both. This could be of interest to people downloading files (especially potentially large video files). It would also be useful for sites that have implemented the user upload limit as it gives the user a way to see how much space each file takes up. ayleph 5564 Show unprocessed media in processing panel major programming 0.13.0 defect review 2018-04-09T06:02:38Z 2021-09-19T13:42:03Z Media with the state 'unprocessed' don't appear in the user or moderation processing panels. I'm splitting this off from #5491 as its own separate issue. ayleph 5544 Orphaned notifications critical programming defect review 2017-11-04T17:06:24Z 2018-10-30T18:35:58Z "My database contains a number of orphaned notifications that result in server errors with the following output. {{{ File '/path/to/mediagoblin/mediagoblin/templates/mediagoblin/fragments/header_notifications.html', line 8 in top-level template code {% set comment_object = comment_wrapper.comment() %} UndefinedError: 'None' has no attribute 'comment' }}} For users that want notifications, this results in server errors every time they log in or try to navigate to any page while logged in, effectively locking them out of the instance." ayleph 5528 xss in videojs-swf major programming defect new 2017-09-27T00:27:03Z 2017-09-27T07:18:08Z "found xss in videojs swf [https://mediagoblin.org/js/extlib/video-js/video-js.swf?readyFunction=alert] [https://mediagoblin.org/js/extlib/video-js/video-js.swf?poster=http://www.flash-test.net/relog.swf] VideoJS does not escape metadata passed to JavaScript via ExternalInterface. " shivbihari pandey 5522 Add pixel to test_exif_image_orientation trivial programming 0.13.0 defect review 2017-08-14T02:25:19Z 2021-09-19T13:50:32Z "When executing the tests on a recently cloned repository, the test_exif_image_orientation failes because the value is apparently different on my system. The value (36, 23, 14) must be added." jsandoval 5510 Comments lost when navigating to next/previous media minor programming defect new 2017-06-01T14:05:54Z 2018-04-19T14:08:35Z "A user on my site complained that his comments are lost when he presses the left or right arrow key after typing them. I checked the code in keyboard_navigation.js, and it appears to properly ignore the left/right arrow keys while a textbox has focus. But if you click outside of the textbox after typing a comment and then press left or right, the page changes and the comment is lost. Similarly, if you click the newer/older buttons after typing a comment, the comment is lost. Can we add some smarts to know that text has been entered, and then present the user with a ""are you sure you want to leave"" dialog when they navigate away?" ayleph 5509 Video with lower dimensions gets transcoded to higher dimensions major programming 0.13.0 defect new 2017-05-29T13:56:00Z 2021-09-19T13:30:32Z "I uploaded a video with (256, 144) dimensions, and changed the max default size (that a video can be transcoded to) to (1920, 1080). And, to my surprise, the video actually got transcoded to those dimensions. So, when I viewed it on my local machine, there was zero padding (black colour) added to the top and bottom of the video to be in that resolution (dimensions). ''These are the images:'' [[Image(https://ibb.co/cb1CAv)]] [[Image(https://ibb.co/cxwqxa)]] I checked '''skip_transcode()''' method myself, and I realized the dimensionality check was working fine, but there was a problem with container-formats ''(not sure if it is a problem)''. Basically, the video had 'ISO-MP4' container-format but mediagoblin config container-format string only allowed 'Matroska' container-format, and because of this the video was getting transcoded again (even though all other checks were fine). '''Shall we remove this container-format check? Or add more container-formats to the config?'''" Vijeth 5503 Move federation code to ActivityPub spec major programming 1.0 enhancement Christopher Allan Webber in_progress 2017-04-11T16:21:23Z 2018-04-19T14:10:25Z Convert the federation code from using the legacy Pump API spec to [https://www.w3.org/TR/activitypub/ ActivityPub]. Christopher Allan Webber 5492 Handle errors in case of unsuccessful commenting minor programming defect new 2017-01-29T14:10:31Z 2017-01-29T14:10:31Z Fixing #868 allowed submitting comments with ajax, without page reload. However, unsuccessful commenting should be reported to the user somehow. Now it is logged to console, but it would be great if we could show user a message with red background, for example. Boris Bobrov 5491 Enhancements for the media-processing panel major programming enhancement new 2016-11-05T10:28:01Z 2018-04-09T06:03:26Z "As mentioned in #463, some ideas for things to add to the control panel: * Queue of media in the `unprocessed` state * Allow to kill and restart processing for media in the `processing` state (they sometime get stuck) [aka `update core__media_entries set state='unprocessed' where id='ID'` `gmg reprocess run ID initial`] * Allow to reprocess `processed` entries [aka `gmg reprocess run ID transcode`] * Allow to regenerate the thumbnail for one entry [close to, but not exactly, `gmg reprocess thumbnails`] * Allow to rotate media, see #5487 " Olivier Mehani 5489 user_ldap: Log something on failure due to SSL problems minor programming enhancement new 2016-11-03T11:06:18Z 2017-10-09T03:13:30Z "The SSL certificate of my LDAP server lapsed yesterday. I renwed it but forgot to restart the server. My MediaGoblin instance authenticates users against this LDAP server, and started refusing logins, showing just “Login failed” in the UI. Nothing appeared in the log suggesting that, rather than an invalid user or password, the reason of the failure was an SSL error when connecting to the server. It would be good to log this explicitely, to help debugging those weird issues." Olivier Mehani 5488 Feature: Email/notifications: allow to follow user/collection/tag/everything major programming enhancement new 2016-10-22T10:14:17Z 2016-10-22T10:14:17Z "Currently, notifications are only sent upon new comments to own, previously commented-on media, or previeusly subscribed-to media. It would be great to be able to also follow to a user, a collection, a tag, or just everything, receive a notification for each media added therein, and (maybe optionally) automatically subscribe to their comments. Notifications could be sent immediately or batched with a configurable time-period, and should ideally contain thumbnails. " Olivier Mehani 5487 Feature: allow to rotate media after upload major programming enhancement new 2016-10-22T10:09:39Z 2016-10-22T10:09:39Z "Partially linked to #454, but more generic, it would be good to have the option to manually rotate uploaded media when then are not rendered properly for any reason (missing/incorrect EXIF tags, weird video format, ...). This can be as simple as an inconditional “Rotate 90°”, where other rotation can be obtained by clicking the button multiple times. Ideally, only the thumbnail would be rotated in real time, and the full file itself as an async media processing. Dimensions in the database should also be uploaded accordingly." Olivier Mehani 5486 Mark all read does not mark all read major programming defect new 2016-10-22T10:03:11Z 2016-10-22T10:03:11Z As per summary, when multiple comments were added to media, clicking the “Mark all read” button doesn't do anything. Visiting the media page doesn't either. Only clicking on each comment in the notification box to highlight them en the media page removes them from there. If multiple comments are for the same media, one needs to click on them separately to make each of them disappear from the notification box. Olivier Mehani 5480 WebTorrent minor programming enhancement new 2016-10-06T09:32:18Z 2016-10-08T10:50:14Z "There is already a proposal in issue #779 to support a p2p content distribution technology. Sadly SwarmPlayer doesn't seem well at the moment - even the hosting organisation p2p-next seems down. Luckily there is a new candidate out now to help people distribute content to a large audience. A streaming BitTorrent Client written in JavaScript and running in the browser. https://github.com/feross/webtorrent Providing this would also mean, that we get a torrent for every video for free. So users may also download the content with their BitTorrent Client and seed (distribute) it." hex 5477 Browse all media minor programming enhancement new 2016-09-21T10:37:07Z 2016-09-21T10:44:23Z "Currently, when clicking on any media from the front page, say at `URL/`, one is redirected to the user's media page, at `URL/u/USER/m/SLUG/`. Using the arrows now only browses media for this user, rather than media as displayed on the front page. This ticket suggests the creation of an `URL/m/SLUG` route, which essentially displays the media as the `/u/USER` one, but allows to browse media across users. Link on the front page would lead to those pages, while links from `URL/u/USER` would lead to the currently existing page. Actually, the same should also apply for collection: links in `URL/u/USER/collections/COLLECTION` should lead to, say, `URL/u/USER/c/COLLECTION/m/SLUG`, and navigation on those page should only be within media in the named collection." Olivier Mehani 5474 Switch assert statements into proper exceptions major programming 0.11.0 defect new 2016-09-08T23:42:28Z 2020-04-23T12:02:22Z "See [https://access.redhat.com/blogs/766093/posts/2592591 this article]; we use assert as a ""cheap and easy"" way to throw errors if we don't want something, but it's not meant for that... and we might even miss serious / dangerous things. Once python is compiled into bytecode, assert might not run." Christopher Allan Webber 5473 Add detailed failure message to user and admin processing panels major programming 0.11.0 enhancement new 2016-09-07T21:42:42Z 2020-04-23T12:16:41Z "The user and admin media processing panels don't give full details when something goes wrong; usually requiring you to mannually reprocess some media from the command line to discover the issue (eg. you ran out of storage space). I'd suggest providing full details on admin processing panel and attaching a traceback if appropriate. The user processing panel should a detailed error message, but probably not a traceback, as I'd assume this would be more likely to leak confidential information. (Extracted from #463, retaining same CC's and milestone.)" Ben Sturmfels 5463 Allow deleting failed media from processing panel minor programming enhancement new 2016-07-23T13:18:19Z 2016-09-18T02:32:06Z The only way to delete media that failed to process is to use the gmg deletemedia command. Let's add a way to delete failed media from the user & admin media processing panels. ayleph 5456 Add IPFS peer-to-peer based storage backend minor programming enhancement new 2016-04-04T21:44:19Z 2016-09-18T02:35:44Z [http://ipfs.io/ IPFS] is a distributed peer to peer Content-Addressed Storage system. It seems pretty solid, and it seems like it would be nice to add as a storage backend for MediaGoblin. Christopher Allan Webber 5454 Add more translatable strings in blog plugin minor programming defect new 2016-04-03T17:03:27Z 2016-09-18T12:28:37Z The blog plugin has some English-only strings which should support translations. ayleph 5447 Make disabling plugins less tricky major programming defect new 2016-03-28T19:28:17Z 2021-09-20T05:54:38Z "Now that we're using Alembic's branching model to enable long-running plugin migration branches, disabling plugins has gotten... complicated. From the current git master docs: {{{ Deactivating plugins ==================== You should be aware that once you enable a plugin, deactivating it might be a bit tricky, for migrations reasons. In the future we may produce better tooling to accomodate this. In short, you will need to do a bit of database surgery by: - Removing all tables and indexes installed by the plugin - Removing the plugin's migration head id from the `alembic_version` table. (You might be able to determine which to remove via examining the output of `./bin/gmg alembic heads`) Note that this is a VERY TRICKY process, and you should be sure to make a backup first. You've been warned! }}} Well, obviously this isn't great. And the reason this isn't great is if you disable a plugin, the revisions for that plugin can't be found (because they aren't made available to alembic's migration path), and thus alembic is like ""wtf is going on?"" So anyway, the docs suggest a method of ""database surgery"" to be able to install things, but of course manual surgery is unreliable. We should provide a parameter so that plugins can define their own ""uninstall"" rule that does this kind of manual surgery *for* the user (deleting tables, etc), and then delete the latest revision for that branch path." Christopher Allan Webber 5444 Implement 'type_match_handler' hook for all core media types major programming defect ayleph in_progress 2016-03-23T17:14:45Z 2020-05-12T03:23:18Z "Since the gstreamer-1.0 update, uploaded media are sniffed and very often (always?) produce messages like below, even when the media are successfully processed. Breton says this is not intentional and should be addressed. {{{ No plugins handled extension .jpg }}}" ayleph 5439 "Use state other than ""failed"" to indicate draft blog posts" minor programming defect new 2016-03-07T00:41:23Z 2016-04-11T03:05:30Z "Failed blog entries can't be reprocessed because the blog mediatype has no reprocessing manager. {{{ No such processing manager for mediagoblin.media_types.blog }}}" ayleph 5438 Address problems with blog mediatype major programming task new 2016-03-06T21:26:34Z 2016-03-06T21:26:34Z This ticket will serve as a parent ticket to collect issues related to the blog plugin. ayleph 5437 blog media_type uses inconsistent naming major programming defect ayleph in_progress 2016-03-03T01:40:07Z 2017-06-29T04:29:05Z "The blog media_type hasn't been working for quite some time due to naming conflicts. The problem was introduced in [http://git.savannah.gnu.org/gitweb/?p=mediagoblin.git;a=commitdiff;h=511ce0d6c755dbdbe4f045f20fd57164584958f3 511ce0d]when `mediagoblin/media_types/blog/__init__.py` was changed as below. {{{ --- a/mediagoblin/media_types/blog/__init__.py +++ b/mediagoblin/media_types/blog/__init__.py @@ -18,7 +18,7 @@ from mediagoblin.media_types import MediaManagerBase from mediagoblin.tools import pluginapi -MEDIA_TYPE = 'mediagoblin.media_types.blog' +MEDIA_TYPE = 'mediagoblin.media_types.blogpost' }}} This causes new blog entries to be added to `core__media_entries` with `media_type = mediagoblin.media_types.blogpost`. However, all the blog code is located at `mediagoblin/media_types/blog`. This causes server errors like below. {{{ ... File '/path/to/mediagoblin/mediagoblin/db/models.py', line 665 in media_data return getattr(self, self.media_data_ref) File 'build/bdist.linux-x86_64/egg/sqlalchemy/util/langhelpers.py', line 754 in __get__ File '/path/to/mediagoblin/mediagoblin/db/models.py', line 687 in media_data_ref return import_component(self.media_type + '.models:BACKREF_NAME') File '/path/to/mediagoblin/mediagoblin/tools/common.py', line 34 in import_component __import__(module_name) ImportError: No module named blogpost.models }}} I fixed this long ago on one of my instances. I'll post the patch and migration that would be required to fix it on someone else's instance." ayleph 5430 admin media processing panel should be the same as user one minor programming 0.11.0 enhancement new 2016-02-29T22:29:45Z 2020-04-23T12:09:02Z Admin media processing panel has old design and layout. It should be the same as user's processing panel, with filters of processing status. Boris Bobrov 5405 Content Security Policy minor programming enhancement new 2016-01-22T19:00:58Z 2016-09-17T15:41:32Z "CSP (Content Security Policy) is notably missing from MediaGoblin. This will add an additional layer of security should a user be able to bypass comment sanitisation (or the blogging plugin) and add some hostile JS to their content. At the very least, we should use this to limit JS to the host static assets are on. Will be kinda tricky to implement in such a way that it won't cause issues when deploying - especially for novice users." Matt Molyneaux 5404 X-Frame-Options for admin/moderator views major programming defect review 2016-01-22T18:55:42Z 2018-10-30T19:03:57Z "Currently Mediagoblin doesn't do anything to prevent [https://www.owasp.org/index.php/Clickjacking clickjacking]. Setting {{{ X-Frame-Options: SAMEORIGIN }}} in responses for those views would protect against this attack." Matt Molyneaux 5392 Add ability to disable uploads of media type while retaining existing media of that type minor programming enhancement new 2016-01-15T15:51:50Z 2016-01-22T21:58:31Z "Per a discussion in #382, I think it would be nice to be able to disable further uploads of a particular media type without having to delete all the existing media of that type. For example, let's suppose I run an instance with multiple users and people have been posting awesome cat videos. Eventually I get a notice that my VPS is running low on disk space, and I want to disable further video uploads. But I don't want to delete the existing videos! If I were to disable the video plugin entirely, then existing videos would fail to load or lead to crashes, based on the traceback reported in #382. So instead, I'd like to have some kind of per-plugin directive that lets me keep the media type enabled while disabling future uploads. I'm thinking something like below. {{{ [plugin_spec] +# Prevent users from uploading new media of this type? +disable_upload = boolean(default=False) + # Should we keep the original file? keep_original = boolean(default=False) }}}" ayleph 5380 API limits outbox queries past 20 major programming defect new 2015-12-27T21:35:53Z 2016-01-25T20:07:53Z "I am unable to get activities from someone's outbox with the following code: {for activity in user.outbox[19:21]} or {for activity in user.outbox[:21]}. For some reason, outbox queries return None past item 20. " Dylan Jeffers 5376 Comment links cause server errors with recent migrations minor programming 1.0 defect Boris Bobrov in_progress 2015-12-18T03:38:55Z 2017-06-21T10:19:24Z "Following a comment link (like `http://mediagoblin.example.org/u/user/m/my-media/c/1`) after applying federation updates results in a server error. {{{ Error - : 'NoneType' object has no attribute 'comment' URL: http://photos.technicallyandrew.com/u/andrew/m/belfast-87a3/c/2/ File '/path/to/mediagoblin/lib/python2.7/site-packages/Paste-1.7.5.1-py2.7.egg/paste/exceptions/errormiddleware.py', line 144 in __call__ app_iter = self.application(environ, sr_checker) File '/path/to/mediagoblin/mediagoblin/app.py', line 342 in __call__ return self.call_backend(environ, start_response) File '/path/to/mediagoblin/lib/python2.7/site-packages/Werkzeug-0.8.3-py2.7.egg/werkzeug/wsgi.py', line 411 in __call__ return self.app(environ, start_response) File '/path/to/mediagoblin/mediagoblin/app.py', line 276 in call_backend return self._finish_call_backend(request, environ, start_response) File '/path/to/mediagoblin/mediagoblin/app.py', line 318 in _finish_call_backend response = controller(request) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 47 in wrapper return controller(request, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 210 in wrapper return controller(request, media=media, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/decorators.py', line 170 in wrapper return controller(request, page=page, *args, **kwargs) File '/path/to/mediagoblin/mediagoblin/user_pages/views.py', line 135 in media_home mark_comment_notification_seen(comment_id, request.user) File '/path/to/mediagoblin/mediagoblin/notifications/__init__.py', line 64 in mark_comment_notification_seen comment = Comment.query.get(comment_id).comment() AttributeError: 'NoneType' object has no attribute 'comment' }}} " ayleph 5370 LDAP User Filter minor programming enhancement new 2015-12-07T12:13:29Z 2018-04-15T18:20:39Z "I use mediagoblin with ldap authentication and needed group support (whether a user is in the mediagoblin group determines if they get access). For this I added a new config attribute ''LDAP_USER_FILTER'' which holds the filter. The attached patch shows how I am using it on my instance." Sebastian Hugentobler 5365 Some improvements to collections views major programming enhancement Jessica Tallon in_progress 2015-12-06T04:45:13Z 2016-02-01T15:37:08Z "My feature branch, which is split up into 3 commits at the moment: https://github.com/orblivion/mediagoblin/commits/collection-ui-improvements These are some improvements that I thought would be good, though it could be controversial. The sorting/filtering part is spawned from what I thought was somewhat of a requirement created by #5360, though independent enough that I split it out. 1) Media items in the collection view don't show the title of the media entry, we just show the collection item note. I think it makes sense to default to the media entry title if there is no note: https://github.com/orblivion/mediagoblin/commit/25e424023226a4823b0f50258fe54a28964a202e The potential issue I see with this is that collections can hold things other than media entries, and those might not have titles. I'm not sure what else you had in mind to hold, so I'll put this out there for now to see what you think. I could work around it but I want to make sure it's necessary. 2) Collections are currently sorted by descending `position`. I actually don't see anywhere in the codebase that `position` is ever set, so I presume this is a ""TODO"". The problem is that the way collections work now, it *sort of* sorts by ascending `id`. I guess the database does this naturally. The reason I say *sort of* is that I think some things start to get funny if you delete items. So, I thought I'd formalize it by sorting collections by ascending (`position`, `id`). If you start setting `position` and leave it as sorting descending, you'll end up reversing the way it's been working so far. (Unless you intended the sense of `position` and `id` to be opposite of each other?) Also in this commit, I filter by whether the media item is processed. https://github.com/orblivion/mediagoblin/commit/ad9a9d8a756a55e36e83696639d6dd558eb497e3 3) Collections currently show up as a text list. This seems rather unpolished. Here, I make it a gallery view, using the first item in the gallery if available: https://github.com/orblivion/mediagoblin/commit/577911aed004e8a9fb2d2c6f9d133568dac3361c" Daniel Krol 5364 """p"" pump.io client doesn't seem to upload images" minor programming defect new 2015-12-01T21:21:05Z 2016-01-28T10:09:43Z "I posted this issue initially in the issue tracker for `p`: https://github.com/xray7224/p/issues/40#issuecomment-151050574 However I was ultimately able to post an image in another pump.io instance, so I was advised to move the issue here. I authenticate my webfinger using `p`. I run: ```p post image ../images/image.jpg --title ""Test Upload""``` It seemed to go through. No std or err output. However I don't see the image on my site. I tried running: ```p inbox``` And I got something like this: {{{ yooser posted unknown.jpe yooser@media.example.com - 5 minutes ago Test Upload ![Image NonexNone][1] [1]: http://media.example.com/mgoblin_static/images/media_thumbs/image.png }}} (Only my username and my site's domain are changed here. Everything else should be verbatim.) However below that, it lists entry from my site, which I uploaded manually long ago. So it seems that it's on the right track but not quite there." Daniel Krol 5361 Allow continuing where left off in csv for batchaddmedia minor programming enhancement new 2015-11-22T07:23:44Z 2016-01-19T03:46:34Z "My personal use case for csv is such that I'd rather have it break, fix it, and then continue where I left off, than have it continue if it fails, because I'd like to preserve the order of the files. I was hoping to add some features for this workflow. So here's the changes I would make: 0) Make sure `batchaddmedia` submits the files in the csv in order (right now it loops over a dict!) 1) Add a `--start` option to specify which entry to start on 2) Add a `--stop-on-failure` option. 3) In case of exception, output a helpful bit of text that says to add `--start 20` (for instance) to continue where you left off." Daniel Krol 5360 Adding Collections to addmedia and batchaddmedia, and tags to batchaddmedia. minor programming enhancement review 2015-11-21T23:32:39Z 2016-01-19T03:18:41Z "The addmedia command allows you to specify tags to add to your submitted item, but batchaddmedia does not. Further, neither of these commands allow you to specify a collection to add your items to. I'd like these features to be added (and in fact I'm working on a patch to do just that). For reference, here is a mailing list conversation that I started on the topic. (I'm moving the discussion here to reduce noise on the list): http://lists.mediagoblin.org/pipermail/devel/2015-November/001305.html Current status is that I have the feature working, and I even added some tests for these two commands (which afaik were missing). However there are some error cases that I am trying to avoid introducing. I'll put details in the comments, since it's still getting hashed out. You can probably follow my progress here: https://github.com/orblivion/mediagoblin/compare/batchaddmedia-collection-tag-on-master?expand=1" Daniel Krol 5352 Automatically create local users on successful LDAP authentication minor programming defect new 2015-10-11T05:11:12Z 2018-04-25T15:29:53Z "With the auth_ldap plugin, users can be authenticated against an LDAP directory. However, upon first logging in, the MG database does not contain information about them, and asks for their email address. Moreover, if registration is disabled, users will not be able to move any further after entering their email address, and will be presented with a message that registration is not enabled. Two things need to be fixed: 1. Try to get the email address from LDAP after successful authentication, and only ask the user for it if not available 2. Don't honour the allow_registration setting when creating local users in the DB when they have been successfully authenticated from LDAP." Olivier Mehani 5350 More notifications options minor programming enhancement new 2015-10-10T23:46:08Z 2020-05-16T15:58:56Z "Notifications only seem to be sent to a user when new comments are added to a media they have peviously commented on. It would be good if email notifications could be sent when, e.g., media is added to a specific collection, or a user posts new media. Looking at the code quickly, it seems to embed a lot of assumptions about new comments only." Olivier Mehani 5346 Unclear copyright of extlib/thingiview.js major programming defect new 2015-08-22T08:47:28Z 2016-09-18T11:00:36Z This is not spam. This is a bug report. anongoblin 5334 Playing MediaGoblin music on smartphones seems problematic? major programming defect new 2015-07-02T15:35:04Z 2015-07-02T15:35:04Z "I posted on pump about testing playing audio at goblinrefuge.com (runs 0.8.0) since there seems that some smartdevices cannot use the ""play"" button or even worse, nothing at all (the ""WebM file""). I asked them to test both MP3 and OGG and here is a list of replies I got: Samsung Galaxy S2: Play does not work for both. WebM works for both. Samsung Galaxy Tab 3: Same as above. Samsung Galaxy Note 4 w/ Android 5.0.1. Using Firefox mobile. It all works. :-) Android 5 on Motorola Moto E 4G, Firefox: Everything works. Interestingly, ogg and webm play in the browser, but the mp3 it wants to download and then I can play it offline. I wonder if that is the choice of the Goblin or the Fox. Actually it's not Mozilla's Firefox but the F-Droid Fennec, but for these purposes it should be equivalent. Also, the web browser app probably plays a role. (For Android there are at least three popular browsers.) Does not work (“Play” does nothing) in zirco or AOSP stock browser in my Samsung Galaxy Ace with cyanogenmod 7.2 (Android 2.7). I suppose this is normal (too old browsers)… I can report (from my sister) that iPhone 5 default browser can play MP3 but not OGG." molgrum 5328 White/blacklisting mimetypes in attachments and check file size major programming enhancement molgrum in_progress 2015-06-23T15:57:16Z 2016-01-12T19:43:46Z I have working (non-elegant) code working for doing a white/blacklist of mimetypes. Also checks max_file_size parameter! molgrum 5320 Add a logout hook major programming enhancement new 2015-05-21T00:44:13Z 2016-04-02T14:16:22Z "It could be useful to have a hook in the ''logout'' view for authentication plugins. For example, I've made a plugin to use HTTP Authentication but the logout need to be done externally. I've made the attached patch which allows to redirect to any other internal/external page, but it can be discussed and ameliorated... Thanks in advance! Attachment: {{{ diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py index 03a46f7..9f15563 100644 --- a/mediagoblin/auth/views.py +++ b/mediagoblin/auth/views.py @@ -120,7 +120,11 @@ def logout(request): # Maybe deleting the user_id parameter would be enough? request.session.delete() - return redirect(request, ""index"") + response = hook_handle('auth_logout_response', request) + if response: + return response + else: + return redirect(request, 'index') }}} def verify_email(request):" Boris Bobrov 5319 support for HQ videos major programming enhancement accepted 2015-05-20T21:23:43Z 2016-02-16T21:45:51Z "Hey there, i tryed to let the Transcoder transcoding in better Quality (1080p). So i use this options for example: {{{ # vp8enc options self.destination_dimensions = kwargs.get('dimensions', (1080, 1080)) self.vp8_quality = kwargs.get('vp8_quality', 10) }}} ...in the transcoding.py After assetlink and dbupdate, there has nothing changed. I think the handling of videos on ""Media""goblin is a big problem. You cant enjoy Videos in that damn bad quality! ---- So i think, okey lets transcode to webm Files on the Client PCs before uploading - no, you can forget it! The Player Interface is a bad Joke on untranscoded Files! Here an Example of 1080p WebM: https://media.tchncs.de/u/milan/m/test/ I understand, that the Player dont let you switch in Resolutions. But damned, so let us please configure in which Quality Videos can uploaded by users..." Boris Bobrov 5318 cannot write mode P as JPEG minor programming defect accepted 2015-05-04T00:31:46Z 2020-05-12T03:21:21Z "A user tried to upload an image which produced the following error. A stackoverflow thread mentions converting to RGB space. https://stackoverflow.com/questions/21669657/getting-cannot-write-mode-p-as-jpeg-while-operating-on-jpg-image {{{ (mediagoblin-0.8.0) ~/mediagoblin $ bin/gmg reprocess run 4028 initial DEBUG:mediagoblin.processing.task:Processing ERROR:mediagoblin.processing.task:An unhandled exception was raised while processing WARNING:mediagoblin.processing:No idea what happened here, but it failed: IOError('cannot write mode P as JPEG',) WARNING:mediagoblin.processing:No idea what happened here, but it failed: IOError('cannot write mode P as JPEG',) Traceback (most recent call last): File ""bin/gmg"", line 9, in load_entry_point('mediagoblin==0.8.1.dev0', 'console_scripts', 'gmg')() File ""/path/to/mediagoblin/mediagoblin/gmg_commands/__init__.py"", line 142, in main_cli args.func(args) File ""/path/to/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 293, in reprocess run(args) File ""/path/to/mediagoblin/mediagoblin/gmg_commands/reprocess.py"", line 205, in run reprocess_info=reprocess_request) File ""/path/to/mediagoblin/mediagoblin/submit/lib.py"", line 257, in run_process_media task_id=entry.queued_task_id) File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/task.py"", line 547, in apply_async link=link, link_error=link_error, **options) File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/task.py"", line 739, in apply request=request, propagate=throw) File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 355, in eager_trace_task uuid, args, kwargs, request) File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 253, in trace_task I, R, state, retval = on_error(task_request, exc, uuid) File ""/path/to/mediagoblin/lib/python2.7/site-packages/celery-3.1.17-py2.7.egg/celery/app/trace.py"", line 240, in trace_task R = retval = fun(*args, **kwargs) File ""/path/to/mediagoblin/mediagoblin/processing/task.py"", line 101, in run processor.process(**reprocess_info) File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 318, in process self.generate_thumb(size=thumb_size, filter=filter, quality=quality) File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 221, in generate_thumb filter, size) File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 125, in resize_tool quality, filter) File ""/path/to/mediagoblin/mediagoblin/media_types/image/processing.py"", line 81, in resize_image resized.save(resized_file, quality=quality) File ""/path/to/mediagoblin/lib/python2.7/site-packages/PIL/Image.py"", line 1682, in save save_handler(self, fp, filename) File ""/path/to/mediagoblin/lib/python2.7/site-packages/PIL/JpegImagePlugin.py"", line 571, in _save raise IOError(""cannot write mode %s as JPEG"" % im.mode) IOError: cannot write mode P as JPEG }}}" ayleph 5316 disallow creating blog post without title major programming defect ayleph in_progress 2015-04-27T19:48:05Z 2016-03-06T21:28:39Z The blog plugin allows users to create a blog post without a title. This also causes the slug to be empty. The server throws an error goblin when a user clicks on a blog entry with no title and no slug. ayleph 5212 Custom thumbnail/media sizes for video minor programming enhancement review 2015-04-02T11:42:46Z 2018-10-30T19:14:37Z "It would be very useful to be able to generate any number of thumbnails of different sizes from media uploaded, especially videos. This is partially related to #1042, as sharing a link to a video on MediaGoblin to another site would be helped by being able to convey appropriately sized media previews. The current thumbnails are useful for the MediaGoblin gallery, but it would be beneficial to be able to generate additional thumbnails with higher resolutions. With the attached patch, I've taken some steps towards that, but I know far too little about MediaGoblin to make much progress beyond this. It tries to implement some sort of generic approach to generate images from videos, and supports the old thumb functionality as well a new ""share"" image, which is a higher resolution image. But both ""share"" and ""thumb"" are rather hardcoded, and it would be useful to be able to configure these sizes without modifying the code. I also don't know what else in mg is affected by this." Jonas Öberg 5077 share via a private link minor programming enhancement new 2015-03-21T19:32:22Z 2017-07-24T19:13:28Z "i want an option be the only one who can see the media. additional to all other permissions there must be an option to share via a private link. (like with youtube) i use it very much to quickly share a video or photo with a single person that don't have a account at some plattform. this is the only feature why i don't use mediagoblin instead of youtube!" davidak 5067 Add config option to always skip transcode minor programming enhancement review 2015-03-15T21:14:28Z 2018-10-30T19:16:35Z "A {{{never_transcode}}} option would be useful under the {{{[[[skip_transcode]]]}}} section of the config file, for use with the localfiles plugin at least. A patch that addresses this and #5065 is available here: https://github.com/msm-/mediagoblin_docker/blob/master/skip_transcode.patch -- msm-" anongoblin 5064 Add option to override ./configure'd virtualenv trivial programming defect new 2015-03-13T20:34:53Z 2016-02-22T22:58:53Z "`./configure` searches for `virtualenv` in the following order: - `virtualenv` - `virtualenv3` - `virtualenv2` Once a match is found, the search terminates. If a user has both python2 and python3 installed, then the python3 `virtualenv` may be configured for use, even when `--with-python3` is not specified. This results in an error for users who intend to use (or need to use) python2. In the case of Arch Linux, `virtualenv` is the python3 package, and `virtualenv2` is the python2 package. When I run `./configure` without specifying `--with-python3`, the python3 `virtualenv` is configured even though I didn't intend to use python3. To fix this, I must manually edit Makefile as follows before running `make`. {{{ -VIRTUALENV = virtualenv +VIRTUALENV = virtualenv2 }}} Some options for how to deal with this come to mind. Does `./configure` support interactive configuration? If so, we could consider searching for all `virtualenv`s and then asking the user which one they want to use. The undocumented `--with-virtualenv` switch [1] could be extended to accept a path to the desired executable. If distributions consistently use `virtualenv2` for python2 and use `virtualenv` (or `virtualenv3`) exclusively for python3, perhaps we could tie the selection of `virtualenv` to the python version specified in configuration. [1] `--with-virtualenv` is a programmed option in `./configure`, but it isn't shown in `./configure --help`. See issue #5022." ayleph 5063 better handling of bad video files major programming enhancement new 2015-03-13T00:06:20Z 2016-09-18T11:06:15Z Now if transcoding fails the video is left in broken state, but still shown in the list of uploaded video. The whole stuff should be handled better, hiding this bad video, for example Boris Bobrov 5061 Reporting media does not produce email or notification minor programming defect new 2015-03-11T03:28:50Z 2016-09-17T15:12:00Z Reporting media does not seem to send an email to an administrator, nor does it give any notifications to an administrator account. ayleph 5059 Switch to use argparse minor programming enhancement berkerpeksag in_progress 2015-03-07T20:26:24Z 2016-09-17T15:59:17Z "> Deprecated since version 2.7: The optparse module is deprecated and will not be developed further; development will continue with the argparse module. So let’s use argparse instead. ------- `git request-pull`: {{{ The following changes since commit fc3c8f21a08a97051a709cb1a41b4339c3748ab5: Patch from breton: fix #5053 (gmg addmedia broken in 0.8.0) (2015-03-05 17:45:54 -0600) are available in the git repository at: https://bitbucket.org/peekpeak/mediagoblin.git optparse-deprecated for you to fetch changes up to 9fb7ef927e23f2f186678418fc93c1fee57e9176: use argparse instead of optparse (2015-03-07 21:15:17 +0100) ---------------------------------------------------------------- Jakob Kramer (3): add a handler to logger VideoThumbnailMarkII was deleted, use capture_thumb use argparse instead of optparse mediagoblin/media_types/video/transcoders.py | 73 +++++++++++++--------------- 1 file changed, 33 insertions(+), 40 deletions(-) }}}" gandaro_ 5055 Friendlier failure if Gstreamer 1.0 not installed major programming enhancement new 2015-03-05T23:16:48Z 2016-09-18T11:10:59Z "See #5024... it would be nice, if gstreamer 1.0 is not installed, if we could give a friendlier failure message. Ideas on what we should catch, and how to raise the error? Even raising an exception with better text would likely work." Christopher Allan Webber 5034 Inconsistent variable syntax in Makefile.in trivial programming enhancement new 2015-02-26T06:51:39Z 2016-09-18T02:00:29Z `Makefile.in` uses both ${VARIABLE} and $(VARIABLE) syntax. It seems that some of the @variables@ from `Makefile.in` get turned into ${VARIABLES} in `Makefile`, so I'd recommend changing everything to use curly braces {} instead of parentheses (). ayleph 5014 Add collection-based landing page that shows all users' collections (paginated) minor programming enhancement review 2015-02-21T23:42:31Z 2018-10-30T19:18:40Z "This feature would add a mediagoblin.ini configuration variable named 'most_recent_media_view' that, by default, shows the main landing page the way it is always shown now: with a paginated and reverse chronological list of media entries. It could be changed to 'Collection' to instead show a reverse chronological list of non-empty collections. For now, a random media entry from the collection will be shown to represent the collection. In the future, this could be improved to allow the collection's creator to select a key entry to always show. Some benefits of this change: -Default behavior remains as-is -Discoverability of collections is enhanced -Allows increased customizability" srudolph 1088 Dumb / simple captchas major programming enhancement new 2015-01-14T22:55:13Z 2016-01-12T17:50:16Z "Tying into #1086 (but not as complicated as #1087)... we should have a ""dumb"" captcha system as a stopgap if we can't get something nicer implemented soon. (Will also help figure out what the shared components for #1086 are!) Some simpler things this captcha plugin could do: * Simple arithmetic (I've always found this funny, since computers are more efficient at arithmetic than users, but..) * User provided text questions with text answers. We could provide a config parameter for admins to put this in place. " Christopher Allan Webber 1087 Smart captcha system major programming enhancement new 2015-01-14T22:50:48Z 2016-01-12T17:50:54Z "Obviously related to and dependent on #1086 This maybe could wait a bit to be implemented, but I've been thinking about a captcha system that provides the following features: - Serves image-based (and maybe audio-based) captchas, but *doesn't* require saving any image files on-server (which you later have to garbage collect...) - Doesn't require any rows in the database - Doesn't require any nonfree software - Integrates with the forms system - Makes use of our existing crypto/session stuff. Here's how I think it would work. - hooks are run to initialize the captcha for whatever form / view. Attach validation requirement to wtforms and generate the image. - When generating the image (I'm not sure what kind of algorithm we should use for this), *don't* write to a file on disc static-served via apache. Instead, we can base64 encode the image after rendering, pack it into the response, and serve it directly. See mediagoblin/plugins/persona/static/js/persona.js for an example of this in action. - Provide a question and *hashed* version of the expected answer from the captcha which the user needs to answer. We sign the question and hashed answer with itsdangerous (and set a time limit to solve it) so that the user can't make up their own question and answer. I think doing the above could be a pretty smart and elegant solution... it means being able to do a captcha that doesn't require storing any extra junk server-side, but still provides a way to pass a captcha along. The trickiest part of this might be writing some code to make some visual captchas in the first place. Note: I'm not sure if it's possible to base64 encode audio in the same way? But if so, we could provide both audio and visual captchas. " Christopher Allan Webber 1076 videos are not supported in the API major programming enhancement new 2014-12-15T08:39:17Z 2015-02-19T08:14:25Z "You should be able to upload and interact with videos like you can with images now. There is support for this in the [https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md#audio-and-video-objects Activity Streams 1.0 specification], if I have understood this correctly we will want to produce an API object which looks something like: {{{ { ""id"": ""https://gmg.site.tld/api/video/someid"", ""objectType"": ""video"", ""displayName"": ""Title of this video"", ""embedCode"": """", ""stream"": { ""url"": ""https://gmg.site.tld/path/to/video.ogv"", }, ""author"": { ""id"": ""acct:someone@gmg.site.tld"", ... }, ""url"": ""https://gmg.site.tld/html/version/for/users/click"" } }}} Pump.io does have a model to store a video which is [https://github.com/e14n/pump.io/blob/master/lib/model/video.js here]. This notably in addition to the base attributes all objects share (id, objectType, etc.) it also has: - ID - [https://github.com/activitystreams/activity-schema/blob/master/activity-schema.md#binary-objects attachments] - embedCode - stream" Jessica Tallon 1073 'audio' objectType is not accepted. minor programming defect new 2014-12-13T01:35:08Z 2014-12-15T08:43:40Z "Trying to post an 'audio' object returns: HTTP 400: Bad Request. {{{ { ""error"": ""Unknown object type 'audio'."" } }}}" JanKusanagi 1063 Impeller should upload photos major programming 1.0 defect accepted 2014-12-11T14:42:24Z 2017-07-01T20:53:47Z "It would be great to get it so that you could upload photos to mediagoblin via Impeller. Currently however you can't even get through the OAuth. It initially looked like Impeller was site scraping however it would seem: /from #pump.io on Freenode/ {{{ XgF: I'm wondering how possible it would be to change the site scraping behaviour of impeller with regards to the verifier? or at least provide some kind of fallback which allows you to copy and paste the verifier and enter it manually Jessica_lily: eh? Impeller expects a redirect to a https uri with the verifier. When it detects that, it closes the web view and does the background oauth flow }}} " Jessica Tallon 1061 Media gets stuck in processing major programming defect new 2014-12-11T08:06:59Z 2015-01-04T02:59:32Z "I occasionally see media get ""stuck"" in processing in the media processing panel. The web UI displays the transcoding progress, but the progress is stuck at x% and does not update no matter how long I let it sit. When this happens, there is nothing useful in my DEBUG log. The media is not available for reprocessing. The only thing I can do is call {{{deletemedia}}} on the media ID and ask the uploader to re-submit the file. {{{ $ bin/gmg reprocess available 1549 ** Message: pygobject_register_sinkfunc is deprecated (GstObject) Available processors: ===================== }}} The attached image shows an example of this issue. Media ID 1549 has been stuck at 23% for nearly a week at time of upload; media ID 1658 has been stuck at 95% for less than a day. There have been over 100 successfully processed items in between them." ayleph 1059 Including mediagoblin-html5-multi-upload in core major programming task review 2014-12-09T09:53:54Z 2018-10-30T19:22:55Z "Hello, please include html5-multi-upload in the project's core. It's very handy to upload multiple files at once. I spoke to VenKamikaze and he asked me to address this issue. " yanosz 1042 Embed Open Graph data into relevant pages trivial programming enhancement new 2014-11-26T01:32:42Z 2016-09-17T15:44:12Z "[http://ogp.me/ The Open Graph Protocol] is used by a number of websites (such as Diaspora) to fetch thumbnails, descriptions, previews, etc. of media linked to in posts and comments. I think this only requires a template change - all needed data should be in context at render time." Matt Molyneaux 1014 Skeleton required for using mediagoblin, but not included in pypi major programming defect new 2014-10-26T18:18:16Z 2014-10-26T18:18:16Z "mediagoblin/templates/mediagoblin/base.html has a link to /css/extlib/skeleton.css, which is normally at mediagoblin/static/css/extlib/skeleton.css via the web servers config. mediagoblin/static/css/extlib/skeleton.css is a symlink to extlib/skeleton/stylesheets/skeleton.css, which is not included in the pypi release. This means that if you download the pypi release, you have to download skeleton separately." Simon Fondrie-Teitler 1006 CSRF cookie not set if visiting a media page directly major programming defect new 2014-10-24T12:53:20Z 2016-01-28T10:27:43Z "When visiting a media page via a direct link (i.e. without going through the main page), the CSRF cookie is not set for the root path of the domain. Consequently, when a user tries to submit a comment, it fails with 403 Forbidden: {{{ 403 Forbidden CSRF cookie not present. This is most likely the result of a cookie blocker or somesuch.
Make sure to permit the settings of cookies for this domain }}} The reason for this is that the CSRF meddleware sets cookie path to {{{request.environ['SCRIPT_NAME']}}}, and the cookie is not sent when accessing the comment add page. The issue can be fixed by introducing a new setting {{{csrf_cookie_path}}}, set by default to '/' and using it instead of {{{request.environ['SCRIPT_NAME']}}}. Django does [https://docs.djangoproject.com/en/1.7/ref/settings/#csrf-cookie-path something similar]. Attached is a patch. " Peter Kuma 1004 Videoplayer has wrong height for videos with width>640 major programming defect accepted 2014-10-20T16:28:12Z 2016-07-22T16:02:24Z "It is possible to skip transcoding videos that are larger than 640 pixels in some dimension. For instance, this way a user can upload 1280x720 webm videos without transcoding them to smaller. However, there is a bug in the player for these videos. If a video is wider than 640 pixels, the width of the videoplayer is scaled to 640 pixels but the height of the videoplayer is the same as of the video. Thus, for a 1280x720 video, the player has size 640x720, leaving black bars on top and bottom of the video. Fullscreen obviously works fine. A sketch of a solution: HTML video player is scaled appropriately if only width or height is given. Thus, give the width as min(width,640) and let the height be chosen automatically. Modify the video tag in the template mediagoblin/templates/mediagoblin/media_displays/video.html: {{{