1. 16 Oct, 2018 1 commit
    • Romain Courteaud's avatar
      [replicateStorage] Replicate all documents/attachments before raising. · e9a130ed
      Romain Courteaud authored
      Accumulate all operations done in a ReplicateReport object.
      
      This ReplicateReport is returned by the repair method in any case (success or failure).
      
      If an error occured while replicating a document, do not stop the full process and log the issue in the report.
      Which means repair now always tries to replicate all documents even if one fails.
      
      Each operation has a code to ease parsing it if needed.
      
      By default, the report only contains error code (< 100).
      It is possible to change the log level by using the 'report_level' storage parameter.
      
      If the 'debug' parameter is set to true, codes will also be displayed in the console.log.
      e9a130ed
  2. 10 Oct, 2018 1 commit
    • Romain Courteaud's avatar
      [indexedDBStorage] handle transaction event · 8ab4f278
      Romain Courteaud authored
      Open database is now wrapped into a promise which ensure that the database will be closed as soon as the promise is resolved.
      This will allow to open multiple transactions if needed.
      
      Transaction creation is now manage by a promise, which will abort the transaction if cancel is called.
      
      The transaction will also be aborted if an error occurs during its callback function.
      
      As transaction abort will reject all accesses, it is safe to use .then method inside the transaction callback.
      
      Check the transaction error event to detect some browser internal errors (like QuotaExceededError).
      Previously, such error was silently ignored, and the jIO client was not aware that the data were not correctly written.
      
      All deletions are now correctly checked, and the method will wait for all deletion to be successfull before returning.
      
      Improve putAttachment algorithm to make it update the previous value and delete only the useless blob chunks.
      
      Reduce the usage of openCursor to not fetch the table content if not needed (like if the index key is enough for example).
      8ab4f278
  3. 09 Oct, 2018 2 commits
  4. 28 Sep, 2018 1 commit
  5. 27 Sep, 2018 2 commits
  6. 07 Sep, 2018 5 commits
  7. 03 Sep, 2018 3 commits
  8. 21 Aug, 2018 2 commits
    • Romain Courteaud's avatar
      Build: stop relying on grunt, nodejs, npm. · 4b8bddba
      Romain Courteaud authored
      Use a Makefile to concatenate the file (and so, drop grunt).
      Allow to build without linting
      
      Fetch external dependencies with curl.
      As they are few, it simplifies the process.
      Keep a local copy of the dependencies.
      
      Add Jison call in the build process.
      
      JSLint can be also triggered from the makefile, and installed how the developper prefers.
      
      Drop the package.json, as jIO is for now not published on npm website.
      
      Remove unused libraries.
      4b8bddba
    • Romain Courteaud's avatar
      Lint: do not redefine the same variable · 13aa9c7b
      Romain Courteaud authored
      13aa9c7b
  9. 13 Aug, 2018 1 commit
  10. 10 Aug, 2018 1 commit
  11. 09 Aug, 2018 4 commits
  12. 06 Aug, 2018 2 commits
  13. 19 Jul, 2018 1 commit
  14. 17 Jul, 2018 1 commit
  15. 21 Jun, 2018 3 commits
  16. 12 Jun, 2018 1 commit
  17. 19 Apr, 2018 1 commit
  18. 04 Apr, 2018 2 commits
  19. 29 Mar, 2018 3 commits
  20. 06 Mar, 2018 2 commits
  21. 11 Jan, 2018 1 commit