Skip to content
This repository has been archived by the owner on Jan 6, 2023. It is now read-only.

Search of translated content from main collection throws error #879

Closed
agseco opened this issue Apr 9, 2019 · 4 comments
Closed

Search of translated content from main collection throws error #879

agseco opened this issue Apr 9, 2019 · 4 comments
Assignees
Labels
bug Something isn't working

Comments

@agseco
Copy link

agseco commented Apr 9, 2019

Bug Report

Just to provide some context, the use case is to know what translation key belongs to a translation. It could be searched in the translations collection but ideally it should be hidden by default for regular users.

Steps to Reproduce

  1. Setup a translated collection (see provided script)
  2. Populate with some content
  3. Navigate to the main collection
  4. Try to search in the translations field

image

  1. The following error will happen in the API
[2019-04-09 04:14:14] api[_].ERROR: Directus\Database\Exception\InvalidQueryException: Failed generating the SQL query. in /var/www/html/src/core/Directus/Database/TableGateway/BaseTableGateway.php:738
Stack trace:
#0 /var/www/html/vendor/zendframework/zend-db/src/TableGateway/AbstractTableGateway.php(209): Directus\Database\TableGateway\BaseTableGateway->executeSelect
#1 /var/www/html/src/core/Directus/Database/TableGateway/RelationalTableGateway.php(1047): Zend\Db\TableGateway\AbstractTableGateway->selectWith
#2 /var/www/html/src/core/Directus/Database/TableGateway/RelationalTableGateway.php(1137): Directus\Database\TableGateway\RelationalTableGateway->fetchItems
#3 /var/www/html/src/core/Directus/Database/TableGateway/RelationalTableGateway.php(819): Directus\Database\TableGateway\RelationalTableGateway->fetchData
#4 [internal function]: Directus\Database\TableGateway\RelationalTableGateway->getItems
#10 /var/www/html/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(41): call_user_func
#11 /var/www/html/vendor/slim/slim/Slim/Route.php(356): Slim\Handlers\Strategies\RequestResponse->__invoke
#12 /var/www/html/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\Route->__invoke
#13 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke
#14 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#15 [internal function]: Slim\DeferredCallable->__invoke
#16 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#17 /var/www/html/src/core/Directus/Application/Http/Middleware/AuthenticationMiddleware.php(81): Slim\Route->Slim\{closure}
#18 [internal function]: Directus\Application\Http\Middleware\AuthenticationMiddleware->__invoke
#19 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#20 [internal function]: Slim\DeferredCallable->__invoke
#21 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#39 [internal function]: Slim\DeferredCallable->__invoke
#40 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#41 /var/www/html/vendor/akrabat/ip-address-middleware/src/IpAddress.php(113): Slim\App->Slim\{closure}
#42 [internal function]: RKA\Middleware\IpAddress->__invoke
#43 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#44 [internal function]: Slim\DeferredCallable->__invoke
#45 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func#28 /var/www/html/vendor/slim/slim/Slim/Route.php(334): Slim\Route->callMiddlewareStack
#29 /var/www/html/vendor/slim/slim/Slim/App.php(516): Slim\Route->runactRateLimitMiddleware.php(34): Slim\Route->__invoke
#30 /var/www/html/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\App->__invoke
#31 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke
#5 /var/www/html/src/core/Directus/Services/AbstractService.php(332): call_user_func_array
#6 /var/www/html/src/core/Directus/Services/AbstractService.php(276): Directus\Services\AbstractService->getDataAndSetResponseCacheTags
#7 /var/www/html/src/core/Directus/Services/ItemsService.php(57): Directus\Services\AbstractService->getItemsAndSetResponseCacheTags
#8 /var/www/html/src/endpoints/Items.php(43): Directus\Services\ItemsService->findAll
#9 [internal function]: Directus\Api\Routes\Items->all
#10 /var/www/html/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php(41): call_user_func
#11 /var/www/html/vendor/slim/slim/Slim/Route.php(356): Slim\Handlers\Strategies\RequestResponse->__invoke
#12 /var/www/html/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\Route->__invoke
#13 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke
#14 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#15 [internal function]: Slim\DeferredCallable->__invoke
#16 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#17 /var/www/html/src/core/Directus/Application/Http/Middleware/AuthenticationMiddleware.php(81): Slim\Route->Slim\{closure}
#18 [internal function]: Directus\Application\Http\Middleware\AuthenticationMiddleware->__invoke
#19 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#20 [internal function]: Slim\DeferredCallable->__invoke
#21 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#22 /var/www/html/src/core/Directus/Application/Http/Middleware/TableGatewayMiddleware.php(25): Slim\Route->Slim\{closure}
#23 [internal function]: Directus\Application\Http\Middleware\TableGatewayMiddleware->__invoke
#24 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#25 [internal function]: Slim\DeferredCallable->__invoke
#26 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#27 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\Route->Slim\{closure}
#28 /var/www/html/vendor/slim/slim/Slim/Route.php(334): Slim\Route->callMiddlewareStack
#29 /var/www/html/vendor/slim/slim/Slim/App.php(516): Slim\Route->run
#30 /var/www/html/src/core/Directus/Application/Http/Middleware/AbstractRateLimitMiddleware.php(34): Slim\App->__invoke
#31 [internal function]: Directus\Application\Http\Middleware\AbstractRateLimitMiddleware->__invoke
#32 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#33 [internal function]: Slim\DeferredCallable->__invoke
#34 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#35 /var/www/html/vendor/wellingguzman/proxy-detection/src/ProxyDetectionMiddleware.php(30): Slim\App->Slim\{closure}
#36 /var/www/html/src/core/Directus/Application/Http/Middleware/ProxyMiddleware.php(18): RKA\Middleware\ProxyDetectionMiddleware->__invoke
#37 [internal function]: Directus\Application\Http\Middleware\ProxyMiddleware->__invoke
#38 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#39 [internal function]: Slim\DeferredCallable->__invoke
#40 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#41 /var/www/html/vendor/akrabat/ip-address-middleware/src/IpAddress.php(113): Slim\App->Slim\{closure}
#42 [internal function]: RKA\Middleware\IpAddress->__invoke
#43 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#44 [internal function]: Slim\DeferredCallable->__invoke
#45 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#46 /var/www/html/src/core/Directus/Application/Http/Middleware/CorsMiddleware.php(66): Slim\App->Slim\{closure}
#47 [internal function]: Directus\Application\Http\Middleware\CorsMiddleware->__invoke
#48 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#49 [internal function]: Slim\DeferredCallable->__invoke
#50 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#51 /var/www/html/src/core/Directus/Application/Http/Middleware/ResponseCacheMiddleware.php(47): Slim\App->Slim\{closure}
#52 [internal function]: Directus\Application\Http\Middleware\ResponseCacheMiddleware->__invoke
#53 /var/www/html/vendor/slim/slim/Slim/DeferredCallable.php(43): call_user_func_array
#54 [internal function]: Slim\DeferredCallable->__invoke
#55 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(70): call_user_func
#56 /var/www/html/vendor/slim/slim/Slim/MiddlewareAwareTrait.php(117): Slim\App->Slim\{closure}
#57 /var/www/html/vendor/slim/slim/Slim/App.php(407): Slim\App->callMiddlewareStack
#58 /var/www/html/vendor/slim/slim/Slim/App.php(315): Slim\App->process
#59 /var/www/html/src/core/Directus/Application/Application.php(161): Slim\App->run
#60 /var/www/html/public/index.php(5): Directus\Application\Application->run [] []

Note: the stack trace is is from dev env, but in production it's equivalent.

Expected Behavior

It searches for the given text in the auxiliary collection that keeps the translated content.

Actual Behavior

An error occurs.

Not sure if this is an actual bug or I'm missing some point and simply it is not the intended way of use.

Other Context & Screenshots

Script used to create translated collection:

/*
+------------------------------------------+
            Scripts start here
+------------------------------------------+
*/

/* LANGUAGES */

CREATE TABLE `test_languages` (
  `code` varchar(10) NOT NULL,
  `name` varchar(20) NOT NULL,
  PRIMARY KEY (`code`)
);

INSERT INTO directus_collections
(collection, managed, hidden, single, icon, note, `translation`)
VALUES('test_languages', 1, 0, 0, NULL, NULL, '');

INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_languages', 'code', 'string', 'primary-key', '{"trim":true,"showCharacterCount":true,"formatValue":false,"width":"auto"}', 0, NULL, 0, 0, 0, 0, NULL, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_languages', 'name', 'string', 'text-input', '{"trim":true,"showCharacterCount":true,"formatValue":false,"width":"auto"}', 0, NULL, 0, 0, 0, 0, NULL, 4, NULL, NULL, '');

INSERT INTO test_languages
(code, name)
VALUES('en', 'English');


/* COLLECTION */

CREATE TABLE `test_i18n` (
  `id` int(15) unsigned NOT NULL AUTO_INCREMENT,
  `key` varchar(500) DEFAULT NULL,
  PRIMARY KEY (`id`)
);

CREATE TABLE `test_i18n_translations` (
  `id` int(15) unsigned NOT NULL AUTO_INCREMENT,
  `translation_key_id` int(10) unsigned DEFAULT NULL, /* The FK to the translation in the main collection (generic name since the collection name is dynamic) */
  `language_code` char(10) DEFAULT NULL,
  `content` longtext,
  PRIMARY KEY (`id`)
);

INSERT INTO directus_collections
(collection, managed, hidden, single, icon, note, `translation`)
VALUES('test_i18n', 1, 0, 0, NULL, NULL, '');
INSERT INTO directus_collections
(collection, managed, hidden, single, icon, note, `translation`)
VALUES('test_i18n_translations', 1, 1, 0, NULL, NULL, '');

INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n', 'id', 'integer', 'primary-key', '', 0, NULL, 0, 0, 1, 1, 0, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n', 'key', 'string', 'text-input', '{"trim":true,"showCharacterCount":true,"formatValue":false,"width":"auto"}', 0, NULL, 0, 0, 0, 0, NULL, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n', 'translations', 'translation', 'translation', '{"languagesCollection":"test_languages","languagesPrimaryKeyField":"code","languagesNameField":"name","translationLanguageField":"language_code"}', 0, NULL, 0, 0, 0, 0, NULL, 4, NULL, NULL, '');

INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n_translations', 'id', 'integer', 'primary-key', '', 0, NULL, 0, 0, 1, 1, 0, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n_translations', 'translation_key_id', 'integer', 'numeric', '{"localized":true}', 0, NULL, 0, 0, 1, 0, NULL, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n_translations', 'language_code', 'lang', 'text-input', '{"trim":true,"showCharacterCount":true,"formatValue":false,"width":"auto"}', 0, NULL, 0, 0, 1, 0, NULL, 4, NULL, NULL, '');
INSERT INTO directus_fields
(collection, field, `type`, interface, `options`, locked, validation, required, readonly, hidden_detail, hidden_browse, sort, width, `group`, note, `translation`)
VALUES('test_i18n_translations', 'content', 'string', 'textarea', '{"trim":true,"showCharacterCount":true,"formatValue":false,"width":"auto"}', 0, NULL, 0, 0, 0, 0, NULL, 4, NULL, NULL, '');

INSERT INTO directus_relations
(collection_many, field_many, collection_one, field_one, junction_field)
VALUES('test_i18n_translations', 'translation_key_id', 'test_i18n', 'translations', NULL);



/*
+------------------------------------------+
             Scripts end here
+------------------------------------------+
*/

Technical Details

  • Device: Any
  • OS: MacOS 10.13.6 (dev) or Amazon Linux AMI 2018.03 (prod)
  • Web Server: nginx/1.14.1
  • PHP Version: 7.3.2
  • Database: MySQL 5.7.25
  • Install Method: Docker (dev), cloned master branch (prod)
@benhaynes benhaynes transferred this issue from directus/directus Apr 9, 2019
@benhaynes benhaynes added the bug Something isn't working label Apr 9, 2019
@benhaynes benhaynes added this to Needs triage in Bug Triage via automation Apr 9, 2019
@binal-7span binal-7span self-assigned this Apr 23, 2019
@binal-7span binal-7span added this to In progress in v2.1.1 Apr 23, 2019
@theharshin theharshin moved this from Needs triage to Low priority in Bug Triage Apr 26, 2019
@binal-7span
Copy link
Contributor

@agseco

This issue is related to o2m filters. The translation is using o2m internally so this should be resolved with o2m filters feature.

@benhaynes
Copy link
Sponsor Member

Thanks @bjgajjar — is it related, or is it actually the same? If it's the exact same then we can close this as a duplicate.

And to be clear, you're talking about this one? https://github.com/directus/app/issues/1404

@binal-7span
Copy link
Contributor

@benhaynes

#1404 is related to m2o and this is related to o2m. This both issues are related to the relationship but both are different as this both have individual codebase in the backend and both are treated differently as per the code.

That's why user able to get the response (although it is wrong) for #1404 and here user get the error instead of valid response. So these both issues are individual we can't consider this as duplicate. :)

binal-7span added a commit to binal-7span/api that referenced this issue May 1, 2019
Bug Triage automation moved this from Low priority to Closed May 1, 2019
@binal-7span
Copy link
Contributor

Closed in #924

@binal-7span binal-7span moved this from In progress to Done in v2.1.1 May 1, 2019
hemratna added a commit that referenced this issue May 7, 2019
* Return object in delete after hook instead of onli ID (#882)

* Add fix for big file sizes

Closes #750

* Add migrations for hash and single-file

* Show correct fields in roles.users

For some reason the database column for options was empty

Closes https://github.com/directus/app/issues/1471

* Delete ISSUE_TEMPLATE.md

* security notice

* Add check for mod_php before setting php_value for upload size

This will prevent errors on systems that don't allow overriding the php
values from within the .htaccess files. This will only check for php 7+
though, as the mod_php directive is version specific. This is okay for
now, as we officially only support PHP 7.1+

* Change field width from integer to string

This will allow the app to render the fields in the correct widths
starting with v7.2.

* Issue fix #854 (#896)

* Add migrations for setting field notes and widths

Lays out the settings a bit nicer and adds setting descriptions.

Fixes https://github.com/directus/app/issues/1379

* Fix sort order of fields on install

* Increase specificity of migrations so it doesn't target non-settings

* Move collection notes to the DB

I'm aware that this makes them english only for the time being.
Once we implement the using the translation column in the app, we
can make them properly translatable.

* Fix abstraction name

* Add migrations for misc fields

Sorting of files, making a couple interfaces required, etc

* Bump version

* Fix: Wrong MIME for extentions in uppercase (#895)

* FEAT more events that invalidate the cache (#892)

* Allowing string relations (#800)

* emoji support for comments and bookmark names

* Use JSON interface for system collections

* Fixing custom primary key primary key column name (#881)

Swapping this variable seems to resolve the issue.

* Bump version

* Issue #885 (#898)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* Issue#885 - Done

* #885 Removed Test cases

* Issue #886 (#899)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* Issue#885 - Done

* Issue#886 - Done

* #886 Reverted unwanted code

* Issue #884 (#901)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #884 Done

* #884 Removed Test cases

* Issue #884 - Change (#907)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #884 Done

* #884 Removed Test cases

* #884 change

* Fix#810 (#908)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #810 done

* #810 Reverting Test Cases

* Issue Fix #902 (#909)

* Issue fix #902

* Add migration for allow value nullable in settings table

* Set texttype for value field

* Doc issue fix #84 (#910)

* Issue fix #841 (#911)

* Increase expiry time of tokens from 5 to 20 minutes (#913)

It should still be pretty secure. This allows the app to go easier on
the refreshing, and it makes sure that you can upload large files
without having the token expire halfway through.

* Fix missing ref to 5 min exp

* Issue Fix #863 (#916)

* Issue fix #853 (#918)

* Issue Fix #920 (#922)

* Issue Fix #920

* Issue Fix #920

* Issue fix #879 (#924)

* [thumbnailer] Support for files in subdirectories (#856)

Many websites store images in a complex directory structure. This PR
makes it possible to use thumbnailer in such cases.

For instance :
`/thumbnail/_/100/100/crop/good/complex/path/to/some-image.jpg

* defaults cors.max-age to 600 (#921)

* Bump version

* Generate GraphQL schema file which support primary-key, text-input and numeric interfaces.

* Implement graphql-php server.

* GraphQL type for DirectUs files

* Code cleanup.

* Adding custom scalar support for Date, Datetime, JSON

* Adding support for the m2o type in schema generation.

* Adding support for m2o type.

* Support for O2M.
GraphQL type for Directus Role.
Rename GraphQL types for Directus user, files.

* Adding pagination support.

* Code cleanup.

* Adding time scalar type.

* Adding meta support.

* Search filter approach 1.

* Search result.

* Adding support for AND and OR logical filter.

* Rebase with master.

* Adding support for Activity, Collection Preset, Collection, Field type. Change the naming convention. Adding pascal case function in string utils.

* Adding support for setting collection.

* Adding support for Folder, Permission, Relation, Revision collection.

* Adding README.md

* Update README.md

* Change naming convention to snake_case.

* Change in naming convention. Merge list and single query into list query by adding additional arg `id`.
Lapsus pushed a commit to Lapsus/api that referenced this issue May 8, 2019
binal-7span pushed a commit that referenced this issue Jun 17, 2019
* pgsql 10 initial support

* email_notification column must be set as a boolean

* Handle unique column collisions

* BUG delta in revisions can be null

* BUG transformed the remaining lastInsertValue into getLastGeneratedId()

* Pass new item flag to o2m new items

Closes https://github.com/directus/app/issues/1418

* Don't show popover for 0 items / no template

Closes https://github.com/directus/app/issues/1397

* Bug fix (#848)

* Merge conflict resolve

* Handle item not found exception in collection detail API

* Extended the list of safe tags (#849)

As described in issue #832

* Issue fix #819 (#851)

* Mark adding new item as new in m2m

* Bump version

* Revert composer changes

* Issue fix #843 (#852)

* BUG searches with LIKE on non-textual columns

* Remove the extensions from the API

* Issue fix #847 (#857)

* Issue fix #833 (#859)

* Initial commit for documentation (#844)

* Revert "Initial commit for documentation (#844)" (#868)

This reverts commit 6e85d59.

* BUG Bypass Zend-db choice not to allow nullable boolean fields

* BUG field length were not taken into account

* CHORE dupliacted line

* BUG o2m working + post-alter table event dispatching

* Return object in delete after hook instead of onli ID (#882)

* Add fix for big file sizes

Closes #750

* Add migrations for hash and single-file

* Show correct fields in roles.users

For some reason the database column for options was empty

Closes https://github.com/directus/app/issues/1471

* Delete ISSUE_TEMPLATE.md

* security notice

* Add check for mod_php before setting php_value for upload size

This will prevent errors on systems that don't allow overriding the php
values from within the .htaccess files. This will only check for php 7+
though, as the mod_php directive is version specific. This is okay for
now, as we officially only support PHP 7.1+

* Change field width from integer to string

This will allow the app to render the fields in the correct widths
starting with v7.2.

* Issue fix #854 (#896)

* Add migrations for setting field notes and widths

Lays out the settings a bit nicer and adds setting descriptions.

Fixes https://github.com/directus/app/issues/1379

* Fix sort order of fields on install

* Increase specificity of migrations so it doesn't target non-settings

* Move collection notes to the DB

I'm aware that this makes them english only for the time being.
Once we implement the using the translation column in the app, we
can make them properly translatable.

* Fix abstraction name

* Add migrations for misc fields

Sorting of files, making a couple interfaces required, etc

* Bump version

* Fix: Wrong MIME for extentions in uppercase (#895)

* FEAT more events that invalidate the cache (#892)

* Allowing string relations (#800)

* emoji support for comments and bookmark names

* Use JSON interface for system collections

* Fixing custom primary key primary key column name (#881)

Swapping this variable seems to resolve the issue.

* Bump version

* Issue #885 (#898)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* Issue#885 - Done

* #885 Removed Test cases

* Issue #886 (#899)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* Issue#885 - Done

* Issue#886 - Done

* #886 Reverted unwanted code

* Issue #884 (#901)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #884 Done

* #884 Removed Test cases

* Issue #884 - Change (#907)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #884 Done

* #884 Removed Test cases

* #884 change

* Fix#810 (#908)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #810 done

* #810 Reverting Test Cases

* Issue Fix #902 (#909)

* Issue fix #902

* Add migration for allow value nullable in settings table

* Set texttype for value field

* Doc issue fix #84 (#910)

* Issue fix #841 (#911)

* Increase expiry time of tokens from 5 to 20 minutes (#913)

It should still be pretty secure. This allows the app to go easier on
the refreshing, and it makes sure that you can upload large files
without having the token expire halfway through.

* Fix missing ref to 5 min exp

* Issue Fix #863 (#916)

* Issue fix #853 (#918)

* Issue Fix #920 (#922)

* Issue Fix #920

* Issue Fix #920

* Issue fix #879 (#924)

* [thumbnailer] Support for files in subdirectories (#856)

Many websites store images in a complex directory structure. This PR
makes it possible to use thumbnailer in such cases.

For instance :
`/thumbnail/_/100/100/crop/good/complex/path/to/some-image.jpg

* defaults cors.max-age to 600 (#921)

* Bump version

* Fix 943 (#947)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #943

* Fix 717 (#944)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #717

* Fix 576 (#926)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #576 - In progress

* #576 O2M and M20 nested filters

* #576 Fix O2M and M2O nested filters

* get proper string length (#933)

Not tested... I only based this PR on:

Ref: 0fce6a4#commitcomment-33408113

* fixed settings logo (#940)

* added collection/table to InvalidFieldException (#956)

* Fix 931 (#936)

* Test cases : AUthentication - Auth, Forgot Password, Collections - Create, Delete

* #931

* #931

* Issue fix #917 (#960)

* reuse item service instead of using a new instance (#959)

* Issue fix 762 (#961)

* Plain text mail issu resolve (#966)

* Bump version
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
bug Something isn't working
Projects
Bug Triage
  
Closed
v2.1.1
  
Done
Development

No branches or pull requests

3 participants