Commit Graph

358 Commits

Author SHA1 Message Date
Bruno Fusieger
1ea4b4b81f
Fix license metadata (#3233)
Co-authored-by: Opender Singh <opender.singh@konghq.com>
2021-04-23 08:21:22 +12:00
Opender Singh
6ed44f041a chore: publish all 2021-04-22 11:01:16 +12:00
Opender Singh
07bfd858d9 chore: remove force publish 2021-04-22 10:01:53 +12:00
Opender Singh
046bb3973a chore: remove --no-private 2021-04-22 10:01:09 +12:00
Opender Singh
b77dd0b5f7 chore: force-publish versions (for now) 2021-04-22 09:42:39 +12:00
Opender Singh
62f06ca421
Use exact versions and allow publishing of beta NPM packages (#3310) 2021-04-22 08:29:29 +12:00
Opender Singh
26fb78ab99
Remove Core and Designer specific cases (#3034) 2021-02-03 12:19:22 +13:00
Opender Singh
fa4306c5d8
Introduce E2E tests for inso run test (#2917) 2020-12-08 13:03:06 +13:00
Opender Singh
2392c8117a
E2E test to install and consume a plugin (#2847) 2020-11-25 15:26:00 +13:00
Opender Singh
8a6c5cc9b3
Run tests for builds vs packages using env variable (#2660) 2020-09-25 08:14:54 +12:00
Opender Singh
3c345d4be1
Mock server for e2e tests using Prism (#2544)
Co-authored-by: David Marby <david@dmarby.se>
2020-08-25 10:13:29 +12:00
Opender Singh
deaded4674
Add e2e Core tests to PR workflow (#2536)
Co-authored-by: David Marby <david@dmarby.se>
2020-08-25 08:40:40 +12:00
Opender Singh
2b74221549
Add preinstall step to check node version (#2507) 2020-08-13 09:12:31 +12:00
moumni
fa314e5deb
Update root package.json (#2501)
Co-authored-by: Opender Singh <opender94@gmail.com>
2020-08-11 11:46:07 +12:00
Opender Singh
fc934698ed
Fix webpack file watching, remove styled-components from insomnia-components bundle (#2497)
* Reinstall webpack...

* Reinstall webpack...

* set styled-components as an external

* Remove script
2020-08-11 07:12:53 +12:00
Opender Singh
cb991ba956
Revert "Fix app reloading and insomnia-components in watch mode" (#2496)
This reverts commit 971134fae2.
2020-08-07 08:49:45 +12:00
Opender Singh
971134fae2
Fix app reloading and insomnia-components in watch mode (#2493)
* Fix fsevents

* Add node_env for netlify
2020-08-07 08:48:49 +12:00
Mike Ellan
784357f089
Sidebar code mirror interactions (#2433)
* Lifting path clicked up to sidebar root

* Abstracting out path click to story (and app)

* Adding click to scroll, updating sidebar components

* Scroll fix for sidebar

* Cleaning up log

* PR feedback

* PR Feedback, fix schemas & request body rendering

* PR feedback & cleanup

* Prop value checking, selection positioning

* Pulling remote import

* Styled components into insomnia-app, obj destructuring, typing

* Refactoring item path mapping

* Abstracting the mapping of specs for position, bumping down styled components version.

* Directly passing ... rest args initial work

* Pulling logs, removing array concatenation

* Pulling click handler out of render method

* Rolling position mapping into scroll positining method

* Opening up type, could be number/string/array

* Update package-lock.json

* Grabbing height from window, typing API vars, checking path

* Creating scroll method dedicated to design mode

* Moving typing of spec related content to Props def.

* Type checking on sections, invalid section component
2020-08-03 13:57:12 -04:00
Gregory Schier
93c91ebdbe
Upgrade Electron (#2403)
* Upgrade Electron to 8, bump Node version, fix font-manager

* Specify nodeIntegration as true

* Get <webview> working again

* Get <webview> working again

* Electron 9.0

* Escape parens in plugin install exec path (newer Electron added them)

* Bump versions for first alpha

* Electron 9.1

* Convert all Electron APIs that switched from callback to Promise

* Fix send-and-download feature

* Remove user-agent override hack for OAuth 2 login window

* Bump alpha version

* Fix issue regarding chokidar

* Add package-lock.json

* Upgrade chokidar because @babel/cli uses an older incompatible version of fsevents

* Fix source maps

* Read .nvmrc in GitHub actions

* Address remaining PR feedback
2020-07-27 22:18:26 -07:00
Gregory Schier
b7c11e468a Only insomnia-app tests for pre-release 2020-07-02 12:42:42 -07:00
Opender Singh
24630e1873 Fix github workflow 2020-07-02 11:52:49 +12:00
Opender Singh
b99228d080 Rename insomnia-cli to insomnia-inso 2020-07-02 11:28:05 +12:00
Gregory Schier
487047f843
Add test:pre-release script that excludes CLI tests (#2332)
* Add test:pre-release script that excludes CLI tests

* Less repetition
2020-06-30 13:54:38 -07:00
Opender Singh
1d10a42851
Upgrade husky and eslint (#2306)
* hopefully

* Update

* Update

* Fix

* Update
2020-06-19 05:48:09 +12:00
Opender Singh
65105da797
The One With Hooks (#2286)
* Add

* Update

* Remove extra peer dep

* Remove extra peer dep undo

* Undo stuff

* Convert two components (validation)

* Undo packed dep change

* Fix for react-dom alias to @hot-loader/react-dom (#2292)

Co-authored-by: Gregory Schier <gschier1990@gmail.com>
2020-06-13 16:56:15 +12:00
Opender Singh
f38bf20e13
Headless CLI POC (#2258) 2020-06-12 11:44:12 +12:00
Gregory Schier
418be4c495
Add back fsevents (#2270) 2020-06-09 17:31:41 -07:00
Gregory Schier
2d74e15c54 Fix rimraf recursion on fsevent 2020-05-28 14:41:51 -07:00
Gregory Schier
4387381fd1
Upgrade node-libcurl (#2223)
* deps: bump node-libcurl to latest prerelease version

* Add .npmrc, bump Electron to 3.1.13, remove electron-rebuild

* Minor tweaks

* package locks

* Bump version

* Switch to font-manager and fix fsevents rimraf

* Try generating npmrc inside build/

* Try uninstall of fsevents instead

* Bump

* Try npm env vars

* Extra .npmrc

* Try npm env vars in all CI

* Fix insomnia-cookies dependencies

* Fix typo

* Loosen nvmrc version

* Remove npm uninstalls

* Build outside of Docker

* Remove Docker, build all on GH Actions

* Bump Core version

* Disable Snapcraft for now

* Bump

* Disable snap for Designer too

* Update product name for Core

* Update test.yml

* Remove Travis file

* Make userData folder explicit and add Curl types

* Remove old Kong icon

* Remove curl.js adapter

* Revert productName

* Fix release date

* Try remove windows build tools from CI

* Add comment about Snap deploys

* Remove the pane border on Windows (no longer necessary)

Co-authored-by: Jonathan Cardoso Machado <me@jonathancardoso.com>
2020-05-28 10:09:51 -07:00
Opender Singh
443d6df08d
Initial pass to combine eslint and prettier (#2166) 2020-05-15 10:54:07 +12:00
Opender Singh
b75fe624fa
Bug in restoring code-folds (#2114) 2020-05-06 08:36:25 +12:00
Gregory Schier
4cb8e34aef Rename some old things 2020-04-26 14:08:50 -07:00
Gregory Schier
c6a7c4d682 Initial designer merge 2020-04-26 13:33:39 -07:00
Gregory Schier
7bc219422e
Update Babel and ESLint and fix all related errors (#2032)
* Update Babel and ESLint and fix all related errors

* Update babel-jest
2020-04-09 10:32:19 -07:00
Gregory Schier
c20166fc27 Move change-case dependency to proper place 2020-04-07 11:00:57 -07:00
Pocket7878
9f05035e49
feature: Generate Variable Name from SecuritySchemas name parameter. (#1978) 2020-04-03 16:50:50 -07:00
Gregory Schier
6200c9e8c7
Add workspace action plugins and expose context.data helpers (#1901) 2020-01-20 13:07:07 -05:00
Gregory Schier
5a92964db6
New insomnia-ui package with initial <NoticeTable/> component (#1869)
* Add insomnia-ui package with NoticeTable component and a few other examples

* Tweak icon placement and add insomnia-ui to insomnia-app package

* Add click handling and some extra styles to <NoticeTable/>

* New SvgIcon component and style tweaks

* Fix dependencies

* Fix button border

* Fix flow lint

* SvgIcon stories and lots of style updates

* Fix auto-formatting issue
2020-01-06 13:33:47 -05:00
Gregory Schier
851e142136 Rename getinsomnia > kong 2019-12-17 12:16:08 -05:00
Gregory Schier
dbd7cbe059 Fix Flow error 2019-12-12 16:06:21 -05:00
Gregory Schier
533caa4663 Update email address 2019-12-12 15:39:41 -05:00
Gregory Schier
42e198bf75
Add Storybook with basic components (#1807)
* Gruvbox theme

* Added Storybook for all components that don't fail in browser
2019-11-26 12:22:21 -05:00
Gregory Schier
a5857ba9e8 Adjust auto-sizing extra scroll 2019-11-22 12:44:05 -05:00
Gregory Schier
153b10c209
Better Github Actions builds (#1718)
* Try some things

* Try docker

* Specify bash in Dockerfile

* Fix?

* Fix dockerfile version

* Fix bootstrap.sh path

* Use GITHUB_WORKSPACE in docker script

* Fix permissions again

* Fix missing bootstrap.sh

* Try again

* Fix entrypoint.sh permissions

* Remove Linux2
2019-10-09 13:31:42 -07:00
Gregory Schier
a3ab2acfd4 Fix change password logic 2019-08-07 11:08:25 -04:00
Gregory Schier
8fda24ae47 Small sidebar refactor and moved ESLint to top level 2019-08-02 15:01:01 -04:00
Gregory Schier
bb5eaaa871
GraphQL Docs Explorer (#1616)
* Implement a GraphQLExplorer for visually browsing schemas

* Fix some type stuff and theme

* Adjust GraphQL explorer colors for fields to match Codemirror

* Explorer state not modified when showing docs from dropdown

* A few more small tweaks and fixes
2019-07-31 11:05:43 -04:00
Gregory Schier
8b6c275fa4 Update lerna 2019-06-06 09:32:21 -04:00
Gregory Schier
ec1310000d Audit deps 2019-05-04 15:13:47 -04:00
Gregory Schier
0a616fba6b
Version Control (beta) (#1439)
* VCS proof of concept underway!

* Stuff

* Some things

* Replace deprecated Electron makeSingleInstance

* Rename `window` variables so not to be confused with window object

* Don't unnecessarily update request when URL does not change

* Regenerate package-lock

* Fix tests + ESLint

* Publish

 - insomnia-app@1.0.49
 - insomnia-cookies@0.0.12
 - insomnia-httpsnippet@1.16.18
 - insomnia-importers@2.0.13
 - insomnia-libcurl@0.0.23
 - insomnia-prettify@0.1.7
 - insomnia-url@0.1.6
 - insomnia-xpath@1.0.9
 - insomnia-plugin-base64@1.0.6
 - insomnia-plugin-cookie-jar@1.0.8
 - insomnia-plugin-core-themes@1.0.5
 - insomnia-plugin-default-headers@1.1.9
 - insomnia-plugin-file@1.0.7
 - insomnia-plugin-hash@1.0.7
 - insomnia-plugin-jsonpath@1.0.12
 - insomnia-plugin-now@1.0.11
 - insomnia-plugin-os@1.0.13
 - insomnia-plugin-prompt@1.1.9
 - insomnia-plugin-request@1.0.18
 - insomnia-plugin-response@1.0.16
 - insomnia-plugin-uuid@1.0.10

* Broken but w/e

* Some tweaks

* Big refactor. Create local snapshots and push done

* POC merging and a lot of improvements

* Lots of work done on initial UI/UX

* Fix old tests

* Atomic writes and size-based batches

* Update StageEntry definition once again to be better

* Factor out GraphQL query logic

* Merge algorithm, history modal, other minor things

* Fix test

* Merge, checkout, revert w/ user changes now work

* Force UI to refresh when switching branches changes active request

* Rough draft pull() and some cleanup

* E2EE stuff and some refactoring

* Add ability to share project with team and fixed tests

* VCS now created in root component and better remote project handling

* Remove unused definition

* Publish

 - insomnia-account@0.0.2
 - insomnia-app@1.1.1
 - insomnia-cookies@0.0.14
 - insomnia-httpsnippet@1.16.20
 - insomnia-importers@2.0.15
 - insomnia-libcurl@0.0.25
 - insomnia-prettify@0.1.9
 - insomnia-sync@0.0.2
 - insomnia-url@0.1.8
 - insomnia-xpath@1.0.11
 - insomnia-plugin-base64@1.0.8
 - insomnia-plugin-cookie-jar@1.0.10
 - insomnia-plugin-core-themes@1.0.7
 - insomnia-plugin-file@1.0.9
 - insomnia-plugin-hash@1.0.9
 - insomnia-plugin-jsonpath@1.0.14
 - insomnia-plugin-now@1.0.13
 - insomnia-plugin-os@1.0.15
 - insomnia-plugin-prompt@1.1.11
 - insomnia-plugin-request@1.0.20
 - insomnia-plugin-response@1.0.18
 - insomnia-plugin-uuid@1.0.12

* Move some deps around

* Fix Flow errors

* Update package.json

* Fix eslint errors

* Fix tests

* Update deps

* bootstrap insomnia-sync

* TRy fixing appveyor

* Try something else

* Bump lerna

* try powershell

*  Try again

* Fix imports

* Fixed errors

* sync types refactor

* Show remote projects in workspace dropdown

* Improved pulling of non-local workspaces

* Loading indicators and some tweaks

* Clean up sync staging modal

* Some sync improvements:

- No longer store stage
- Upgrade Electron
- Sync UI/UX improvements

* Fix snyc tests

* Upgraded deps and hot loader tweaks (it's broken for some reason)

* Fix tests

* Branches dialog, network refactoring, some tweaks

* Fixed merging when other branch is empty

* A bunch of small fixes from real testing

* Fixed pull merge logic

* Fix tests

* Some bug fixes

* A few small tweaks

* Conflict resolution and other improvements

* Fix tests

* Add revert changes

* Deal with duplicate projects per workspace

* Some tweaks and accessibility improvements

* Tooltip accessibility

* Fix API endpoint

* Fix tests

* Remove jest dep from insomnia-importers
2019-04-17 17:50:03 -07:00
Gregory Schier
5ebc53fa13 Adjusted top-level deps 2018-12-11 18:44:34 -05:00
Gregory Schier
605cb90753
Update Electron and node-libcurl (#1215)
* A bunch of things

* Publish

 - insomnia-app@1.0.41
 - insomnia-cookies@0.0.8
 - insomnia-httpsnippet@1.16.13
 - insomnia-importers@2.0.7
 - insomnia-libcurl@0.0.17
 - insomnia-url@0.1.4
 - insomnia-xpath@1.0.5
 - insomnia-plugin-cookie-jar@1.0.3
 - insomnia-plugin-jsonpath@1.0.7
 - insomnia-plugin-now@1.0.7
 - insomnia-plugin-os@1.0.9
 - insomnia-plugin-prompt@1.1.7
 - insomnia-plugin-request@1.0.13
 - insomnia-plugin-response@1.0.11
 - insomnia-plugin-uuid@1.0.6

* Package deps

* Remove fsevents again

* Appveyor node verison

* Remove unused dep

* Try something

* Try another thing

* NPM audit

* Yet again

* Fix test

* Fix test

* Remove npm dep

* Fix webview

* Fix React sortable and bump version

* Comment out broken test for now

* Publish

 - insomnia-app@1.0.42
 - insomnia-cookies@0.0.9
 - insomnia-httpsnippet@1.16.14
 - insomnia-importers@2.0.8
 - insomnia-libcurl@0.0.18
 - insomnia-xpath@1.0.6
 - insomnia-plugin-cookie-jar@1.0.4
 - insomnia-plugin-file@1.0.5
 - insomnia-plugin-jsonpath@1.0.8
 - insomnia-plugin-now@1.0.8
 - insomnia-plugin-os@1.0.10
 - insomnia-plugin-request@1.0.14
 - insomnia-plugin-response@1.0.12
 - insomnia-plugin-uuid@1.0.7

* Remove deprecated Electron Builder config options

* Try some more

* Publish

 - insomnia-app@1.0.43
 - insomnia-libcurl@0.0.19

* Bump

* Publish

 - insomnia-app@1.0.44
 - insomnia-libcurl@0.0.20

* Hopefully fix windows builds

* DEBUG on travis

* Hopefully fix dependency issues

* Undo package-lock copy

* Debug

* More debugging

* Another check

* Fix debug check

* Try just build

* Extra logging

* Escape windows paths differently (Fixes #1217)

* Try packing more deps

* Publish

 - insomnia-app@1.0.45
 - insomnia-cookies@0.0.10
 - insomnia-httpsnippet@1.16.15
 - insomnia-importers@2.0.9
 - insomnia-libcurl@0.0.21
 - insomnia-xpath@1.0.7
 - insomnia-plugin-cookie-jar@1.0.5
 - insomnia-plugin-jsonpath@1.0.9
 - insomnia-plugin-now@1.0.9
 - insomnia-plugin-os@1.0.11
 - insomnia-plugin-request@1.0.15
 - insomnia-plugin-response@1.0.13
 - insomnia-plugin-uuid@1.0.8

* Adjust some deps

* Zip build dir into release files

* More debug info

* Undo travis tar debug

* Downgrade electron-builder to 20.19

* Downgrade electron-builder to last working version

* Try electron-builder 20.20.4

* Change bundled deps

* Add electron-builder-lib back
2018-10-19 22:11:58 -04:00
Evans Y
955131472a * Implemented normal, monospace font selection and on-pff for font variant (#1213)
ligatures

* Make font-size and font-family based on CSS variables
2018-10-17 13:26:19 -04:00
Gregory Schier
2ffb15ac1d Revert Lerna 2018-07-20 16:51:31 -04:00
Gregory Schier
12117d3d26 Revert postinstall 2018-07-18 19:15:14 -04:00
Gregory Schier
0eed38aea3 Bump some deps 2018-07-16 08:52:10 -04:00
Gregory Schier
4d24bc1d59 Hopefully fix build errors for Node 10 2018-07-12 14:47:21 -04:00
Gregory Schier
7707d8574d audit 2018-07-11 19:18:40 -04:00
Gregory Schier
f08057a6b8 Better Prettier pre-commit 2018-06-25 16:10:12 -04:00
Gregory Schier
14fb8a1585 Env now available when no active request (Fixes #1005) 2018-06-25 15:58:03 -04:00
Gregory Schier
4901f03041 Add Prettier 2018-06-25 13:42:50 -04:00
Gregory Schier
20ed159da8 Fix deps 2018-05-23 04:47:54 -04:00
Gregory Schier
dc3c1edc36 no longer minify 2018-05-23 04:32:43 -04:00
Gregory Schier
7dbbeaa8ab Fetch GraphQL schema more often 2018-04-20 19:06:16 -04:00
Gregory Schier
2cc5c541f2 Use Yarn for all plugin install stages (Closes #825) 2018-03-29 13:23:49 -04:00
Gregory Schier
976720c8f2 Introspection queries use same OAuth2 tokens (Closes #835) 2018-03-28 22:32:09 -04:00
Gregory Schier
bce2a25a47 Remove root deps 2018-02-17 16:33:59 +08:00
Gregory Schier
5cedf92f0e Fix deps 2018-02-14 16:35:03 +08:00
Gregory Schier
b3e4730718 Revert electron-builder to fix icon (Closes #741) 2018-02-14 01:04:39 +08:00
Gregory Schier
cfb88ef044 Bump versions 2018-01-17 16:30:38 +07:00
Gregory Schier
82621e8fb3 Fix for swagger2 importer 2018-01-17 12:18:10 +07:00
Gregory Schier
b0a8b70811 npm install in bootstrap script 2017-12-06 01:05:38 +00:00
Gregory Schier
07ff9049e5 More libcurl fixes 2017-11-30 17:36:36 +00:00
Gregory Schier
f7e5c9154d Implemented base node-libcurl wrapper library 2017-11-30 16:43:30 +00:00
Gregory Schier
5fb9274b39 Bump electron-builder deps 2017-11-30 12:55:01 +00:00
Gregory Schier
c079769a54 Bump electron-builder deps 2017-11-30 12:49:11 +00:00
Gregory Schier
1060f3d9c0 Bump version 2017-11-27 18:51:37 +00:00
Gregory Schier
3217b8677d Fixed render context inheritance (Fixes #631) 2017-11-27 15:52:35 +00:00
Gregory Schier
9a4eafcbe4 Remove website 2017-11-27 00:29:27 +00:00
Gregory Schier
fbf6855729 Fix eslint 2017-11-26 23:48:30 +00:00
Gregory Schier
8ec45c92c9 Fix Netlify deploys 2017-11-26 21:40:56 +00:00
Gregory Schier
eb57b5a6a3 Fix Netlify deploy 2017-11-26 21:20:48 +00:00
Gregory Schier
549ce23ce8
Merge All Repositories into Monorepo for easier maintenance (#629)
* All projects into monorepo

* Update CI

* More CI updates

* Extracted a bunch of things into packages

* Publish

 - insomnia-plugin-base64@1.0.1
 - insomnia-plugin-default-headers@1.0.2
 - insomnia-plugin-file@1.0.1
 - insomnia-plugin-hash@1.0.1
 - insomnia-plugin-now@1.0.1
 - insomnia-plugin-request@1.0.1
 - insomnia-plugin-response@1.0.1
 - insomnia-plugin-uuid@1.0.1
 - insomnia-cookies@0.0.2
 - insomnia-importers@1.5.2
 - insomnia-prettify@0.0.3
 - insomnia-url@0.0.2
 - insomnia-xpath@0.0.2

* A bunch of small fixes

* Improved build script

* Fixed

* Merge dangling files

* Usability refactor

* Handle duplicate plugin names
2017-11-26 20:45:40 +00:00
Gregory Schier
5603680cef
Simplified app launch logic (#626) 2017-11-24 01:39:53 +00:00
Gregory Schier
ba26ec3163
Repair envs and jars, and create missing ones (#616)
* Repair envs and jars, and create missing ones

* Hack to make tests work
2017-11-22 14:00:12 +00:00
Gregory Schier
e9b87686e1
Upgrade Electron Builder (#498)
* Upgrade electron-builder

* Fix optional dep

* Add another dep

* Fix travis

* Fix 7zip install

* Fix icons

* Minor fix

* Delete changelog

* Moved build scripts to JS

* Some adjustments

* Remove lines

* Add 7zip back

* Update scripts

* Small tweaks

* Fix electronbuilder config

* snap dependency

* Fix pkg

* Remove snapd dep

* Updated deps and lots of fixes

* Travis update

* Return package name

* Remove snap for now

* Remove portable

* Try fixing code signing

* Bump cache

* Disable automatic tests

* Fix windows artifacts

* package-lock for app/

* Try fix npm install

* Try again

* Some minor tweaks

* Preleases by default
2017-11-20 16:07:36 +00:00
Gregory Schier
7adf8591c1
Switch to Google Analytics API (#609)
* Almost working

* First working implementation

* Simplified analytics utils

* Fix tests
2017-11-18 22:47:54 +00:00
Gregory Schier
2547e57dad
Add new multipart response viewer (#590) 2017-11-13 01:18:27 +00:00
Gregory Schier
8a1296babc Update Insomnia importers (Closes #558) 2017-11-10 14:43:04 +01:00
Gregory Schier
76611dc50a Fix graphql dependencie problems (Fixes #577) 2017-11-08 14:59:28 +01:00
Gerry Tan
f67f220c6d Atlassian ASAP authentication support (https://s2sauth.bitbucket.io/) (#565) (#566) 2017-11-07 19:14:08 +01:00
Gregory Schier
2dc44f9d7e Added Token to OAuth 1.0 (Rel #197) 2017-11-06 21:44:55 +01:00
Roman Besolov
d3e8a05fc7 oAuth 1.0a Support (#571) 2017-11-06 20:26:31 +01:00
Gregory Schier
31e7011a81
Include standalone Yarn (#569) 2017-11-04 21:53:40 +01:00
Gregory Schier
ecfce11d7b Minor UX improvements to HAR export 2017-11-01 13:40:24 +01:00
Gregory Schier
0c48d0027d Send first named query as operationName 2017-10-30 13:55:04 +01:00
Gregory Schier
990c23173e remove portable target 2017-10-17 22:28:09 +02:00
Gregory Schier
14535aa909 Try portable build 2017-10-17 22:04:00 +02:00
Gregory Schier
0b0d8743f9 Update jsonpath 2017-10-17 11:45:31 +02:00
Gregory Schier
0d56b84c21 Rewrote broken PDF viewer 2017-10-12 19:58:49 +02:00