Some of my experience of using 0.2.0 beta2 on my beta4:

  1. In this version I don't see any progress of uploading (like it was in Imgur upload 1.0.0 - circle was spinning around), now you just sit and wait and it looks like nothing happened and then suddenly picture appears. This can be confusing for users.
  2. When I'm trying to upload big file (to Imgur) (3,5mb and about 5000x3000px) I got error:
    500 Internal Server Error
    
    POST http://forum.mysite.com/api/image/upload
    
    {
      "errors": [
        {
          "code": 500,
          "title": "Internal server error",
          "detail": "exception 'RuntimeException' with message 'Cannot retrieve stream due to upload error' in /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-diactoros/src/UploadedFile.php:146\nStack trace:\n#0 /home/ignivis/public_html/mysite/forum/extensions/flagrow-image-upload/src/Commands/UploadImageHandler.php(106): Zend\\Diactoros\\UploadedFile->moveTo('/home/ignivis/p...')\n#1 [internal function]: Flagrow\\ImageUpload\\Commands\\UploadImageHandler->handle(Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#2 /home/ignivis/public_html/mysite/forum/vendor/illuminate/bus/Dispatcher.php(203): call_user_func(Array, Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#3 [internal function]: Illuminate\\Bus\\Dispatcher->Illuminate\\Bus\\{closure}(Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#4 /home/ignivis/public_html/mysite/forum/vendor/illuminate/pipeline/Pipeline.php(139): call_user_func(Object(Closure), Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#5 [internal function]: Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#6 /home/ignivis/public_html/mysite/forum/vendor/illuminate/pipeline/Pipeline.php(103): call_user_func(Object(Closure), Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#7 /home/ignivis/public_html/mysite/forum/vendor/illuminate/bus/Dispatcher.php(204): Illuminate\\Pipeline\\Pipeline->then(Object(Closure))\n#8 /home/ignivis/public_html/mysite/forum/vendor/illuminate/bus/Dispatcher.php(177): Illuminate\\Bus\\Dispatcher->dispatchNow(Object(Flagrow\\ImageUpload\\Commands\\UploadImage), NULL)\n#9 /home/ignivis/public_html/mysite/forum/extensions/flagrow-image-upload/src/Api/Controllers/UploadImageController.php(60): Illuminate\\Bus\\Dispatcher->dispatch(Object(Flagrow\\ImageUpload\\Commands\\UploadImage))\n#10 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Api/Controller/AbstractSerializeController.php(96): Flagrow\\ImageUpload\\Api\\Controllers\\UploadImageController->data(Object(Zend\\Stratigility\\Http\\Request), Object(Tobscure\\JsonApi\\Document))\n#11 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Http/GenerateRouteHandlerTrait.php(35): Flarum\\Api\\Controller\\AbstractSerializeController->handle(Object(Zend\\Stratigility\\Http\\Request))\n#12 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Http/Middleware/DispatchRoute.php(67): Flarum\\Api\\ApiServiceProvider->Flarum\\Http\\{closure}(Object(Zend\\Stratigility\\Http\\Request), Array)\n#13 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\DispatchRoute->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#14 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#15 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Api/Middleware/FakeHttpMethods.php(32): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#16 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Api\\Middleware\\FakeHttpMethods->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#17 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#18 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Http/Middleware/ParseJsonBody.php(30): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#19 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\ParseJsonBody->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#20 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#21 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Api/Middleware/AuthenticateWithHeader.php(50): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#22 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Api\\Middleware\\AuthenticateWithHeader->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#23 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#24 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Http/Middleware/AuthenticateWithCookie.php(42): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#25 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Dispatch.php(82): Flarum\\Http\\Middleware\\AuthenticateWithCookie->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#26 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/Next.php(113): Zend\\Stratigility\\Dispatch->__invoke(Object(Zend\\Stratigility\\Route), NULL, Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response), Object(Zend\\Stratigility\\Next))\n#27 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-stratigility/src/MiddlewarePipe.php(75): Zend\\Stratigility\\Next->__invoke(Object(Zend\\Stratigility\\Http\\Request), Object(Zend\\Stratigility\\Http\\Response))\n#28 /home/ignivis/public_html/mysite/forum/vendor/zendframework/zend-diactoros/src/Server.php(166): Zend\\Stratigility\\MiddlewarePipe->__invoke(Object(Zend\\Diactoros\\ServerRequest), Object(Zend\\Diactoros\\Response), NULL)\n#29 /home/ignivis/public_html/mysite/forum/vendor/flarum/core/src/Http/AbstractServer.php(33): Zend\\Diactoros\\Server->listen()\n#30 /home/ignivis/public_html/mysite/forum/api.php(16): Flarum\\Http\\AbstractServer->listen()\n#31 {main}"
        }
      ]
    }
    In the Imgur upload 1.0.0 the same file uploads without any problem and you can see the uploading progress (spinning circle)!

    For now I'm back to Imgur upload 1.0.0, but hope to be able to use this new version, since it has local upload also, which I just love!
    Do you have any ideas about this errors?

    1. About local upload in 0.2.0 beta2. If you delete post or delete picture from the post it doesn't delete picture from the folder, so folder soon becames full of old unused pictures.
    2. in 1.0.0 when you want to make maximum photo size (for example not bigger then 800px) - it works perfect - big pictures became smaller, small pictures stay the same small size (100px, 200px, etc..). In 0.2.0 beta2 in local upload when you add Maxiumum image size (for example 800px), small pictures also resized till 800px and looks terrible, of course, so there is no possibility just to make maximum size for big pictures, not touching small pictures, it's more like strict resize.

Would it be possible to add a type of cdn/mirroring/proxy option to this extension?
Example, upload pictures to another server other than where the flarum forum is actually installed and then make the image links point directly to that said server?

This would be useful for people that need their community to upload a large quantity of images onto the forum so it would be best to just have another server just to store and serve those images so that everything loads super fast.

    Mount remote fs into upload directory?

      VIRUXE Would it be possible to add a type of cdn/mirroring/proxy option to this extension?

      Using the local adapter this is possible by setting a CDN Url. We haven't implemented to assist further on that account.

      7h3ev1l Mount remote fs into upload directory?

      You can do whatever remote mounting with the local adapter.

        7h3ev1l from gitter (please don't post in multiple channels ?):

        The local adapter is that images are saved in the flarum directory

        would it be possible to add an overlay of some kind as an option if we tag an image or post with a "nsfw tag" or smth?

        6 days later

        POST https://xxx.x/api/extensions/flagrow-image-upload

        <br />
        <b>Fatal error</b>: Class 'Flarum\Database\AbstractMigration' not found in <b>/srv/users/serverpilot/apps/xxx/public/vendor/flagrow/flarum-ext-image-upload/migrations/2016_01_11_000000_create_flagrow_images_table.php</b> on line <b>18</b><br />

        Hell what?

          7h3ev1l we need to update the extension to beta5. We'll do it in the following days.

          7h3ev1l the migrations for most of the Flagrow extensions have been readied, we need to fix the frontend constraints and test before releasing. Sadly I'm not fully available right now, we're aware this needs fixing and will do so as soon as humanly possible.

          I fixed it .. edit this file:
          /vendor/flagrow/flarum-ext-image-upload/migrations/2016_01_11_000000_create_flagrow_images_table.php
          with:

          <?php 
          namespace flagrow\image\upload\Migration;
          
          use Flarum\Database\Migration;
          use Illuminate\Database\Schema\Blueprint;
          
          
          return Migration::createTable(
              'flagrow_images',
              function (Blueprint $table) {
                      $table->increments('id');
                      $table->integer('user_id')->unsigned()->nullable();
                      $table->integer('post_id')->unsigned();
                      $table->string('file_name')->nullable();
                      $table->string('upload_method');
                      $table->timestamp('created_at');
              }
          );

            7h3ev1l It might be better to just submit a PR to the Flagrow team at their Image Upload Github page. Then users can install through composer like normal. I don't think most users are going to be comfortable manually editing files to make the extension work.

            Do you know I could get rid of this?

            Whenever I try to uninstall either, I get a 500 error.

              Just tagged version 0.2.0 which makes the extension compatible with Flarum 0.1.0-beta.5. Please let us know if you encounter any issues.

              Tagged 0.2.1 with the German translation, thank you Reflic.