aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.github/ISSUE_TEMPLATE/bug_report.yml8
-rw-r--r--.github/ISSUE_TEMPLATE/config.yml2
-rw-r--r--.github/ISSUE_TEMPLATE/service_recipe_request.yml6
-rw-r--r--.github/PULL_REQUEST_TEMPLATE/add_recipe.md4
-rw-r--r--.github/workflows/builds.yml2
-rw-r--r--CODE_OF_CONDUCT.md4
-rw-r--r--README.md6
-rw-r--r--all.json464
-rw-r--r--docs/backend_api.md22
-rw-r--r--docs/configuration.md8
-rw-r--r--docs/frontend_api.md56
-rw-r--r--docs/integration.md58
-rw-r--r--docs/updating.md10
-rw-r--r--package.json4
-rw-r--r--recipes/NewsBlur/index.js2
-rw-r--r--recipes/NewsBlur/package.json2
-rw-r--r--recipes/OVHCloud/index.js2
-rw-r--r--recipes/OVHCloud/package.json2
-rw-r--r--recipes/TickTick/index.js2
-rw-r--r--recipes/TickTick/package.json2
-rw-r--r--recipes/TickTick/webview.js6
-rw-r--r--recipes/air-droid/index.js2
-rw-r--r--recipes/air-droid/package.json2
-rw-r--r--recipes/air-droid/webview.js6
-rw-r--r--recipes/airmessage/index.js2
-rw-r--r--recipes/airmessage/package.json2
-rw-r--r--recipes/airmessage/webview.js4
-rw-r--r--recipes/airtable/index.js2
-rw-r--r--recipes/airtable/package.json2
-rw-r--r--recipes/amazon-web-services/index.js2
-rw-r--r--recipes/amazon-web-services/package.json2
-rw-r--r--recipes/amazon-work-mail/index.js2
-rw-r--r--recipes/amazon-work-mail/package.json2
-rw-r--r--recipes/amazon-work-mail/webview.js8
-rw-r--r--recipes/android-messages/index.js2
-rw-r--r--recipes/android-messages/package.json2
-rw-r--r--recipes/android-messages/webview.js10
-rw-r--r--recipes/anonaddy/index.js2
-rw-r--r--recipes/anonaddy/package.json2
-rw-r--r--recipes/anydo/index.js2
-rw-r--r--recipes/anydo/package.json2
-rw-r--r--recipes/anydo/webview.js8
-rw-r--r--recipes/asana/index.js2
-rw-r--r--recipes/asana/package.json2
-rw-r--r--recipes/asana/webview.js8
-rw-r--r--recipes/azure-devops/index.js2
-rw-r--r--recipes/azure-devops/package.json2
-rw-r--r--recipes/basecamp/index.js2
-rw-r--r--recipes/basecamp/package.json2
-rw-r--r--recipes/basecamp/webview.js6
-rw-r--r--recipes/bigbluebutton/index.js2
-rw-r--r--recipes/bigbluebutton/package.json2
-rw-r--r--recipes/binance/index.js2
-rw-r--r--recipes/binance/package.json2
-rw-r--r--recipes/bip/index.js2
-rw-r--r--recipes/bip/package.json2
-rw-r--r--recipes/bip/webview.js8
-rw-r--r--recipes/bitbucket/index.js2
-rw-r--r--recipes/bitbucket/package.json2
-rw-r--r--recipes/bitwarden/index.js2
-rw-r--r--recipes/bitwarden/package.json2
-rw-r--r--recipes/box/index.js2
-rw-r--r--recipes/box/package.json2
-rw-r--r--recipes/buffer/index.js2
-rw-r--r--recipes/buffer/package.json2
-rw-r--r--recipes/buffer/webview.js4
-rw-r--r--recipes/campuswire/index.js2
-rw-r--r--recipes/campuswire/package.json2
-rw-r--r--recipes/campuswire/webview.js12
-rw-r--r--recipes/canvas/index.js2
-rw-r--r--recipes/canvas/package.json2
-rw-r--r--recipes/canvas/webview.js8
-rw-r--r--recipes/chatra/index.js2
-rw-r--r--recipes/chatra/package.json2
-rw-r--r--recipes/chatra/webview.js8
-rw-r--r--recipes/chatwoot/index.js2
-rw-r--r--recipes/chatwoot/package.json3
-rw-r--r--recipes/chatwoot/webview.js8
-rw-r--r--recipes/chatwork/index.js2
-rw-r--r--recipes/chatwork/package.json2
-rw-r--r--recipes/chatwork/webview.js8
-rw-r--r--recipes/circuit/README.md4
-rw-r--r--recipes/circuit/index.js2
-rw-r--r--recipes/circuit/package.json2
-rw-r--r--recipes/circuit/webview.js6
-rw-r--r--recipes/ciscospark/index.js2
-rw-r--r--recipes/ciscospark/package.json2
-rw-r--r--recipes/ciscospark/webview.js12
-rw-r--r--recipes/clickup/index.js2
-rw-r--r--recipes/clickup/package.json2
-rw-r--r--recipes/clickup/webview.js6
-rw-r--r--recipes/cliq/index.js2
-rw-r--r--recipes/cliq/package.json2
-rw-r--r--recipes/clockify/index.js2
-rw-r--r--recipes/clockify/package.json2
-rw-r--r--recipes/clockify/webview.js6
-rw-r--r--recipes/clockwise/index.js2
-rw-r--r--recipes/clockwise/package.json2
-rw-r--r--recipes/clubhouse/index.js2
-rw-r--r--recipes/clubhouse/package.json2
-rw-r--r--recipes/clubhouse/webview.js6
-rw-r--r--recipes/coinbase/index.js2
-rw-r--r--recipes/coinbase/package.json2
-rw-r--r--recipes/coinbase/webview.js4
-rw-r--r--recipes/confluence/index.js2
-rw-r--r--recipes/confluence/package.json2
-rw-r--r--recipes/confluence/webview.js8
-rw-r--r--recipes/devRant/index.js2
-rw-r--r--recipes/devRant/package.json2
-rw-r--r--recipes/devRant/webview.js12
-rw-r--r--recipes/devdocs/index.js2
-rw-r--r--recipes/devdocs/package.json2
-rw-r--r--recipes/dialpad/index.js2
-rw-r--r--recipes/dialpad/package.json2
-rw-r--r--recipes/dialpad/webview.js10
-rw-r--r--recipes/dingtalk/index.js2
-rw-r--r--recipes/dingtalk/package.json2
-rw-r--r--recipes/dingtalk/webview.js8
-rw-r--r--recipes/discord/index.js4
-rw-r--r--recipes/discord/package.json2
-rw-r--r--recipes/discord/webview.js12
-rw-r--r--recipes/disqus/index.js2
-rw-r--r--recipes/disqus/package.json2
-rw-r--r--recipes/disqus/webview.js8
-rw-r--r--recipes/dockerhub/index.js2
-rw-r--r--recipes/dockerhub/package.json2
-rw-r--r--recipes/dropbox/index.js2
-rw-r--r--recipes/dropbox/package.json2
-rw-r--r--recipes/dropbox/webview.js6
-rw-r--r--recipes/easy-redmine/index.js2
-rw-r--r--recipes/easy-redmine/package.json2
-rw-r--r--recipes/element/index.js2
-rw-r--r--recipes/element/package.json2
-rw-r--r--recipes/element/webview.js20
-rw-r--r--recipes/epicgames/index.js2
-rw-r--r--recipes/epicgames/package.json2
-rw-r--r--recipes/erepublik/index.js2
-rw-r--r--recipes/erepublik/package.json2
-rw-r--r--recipes/erepublik/webview.js14
-rw-r--r--recipes/evernote/index.js2
-rw-r--r--recipes/evernote/package.json2
-rw-r--r--recipes/evernote/webview.js8
-rwxr-xr-xrecipes/facebook/index.js2
-rwxr-xr-xrecipes/facebook/package.json2
-rwxr-xr-xrecipes/facebook/webview.js10
-rw-r--r--recipes/facebookpages/index.js2
-rw-r--r--recipes/facebookpages/package.json2
-rw-r--r--recipes/facebookpages/webview.js8
-rw-r--r--recipes/fastmail/index.js2
-rw-r--r--recipes/fastmail/package.json2
-rw-r--r--recipes/fastmail/webview.js10
-rw-r--r--recipes/feedbin/index.js2
-rw-r--r--recipes/feedbin/package.json2
-rw-r--r--recipes/feedbin/webview.js6
-rw-r--r--recipes/feedly/index.js2
-rw-r--r--recipes/feedly/package.json2
-rw-r--r--recipes/feedly/webview.js8
-rw-r--r--recipes/figma/index.js2
-rw-r--r--recipes/figma/package.json2
-rw-r--r--recipes/fleep/index.js2
-rw-r--r--recipes/fleep/package.json2
-rw-r--r--recipes/fleep/webview.js6
-rw-r--r--recipes/flock/index.js2
-rw-r--r--recipes/flock/package.json2
-rw-r--r--recipes/flock/webview.js8
-rw-r--r--recipes/flowdock/index.js2
-rw-r--r--recipes/flowdock/package.json2
-rw-r--r--recipes/flowdock/webview.js8
-rw-r--r--recipes/franz-custom-website/index.js4
-rw-r--r--recipes/franz-custom-website/package.json2
-rw-r--r--recipes/franz-custom-website/webview.js4
-rw-r--r--recipes/freshdesk/index.js2
-rw-r--r--recipes/freshdesk/package.json2
-rw-r--r--recipes/freshdesk/webview.js6
-rw-r--r--recipes/freshrss/README.md4
-rw-r--r--recipes/freshrss/index.js4
-rw-r--r--recipes/freshrss/package.json4
-rw-r--r--recipes/freshrss/webview.js6
-rw-r--r--recipes/gadugadu/index.js2
-rw-r--r--recipes/gadugadu/package.json2
-rw-r--r--recipes/gadugadu/webview.js12
-rw-r--r--recipes/github/index.js2
-rw-r--r--recipes/github/package.json2
-rw-r--r--recipes/github/webview.js8
-rw-r--r--recipes/gitlab/index.js2
-rw-r--r--recipes/gitlab/package.json2
-rw-r--r--recipes/gitter/index.js2
-rw-r--r--recipes/gitter/package.json2
-rw-r--r--recipes/gitter/webview.js12
-rw-r--r--recipes/glowing-bear/index.js2
-rw-r--r--recipes/glowing-bear/package.json2
-rw-r--r--recipes/glowing-bear/webview.js6
-rw-r--r--recipes/gmail/index.js2
-rw-r--r--recipes/gmail/package.json2
-rw-r--r--recipes/gmail/webview.js12
-rw-r--r--recipes/good-reads/index.js2
-rw-r--r--recipes/good-reads/package.json2
-rw-r--r--recipes/good-reads/webview.js8
-rw-r--r--recipes/google-contacts/index.js2
-rw-r--r--recipes/google-contacts/package.json2
-rw-r--r--recipes/google-news/index.js2
-rw-r--r--recipes/google-news/package.json2
-rw-r--r--recipes/google-translate/index.js2
-rw-r--r--recipes/google-translate/package.json2
-rw-r--r--recipes/google-voice/index.js2
-rw-r--r--recipes/google-voice/package.json2
-rw-r--r--recipes/google-voice/webview.js10
-rw-r--r--recipes/googlecalendar/index.js2
-rw-r--r--recipes/googlecalendar/package.json2
-rw-r--r--recipes/googlecalendar/webview-unsafe.js4
-rw-r--r--recipes/googlecalendar/webview.js6
-rw-r--r--recipes/googleclassroom/index.js2
-rw-r--r--recipes/googleclassroom/package.json2
-rw-r--r--recipes/googleclassroom/webview.js6
-rw-r--r--recipes/googledrive/index.js2
-rw-r--r--recipes/googledrive/package.json2
-rw-r--r--recipes/googledrive/webview.js6
-rw-r--r--recipes/googlekeep/index.js2
-rw-r--r--recipes/googlekeep/package.json2
-rw-r--r--recipes/googlemeet/index.js2
-rw-r--r--recipes/googlemeet/package.json2
-rw-r--r--recipes/googlemeet/webview.js10
-rw-r--r--recipes/googlepodcasts/index.js2
-rw-r--r--recipes/googlepodcasts/package.json2
-rw-r--r--recipes/gotomeeting/index.js4
-rw-r--r--recipes/gotomeeting/package.json2
-rw-r--r--recipes/gotomeeting/webview.js4
-rw-r--r--recipes/grape/index.js2
-rw-r--r--recipes/grape/package.json2
-rw-r--r--recipes/grape/webview.js6
-rw-r--r--recipes/groupme/index.js2
-rw-r--r--recipes/groupme/package.json2
-rw-r--r--recipes/groupme/webview.js8
-rw-r--r--recipes/guilded/index.js2
-rw-r--r--recipes/guilded/package.json2
-rw-r--r--recipes/guilded/webview.js8
-rwxr-xr-xrecipes/habitica/index.js2
-rwxr-xr-xrecipes/habitica/package.json2
-rwxr-xr-xrecipes/habitica/webview.js8
-rw-r--r--recipes/hackmd/index.js2
-rw-r--r--recipes/hackmd/package.json2
-rw-r--r--recipes/hackmd/webview.js10
-rw-r--r--recipes/hangouts/index.js2
-rw-r--r--recipes/hangouts/package.json2
-rw-r--r--recipes/hangouts/webview.js8
-rw-r--r--recipes/hangoutschat/index.js2
-rw-r--r--recipes/hangoutschat/package.json2
-rw-r--r--recipes/hangoutschat/webview.js8
-rw-r--r--recipes/harvest/index.js2
-rw-r--r--recipes/harvest/package.json2
-rw-r--r--recipes/hey/index.js2
-rw-r--r--recipes/hey/package.json2
-rw-r--r--recipes/hey/webview.js8
-rw-r--r--recipes/hipchat/index.js2
-rw-r--r--recipes/hipchat/package.json2
-rw-r--r--recipes/hipchat/webview.js8
-rw-r--r--recipes/hostnet/index.js2
-rw-r--r--recipes/hostnet/package.json2
-rw-r--r--recipes/hostnet/webview.js8
-rw-r--r--recipes/hubstaff/index.js2
-rw-r--r--recipes/hubstaff/package.json4
-rw-r--r--recipes/hubstaff/webview.js10
-rw-r--r--recipes/iCloud/index.js2
-rw-r--r--recipes/iCloud/package.json2
-rw-r--r--recipes/icloud-reminders/index.js2
-rw-r--r--recipes/icloud-reminders/package.json2
-rw-r--r--recipes/icq/index.js2
-rw-r--r--recipes/icq/package.json2
-rw-r--r--recipes/icq/webview.js8
-rw-r--r--recipes/idobata/index.js2
-rw-r--r--recipes/idobata/package.json2
-rw-r--r--recipes/idobata/webview.js6
-rw-r--r--recipes/infomaniak-mail/index.js2
-rw-r--r--recipes/infomaniak-mail/package.json2
-rw-r--r--recipes/infomaniak-mail/webview.js6
-rw-r--r--recipes/inoreader/index.js2
-rw-r--r--recipes/inoreader/package.json2
-rw-r--r--recipes/inoreader/webview.js6
-rw-r--r--recipes/instagram/index.js4
-rw-r--r--recipes/instagram/package.json2
-rw-r--r--recipes/instagram/webview.js10
-rw-r--r--recipes/intercom/index.js2
-rw-r--r--recipes/intercom/package.json2
-rw-r--r--recipes/intercom/webview.js8
-rw-r--r--recipes/irccloud/index.js2
-rw-r--r--recipes/irccloud/package.json2
-rw-r--r--recipes/irccloud/webview.js6
-rw-r--r--recipes/iris-messenger/index.js2
-rw-r--r--recipes/iris-messenger/package.json2
-rw-r--r--recipes/iris-messenger/webview.js8
-rw-r--r--recipes/jira/index.js4
-rw-r--r--recipes/jira/package.json2
-rw-r--r--recipes/jira/webview.js6
-rw-r--r--recipes/jitsi/index.js4
-rw-r--r--recipes/jitsi/package.json2
-rw-r--r--recipes/jitsi/webview.js6
-rw-r--r--recipes/jollor/index.js2
-rw-r--r--recipes/jollor/package.json2
-rw-r--r--recipes/jollor/webview.js8
-rw-r--r--recipes/kaizala/index.js4
-rw-r--r--recipes/kaizala/package.json2
-rw-r--r--recipes/kaizala/webview.js6
-rw-r--r--recipes/keybase.io/index.js2
-rw-r--r--recipes/keybase.io/package.json2
-rw-r--r--recipes/kimaicloud/index.js2
-rw-r--r--recipes/kimaicloud/package.json2
-rw-r--r--recipes/kimaicloud/webview.js10
-rw-r--r--recipes/lark/index.js2
-rw-r--r--recipes/lark/package.json2
-rw-r--r--recipes/lark/webview.js10
-rw-r--r--recipes/lastpass/index.js4
-rw-r--r--recipes/lastpass/package.json2
-rw-r--r--recipes/lastpass/webview.js12
-rw-r--r--recipes/linkedin/index.js2
-rw-r--r--recipes/linkedin/package.json2
-rw-r--r--recipes/linkedin/webview.js8
-rw-r--r--recipes/mailbox.org/index.js2
-rw-r--r--recipes/mailbox.org/package.json2
-rw-r--r--recipes/mailbox.org/webview.js6
-rw-r--r--recipes/mastodon/index.js4
-rw-r--r--recipes/mastodon/package.json2
-rw-r--r--recipes/mastodon/webview.js6
-rw-r--r--recipes/mattermost/index.js2
-rw-r--r--recipes/mattermost/package.json2
-rw-r--r--recipes/mattermost/webview.js6
-rw-r--r--recipes/meetup/index.js2
-rw-r--r--recipes/meetup/package.json2
-rw-r--r--recipes/meetup/webview.js6
-rw-r--r--recipes/messenger/index.js4
-rw-r--r--recipes/messenger/package.json2
-rw-r--r--recipes/messenger/webview.js14
-rw-r--r--recipes/mewe/package.json2
-rw-r--r--recipes/mewe/webview.js8
-rw-r--r--recipes/misskey/index.js4
-rw-r--r--recipes/misskey/package.json2
-rw-r--r--recipes/misskey/webview.js8
-rw-r--r--recipes/monday/index.js2
-rw-r--r--recipes/monday/package.json2
-rwxr-xr-xrecipes/monday/webview.js10
-rwxr-xr-xrecipes/monicahq/index.js2
-rwxr-xr-xrecipes/monicahq/package.json2
-rw-r--r--recipes/moodle/README.md4
-rw-r--r--recipes/moodle/index.js2
-rw-r--r--recipes/moodle/package.json2
-rw-r--r--recipes/moodle/webview.js8
-rw-r--r--recipes/msteams/index.js4
-rw-r--r--recipes/msteams/package.json2
-rw-r--r--recipes/msteams/webview.js14
-rw-r--r--recipes/mstodo/index.js2
-rw-r--r--recipes/mstodo/package.json2
-rw-r--r--recipes/mstodo/webview.js10
-rw-r--r--recipes/mysms/index.js2
-rw-r--r--recipes/mysms/package.json2
-rw-r--r--recipes/mysms/webview.js8
-rw-r--r--recipes/netatmo-energy/index.js2
-rw-r--r--recipes/netatmo-energy/package.json2
-rw-r--r--recipes/netlify/index.js2
-rw-r--r--recipes/netlify/package.json2
-rw-r--r--recipes/netlify/webview.js6
-rw-r--r--recipes/nextcloud-calendar/index.js2
-rw-r--r--recipes/nextcloud-calendar/package.json2
-rw-r--r--recipes/nextcloud-calendar/webview.js8
-rw-r--r--recipes/nextcloud-carnet/index.js2
-rw-r--r--recipes/nextcloud-carnet/package.json2
-rw-r--r--recipes/nextcloud-carnet/webview.js8
-rw-r--r--recipes/nextcloud-cospend/index.js2
-rw-r--r--recipes/nextcloud-cospend/package.json2
-rw-r--r--recipes/nextcloud-cospend/webview.js8
-rw-r--r--recipes/nextcloud-news/README.md10
-rw-r--r--recipes/nextcloud-news/index.js2
-rw-r--r--recipes/nextcloud-news/package.json2
-rw-r--r--recipes/nextcloud-news/webview.js10
-rw-r--r--recipes/nextcloud-talk/index.js2
-rw-r--r--recipes/nextcloud-talk/package.json2
-rw-r--r--recipes/nextcloud-talk/webview.js12
-rw-r--r--recipes/nextcloud-tasks/index.js2
-rw-r--r--recipes/nextcloud-tasks/package.json2
-rw-r--r--recipes/nextcloud-tasks/webview.js8
-rw-r--r--recipes/nextcloud/index.js2
-rw-r--r--recipes/nextcloud/package.json2
-rw-r--r--recipes/nextcloud/webview.js6
-rw-r--r--recipes/nextdoor/index.js2
-rw-r--r--recipes/nextdoor/package.json2
-rw-r--r--recipes/nextdoor/webview.js8
-rwxr-xr-xrecipes/noisli/index.js2
-rwxr-xr-xrecipes/noisli/package.json2
-rw-r--r--recipes/nomadlist/index.js2
-rw-r--r--recipes/nomadlist/package.json2
-rw-r--r--recipes/nomadlist/webview.js6
-rw-r--r--recipes/notion/index.js2
-rw-r--r--recipes/notion/package.json2
-rw-r--r--recipes/notion/webview.js8
-rw-r--r--recipes/odoo/index.js2
-rw-r--r--recipes/odoo/package.json2
-rw-r--r--recipes/office365-owa/index.js4
-rw-r--r--recipes/office365-owa/package.json2
-rw-r--r--recipes/office365-owa/webview.js10
-rw-r--r--recipes/onenote/index.js2
-rw-r--r--recipes/onenote/package.json2
-rw-r--r--recipes/paymo/index.js2
-rw-r--r--recipes/paymo/package.json2
-rw-r--r--recipes/pinterest/index.js2
-rw-r--r--recipes/pinterest/package.json2
-rw-r--r--recipes/pipefy/index.js4
-rw-r--r--recipes/pipefy/package.json2
-rw-r--r--recipes/pipefy/webview.js6
-rw-r--r--recipes/pivotal-tracker/index.js2
-rw-r--r--recipes/pivotal-tracker/package.json2
-rw-r--r--recipes/pivotal-tracker/webview.js6
-rw-r--r--recipes/plan/index.js2
-rw-r--r--recipes/plan/package.json2
-rw-r--r--recipes/plek/index.js2
-rw-r--r--recipes/plek/package.json2
-rw-r--r--recipes/plek/webview.js10
-rw-r--r--recipes/pleroma/index.js2
-rw-r--r--recipes/pleroma/package.json2
-rw-r--r--recipes/pleroma/webview.js12
-rw-r--r--recipes/plurk/index.js2
-rw-r--r--recipes/plurk/package.json2
-rw-r--r--recipes/plurk/webview.js10
-rw-r--r--recipes/pocket/index.js2
-rw-r--r--recipes/pocket/package.json2
-rw-r--r--recipes/podio/index.js2
-rw-r--r--recipes/podio/package.json2
-rw-r--r--recipes/podio/webview.js8
-rw-r--r--recipes/pomodoro-tracker/index.js2
-rw-r--r--recipes/pomodoro-tracker/package.json2
-rw-r--r--recipes/producthunt/index.js2
-rw-r--r--recipes/producthunt/package.json2
-rw-r--r--recipes/producthunt/webview.js6
-rw-r--r--recipes/proton-mail/index.js2
-rw-r--r--recipes/proton-mail/package.json2
-rw-r--r--recipes/proton-mail/webview.js8
-rw-r--r--recipes/protoncalendar/index.js2
-rw-r--r--recipes/protoncalendar/package.json2
-rwxr-xr-xrecipes/protonet/index.js2
-rwxr-xr-xrecipes/protonet/package.json2
-rwxr-xr-xrecipes/protonet/webview.js10
-rw-r--r--recipes/pulsesms/index.js2
-rw-r--r--recipes/pulsesms/package.json2
-rw-r--r--recipes/pulsesms/webview.js6
-rw-r--r--recipes/pushbullet/index.js4
-rw-r--r--recipes/pushbullet/package.json2
-rw-r--r--recipes/rainloop/index.js2
-rw-r--r--recipes/rainloop/package.json2
-rw-r--r--recipes/rainloop/webview.js10
-rw-r--r--recipes/reddit/index.js2
-rw-r--r--recipes/reddit/package.json2
-rw-r--r--recipes/reddit/webview.js12
-rw-r--r--recipes/redditchat/index.js2
-rw-r--r--recipes/redditchat/package.json2
-rw-r--r--recipes/redditchat/webview.js6
-rw-r--r--recipes/ringcentral/index.js2
-rw-r--r--recipes/ringcentral/package.json2
-rw-r--r--recipes/ringcentral/webview.js8
-rw-r--r--recipes/riseup/index.js2
-rw-r--r--recipes/riseup/package.json2
-rw-r--r--recipes/riseup/webview.js8
-rw-r--r--recipes/ritetag/index.js2
-rw-r--r--recipes/ritetag/package.json2
-rw-r--r--recipes/ritetag/webview.js4
-rw-r--r--recipes/rocketchat/index.js2
-rw-r--r--recipes/rocketchat/package.json2
-rw-r--r--recipes/rocketchat/webview.js10
-rw-r--r--recipes/roundcube/index.js2
-rw-r--r--recipes/roundcube/package.json2
-rw-r--r--recipes/roundcube/webview.js8
-rw-r--r--recipes/scribens/index.js2
-rw-r--r--recipes/scribens/package.json2
-rw-r--r--recipes/scrumpy/index.js2
-rw-r--r--recipes/scrumpy/package.json2
-rw-r--r--recipes/scrumpy/webview.js6
-rw-r--r--recipes/sendtask/index.js2
-rw-r--r--recipes/sendtask/package.json2
-rw-r--r--recipes/sendtask/webview.js8
-rw-r--r--recipes/simplenote/index.js2
-rw-r--r--recipes/simplenote/package.json2
-rw-r--r--recipes/simplenote/webview.js8
-rw-r--r--recipes/skype/index.js4
-rw-r--r--recipes/skype/package.json2
-rw-r--r--recipes/skype/webview.js14
-rw-r--r--recipes/slack/index.js2
-rw-r--r--recipes/slack/package.json2
-rw-r--r--recipes/slack/webview.js12
-rw-r--r--recipes/slite/index.js2
-rw-r--r--recipes/slite/package.json2
-rw-r--r--recipes/slite/webview.js6
-rw-r--r--recipes/slowly/index.js2
-rw-r--r--recipes/slowly/package.json2
-rw-r--r--recipes/snapdrop/index.js4
-rw-r--r--recipes/snapdrop/package.json2
-rw-r--r--recipes/sococo/index.js2
-rw-r--r--recipes/sococo/package.json2
-rw-r--r--recipes/sococo/webview.js8
-rw-r--r--recipes/stackexchange/index.js2
-rw-r--r--recipes/stackexchange/package.json2
-rw-r--r--recipes/stackoverflow-chat/index.js2
-rw-r--r--recipes/stackoverflow-chat/package.json2
-rw-r--r--recipes/stackoverflow-chat/webview.js8
-rw-r--r--recipes/stackoverflow/index.js2
-rw-r--r--recipes/stackoverflow/package.json2
-rw-r--r--recipes/stackoverflow/webview.js8
-rwxr-xr-xrecipes/standardnotes/index.js2
-rwxr-xr-xrecipes/standardnotes/package.json2
-rw-r--r--recipes/steamchat/index.js4
-rw-r--r--recipes/steamchat/package.json2
-rw-r--r--recipes/steamchat/webview.js10
-rw-r--r--recipes/stride/index.js2
-rw-r--r--recipes/stride/package.json2
-rw-r--r--recipes/stride/webview.js10
-rw-r--r--recipes/superhuman/index.js4
-rw-r--r--recipes/superhuman/package.json2
-rw-r--r--recipes/superhuman/webview.js6
-rw-r--r--recipes/sync/index.js2
-rw-r--r--recipes/sync/package.json2
-rw-r--r--recipes/tawk/index.js2
-rw-r--r--recipes/tawk/package.json2
-rw-r--r--recipes/teamleader/index.js2
-rw-r--r--recipes/teamleader/package.json2
-rw-r--r--recipes/teamleader/webview.js14
-rw-r--r--recipes/teamweek/index.js2
-rw-r--r--recipes/teamweek/package.json2
-rw-r--r--recipes/teamwork-projects/index.js2
-rw-r--r--recipes/teamwork-projects/package.json2
-rw-r--r--recipes/teamwork-projects/webview.js8
-rw-r--r--recipes/telegram/index.js2
-rw-r--r--recipes/telegram/package.json2
-rw-r--r--recipes/telegram/webview.js18
-rw-r--r--recipes/thelounge/index.js2
-rw-r--r--recipes/thelounge/package.json2
-rw-r--r--recipes/thelounge/webview-unsafe.js6
-rw-r--r--recipes/thelounge/webview.js10
-rw-r--r--recipes/threema/index.js2
-rw-r--r--recipes/threema/package.json2
-rw-r--r--recipes/threema/webview.js12
-rw-r--r--recipes/tinder/index.js2
-rw-r--r--recipes/tinder/package.json2
-rw-r--r--recipes/tixio/index.js2
-rw-r--r--recipes/tixio/package.json2
-rw-r--r--recipes/todoist/index.js2
-rw-r--r--recipes/todoist/package.json2
-rw-r--r--recipes/todoist/webview.js10
-rw-r--r--recipes/toggl/index.js2
-rw-r--r--recipes/toggl/package.json2
-rw-r--r--recipes/toggl/webview-unsafe.js6
-rw-r--r--recipes/toggl/webview.js6
-rw-r--r--recipes/trello/index.js2
-rw-r--r--recipes/trello/package.json2
-rw-r--r--recipes/trello/webview.js6
-rw-r--r--recipes/tt-rss/README.md2
-rw-r--r--recipes/tt-rss/index.js2
-rw-r--r--recipes/tt-rss/package.json2
-rw-r--r--recipes/tt-rss/webview.js6
-rw-r--r--recipes/tutanota/index.js2
-rw-r--r--recipes/tutanota/package.json2
-rw-r--r--recipes/tweetdeck/index.js4
-rw-r--r--recipes/tweetdeck/package.json2
-rw-r--r--recipes/tweetdeck/webview.js10
-rw-r--r--recipes/twist/index.js2
-rw-r--r--recipes/twist/package.json2
-rw-r--r--recipes/twist/webview.js6
-rw-r--r--recipes/twitch/index.js2
-rw-r--r--recipes/twitch/package.json2
-rw-r--r--recipes/twitch/webview.js6
-rw-r--r--recipes/twitter-dm/index.js2
-rw-r--r--recipes/twitter-dm/package.json2
-rw-r--r--recipes/twitter-dm/webview.js8
-rw-r--r--recipes/twitter/index.js2
-rw-r--r--recipes/twitter/package.json2
-rw-r--r--recipes/twitter/webview.js10
-rw-r--r--recipes/udemy/index.js2
-rw-r--r--recipes/udemy/package.json2
-rw-r--r--recipes/udemy/webview.js6
-rw-r--r--recipes/unraid/index.js2
-rw-r--r--recipes/unraid/package.json2
-rw-r--r--recipes/unraid/webview.js6
-rw-r--r--recipes/vk/index.js2
-rw-r--r--recipes/vk/package.json2
-rw-r--r--recipes/vk/webview.js10
-rw-r--r--recipes/voxer/index.js2
-rw-r--r--recipes/voxer/package.json2
-rw-r--r--recipes/voxer/webview.js10
-rw-r--r--recipes/wakatime/index.js2
-rw-r--r--recipes/wakatime/package.json2
-rw-r--r--recipes/webex-teams/index.js2
-rw-r--r--recipes/webex-teams/package.json2
-rw-r--r--recipes/webex-teams/webview.js8
-rw-r--r--recipes/wechat/index.js2
-rw-r--r--recipes/wechat/package.json2
-rw-r--r--recipes/wechat/webview.js10
-rw-r--r--recipes/weekplan/index.js2
-rw-r--r--recipes/weekplan/package.json2
-rw-r--r--recipes/weekplan/webview.js6
-rw-r--r--recipes/whatsapp/index.js6
-rw-r--r--recipes/whatsapp/package.json2
-rw-r--r--recipes/whatsapp/webview.js14
-rw-r--r--recipes/whereby/index.js2
-rw-r--r--recipes/whereby/package.json2
-rw-r--r--recipes/whereby/webview.js14
-rw-r--r--recipes/wire/index.js2
-rw-r--r--recipes/wire/package.json2
-rw-r--r--recipes/wire/webview.js10
-rw-r--r--recipes/withspectrum/index.js2
-rw-r--r--recipes/withspectrum/package.json2
-rw-r--r--recipes/withspectrum/webview.js6
-rw-r--r--recipes/workflowy/index.js2
-rw-r--r--recipes/workflowy/package.json2
-rw-r--r--recipes/workflowy/webview.js4
-rw-r--r--recipes/workplace/index.js2
-rw-r--r--recipes/workplace/package.json2
-rw-r--r--recipes/workplace/webview.js16
-rw-r--r--recipes/wrike/index.js2
-rw-r--r--recipes/wrike/package.json2
-rw-r--r--recipes/wrike/webview.js8
-rw-r--r--recipes/xing/index.js2
-rw-r--r--recipes/xing/package.json2
-rw-r--r--recipes/xing/webview.js6
-rw-r--r--recipes/xmpp/index.js2
-rw-r--r--recipes/xmpp/package.json2
-rw-r--r--recipes/xmpp/webview.js8
-rw-r--r--recipes/yahoo-mail/index.js4
-rw-r--r--recipes/yahoo-mail/package.json2
-rw-r--r--recipes/yahoo-mail/webview.js6
-rw-r--r--recipes/yammer/index.js2
-rw-r--r--recipes/yammer/package.json2
-rw-r--r--recipes/yammer/webview.js10
-rw-r--r--recipes/yandex-mail/index.js2
-rw-r--r--recipes/yandex-mail/package.json2
-rw-r--r--recipes/yandex-mail/webview.js8
-rw-r--r--recipes/youtrack/index.js2
-rw-r--r--recipes/youtrack/package.json2
-rw-r--r--recipes/youtrack/webview.js6
-rw-r--r--recipes/youtube/index.js2
-rw-r--r--recipes/youtube/package.json2
-rw-r--r--recipes/youtubemusic/index.js2
-rw-r--r--recipes/youtubemusic/package.json2
-rw-r--r--recipes/zalo/index.js2
-rw-r--r--recipes/zalo/package.json2
-rw-r--r--recipes/zalo/webview.js6
-rw-r--r--recipes/zendesk/index.js2
-rw-r--r--recipes/zendesk/package.json2
-rw-r--r--recipes/zendesk/webview.js10
-rw-r--r--recipes/zenhub/index.js2
-rw-r--r--recipes/zenhub/package.json2
-rw-r--r--recipes/zeplin/index.js2
-rw-r--r--recipes/zeplin/package.json2
-rw-r--r--recipes/zeplin/webview.js6
-rw-r--r--recipes/zimbra/index.js4
-rw-r--r--recipes/zimbra/package.json2
-rw-r--r--recipes/zimbra/webview.js6
-rw-r--r--recipes/zoho-projects/index.js2
-rw-r--r--recipes/zoho-projects/package.json2
-rw-r--r--recipes/zoho-projects/webview.js4
-rw-r--r--recipes/zoho/index.js2
-rw-r--r--recipes/zoho/package.json2
-rw-r--r--recipes/zoho/webview-unsafe.js10
-rw-r--r--recipes/zoho/webview.js7
-rw-r--r--recipes/zoom/index.js2
-rw-r--r--recipes/zoom/package.json2
-rw-r--r--recipes/zoom/webview.js12
-rw-r--r--recipes/zulip/index.js2
-rw-r--r--recipes/zulip/package.json2
-rw-r--r--recipes/zulip/webview.js6
-rw-r--r--scripts/create.js8
-rw-r--r--scripts/sample_recipe/index.js2
-rw-r--r--scripts/sample_recipe/package.json2
-rw-r--r--scripts/sample_recipe/webview.js4
667 files changed, 1582 insertions, 1584 deletions
diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml
index d85264d..422f8d9 100644
--- a/.github/ISSUE_TEMPLATE/bug_report.yml
+++ b/.github/ISSUE_TEMPLATE/bug_report.yml
@@ -1,5 +1,5 @@
1name: Bug Report 1name: Bug Report
2description: Report an Ferdi bug 2description: Report an Ferdium bug
3title: "[Bug]: " 3title: "[Bug]: "
4labels: ["bug :beetle:"] 4labels: ["bug :beetle:"]
5body: 5body:
@@ -7,7 +7,7 @@ body:
7 attributes: 7 attributes:
8 value: | 8 value: |
9 1. Please remember that if you are logging a bug for some service that has *stopped working*, please log the bug [here](https://github.com/ferdium/ferdium-recipes/issues) 9 1. Please remember that if you are logging a bug for some service that has *stopped working*, please log the bug [here](https://github.com/ferdium/ferdium-recipes/issues)
10 2. If you are requesting support for a new service in Ferdi, please log it [here](https://github.com/ferdium/ferdium-recipes/issues/new/choose) 10 2. If you are requesting support for a new service in Ferdium, please log it [here](https://github.com/ferdium/ferdium-recipes/issues/new/choose)
11 3. Please remember to read the [self-help documentation](https://github.com/ferdium/ferdium-app#troubleshooting-recipes-self-help) - in case it helps you unblock yourself for issues related to old recipes. 11 3. Please remember to read the [self-help documentation](https://github.com/ferdium/ferdium-app#troubleshooting-recipes-self-help) - in case it helps you unblock yourself for issues related to old recipes.
12 4. Please fill our form below, this way we can analyse and fix the problem as fast as possible. 12 4. Please fill our form below, this way we can analyse and fix the problem as fast as possible.
13- type: checkboxes 13- type: checkboxes
@@ -23,8 +23,8 @@ body:
23 required: true 23 required: true
24- type: input 24- type: input
25 attributes: 25 attributes:
26 label: Ferdi Version 26 label: Ferdium Version
27 description: What version of Ferdi are you using? 27 description: What version of Ferdium are you using?
28 placeholder: 5.6.3 28 placeholder: 5.6.3
29 validations: 29 validations:
30 required: true 30 required: true
diff --git a/.github/ISSUE_TEMPLATE/config.yml b/.github/ISSUE_TEMPLATE/config.yml
index 9018c02..dba8679 100644
--- a/.github/ISSUE_TEMPLATE/config.yml
+++ b/.github/ISSUE_TEMPLATE/config.yml
@@ -1,5 +1,5 @@
1# blank_issues_enabled: false 1# blank_issues_enabled: false
2contact_links: 2contact_links:
3 - name: Ferdi Community Support 3 - name: Ferdium Community Support
4 url: https://ferdium.org/faq/ 4 url: https://ferdium.org/faq/
5 about: Please see some basic questions here. If your question is not answered, please continue with raising an issue in github. 5 about: Please see some basic questions here. If your question is not answered, please continue with raising an issue in github.
diff --git a/.github/ISSUE_TEMPLATE/service_recipe_request.yml b/.github/ISSUE_TEMPLATE/service_recipe_request.yml
index d984c2a..517d4ff 100644
--- a/.github/ISSUE_TEMPLATE/service_recipe_request.yml
+++ b/.github/ISSUE_TEMPLATE/service_recipe_request.yml
@@ -1,5 +1,5 @@
1name: New Service-recipe Request 1name: New Service-recipe Request
2description: Suggest a service that we should add to Ferdi 2description: Suggest a service that we should add to Ferdium
3title: "[Recipe Request]: " 3title: "[Recipe Request]: "
4labels: ["recipe request :sparkles:"] 4labels: ["recipe request :sparkles:"]
5body: 5body:
@@ -9,7 +9,7 @@ body:
9 Before creating a new recipe request please check if you can add it yourself. 9 Before creating a new recipe request please check if you can add it yourself.
10 If you add a recipe yourself it will be added faster than having to go through other contributors to do this job for you. 10 If you add a recipe yourself it will be added faster than having to go through other contributors to do this job for you.
11 11
12 As a first option to adding a service we recommend you search if someone already created such a recipe. For this, please search for your service name plus "Franz" on Github (e.g "WhatsApp Franz"), optionally you can also add "recipe" to the search query (e.g. "WhatsApp Franz recipe"). If you find a recipe (e.g. https://github.com/meetfranz/recipe-whatsapp), please check that its license allows us to add it to the repository. For this, open the "package.json" file of the project and look at the specified license. In most cases this will be '"license": "MIT"': The MIT License allows us to add the recipe! Please also check that the recipe is working (e.g. by adding it as a dev recipe to your Ferdi installation or looking if there are existing issues on the repository) and that it contains your desired features (e.g. look at the README). Another good indicator for if the recipe supports notifications is if there is code inside the "webview.js" file. 12 As a first option to adding a service we recommend you search if someone already created such a recipe. For this, please search for your service name plus "Franz" on Github (e.g "WhatsApp Franz"), optionally you can also add "recipe" to the search query (e.g. "WhatsApp Franz recipe"). If you find a recipe (e.g. https://github.com/meetfranz/recipe-whatsapp), please check that its license allows us to add it to the repository. For this, open the "package.json" file of the project and look at the specified license. In most cases this will be '"license": "MIT"': The MIT License allows us to add the recipe! Please also check that the recipe is working (e.g. by adding it as a dev recipe to your Ferdium installation or looking if there are existing issues on the repository) and that it contains your desired features (e.g. look at the README). Another good indicator for if the recipe supports notifications is if there is code inside the "webview.js" file.
13 After finding a recipe you can let our fetch script add it to the repository for you. For this, please fork this repository on GitHub and follow the instructions on https://github.com/ferdium/ferdium-recipes#importing-recipes-from-github. After adding the recipe, please create a PR back to this repository. 13 After finding a recipe you can let our fetch script add it to the repository for you. For this, please fork this repository on GitHub and follow the instructions on https://github.com/ferdium/ferdium-recipes#importing-recipes-from-github. After adding the recipe, please create a PR back to this repository.
14 14
15 If there is no repository on GitHub you can also create one yourself - this often only takes 10-20 minutes and makes it much more likely that your service will get added! To create a recipe please look at this guide from Franz: https://github.com/meetfranz/plugins/blob/master/docs/integration.md. 15 If there is no repository on GitHub you can also create one yourself - this often only takes 10-20 minutes and makes it much more likely that your service will get added! To create a recipe please look at this guide from Franz: https://github.com/meetfranz/plugins/blob/master/docs/integration.md.
@@ -17,7 +17,7 @@ body:
17 IF YOU ARE NOT FAMILIAR WITH JAVASCRIPT: Please still search for a recipe using the guide above and add it to your request. 17 IF YOU ARE NOT FAMILIAR WITH JAVASCRIPT: Please still search for a recipe using the guide above and add it to your request.
18 18
19 1. Please remember that if you are logging a bug for some service that has *stopped working*, please log the bug [here](https://github.com/ferdium/ferdium-recipes/issues) 19 1. Please remember that if you are logging a bug for some service that has *stopped working*, please log the bug [here](https://github.com/ferdium/ferdium-recipes/issues)
20 2. If you are requesting support for a new service in Ferdi, please log it [here](https://github.com/ferdium/ferdium-recipes/issues/new/choose) 20 2. If you are requesting support for a new service in Ferdium, please log it [here](https://github.com/ferdium/ferdium-recipes/issues/new/choose)
21 3. Please remember to read the [self-help documentation](https://github.com/ferdium/ferdium-app#troubleshooting-recipes-self-help) - in case it helps you unblock yourself for issues related to old recipes. 21 3. Please remember to read the [self-help documentation](https://github.com/ferdium/ferdium-app#troubleshooting-recipes-self-help) - in case it helps you unblock yourself for issues related to old recipes.
22 4. Please fill our form below, this way we can analyse and fix the problem as fast as possible. 22 4. Please fill our form below, this way we can analyse and fix the problem as fast as possible.
23- type: checkboxes 23- type: checkboxes
diff --git a/.github/PULL_REQUEST_TEMPLATE/add_recipe.md b/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
index 1dd0379..0e35310 100644
--- a/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
+++ b/.github/PULL_REQUEST_TEMPLATE/add_recipe.md
@@ -1,5 +1,5 @@
1<!-- 1<!--
2 Thank you for taking the time to create a recipe for Ferdi. 2 Thank you for taking the time to create a recipe for Ferdium.
3 Please complete the following form so we can add your new recipe 3 Please complete the following form so we can add your new recipe
4 --> 4 -->
5 5
@@ -23,6 +23,6 @@ Service ID: [What ID does your recipe use?]
23 23
24- [ ] I am the original creator of this package 24- [ ] I am the original creator of this package
25- [ ] I have run the `pnpm run package` and verified that there are no validation errors reported for this package 25- [ ] I have run the `pnpm run package` and verified that there are no validation errors reported for this package
26- [ ] My recipe has been tested to work inside Ferdi 26- [ ] My recipe has been tested to work inside Ferdium
27 27
28<!-- Here you can write anything else you want to tell us. --> 28<!-- Here you can write anything else you want to tell us. -->
diff --git a/.github/workflows/builds.yml b/.github/workflows/builds.yml
index 8feb1d9..77c2862 100644
--- a/.github/workflows/builds.yml
+++ b/.github/workflows/builds.yml
@@ -19,7 +19,7 @@ on:
19 19
20jobs: 20jobs:
21 build: 21 build:
22 name: Ferdi Recipes Build 22 name: Ferdium Recipes Build
23 runs-on: ubuntu-latest 23 runs-on: ubuntu-latest
24 steps: 24 steps:
25 - name: Print latest commit 25 - name: Print latest commit
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 0b41fc1..8418cf4 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -1,11 +1,11 @@
1# Contributor Code of Conduct 1# Contributor Code of Conduct
2 2
3As contributors and maintainers of the Ferdi project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities. 3As contributors and maintainers of the Ferdium project, we pledge to respect everyone who contributes by posting issues, updating documentation, submitting pull requests, providing feedback in comments, and any other activities.
4 4
5Communication through GitHub, Slack, email or any other channel must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct. 5Communication through GitHub, Slack, email or any other channel must be constructive and never resort to personal attacks, trolling, public or private harassment, insults, or other unprofessional conduct.
6 6
7We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the project to do the same. 7We promise to extend courtesy and respect to everyone involved in this project regardless of gender, gender identity, sexual orientation, disability, age, race, ethnicity, religion, or level of experience. We expect anyone contributing to the project to do the same.
8 8
9If any member of the community violates this code of conduct, the maintainers of the Ferdi project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate. 9If any member of the community violates this code of conduct, the maintainers of the Ferdium project may take action, removing issues, comments, and PRs or blocking accounts as deemed appropriate.
10 10
11If you are subject to or witness unacceptable behavior, or have any other concerns, please open an issue or send an email to [Stefan](stefan@adlk.io). 11If you are subject to or witness unacceptable behavior, or have any other concerns, please open an issue or send an email to [Stefan](stefan@adlk.io).
diff --git a/README.md b/README.md
index 8266302..ce978e0 100644
--- a/README.md
+++ b/README.md
@@ -16,13 +16,13 @@
16 --> 16 -->
17</p> 17</p>
18 18
19> 🍰 Recipes encapsulate your favourite apps into Ferdi for unified notifications handling and more 19> 🍰 Recipes encapsulate your favourite apps into Ferdium for unified notifications handling and more
20 20
21Recipes are small scripts that are responsible for providing the connection between your services (e.g. WhatsApp, Gmail or Slack) and Ferdi. It provides Ferdi information like the number of current notifications, handles enabling dark mode and may otherwise improve your experience with the service. 21Recipes are small scripts that are responsible for providing the connection between your services (e.g. WhatsApp, Gmail or Slack) and Ferdium. It provides Ferdium information like the number of current notifications, handles enabling dark mode and may otherwise improve your experience with the service.
22 22
23## Creating and adding your own recipes 23## Creating and adding your own recipes
24 24
25* [Overview / How to create a Ferdi integration](docs/integration.md) 25* [Overview / How to create a Ferdium integration](docs/integration.md)
26* [How to update/change recipes](docs/updating.md) 26* [How to update/change recipes](docs/updating.md)
27* [Configuration (package.json)](docs/configuration.md) 27* [Configuration (package.json)](docs/configuration.md)
28* [Frontend API (webview.js)](docs/frontend_api.md) 28* [Frontend API (webview.js)](docs/frontend_api.md)
diff --git a/all.json b/all.json
index 6189e75..6746459 100644
--- a/all.json
+++ b/all.json
@@ -3,7 +3,7 @@
3 "featured": false, 3 "featured": false,
4 "id": "air-droid", 4 "id": "air-droid",
5 "name": "AirDroid", 5 "name": "AirDroid",
6 "version": "1.1.2", 6 "version": "1.2.0",
7 "icons": { 7 "icons": {
8 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/air-droid/icon.svg" 8 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/air-droid/icon.svg"
9 } 9 }
@@ -12,7 +12,7 @@
12 "featured": false, 12 "featured": false,
13 "id": "airmessage", 13 "id": "airmessage",
14 "name": "AirMessage", 14 "name": "AirMessage",
15 "version": "1.0.0", 15 "version": "1.1.0",
16 "icons": { 16 "icons": {
17 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airmessage/icon.svg" 17 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airmessage/icon.svg"
18 } 18 }
@@ -21,7 +21,7 @@
21 "featured": false, 21 "featured": false,
22 "id": "airtable", 22 "id": "airtable",
23 "name": "Airtable", 23 "name": "Airtable",
24 "version": "1.1.1", 24 "version": "1.2.0",
25 "icons": { 25 "icons": {
26 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airtable/icon.svg" 26 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airtable/icon.svg"
27 } 27 }
@@ -30,7 +30,7 @@
30 "featured": false, 30 "featured": false,
31 "id": "amazon-web-services", 31 "id": "amazon-web-services",
32 "name": "Amazon Web Services", 32 "name": "Amazon Web Services",
33 "version": "1.0.2", 33 "version": "1.1.0",
34 "aliases": [ 34 "aliases": [
35 "aws" 35 "aws"
36 ], 36 ],
@@ -42,7 +42,7 @@
42 "featured": false, 42 "featured": false,
43 "id": "amazon-work-mail", 43 "id": "amazon-work-mail",
44 "name": "Amazon WorkMail", 44 "name": "Amazon WorkMail",
45 "version": "1.1.1", 45 "version": "1.2.0",
46 "icons": { 46 "icons": {
47 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/amazon-work-mail/icon.svg" 47 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/amazon-work-mail/icon.svg"
48 } 48 }
@@ -51,7 +51,7 @@
51 "featured": false, 51 "featured": false,
52 "id": "android-messages", 52 "id": "android-messages",
53 "name": "Android Messages", 53 "name": "Android Messages",
54 "version": "2.2.4", 54 "version": "2.3.0",
55 "icons": { 55 "icons": {
56 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/android-messages/icon.svg" 56 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/android-messages/icon.svg"
57 } 57 }
@@ -60,7 +60,7 @@
60 "featured": false, 60 "featured": false,
61 "id": "anonaddy", 61 "id": "anonaddy",
62 "name": "AnonAddy", 62 "name": "AnonAddy",
63 "version": "1.1.2", 63 "version": "1.2.0",
64 "icons": { 64 "icons": {
65 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anonaddy/icon.svg" 65 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anonaddy/icon.svg"
66 } 66 }
@@ -69,7 +69,7 @@
69 "featured": false, 69 "featured": false,
70 "id": "anydo", 70 "id": "anydo",
71 "name": "Any.do", 71 "name": "Any.do",
72 "version": "1.1.1", 72 "version": "1.2.0",
73 "icons": { 73 "icons": {
74 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anydo/icon.svg" 74 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anydo/icon.svg"
75 } 75 }
@@ -78,7 +78,7 @@
78 "featured": false, 78 "featured": false,
79 "id": "asana", 79 "id": "asana",
80 "name": "Asana", 80 "name": "Asana",
81 "version": "1.1.1", 81 "version": "1.2.0",
82 "icons": { 82 "icons": {
83 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/asana/icon.svg" 83 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/asana/icon.svg"
84 } 84 }
@@ -87,7 +87,7 @@
87 "featured": false, 87 "featured": false,
88 "id": "azure-devops", 88 "id": "azure-devops",
89 "name": "Azure DevOps", 89 "name": "Azure DevOps",
90 "version": "1.1.2", 90 "version": "1.2.0",
91 "aliases": [ 91 "aliases": [
92 "azdo" 92 "azdo"
93 ], 93 ],
@@ -99,7 +99,7 @@
99 "featured": false, 99 "featured": false,
100 "id": "basecamp", 100 "id": "basecamp",
101 "name": "Basecamp", 101 "name": "Basecamp",
102 "version": "1.1.1", 102 "version": "1.2.0",
103 "icons": { 103 "icons": {
104 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.svg" 104 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.svg"
105 } 105 }
@@ -108,7 +108,7 @@
108 "featured": false, 108 "featured": false,
109 "id": "bigbluebutton", 109 "id": "bigbluebutton",
110 "name": "BigBlueButton", 110 "name": "BigBlueButton",
111 "version": "1.1.1", 111 "version": "1.2.0",
112 "icons": { 112 "icons": {
113 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bigbluebutton/icon.svg" 113 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bigbluebutton/icon.svg"
114 } 114 }
@@ -117,7 +117,7 @@
117 "featured": false, 117 "featured": false,
118 "id": "binance", 118 "id": "binance",
119 "name": "Binance", 119 "name": "Binance",
120 "version": "1.0.2", 120 "version": "1.1.0",
121 "icons": { 121 "icons": {
122 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/binance/icon.svg" 122 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/binance/icon.svg"
123 } 123 }
@@ -126,7 +126,7 @@
126 "featured": false, 126 "featured": false,
127 "id": "bip", 127 "id": "bip",
128 "name": "BiP", 128 "name": "BiP",
129 "version": "1.1.3", 129 "version": "1.2.0",
130 "icons": { 130 "icons": {
131 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bip/icon.svg" 131 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bip/icon.svg"
132 } 132 }
@@ -135,7 +135,7 @@
135 "featured": false, 135 "featured": false,
136 "id": "bitbucket", 136 "id": "bitbucket",
137 "name": "BitBucket", 137 "name": "BitBucket",
138 "version": "1.1.2", 138 "version": "1.2.0",
139 "icons": { 139 "icons": {
140 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitbucket/icon.svg" 140 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitbucket/icon.svg"
141 } 141 }
@@ -144,7 +144,7 @@
144 "featured": false, 144 "featured": false,
145 "id": "bitwarden", 145 "id": "bitwarden",
146 "name": "Bitwarden", 146 "name": "Bitwarden",
147 "version": "1.0.2", 147 "version": "1.1.0",
148 "icons": { 148 "icons": {
149 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitwarden/icon.svg" 149 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitwarden/icon.svg"
150 } 150 }
@@ -153,7 +153,7 @@
153 "featured": false, 153 "featured": false,
154 "id": "box", 154 "id": "box",
155 "name": "Box", 155 "name": "Box",
156 "version": "1.1.2", 156 "version": "1.2.0",
157 "icons": { 157 "icons": {
158 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.svg" 158 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.svg"
159 } 159 }
@@ -162,7 +162,7 @@
162 "featured": false, 162 "featured": false,
163 "id": "buffer", 163 "id": "buffer",
164 "name": "Buffer", 164 "name": "Buffer",
165 "version": "1.1.1", 165 "version": "1.2.0",
166 "icons": { 166 "icons": {
167 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.svg" 167 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.svg"
168 } 168 }
@@ -171,7 +171,7 @@
171 "featured": false, 171 "featured": false,
172 "id": "campuswire", 172 "id": "campuswire",
173 "name": "Campuswire", 173 "name": "Campuswire",
174 "version": "1.1.2", 174 "version": "1.2.0",
175 "icons": { 175 "icons": {
176 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/campuswire/icon.svg" 176 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/campuswire/icon.svg"
177 } 177 }
@@ -180,7 +180,7 @@
180 "featured": false, 180 "featured": false,
181 "id": "canvas", 181 "id": "canvas",
182 "name": "Canvas", 182 "name": "Canvas",
183 "version": "1.0.3", 183 "version": "1.1.0",
184 "icons": { 184 "icons": {
185 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/canvas/icon.svg" 185 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/canvas/icon.svg"
186 } 186 }
@@ -189,7 +189,7 @@
189 "featured": false, 189 "featured": false,
190 "id": "chatra", 190 "id": "chatra",
191 "name": "Chatra", 191 "name": "Chatra",
192 "version": "1.1.2", 192 "version": "1.2.0",
193 "icons": { 193 "icons": {
194 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.svg" 194 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.svg"
195 } 195 }
@@ -198,7 +198,7 @@
198 "featured": false, 198 "featured": false,
199 "id": "chatwoot", 199 "id": "chatwoot",
200 "name": "Chatwoot", 200 "name": "Chatwoot",
201 "version": "1.0.0", 201 "version": "1.1.0",
202 "icons": { 202 "icons": {
203 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwoot/icon.svg" 203 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwoot/icon.svg"
204 } 204 }
@@ -207,7 +207,7 @@
207 "featured": false, 207 "featured": false,
208 "id": "chatwork", 208 "id": "chatwork",
209 "name": "Chatwork", 209 "name": "Chatwork",
210 "version": "1.1.3", 210 "version": "1.2.0",
211 "icons": { 211 "icons": {
212 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwork/icon.svg" 212 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwork/icon.svg"
213 } 213 }
@@ -216,7 +216,7 @@
216 "featured": false, 216 "featured": false,
217 "id": "circuit", 217 "id": "circuit",
218 "name": "Circuit", 218 "name": "Circuit",
219 "version": "1.0.3", 219 "version": "1.1.0",
220 "icons": { 220 "icons": {
221 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/circuit/icon.svg" 221 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/circuit/icon.svg"
222 } 222 }
@@ -225,7 +225,7 @@
225 "featured": false, 225 "featured": false,
226 "id": "ciscospark", 226 "id": "ciscospark",
227 "name": "Cisco Spark", 227 "name": "Cisco Spark",
228 "version": "1.1.2", 228 "version": "1.2.0",
229 "icons": { 229 "icons": {
230 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ciscospark/icon.svg" 230 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ciscospark/icon.svg"
231 } 231 }
@@ -234,7 +234,7 @@
234 "featured": false, 234 "featured": false,
235 "id": "clickup", 235 "id": "clickup",
236 "name": "ClickUp", 236 "name": "ClickUp",
237 "version": "2.2.1", 237 "version": "2.3.0",
238 "icons": { 238 "icons": {
239 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clickup/icon.svg" 239 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clickup/icon.svg"
240 } 240 }
@@ -243,7 +243,7 @@
243 "featured": false, 243 "featured": false,
244 "id": "cliq", 244 "id": "cliq",
245 "name": "Cliq", 245 "name": "Cliq",
246 "version": "1.1.2", 246 "version": "1.2.0",
247 "icons": { 247 "icons": {
248 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/cliq/icon.svg" 248 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/cliq/icon.svg"
249 } 249 }
@@ -252,7 +252,7 @@
252 "featured": false, 252 "featured": false,
253 "id": "clockify", 253 "id": "clockify",
254 "name": "Clockify", 254 "name": "Clockify",
255 "version": "1.1.1", 255 "version": "1.2.0",
256 "icons": { 256 "icons": {
257 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockify/icon.svg" 257 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockify/icon.svg"
258 } 258 }
@@ -261,7 +261,7 @@
261 "featured": false, 261 "featured": false,
262 "id": "clockwise", 262 "id": "clockwise",
263 "name": "Clockwise", 263 "name": "Clockwise",
264 "version": "1.0.1", 264 "version": "1.1.0",
265 "icons": { 265 "icons": {
266 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockwise/icon.svg" 266 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockwise/icon.svg"
267 } 267 }
@@ -270,7 +270,7 @@
270 "featured": false, 270 "featured": false,
271 "id": "clubhouse", 271 "id": "clubhouse",
272 "name": "Clubhouse", 272 "name": "Clubhouse",
273 "version": "1.1.1", 273 "version": "1.2.0",
274 "icons": { 274 "icons": {
275 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clubhouse/icon.svg" 275 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clubhouse/icon.svg"
276 } 276 }
@@ -279,7 +279,7 @@
279 "featured": false, 279 "featured": false,
280 "id": "coinbase", 280 "id": "coinbase",
281 "name": "Coinbase", 281 "name": "Coinbase",
282 "version": "1.0.0", 282 "version": "1.1.0",
283 "icons": { 283 "icons": {
284 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/coinbase/icon.svg" 284 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/coinbase/icon.svg"
285 } 285 }
@@ -288,7 +288,7 @@
288 "featured": false, 288 "featured": false,
289 "id": "confluence", 289 "id": "confluence",
290 "name": "Confluence", 290 "name": "Confluence",
291 "version": "1.0.0", 291 "version": "1.1.0",
292 "icons": { 292 "icons": {
293 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/confluence/icon.svg" 293 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/confluence/icon.svg"
294 } 294 }
@@ -297,7 +297,7 @@
297 "featured": false, 297 "featured": false,
298 "id": "devdocs", 298 "id": "devdocs",
299 "name": "DevDocs", 299 "name": "DevDocs",
300 "version": "1.0.3", 300 "version": "1.1.0",
301 "icons": { 301 "icons": {
302 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/devdocs/icon.svg" 302 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/devdocs/icon.svg"
303 } 303 }
@@ -306,7 +306,7 @@
306 "featured": false, 306 "featured": false,
307 "id": "devRant", 307 "id": "devRant",
308 "name": "devRant", 308 "name": "devRant",
309 "version": "1.0.3", 309 "version": "1.1.0",
310 "icons": { 310 "icons": {
311 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/devRant/icon.svg" 311 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/devRant/icon.svg"
312 } 312 }
@@ -315,7 +315,7 @@
315 "featured": false, 315 "featured": false,
316 "id": "dialpad", 316 "id": "dialpad",
317 "name": "Dialpad", 317 "name": "Dialpad",
318 "version": "1.0.1", 318 "version": "1.1.0",
319 "icons": { 319 "icons": {
320 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dialpad/icon.svg" 320 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dialpad/icon.svg"
321 } 321 }
@@ -324,7 +324,7 @@
324 "featured": false, 324 "featured": false,
325 "id": "dingtalk", 325 "id": "dingtalk",
326 "name": "Dingtalk", 326 "name": "Dingtalk",
327 "version": "1.0.25", 327 "version": "1.1.0",
328 "icons": { 328 "icons": {
329 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dingtalk/icon.svg" 329 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dingtalk/icon.svg"
330 } 330 }
@@ -333,7 +333,7 @@
333 "featured": true, 333 "featured": true,
334 "id": "discord", 334 "id": "discord",
335 "name": "Discord", 335 "name": "Discord",
336 "version": "1.5.1", 336 "version": "1.6.0",
337 "icons": { 337 "icons": {
338 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/discord/icon.svg" 338 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/discord/icon.svg"
339 } 339 }
@@ -342,7 +342,7 @@
342 "featured": false, 342 "featured": false,
343 "id": "disqus", 343 "id": "disqus",
344 "name": "Disqus", 344 "name": "Disqus",
345 "version": "1.1.2", 345 "version": "1.2.0",
346 "icons": { 346 "icons": {
347 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/disqus/icon.svg" 347 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/disqus/icon.svg"
348 } 348 }
@@ -351,7 +351,7 @@
351 "featured": false, 351 "featured": false,
352 "id": "dockerhub", 352 "id": "dockerhub",
353 "name": "Docker Hub", 353 "name": "Docker Hub",
354 "version": "1.0.2", 354 "version": "1.1.0",
355 "icons": { 355 "icons": {
356 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dockerhub/icon.svg" 356 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dockerhub/icon.svg"
357 } 357 }
@@ -360,7 +360,7 @@
360 "featured": false, 360 "featured": false,
361 "id": "dropbox", 361 "id": "dropbox",
362 "name": "Dropbox", 362 "name": "Dropbox",
363 "version": "1.0.1", 363 "version": "1.1.0",
364 "icons": { 364 "icons": {
365 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dropbox/icon.svg" 365 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/dropbox/icon.svg"
366 } 366 }
@@ -369,7 +369,7 @@
369 "featured": false, 369 "featured": false,
370 "id": "easy-redmine", 370 "id": "easy-redmine",
371 "name": "Easy Redmine", 371 "name": "Easy Redmine",
372 "version": "1.1.3", 372 "version": "1.2.0",
373 "icons": { 373 "icons": {
374 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.svg" 374 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.svg"
375 } 375 }
@@ -378,7 +378,7 @@
378 "featured": false, 378 "featured": false,
379 "id": "element", 379 "id": "element",
380 "name": "Element", 380 "name": "Element",
381 "version": "1.1.2", 381 "version": "1.2.0",
382 "aliases": [ 382 "aliases": [
383 "Riot.im", 383 "Riot.im",
384 "Matrix" 384 "Matrix"
@@ -391,7 +391,7 @@
391 "featured": false, 391 "featured": false,
392 "id": "epicgames", 392 "id": "epicgames",
393 "name": "Epic Games Store", 393 "name": "Epic Games Store",
394 "version": "1.1.2", 394 "version": "1.2.0",
395 "icons": { 395 "icons": {
396 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/epicgames/icon.svg" 396 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/epicgames/icon.svg"
397 } 397 }
@@ -400,7 +400,7 @@
400 "featured": false, 400 "featured": false,
401 "id": "erepublik", 401 "id": "erepublik",
402 "name": "eRepublik", 402 "name": "eRepublik",
403 "version": "1.1.3", 403 "version": "1.2.0",
404 "icons": { 404 "icons": {
405 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/erepublik/icon.svg" 405 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/erepublik/icon.svg"
406 } 406 }
@@ -409,7 +409,7 @@
409 "featured": false, 409 "featured": false,
410 "id": "evernote", 410 "id": "evernote",
411 "name": "Evernote", 411 "name": "Evernote",
412 "version": "1.1.0", 412 "version": "1.2.0",
413 "icons": { 413 "icons": {
414 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/evernote/icon.svg" 414 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/evernote/icon.svg"
415 } 415 }
@@ -418,7 +418,7 @@
418 "featured": false, 418 "featured": false,
419 "id": "facebook", 419 "id": "facebook",
420 "name": "Facebook", 420 "name": "Facebook",
421 "version": "1.1.2", 421 "version": "1.2.0",
422 "icons": { 422 "icons": {
423 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebook/icon.svg" 423 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebook/icon.svg"
424 } 424 }
@@ -427,7 +427,7 @@
427 "featured": false, 427 "featured": false,
428 "id": "facebookpages", 428 "id": "facebookpages",
429 "name": "Facebook Pages", 429 "name": "Facebook Pages",
430 "version": "1.2.3", 430 "version": "1.3.0",
431 "icons": { 431 "icons": {
432 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebookpages/icon.svg" 432 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebookpages/icon.svg"
433 } 433 }
@@ -436,7 +436,7 @@
436 "featured": false, 436 "featured": false,
437 "id": "fastmail", 437 "id": "fastmail",
438 "name": "FastMail", 438 "name": "FastMail",
439 "version": "2.2.0", 439 "version": "2.3.0",
440 "icons": { 440 "icons": {
441 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fastmail/icon.svg" 441 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fastmail/icon.svg"
442 } 442 }
@@ -445,7 +445,7 @@
445 "featured": false, 445 "featured": false,
446 "id": "feedbin", 446 "id": "feedbin",
447 "name": "Feedbin", 447 "name": "Feedbin",
448 "version": "1.1.2", 448 "version": "1.2.0",
449 "icons": { 449 "icons": {
450 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.svg" 450 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.svg"
451 } 451 }
@@ -454,7 +454,7 @@
454 "featured": false, 454 "featured": false,
455 "id": "feedly", 455 "id": "feedly",
456 "name": "Feedly", 456 "name": "Feedly",
457 "version": "1.1.3", 457 "version": "1.2.0",
458 "icons": { 458 "icons": {
459 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedly/icon.svg" 459 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedly/icon.svg"
460 } 460 }
@@ -463,7 +463,7 @@
463 "featured": false, 463 "featured": false,
464 "id": "figma", 464 "id": "figma",
465 "name": "Figma", 465 "name": "Figma",
466 "version": "1.0.4", 466 "version": "1.1.0",
467 "icons": { 467 "icons": {
468 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/figma/icon.svg" 468 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/figma/icon.svg"
469 } 469 }
@@ -472,7 +472,7 @@
472 "featured": false, 472 "featured": false,
473 "id": "fleep", 473 "id": "fleep",
474 "name": "Fleep", 474 "name": "Fleep",
475 "version": "1.1.2", 475 "version": "1.2.0",
476 "icons": { 476 "icons": {
477 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fleep/icon.svg" 477 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fleep/icon.svg"
478 } 478 }
@@ -481,7 +481,7 @@
481 "featured": false, 481 "featured": false,
482 "id": "flock", 482 "id": "flock",
483 "name": "Flock", 483 "name": "Flock",
484 "version": "1.0.0", 484 "version": "1.1.0",
485 "icons": { 485 "icons": {
486 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flock/icon.svg" 486 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flock/icon.svg"
487 } 487 }
@@ -490,7 +490,7 @@
490 "featured": false, 490 "featured": false,
491 "id": "flowdock", 491 "id": "flowdock",
492 "name": "Flowdock", 492 "name": "Flowdock",
493 "version": "1.1.1", 493 "version": "1.2.0",
494 "icons": { 494 "icons": {
495 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flowdock/icon.svg" 495 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flowdock/icon.svg"
496 } 496 }
@@ -499,7 +499,7 @@
499 "featured": false, 499 "featured": false,
500 "id": "franz-custom-website", 500 "id": "franz-custom-website",
501 "name": "Custom Website", 501 "name": "Custom Website",
502 "version": "1.1.0", 502 "version": "1.2.0",
503 "icons": { 503 "icons": {
504 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/franz-custom-website/icon.svg" 504 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/franz-custom-website/icon.svg"
505 } 505 }
@@ -508,7 +508,7 @@
508 "featured": false, 508 "featured": false,
509 "id": "freshdesk", 509 "id": "freshdesk",
510 "name": "Freshdesk", 510 "name": "Freshdesk",
511 "version": "1.0.1", 511 "version": "1.1.0",
512 "icons": { 512 "icons": {
513 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/freshdesk/icon.svg" 513 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/freshdesk/icon.svg"
514 } 514 }
@@ -517,7 +517,7 @@
517 "featured": false, 517 "featured": false,
518 "id": "freshrss", 518 "id": "freshrss",
519 "name": "FreshRSS", 519 "name": "FreshRSS",
520 "version": "1.0.1", 520 "version": "1.1.0",
521 "icons": { 521 "icons": {
522 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/freshrss/icon.svg" 522 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/freshrss/icon.svg"
523 } 523 }
@@ -526,7 +526,7 @@
526 "featured": false, 526 "featured": false,
527 "id": "gadugadu", 527 "id": "gadugadu",
528 "name": "Gadu-Gadu", 528 "name": "Gadu-Gadu",
529 "version": "1.1.1", 529 "version": "1.2.0",
530 "icons": { 530 "icons": {
531 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gadugadu/icon.svg" 531 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gadugadu/icon.svg"
532 } 532 }
@@ -535,7 +535,7 @@
535 "featured": false, 535 "featured": false,
536 "id": "github", 536 "id": "github",
537 "name": "GitHub", 537 "name": "GitHub",
538 "version": "2.3.1", 538 "version": "2.4.0",
539 "icons": { 539 "icons": {
540 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github/icon.svg" 540 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github/icon.svg"
541 } 541 }
@@ -544,7 +544,7 @@
544 "featured": false, 544 "featured": false,
545 "id": "gitlab", 545 "id": "gitlab",
546 "name": "GitLab", 546 "name": "GitLab",
547 "version": "1.2.2", 547 "version": "1.3.0",
548 "icons": { 548 "icons": {
549 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitlab/icon.svg" 549 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitlab/icon.svg"
550 } 550 }
@@ -553,7 +553,7 @@
553 "featured": true, 553 "featured": true,
554 "id": "gitter", 554 "id": "gitter",
555 "name": "Gitter", 555 "name": "Gitter",
556 "version": "1.1.2", 556 "version": "1.2.0",
557 "icons": { 557 "icons": {
558 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitter/icon.svg" 558 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitter/icon.svg"
559 } 559 }
@@ -562,7 +562,7 @@
562 "featured": false, 562 "featured": false,
563 "id": "glowing-bear", 563 "id": "glowing-bear",
564 "name": "Glowing Bear", 564 "name": "Glowing Bear",
565 "version": "1.1.3", 565 "version": "1.2.0",
566 "icons": { 566 "icons": {
567 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/glowing-bear/icon.svg" 567 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/glowing-bear/icon.svg"
568 } 568 }
@@ -571,7 +571,7 @@
571 "featured": true, 571 "featured": true,
572 "id": "gmail", 572 "id": "gmail",
573 "name": "Gmail", 573 "name": "Gmail",
574 "version": "1.4.3", 574 "version": "1.5.0",
575 "icons": { 575 "icons": {
576 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gmail/icon.svg" 576 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gmail/icon.svg"
577 } 577 }
@@ -580,7 +580,7 @@
580 "featured": false, 580 "featured": false,
581 "id": "good-reads", 581 "id": "good-reads",
582 "name": "Good Reads", 582 "name": "Good Reads",
583 "version": "1.0.2", 583 "version": "1.1.0",
584 "icons": { 584 "icons": {
585 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/good-reads/icon.svg" 585 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/good-reads/icon.svg"
586 } 586 }
@@ -589,7 +589,7 @@
589 "featured": false, 589 "featured": false,
590 "id": "google-contacts", 590 "id": "google-contacts",
591 "name": "Google Contacts", 591 "name": "Google Contacts",
592 "version": "1.1.1", 592 "version": "1.2.0",
593 "icons": { 593 "icons": {
594 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-contacts/icon.svg" 594 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-contacts/icon.svg"
595 } 595 }
@@ -598,7 +598,7 @@
598 "featured": false, 598 "featured": false,
599 "id": "google-news", 599 "id": "google-news",
600 "name": "Google News", 600 "name": "Google News",
601 "version": "1.1.1", 601 "version": "1.2.0",
602 "icons": { 602 "icons": {
603 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-news/icon.svg" 603 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-news/icon.svg"
604 } 604 }
@@ -607,7 +607,7 @@
607 "featured": false, 607 "featured": false,
608 "id": "google-translate", 608 "id": "google-translate",
609 "name": "Google Translate", 609 "name": "Google Translate",
610 "version": "1.0.2", 610 "version": "1.1.0",
611 "icons": { 611 "icons": {
612 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-translate/icon.svg" 612 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-translate/icon.svg"
613 } 613 }
@@ -616,7 +616,7 @@
616 "featured": false, 616 "featured": false,
617 "id": "google-voice", 617 "id": "google-voice",
618 "name": "Google Voice", 618 "name": "Google Voice",
619 "version": "0.4.3", 619 "version": "0.5.0",
620 "icons": { 620 "icons": {
621 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-voice/icon.svg" 621 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-voice/icon.svg"
622 } 622 }
@@ -625,7 +625,7 @@
625 "featured": true, 625 "featured": true,
626 "id": "googlecalendar", 626 "id": "googlecalendar",
627 "name": "Google Calendar", 627 "name": "Google Calendar",
628 "version": "2.2.0", 628 "version": "2.3.0",
629 "aliases": [ 629 "aliases": [
630 "google-calendar", 630 "google-calendar",
631 "gCalendar" 631 "gCalendar"
@@ -638,7 +638,7 @@
638 "featured": false, 638 "featured": false,
639 "id": "googleclassroom", 639 "id": "googleclassroom",
640 "name": "Google Classroom", 640 "name": "Google Classroom",
641 "version": "1.1.3", 641 "version": "1.2.0",
642 "icons": { 642 "icons": {
643 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googleclassroom/icon.svg" 643 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googleclassroom/icon.svg"
644 } 644 }
@@ -647,7 +647,7 @@
647 "featured": false, 647 "featured": false,
648 "id": "googledrive", 648 "id": "googledrive",
649 "name": "Google Drive", 649 "name": "Google Drive",
650 "version": "2.1.1", 650 "version": "2.2.0",
651 "icons": { 651 "icons": {
652 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googledrive/icon.svg" 652 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googledrive/icon.svg"
653 } 653 }
@@ -656,7 +656,7 @@
656 "featured": false, 656 "featured": false,
657 "id": "googlekeep", 657 "id": "googlekeep",
658 "name": "Google Keep", 658 "name": "Google Keep",
659 "version": "1.1.1", 659 "version": "1.2.0",
660 "icons": { 660 "icons": {
661 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlekeep/icon.svg" 661 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlekeep/icon.svg"
662 } 662 }
@@ -665,7 +665,7 @@
665 "featured": false, 665 "featured": false,
666 "id": "googlemeet", 666 "id": "googlemeet",
667 "name": "Google Meet", 667 "name": "Google Meet",
668 "version": "2.2.4", 668 "version": "2.3.0",
669 "icons": { 669 "icons": {
670 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlemeet/icon.svg" 670 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlemeet/icon.svg"
671 } 671 }
@@ -674,7 +674,7 @@
674 "featured": false, 674 "featured": false,
675 "id": "googlepodcasts", 675 "id": "googlepodcasts",
676 "name": "Google Podcasts", 676 "name": "Google Podcasts",
677 "version": "1.1.1", 677 "version": "1.2.0",
678 "icons": { 678 "icons": {
679 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlepodcasts/icon.svg" 679 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlepodcasts/icon.svg"
680 } 680 }
@@ -683,7 +683,7 @@
683 "featured": false, 683 "featured": false,
684 "id": "gotomeeting", 684 "id": "gotomeeting",
685 "name": "Go To Meeting", 685 "name": "Go To Meeting",
686 "version": "0.3.0", 686 "version": "0.4.0",
687 "icons": { 687 "icons": {
688 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gotomeeting/icon.svg" 688 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gotomeeting/icon.svg"
689 } 689 }
@@ -692,7 +692,7 @@
692 "featured": false, 692 "featured": false,
693 "id": "grape", 693 "id": "grape",
694 "name": "Grape", 694 "name": "Grape",
695 "version": "1.1.1", 695 "version": "1.2.0",
696 "icons": { 696 "icons": {
697 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/grape/icon.svg" 697 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/grape/icon.svg"
698 } 698 }
@@ -701,7 +701,7 @@
701 "featured": false, 701 "featured": false,
702 "id": "groupme", 702 "id": "groupme",
703 "name": "GroupMe", 703 "name": "GroupMe",
704 "version": "1.1.1", 704 "version": "1.2.0",
705 "icons": { 705 "icons": {
706 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/groupme/icon.svg" 706 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/groupme/icon.svg"
707 } 707 }
@@ -710,7 +710,7 @@
710 "featured": false, 710 "featured": false,
711 "id": "guilded", 711 "id": "guilded",
712 "name": "Guilded", 712 "name": "Guilded",
713 "version": "1.1.2", 713 "version": "1.2.0",
714 "icons": { 714 "icons": {
715 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/guilded/icon.svg" 715 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/guilded/icon.svg"
716 } 716 }
@@ -719,7 +719,7 @@
719 "featured": false, 719 "featured": false,
720 "id": "habitica", 720 "id": "habitica",
721 "name": "Habitica", 721 "name": "Habitica",
722 "version": "1.1.1", 722 "version": "1.2.0",
723 "icons": { 723 "icons": {
724 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/habitica/icon.svg" 724 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/habitica/icon.svg"
725 } 725 }
@@ -728,7 +728,7 @@
728 "featured": false, 728 "featured": false,
729 "id": "hackmd", 729 "id": "hackmd",
730 "name": "HackMd", 730 "name": "HackMd",
731 "version": "1.1.1", 731 "version": "1.2.0",
732 "icons": { 732 "icons": {
733 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hackmd/icon.svg" 733 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hackmd/icon.svg"
734 } 734 }
@@ -737,7 +737,7 @@
737 "featured": true, 737 "featured": true,
738 "id": "hangouts", 738 "id": "hangouts",
739 "name": "Hangouts", 739 "name": "Hangouts",
740 "version": "1.2.1", 740 "version": "1.3.0",
741 "icons": { 741 "icons": {
742 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hangouts/icon.svg" 742 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hangouts/icon.svg"
743 } 743 }
@@ -746,7 +746,7 @@
746 "featured": false, 746 "featured": false,
747 "id": "hangoutschat", 747 "id": "hangoutschat",
748 "name": "Hangouts Chat", 748 "name": "Hangouts Chat",
749 "version": "1.5.1", 749 "version": "1.6.0",
750 "aliases": [ 750 "aliases": [
751 "google-chat", 751 "google-chat",
752 "gChat" 752 "gChat"
@@ -759,7 +759,7 @@
759 "featured": false, 759 "featured": false,
760 "id": "harvest", 760 "id": "harvest",
761 "name": "Harvest", 761 "name": "Harvest",
762 "version": "1.1.1", 762 "version": "1.2.0",
763 "icons": { 763 "icons": {
764 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/harvest/icon.svg" 764 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/harvest/icon.svg"
765 } 765 }
@@ -768,7 +768,7 @@
768 "featured": false, 768 "featured": false,
769 "id": "hey", 769 "id": "hey",
770 "name": "Hey", 770 "name": "Hey",
771 "version": "1.0.1", 771 "version": "1.1.0",
772 "icons": { 772 "icons": {
773 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hey/icon.svg" 773 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hey/icon.svg"
774 } 774 }
@@ -777,7 +777,7 @@
777 "featured": false, 777 "featured": false,
778 "id": "hipchat", 778 "id": "hipchat",
779 "name": "HipChat", 779 "name": "HipChat",
780 "version": "1.1.1", 780 "version": "1.2.0",
781 "icons": { 781 "icons": {
782 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hipchat/icon.svg" 782 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hipchat/icon.svg"
783 } 783 }
@@ -786,7 +786,7 @@
786 "featured": false, 786 "featured": false,
787 "id": "hostnet", 787 "id": "hostnet",
788 "name": "Hostnet", 788 "name": "Hostnet",
789 "version": "1.1.0", 789 "version": "1.2.0",
790 "icons": { 790 "icons": {
791 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hostnet/icon.svg" 791 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hostnet/icon.svg"
792 } 792 }
@@ -795,7 +795,7 @@
795 "featured": false, 795 "featured": false,
796 "id": "hubstaff", 796 "id": "hubstaff",
797 "name": "HubStaff", 797 "name": "HubStaff",
798 "version": "1.0.0", 798 "version": "1.1.0",
799 "icons": { 799 "icons": {
800 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hubstaff/icon.svg" 800 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hubstaff/icon.svg"
801 } 801 }
@@ -804,7 +804,7 @@
804 "featured": false, 804 "featured": false,
805 "id": "iCloud", 805 "id": "iCloud",
806 "name": "iCloud", 806 "name": "iCloud",
807 "version": "1.1.1", 807 "version": "1.2.0",
808 "icons": { 808 "icons": {
809 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.svg" 809 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.svg"
810 } 810 }
@@ -813,7 +813,7 @@
813 "featured": false, 813 "featured": false,
814 "id": "icloud-reminders", 814 "id": "icloud-reminders",
815 "name": "iCloud Reminders", 815 "name": "iCloud Reminders",
816 "version": "1.0.4", 816 "version": "1.1.0",
817 "icons": { 817 "icons": {
818 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icloud-reminders/icon.svg" 818 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icloud-reminders/icon.svg"
819 } 819 }
@@ -822,7 +822,7 @@
822 "featured": false, 822 "featured": false,
823 "id": "icq", 823 "id": "icq",
824 "name": "ICQ", 824 "name": "ICQ",
825 "version": "1.1.2", 825 "version": "1.2.0",
826 "icons": { 826 "icons": {
827 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icq/icon.svg" 827 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icq/icon.svg"
828 } 828 }
@@ -831,7 +831,7 @@
831 "featured": false, 831 "featured": false,
832 "id": "idobata", 832 "id": "idobata",
833 "name": "Idobata", 833 "name": "Idobata",
834 "version": "0.2.1", 834 "version": "0.3.0",
835 "icons": { 835 "icons": {
836 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/idobata/icon.svg" 836 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/idobata/icon.svg"
837 } 837 }
@@ -840,7 +840,7 @@
840 "featured": false, 840 "featured": false,
841 "id": "infomaniak-mail", 841 "id": "infomaniak-mail",
842 "name": "Infomaniak Mail", 842 "name": "Infomaniak Mail",
843 "version": "1.1.2", 843 "version": "1.2.0",
844 "icons": { 844 "icons": {
845 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/infomaniak-mail/icon.svg" 845 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/infomaniak-mail/icon.svg"
846 } 846 }
@@ -849,7 +849,7 @@
849 "featured": false, 849 "featured": false,
850 "id": "inoreader", 850 "id": "inoreader",
851 "name": "Inoreader", 851 "name": "Inoreader",
852 "version": "1.1.0", 852 "version": "1.2.0",
853 "icons": { 853 "icons": {
854 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/inoreader/icon.svg" 854 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/inoreader/icon.svg"
855 } 855 }
@@ -858,7 +858,7 @@
858 "featured": false, 858 "featured": false,
859 "id": "instagram", 859 "id": "instagram",
860 "name": "Instagram", 860 "name": "Instagram",
861 "version": "2.3.0", 861 "version": "2.4.0",
862 "icons": { 862 "icons": {
863 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/instagram/icon.svg" 863 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/instagram/icon.svg"
864 } 864 }
@@ -867,7 +867,7 @@
867 "featured": false, 867 "featured": false,
868 "id": "intercom", 868 "id": "intercom",
869 "name": "Intercom", 869 "name": "Intercom",
870 "version": "1.1.2", 870 "version": "1.2.0",
871 "icons": { 871 "icons": {
872 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/intercom/icon.svg" 872 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/intercom/icon.svg"
873 } 873 }
@@ -876,7 +876,7 @@
876 "featured": false, 876 "featured": false,
877 "id": "irccloud", 877 "id": "irccloud",
878 "name": "IRCCloud", 878 "name": "IRCCloud",
879 "version": "1.1.1", 879 "version": "1.2.0",
880 "icons": { 880 "icons": {
881 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/irccloud/icon.svg" 881 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/irccloud/icon.svg"
882 } 882 }
@@ -885,7 +885,7 @@
885 "featured": false, 885 "featured": false,
886 "id": "iris-messenger", 886 "id": "iris-messenger",
887 "name": "Iris Messenger", 887 "name": "Iris Messenger",
888 "version": "1.0.0", 888 "version": "1.1.0",
889 "icons": { 889 "icons": {
890 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iris-messenger/icon.svg" 890 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iris-messenger/icon.svg"
891 } 891 }
@@ -894,7 +894,7 @@
894 "featured": false, 894 "featured": false,
895 "id": "jira", 895 "id": "jira",
896 "name": "Jira", 896 "name": "Jira",
897 "version": "1.3.2", 897 "version": "1.4.0",
898 "icons": { 898 "icons": {
899 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jira/icon.svg" 899 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jira/icon.svg"
900 } 900 }
@@ -903,7 +903,7 @@
903 "featured": false, 903 "featured": false,
904 "id": "jitsi", 904 "id": "jitsi",
905 "name": "Jitsi Meet", 905 "name": "Jitsi Meet",
906 "version": "1.1.0", 906 "version": "1.2.0",
907 "icons": { 907 "icons": {
908 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jitsi/icon.svg" 908 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jitsi/icon.svg"
909 } 909 }
@@ -912,7 +912,7 @@
912 "featured": false, 912 "featured": false,
913 "id": "jollor", 913 "id": "jollor",
914 "name": "jollor", 914 "name": "jollor",
915 "version": "1.1.1", 915 "version": "1.2.0",
916 "icons": { 916 "icons": {
917 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.svg" 917 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.svg"
918 } 918 }
@@ -921,7 +921,7 @@
921 "featured": false, 921 "featured": false,
922 "id": "kaizala", 922 "id": "kaizala",
923 "name": "Microsoft Kaizala", 923 "name": "Microsoft Kaizala",
924 "version": "1.2.1", 924 "version": "1.3.0",
925 "icons": { 925 "icons": {
926 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kaizala/icon.svg" 926 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kaizala/icon.svg"
927 } 927 }
@@ -930,7 +930,7 @@
930 "featured": false, 930 "featured": false,
931 "id": "keybase.io", 931 "id": "keybase.io",
932 "name": "Keybase", 932 "name": "Keybase",
933 "version": "1.1.1", 933 "version": "1.2.0",
934 "icons": { 934 "icons": {
935 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/keybase.io/icon.svg" 935 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/keybase.io/icon.svg"
936 } 936 }
@@ -939,7 +939,7 @@
939 "featured": false, 939 "featured": false,
940 "id": "kimaicloud", 940 "id": "kimaicloud",
941 "name": "Kimai Cloud", 941 "name": "Kimai Cloud",
942 "version": "1.2.0", 942 "version": "1.3.0",
943 "icons": { 943 "icons": {
944 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kimaicloud/icon.svg" 944 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kimaicloud/icon.svg"
945 } 945 }
@@ -948,7 +948,7 @@
948 "featured": false, 948 "featured": false,
949 "id": "lark", 949 "id": "lark",
950 "name": "Lark", 950 "name": "Lark",
951 "version": "0.1.2", 951 "version": "0.2.0",
952 "icons": { 952 "icons": {
953 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lark/icon.svg" 953 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lark/icon.svg"
954 } 954 }
@@ -957,7 +957,7 @@
957 "featured": false, 957 "featured": false,
958 "id": "lastpass", 958 "id": "lastpass",
959 "name": "LastPass", 959 "name": "LastPass",
960 "version": "2.2.4", 960 "version": "2.3.0",
961 "icons": { 961 "icons": {
962 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lastpass/icon.svg" 962 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lastpass/icon.svg"
963 } 963 }
@@ -966,7 +966,7 @@
966 "featured": false, 966 "featured": false,
967 "id": "linkedin", 967 "id": "linkedin",
968 "name": "LinkedIn", 968 "name": "LinkedIn",
969 "version": "1.2.2", 969 "version": "1.3.0",
970 "icons": { 970 "icons": {
971 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/linkedin/icon.svg" 971 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/linkedin/icon.svg"
972 } 972 }
@@ -975,7 +975,7 @@
975 "featured": false, 975 "featured": false,
976 "id": "mailbox.org", 976 "id": "mailbox.org",
977 "name": "Mailbox.org", 977 "name": "Mailbox.org",
978 "version": "1.3.2", 978 "version": "1.4.0",
979 "icons": { 979 "icons": {
980 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mailbox.org/icon.svg" 980 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mailbox.org/icon.svg"
981 } 981 }
@@ -984,7 +984,7 @@
984 "featured": false, 984 "featured": false,
985 "id": "mastodon", 985 "id": "mastodon",
986 "name": "Mastodon", 986 "name": "Mastodon",
987 "version": "1.2.1", 987 "version": "1.3.0",
988 "icons": { 988 "icons": {
989 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mastodon/icon.svg" 989 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mastodon/icon.svg"
990 } 990 }
@@ -993,7 +993,7 @@
993 "featured": true, 993 "featured": true,
994 "id": "mattermost", 994 "id": "mattermost",
995 "name": "Mattermost", 995 "name": "Mattermost",
996 "version": "1.3.1", 996 "version": "1.4.0",
997 "icons": { 997 "icons": {
998 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mattermost/icon.svg" 998 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mattermost/icon.svg"
999 } 999 }
@@ -1002,7 +1002,7 @@
1002 "featured": false, 1002 "featured": false,
1003 "id": "meetup", 1003 "id": "meetup",
1004 "name": "Meetup", 1004 "name": "Meetup",
1005 "version": "1.0.1", 1005 "version": "1.1.0",
1006 "icons": { 1006 "icons": {
1007 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/meetup/icon.svg" 1007 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/meetup/icon.svg"
1008 } 1008 }
@@ -1011,7 +1011,7 @@
1011 "featured": true, 1011 "featured": true,
1012 "id": "messenger", 1012 "id": "messenger",
1013 "name": "Messenger", 1013 "name": "Messenger",
1014 "version": "1.4.0", 1014 "version": "1.5.0",
1015 "icons": { 1015 "icons": {
1016 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/messenger/icon.svg" 1016 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/messenger/icon.svg"
1017 } 1017 }
@@ -1020,7 +1020,7 @@
1020 "featured": false, 1020 "featured": false,
1021 "id": "mewe", 1021 "id": "mewe",
1022 "name": "MeWe", 1022 "name": "MeWe",
1023 "version": "1.0.1", 1023 "version": "1.1.0",
1024 "icons": { 1024 "icons": {
1025 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mewe/icon.svg" 1025 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mewe/icon.svg"
1026 } 1026 }
@@ -1029,7 +1029,7 @@
1029 "featured": false, 1029 "featured": false,
1030 "id": "misskey", 1030 "id": "misskey",
1031 "name": "Misskey", 1031 "name": "Misskey",
1032 "version": "1.0.1", 1032 "version": "1.1.0",
1033 "icons": { 1033 "icons": {
1034 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/misskey/icon.svg" 1034 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/misskey/icon.svg"
1035 } 1035 }
@@ -1038,7 +1038,7 @@
1038 "featured": false, 1038 "featured": false,
1039 "id": "monday", 1039 "id": "monday",
1040 "name": "Monday", 1040 "name": "Monday",
1041 "version": "1.1.2", 1041 "version": "1.2.0",
1042 "icons": { 1042 "icons": {
1043 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monday/icon.svg" 1043 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monday/icon.svg"
1044 } 1044 }
@@ -1047,7 +1047,7 @@
1047 "featured": false, 1047 "featured": false,
1048 "id": "monicahq", 1048 "id": "monicahq",
1049 "name": "Monica HQ", 1049 "name": "Monica HQ",
1050 "version": "1.1.1", 1050 "version": "1.2.0",
1051 "icons": { 1051 "icons": {
1052 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monicahq/icon.svg" 1052 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monicahq/icon.svg"
1053 } 1053 }
@@ -1056,7 +1056,7 @@
1056 "featured": false, 1056 "featured": false,
1057 "id": "moodle", 1057 "id": "moodle",
1058 "name": "Moodle", 1058 "name": "Moodle",
1059 "version": "1.0.1", 1059 "version": "1.1.0",
1060 "icons": { 1060 "icons": {
1061 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/moodle/icon.svg" 1061 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/moodle/icon.svg"
1062 } 1062 }
@@ -1065,7 +1065,7 @@
1065 "featured": true, 1065 "featured": true,
1066 "id": "msteams", 1066 "id": "msteams",
1067 "name": "Microsoft Teams", 1067 "name": "Microsoft Teams",
1068 "version": "3.1.6", 1068 "version": "3.2.0",
1069 "aliases": [ 1069 "aliases": [
1070 "teamsChat" 1070 "teamsChat"
1071 ], 1071 ],
@@ -1077,7 +1077,7 @@
1077 "featured": false, 1077 "featured": false,
1078 "id": "mstodo", 1078 "id": "mstodo",
1079 "name": "Microsoft To Do", 1079 "name": "Microsoft To Do",
1080 "version": "1.1.1", 1080 "version": "1.2.0",
1081 "icons": { 1081 "icons": {
1082 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mstodo/icon.svg" 1082 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mstodo/icon.svg"
1083 } 1083 }
@@ -1086,7 +1086,7 @@
1086 "featured": false, 1086 "featured": false,
1087 "id": "mysms", 1087 "id": "mysms",
1088 "name": "MySMS", 1088 "name": "MySMS",
1089 "version": "1.1.2", 1089 "version": "1.2.0",
1090 "icons": { 1090 "icons": {
1091 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mysms/icon.svg" 1091 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mysms/icon.svg"
1092 } 1092 }
@@ -1095,7 +1095,7 @@
1095 "featured": false, 1095 "featured": false,
1096 "id": "netatmo-energy", 1096 "id": "netatmo-energy",
1097 "name": "Netatmo Energy", 1097 "name": "Netatmo Energy",
1098 "version": "1.1.1", 1098 "version": "1.2.0",
1099 "icons": { 1099 "icons": {
1100 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netatmo-energy/icon.svg" 1100 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netatmo-energy/icon.svg"
1101 } 1101 }
@@ -1104,7 +1104,7 @@
1104 "featured": false, 1104 "featured": false,
1105 "id": "netlify", 1105 "id": "netlify",
1106 "name": "Netlify", 1106 "name": "Netlify",
1107 "version": "1.0.1", 1107 "version": "1.1.0",
1108 "icons": { 1108 "icons": {
1109 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netlify/icon.svg" 1109 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netlify/icon.svg"
1110 } 1110 }
@@ -1113,7 +1113,7 @@
1113 "featured": false, 1113 "featured": false,
1114 "id": "NewsBlur", 1114 "id": "NewsBlur",
1115 "name": "NewsBlur", 1115 "name": "NewsBlur",
1116 "version": "1.1.1", 1116 "version": "1.2.0",
1117 "icons": { 1117 "icons": {
1118 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/NewsBlur/icon.svg" 1118 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/NewsBlur/icon.svg"
1119 } 1119 }
@@ -1122,7 +1122,7 @@
1122 "featured": false, 1122 "featured": false,
1123 "id": "nextcloud", 1123 "id": "nextcloud",
1124 "name": "Nextcloud", 1124 "name": "Nextcloud",
1125 "version": "1.1.1", 1125 "version": "1.2.0",
1126 "icons": { 1126 "icons": {
1127 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud/icon.svg" 1127 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud/icon.svg"
1128 } 1128 }
@@ -1131,7 +1131,7 @@
1131 "featured": false, 1131 "featured": false,
1132 "id": "nextcloud-calendar", 1132 "id": "nextcloud-calendar",
1133 "name": "Nextcloud Calendar", 1133 "name": "Nextcloud Calendar",
1134 "version": "1.1.1", 1134 "version": "1.2.0",
1135 "icons": { 1135 "icons": {
1136 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-calendar/icon.svg" 1136 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-calendar/icon.svg"
1137 } 1137 }
@@ -1140,7 +1140,7 @@
1140 "featured": false, 1140 "featured": false,
1141 "id": "nextcloud-carnet", 1141 "id": "nextcloud-carnet",
1142 "name": "Carnet (Nextcloud)", 1142 "name": "Carnet (Nextcloud)",
1143 "version": "1.1.1", 1143 "version": "1.2.0",
1144 "icons": { 1144 "icons": {
1145 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-carnet/icon.svg" 1145 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-carnet/icon.svg"
1146 } 1146 }
@@ -1149,7 +1149,7 @@
1149 "featured": false, 1149 "featured": false,
1150 "id": "nextcloud-cospend", 1150 "id": "nextcloud-cospend",
1151 "name": "Nextcloud Cospend", 1151 "name": "Nextcloud Cospend",
1152 "version": "1.1.1", 1152 "version": "1.2.0",
1153 "icons": { 1153 "icons": {
1154 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-cospend/icon.svg" 1154 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-cospend/icon.svg"
1155 } 1155 }
@@ -1158,7 +1158,7 @@
1158 "featured": false, 1158 "featured": false,
1159 "id": "nextcloud-news", 1159 "id": "nextcloud-news",
1160 "name": "Nextcloud News", 1160 "name": "Nextcloud News",
1161 "version": "1.1.0", 1161 "version": "1.2.0",
1162 "icons": { 1162 "icons": {
1163 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-news/icon.svg" 1163 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-news/icon.svg"
1164 } 1164 }
@@ -1167,7 +1167,7 @@
1167 "featured": false, 1167 "featured": false,
1168 "id": "nextcloud-talk", 1168 "id": "nextcloud-talk",
1169 "name": "Nextcloud Talk", 1169 "name": "Nextcloud Talk",
1170 "version": "1.2.0", 1170 "version": "1.3.0",
1171 "icons": { 1171 "icons": {
1172 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-talk/icon.svg" 1172 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-talk/icon.svg"
1173 } 1173 }
@@ -1176,7 +1176,7 @@
1176 "featured": false, 1176 "featured": false,
1177 "id": "nextcloud-tasks", 1177 "id": "nextcloud-tasks",
1178 "name": "Nextcloud Tasks", 1178 "name": "Nextcloud Tasks",
1179 "version": "1.1.1", 1179 "version": "1.2.0",
1180 "icons": { 1180 "icons": {
1181 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-tasks/icon.svg" 1181 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-tasks/icon.svg"
1182 } 1182 }
@@ -1185,7 +1185,7 @@
1185 "featured": false, 1185 "featured": false,
1186 "id": "nextdoor", 1186 "id": "nextdoor",
1187 "name": "Nextdoor", 1187 "name": "Nextdoor",
1188 "version": "1.1.2", 1188 "version": "1.2.0",
1189 "icons": { 1189 "icons": {
1190 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextdoor/icon.svg" 1190 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextdoor/icon.svg"
1191 } 1191 }
@@ -1194,7 +1194,7 @@
1194 "featured": false, 1194 "featured": false,
1195 "id": "noisli", 1195 "id": "noisli",
1196 "name": "Noisli", 1196 "name": "Noisli",
1197 "version": "1.0.3", 1197 "version": "1.1.0",
1198 "icons": { 1198 "icons": {
1199 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/noisli/icon.svg" 1199 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/noisli/icon.svg"
1200 } 1200 }
@@ -1203,7 +1203,7 @@
1203 "featured": false, 1203 "featured": false,
1204 "id": "nomadlist", 1204 "id": "nomadlist",
1205 "name": "NomadList", 1205 "name": "NomadList",
1206 "version": "1.1.2", 1206 "version": "1.2.0",
1207 "icons": { 1207 "icons": {
1208 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.svg" 1208 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.svg"
1209 } 1209 }
@@ -1212,7 +1212,7 @@
1212 "featured": false, 1212 "featured": false,
1213 "id": "notion", 1213 "id": "notion",
1214 "name": "Notion", 1214 "name": "Notion",
1215 "version": "1.1.2", 1215 "version": "1.2.0",
1216 "icons": { 1216 "icons": {
1217 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/notion/icon.svg" 1217 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/notion/icon.svg"
1218 } 1218 }
@@ -1221,7 +1221,7 @@
1221 "featured": false, 1221 "featured": false,
1222 "id": "odoo", 1222 "id": "odoo",
1223 "name": "Odoo", 1223 "name": "Odoo",
1224 "version": "1.0.2", 1224 "version": "1.1.0",
1225 "icons": { 1225 "icons": {
1226 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/odoo/icon.svg" 1226 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/odoo/icon.svg"
1227 } 1227 }
@@ -1230,7 +1230,7 @@
1230 "featured": false, 1230 "featured": false,
1231 "id": "office365-owa", 1231 "id": "office365-owa",
1232 "name": "Office 365 Outlook", 1232 "name": "Office 365 Outlook",
1233 "version": "1.5.0", 1233 "version": "1.6.0",
1234 "aliases": [ 1234 "aliases": [
1235 "live.com" 1235 "live.com"
1236 ], 1236 ],
@@ -1242,7 +1242,7 @@
1242 "featured": false, 1242 "featured": false,
1243 "id": "onenote", 1243 "id": "onenote",
1244 "name": "OneNote", 1244 "name": "OneNote",
1245 "version": "1.1.2", 1245 "version": "1.2.0",
1246 "icons": { 1246 "icons": {
1247 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/onenote/icon.svg" 1247 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/onenote/icon.svg"
1248 } 1248 }
@@ -1251,7 +1251,7 @@
1251 "featured": false, 1251 "featured": false,
1252 "id": "OVHCloud", 1252 "id": "OVHCloud",
1253 "name": "OVH Cloud", 1253 "name": "OVH Cloud",
1254 "version": "1.0.2", 1254 "version": "1.1.0",
1255 "icons": { 1255 "icons": {
1256 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/OVHCloud/icon.svg" 1256 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/OVHCloud/icon.svg"
1257 } 1257 }
@@ -1260,7 +1260,7 @@
1260 "featured": false, 1260 "featured": false,
1261 "id": "paymo", 1261 "id": "paymo",
1262 "name": "Paymo", 1262 "name": "Paymo",
1263 "version": "1.1.2", 1263 "version": "1.2.0",
1264 "icons": { 1264 "icons": {
1265 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.svg" 1265 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.svg"
1266 } 1266 }
@@ -1269,7 +1269,7 @@
1269 "featured": false, 1269 "featured": false,
1270 "id": "pinterest", 1270 "id": "pinterest",
1271 "name": "Pinterest", 1271 "name": "Pinterest",
1272 "version": "1.0.4", 1272 "version": "1.1.0",
1273 "icons": { 1273 "icons": {
1274 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pinterest/icon.svg" 1274 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pinterest/icon.svg"
1275 } 1275 }
@@ -1278,7 +1278,7 @@
1278 "featured": false, 1278 "featured": false,
1279 "id": "pipefy", 1279 "id": "pipefy",
1280 "name": "Pipefy", 1280 "name": "Pipefy",
1281 "version": "1.0.2", 1281 "version": "1.1.0",
1282 "icons": { 1282 "icons": {
1283 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pipefy/icon.svg" 1283 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pipefy/icon.svg"
1284 } 1284 }
@@ -1287,7 +1287,7 @@
1287 "featured": false, 1287 "featured": false,
1288 "id": "pivotal-tracker", 1288 "id": "pivotal-tracker",
1289 "name": "pivotal-tracker", 1289 "name": "pivotal-tracker",
1290 "version": "1.1.2", 1290 "version": "1.2.0",
1291 "icons": { 1291 "icons": {
1292 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.svg" 1292 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.svg"
1293 } 1293 }
@@ -1296,7 +1296,7 @@
1296 "featured": false, 1296 "featured": false,
1297 "id": "plan", 1297 "id": "plan",
1298 "name": "Plan", 1298 "name": "Plan",
1299 "version": "1.1.2", 1299 "version": "1.2.0",
1300 "icons": { 1300 "icons": {
1301 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plan/icon.svg" 1301 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plan/icon.svg"
1302 } 1302 }
@@ -1305,7 +1305,7 @@
1305 "featured": false, 1305 "featured": false,
1306 "id": "plek", 1306 "id": "plek",
1307 "name": "Plek", 1307 "name": "Plek",
1308 "version": "1.0.1", 1308 "version": "1.1.0",
1309 "icons": { 1309 "icons": {
1310 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plek/icon.svg" 1310 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plek/icon.svg"
1311 } 1311 }
@@ -1314,7 +1314,7 @@
1314 "featured": false, 1314 "featured": false,
1315 "id": "pleroma", 1315 "id": "pleroma",
1316 "name": "Pleroma", 1316 "name": "Pleroma",
1317 "version": "1.2.1", 1317 "version": "1.3.0",
1318 "icons": { 1318 "icons": {
1319 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pleroma/icon.svg" 1319 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pleroma/icon.svg"
1320 } 1320 }
@@ -1323,7 +1323,7 @@
1323 "featured": false, 1323 "featured": false,
1324 "id": "plurk", 1324 "id": "plurk",
1325 "name": "Plurk", 1325 "name": "Plurk",
1326 "version": "1.1.2", 1326 "version": "1.2.0",
1327 "icons": { 1327 "icons": {
1328 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plurk/icon.svg" 1328 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plurk/icon.svg"
1329 } 1329 }
@@ -1332,7 +1332,7 @@
1332 "featured": false, 1332 "featured": false,
1333 "id": "pocket", 1333 "id": "pocket",
1334 "name": "Pocket", 1334 "name": "Pocket",
1335 "version": "1.1.1", 1335 "version": "1.2.0",
1336 "icons": { 1336 "icons": {
1337 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pocket/icon.svg" 1337 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pocket/icon.svg"
1338 } 1338 }
@@ -1341,7 +1341,7 @@
1341 "featured": false, 1341 "featured": false,
1342 "id": "podio", 1342 "id": "podio",
1343 "name": "Podio", 1343 "name": "Podio",
1344 "version": "1.1.1", 1344 "version": "1.2.0",
1345 "icons": { 1345 "icons": {
1346 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.svg" 1346 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.svg"
1347 } 1347 }
@@ -1350,7 +1350,7 @@
1350 "featured": false, 1350 "featured": false,
1351 "id": "pomodoro-tracker", 1351 "id": "pomodoro-tracker",
1352 "name": "Pomodoro Tracker", 1352 "name": "Pomodoro Tracker",
1353 "version": "1.1.2", 1353 "version": "1.2.0",
1354 "icons": { 1354 "icons": {
1355 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pomodoro-tracker/icon.svg" 1355 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pomodoro-tracker/icon.svg"
1356 } 1356 }
@@ -1359,7 +1359,7 @@
1359 "featured": false, 1359 "featured": false,
1360 "id": "producthunt", 1360 "id": "producthunt",
1361 "name": "Product Hunt", 1361 "name": "Product Hunt",
1362 "version": "1.0.1", 1362 "version": "1.1.0",
1363 "icons": { 1363 "icons": {
1364 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/producthunt/icon.svg" 1364 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/producthunt/icon.svg"
1365 } 1365 }
@@ -1368,7 +1368,7 @@
1368 "featured": true, 1368 "featured": true,
1369 "id": "proton-mail", 1369 "id": "proton-mail",
1370 "name": "ProtonMail", 1370 "name": "ProtonMail",
1371 "version": "1.3.2", 1371 "version": "1.4.0",
1372 "icons": { 1372 "icons": {
1373 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/proton-mail/icon.svg" 1373 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/proton-mail/icon.svg"
1374 } 1374 }
@@ -1377,7 +1377,7 @@
1377 "featured": false, 1377 "featured": false,
1378 "id": "protoncalendar", 1378 "id": "protoncalendar",
1379 "name": "ProtonCalendar", 1379 "name": "ProtonCalendar",
1380 "version": "1.1.2", 1380 "version": "1.2.0",
1381 "icons": { 1381 "icons": {
1382 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protoncalendar/icon.svg" 1382 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protoncalendar/icon.svg"
1383 } 1383 }
@@ -1386,7 +1386,7 @@
1386 "featured": false, 1386 "featured": false,
1387 "id": "protonet", 1387 "id": "protonet",
1388 "name": "protonet", 1388 "name": "protonet",
1389 "version": "1.1.1", 1389 "version": "1.2.0",
1390 "icons": { 1390 "icons": {
1391 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.svg" 1391 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.svg"
1392 } 1392 }
@@ -1395,7 +1395,7 @@
1395 "featured": false, 1395 "featured": false,
1396 "id": "pulsesms", 1396 "id": "pulsesms",
1397 "name": "PulseSMS", 1397 "name": "PulseSMS",
1398 "version": "1.2.1", 1398 "version": "1.3.0",
1399 "icons": { 1399 "icons": {
1400 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pulsesms/icon.svg" 1400 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pulsesms/icon.svg"
1401 } 1401 }
@@ -1404,7 +1404,7 @@
1404 "featured": false, 1404 "featured": false,
1405 "id": "pushbullet", 1405 "id": "pushbullet",
1406 "name": "Pushbullet", 1406 "name": "Pushbullet",
1407 "version": "1.1.1", 1407 "version": "1.2.0",
1408 "icons": { 1408 "icons": {
1409 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pushbullet/icon.svg" 1409 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pushbullet/icon.svg"
1410 } 1410 }
@@ -1413,7 +1413,7 @@
1413 "featured": false, 1413 "featured": false,
1414 "id": "rainloop", 1414 "id": "rainloop",
1415 "name": "RainLoop", 1415 "name": "RainLoop",
1416 "version": "1.1.2", 1416 "version": "1.2.0",
1417 "icons": { 1417 "icons": {
1418 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rainloop/icon.svg" 1418 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rainloop/icon.svg"
1419 } 1419 }
@@ -1422,7 +1422,7 @@
1422 "featured": false, 1422 "featured": false,
1423 "id": "reddit", 1423 "id": "reddit",
1424 "name": "Reddit", 1424 "name": "Reddit",
1425 "version": "1.1.2", 1425 "version": "1.2.0",
1426 "icons": { 1426 "icons": {
1427 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/reddit/icon.svg" 1427 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/reddit/icon.svg"
1428 } 1428 }
@@ -1431,7 +1431,7 @@
1431 "featured": false, 1431 "featured": false,
1432 "id": "redditchat", 1432 "id": "redditchat",
1433 "name": "Reddit Chat", 1433 "name": "Reddit Chat",
1434 "version": "1.1.0", 1434 "version": "1.2.0",
1435 "icons": { 1435 "icons": {
1436 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/redditchat/icon.svg" 1436 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/redditchat/icon.svg"
1437 } 1437 }
@@ -1440,7 +1440,7 @@
1440 "featured": false, 1440 "featured": false,
1441 "id": "ringcentral", 1441 "id": "ringcentral",
1442 "name": "RingCentral", 1442 "name": "RingCentral",
1443 "version": "1.0.0", 1443 "version": "1.1.0",
1444 "aliases": [ 1444 "aliases": [
1445 "Glip" 1445 "Glip"
1446 ], 1446 ],
@@ -1452,7 +1452,7 @@
1452 "featured": false, 1452 "featured": false,
1453 "id": "riseup", 1453 "id": "riseup",
1454 "name": "Riseup.net", 1454 "name": "Riseup.net",
1455 "version": "1.1.3", 1455 "version": "1.2.0",
1456 "icons": { 1456 "icons": {
1457 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/riseup/icon.svg" 1457 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/riseup/icon.svg"
1458 } 1458 }
@@ -1461,7 +1461,7 @@
1461 "featured": false, 1461 "featured": false,
1462 "id": "ritetag", 1462 "id": "ritetag",
1463 "name": "Ritetag", 1463 "name": "Ritetag",
1464 "version": "1.0.0", 1464 "version": "1.1.0",
1465 "icons": { 1465 "icons": {
1466 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ritetag/icon.svg" 1466 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ritetag/icon.svg"
1467 } 1467 }
@@ -1470,7 +1470,7 @@
1470 "featured": false, 1470 "featured": false,
1471 "id": "rocketchat", 1471 "id": "rocketchat",
1472 "name": "Rocket.Chat", 1472 "name": "Rocket.Chat",
1473 "version": "1.2.3", 1473 "version": "1.3.0",
1474 "icons": { 1474 "icons": {
1475 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rocketchat/icon.svg" 1475 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rocketchat/icon.svg"
1476 } 1476 }
@@ -1479,7 +1479,7 @@
1479 "featured": false, 1479 "featured": false,
1480 "id": "roundcube", 1480 "id": "roundcube",
1481 "name": "Roundcube", 1481 "name": "Roundcube",
1482 "version": "1.1.2", 1482 "version": "1.2.0",
1483 "icons": { 1483 "icons": {
1484 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/roundcube/icon.svg" 1484 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/roundcube/icon.svg"
1485 } 1485 }
@@ -1488,7 +1488,7 @@
1488 "featured": false, 1488 "featured": false,
1489 "id": "scribens", 1489 "id": "scribens",
1490 "name": "Scribens", 1490 "name": "Scribens",
1491 "version": "1.0.3", 1491 "version": "1.1.0",
1492 "icons": { 1492 "icons": {
1493 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/scribens/icon.svg" 1493 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/scribens/icon.svg"
1494 } 1494 }
@@ -1497,7 +1497,7 @@
1497 "featured": false, 1497 "featured": false,
1498 "id": "scrumpy", 1498 "id": "scrumpy",
1499 "name": "Scrumpy", 1499 "name": "Scrumpy",
1500 "version": "1.0.1", 1500 "version": "1.1.0",
1501 "icons": { 1501 "icons": {
1502 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/scrumpy/icon.svg" 1502 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/scrumpy/icon.svg"
1503 } 1503 }
@@ -1506,7 +1506,7 @@
1506 "featured": false, 1506 "featured": false,
1507 "id": "sendtask", 1507 "id": "sendtask",
1508 "name": "Sendtask", 1508 "name": "Sendtask",
1509 "version": "1.1.0", 1509 "version": "1.2.0",
1510 "icons": { 1510 "icons": {
1511 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sendtask/icon.svg" 1511 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sendtask/icon.svg"
1512 } 1512 }
@@ -1515,7 +1515,7 @@
1515 "featured": false, 1515 "featured": false,
1516 "id": "simplenote", 1516 "id": "simplenote",
1517 "name": "Simplenote", 1517 "name": "Simplenote",
1518 "version": "1.1.2", 1518 "version": "1.2.0",
1519 "icons": { 1519 "icons": {
1520 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/simplenote/icon.svg" 1520 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/simplenote/icon.svg"
1521 } 1521 }
@@ -1524,7 +1524,7 @@
1524 "featured": true, 1524 "featured": true,
1525 "id": "skype", 1525 "id": "skype",
1526 "name": "Skype", 1526 "name": "Skype",
1527 "version": "3.3.1", 1527 "version": "3.4.0",
1528 "icons": { 1528 "icons": {
1529 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/skype/icon.svg" 1529 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/skype/icon.svg"
1530 } 1530 }
@@ -1533,7 +1533,7 @@
1533 "featured": true, 1533 "featured": true,
1534 "id": "slack", 1534 "id": "slack",
1535 "name": "Slack", 1535 "name": "Slack",
1536 "version": "1.3.5", 1536 "version": "1.4.0",
1537 "icons": { 1537 "icons": {
1538 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slack/icon.svg" 1538 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slack/icon.svg"
1539 } 1539 }
@@ -1542,7 +1542,7 @@
1542 "featured": false, 1542 "featured": false,
1543 "id": "slite", 1543 "id": "slite",
1544 "name": "Slite", 1544 "name": "Slite",
1545 "version": "1.0.5", 1545 "version": "1.1.0",
1546 "icons": { 1546 "icons": {
1547 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slite/icon.svg" 1547 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slite/icon.svg"
1548 } 1548 }
@@ -1551,7 +1551,7 @@
1551 "featured": false, 1551 "featured": false,
1552 "id": "slowly", 1552 "id": "slowly",
1553 "name": "Slowly", 1553 "name": "Slowly",
1554 "version": "1.0.1", 1554 "version": "1.1.0",
1555 "icons": { 1555 "icons": {
1556 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slowly/icon.svg" 1556 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slowly/icon.svg"
1557 } 1557 }
@@ -1560,7 +1560,7 @@
1560 "featured": false, 1560 "featured": false,
1561 "id": "snapdrop", 1561 "id": "snapdrop",
1562 "name": "Snapdrop", 1562 "name": "Snapdrop",
1563 "version": "1.1.1", 1563 "version": "1.2.0",
1564 "icons": { 1564 "icons": {
1565 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/snapdrop/icon.svg" 1565 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/snapdrop/icon.svg"
1566 } 1566 }
@@ -1569,7 +1569,7 @@
1569 "featured": false, 1569 "featured": false,
1570 "id": "sococo", 1570 "id": "sococo",
1571 "name": "Sococo", 1571 "name": "Sococo",
1572 "version": "1.0.1", 1572 "version": "1.1.0",
1573 "icons": { 1573 "icons": {
1574 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sococo/icon.svg" 1574 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sococo/icon.svg"
1575 } 1575 }
@@ -1578,7 +1578,7 @@
1578 "featured": false, 1578 "featured": false,
1579 "id": "stackexchange", 1579 "id": "stackexchange",
1580 "name": "StackExchange", 1580 "name": "StackExchange",
1581 "version": "1.1.2", 1581 "version": "1.2.0",
1582 "icons": { 1582 "icons": {
1583 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackexchange/icon.svg" 1583 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackexchange/icon.svg"
1584 } 1584 }
@@ -1587,7 +1587,7 @@
1587 "featured": false, 1587 "featured": false,
1588 "id": "stackoverflow", 1588 "id": "stackoverflow",
1589 "name": "Stack Overflow", 1589 "name": "Stack Overflow",
1590 "version": "0.0.3", 1590 "version": "0.1.0",
1591 "icons": { 1591 "icons": {
1592 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackoverflow/icon.svg" 1592 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackoverflow/icon.svg"
1593 } 1593 }
@@ -1596,7 +1596,7 @@
1596 "featured": false, 1596 "featured": false,
1597 "id": "stackoverflow-chat", 1597 "id": "stackoverflow-chat",
1598 "name": "Stack Overflow Chat", 1598 "name": "Stack Overflow Chat",
1599 "version": "1.0.3", 1599 "version": "1.1.0",
1600 "icons": { 1600 "icons": {
1601 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackoverflow-chat/icon.svg" 1601 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackoverflow-chat/icon.svg"
1602 } 1602 }
@@ -1605,7 +1605,7 @@
1605 "featured": false, 1605 "featured": false,
1606 "id": "standardnotes", 1606 "id": "standardnotes",
1607 "name": "StandardNotes", 1607 "name": "StandardNotes",
1608 "version": "1.1.1", 1608 "version": "1.2.0",
1609 "icons": { 1609 "icons": {
1610 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/standardnotes/icon.svg" 1610 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/standardnotes/icon.svg"
1611 } 1611 }
@@ -1614,7 +1614,7 @@
1614 "featured": false, 1614 "featured": false,
1615 "id": "steamchat", 1615 "id": "steamchat",
1616 "name": "SteamChat", 1616 "name": "SteamChat",
1617 "version": "1.3.2", 1617 "version": "1.4.0",
1618 "icons": { 1618 "icons": {
1619 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/steamchat/icon.svg" 1619 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/steamchat/icon.svg"
1620 } 1620 }
@@ -1623,7 +1623,7 @@
1623 "featured": false, 1623 "featured": false,
1624 "id": "stride", 1624 "id": "stride",
1625 "name": "Stride", 1625 "name": "Stride",
1626 "version": "1.2.1", 1626 "version": "1.3.0",
1627 "icons": { 1627 "icons": {
1628 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stride/icon.svg" 1628 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stride/icon.svg"
1629 } 1629 }
@@ -1632,7 +1632,7 @@
1632 "featured": false, 1632 "featured": false,
1633 "id": "superhuman", 1633 "id": "superhuman",
1634 "name": "Superhuman", 1634 "name": "Superhuman",
1635 "version": "1.1.2", 1635 "version": "1.2.0",
1636 "icons": { 1636 "icons": {
1637 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/superhuman/icon.svg" 1637 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/superhuman/icon.svg"
1638 } 1638 }
@@ -1641,7 +1641,7 @@
1641 "featured": false, 1641 "featured": false,
1642 "id": "sync", 1642 "id": "sync",
1643 "name": "Sync", 1643 "name": "Sync",
1644 "version": "1.1.3", 1644 "version": "1.2.0",
1645 "icons": { 1645 "icons": {
1646 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sync/icon.svg" 1646 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sync/icon.svg"
1647 } 1647 }
@@ -1650,7 +1650,7 @@
1650 "featured": false, 1650 "featured": false,
1651 "id": "tawk", 1651 "id": "tawk",
1652 "name": "Tawk.to", 1652 "name": "Tawk.to",
1653 "version": "1.1.1", 1653 "version": "1.2.0",
1654 "icons": { 1654 "icons": {
1655 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tawk/icon.svg" 1655 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tawk/icon.svg"
1656 } 1656 }
@@ -1659,7 +1659,7 @@
1659 "featured": false, 1659 "featured": false,
1660 "id": "teamleader", 1660 "id": "teamleader",
1661 "name": "teamleader", 1661 "name": "teamleader",
1662 "version": "1.1.3", 1662 "version": "1.2.0",
1663 "icons": { 1663 "icons": {
1664 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.svg" 1664 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.svg"
1665 } 1665 }
@@ -1668,7 +1668,7 @@
1668 "featured": false, 1668 "featured": false,
1669 "id": "teamweek", 1669 "id": "teamweek",
1670 "name": "Teamweek", 1670 "name": "Teamweek",
1671 "version": "1.0.1", 1671 "version": "1.1.0",
1672 "icons": { 1672 "icons": {
1673 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamweek/icon.svg" 1673 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamweek/icon.svg"
1674 } 1674 }
@@ -1677,7 +1677,7 @@
1677 "featured": false, 1677 "featured": false,
1678 "id": "teamwork-projects", 1678 "id": "teamwork-projects",
1679 "name": "Teamwork Projects", 1679 "name": "Teamwork Projects",
1680 "version": "0.2.2", 1680 "version": "0.3.0",
1681 "icons": { 1681 "icons": {
1682 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamwork-projects/icon.svg" 1682 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamwork-projects/icon.svg"
1683 } 1683 }
@@ -1686,7 +1686,7 @@
1686 "featured": true, 1686 "featured": true,
1687 "id": "telegram", 1687 "id": "telegram",
1688 "name": "Telegram", 1688 "name": "Telegram",
1689 "version": "3.2.4", 1689 "version": "3.3.0",
1690 "icons": { 1690 "icons": {
1691 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram/icon.svg" 1691 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram/icon.svg"
1692 } 1692 }
@@ -1695,7 +1695,7 @@
1695 "featured": false, 1695 "featured": false,
1696 "id": "thelounge", 1696 "id": "thelounge",
1697 "name": "The Lounge", 1697 "name": "The Lounge",
1698 "version": "1.2.0", 1698 "version": "1.3.0",
1699 "icons": { 1699 "icons": {
1700 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/thelounge/icon.svg" 1700 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/thelounge/icon.svg"
1701 } 1701 }
@@ -1704,7 +1704,7 @@
1704 "featured": false, 1704 "featured": false,
1705 "id": "threema", 1705 "id": "threema",
1706 "name": "Threema", 1706 "name": "Threema",
1707 "version": "1.1.2", 1707 "version": "1.2.0",
1708 "icons": { 1708 "icons": {
1709 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/threema/icon.svg" 1709 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/threema/icon.svg"
1710 } 1710 }
@@ -1713,7 +1713,7 @@
1713 "featured": false, 1713 "featured": false,
1714 "id": "TickTick", 1714 "id": "TickTick",
1715 "name": "TickTick", 1715 "name": "TickTick",
1716 "version": "1.2.1", 1716 "version": "1.3.0",
1717 "icons": { 1717 "icons": {
1718 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/TickTick/icon.svg" 1718 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/TickTick/icon.svg"
1719 } 1719 }
@@ -1722,7 +1722,7 @@
1722 "featured": false, 1722 "featured": false,
1723 "id": "tinder", 1723 "id": "tinder",
1724 "name": "Tinder", 1724 "name": "Tinder",
1725 "version": "1.0.3", 1725 "version": "1.1.0",
1726 "icons": { 1726 "icons": {
1727 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tinder/icon.svg" 1727 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tinder/icon.svg"
1728 } 1728 }
@@ -1731,7 +1731,7 @@
1731 "featured": false, 1731 "featured": false,
1732 "id": "tixio", 1732 "id": "tixio",
1733 "name": "Tixio", 1733 "name": "Tixio",
1734 "version": "1.0.1", 1734 "version": "1.1.0",
1735 "icons": { 1735 "icons": {
1736 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tixio/icon.svg" 1736 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tixio/icon.svg"
1737 } 1737 }
@@ -1740,7 +1740,7 @@
1740 "featured": false, 1740 "featured": false,
1741 "id": "todoist", 1741 "id": "todoist",
1742 "name": "Todoist", 1742 "name": "Todoist",
1743 "version": "1.3.1", 1743 "version": "1.4.0",
1744 "icons": { 1744 "icons": {
1745 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/todoist/icon.svg" 1745 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/todoist/icon.svg"
1746 } 1746 }
@@ -1749,7 +1749,7 @@
1749 "featured": false, 1749 "featured": false,
1750 "id": "toggl", 1750 "id": "toggl",
1751 "name": "Toggl", 1751 "name": "Toggl",
1752 "version": "1.2.2", 1752 "version": "1.3.0",
1753 "icons": { 1753 "icons": {
1754 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/toggl/icon.svg" 1754 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/toggl/icon.svg"
1755 } 1755 }
@@ -1758,7 +1758,7 @@
1758 "featured": true, 1758 "featured": true,
1759 "id": "trello", 1759 "id": "trello",
1760 "name": "Trello", 1760 "name": "Trello",
1761 "version": "1.2.0", 1761 "version": "1.3.0",
1762 "icons": { 1762 "icons": {
1763 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/trello/icon.svg" 1763 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/trello/icon.svg"
1764 } 1764 }
@@ -1767,7 +1767,7 @@
1767 "featured": false, 1767 "featured": false,
1768 "id": "tt-rss", 1768 "id": "tt-rss",
1769 "name": "Tiny Tiny RSS", 1769 "name": "Tiny Tiny RSS",
1770 "version": "1.0.0", 1770 "version": "1.1.0",
1771 "icons": { 1771 "icons": {
1772 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tt-rss/icon.svg" 1772 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tt-rss/icon.svg"
1773 } 1773 }
@@ -1776,7 +1776,7 @@
1776 "featured": false, 1776 "featured": false,
1777 "id": "tutanota", 1777 "id": "tutanota",
1778 "name": "Tutanota", 1778 "name": "Tutanota",
1779 "version": "1.1.2", 1779 "version": "1.2.0",
1780 "icons": { 1780 "icons": {
1781 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tutanota/icon.svg" 1781 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tutanota/icon.svg"
1782 } 1782 }
@@ -1785,7 +1785,7 @@
1785 "featured": true, 1785 "featured": true,
1786 "id": "tweetdeck", 1786 "id": "tweetdeck",
1787 "name": "Tweetdeck", 1787 "name": "Tweetdeck",
1788 "version": "1.2.2", 1788 "version": "1.3.0",
1789 "icons": { 1789 "icons": {
1790 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tweetdeck/icon.svg" 1790 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tweetdeck/icon.svg"
1791 } 1791 }
@@ -1794,7 +1794,7 @@
1794 "featured": false, 1794 "featured": false,
1795 "id": "twist", 1795 "id": "twist",
1796 "name": "Twist", 1796 "name": "Twist",
1797 "version": "1.1.2", 1797 "version": "1.2.0",
1798 "icons": { 1798 "icons": {
1799 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twist/icon.svg" 1799 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twist/icon.svg"
1800 } 1800 }
@@ -1803,7 +1803,7 @@
1803 "featured": false, 1803 "featured": false,
1804 "id": "twitch", 1804 "id": "twitch",
1805 "name": "Twitch", 1805 "name": "Twitch",
1806 "version": "1.1.0", 1806 "version": "1.2.0",
1807 "icons": { 1807 "icons": {
1808 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitch/icon.svg" 1808 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitch/icon.svg"
1809 } 1809 }
@@ -1812,7 +1812,7 @@
1812 "featured": false, 1812 "featured": false,
1813 "id": "twitter", 1813 "id": "twitter",
1814 "name": "Twitter", 1814 "name": "Twitter",
1815 "version": "1.2.1", 1815 "version": "1.3.0",
1816 "icons": { 1816 "icons": {
1817 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter/icon.svg" 1817 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter/icon.svg"
1818 } 1818 }
@@ -1821,7 +1821,7 @@
1821 "featured": false, 1821 "featured": false,
1822 "id": "twitter-dm", 1822 "id": "twitter-dm",
1823 "name": "Twitter DM", 1823 "name": "Twitter DM",
1824 "version": "1.1.2", 1824 "version": "1.2.0",
1825 "icons": { 1825 "icons": {
1826 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter-dm/icon.svg" 1826 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter-dm/icon.svg"
1827 } 1827 }
@@ -1830,7 +1830,7 @@
1830 "featured": false, 1830 "featured": false,
1831 "id": "udemy", 1831 "id": "udemy",
1832 "name": "Udemy", 1832 "name": "Udemy",
1833 "version": "1.0.5", 1833 "version": "1.1.0",
1834 "icons": { 1834 "icons": {
1835 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/udemy/icon.svg" 1835 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/udemy/icon.svg"
1836 } 1836 }
@@ -1839,7 +1839,7 @@
1839 "featured": false, 1839 "featured": false,
1840 "id": "unraid", 1840 "id": "unraid",
1841 "name": "Unraid", 1841 "name": "Unraid",
1842 "version": "1.1.0", 1842 "version": "1.2.0",
1843 "icons": { 1843 "icons": {
1844 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/unraid/icon.svg" 1844 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/unraid/icon.svg"
1845 } 1845 }
@@ -1848,7 +1848,7 @@
1848 "featured": false, 1848 "featured": false,
1849 "id": "vk", 1849 "id": "vk",
1850 "name": "VK", 1850 "name": "VK",
1851 "version": "1.1.3", 1851 "version": "1.2.0",
1852 "icons": { 1852 "icons": {
1853 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/vk/icon.svg" 1853 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/vk/icon.svg"
1854 } 1854 }
@@ -1857,7 +1857,7 @@
1857 "featured": false, 1857 "featured": false,
1858 "id": "voxer", 1858 "id": "voxer",
1859 "name": "Voxer", 1859 "name": "Voxer",
1860 "version": "1.1.1", 1860 "version": "1.2.0",
1861 "icons": { 1861 "icons": {
1862 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/voxer/icon.svg" 1862 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/voxer/icon.svg"
1863 } 1863 }
@@ -1866,7 +1866,7 @@
1866 "featured": false, 1866 "featured": false,
1867 "id": "wakatime", 1867 "id": "wakatime",
1868 "name": "Wakatime", 1868 "name": "Wakatime",
1869 "version": "1.0.3", 1869 "version": "1.1.0",
1870 "icons": { 1870 "icons": {
1871 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wakatime/icon.svg" 1871 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wakatime/icon.svg"
1872 } 1872 }
@@ -1875,7 +1875,7 @@
1875 "featured": false, 1875 "featured": false,
1876 "id": "webex-teams", 1876 "id": "webex-teams",
1877 "name": "Webex Teams", 1877 "name": "Webex Teams",
1878 "version": "1.1.2", 1878 "version": "1.2.0",
1879 "icons": { 1879 "icons": {
1880 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/webex-teams/icon.svg" 1880 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/webex-teams/icon.svg"
1881 } 1881 }
@@ -1884,7 +1884,7 @@
1884 "featured": true, 1884 "featured": true,
1885 "id": "wechat", 1885 "id": "wechat",
1886 "name": "WeChat", 1886 "name": "WeChat",
1887 "version": "1.1.2", 1887 "version": "1.2.0",
1888 "icons": { 1888 "icons": {
1889 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wechat/icon.svg" 1889 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wechat/icon.svg"
1890 } 1890 }
@@ -1893,7 +1893,7 @@
1893 "featured": false, 1893 "featured": false,
1894 "id": "weekplan", 1894 "id": "weekplan",
1895 "name": "Weekplan", 1895 "name": "Weekplan",
1896 "version": "1.0.1", 1896 "version": "1.1.0",
1897 "icons": { 1897 "icons": {
1898 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/weekplan/icon.svg" 1898 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/weekplan/icon.svg"
1899 } 1899 }
@@ -1902,7 +1902,7 @@
1902 "featured": true, 1902 "featured": true,
1903 "id": "whatsapp", 1903 "id": "whatsapp",
1904 "name": "WhatsApp", 1904 "name": "WhatsApp",
1905 "version": "3.3.7", 1905 "version": "3.4.0",
1906 "icons": { 1906 "icons": {
1907 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whatsapp/icon.svg" 1907 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whatsapp/icon.svg"
1908 } 1908 }
@@ -1911,7 +1911,7 @@
1911 "featured": false, 1911 "featured": false,
1912 "id": "whereby", 1912 "id": "whereby",
1913 "name": "Whereby", 1913 "name": "Whereby",
1914 "version": "1.0.2", 1914 "version": "1.1.0",
1915 "icons": { 1915 "icons": {
1916 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whereby/icon.svg" 1916 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whereby/icon.svg"
1917 } 1917 }
@@ -1920,7 +1920,7 @@
1920 "featured": false, 1920 "featured": false,
1921 "id": "wire", 1921 "id": "wire",
1922 "name": "Wire", 1922 "name": "Wire",
1923 "version": "1.0.4", 1923 "version": "1.1.0",
1924 "icons": { 1924 "icons": {
1925 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wire/icon.svg" 1925 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wire/icon.svg"
1926 } 1926 }
@@ -1929,7 +1929,7 @@
1929 "featured": false, 1929 "featured": false,
1930 "id": "withspectrum", 1930 "id": "withspectrum",
1931 "name": "Spectrum", 1931 "name": "Spectrum",
1932 "version": "1.1.0", 1932 "version": "1.2.0",
1933 "icons": { 1933 "icons": {
1934 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/withspectrum/icon.svg" 1934 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/withspectrum/icon.svg"
1935 } 1935 }
@@ -1938,7 +1938,7 @@
1938 "featured": false, 1938 "featured": false,
1939 "id": "workflowy", 1939 "id": "workflowy",
1940 "name": "WorkFlowy", 1940 "name": "WorkFlowy",
1941 "version": "1.0.0", 1941 "version": "1.1.0",
1942 "icons": { 1942 "icons": {
1943 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workflowy/icon.svg" 1943 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workflowy/icon.svg"
1944 } 1944 }
@@ -1947,7 +1947,7 @@
1947 "featured": false, 1947 "featured": false,
1948 "id": "workplace", 1948 "id": "workplace",
1949 "name": "Workplace", 1949 "name": "Workplace",
1950 "version": "1.3.1", 1950 "version": "1.4.0",
1951 "icons": { 1951 "icons": {
1952 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workplace/icon.svg" 1952 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workplace/icon.svg"
1953 } 1953 }
@@ -1956,7 +1956,7 @@
1956 "featured": false, 1956 "featured": false,
1957 "id": "wrike", 1957 "id": "wrike",
1958 "name": "Wrike", 1958 "name": "Wrike",
1959 "version": "1.1.2", 1959 "version": "1.2.0",
1960 "icons": { 1960 "icons": {
1961 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wrike/icon.svg" 1961 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wrike/icon.svg"
1962 } 1962 }
@@ -1965,7 +1965,7 @@
1965 "featured": false, 1965 "featured": false,
1966 "id": "xing", 1966 "id": "xing",
1967 "name": "XING", 1967 "name": "XING",
1968 "version": "1.2.1", 1968 "version": "1.3.0",
1969 "icons": { 1969 "icons": {
1970 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xing/icon.svg" 1970 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xing/icon.svg"
1971 } 1971 }
@@ -1974,7 +1974,7 @@
1974 "featured": false, 1974 "featured": false,
1975 "id": "xmpp", 1975 "id": "xmpp",
1976 "name": "XMPP", 1976 "name": "XMPP",
1977 "version": "1.0.1", 1977 "version": "1.1.0",
1978 "icons": { 1978 "icons": {
1979 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xmpp/icon.svg" 1979 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xmpp/icon.svg"
1980 } 1980 }
@@ -1983,7 +1983,7 @@
1983 "featured": false, 1983 "featured": false,
1984 "id": "yahoo-mail", 1984 "id": "yahoo-mail",
1985 "name": "Yahoo Mail", 1985 "name": "Yahoo Mail",
1986 "version": "1.1.2", 1986 "version": "1.2.0",
1987 "icons": { 1987 "icons": {
1988 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yahoo-mail/icon.svg" 1988 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yahoo-mail/icon.svg"
1989 } 1989 }
@@ -1992,7 +1992,7 @@
1992 "featured": false, 1992 "featured": false,
1993 "id": "yammer", 1993 "id": "yammer",
1994 "name": "Yammer", 1994 "name": "Yammer",
1995 "version": "1.1.2", 1995 "version": "1.2.0",
1996 "icons": { 1996 "icons": {
1997 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yammer/icon.svg" 1997 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yammer/icon.svg"
1998 } 1998 }
@@ -2001,7 +2001,7 @@
2001 "featured": false, 2001 "featured": false,
2002 "id": "yandex-mail", 2002 "id": "yandex-mail",
2003 "name": "Yandex Mail", 2003 "name": "Yandex Mail",
2004 "version": "1.0.1", 2004 "version": "1.1.0",
2005 "icons": { 2005 "icons": {
2006 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yandex-mail/icon.svg" 2006 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yandex-mail/icon.svg"
2007 } 2007 }
@@ -2010,7 +2010,7 @@
2010 "featured": false, 2010 "featured": false,
2011 "id": "youtrack", 2011 "id": "youtrack",
2012 "name": "YouTrack", 2012 "name": "YouTrack",
2013 "version": "1.2.1", 2013 "version": "1.3.0",
2014 "icons": { 2014 "icons": {
2015 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtrack/icon.svg" 2015 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtrack/icon.svg"
2016 } 2016 }
@@ -2019,7 +2019,7 @@
2019 "featured": false, 2019 "featured": false,
2020 "id": "youtube", 2020 "id": "youtube",
2021 "name": "YouTube", 2021 "name": "YouTube",
2022 "version": "1.0.0", 2022 "version": "1.1.0",
2023 "icons": { 2023 "icons": {
2024 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtube/icon.svg" 2024 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtube/icon.svg"
2025 } 2025 }
@@ -2028,7 +2028,7 @@
2028 "featured": false, 2028 "featured": false,
2029 "id": "youtubemusic", 2029 "id": "youtubemusic",
2030 "name": "YouTube Music", 2030 "name": "YouTube Music",
2031 "version": "1.1.1", 2031 "version": "1.2.0",
2032 "icons": { 2032 "icons": {
2033 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtubemusic/icon.svg" 2033 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtubemusic/icon.svg"
2034 } 2034 }
@@ -2037,7 +2037,7 @@
2037 "featured": false, 2037 "featured": false,
2038 "id": "zalo", 2038 "id": "zalo",
2039 "name": "Zalo", 2039 "name": "Zalo",
2040 "version": "1.2.1", 2040 "version": "1.3.0",
2041 "icons": { 2041 "icons": {
2042 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zalo/icon.svg" 2042 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zalo/icon.svg"
2043 } 2043 }
@@ -2046,7 +2046,7 @@
2046 "featured": false, 2046 "featured": false,
2047 "id": "zendesk", 2047 "id": "zendesk",
2048 "name": "Zendesk", 2048 "name": "Zendesk",
2049 "version": "1.1.2", 2049 "version": "1.2.0",
2050 "icons": { 2050 "icons": {
2051 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zendesk/icon.svg" 2051 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zendesk/icon.svg"
2052 } 2052 }
@@ -2055,7 +2055,7 @@
2055 "featured": false, 2055 "featured": false,
2056 "id": "zenhub", 2056 "id": "zenhub",
2057 "name": "ZenHub", 2057 "name": "ZenHub",
2058 "version": "1.0.0", 2058 "version": "1.1.0",
2059 "icons": { 2059 "icons": {
2060 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zenhub/icon.svg" 2060 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zenhub/icon.svg"
2061 } 2061 }
@@ -2064,7 +2064,7 @@
2064 "featured": false, 2064 "featured": false,
2065 "id": "zeplin", 2065 "id": "zeplin",
2066 "name": "Zeplin", 2066 "name": "Zeplin",
2067 "version": "1.1.0", 2067 "version": "1.2.0",
2068 "icons": { 2068 "icons": {
2069 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zeplin/icon.svg" 2069 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zeplin/icon.svg"
2070 } 2070 }
@@ -2073,7 +2073,7 @@
2073 "featured": false, 2073 "featured": false,
2074 "id": "zimbra", 2074 "id": "zimbra",
2075 "name": "Zimbra", 2075 "name": "Zimbra",
2076 "version": "1.1.1", 2076 "version": "1.2.0",
2077 "icons": { 2077 "icons": {
2078 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zimbra/icon.svg" 2078 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zimbra/icon.svg"
2079 } 2079 }
@@ -2082,7 +2082,7 @@
2082 "featured": false, 2082 "featured": false,
2083 "id": "zoho", 2083 "id": "zoho",
2084 "name": "Zoho Mail", 2084 "name": "Zoho Mail",
2085 "version": "1.2.0", 2085 "version": "1.3.0",
2086 "icons": { 2086 "icons": {
2087 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho/icon.svg" 2087 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho/icon.svg"
2088 } 2088 }
@@ -2091,7 +2091,7 @@
2091 "featured": false, 2091 "featured": false,
2092 "id": "zoho-projects", 2092 "id": "zoho-projects",
2093 "name": "Zoho Projects", 2093 "name": "Zoho Projects",
2094 "version": "1.0.0", 2094 "version": "1.1.0",
2095 "icons": { 2095 "icons": {
2096 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho-projects/icon.svg" 2096 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho-projects/icon.svg"
2097 } 2097 }
@@ -2100,7 +2100,7 @@
2100 "featured": false, 2100 "featured": false,
2101 "id": "zoom", 2101 "id": "zoom",
2102 "name": "Zoom", 2102 "name": "Zoom",
2103 "version": "1.1.1", 2103 "version": "1.2.0",
2104 "icons": { 2104 "icons": {
2105 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoom/icon.svg" 2105 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoom/icon.svg"
2106 } 2106 }
@@ -2109,7 +2109,7 @@
2109 "featured": false, 2109 "featured": false,
2110 "id": "zulip", 2110 "id": "zulip",
2111 "name": "Zulip", 2111 "name": "Zulip",
2112 "version": "1.1.1", 2112 "version": "1.2.0",
2113 "icons": { 2113 "icons": {
2114 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zulip/icon.svg" 2114 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zulip/icon.svg"
2115 } 2115 }
diff --git a/docs/backend_api.md b/docs/backend_api.md
index a9d29ac..a46927b 100644
--- a/docs/backend_api.md
+++ b/docs/backend_api.md
@@ -1,8 +1,8 @@
1# Backend API 1# Backend API
2 2
3Provides a set of helper functions to integrate the recipe into [Ferdi](https://ferdium.org). 3Provides a set of helper functions to integrate the recipe into [Ferdium](https://ferdium.org).
4 4
5## Ferdi Backend Class Methods 5## Ferdium Backend Class Methods
6 6
7* [validateUrl](#validateurl) 7* [validateUrl](#validateurl)
8* [overrideUserAgent](#overrideuseragent) 8* [overrideUserAgent](#overrideuseragent)
@@ -29,7 +29,7 @@ Validate if the given URL is a valid service instance.
29 29
30```js 30```js
31// RocketChat integration 31// RocketChat integration
32module.exports = Ferdi => class RocketChat extends Ferdi { 32module.exports = Ferdium => class RocketChat extends Ferdium {
33 async validateUrl(url) { 33 async validateUrl(url) {
34 try { 34 try {
35 const resp = await window.fetch(`${url}/api/info`, { 35 const resp = await window.fetch(`${url}/api/info`, {
@@ -61,11 +61,11 @@ Override the user agent used inside the service webview.
61#### Usage 61#### Usage
62 62
63```js 63```js
64module.exports = Ferdi => class Discord extends Ferdi { 64module.exports = Ferdium => class Discord extends Ferdium {
65 overrideUserAgent() { 65 overrideUserAgent() {
66 // Remove Ferdi's signature from the user agent 66 // Remove Ferdium's signature from the user agent
67 return window.navigator.userAgent.replace( 67 return window.navigator.userAgent.replace(
68 /(Ferdi|Electron)\/\S+ \([^)]+\)/g, 68 /(Ferdium|Electron)\/\S+ \([^)]+\)/g,
69 "" 69 ""
70 ); 70 );
71 } 71 }
@@ -73,7 +73,7 @@ module.exports = Ferdi => class Discord extends Ferdi {
73``` 73```
74 74
75```js 75```js
76module.exports = Ferdi => class Example extends Ferdi { 76module.exports = Ferdium => class Example extends Ferdium {
77 overrideUserAgent() { 77 overrideUserAgent() {
78 // Use a completely different user agent 78 // Use a completely different user agent
79 return "Mozilla/2.02Gold (Win95; I)"; 79 return "Mozilla/2.02Gold (Win95; I)";
@@ -98,7 +98,7 @@ Valid URL patterns can be referred from [here](https://www.electronjs.org/docs/a
98 98
99```js 99```js
100// Hangouts Chat integration 100// Hangouts Chat integration
101module.exports = Ferdi => class HangoutsChat extends Ferdi { 101module.exports = Ferdium => class HangoutsChat extends Ferdium {
102 modifyRequestHeaders() { 102 modifyRequestHeaders() {
103 return [{ 103 return [{
104 // Adding an origin header for all http requests from this recipe 104 // Adding an origin header for all http requests from this recipe
@@ -123,7 +123,7 @@ Specify an array of known hosts from where certificates can be issued for this s
123 123
124```js 124```js
125// msteams Chat integration 125// msteams Chat integration
126module.exports = Ferdi => class MicrosoftTeams extends Ferdi { 126module.exports = Ferdium => class MicrosoftTeams extends Ferdium {
127 knownCertificateHosts() { 127 knownCertificateHosts() {
128 return [ 128 return [
129 'aka.ms', 129 'aka.ms',
@@ -152,14 +152,14 @@ module.exports = Ferdi => class MicrosoftTeams extends Ferdi {
152 152
153### Events 153### Events
154 154
155Ferdi recipes can hook into the [electron webview events](https://electron.atom.io/docs/api/webview-tag/#dom-events) to trigger custom functions. 155Ferdium recipes can hook into the [electron webview events](https://electron.atom.io/docs/api/webview-tag/#dom-events) to trigger custom functions.
156 156
157This is necessary for services like TweetDeck where custom URL forwarding is needed during login. 157This is necessary for services like TweetDeck where custom URL forwarding is needed during login.
158 158
159#### Usage 159#### Usage
160 160
161```js 161```js
162module.exports = Ferdi => class Tweetdeck extends Ferdi { 162module.exports = Ferdium => class Tweetdeck extends Ferdium {
163 events = { 163 events = {
164 'did-get-redirect-request': '_redirectFix', 164 'did-get-redirect-request': '_redirectFix',
165 } 165 }
diff --git a/docs/configuration.md b/docs/configuration.md
index a53c99d..8dff91b 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1,6 +1,6 @@
1# Integration Config 1# Integration Config
2 2
3A [Ferdi](https://ferdium.org) recipe is a node module. In order to learn more about node modules and their configuration check the official [Node.js documentation](https://nodejs.org/api/modules.html) / [npm package.json documentation](https://docs.npmjs.com/files/package.json). 3A [Ferdium](https://ferdium.org) recipe is a node module. In order to learn more about node modules and their configuration check the official [Node.js documentation](https://nodejs.org/api/modules.html) / [npm package.json documentation](https://docs.npmjs.com/files/package.json).
4 4
5## Table of Contents 5## Table of Contents
6 6
@@ -21,7 +21,7 @@ Display name of the service.
21 21
22`string` **version** _mandatory_<br /> 22`string` **version** _mandatory_<br />
23Version number. Will be used for auto updating the integrations. The version number must be in a semver compatible format: eg `1.0.0`. 23Version number. Will be used for auto updating the integrations. The version number must be in a semver compatible format: eg `1.0.0`.
24**important:** the version will be used to figure out if a new recipe update should be deployed to the user. If you make changes to a recipe, **always** increase the version number or Ferdi won't update your recipe. 24**important:** the version will be used to figure out if a new recipe update should be deployed to the user. If you make changes to a recipe, **always** increase the version number or Ferdium won't update your recipe.
25 25
26`string` **license**<br /> 26`string` **license**<br />
27The license of the integration. We prefer MIT, but here is a list of all the available SPDX licenses http://spdx.org/licenses/ 27The license of the integration. We prefer MIT, but here is a list of all the available SPDX licenses http://spdx.org/licenses/
@@ -33,10 +33,10 @@ Link to your Github, Gitlab or Bitbucket public repository. Not used in the appl
33The list of alternate names that this recipe can be called 33The list of alternate names that this recipe can be called
34 34
35`object` **config** _mandatory_<br /> 35`object` **config** _mandatory_<br />
36This is the Ferdi-specific integration config. 36This is the Ferdium-specific integration config.
37 37
38* `string` **serviceURL**<br/> 38* `string` **serviceURL**<br/>
39Defines the URL that should be loaded into the Ferdi webview. 39Defines the URL that should be loaded into the Ferdium webview.
40<br /><br /> 40<br /><br />
41If you want to load a simple URL like `https://www.messenger.com`, you can simply define it via the `serviceURL` parameter. If your service URL is team based, e.g. Slack or HipChat you can use `https://{teamId}.slack.com`. 41If you want to load a simple URL like `https://www.messenger.com`, you can simply define it via the `serviceURL` parameter. If your service URL is team based, e.g. Slack or HipChat you can use `https://{teamId}.slack.com`.
42<br /><br /> 42<br /><br />
diff --git a/docs/frontend_api.md b/docs/frontend_api.md
index 35b0918..af9acf8 100644
--- a/docs/frontend_api.md
+++ b/docs/frontend_api.md
@@ -1,5 +1,5 @@
1- [Frontend API](#frontend-api) 1- [Frontend API](#frontend-api)
2 - [Ferdi Class Methods](#ferdi-class-methods) 2 - [Ferdium Class Methods](#ferdium-class-methods)
3 - [setBadge(directMessages, [indirectMessages])](#setbadgedirectmessages-indirectmessages) 3 - [setBadge(directMessages, [indirectMessages])](#setbadgedirectmessages-indirectmessages)
4 - [Arguments](#arguments) 4 - [Arguments](#arguments)
5 - [Usage](#usage) 5 - [Usage](#usage)
@@ -35,9 +35,9 @@
35 35
36# Frontend API 36# Frontend API
37 37
38Provides a set of helper functions to integrate the service into [Ferdi](https://ferdium.org). 38Provides a set of helper functions to integrate the service into [Ferdium](https://ferdium.org).
39 39
40## Ferdi Class Methods 40## Ferdium Class Methods
41 41
42### setBadge(directMessages, [indirectMessages]) 42### setBadge(directMessages, [indirectMessages])
43 43
@@ -56,11 +56,11 @@ Sets the unread message badge
56#### Usage 56#### Usage
57 57
58```js 58```js
59Ferdi.setBadge(4, 2); 59Ferdium.setBadge(4, 2);
60 60
61// or 61// or
62 62
63Ferdi.setBadge(3); 63Ferdium.setBadge(3);
64``` 64```
65 65
66### setDialogTitle(title) 66### setDialogTitle(title)
@@ -76,7 +76,7 @@ Sets the active dialog title to the app title
76#### Usage 76#### Usage
77 77
78```js 78```js
79Ferdi.setDialogTitle('Dialog title'); 79Ferdium.setDialogTitle('Dialog title');
80``` 80```
81 81
82### injectCSS(pathToCssFile) 82### injectCSS(pathToCssFile)
@@ -95,20 +95,20 @@ Injects the contents of one or more CSS files into the current webview
95const path = require('path'); 95const path = require('path');
96 96
97// inject a single css file 97// inject a single css file
98Ferdi.injectCSS(path.join(__dirname, 'style.css')); 98Ferdium.injectCSS(path.join(__dirname, 'style.css'));
99 99
100// inject multiple css files 100// inject multiple css files
101const globalStyles = path.join(__dirname, 'global.css'); 101const globalStyles = path.join(__dirname, 'global.css');
102const focusModeStyles = path.join(__dirname, 'focusmode.css'); 102const focusModeStyles = path.join(__dirname, 'focusmode.css');
103 103
104Ferdi.injectCSS(globalStyles, focusModeStyles); 104Ferdium.injectCSS(globalStyles, focusModeStyles);
105``` 105```
106 106
107### injectJSUnsafe(pathToJsFile) 107### injectJSUnsafe(pathToJsFile)
108 108
109Injects the contents of one or more JavaScript files into the current webview without context isolation 109Injects the contents of one or more JavaScript files into the current webview without context isolation
110 110
111Ferdi uses context isolation to prevent services from accessing Node.js APIs in the webview. 111Ferdium uses context isolation to prevent services from accessing Node.js APIs in the webview.
112If you want to expose objects to the service (eg. via the `window` object) or interact with the Javascript loaded by the service you must do so from a script injected with this method. 112If you want to expose objects to the service (eg. via the `window` object) or interact with the Javascript loaded by the service you must do so from a script injected with this method.
113Trying to overwrite properties of the `window` object or other objects or trying to interact with the Javascript loaded by the service from `webview.js` will fail due to context isolation. 113Trying to overwrite properties of the `window` object or other objects or trying to interact with the Javascript loaded by the service from `webview.js` will fail due to context isolation.
114 114
@@ -126,18 +126,18 @@ The code is executed as if part of the body of a Javascript function, ie. you sh
126const path = require('path'); 126const path = require('path');
127 127
128// inject a single css file 128// inject a single css file
129Ferdi.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 129Ferdium.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js'));
130 130
131// inject multiple css files 131// inject multiple css files
132const globalScripts = path.join(__dirname, 'global.js); 132const globalScripts = path.join(__dirname, 'global.js);
133const focusModeScripts = path.join(__dirname, 'focusmode.js); 133const focusModeScripts = path.join(__dirname, 'focusmode.js);
134 134
135Ferdi.injectCSS(globalScripts, focusModeScripts); 135Ferdium.injectCSS(globalScripts, focusModeScripts);
136``` 136```
137 137
138### loop(action) 138### loop(action)
139 139
140Runs an action every X milliseconds (Ferdi default is currently 1s) 140Runs an action every X milliseconds (Ferdium default is currently 1s)
141 141
142#### Arguments 142#### Arguments
143 143
@@ -149,19 +149,19 @@ Runs an action every X milliseconds (Ferdi default is currently 1s)
149// slack integration 149// slack integration
150const path = require('path'); 150const path = require('path');
151 151
152module.exports = Ferdi => { 152module.exports = Ferdium => {
153 const getMessages = () => { 153 const getMessages = () => {
154 const directMessages = $('.unread_highlights, .unread_highlight').not( 154 const directMessages = $('.unread_highlights, .unread_highlight').not(
155 '.hidden', 155 '.hidden',
156 ).length; 156 ).length;
157 const indirectMessages = $('.unread').length - directMessages; 157 const indirectMessages = $('.unread').length - directMessages;
158 158
159 Ferdi.setBadge(directMessages, indirectMessages); 159 Ferdium.setBadge(directMessages, indirectMessages);
160 }; 160 };
161 161
162 Ferdi.loop(getMessages); 162 Ferdium.loop(getMessages);
163 163
164 Ferdi.injectCSS(path.join(__dirname, 'style.css')); 164 Ferdium.injectCSS(path.join(__dirname, 'style.css'));
165}; 165};
166``` 166```
167 167
@@ -177,22 +177,22 @@ Runs `fn` on every notification created by the service before sending them to th
177 177
178```js 178```js
179// messenger integration 179// messenger integration
180module.exports = Ferdi => { 180module.exports = Ferdium => {
181 const getMessages = () => { 181 const getMessages = () => {
182 let count = document.querySelectorAll( 182 let count = document.querySelectorAll(
183 '._5fx8:not(._569x),._1ht3:not(._569x)', 183 '._5fx8:not(._569x),._1ht3:not(._569x)',
184 ).length; 184 ).length;
185 const messageRequestsElement = document.querySelector('._5nxf'); 185 const messageRequestsElement = document.querySelector('._5nxf');
186 if (messageRequestsElement) { 186 if (messageRequestsElement) {
187 count += Ferdi.safeParseInt(messageRequestsElement.textContent); 187 count += Ferdium.safeParseInt(messageRequestsElement.textContent);
188 } 188 }
189 189
190 Ferdi.setBadge(count); 190 Ferdium.setBadge(count);
191 }; 191 };
192 192
193 Ferdi.loop(getMessages); 193 Ferdium.loop(getMessages);
194 194
195 Ferdi.onNotify(notification => { 195 Ferdium.onNotify(notification => {
196 if (typeof notification.title !== 'string') { 196 if (typeof notification.title !== 'string') {
197 notification.title = 197 notification.title =
198 ((notification.title.props || {}).content || [])[0] || 'Messenger'; 198 ((notification.title.props || {}).content || [])[0] || 'Messenger';
@@ -209,7 +209,7 @@ You can use a `darkmode.css` to automatically get the service into a dark theme.
209 209
210This handler should take the necessary steps to (de-)activate dark mode on the page, e.g. by clicking a button or flipping a switch. 210This handler should take the necessary steps to (de-)activate dark mode on the page, e.g. by clicking a button or flipping a switch.
211 211
212Ferdi won't activate DarkReader or inject `darkmode.css` if the recipe has defined a custom handler. If you still need to do this, you can use the `injectDarkModeStyle` or `enableDarkMode` function provided as the second argument. 212Ferdium won't activate DarkReader or inject `darkmode.css` if the recipe has defined a custom handler. If you still need to do this, you can use the `injectDarkModeStyle` or `enableDarkMode` function provided as the second argument.
213 213
214#### Arguments 214#### Arguments
215 215
@@ -229,7 +229,7 @@ Ferdi won't activate DarkReader or inject `darkmode.css` if the recipe has defin
229 229
230```JavaScript 230```JavaScript
231// Handler that works for Reddit 231// Handler that works for Reddit
232Ferdi.handleDarkMode((isEnabled, helpers) => { 232Ferdium.handleDarkMode((isEnabled, helpers) => {
233 // Open dropdown menu if not already open 233 // Open dropdown menu if not already open
234 const menu = document.querySelector('#USER_DROPDOWN_ID'); 234 const menu = document.querySelector('#USER_DROPDOWN_ID');
235 if (menu.getAttribute('aria-expanded') === 'false') { 235 if (menu.getAttribute('aria-expanded') === 'false') {
@@ -251,7 +251,7 @@ Ferdi.handleDarkMode((isEnabled, helpers) => {
251// --- or --- 251// --- or ---
252 252
253// Helper that activates DarkReader and injects your darkmode.css at the same time 253// Helper that activates DarkReader and injects your darkmode.css at the same time
254Ferdi.handleDarkMode((isEnabled, helpers) => { 254Ferdium.handleDarkMode((isEnabled, helpers) => {
255 if (isEnabled) { 255 if (isEnabled) {
256 helpers.enableDarkMode(); 256 helpers.enableDarkMode();
257 if (!helpers.isDarkModeStyleInjected()) { 257 if (!helpers.isDarkModeStyleInjected()) {
@@ -276,7 +276,7 @@ While exiting/closing/disabling the service, if you want to clear the local stor
276#### Usage 276#### Usage
277 277
278```JavaScript 278```JavaScript
279 Ferdi.clearStorageData(settings.id, { 279 Ferdium.clearStorageData(settings.id, {
280 storages: [ 280 storages: [
281 'appcache', 281 'appcache',
282 'serviceworkers', 282 'serviceworkers',
@@ -302,12 +302,12 @@ A utility method that can be used to safely parse the text content (handles null
302#### Usage 302#### Usage
303 303
304```JavaScript 304```JavaScript
305Ferdi.safeParseInt(mySelector.innerText) 305Ferdium.safeParseInt(mySelector.innerText)
306``` 306```
307 307
308### setDialogTitle(title) 308### setDialogTitle(title)
309 309
310When you want to set the title of the Ferdi window (while this service is active or in focus), you can use this function 310When you want to set the title of the Ferdium window (while this service is active or in focus), you can use this function
311 311
312#### Arguments 312#### Arguments
313 313
@@ -316,5 +316,5 @@ When you want to set the title of the Ferdi window (while this service is active
316#### Usage 316#### Usage
317 317
318```JavaScript 318```JavaScript
319Ferdi.setDialogTitle(element ? element.textContent : null); 319Ferdium.setDialogTitle(element ? element.textContent : null);
320``` 320```
diff --git a/docs/integration.md b/docs/integration.md
index 1115454..d0b1460 100644
--- a/docs/integration.md
+++ b/docs/integration.md
@@ -1,10 +1,10 @@
1# Ferdi Recipe Documentation / Overview 1# Ferdium Recipe Documentation / Overview
2 2
3Recipes are responsible for providing the connection between the service itself (e.g. WhatsApp) and Ferdi, providing information like the number of current notifications or handling dark mode. 3Recipes are responsible for providing the connection between the service itself (e.g. WhatsApp) and Ferdium, providing information like the number of current notifications or handling dark mode.
4 4
5A Ferdi recipe is basically nothing else than a node module and is currently initialized on `dom-ready`. You access all of the [electron](http://electron.atom.io) modules as well. 5A Ferdium recipe is basically nothing else than a node module and is currently initialized on `dom-ready`. You access all of the [electron](http://electron.atom.io) modules as well.
6 6
7> ℹ️ New to Ferdi recipes and Electron? Then we recommend you read Jake Lee's ["Super simple guide to adding a new Ferdi service recipe"](https://blog.jakelee.co.uk/super-simple-guide-to-adding-a-new-ferdi-service-recipe/) which gives you an easy step-by-step guide on how to create and publish your recipe! 7> ℹ️ New to Ferdium recipes and Electron? Then we recommend you read Jake Lee's ["Super simple guide to adding a new Ferdium service recipe"](https://blog.jakelee.co.uk/super-simple-guide-to-adding-a-new-ferdium-service-recipe/) which gives you an easy step-by-step guide on how to create and publish your recipe!
8 8
9> ℹ️ If you have any problems packaging your recipes, if you are inexperienced with the tools used or have any other problems, we are here to help! Just open a new issue at https://github.com/ferdium/ferdium-recipes/issues/new and we can help you develop, test and publish your recipe 9> ℹ️ If you have any problems packaging your recipes, if you are inexperienced with the tools used or have any other problems, we are here to help! Just open a new issue at https://github.com/ferdium/ferdium-recipes/issues/new and we can help you develop, test and publish your recipe
10 10
@@ -12,7 +12,7 @@ A Ferdi recipe is basically nothing else than a node module and is currently ini
12 12
13## Table of Contents 13## Table of Contents
14 14
15- [Ferdi Recipe Documentation / Overview](#ferdi-recipe-documentation--overview) 15- [Ferdium Recipe Documentation / Overview](#ferdium-recipe-documentation--overview)
16 - [Table of Contents](#table-of-contents) 16 - [Table of Contents](#table-of-contents)
17 - [Preparing](#preparing) 17 - [Preparing](#preparing)
18 - [Create a recipe](#create-a-recipe) 18 - [Create a recipe](#create-a-recipe)
@@ -49,7 +49,7 @@ pnpm run create "Service Name"
49``` 49```
50 50
51Replace `Service Name` with the name of your service, e.g. `pnpm run create "Google Hangouts"`. 51Replace `Service Name` with the name of your service, e.g. `pnpm run create "Google Hangouts"`.
52This command will automatically create the development recipe in the correct folder, prepares it for your service and opens the new recipe in your file explorer or Finder. 5. Reload Ferdi (`CMD/CTRL + SHIFT + R`) in order for it to register the new recipe 6. You can now develop your recipe as described below. Please continue down below with "[Publishing](#Publishing)" after you are done creating your recipe. 52This command will automatically create the development recipe in the correct folder, prepares it for your service and opens the new recipe in your file explorer or Finder. 5. Reload Ferdium (`CMD/CTRL + SHIFT + R`) in order for it to register the new recipe 6. You can now develop your recipe as described below. Please continue down below with "[Publishing](#Publishing)" after you are done creating your recipe.
53 53
545. (Mandatory) Please run the following step before raising a PR: 545. (Mandatory) Please run the following step before raising a PR:
55```Bash 55```Bash
@@ -59,10 +59,10 @@ Fix any issues that are reported.
59 59
60## Recipe structure 60## Recipe structure
61 61
62Every recipe needs a specific file structure in order to work as a Ferdi recipe 62Every recipe needs a specific file structure in order to work as a Ferdium recipe
63 63
64- icon.svg - Icon for the service in SVG form (must be square) 64- icon.svg - Icon for the service in SVG form (must be square)
65- index.js - Backend script, this script is NOT included in the service webview but only in Ferdi itself 65- index.js - Backend script, this script is NOT included in the service webview but only in Ferdium itself
66- package.json - Information about the recipe 66- package.json - Information about the recipe
67- webview.js - Optional frontend script, this script is injected into the service itself but still has access to all NodeJS APIs 67- webview.js - Optional frontend script, this script is injected into the service itself but still has access to all NodeJS APIs
68- darkmode.css - CSS File that gets included when dark mode is activated 68- darkmode.css - CSS File that gets included when dark mode is activated
@@ -75,7 +75,7 @@ The `package.json` is structured like any other node module and allows to comple
75{ 75{
76 "id": "tweetdeck", 76 "id": "tweetdeck",
77 "name": "Tweetdeck", 77 "name": "Tweetdeck",
78 "version": "1.0.1", 78 "version": "1.0.0",
79 "license": "MIT", 79 "license": "MIT",
80 "repository": "https://github.com/meetfranz/recipe-tweetdeck", 80 "repository": "https://github.com/meetfranz/recipe-tweetdeck",
81 "config": { 81 "config": {
@@ -90,18 +90,18 @@ Please note that the fields `id`, `name`, `version` and `config` are mandatory.
90 90
91### index.js 91### index.js
92 92
93This is your "backend" code. Right now the options are very limited and most of the services don't need a custom handling here. If your service is relatively straight forward and has a static URL eg. _messenger.com_, _`[TEAMID]`.slack.com_ or _web.skype.com_ all you need to do to return the Ferdi Class: 93This is your "backend" code. Right now the options are very limited and most of the services don't need a custom handling here. If your service is relatively straight forward and has a static URL eg. _messenger.com_, _`[TEAMID]`.slack.com_ or _web.skype.com_ all you need to do to return the Ferdium Class:
94 94
95```js 95```js
96module.exports = Ferdi => Ferdi; 96module.exports = Ferdium => Ferdium;
97``` 97```
98 98
99If your service can be hosted on custom servers, you can validate the given URL to detect if it's your server and not e.g. google.com. To enable validation you can override the function `validateServer` 99If your service can be hosted on custom servers, you can validate the given URL to detect if it's your server and not e.g. google.com. To enable validation you can override the function `validateServer`
100 100
101```js 101```js
102// RocketChat integration 102// RocketChat integration
103module.exports = Ferdi => 103module.exports = Ferdium =>
104 class RocketChat extends Ferdi { 104 class RocketChat extends Ferdium {
105 async validateUrl(url) { 105 async validateUrl(url) {
106 try { 106 try {
107 const resp = await window.fetch(`${url}/api/info`, { 107 const resp = await window.fetch(`${url}/api/info`, {
@@ -124,20 +124,20 @@ module.exports = Ferdi =>
124 124
125`validateServer` needs to return a [`Promise`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), otherwise validation will fail. 125`validateServer` needs to return a [`Promise`](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Promise), otherwise validation will fail.
126 126
127By default, Ferdi's user agent looks like this: 127By default, Ferdium's user agent looks like this:
128 128
129```text 129```text
130Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.141 Safari/537.36 Ferdi/5.4.4-beta.3 (Electron 8.1.1) 130Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.141 Safari/537.36 Ferdium/5.4.4-beta.3 (Electron 8.1.1)
131``` 131```
132 132
133Some services may not be compatible with Ferdi adding it's signature to the user agent. 133Some services may not be compatible with Ferdium adding it's signature to the user agent.
134 134
135If you encounter such a service, please remove this signature with the following snippet of code 135If you encounter such a service, please remove this signature with the following snippet of code
136 136
137```js 137```js
138overrideUserAgent() { 138overrideUserAgent() {
139 return window.navigator.userAgent.replace( 139 return window.navigator.userAgent.replace(
140 /(Ferdi|Electron)\/\S+ \([^)]+\)/g, 140 /(Ferdium|Electron)\/\S+ \([^)]+\)/g,
141 "" 141 ""
142 ); 142 );
143} 143}
@@ -153,11 +153,11 @@ overrideUserAgent() {
153 153
154### webview.js 154### webview.js
155 155
156The optional `webview.js` is the actual script that will be loaded into the webview. Here you can do whatever you want to do in order perfectly integrate the service into Ferdi. For convenience, we have provided a very simple set of functions to set unread message badges (`Ferdi.setBadge()`), set active dialog title (`Ferdi.setDialogTitle()`) and inject CSS files (`Ferdi.injectCSS()`). 156The optional `webview.js` is the actual script that will be loaded into the webview. Here you can do whatever you want to do in order perfectly integrate the service into Ferdium. For convenience, we have provided a very simple set of functions to set unread message badges (`Ferdium.setBadge()`), set active dialog title (`Ferdium.setDialogTitle()`) and inject CSS files (`Ferdium.injectCSS()`).
157 157
158```js 158```js
159// telegram integration 159// telegram integration
160module.exports = Ferdi => { 160module.exports = Ferdium => {
161 const getMessages = () => { 161 const getMessages = () => {
162 let direct = 0; 162 let direct = 0;
163 let indirect = 0; 163 let indirect = 0;
@@ -165,7 +165,7 @@ module.exports = Ferdi => {
165 for (const element of elements) { 165 for (const element of elements) {
166 const subtitleBadge = element.querySelector('.dialog-subtitle-badge'); 166 const subtitleBadge = element.querySelector('.dialog-subtitle-badge');
167 if (subtitleBadge) { 167 if (subtitleBadge) {
168 const parsedValue = Ferdi.safeParseInt(subtitleBadge.textContent); 168 const parsedValue = Ferdium.safeParseInt(subtitleBadge.textContent);
169 if (element.dataset.peerId > 0) { 169 if (element.dataset.peerId > 0) {
170 direct += parsedValue; 170 direct += parsedValue;
171 } else { 171 } else {
@@ -174,13 +174,13 @@ module.exports = Ferdi => {
174 } 174 }
175 } 175 }
176 176
177 Ferdi.setBadge(direct, indirect); 177 Ferdium.setBadge(direct, indirect);
178 }; 178 };
179 179
180 const getActiveDialogTitle = () => { 180 const getActiveDialogTitle = () => {
181 const element = document.querySelector('.top .peer-title'); 181 const element = document.querySelector('.top .peer-title');
182 182
183 Ferdi.setDialogTitle(element ? element.textContent : ''); 183 Ferdium.setDialogTitle(element ? element.textContent : '');
184 }; 184 };
185 185
186 const loopFunc = () => { 186 const loopFunc = () => {
@@ -188,9 +188,9 @@ module.exports = Ferdi => {
188 getActiveDialogTitle(); 188 getActiveDialogTitle();
189 }; 189 };
190 190
191 Ferdi.loop(loopFunc); 191 Ferdium.loop(loopFunc);
192 192
193 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 193 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
194}; 194};
195``` 195```
196 196
@@ -198,22 +198,22 @@ To get more information about the provided functions, check the [API docs](front
198 198
199## Icons 199## Icons
200 200
201In order to show every service icon crystal clear within the Ferdi UI, we require the icon in .svg (square, 1024x1024px) format. 201In order to show every service icon crystal clear within the Ferdium UI, we require the icon in .svg (square, 1024x1024px) format.
202 202
203## Dark Mode 203## Dark Mode
204 204
205You can provide a custom Dark Mode Theme for your recipes just by putting the `darkmode.css` into your recipe folder. Once the `darkmode.css` exists, you can enable the Dark Mode in your service settings. 205You can provide a custom Dark Mode Theme for your recipes just by putting the `darkmode.css` into your recipe folder. Once the `darkmode.css` exists, you can enable the Dark Mode in your service settings.
206 206
207Recipe Dark Mode is only supported by Ferdi 5.0.0-beta.19+. Even then, certain services do not allow clients like Ferdi to override these styles (an example of this is google calendar). 207Recipe Dark Mode is only supported by Ferdium 5.0.0-beta.19+. Even then, certain services do not allow clients like Ferdium to override these styles (an example of this is google calendar).
208 208
209## Debugging 209## Debugging
210 210
211In order to debug your service integration, open Ferdi and use the shortcut `Cmd/Ctrl+Alt+Shift+I` to open the recipes developer tools. 211In order to debug your service integration, open Ferdium and use the shortcut `Cmd/Ctrl+Alt+Shift+I` to open the recipes developer tools.
212 212
213## Publishing 213## Publishing
214 214
215Ferdi uses its recipe repository at <https://github.com/ferdium/ferdium-recipes> to publish recipes to all clients. 215Ferdium uses its recipe repository at <https://github.com/ferdium/ferdium-recipes> to publish recipes to all clients.
216 216
217Publishing your recipes to Ferdi is super easy! When you used our recipe creation script, we have created a folder for your recipe inside Ferdi's internal folders (the one that got automatically opened after you ran our script). 217Publishing your recipes to Ferdium is super easy! When you used our recipe creation script, we have created a folder for your recipe inside Ferdium's internal folders (the one that got automatically opened after you ran our script).
218 218
219Simply copy that whole folder into the repositories "recipes" folder. You'll now need to push your changes to Git and create a Pull Request from your fork repository to our repository using the GitHub website. 219Simply copy that whole folder into the repositories "recipes" folder. You'll now need to push your changes to Git and create a Pull Request from your fork repository to our repository using the GitHub website.
diff --git a/docs/updating.md b/docs/updating.md
index f840f50..b5d35c3 100644
--- a/docs/updating.md
+++ b/docs/updating.md
@@ -4,16 +4,16 @@ If you want to improve or update an existing recipe, please follow this guide.
4 4
5## 1. Implement your updates 5## 1. Implement your updates
6 6
7We highly suggest that you implement and test your updates to the recipe inside Ferdi before implementing them into the recipe repository. This will save you time on debugging and repackaging the recipe later. 7We highly suggest that you implement and test your updates to the recipe inside Ferdium before implementing them into the recipe repository. This will save you time on debugging and repackaging the recipe later.
8 8
9You can find the recipe source Ferdi uses at: 9You can find the recipe source Ferdium uses at:
10 * Mac: `~/Library/Application Support/Ferdium/recipes/<recipe id>/` 10 * Mac: `~/Library/Application Support/Ferdium/recipes/<recipe id>/`
11 * Windows: `%appdata%/Ferdium/recipes/<recipe id>/` 11 * Windows: `%appdata%/Ferdium/recipes/<recipe id>/`
12 * Linux: `~/.config/Ferdium/recipes/<recipe id>` 12 * Linux: `~/.config/Ferdium/recipes/<recipe id>`
13 13
14> If you can't find the recipe's folder, please make sure that you have created a service inside Ferdi with that recipe - otherwise Ferdi will not load it into the folder 14> If you can't find the recipe's folder, please make sure that you have created a service inside Ferdium with that recipe - otherwise Ferdium will not load it into the folder
15 15
16After changing the files in that folder, you can reload the service inside Ferdi using `CTRL/CMD + R`. 16After changing the files in that folder, you can reload the service inside Ferdium using `CTRL/CMD + R`.
17 17
18## 2. Setting up the recipe repository 18## 2. Setting up the recipe repository
19 19
@@ -27,7 +27,7 @@ Simply add your changes to the recipe inside this repository.
27 27
28You'll need to increase the version number inside recipe's `package.json`. 28You'll need to increase the version number inside recipe's `package.json`.
29 29
30Ferdi uses this version to determine if it should update the local copy of the recipe. If you do not increase the version number, no Ferdi user will get your updated recipe 😔 30Ferdium uses this version to determine if it should update the local copy of the recipe. If you do not increase the version number, no Ferdium user will get your updated recipe 😔
31 31
32## 5. Running the validation checks 32## 5. Running the validation checks
33 33
diff --git a/package.json b/package.json
index ef4705a..1eed0df 100644
--- a/package.json
+++ b/package.json
@@ -1,5 +1,5 @@
1{ 1{
2 "name": "ferdi-recipes", 2 "name": "ferdium-recipes",
3 "version": "1.0.0", 3 "version": "1.0.0",
4 "directories": { 4 "directories": {
5 "doc": "docs" 5 "doc": "docs"
@@ -17,7 +17,7 @@
17 "url": "git+https://github.com/ferdium/ferdium-recipes.git" 17 "url": "git+https://github.com/ferdium/ferdium-recipes.git"
18 }, 18 },
19 "keywords": [ 19 "keywords": [
20 "ferdi", 20 "ferdium",
21 "recipes" 21 "recipes"
22 ], 22 ],
23 "author": "Ferdium Contributors", 23 "author": "Ferdium Contributors",
diff --git a/recipes/NewsBlur/index.js b/recipes/NewsBlur/index.js
index 23607bd..dd41f72 100644
--- a/recipes/NewsBlur/index.js
+++ b/recipes/NewsBlur/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/NewsBlur/package.json b/recipes/NewsBlur/package.json
index 0efa006..4109b42 100644
--- a/recipes/NewsBlur/package.json
+++ b/recipes/NewsBlur/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "NewsBlur", 2 "id": "NewsBlur",
3 "name": "NewsBlur", 3 "name": "NewsBlur",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://newsblur.com", 7 "serviceURL": "https://newsblur.com",
diff --git a/recipes/OVHCloud/index.js b/recipes/OVHCloud/index.js
index 99219fe..dd41f72 100644
--- a/recipes/OVHCloud/index.js
+++ b/recipes/OVHCloud/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class OVHCloud extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/OVHCloud/package.json b/recipes/OVHCloud/package.json
index 51b34f4..140a19c 100644
--- a/recipes/OVHCloud/package.json
+++ b/recipes/OVHCloud/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "OVHCloud", 2 "id": "OVHCloud",
3 "name": "OVH Cloud", 3 "name": "OVH Cloud",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.ovh.com/auth" 7 "serviceURL": "https://www.ovh.com/auth"
diff --git a/recipes/TickTick/index.js b/recipes/TickTick/index.js
index 223ef7e..42d052c 100644
--- a/recipes/TickTick/index.js
+++ b/recipes/TickTick/index.js
@@ -1,2 +1,2 @@
1// default integration (e.g messenger.com, ...) 1// default integration (e.g messenger.com, ...)
2module.exports = Ferdi => Ferdi; 2module.exports = Ferdium => Ferdium;
diff --git a/recipes/TickTick/package.json b/recipes/TickTick/package.json
index 3b5156c..3aa41a0 100644
--- a/recipes/TickTick/package.json
+++ b/recipes/TickTick/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "TickTick", 2 "id": "TickTick",
3 "name": "TickTick", 3 "name": "TickTick",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.ticktick.com/#p/inbox/tasks" 7 "serviceURL": "https://www.ticktick.com/#p/inbox/tasks"
diff --git a/recipes/TickTick/webview.js b/recipes/TickTick/webview.js
index ae3265b..d2c7ef5 100644
--- a/recipes/TickTick/webview.js
+++ b/recipes/TickTick/webview.js
@@ -1,10 +1,10 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // all overdue items are being counted 3 // all overdue items are being counted
4 const count = document.querySelectorAll('.duedate-overdue').length; 4 const count = document.querySelectorAll('.duedate-overdue').length;
5 5
6 Ferdi.setBadge(count); 6 Ferdium.setBadge(count);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/air-droid/index.js b/recipes/air-droid/index.js
index 23607bd..dd41f72 100644
--- a/recipes/air-droid/index.js
+++ b/recipes/air-droid/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/air-droid/package.json b/recipes/air-droid/package.json
index bcdf5ba..a2780a9 100644
--- a/recipes/air-droid/package.json
+++ b/recipes/air-droid/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "air-droid", 2 "id": "air-droid",
3 "name": "AirDroid", 3 "name": "AirDroid",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "http://web.airdroid.com/", 7 "serviceURL": "http://web.airdroid.com/",
diff --git a/recipes/air-droid/webview.js b/recipes/air-droid/webview.js
index 9bbcdb6..a2e350f 100644
--- a/recipes/air-droid/webview.js
+++ b/recipes/air-droid/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = {}; 3 const count = {};
4 const data = document.querySelector('#FranzMessages').dataset; 4 const data = document.querySelector('#FranzMessages').dataset;
@@ -7,8 +7,8 @@ module.exports = (Ferdi) => {
7 count.count_indirect = data.indirect; 7 count.count_indirect = data.indirect;
8 } 8 }
9 9
10 Ferdi.setBadge(count); 10 Ferdium.setBadge(count);
11 } 11 }
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14}; 14};
diff --git a/recipes/airmessage/index.js b/recipes/airmessage/index.js
index db6cb13..dd41f72 100644
--- a/recipes/airmessage/index.js
+++ b/recipes/airmessage/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Airmessage extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/airmessage/package.json b/recipes/airmessage/package.json
index 9e90c9b..7d70e14 100644
--- a/recipes/airmessage/package.json
+++ b/recipes/airmessage/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "airmessage", 2 "id": "airmessage",
3 "name": "AirMessage", 3 "name": "AirMessage",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.airmessage.org/" 7 "serviceURL": "https://web.airmessage.org/"
diff --git a/recipes/airmessage/webview.js b/recipes/airmessage/webview.js
index a49ac80..c951482 100644
--- a/recipes/airmessage/webview.js
+++ b/recipes/airmessage/webview.js
@@ -2,7 +2,7 @@ module.exports = () => {
2 // TODO: If your AirMessage service has unread messages, uncomment these lines to implement the logic for updating the badges 2 // TODO: If your AirMessage service has unread messages, uncomment these lines to implement the logic for updating the badges
3 // const getMessages = () => { 3 // const getMessages = () => {
4 // // TODO: Insert your notification-finding code here 4 // // TODO: Insert your notification-finding code here
5 // Ferdi.setBadge(0, 0); 5 // Ferdium.setBadge(0, 0);
6 // }; 6 // };
7 // Ferdi.loop(getMessages); 7 // Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/airtable/index.js b/recipes/airtable/index.js
index 23607bd..dd41f72 100644
--- a/recipes/airtable/index.js
+++ b/recipes/airtable/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/airtable/package.json b/recipes/airtable/package.json
index 060f4fa..d3c233c 100644
--- a/recipes/airtable/package.json
+++ b/recipes/airtable/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "airtable", 2 "id": "airtable",
3 "name": "Airtable", 3 "name": "Airtable",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/transnat/recipe-airtable", 6 "repository": "https://github.com/transnat/recipe-airtable",
7 "config": { 7 "config": {
diff --git a/recipes/amazon-web-services/index.js b/recipes/amazon-web-services/index.js
index 057cd19..dd41f72 100644
--- a/recipes/amazon-web-services/index.js
+++ b/recipes/amazon-web-services/index.js
@@ -1 +1 @@
module.exports = Ferdi => class AmazonWebServices extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/amazon-web-services/package.json b/recipes/amazon-web-services/package.json
index 0e0b450..6f40c12 100644
--- a/recipes/amazon-web-services/package.json
+++ b/recipes/amazon-web-services/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "amazon-web-services", 2 "id": "amazon-web-services",
3 "name": "Amazon Web Services", 3 "name": "Amazon Web Services",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "aws" 7 "aws"
diff --git a/recipes/amazon-work-mail/index.js b/recipes/amazon-work-mail/index.js
index 23607bd..dd41f72 100644
--- a/recipes/amazon-work-mail/index.js
+++ b/recipes/amazon-work-mail/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/amazon-work-mail/package.json b/recipes/amazon-work-mail/package.json
index 0d04c13..dc41d0f 100644
--- a/recipes/amazon-work-mail/package.json
+++ b/recipes/amazon-work-mail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "amazon-work-mail", 2 "id": "amazon-work-mail",
3 "name": "Amazon WorkMail", 3 "name": "Amazon WorkMail",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamID}.awsapps.com/mail", 7 "serviceURL": "https://{teamID}.awsapps.com/mail",
diff --git a/recipes/amazon-work-mail/webview.js b/recipes/amazon-work-mail/webview.js
index 44f3058..36967fd 100644
--- a/recipes/amazon-work-mail/webview.js
+++ b/recipes/amazon-work-mail/webview.js
@@ -11,20 +11,20 @@ const reload = EventType =>
11 } 11 }
12 }); 12 });
13 13
14module.exports = Ferdi => { 14module.exports = Ferdium => {
15 const getUnread = () => { 15 const getUnread = () => {
16 const nodes = document.querySelectorAll('.giraffe-hierarchy-node-counter'); 16 const nodes = document.querySelectorAll('.giraffe-hierarchy-node-counter');
17 let counter = 0; 17 let counter = 0;
18 18
19 for (const node of nodes) { 19 for (const node of nodes) {
20 counter += Ferdi.safeParseInt(node.textContent); 20 counter += Ferdium.safeParseInt(node.textContent);
21 } 21 }
22 22
23 Ferdi.setBadge(counter); 23 Ferdium.setBadge(counter);
24 }; 24 };
25 25
26 if (!window.location.pathname.includes('auth')) { 26 if (!window.location.pathname.includes('auth')) {
27 Ferdi.loop(getUnread); 27 Ferdium.loop(getUnread);
28 28
29 window.setInterval(() => { 29 window.setInterval(() => {
30 reload('click'); 30 reload('click');
diff --git a/recipes/android-messages/index.js b/recipes/android-messages/index.js
index 23607bd..dd41f72 100644
--- a/recipes/android-messages/index.js
+++ b/recipes/android-messages/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/android-messages/package.json b/recipes/android-messages/package.json
index 6bb0cfb..d025bad 100644
--- a/recipes/android-messages/package.json
+++ b/recipes/android-messages/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "android-messages", 2 "id": "android-messages",
3 "name": "Android Messages", 3 "name": "Android Messages",
4 "version": "2.2.4", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://messages.google.com/web", 7 "serviceURL": "https://messages.google.com/web",
diff --git a/recipes/android-messages/webview.js b/recipes/android-messages/webview.js
index 35d5de2..18d1c90 100644
--- a/recipes/android-messages/webview.js
+++ b/recipes/android-messages/webview.js
@@ -13,14 +13,14 @@ setTimeout(() => {
13 } 13 }
14}, 1000); 14}, 1000);
15 15
16module.exports = (Ferdi, settings) => { 16module.exports = (Ferdium, settings) => {
17 const getMessages = () => { 17 const getMessages = () => {
18 const messages = document.querySelectorAll('.text-content.unread').length; 18 const messages = document.querySelectorAll('.text-content.unread').length;
19 Ferdi.setBadge(messages); 19 Ferdium.setBadge(messages);
20 }; 20 };
21 21
22 window.addEventListener('beforeunload', async () => { 22 window.addEventListener('beforeunload', async () => {
23 Ferdi.clearStorageData(settings.id, { 23 Ferdium.clearStorageData(settings.id, {
24 storages: [ 24 storages: [
25 'appcache', 25 'appcache',
26 'serviceworkers', 26 'serviceworkers',
@@ -29,10 +29,10 @@ module.exports = (Ferdi, settings) => {
29 'indexdb', 29 'indexdb',
30 ], 30 ],
31 }); 31 });
32 Ferdi.releaseServiceWorkers(); 32 Ferdium.releaseServiceWorkers();
33 }); 33 });
34 34
35 Ferdi.loop(getMessages); 35 Ferdium.loop(getMessages);
36 36
37 if (settings.isDarkModeEnabled) { 37 if (settings.isDarkModeEnabled) {
38 localStorage.setItem('dark_mode_enabled', 'true'); 38 localStorage.setItem('dark_mode_enabled', 'true');
diff --git a/recipes/anonaddy/index.js b/recipes/anonaddy/index.js
index b8cdae2..dd41f72 100644
--- a/recipes/anonaddy/index.js
+++ b/recipes/anonaddy/index.js
@@ -1 +1 @@
module.exports = Ferdi => class anonaddy extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/anonaddy/package.json b/recipes/anonaddy/package.json
index efe3945..19c7b68 100644
--- a/recipes/anonaddy/package.json
+++ b/recipes/anonaddy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "anonaddy", 2 "id": "anonaddy",
3 "name": "AnonAddy", 3 "name": "AnonAddy",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.anonaddy.com/" 7 "serviceURL": "https://app.anonaddy.com/"
diff --git a/recipes/anydo/index.js b/recipes/anydo/index.js
index 23607bd..dd41f72 100644
--- a/recipes/anydo/index.js
+++ b/recipes/anydo/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/anydo/package.json b/recipes/anydo/package.json
index eb6d8d4..0687290 100644
--- a/recipes/anydo/package.json
+++ b/recipes/anydo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "anydo", 2 "id": "anydo",
3 "name": "Any.do", 3 "name": "Any.do",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/chappy84/recipe-anydo", 6 "repository": "https://github.com/chappy84/recipe-anydo",
7 "config": { 7 "config": {
diff --git a/recipes/anydo/webview.js b/recipes/anydo/webview.js
index e1ee479..8c4dd3a 100644
--- a/recipes/anydo/webview.js
+++ b/recipes/anydo/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 function getTasks() { 2 function getTasks() {
3 let incompleteCount = 0; 3 let incompleteCount = 0;
4 4
@@ -8,12 +8,12 @@ module.exports = Ferdi => {
8 8
9 if (countEls.length > 0) { 9 if (countEls.length > 0) {
10 for (const el of countEls) { 10 for (const el of countEls) {
11 incompleteCount += Ferdi.safeParseInt(el.textContent); 11 incompleteCount += Ferdium.safeParseInt(el.textContent);
12 } 12 }
13 } 13 }
14 14
15 Ferdi.setBadge(incompleteCount); 15 Ferdium.setBadge(incompleteCount);
16 } 16 }
17 17
18 Ferdi.loop(getTasks); 18 Ferdium.loop(getTasks);
19}; 19};
diff --git a/recipes/asana/index.js b/recipes/asana/index.js
index 23607bd..dd41f72 100644
--- a/recipes/asana/index.js
+++ b/recipes/asana/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/asana/package.json b/recipes/asana/package.json
index 1ab14e9..ebe4ce6 100644
--- a/recipes/asana/package.json
+++ b/recipes/asana/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "asana", 2 "id": "asana",
3 "name": "Asana", 3 "name": "Asana",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.asana.com", 7 "serviceURL": "https://app.asana.com",
diff --git a/recipes/asana/webview.js b/recipes/asana/webview.js
index 257c7e1..8a34c24 100644
--- a/recipes/asana/webview.js
+++ b/recipes/asana/webview.js
@@ -2,13 +2,13 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const hasNotification = document.querySelectorAll('.SidebarTopNavLinks-notificationsButton--hasNewNotifications'); 7 const hasNotification = document.querySelectorAll('.SidebarTopNavLinks-notificationsButton--hasNewNotifications');
8 Ferdi.setBadge(hasNotification.length > 0 ? 1 : 0); 8 Ferdium.setBadge(hasNotification.length > 0 ? 1 : 0);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12 12
13 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 13 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
14}; 14};
diff --git a/recipes/azure-devops/index.js b/recipes/azure-devops/index.js
index a6cb2af..dd41f72 100644
--- a/recipes/azure-devops/index.js
+++ b/recipes/azure-devops/index.js
@@ -1 +1 @@
module.exports = Ferdi => class azuredevops extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/azure-devops/package.json b/recipes/azure-devops/package.json
index 27bdb88..17ce7b0 100644
--- a/recipes/azure-devops/package.json
+++ b/recipes/azure-devops/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "azure-devops", 2 "id": "azure-devops",
3 "name": "Azure DevOps", 3 "name": "Azure DevOps",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "azdo" 7 "azdo"
diff --git a/recipes/basecamp/index.js b/recipes/basecamp/index.js
index 23607bd..dd41f72 100644
--- a/recipes/basecamp/index.js
+++ b/recipes/basecamp/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/basecamp/package.json b/recipes/basecamp/package.json
index 1bea1af..391d338 100644
--- a/recipes/basecamp/package.json
+++ b/recipes/basecamp/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "basecamp", 2 "id": "basecamp",
3 "name": "Basecamp", 3 "name": "Basecamp",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://launchpad.37signals.com/" 7 "serviceURL": "https://launchpad.37signals.com/"
diff --git a/recipes/basecamp/webview.js b/recipes/basecamp/webview.js
index 9d8e677..7d13751 100644
--- a/recipes/basecamp/webview.js
+++ b/recipes/basecamp/webview.js
@@ -12,7 +12,7 @@ function hide(element) {
12 element.style.display = 'none'; 12 element.style.display = 'none';
13} 13}
14 14
15module.exports = Ferdi => { 15module.exports = Ferdium => {
16 const modal = document.createElement('div'); 16 const modal = document.createElement('div');
17 17
18 const waitFor = (condition, callback) => { 18 const waitFor = (condition, callback) => {
@@ -41,7 +41,7 @@ module.exports = Ferdi => {
41 } 41 }
42 } 42 }
43 43
44 // Replace window.alert to hide alerts in Ferdi 44 // Replace window.alert to hide alerts in Ferdium
45 const oldAlert = window.alert; 45 const oldAlert = window.alert;
46 window.alert = function () { 46 window.alert = function () {
47 // when Google Calendar displays an alert notify the user 47 // when Google Calendar displays an alert notify the user
@@ -67,5 +67,5 @@ module.exports = Ferdi => {
67 } 67 }
68 }); 68 });
69 69
70 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'modal.css')); 70 Ferdium.injectCSS(_path.default.join(__dirname, 'css', 'modal.css'));
71}; 71};
diff --git a/recipes/bigbluebutton/index.js b/recipes/bigbluebutton/index.js
index 23607bd..dd41f72 100644
--- a/recipes/bigbluebutton/index.js
+++ b/recipes/bigbluebutton/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/bigbluebutton/package.json b/recipes/bigbluebutton/package.json
index 7faf90f..b37a070 100644
--- a/recipes/bigbluebutton/package.json
+++ b/recipes/bigbluebutton/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "bigbluebutton", 2 "id": "bigbluebutton",
3 "name": "BigBlueButton", 3 "name": "BigBlueButton",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://bigbluebutton.mycompany.com/", 7 "serviceURL": "https://bigbluebutton.mycompany.com/",
diff --git a/recipes/binance/index.js b/recipes/binance/index.js
index b4d7495..dd41f72 100644
--- a/recipes/binance/index.js
+++ b/recipes/binance/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Binance extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/binance/package.json b/recipes/binance/package.json
index 1590823..20ade20 100644
--- a/recipes/binance/package.json
+++ b/recipes/binance/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "binance", 2 "id": "binance",
3 "name": "Binance", 3 "name": "Binance",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://accounts.binance.com" 7 "serviceURL": "https://accounts.binance.com"
diff --git a/recipes/bip/index.js b/recipes/bip/index.js
index 8949ee0..dd41f72 100644
--- a/recipes/bip/index.js
+++ b/recipes/bip/index.js
@@ -1 +1 @@
module.exports = Ferdi => class bip extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/bip/package.json b/recipes/bip/package.json
index 0ad1628..18d9f68 100644
--- a/recipes/bip/package.json
+++ b/recipes/bip/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "bip", 2 "id": "bip",
3 "name": "BiP", 3 "name": "BiP",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.bip.com/", 7 "serviceURL": "https://web.bip.com/",
diff --git a/recipes/bip/webview.js b/recipes/bip/webview.js
index 8b9eccc..59c51f0 100644
--- a/recipes/bip/webview.js
+++ b/recipes/bip/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const elements = document.querySelectorAll('.contact-list__message__unread-badge-counter'); 3 const elements = document.querySelectorAll('.contact-list__message__unread-badge-counter');
4 let count = 0; 4 let count = 0;
5 for (const element of elements) { 5 for (const element of elements) {
6 count += Ferdi.safeParseInt(element.textContent); 6 count += Ferdium.safeParseInt(element.textContent);
7 } 7 }
8 Ferdi.setBadge(count, 0); 8 Ferdium.setBadge(count, 0);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/bitbucket/index.js b/recipes/bitbucket/index.js
index 3709b27..dd41f72 100644
--- a/recipes/bitbucket/index.js
+++ b/recipes/bitbucket/index.js
@@ -1 +1 @@
module.exports = Ferdi => class bitbucket extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/bitbucket/package.json b/recipes/bitbucket/package.json
index 910623c..4a09f6e 100644
--- a/recipes/bitbucket/package.json
+++ b/recipes/bitbucket/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "bitbucket", 2 "id": "bitbucket",
3 "name": "BitBucket", 3 "name": "BitBucket",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://bitbucket.org/dashboard/overview" 7 "serviceURL": "https://bitbucket.org/dashboard/overview"
diff --git a/recipes/bitwarden/index.js b/recipes/bitwarden/index.js
index ab7de5f..dd41f72 100644
--- a/recipes/bitwarden/index.js
+++ b/recipes/bitwarden/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Bitwarden extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/bitwarden/package.json b/recipes/bitwarden/package.json
index 593e03c..92e9a9d 100644
--- a/recipes/bitwarden/package.json
+++ b/recipes/bitwarden/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "bitwarden", 2 "id": "bitwarden",
3 "name": "Bitwarden", 3 "name": "Bitwarden",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://vault.bitwarden.com", 7 "serviceURL": "https://vault.bitwarden.com",
diff --git a/recipes/box/index.js b/recipes/box/index.js
index 23607bd..dd41f72 100644
--- a/recipes/box/index.js
+++ b/recipes/box/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/box/package.json b/recipes/box/package.json
index 88d74e7..6d17ac1 100644
--- a/recipes/box/package.json
+++ b/recipes/box/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "box", 2 "id": "box",
3 "name": "Box", 3 "name": "Box",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://account.box.com/login" 7 "serviceURL": "https://account.box.com/login"
diff --git a/recipes/buffer/index.js b/recipes/buffer/index.js
index 23607bd..dd41f72 100644
--- a/recipes/buffer/index.js
+++ b/recipes/buffer/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/buffer/package.json b/recipes/buffer/package.json
index f2a9aff..6ca5d61 100644
--- a/recipes/buffer/package.json
+++ b/recipes/buffer/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "buffer", 2 "id": "buffer",
3 "name": "Buffer", 3 "name": "Buffer",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "GPL", 5 "license": "GPL",
6 "config": { 6 "config": {
7 "serviceURL": "https://buffer.com", 7 "serviceURL": "https://buffer.com",
diff --git a/recipes/buffer/webview.js b/recipes/buffer/webview.js
index 035c69a..de6c7f2 100644
--- a/recipes/buffer/webview.js
+++ b/recipes/buffer/webview.js
@@ -2,6 +2,6 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
7}; 7};
diff --git a/recipes/campuswire/index.js b/recipes/campuswire/index.js
index 23607bd..dd41f72 100644
--- a/recipes/campuswire/index.js
+++ b/recipes/campuswire/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/campuswire/package.json b/recipes/campuswire/package.json
index ede4dfb..e71eaeb 100644
--- a/recipes/campuswire/package.json
+++ b/recipes/campuswire/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "campuswire", 2 "id": "campuswire",
3 "name": "Campuswire", 3 "name": "Campuswire",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://campuswire.com/c", 7 "serviceURL": "https://campuswire.com/c",
diff --git a/recipes/campuswire/webview.js b/recipes/campuswire/webview.js
index 418ac9d..d77d162 100644
--- a/recipes/campuswire/webview.js
+++ b/recipes/campuswire/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = document.querySelectorAll( 3 let count = document.querySelectorAll(
4 '._5fx8:not(._569x),._1ht3:not(._569x)', 4 '._5fx8:not(._569x),._1ht3:not(._569x)',
@@ -6,13 +6,13 @@ module.exports = Ferdi => {
6 const messageRequestsElement = document.querySelector('._5nxf'); 6 const messageRequestsElement = document.querySelector('._5nxf');
7 7
8 if (messageRequestsElement) { 8 if (messageRequestsElement) {
9 count += Ferdi.safeParseInt(messageRequestsElement.textContent); 9 count += Ferdium.safeParseInt(messageRequestsElement.textContent);
10 } 10 }
11 11
12 Ferdi.setBadge(count); 12 Ferdium.setBadge(count);
13 }; 13 };
14 14
15 Ferdi.loop(getMessages); 15 Ferdium.loop(getMessages);
16 16
17 localStorage.setItem( 17 localStorage.setItem(
18 '_cs_desktopNotifsEnabled', 18 '_cs_desktopNotifsEnabled',
@@ -22,8 +22,8 @@ module.exports = Ferdi => {
22 }), 22 }),
23 ); 23 );
24 24
25 if (typeof Ferdi.onNotify === 'function') { 25 if (typeof Ferdium.onNotify === 'function') {
26 Ferdi.onNotify(notification => { 26 Ferdium.onNotify(notification => {
27 if (typeof notification.title !== 'string') { 27 if (typeof notification.title !== 'string') {
28 notification.title = 28 notification.title =
29 ((notification.title.props || {}).content || [])[0] || 'Campuswire'; 29 ((notification.title.props || {}).content || [])[0] || 'Campuswire';
diff --git a/recipes/canvas/index.js b/recipes/canvas/index.js
index 23607bd..dd41f72 100644
--- a/recipes/canvas/index.js
+++ b/recipes/canvas/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/canvas/package.json b/recipes/canvas/package.json
index 7e856c5..a79ae39 100644
--- a/recipes/canvas/package.json
+++ b/recipes/canvas/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "canvas", 2 "id": "canvas",
3 "name": "Canvas", 3 "name": "Canvas",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.instructure.com/", 7 "serviceURL": "https://{teamId}.instructure.com/",
diff --git a/recipes/canvas/webview.js b/recipes/canvas/webview.js
index 070a975..5294f66 100644
--- a/recipes/canvas/webview.js
+++ b/recipes/canvas/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 4
@@ -6,11 +6,11 @@ module.exports = Ferdi => {
6 '[id=global_nav_conversations_link]', 6 '[id=global_nav_conversations_link]',
7 ); 7 );
8 if (MessageElement) { 8 if (MessageElement) {
9 direct += Ferdi.safeParseInt(MessageElement.textContent); 9 direct += Ferdium.safeParseInt(MessageElement.textContent);
10 } 10 }
11 11
12 Ferdi.setBadge(direct); 12 Ferdium.setBadge(direct);
13 }; 13 };
14 14
15 Ferdi.loop(getMessages); 15 Ferdium.loop(getMessages);
16}; 16};
diff --git a/recipes/chatra/index.js b/recipes/chatra/index.js
index 23607bd..dd41f72 100644
--- a/recipes/chatra/index.js
+++ b/recipes/chatra/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/chatra/package.json b/recipes/chatra/package.json
index ecca6aa..22fa8c0 100644
--- a/recipes/chatra/package.json
+++ b/recipes/chatra/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "chatra", 2 "id": "chatra",
3 "name": "Chatra", 3 "name": "Chatra",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.chatra.io/", 7 "serviceURL": "https://app.chatra.io/",
diff --git a/recipes/chatra/webview.js b/recipes/chatra/webview.js
index a82a78d..c1e6b7f 100644
--- a/recipes/chatra/webview.js
+++ b/recipes/chatra/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // get new conversations in My Queue 3 // get new conversations in My Queue
4 const myQueue = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:my"] .count').not('.count--gray').text(); 4 const myQueue = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:my"] .count').not('.count--gray').text();
@@ -6,11 +6,11 @@ module.exports = (Ferdi) => {
6 // get all missed conversations 6 // get all missed conversations
7 const missed = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:missed"] .count').text(); 7 const missed = $('.super-nav a.super-nav__item.js-from-super-to-nav[href^="/chat/box:missed"] .count').text();
8 8
9 // set Ferdi badge 9 // set Ferdium badge
10 // myQueue => New conversations in My Queue 10 // myQueue => New conversations in My Queue
11 // missed => All missed conversations 11 // missed => All missed conversations
12 Ferdi.setBadge(myQueue, missed); 12 Ferdium.setBadge(myQueue, missed);
13 }; 13 };
14 14
15 Ferdi.loop(getMessages); 15 Ferdium.loop(getMessages);
16}; 16};
diff --git a/recipes/chatwoot/index.js b/recipes/chatwoot/index.js
index 653b54c..244fe33 100644
--- a/recipes/chatwoot/index.js
+++ b/recipes/chatwoot/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => Ferdi; module.exports = (Ferdium) => Ferdium;
diff --git a/recipes/chatwoot/package.json b/recipes/chatwoot/package.json
index 6c024e7..c3c1a79 100644
--- a/recipes/chatwoot/package.json
+++ b/recipes/chatwoot/package.json
@@ -1,11 +1,10 @@
1{ 1{
2 "id": "chatwoot", 2 "id": "chatwoot",
3 "name": "Chatwoot", 3 "name": "Chatwoot",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/maximeMD/ferdi-chatwoot", 6 "repository": "https://github.com/maximeMD/ferdi-chatwoot",
7 "config": { 7 "config": {
8 "serviceURL": "https://app.chatwoot.com/app/login" 8 "serviceURL": "https://app.chatwoot.com/app/login"
9 } 9 }
10 } 10 }
11 \ No newline at end of file
diff --git a/recipes/chatwoot/webview.js b/recipes/chatwoot/webview.js
index 05e33b3..d61b87f 100644
--- a/recipes/chatwoot/webview.js
+++ b/recipes/chatwoot/webview.js
@@ -1,14 +1,14 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const unreadBadges = document.querySelectorAll("span.unread"); 3 const unreadBadges = document.querySelectorAll("span.unread");
4 const unreadBadgesArray = [...unreadBadges]; 4 const unreadBadgesArray = [...unreadBadges];
5 const unreadMessagesCount = unreadBadgesArray.reduce( 5 const unreadMessagesCount = unreadBadgesArray.reduce(
6 (previousValue, currentBadge) => 6 (previousValue, currentBadge) =>
7 previousValue + Ferdi.safeParseInt(currentBadge.textContent), 7 previousValue + Ferdium.safeParseInt(currentBadge.textContent),
8 0, 8 0,
9 ); 9 );
10 Ferdi.setBadge(unreadMessagesCount); 10 Ferdium.setBadge(unreadMessagesCount);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14}; 14};
diff --git a/recipes/chatwork/index.js b/recipes/chatwork/index.js
index 23607bd..dd41f72 100644
--- a/recipes/chatwork/index.js
+++ b/recipes/chatwork/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/chatwork/package.json b/recipes/chatwork/package.json
index 79b9550..6dd5b0d 100644
--- a/recipes/chatwork/package.json
+++ b/recipes/chatwork/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "chatwork", 2 "id": "chatwork",
3 "name": "Chatwork", 3 "name": "Chatwork",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/hideosasaki/recipe-chatwork", 6 "repository": "https://github.com/hideosasaki/recipe-chatwork",
7 "config": { 7 "config": {
diff --git a/recipes/chatwork/webview.js b/recipes/chatwork/webview.js
index ed09ef7..6b961ed 100644
--- a/recipes/chatwork/webview.js
+++ b/recipes/chatwork/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directCount = 0; 3 let directCount = 0;
4 let indirectCount = 0; 4 let indirectCount = 0;
@@ -11,7 +11,7 @@ module.exports = Ferdi => {
11 ); 11 );
12 12
13 if (unreadBadge && unreadBadge.textContent) { 13 if (unreadBadge && unreadBadge.textContent) {
14 count = Ferdi.safeParseInt(unreadBadge.textContent); 14 count = Ferdium.safeParseInt(unreadBadge.textContent);
15 } 15 }
16 16
17 if (count > 0) { 17 if (count > 0) {
@@ -31,8 +31,8 @@ module.exports = Ferdi => {
31 } 31 }
32 } 32 }
33 }); 33 });
34 Ferdi.setBadge(directCount, indirectCount); 34 Ferdium.setBadge(directCount, indirectCount);
35 }; 35 };
36 36
37 Ferdi.loop(getMessages); 37 Ferdium.loop(getMessages);
38}; 38};
diff --git a/recipes/circuit/README.md b/recipes/circuit/README.md
index 317c0fd..8b4c74b 100644
--- a/recipes/circuit/README.md
+++ b/recipes/circuit/README.md
@@ -1,3 +1,3 @@
1# Circuit EU for Ferdi 1# Circuit EU for Ferdium
2 2
3Unofficial Ferdi recipe for [Circuit by Atos Unify](https://eu.yourcircuit.com/) \ No newline at end of file 3Unofficial Ferdium recipe for [Circuit by Atos Unify](https://eu.yourcircuit.com/)
diff --git a/recipes/circuit/index.js b/recipes/circuit/index.js
index 23607bd..dd41f72 100644
--- a/recipes/circuit/index.js
+++ b/recipes/circuit/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/circuit/package.json b/recipes/circuit/package.json
index e5e354b..9f14709 100644
--- a/recipes/circuit/package.json
+++ b/recipes/circuit/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "circuit", 2 "id": "circuit",
3 "name": "Circuit", 3 "name": "Circuit",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://eu.yourcircuit.com/" 7 "serviceURL": "https://eu.yourcircuit.com/"
diff --git a/recipes/circuit/webview.js b/recipes/circuit/webview.js
index c04022d..62c35fa 100644
--- a/recipes/circuit/webview.js
+++ b/recipes/circuit/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // Get value of <title> tag where in case of new messages the number of messages appear 3 // Get value of <title> tag where in case of new messages the number of messages appear
4 const title = document.querySelector('title'); 4 const title = document.querySelector('title');
@@ -9,9 +9,9 @@ module.exports = Ferdi => {
9 const unread = match != null && match.length > 0 ? match[0] : 0; 9 const unread = match != null && match.length > 0 ? match[0] : 0;
10 10
11 // Set unread msgs badge 11 // Set unread msgs badge
12 Ferdi.setBadge(Ferdi.safeParseInt(unread)); 12 Ferdium.setBadge(Ferdium.safeParseInt(unread));
13 } 13 }
14 }; 14 };
15 15
16 Ferdi.loop(getMessages); 16 Ferdium.loop(getMessages);
17}; 17};
diff --git a/recipes/ciscospark/index.js b/recipes/ciscospark/index.js
index 23607bd..dd41f72 100644
--- a/recipes/ciscospark/index.js
+++ b/recipes/ciscospark/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/ciscospark/package.json b/recipes/ciscospark/package.json
index 06e05eb..8e7b16b 100644
--- a/recipes/ciscospark/package.json
+++ b/recipes/ciscospark/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "ciscospark", 2 "id": "ciscospark",
3 "name": "Cisco Spark", 3 "name": "Cisco Spark",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.ciscospark.com", 7 "serviceURL": "https://web.ciscospark.com",
diff --git a/recipes/ciscospark/webview.js b/recipes/ciscospark/webview.js
index 9cc66b2..4af8a2d 100644
--- a/recipes/ciscospark/webview.js
+++ b/recipes/ciscospark/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const UNREAD_BADGE_SELECTOR = '.navigation-item--badgeCount'; 6 const UNREAD_BADGE_SELECTOR = '.navigation-item--badgeCount';
7 7
8 const getMessages = () => { 8 const getMessages = () => {
@@ -11,16 +11,16 @@ module.exports = Ferdi => {
11 11
12 const elements = document.querySelectorAll('.navigation-bar-list .listItemWrapper'); 12 const elements = document.querySelectorAll('.navigation-bar-list .listItemWrapper');
13 if (elements.length > 0 && elements[1].querySelector(UNREAD_BADGE_SELECTOR)) { 13 if (elements.length > 0 && elements[1].querySelector(UNREAD_BADGE_SELECTOR)) {
14 directCount = Ferdi.safeParseInt(elements[1].querySelector(UNREAD_BADGE_SELECTOR).textContent); 14 directCount = Ferdium.safeParseInt(elements[1].querySelector(UNREAD_BADGE_SELECTOR).textContent);
15 } 15 }
16 if (elements.length > 1 && elements[2].querySelector(UNREAD_BADGE_SELECTOR)) { 16 if (elements.length > 1 && elements[2].querySelector(UNREAD_BADGE_SELECTOR)) {
17 indirectCount = Ferdi.safeParseInt(elements[2].querySelector(UNREAD_BADGE_SELECTOR).textContent); 17 indirectCount = Ferdium.safeParseInt(elements[2].querySelector(UNREAD_BADGE_SELECTOR).textContent);
18 } 18 }
19 19
20 Ferdi.setBadge(directCount, indirectCount); 20 Ferdium.setBadge(directCount, indirectCount);
21 }; 21 };
22 22
23 Ferdi.loop(getMessages); 23 Ferdium.loop(getMessages);
24 24
25 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 25 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
26}; 26};
diff --git a/recipes/clickup/index.js b/recipes/clickup/index.js
index 23607bd..dd41f72 100644
--- a/recipes/clickup/index.js
+++ b/recipes/clickup/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/clickup/package.json b/recipes/clickup/package.json
index 4a33492..c55dc7b 100644
--- a/recipes/clickup/package.json
+++ b/recipes/clickup/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "clickup", 2 "id": "clickup",
3 "name": "ClickUp", 3 "name": "ClickUp",
4 "version": "2.2.1", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.clickup.com", 7 "serviceURL": "https://app.clickup.com",
diff --git a/recipes/clickup/webview.js b/recipes/clickup/webview.js
index 8dc8d26..55ece28 100644
--- a/recipes/clickup/webview.js
+++ b/recipes/clickup/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unread = document.querySelector('.cu-notification-alert__dot'); 3 const unread = document.querySelector('.cu-notification-alert__dot');
4 Ferdi.setBadge(unread ? 1 : 0); 4 Ferdium.setBadge(unread ? 1 : 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/cliq/index.js b/recipes/cliq/index.js
index 23607bd..dd41f72 100644
--- a/recipes/cliq/index.js
+++ b/recipes/cliq/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/cliq/package.json b/recipes/cliq/package.json
index e542955..8087801 100644
--- a/recipes/cliq/package.json
+++ b/recipes/cliq/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "cliq", 2 "id": "cliq",
3 "name": "Cliq", 3 "name": "Cliq",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "repository": "https://github.com/cliqgeek/recipe-cliq", 5 "repository": "https://github.com/cliqgeek/recipe-cliq",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.zoho.com/cliq/login.html", 7 "serviceURL": "https://www.zoho.com/cliq/login.html",
diff --git a/recipes/clockify/index.js b/recipes/clockify/index.js
index 23607bd..dd41f72 100644
--- a/recipes/clockify/index.js
+++ b/recipes/clockify/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/clockify/package.json b/recipes/clockify/package.json
index 6150326..d02c3aa 100644
--- a/recipes/clockify/package.json
+++ b/recipes/clockify/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "clockify", 2 "id": "clockify",
3 "name": "Clockify", 3 "name": "Clockify",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://clockify.me/tracker", 7 "serviceURL": "https://clockify.me/tracker",
diff --git a/recipes/clockify/webview.js b/recipes/clockify/webview.js
index bf926e4..6908949 100644
--- a/recipes/clockify/webview.js
+++ b/recipes/clockify/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notifications = document.querySelectorAll('.notification--number'); 3 const notifications = document.querySelectorAll('.notification--number');
4 Ferdi.setBadge(0, notifications.length > 0 ? 1 : 0); 4 Ferdium.setBadge(0, notifications.length > 0 ? 1 : 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/clockwise/index.js b/recipes/clockwise/index.js
index 23607bd..dd41f72 100644
--- a/recipes/clockwise/index.js
+++ b/recipes/clockwise/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/clockwise/package.json b/recipes/clockwise/package.json
index e2d1777..55d5e0e 100644
--- a/recipes/clockwise/package.json
+++ b/recipes/clockwise/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "clockwise", 2 "id": "clockwise",
3 "name": "Clockwise", 3 "name": "Clockwise",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/TheKevJames/franz-recipe-clockwise", 6 "repository": "https://github.com/TheKevJames/franz-recipe-clockwise",
7 "config": { 7 "config": {
diff --git a/recipes/clubhouse/index.js b/recipes/clubhouse/index.js
index 23607bd..dd41f72 100644
--- a/recipes/clubhouse/index.js
+++ b/recipes/clubhouse/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/clubhouse/package.json b/recipes/clubhouse/package.json
index 55e5aa8..5c40bf7 100644
--- a/recipes/clubhouse/package.json
+++ b/recipes/clubhouse/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "clubhouse", 2 "id": "clubhouse",
3 "name": "Clubhouse", 3 "name": "Clubhouse",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/dnlnrs/ferdi-recipe-clubhouse", 6 "repository": "https://github.com/dnlnrs/ferdi-recipe-clubhouse",
7 "config": { 7 "config": {
diff --git a/recipes/clubhouse/webview.js b/recipes/clubhouse/webview.js
index ae92c04..bcb0281 100644
--- a/recipes/clubhouse/webview.js
+++ b/recipes/clubhouse/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const hasNotifications = document.querySelector('#notifications-link .badge').classList.contains('visible'); 3 const hasNotifications = document.querySelector('#notifications-link .badge').classList.contains('visible');
4 Ferdi.setBadge(0, hasNotifications ? 1 : 0); 4 Ferdium.setBadge(0, hasNotifications ? 1 : 0);
5 } 5 }
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/coinbase/index.js b/recipes/coinbase/index.js
index 23607bd..dd41f72 100644
--- a/recipes/coinbase/index.js
+++ b/recipes/coinbase/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/coinbase/package.json b/recipes/coinbase/package.json
index cb161ec..12ef269 100644
--- a/recipes/coinbase/package.json
+++ b/recipes/coinbase/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "coinbase", 2 "id": "coinbase",
3 "name": "Coinbase", 3 "name": "Coinbase",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/gaspergrom/Franz-services", 6 "repository": "https://github.com/gaspergrom/Franz-services",
7 "config": { 7 "config": {
diff --git a/recipes/coinbase/webview.js b/recipes/coinbase/webview.js
index 0e6e90b..be6157e 100644
--- a/recipes/coinbase/webview.js
+++ b/recipes/coinbase/webview.js
@@ -2,6 +2,6 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
7}; 7};
diff --git a/recipes/confluence/index.js b/recipes/confluence/index.js
index 23607bd..dd41f72 100644
--- a/recipes/confluence/index.js
+++ b/recipes/confluence/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/confluence/package.json b/recipes/confluence/package.json
index 42873ee..4d2c8cf 100644
--- a/recipes/confluence/package.json
+++ b/recipes/confluence/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "confluence", 2 "id": "confluence",
3 "name": "Confluence", 3 "name": "Confluence",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true 7 "hasCustomUrl": true
diff --git a/recipes/confluence/webview.js b/recipes/confluence/webview.js
index 25126e7..e5d319c 100644
--- a/recipes/confluence/webview.js
+++ b/recipes/confluence/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unreadMessageCountElement = document.querySelector('#notifications-anchor .badge'); 3 const unreadMessageCountElement = document.querySelector('#notifications-anchor .badge');
4 const unreadMessagesCount = Ferdi.safeParseInt(unreadMessageCountElement.textContent); 4 const unreadMessagesCount = Ferdium.safeParseInt(unreadMessageCountElement.textContent);
5 Ferdi.setBadge(unreadMessagesCount, 0); 5 Ferdium.setBadge(unreadMessagesCount, 0);
6 }; 6 };
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/devRant/index.js b/recipes/devRant/index.js
index 23607bd..dd41f72 100644
--- a/recipes/devRant/index.js
+++ b/recipes/devRant/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/devRant/package.json b/recipes/devRant/package.json
index 4611754..edb0c40 100644
--- a/recipes/devRant/package.json
+++ b/recipes/devRant/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "devRant", 2 "id": "devRant",
3 "name": "devRant", 3 "name": "devRant",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/emamut/recipe-devrant", 6 "repository": "https://github.com/emamut/recipe-devrant",
7 "config": { 7 "config": {
diff --git a/recipes/devRant/webview.js b/recipes/devRant/webview.js
index 7385db5..efe0d71 100644
--- a/recipes/devRant/webview.js
+++ b/recipes/devRant/webview.js
@@ -15,7 +15,7 @@ setTimeout(() => {
15 } 15 }
16}, 1000); 16}, 1000);
17 17
18module.exports = (Ferdi, settings) => { 18module.exports = (Ferdium, settings) => {
19 const getMessages = () => { 19 const getMessages = () => {
20 const elements = document.querySelectorAll('.CxUIE, .unread, ._0LqQ'); 20 const elements = document.querySelectorAll('.CxUIE, .unread, ._0LqQ');
21 let count = 0; 21 let count = 0;
@@ -28,11 +28,11 @@ module.exports = (Ferdi, settings) => {
28 } 28 }
29 } 29 }
30 30
31 Ferdi.setBadge(count); 31 Ferdium.setBadge(count);
32 }; 32 };
33 33
34 window.addEventListener('beforeunload', async () => { 34 window.addEventListener('beforeunload', async () => {
35 Ferdi.clearStorageData(settings.id, { 35 Ferdium.clearStorageData(settings.id, {
36 storages: [ 36 storages: [
37 'appcache', 37 'appcache',
38 'serviceworkers', 38 'serviceworkers',
@@ -41,9 +41,9 @@ module.exports = (Ferdi, settings) => {
41 'indexdb', 41 'indexdb',
42 ], 42 ],
43 }); 43 });
44 Ferdi.releaseServiceWorkers(); 44 Ferdium.releaseServiceWorkers();
45 }); 45 });
46 46
47 Ferdi.loop(getMessages); 47 Ferdium.loop(getMessages);
48 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 48 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
49}; 49};
diff --git a/recipes/devdocs/index.js b/recipes/devdocs/index.js
index 119cbe1..dd41f72 100644
--- a/recipes/devdocs/index.js
+++ b/recipes/devdocs/index.js
@@ -1 +1 @@
module.exports = Ferdi => class devdocs extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/devdocs/package.json b/recipes/devdocs/package.json
index 07fd3af..718cfab 100644
--- a/recipes/devdocs/package.json
+++ b/recipes/devdocs/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "devdocs", 2 "id": "devdocs",
3 "name": "DevDocs", 3 "name": "DevDocs",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://devdocs.io" 7 "serviceURL": "https://devdocs.io"
diff --git a/recipes/dialpad/index.js b/recipes/dialpad/index.js
index 23607bd..dd41f72 100644
--- a/recipes/dialpad/index.js
+++ b/recipes/dialpad/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/dialpad/package.json b/recipes/dialpad/package.json
index 14ca8e3..18f8561 100644
--- a/recipes/dialpad/package.json
+++ b/recipes/dialpad/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "dialpad", 2 "id": "dialpad",
3 "name": "Dialpad", 3 "name": "Dialpad",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/TheKevJames/franz-recipe-dialpad", 6 "repository": "https://github.com/TheKevJames/franz-recipe-dialpad",
7 "config": { 7 "config": {
diff --git a/recipes/dialpad/webview.js b/recipes/dialpad/webview.js
index a5c6e4a..75b53d6 100644
--- a/recipes/dialpad/webview.js
+++ b/recipes/dialpad/webview.js
@@ -2,15 +2,15 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 var unreadCount = 0; 7 var unreadCount = 0;
8 $.each($('[data-qa-has-unreads]'), (idx, item) => unreadCount += Ferdi.safeParseInt(item.attributes["data-qa-has-unreads"].value)); 8 $.each($('[data-qa-has-unreads]'), (idx, item) => unreadCount += Ferdium.safeParseInt(item.attributes["data-qa-has-unreads"].value));
9 9
10 Ferdi.setBadge(unreadCount); 10 Ferdium.setBadge(unreadCount);
11 } 11 }
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14 14
15 Ferdi.injectCSS(_path.default.join(__dirname, 'whitemode.css')); 15 Ferdium.injectCSS(_path.default.join(__dirname, 'whitemode.css'));
16}; 16};
diff --git a/recipes/dingtalk/index.js b/recipes/dingtalk/index.js
index 23607bd..dd41f72 100644
--- a/recipes/dingtalk/index.js
+++ b/recipes/dingtalk/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/dingtalk/package.json b/recipes/dingtalk/package.json
index 4a20a26..9657e25 100644
--- a/recipes/dingtalk/package.json
+++ b/recipes/dingtalk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "dingtalk", 2 "id": "dingtalk",
3 "name": "Dingtalk", 3 "name": "Dingtalk",
4 "version": "1.0.25", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://im.dingtalk.com/", 7 "serviceURL": "https://im.dingtalk.com/",
diff --git a/recipes/dingtalk/webview.js b/recipes/dingtalk/webview.js
index 59881cf..621285c 100644
--- a/recipes/dingtalk/webview.js
+++ b/recipes/dingtalk/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 let checkIsRun = false; 8 let checkIsRun = false;
9 const checkHeightAction = () => { 9 const checkHeightAction = () => {
10 checkIsRun = true; 10 checkIsRun = true;
@@ -34,10 +34,10 @@ module.exports = Ferdi => {
34 34
35 const getMessages = () => { 35 const getMessages = () => {
36 const x = document.querySelectorAll('.unread-num em.ng-binding'); 36 const x = document.querySelectorAll('.unread-num em.ng-binding');
37 Ferdi.setBadge(x.length > 0 ? x[0].textContent : 0); 37 Ferdium.setBadge(x.length > 0 ? x[0].textContent : 0);
38 }; 38 };
39 39
40 Ferdi.loop(getMessages); 40 Ferdium.loop(getMessages);
41 41
42 Ferdi.injectCSS(_path.default.join(__dirname, 'style.css')); 42 Ferdium.injectCSS(_path.default.join(__dirname, 'style.css'));
43}; 43};
diff --git a/recipes/discord/index.js b/recipes/discord/index.js
index 9efa7a3..a49555f 100644
--- a/recipes/discord/index.js
+++ b/recipes/discord/index.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => class Discord extends Ferdi { 1module.exports = Ferdium => class Discord extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 const useragent = window.navigator.userAgent; 3 const useragent = window.navigator.userAgent;
4 const parts = useragent.split('(KHTML, like Gecko)'); 4 const parts = useragent.split('(KHTML, like Gecko)');
5 5
6 return parts.join('(KHTML, like Gecko) discord/0.0.250').replace('Electron', 'Discord').replace('Ferdi', 'Discord'); 6 return parts.join('(KHTML, like Gecko) discord/0.0.250').replace('Electron', 'Discord').replace('Ferdium', 'Discord');
7 } 7 }
8}; 8};
diff --git a/recipes/discord/package.json b/recipes/discord/package.json
index 6c61542..bba848b 100644
--- a/recipes/discord/package.json
+++ b/recipes/discord/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "discord", 2 "id": "discord",
3 "name": "Discord", 3 "name": "Discord",
4 "version": "1.5.1", 4 "version": "1.6.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://discordapp.com/login", 7 "serviceURL": "https://discordapp.com/login",
diff --git a/recipes/discord/webview.js b/recipes/discord/webview.js
index ab457c1..a72ef3a 100644
--- a/recipes/discord/webview.js
+++ b/recipes/discord/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = (Ferdi, settings) => { 7module.exports = (Ferdium, settings) => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let directCount = 0; 9 let directCount = 0;
10 const directCountPerServer = document.querySelectorAll( 10 const directCountPerServer = document.querySelectorAll(
@@ -12,19 +12,19 @@ module.exports = (Ferdi, settings) => {
12 ); 12 );
13 13
14 for (const directCountBadge of directCountPerServer) { 14 for (const directCountBadge of directCountPerServer) {
15 directCount += Ferdi.safeParseInt(directCountBadge.textContent); 15 directCount += Ferdium.safeParseInt(directCountBadge.textContent);
16 } 16 }
17 17
18 const indirectCountPerServer = document.querySelectorAll( 18 const indirectCountPerServer = document.querySelectorAll(
19 '[class*="modeUnread-"]', 19 '[class*="modeUnread-"]',
20 ).length; 20 ).length;
21 21
22 Ferdi.setBadge(directCount, indirectCountPerServer); 22 Ferdium.setBadge(directCount, indirectCountPerServer);
23 }; 23 };
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26 26
27 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 27 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
28 28
29 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse 29 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse
30 document.addEventListener( 30 document.addEventListener(
@@ -43,7 +43,7 @@ module.exports = (Ferdi, settings) => {
43 event.stopPropagation(); 43 event.stopPropagation();
44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message) 44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message)
45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697) 45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697)
46 let win = new Ferdi.BrowserWindow({ 46 let win = new Ferdium.BrowserWindow({
47 width: 800, 47 width: 800,
48 height: window.innerHeight, 48 height: window.innerHeight,
49 minWidth: 600, 49 minWidth: 600,
diff --git a/recipes/disqus/index.js b/recipes/disqus/index.js
index 23607bd..dd41f72 100644
--- a/recipes/disqus/index.js
+++ b/recipes/disqus/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/disqus/package.json b/recipes/disqus/package.json
index 11ce689..6ac125a 100644
--- a/recipes/disqus/package.json
+++ b/recipes/disqus/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "disqus", 2 "id": "disqus",
3 "name": "Disqus", 3 "name": "Disqus",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://disqus.com/home/" 7 "serviceURL": "https://disqus.com/home/"
diff --git a/recipes/disqus/webview.js b/recipes/disqus/webview.js
index fcdd386..2de4b43 100644
--- a/recipes/disqus/webview.js
+++ b/recipes/disqus/webview.js
@@ -1,7 +1,7 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getInnerInt = selector => { 2 const getInnerInt = selector => {
3 const element = document.querySelector(selector); 3 const element = document.querySelector(selector);
4 return element && Ferdi.safeParseInt(element.textContent); 4 return element && Ferdium.safeParseInt(element.textContent);
5 }; 5 };
6 6
7 const getMessages = () => { 7 const getMessages = () => {
@@ -10,8 +10,8 @@ module.exports = Ferdi => {
10 getInnerInt('a.has-notifs div.notif-count') || 10 getInnerInt('a.has-notifs div.notif-count') ||
11 0; 11 0;
12 12
13 Ferdi.setBadge(direct); 13 Ferdium.setBadge(direct);
14 }; 14 };
15 15
16 Ferdi.loop(getMessages); 16 Ferdium.loop(getMessages);
17}; 17};
diff --git a/recipes/dockerhub/index.js b/recipes/dockerhub/index.js
index 6bff43a..dd41f72 100644
--- a/recipes/dockerhub/index.js
+++ b/recipes/dockerhub/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class DockerHub extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/dockerhub/package.json b/recipes/dockerhub/package.json
index cb927b8..c461fb1 100644
--- a/recipes/dockerhub/package.json
+++ b/recipes/dockerhub/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "dockerhub", 2 "id": "dockerhub",
3 "name": "Docker Hub", 3 "name": "Docker Hub",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://hub.docker.com" 7 "serviceURL": "https://hub.docker.com"
diff --git a/recipes/dropbox/index.js b/recipes/dropbox/index.js
index 325d5ec..dd41f72 100644
--- a/recipes/dropbox/index.js
+++ b/recipes/dropbox/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class Dropbox extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/dropbox/package.json b/recipes/dropbox/package.json
index 21736c3..26d54f4 100644
--- a/recipes/dropbox/package.json
+++ b/recipes/dropbox/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "dropbox", 2 "id": "dropbox",
3 "name": "Dropbox", 3 "name": "Dropbox",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.dropbox.com/home", 7 "serviceURL": "https://www.dropbox.com/home",
diff --git a/recipes/dropbox/webview.js b/recipes/dropbox/webview.js
index 0740019..12478d3 100644
--- a/recipes/dropbox/webview.js
+++ b/recipes/dropbox/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const hasNotifications = document.querySelector(".dig-NotificationBadge"); 3 const hasNotifications = document.querySelector(".dig-NotificationBadge");
4 4
5 Ferdi.setBadge(0, hasNotifications ? 1 : 0); 5 Ferdium.setBadge(0, hasNotifications ? 1 : 0);
6 }; 6 };
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/easy-redmine/index.js b/recipes/easy-redmine/index.js
index 23607bd..dd41f72 100644
--- a/recipes/easy-redmine/index.js
+++ b/recipes/easy-redmine/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/easy-redmine/package.json b/recipes/easy-redmine/package.json
index 7318e3e..91aa5e7 100644
--- a/recipes/easy-redmine/package.json
+++ b/recipes/easy-redmine/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "easy-redmine", 2 "id": "easy-redmine",
3 "name": "Easy Redmine", 3 "name": "Easy Redmine",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamID}.easyredmine.com", 7 "serviceURL": "https://{teamID}.easyredmine.com",
diff --git a/recipes/element/index.js b/recipes/element/index.js
index 23607bd..dd41f72 100644
--- a/recipes/element/index.js
+++ b/recipes/element/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/element/package.json b/recipes/element/package.json
index 5e50330..6f13983 100644
--- a/recipes/element/package.json
+++ b/recipes/element/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "element", 2 "id": "element",
3 "name": "Element", 3 "name": "Element",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "Riot.im", 7 "Riot.im",
diff --git a/recipes/element/webview.js b/recipes/element/webview.js
index 75df4d9..5e83ec1 100644
--- a/recipes/element/webview.js
+++ b/recipes/element/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 function getMessages() { 2 function getMessages() {
3 // const badges = document.querySelectorAll('.mx_RoomSublist:not(.mx_RoomSublist_hidden) .mx_RoomSublist_badgeContainer'); 3 // const badges = document.querySelectorAll('.mx_RoomSublist:not(.mx_RoomSublist_hidden) .mx_RoomSublist_badgeContainer');
4 const spaceBadges = document.querySelectorAll('.mx_SpacePanel_badgeContainer .mx_NotificationBadge .mx_NotificationBadge_count'); 4 const spaceBadges = document.querySelectorAll('.mx_SpacePanel_badgeContainer .mx_NotificationBadge .mx_NotificationBadge_count');
@@ -11,28 +11,28 @@ module.exports = Ferdi => {
11 if (avatarBadges.length > 0) { 11 if (avatarBadges.length > 0) {
12 for (const badge of avatarBadges) { 12 for (const badge of avatarBadges) {
13 if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_highlighted')) { 13 if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_highlighted')) {
14 directCount = directCount + Ferdi.safeParseInt(badge.textContent); 14 directCount = directCount + Ferdium.safeParseInt(badge.textContent);
15 } else if (badge.parentElement.previousSibling != null && badge.parentElement.previousSibling.getAttribute('class').includes('mx_DecoratedRoomAvatar_icon_online')) { 15 } else if (badge.parentElement.previousSibling != null && badge.parentElement.previousSibling.getAttribute('class').includes('mx_DecoratedRoomAvatar_icon_online')) {
16 directCount = directCount + Ferdi.safeParseInt(badge.textContent); 16 directCount = directCount + Ferdium.safeParseInt(badge.textContent);
17 } else if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_dot')) { 17 } else if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_dot')) {
18 indirectCount = indirectCount + 1; // there might be dragons: incrementing does not work here? 18 indirectCount = indirectCount + 1; // there might be dragons: incrementing does not work here?
19 } else { 19 } else {
20 indirectCount = indirectCount + Ferdi.safeParseInt(badge.textContent); 20 indirectCount = indirectCount + Ferdium.safeParseInt(badge.textContent);
21 } 21 }
22 } 22 }
23 } else { 23 } else {
24 for (const badge of spaceBadges) { 24 for (const badge of spaceBadges) {
25 if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_highlighted')) { 25 if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_highlighted')) {
26 directCount = directCount + Ferdi.safeParseInt(badge.textContent); 26 directCount = directCount + Ferdium.safeParseInt(badge.textContent);
27 } else if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_dot')) { 27 } else if (badge.parentElement.getAttribute('class').includes('mx_NotificationBadge_dot')) {
28 indirectCount = indirectCount + Ferdi.safeParseInt(1); // there might be dragons: incrementing does not work here? 28 indirectCount = indirectCount + Ferdium.safeParseInt(1); // there might be dragons: incrementing does not work here?
29 } else { 29 } else {
30 indirectCount = indirectCount + Ferdi.safeParseInt(badge.textContent); 30 indirectCount = indirectCount + Ferdium.safeParseInt(badge.textContent);
31 } 31 }
32 } 32 }
33 } 33 }
34 // set Ferdi badge 34 // set Ferdium badge
35 Ferdi.setBadge(directCount, indirectCount); 35 Ferdium.setBadge(directCount, indirectCount);
36 } 36 }
37 Ferdi.loop(getMessages); 37 Ferdium.loop(getMessages);
38}; 38};
diff --git a/recipes/epicgames/index.js b/recipes/epicgames/index.js
index 35bf240..dd41f72 100644
--- a/recipes/epicgames/index.js
+++ b/recipes/epicgames/index.js
@@ -1 +1 @@
module.exports = Ferdi => class epicgames extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/epicgames/package.json b/recipes/epicgames/package.json
index c1a68c7..14a8d4c 100644
--- a/recipes/epicgames/package.json
+++ b/recipes/epicgames/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "epicgames", 2 "id": "epicgames",
3 "name": "Epic Games Store", 3 "name": "Epic Games Store",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.epicgames.com/id/login?lang=en_US&redirectUrl=https%3A%2F%2Fwww.epicgames.com%2Fstore%2Fen-US%2F&noHostRedirect=true" 7 "serviceURL": "https://www.epicgames.com/id/login?lang=en_US&redirectUrl=https%3A%2F%2Fwww.epicgames.com%2Fstore%2Fen-US%2F&noHostRedirect=true"
diff --git a/recipes/erepublik/index.js b/recipes/erepublik/index.js
index 12cdd73..dd41f72 100644
--- a/recipes/erepublik/index.js
+++ b/recipes/erepublik/index.js
@@ -1 +1 @@
module.exports = Ferdi => class erepublik extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/erepublik/package.json b/recipes/erepublik/package.json
index 7eb95d7..9e88f35 100644
--- a/recipes/erepublik/package.json
+++ b/recipes/erepublik/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "erepublik", 2 "id": "erepublik",
3 "name": "eRepublik", 3 "name": "eRepublik",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://erepublik.com" 7 "serviceURL": "https://erepublik.com"
diff --git a/recipes/erepublik/webview.js b/recipes/erepublik/webview.js
index a47c57d..2f5bc9f 100644
--- a/recipes/erepublik/webview.js
+++ b/recipes/erepublik/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const elementNotify = document.querySelectorAll('.notify'); 7 const elementNotify = document.querySelectorAll('.notify');
8 const elementFeed = document.querySelectorAll('.unreadCounter.ng-binding.ng-scope'); 8 const elementFeed = document.querySelectorAll('.unreadCounter.ng-binding.ng-scope');
@@ -12,18 +12,18 @@ module.exports = Ferdi => {
12 12
13 for (const element of elementNotify) { 13 for (const element of elementNotify) {
14 const splitText = element.title.split(':'); 14 const splitText = element.title.split(':');
15 countNotify += Ferdi.safeParseInt(splitText[1]); 15 countNotify += Ferdium.safeParseInt(splitText[1]);
16 } 16 }
17 17
18 for (const element of elementFeed) { 18 for (const element of elementFeed) {
19 countFeed += Ferdi.safeParseInt(element.textContent); 19 countFeed += Ferdium.safeParseInt(element.textContent);
20 } 20 }
21 21
22 Ferdi.setBadge(countNotify, countFeed); 22 Ferdium.setBadge(countNotify, countFeed);
23 }; 23 };
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26 26
27 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 27 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
28 Ferdi.injectCSS(_path.default.join(__dirname, 'crpk-resources/fonts.css')); 28 Ferdium.injectCSS(_path.default.join(__dirname, 'crpk-resources/fonts.css'));
29}; 29};
diff --git a/recipes/evernote/index.js b/recipes/evernote/index.js
index 23607bd..dd41f72 100644
--- a/recipes/evernote/index.js
+++ b/recipes/evernote/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/evernote/package.json b/recipes/evernote/package.json
index 6ade667..1b56d41 100644
--- a/recipes/evernote/package.json
+++ b/recipes/evernote/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "evernote", 2 "id": "evernote",
3 "name": "Evernote", 3 "name": "Evernote",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.evernote.com/Login.action" 7 "serviceURL": "https://www.evernote.com/Login.action"
diff --git a/recipes/evernote/webview.js b/recipes/evernote/webview.js
index b877798..8178443 100644
--- a/recipes/evernote/webview.js
+++ b/recipes/evernote/webview.js
@@ -2,14 +2,14 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications'); 7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications');
8 const passiveCount = inbox === null ? 0 : 1; 8 const passiveCount = inbox === null ? 0 : 1;
9 Ferdi.setBadge(0, passiveCount); 9 Ferdium.setBadge(0, passiveCount);
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13 13
14 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css')); 14 Ferdium.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
15}; 15};
diff --git a/recipes/facebook/index.js b/recipes/facebook/index.js
index 23607bd..dd41f72 100755
--- a/recipes/facebook/index.js
+++ b/recipes/facebook/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/facebook/package.json b/recipes/facebook/package.json
index 53bc486..b76a2c7 100755
--- a/recipes/facebook/package.json
+++ b/recipes/facebook/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "facebook", 2 "id": "facebook",
3 "name": "Facebook", 3 "name": "Facebook",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.facebook.com/login" 7 "serviceURL": "https://www.facebook.com/login"
diff --git a/recipes/facebook/webview.js b/recipes/facebook/webview.js
index 3100935..d9e8687 100755
--- a/recipes/facebook/webview.js
+++ b/recipes/facebook/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getNotifications = function getNotifications() { 2 const getNotifications = function getNotifications() {
3 let count = 0; 3 let count = 0;
4 4
@@ -13,11 +13,11 @@ module.exports = Ferdi => {
13 13
14 for (const element of elements) { 14 for (const element of elements) {
15 if (element !== null) { 15 if (element !== null) {
16 count += Ferdi.safeParseInt(element.textContent); 16 count += Ferdium.safeParseInt(element.textContent);
17 } 17 }
18 } 18 }
19 19
20 Ferdi.setBadge(count); 20 Ferdium.setBadge(count);
21 }; 21 };
22 22
23 const getActiveDialogTitle = () => { 23 const getActiveDialogTitle = () => {
@@ -30,7 +30,7 @@ module.exports = Ferdi => {
30 ), 30 ),
31 ].find(Boolean); 31 ].find(Boolean);
32 32
33 Ferdi.setDialogTitle(element ? element.textContent : null); 33 Ferdium.setDialogTitle(element ? element.textContent : null);
34 }; 34 };
35 35
36 const loopFunc = () => { 36 const loopFunc = () => {
@@ -38,5 +38,5 @@ module.exports = Ferdi => {
38 getActiveDialogTitle(); 38 getActiveDialogTitle();
39 }; 39 };
40 40
41 Ferdi.loop(loopFunc); 41 Ferdium.loop(loopFunc);
42}; 42};
diff --git a/recipes/facebookpages/index.js b/recipes/facebookpages/index.js
index 23607bd..dd41f72 100644
--- a/recipes/facebookpages/index.js
+++ b/recipes/facebookpages/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/facebookpages/package.json b/recipes/facebookpages/package.json
index 313e11b..750264a 100644
--- a/recipes/facebookpages/package.json
+++ b/recipes/facebookpages/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "facebookpages", 2 "id": "facebookpages",
3 "name": "Facebook Pages", 3 "name": "Facebook Pages",
4 "version": "1.2.3", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://facebook.com/{teamId}/", 7 "serviceURL": "https://facebook.com/{teamId}/",
diff --git a/recipes/facebookpages/webview.js b/recipes/facebookpages/webview.js
index 45f4e95..d624017 100644
--- a/recipes/facebookpages/webview.js
+++ b/recipes/facebookpages/webview.js
@@ -1,16 +1,16 @@
1module.exports = (Ferdi, options) => { 1module.exports = (Ferdium, options) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let messages = 0; 3 let messages = 0;
4 const element = document.querySelector('[data-testid="message_count"] span'); 4 const element = document.querySelector('[data-testid="message_count"] span');
5 5
6 if (element) { 6 if (element) {
7 messages = Ferdi.safeParseInt(element.textContent); 7 messages = Ferdium.safeParseInt(element.textContent);
8 } 8 }
9 9
10 Ferdi.setBadge(messages); 10 Ferdium.setBadge(messages);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14 14
15 setTimeout(() => { 15 setTimeout(() => {
16 if (document.body && !document.body.classList.contains('UIPage_LoggedOut')) { 16 if (document.body && !document.body.classList.contains('UIPage_LoggedOut')) {
diff --git a/recipes/fastmail/index.js b/recipes/fastmail/index.js
index 23607bd..dd41f72 100644
--- a/recipes/fastmail/index.js
+++ b/recipes/fastmail/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/fastmail/package.json b/recipes/fastmail/package.json
index 91856d6..425fb6b 100644
--- a/recipes/fastmail/package.json
+++ b/recipes/fastmail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "fastmail", 2 "id": "fastmail",
3 "name": "FastMail", 3 "name": "FastMail",
4 "version": "2.2.0", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.fastmail.com/mail/", 7 "serviceURL": "https://www.fastmail.com/mail/",
diff --git a/recipes/fastmail/webview.js b/recipes/fastmail/webview.js
index bcea4e7..81127fb 100644
--- a/recipes/fastmail/webview.js
+++ b/recipes/fastmail/webview.js
@@ -4,17 +4,17 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const inbox = document.querySelector( 9 const inbox = document.querySelector(
10 '.v-MailboxSource--inbox .v-MailboxSource-badge', 10 '.v-MailboxSource--inbox .v-MailboxSource-badge',
11 ); 11 );
12 12
13 const messages = inbox ? Ferdi.safeParseInt(inbox.textContent) : 0; 13 const messages = inbox ? Ferdium.safeParseInt(inbox.textContent) : 0;
14 Ferdi.setBadge(messages); 14 Ferdium.setBadge(messages);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 19 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
20}; 20};
diff --git a/recipes/feedbin/index.js b/recipes/feedbin/index.js
index 23607bd..dd41f72 100644
--- a/recipes/feedbin/index.js
+++ b/recipes/feedbin/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/feedbin/package.json b/recipes/feedbin/package.json
index b9f7d85..154fc12 100644
--- a/recipes/feedbin/package.json
+++ b/recipes/feedbin/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "feedbin", 2 "id": "feedbin",
3 "name": "Feedbin", 3 "name": "Feedbin",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://feedbin.com/login", 7 "serviceURL": "https://feedbin.com/login",
diff --git a/recipes/feedbin/webview.js b/recipes/feedbin/webview.js
index 85df36f..f905e40 100644
--- a/recipes/feedbin/webview.js
+++ b/recipes/feedbin/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // eslint-disable-next-line no-undef 3 // eslint-disable-next-line no-undef
4 const count = feedbin.count_data.unread_entries.length > 0 || 0; 4 const count = feedbin.count_data.unread_entries.length > 0 || 0;
5 Ferdi.setBadge(count); 5 Ferdium.setBadge(count);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/feedly/index.js b/recipes/feedly/index.js
index 23607bd..dd41f72 100644
--- a/recipes/feedly/index.js
+++ b/recipes/feedly/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/feedly/package.json b/recipes/feedly/package.json
index c1fa2ed..3e9a2bf 100644
--- a/recipes/feedly/package.json
+++ b/recipes/feedly/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "feedly", 2 "id": "feedly",
3 "name": "Feedly", 3 "name": "Feedly",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://feedly.com" 7 "serviceURL": "https://feedly.com"
diff --git a/recipes/feedly/webview.js b/recipes/feedly/webview.js
index c1108ff..b4887bc 100644
--- a/recipes/feedly/webview.js
+++ b/recipes/feedly/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const newsDOM = document.querySelectorAll( 3 const newsDOM = document.querySelectorAll(
4 "div[title='All'] > .LeftnavListRow__count", 4 "div[title='All'] > .LeftnavListRow__count",
@@ -9,11 +9,11 @@ module.exports = Ferdi => {
9 if (newsDOM && newsDOM.length > 0) { 9 if (newsDOM && newsDOM.length > 0) {
10 const textContent = newsDOM[0].textContent; 10 const textContent = newsDOM[0].textContent;
11 11
12 counter = textContent.includes('K') || textContent.includes('+') ? `${textContent.slice(0, Math.max(0, textContent.indexOf('K')))}000` : Ferdi.safeParseInt(textContent); 12 counter = textContent.includes('K') || textContent.includes('+') ? `${textContent.slice(0, Math.max(0, textContent.indexOf('K')))}000` : Ferdium.safeParseInt(textContent);
13 } 13 }
14 14
15 Ferdi.setBadge(counter); 15 Ferdium.setBadge(counter);
16 }; 16 };
17 17
18 Ferdi.loop(getMessages); 18 Ferdium.loop(getMessages);
19}; 19};
diff --git a/recipes/figma/index.js b/recipes/figma/index.js
index 1542871..dd41f72 100644
--- a/recipes/figma/index.js
+++ b/recipes/figma/index.js
@@ -1 +1 @@
module.exports = Ferdi => class figma extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/figma/package.json b/recipes/figma/package.json
index 60a2fd8..f58291c 100644
--- a/recipes/figma/package.json
+++ b/recipes/figma/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "figma", 2 "id": "figma",
3 "name": "Figma", 3 "name": "Figma",
4 "version": "1.0.4", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://figma.com" 7 "serviceURL": "https://figma.com"
diff --git a/recipes/fleep/index.js b/recipes/fleep/index.js
index 44283d7..dd41f72 100644
--- a/recipes/fleep/index.js
+++ b/recipes/fleep/index.js
@@ -1 +1 @@
module.exports = Ferdi => class fleep extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/fleep/package.json b/recipes/fleep/package.json
index 1781341..7cb338b 100644
--- a/recipes/fleep/package.json
+++ b/recipes/fleep/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "fleep", 2 "id": "fleep",
3 "name": "Fleep", 3 "name": "Fleep",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://fleep.io/chat" 7 "serviceURL": "https://fleep.io/chat"
diff --git a/recipes/fleep/webview.js b/recipes/fleep/webview.js
index eaefbd1..65c8133 100644
--- a/recipes/fleep/webview.js
+++ b/recipes/fleep/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // Count number of conversations or teams with unread messages 3 // Count number of conversations or teams with unread messages
4 const count = document.querySelectorAll('.unread-count').length; 4 const count = document.querySelectorAll('.unread-count').length;
5 Ferdi.setBadge(count, 0); 5 Ferdium.setBadge(count, 0);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/flock/index.js b/recipes/flock/index.js
index 23607bd..dd41f72 100644
--- a/recipes/flock/index.js
+++ b/recipes/flock/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/flock/package.json b/recipes/flock/package.json
index 83e5b94..11932cf 100644
--- a/recipes/flock/package.json
+++ b/recipes/flock/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "flock", 2 "id": "flock",
3 "name": "Flock", 3 "name": "Flock",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/jereddowden/franz-recipe-flock", 6 "repository": "https://github.com/jereddowden/franz-recipe-flock",
7 "config": { 7 "config": {
diff --git a/recipes/flock/webview.js b/recipes/flock/webview.js
index 29b52d3..1a74734 100644
--- a/recipes/flock/webview.js
+++ b/recipes/flock/webview.js
@@ -1,7 +1,7 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const allMessages = Ferdi.safeParseInt(document.querySelector('.team-counter').textContent); 3 const allMessages = Ferdium.safeParseInt(document.querySelector('.team-counter').textContent);
4 Ferdi.setBadge(allMessages); 4 Ferdium.setBadge(allMessages);
5 }; 5 };
6 Ferdi.loop(getMessages); 6 Ferdium.loop(getMessages);
7}; 7};
diff --git a/recipes/flowdock/index.js b/recipes/flowdock/index.js
index 23607bd..dd41f72 100644
--- a/recipes/flowdock/index.js
+++ b/recipes/flowdock/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/flowdock/package.json b/recipes/flowdock/package.json
index 3c59ed3..db89ead 100644
--- a/recipes/flowdock/package.json
+++ b/recipes/flowdock/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "flowdock", 2 "id": "flowdock",
3 "name": "Flowdock", 3 "name": "Flowdock",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.flowdock.com/app/", 7 "serviceURL": "https://www.flowdock.com/app/",
diff --git a/recipes/flowdock/webview.js b/recipes/flowdock/webview.js
index 9af36c3..498424f 100644
--- a/recipes/flowdock/webview.js
+++ b/recipes/flowdock/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directMessages = document.querySelectorAll('.activity-indicator-mentions').length; 3 const directMessages = document.querySelectorAll('.activity-indicator-mentions').length;
4 const indirectMessages = document.querySelectorAll('.activity-indicator-chat').length; 4 const indirectMessages = document.querySelectorAll('.activity-indicator-chat').length;
5 5
6 // set Ferdi badge 6 // set Ferdium badge
7 Ferdi.setBadge(directMessages, indirectMessages); 7 Ferdium.setBadge(directMessages, indirectMessages);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/franz-custom-website/index.js b/recipes/franz-custom-website/index.js
index 6e4f228..1fcd13d 100644
--- a/recipes/franz-custom-website/index.js
+++ b/recipes/franz-custom-website/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => 1module.exports = Ferdium =>
2 class CustomWebsite extends Ferdi { 2 class CustomWebsite extends Ferdium {
3 async validateUrl() { 3 async validateUrl() {
4 return true; 4 return true;
5 } 5 }
diff --git a/recipes/franz-custom-website/package.json b/recipes/franz-custom-website/package.json
index dc84b6c..d9f9f70 100644
--- a/recipes/franz-custom-website/package.json
+++ b/recipes/franz-custom-website/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "franz-custom-website", 2 "id": "franz-custom-website",
3 "name": "Custom Website", 3 "name": "Custom Website",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/meetfranz/recipe-custom-website", 6 "repository": "https://github.com/meetfranz/recipe-custom-website",
7 "config": { 7 "config": {
diff --git a/recipes/franz-custom-website/webview.js b/recipes/franz-custom-website/webview.js
index 9eec086..afe3605 100644
--- a/recipes/franz-custom-website/webview.js
+++ b/recipes/franz-custom-website/webview.js
@@ -4,6 +4,6 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 Ferdi.injectCSS(_path.default.join(__dirname, 'style.css')); 8 Ferdium.injectCSS(_path.default.join(__dirname, 'style.css'));
9}; 9};
diff --git a/recipes/freshdesk/index.js b/recipes/freshdesk/index.js
index f2cc5c2..dd41f72 100644
--- a/recipes/freshdesk/index.js
+++ b/recipes/freshdesk/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Freshdesk extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/freshdesk/package.json b/recipes/freshdesk/package.json
index 009dcfb..376ee0c 100644
--- a/recipes/freshdesk/package.json
+++ b/recipes/freshdesk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "freshdesk", 2 "id": "freshdesk",
3 "name": "Freshdesk", 3 "name": "Freshdesk",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/fisknils/recipe-freshdesk", 6 "repository": "https://github.com/fisknils/recipe-freshdesk",
7 "config": { 7 "config": {
diff --git a/recipes/freshdesk/webview.js b/recipes/freshdesk/webview.js
index e1911d0..3e0a201 100644
--- a/recipes/freshdesk/webview.js
+++ b/recipes/freshdesk/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 $.get('/api/_/tickets?filter=unresolved', (data) => { 3 $.get('/api/_/tickets?filter=unresolved', (data) => {
4 Ferdi.setBadge(data.tickets.length); 4 Ferdium.setBadge(data.tickets.length);
5 }); 5 });
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9 9
10/* block popups (prevents freshconnect from opening in a new window) */ 10/* block popups (prevents freshconnect from opening in a new window) */
11 window.open = (function(url, name) { 11 window.open = (function(url, name) {
diff --git a/recipes/freshrss/README.md b/recipes/freshrss/README.md
index 4b9b17c..3f50e87 100644
--- a/recipes/freshrss/README.md
+++ b/recipes/freshrss/README.md
@@ -1,3 +1,3 @@
1# FreshRSS for Ferdi 1# FreshRSS for Ferdium
2 2
3Unofficial Ferdi recipe for [FeshRSS](https://freshrss.org/) \ No newline at end of file 3Unofficial Ferdium recipe for [FeshRSS](https://freshrss.org/)
diff --git a/recipes/freshrss/index.js b/recipes/freshrss/index.js
index f8a6e85..ede7c6d 100644
--- a/recipes/freshrss/index.js
+++ b/recipes/freshrss/index.js
@@ -1,5 +1,5 @@
1"use strict"; 1"use strict";
2 2
3// just pass through ferdi 3// just pass through ferdium
4 4
5module.exports = Ferdi => Ferdi; \ No newline at end of file 5module.exports = Ferdium => Ferdium;
diff --git a/recipes/freshrss/package.json b/recipes/freshrss/package.json
index 64d44db..b0396d3 100644
--- a/recipes/freshrss/package.json
+++ b/recipes/freshrss/package.json
@@ -1,9 +1,9 @@
1{ 1{
2 "id": "freshrss", 2 "id": "freshrss",
3 "name": "FreshRSS", 3 "name": "FreshRSS",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true 7 "hasCustomUrl": true
8 } 8 }
9} 9}
diff --git a/recipes/freshrss/webview.js b/recipes/freshrss/webview.js
index 75da933..cdc6e55 100644
--- a/recipes/freshrss/webview.js
+++ b/recipes/freshrss/webview.js
@@ -1,6 +1,6 @@
1"use strict"; 1"use strict";
2 2
3module.exports = Ferdi => { 3module.exports = Ferdium => {
4 const getMessages = function getMessages() { 4 const getMessages = function getMessages() {
5 // Initialize empty vars 5 // Initialize empty vars
6 var unread = 0; 6 var unread = 0;
@@ -14,12 +14,12 @@ module.exports = Ferdi => {
14 // Some logic to handle the match groups 14 // Some logic to handle the match groups
15 unread = match != null && match.length > 0 ? match[0] : 0; 15 unread = match != null && match.length > 0 ? match[0] : 0;
16 // Set unread msgs badge 16 // Set unread msgs badge
17 Ferdi.setBadge(Number.parseInt(unread, 10)); 17 Ferdium.setBadge(Number.parseInt(unread, 10));
18 }; 18 };
19 19
20 const loopFunc = () => { 20 const loopFunc = () => {
21 getMessages(); 21 getMessages();
22 }; 22 };
23 23
24 Ferdi.loop(loopFunc); 24 Ferdium.loop(loopFunc);
25}; 25};
diff --git a/recipes/gadugadu/index.js b/recipes/gadugadu/index.js
index 23607bd..dd41f72 100644
--- a/recipes/gadugadu/index.js
+++ b/recipes/gadugadu/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/gadugadu/package.json b/recipes/gadugadu/package.json
index 42600d7..2fb3b6b 100644
--- a/recipes/gadugadu/package.json
+++ b/recipes/gadugadu/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gadugadu", 2 "id": "gadugadu",
3 "name": "Gadu-Gadu", 3 "name": "Gadu-Gadu",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.gg.pl", 7 "serviceURL": "https://www.gg.pl",
diff --git a/recipes/gadugadu/webview.js b/recipes/gadugadu/webview.js
index 2f90db2..8891628 100644
--- a/recipes/gadugadu/webview.js
+++ b/recipes/gadugadu/webview.js
@@ -2,19 +2,19 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const updates = Ferdi.safeParseInt(document.querySelector('i#sr-last-counter').textContent); 7 const updates = Ferdium.safeParseInt(document.querySelector('i#sr-last-counter').textContent);
8 let messages = 0; 8 let messages = 0;
9 const elements = document.querySelectorAll('.chat-counter:not(.d-none)'); 9 const elements = document.querySelectorAll('.chat-counter:not(.d-none)');
10 for (const element of elements) { 10 for (const element of elements) {
11 messages += Ferdi.safeParseInt(element.textContent); 11 messages += Ferdium.safeParseInt(element.textContent);
12 } 12 }
13 13
14 Ferdi.setBadge(messages, updates); 14 Ferdium.setBadge(messages, updates);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/github/index.js b/recipes/github/index.js
index 84cb38d..dd41f72 100644
--- a/recipes/github/index.js
+++ b/recipes/github/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GitHub extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/github/package.json b/recipes/github/package.json
index 5ecd276..26ca696 100644
--- a/recipes/github/package.json
+++ b/recipes/github/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "github", 2 "id": "github",
3 "name": "GitHub", 3 "name": "GitHub",
4 "version": "2.3.1", 4 "version": "2.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://github.com/notifications", 7 "serviceURL": "https://github.com/notifications",
diff --git a/recipes/github/webview.js b/recipes/github/webview.js
index d63a4c5..aaa1e5d 100644
--- a/recipes/github/webview.js
+++ b/recipes/github/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directCountElement = document.querySelector( 3 const directCountElement = document.querySelector(
4 '.filter-list.js-notification-inboxes .count', 4 '.filter-list.js-notification-inboxes .count',
5 ); 5 );
6 let directCount = 0; 6 let directCount = 0;
7 if (directCountElement) { 7 if (directCountElement) {
8 directCount = Ferdi.safeParseInt(directCountElement.textContent); 8 directCount = Ferdium.safeParseInt(directCountElement.textContent);
9 } 9 }
10 10
11 const indirectCountElement = document.querySelector( 11 const indirectCountElement = document.querySelector(
@@ -16,8 +16,8 @@ module.exports = Ferdi => {
16 indirectCount = 1; 16 indirectCount = 1;
17 } 17 }
18 18
19 Ferdi.setBadge(directCount, indirectCount); 19 Ferdium.setBadge(directCount, indirectCount);
20 }; 20 };
21 21
22 Ferdi.loop(getMessages); 22 Ferdium.loop(getMessages);
23}; 23};
diff --git a/recipes/gitlab/index.js b/recipes/gitlab/index.js
index 7183771..dd41f72 100644
--- a/recipes/gitlab/index.js
+++ b/recipes/gitlab/index.js
@@ -1 +1 @@
module.exports = Ferdi => class gitlab extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/gitlab/package.json b/recipes/gitlab/package.json
index c044f0f..29cf544 100644
--- a/recipes/gitlab/package.json
+++ b/recipes/gitlab/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gitlab", 2 "id": "gitlab",
3 "name": "GitLab", 3 "name": "GitLab",
4 "version": "1.2.2", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://gitlab.com/users/sign_in", 7 "serviceURL": "https://gitlab.com/users/sign_in",
diff --git a/recipes/gitter/index.js b/recipes/gitter/index.js
index 23607bd..dd41f72 100644
--- a/recipes/gitter/index.js
+++ b/recipes/gitter/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/gitter/package.json b/recipes/gitter/package.json
index e931b67..36e64c6 100644
--- a/recipes/gitter/package.json
+++ b/recipes/gitter/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gitter", 2 "id": "gitter",
3 "name": "Gitter", 3 "name": "Gitter",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://gitter.im", 7 "serviceURL": "https://gitter.im",
diff --git a/recipes/gitter/webview.js b/recipes/gitter/webview.js
index c4eee5b..9dbd7e5 100644
--- a/recipes/gitter/webview.js
+++ b/recipes/gitter/webview.js
@@ -4,23 +4,23 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 // get unread messages 9 // get unread messages
10 let directCount = 0; 10 let directCount = 0;
11 for (const node of document.querySelectorAll('div.unread-indicator')) { 11 for (const node of document.querySelectorAll('div.unread-indicator')) {
12 directCount += Ferdi.safeParseInt(node.textContent); 12 directCount += Ferdium.safeParseInt(node.textContent);
13 } 13 }
14 14
15 const channelMentionCount = 15 const channelMentionCount =
16 document.querySelectorAll('.mention-indicator').length; 16 document.querySelectorAll('.mention-indicator').length;
17 17
18 // set Ferdi badge 18 // set Ferdium badge
19 Ferdi.setBadge(directCount, channelMentionCount); 19 Ferdium.setBadge(directCount, channelMentionCount);
20 }; 20 };
21 21
22 Ferdi.loop(getMessages); 22 Ferdium.loop(getMessages);
23 23
24 // Hide download message 24 // Hide download message
25 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 25 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
26}; 26};
diff --git a/recipes/glowing-bear/index.js b/recipes/glowing-bear/index.js
index 23607bd..dd41f72 100644
--- a/recipes/glowing-bear/index.js
+++ b/recipes/glowing-bear/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/glowing-bear/package.json b/recipes/glowing-bear/package.json
index 093d220..1bc2794 100644
--- a/recipes/glowing-bear/package.json
+++ b/recipes/glowing-bear/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "glowing-bear", 2 "id": "glowing-bear",
3 "name": "Glowing Bear", 3 "name": "Glowing Bear",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.glowing-bear.org", 7 "serviceURL": "https://www.glowing-bear.org",
diff --git a/recipes/glowing-bear/webview.js b/recipes/glowing-bear/webview.js
index 8bb9dfd..b20796f 100644
--- a/recipes/glowing-bear/webview.js
+++ b/recipes/glowing-bear/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const indirectElements = document.querySelectorAll('.badge:not(.danger)'); 3 const indirectElements = document.querySelectorAll('.badge:not(.danger)');
4 const direct = document.querySelectorAll('.badge.danger').length - 1; 4 const direct = document.querySelectorAll('.badge.danger').length - 1;
@@ -11,8 +11,8 @@ module.exports = Ferdi => {
11 indirect++; 11 indirect++;
12 } 12 }
13 } 13 }
14 Ferdi.setBadge(direct, indirect); 14 Ferdium.setBadge(direct, indirect);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18}; 18};
diff --git a/recipes/gmail/index.js b/recipes/gmail/index.js
index fe5d29b..dd41f72 100644
--- a/recipes/gmail/index.js
+++ b/recipes/gmail/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Gmail extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/gmail/package.json b/recipes/gmail/package.json
index 9e9218f..dfbb834 100644
--- a/recipes/gmail/package.json
+++ b/recipes/gmail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gmail", 2 "id": "gmail",
3 "name": "Gmail", 3 "name": "Gmail",
4 "version": "1.4.3", 4 "version": "1.5.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.google.com" 7 "serviceURL": "https://mail.google.com"
diff --git a/recipes/gmail/webview.js b/recipes/gmail/webview.js
index f7fba84..be22b66 100644
--- a/recipes/gmail/webview.js
+++ b/recipes/gmail/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 // if the user is on gmail's landing page, go to the login page. 8 // if the user is on gmail's landing page, go to the login page.
9 if ( 9 if (
10 location.hostname == 'www.google.com' && 10 location.hostname == 'www.google.com' &&
@@ -25,17 +25,17 @@ module.exports = Ferdi => {
25 if (parentNodeOfParentNode) { 25 if (parentNodeOfParentNode) {
26 const unreadCounts = parentNodeOfParentNode.querySelectorAll('.bsU'); 26 const unreadCounts = parentNodeOfParentNode.querySelectorAll('.bsU');
27 if (unreadCounts.length > 0) { 27 if (unreadCounts.length > 0) {
28 count = Ferdi.safeParseInt(unreadCounts[0].textContent.replace(/[^\p{N}]/gu, '')); 28 count = Ferdium.safeParseInt(unreadCounts[0].textContent.replace(/[^\p{N}]/gu, ''));
29 } 29 }
30 } 30 }
31 } 31 }
32 } 32 }
33 33
34 // set Ferdi badge 34 // set Ferdium badge
35 Ferdi.setBadge(count); 35 Ferdium.setBadge(count);
36 }; 36 };
37 37
38 Ferdi.loop(getMessages); 38 Ferdium.loop(getMessages);
39 39
40 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 40 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
41}; 41};
diff --git a/recipes/good-reads/index.js b/recipes/good-reads/index.js
index 419c60d..dd41f72 100644
--- a/recipes/good-reads/index.js
+++ b/recipes/good-reads/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class GoodReads extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/good-reads/package.json b/recipes/good-reads/package.json
index d581b4f..8337a6d 100644
--- a/recipes/good-reads/package.json
+++ b/recipes/good-reads/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "good-reads", 2 "id": "good-reads",
3 "name": "Good Reads", 3 "name": "Good Reads",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.goodreads.com/" 7 "serviceURL": "https://www.goodreads.com/"
diff --git a/recipes/good-reads/webview.js b/recipes/good-reads/webview.js
index c1eabf8..a178ae1 100644
--- a/recipes/good-reads/webview.js
+++ b/recipes/good-reads/webview.js
@@ -1,13 +1,13 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notificationBadge = document.querySelector( 3 const notificationBadge = document.querySelector(
4 ".siteHeader__topLevelItem--profileIcon .headerPersonalNav .modalTrigger .headerPersonalNav__icon .headerPersonalNav__flag" 4 ".siteHeader__topLevelItem--profileIcon .headerPersonalNav .modalTrigger .headerPersonalNav__icon .headerPersonalNav__flag"
5 ); 5 );
6 let notification = notificationBadge 6 let notification = notificationBadge
7 ? Ferdi.safeParseInt(notificationBadge.textContent) 7 ? Ferdium.safeParseInt(notificationBadge.textContent)
8 : 0; 8 : 0;
9 9
10 Ferdi.setBadge(notification); 10 Ferdium.setBadge(notification);
11 }; 11 };
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/google-contacts/index.js b/recipes/google-contacts/index.js
index 23607bd..dd41f72 100644
--- a/recipes/google-contacts/index.js
+++ b/recipes/google-contacts/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/google-contacts/package.json b/recipes/google-contacts/package.json
index 4b61ec1..f5214c6 100644
--- a/recipes/google-contacts/package.json
+++ b/recipes/google-contacts/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "google-contacts", 2 "id": "google-contacts",
3 "name": "Google Contacts", 3 "name": "Google Contacts",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://contacts.google.com/" 7 "serviceURL": "https://contacts.google.com/"
diff --git a/recipes/google-news/index.js b/recipes/google-news/index.js
index 23607bd..dd41f72 100644
--- a/recipes/google-news/index.js
+++ b/recipes/google-news/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/google-news/package.json b/recipes/google-news/package.json
index ff0ceaa..f23b8ee 100644
--- a/recipes/google-news/package.json
+++ b/recipes/google-news/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "google-news", 2 "id": "google-news",
3 "name": "Google News", 3 "name": "Google News",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://news.google.com/" 7 "serviceURL": "https://news.google.com/"
diff --git a/recipes/google-translate/index.js b/recipes/google-translate/index.js
index 4ce580f..dd41f72 100644
--- a/recipes/google-translate/index.js
+++ b/recipes/google-translate/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GoogleTranslate extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/google-translate/package.json b/recipes/google-translate/package.json
index e6512db..777f17e 100644
--- a/recipes/google-translate/package.json
+++ b/recipes/google-translate/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "google-translate", 2 "id": "google-translate",
3 "name": "Google Translate", 3 "name": "Google Translate",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://translate.google.com" 7 "serviceURL": "https://translate.google.com"
diff --git a/recipes/google-voice/index.js b/recipes/google-voice/index.js
index 23607bd..dd41f72 100644
--- a/recipes/google-voice/index.js
+++ b/recipes/google-voice/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/google-voice/package.json b/recipes/google-voice/package.json
index 06a25b8..41322b4 100644
--- a/recipes/google-voice/package.json
+++ b/recipes/google-voice/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "google-voice", 2 "id": "google-voice",
3 "name": "Google Voice", 3 "name": "Google Voice",
4 "version": "0.4.3", 4 "version": "0.5.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/BehindTheMath/franz-recipe-google-voice", 6 "repository": "https://github.com/BehindTheMath/franz-recipe-google-voice",
7 "config": { 7 "config": {
diff --git a/recipes/google-voice/webview.js b/recipes/google-voice/webview.js
index 8b2d2b3..876ec1d 100644
--- a/recipes/google-voice/webview.js
+++ b/recipes/google-voice/webview.js
@@ -1,7 +1,7 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 function parseQuery(query) { 2 function parseQuery(query) {
3 const el = document.querySelector(query); 3 const el = document.querySelector(query);
4 return el && Ferdi.safeParseInt(el.textContent); 4 return el && Ferdium.safeParseInt(el.textContent);
5 } 5 }
6 6
7 const getMessages = () => { 7 const getMessages = () => {
@@ -9,7 +9,7 @@ module.exports = Ferdi => {
9 let count; 9 let count;
10 10
11 if (el && el.textContent) { 11 if (el && el.textContent) {
12 count = Ferdi.safeParseInt(el.textContent.replace(/[ ()]/gi, '')); 12 count = Ferdium.safeParseInt(el.textContent.replace(/[ ()]/gi, ''));
13 } else { 13 } else {
14 const count_messages = parseQuery( 14 const count_messages = parseQuery(
15 'gv-nav-tab[tooltip="Messages"] div[aria-label="Unread count"]', 15 'gv-nav-tab[tooltip="Messages"] div[aria-label="Unread count"]',
@@ -23,8 +23,8 @@ module.exports = Ferdi => {
23 count = count_messages + count_calls + count_voicemails; 23 count = count_messages + count_calls + count_voicemails;
24 } 24 }
25 25
26 Ferdi.setBadge(count); 26 Ferdium.setBadge(count);
27 }; 27 };
28 28
29 Ferdi.loop(getMessages); 29 Ferdium.loop(getMessages);
30}; 30};
diff --git a/recipes/googlecalendar/index.js b/recipes/googlecalendar/index.js
index e84eca2..dd41f72 100644
--- a/recipes/googlecalendar/index.js
+++ b/recipes/googlecalendar/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GoogleCalendar extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googlecalendar/package.json b/recipes/googlecalendar/package.json
index 58f78ed..a06e214 100644
--- a/recipes/googlecalendar/package.json
+++ b/recipes/googlecalendar/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googlecalendar", 2 "id": "googlecalendar",
3 "name": "Google Calendar", 3 "name": "Google Calendar",
4 "version": "2.2.0", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "google-calendar", 7 "google-calendar",
diff --git a/recipes/googlecalendar/webview-unsafe.js b/recipes/googlecalendar/webview-unsafe.js
index 141d3bc..7840600 100644
--- a/recipes/googlecalendar/webview-unsafe.js
+++ b/recipes/googlecalendar/webview-unsafe.js
@@ -12,14 +12,14 @@ const waitFor = (condition, callback) => {
12const showModal = text => { 12const showModal = text => {
13 modal.querySelector('p').textContent = text; 13 modal.querySelector('p').textContent = text;
14 updates += 1; 14 updates += 1;
15 window.ferdi.setBadge(updates); 15 window.ferdium.setBadge(updates);
16 modal.classList.add('open'); 16 modal.classList.add('open');
17}; 17};
18 18
19const hideModal = () => { 19const hideModal = () => {
20 modal.querySelector('p').textContent = ''; 20 modal.querySelector('p').textContent = '';
21 updates -= 1; 21 updates -= 1;
22 window.ferdi.setBadge(updates); 22 window.ferdium.setBadge(updates);
23 modal.classList.remove('open'); 23 modal.classList.remove('open');
24}; 24};
25 25
diff --git a/recipes/googlecalendar/webview.js b/recipes/googlecalendar/webview.js
index 7a55b0a..ef03ce2 100644
--- a/recipes/googlecalendar/webview.js
+++ b/recipes/googlecalendar/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'calendar.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'calendar.css'));
7 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 7 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
8}; 8};
diff --git a/recipes/googleclassroom/index.js b/recipes/googleclassroom/index.js
index e46ccef..dd41f72 100644
--- a/recipes/googleclassroom/index.js
+++ b/recipes/googleclassroom/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GoogleClassroom extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googleclassroom/package.json b/recipes/googleclassroom/package.json
index 4adfad7..2898fc1 100644
--- a/recipes/googleclassroom/package.json
+++ b/recipes/googleclassroom/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googleclassroom", 2 "id": "googleclassroom",
3 "name": "Google Classroom", 3 "name": "Google Classroom",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/TanZng/ferdi-googleclassroom", 6 "repository": "https://github.com/TanZng/ferdi-googleclassroom",
7 "config": { 7 "config": {
diff --git a/recipes/googleclassroom/webview.js b/recipes/googleclassroom/webview.js
index f542b00..15ab671 100644
--- a/recipes/googleclassroom/webview.js
+++ b/recipes/googleclassroom/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let homework = 0; 3 let homework = 0;
4 const upcomingAssignment = document.querySelectorAll('.hrUpcomingAssignmentGroup'); 4 const upcomingAssignment = document.querySelectorAll('.hrUpcomingAssignmentGroup');
@@ -8,8 +8,8 @@ module.exports = Ferdi => {
8 homework += upcomingAssignment[i].childElementCount; 8 homework += upcomingAssignment[i].childElementCount;
9 } 9 }
10 } 10 }
11 Ferdi.setBadge(homework); 11 Ferdium.setBadge(homework);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15}; 15};
diff --git a/recipes/googledrive/index.js b/recipes/googledrive/index.js
index 23607bd..dd41f72 100644
--- a/recipes/googledrive/index.js
+++ b/recipes/googledrive/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googledrive/package.json b/recipes/googledrive/package.json
index 220d1ea..5dd53a6 100644
--- a/recipes/googledrive/package.json
+++ b/recipes/googledrive/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googledrive", 2 "id": "googledrive",
3 "name": "Google Drive", 3 "name": "Google Drive",
4 "version": "2.1.1", 4 "version": "2.2.0",
5 "repository": "https://github.com/BrianGilbert/franz-recipe-tawk", 5 "repository": "https://github.com/BrianGilbert/franz-recipe-tawk",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/googledrive/webview.js b/recipes/googledrive/webview.js
index c17f205..aba811f 100644
--- a/recipes/googledrive/webview.js
+++ b/recipes/googledrive/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
7 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 7 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
8}; 8};
diff --git a/recipes/googlekeep/index.js b/recipes/googlekeep/index.js
index 4e1c164..dd41f72 100644
--- a/recipes/googlekeep/index.js
+++ b/recipes/googlekeep/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GoogleKeep extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googlekeep/package.json b/recipes/googlekeep/package.json
index 91cbcf5..1ba6dfd 100644
--- a/recipes/googlekeep/package.json
+++ b/recipes/googlekeep/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googlekeep", 2 "id": "googlekeep",
3 "name": "Google Keep", 3 "name": "Google Keep",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://keep.google.com/" 7 "serviceURL": "https://keep.google.com/"
diff --git a/recipes/googlemeet/index.js b/recipes/googlemeet/index.js
index e5d1742..dd41f72 100644
--- a/recipes/googlemeet/index.js
+++ b/recipes/googlemeet/index.js
@@ -1 +1 @@
module.exports = Ferdi => class GoogleMeet extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googlemeet/package.json b/recipes/googlemeet/package.json
index f5b1a83..2f8f2f6 100644
--- a/recipes/googlemeet/package.json
+++ b/recipes/googlemeet/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googlemeet", 2 "id": "googlemeet",
3 "name": "Google Meet", 3 "name": "Google Meet",
4 "version": "2.2.4", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://meet.google.com", 7 "serviceURL": "https://meet.google.com",
diff --git a/recipes/googlemeet/webview.js b/recipes/googlemeet/webview.js
index 6ea36f3..f3c0f46 100644
--- a/recipes/googlemeet/webview.js
+++ b/recipes/googlemeet/webview.js
@@ -12,7 +12,7 @@ window.addEventListener('load', () => {
12 } 12 }
13}); 13});
14 14
15module.exports = (Ferdi, settings) => { 15module.exports = (Ferdium, settings) => {
16 const getMessages = () => { 16 const getMessages = () => {
17 const elements = document.querySelectorAll('.CxUIE, .unread'); 17 const elements = document.querySelectorAll('.CxUIE, .unread');
18 let count = 0; 18 let count = 0;
@@ -23,14 +23,14 @@ module.exports = (Ferdi, settings) => {
23 } 23 }
24 } 24 }
25 25
26 Ferdi.setBadge(count); 26 Ferdium.setBadge(count);
27 }; 27 };
28 28
29 Ferdi.loop(getMessages); 29 Ferdium.loop(getMessages);
30 30
31 window.addEventListener('beforeunload', async () => { 31 window.addEventListener('beforeunload', async () => {
32 Ferdi.clearStorageData(settings.id, { storages: ['serviceworkers'] }); 32 Ferdium.clearStorageData(settings.id, { storages: ['serviceworkers'] });
33 }); 33 });
34 34
35 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 35 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
36}; 36};
diff --git a/recipes/googlepodcasts/index.js b/recipes/googlepodcasts/index.js
index 23607bd..dd41f72 100644
--- a/recipes/googlepodcasts/index.js
+++ b/recipes/googlepodcasts/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/googlepodcasts/package.json b/recipes/googlepodcasts/package.json
index 61eebed..7f401b9 100644
--- a/recipes/googlepodcasts/package.json
+++ b/recipes/googlepodcasts/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "googlepodcasts", 2 "id": "googlepodcasts",
3 "name": "Google Podcasts", 3 "name": "Google Podcasts",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://podcasts.google.com/" 7 "serviceURL": "https://podcasts.google.com/"
diff --git a/recipes/gotomeeting/index.js b/recipes/gotomeeting/index.js
index bde0ae0..fa15a16 100644
--- a/recipes/gotomeeting/index.js
+++ b/recipes/gotomeeting/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => class Gotomeeting extends Ferdi { 1module.exports = Ferdium => class Gotomeeting extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, ''); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '');
4 } 4 }
5}; 5};
diff --git a/recipes/gotomeeting/package.json b/recipes/gotomeeting/package.json
index b4e4ae0..73d3792 100644
--- a/recipes/gotomeeting/package.json
+++ b/recipes/gotomeeting/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "gotomeeting", 2 "id": "gotomeeting",
3 "name": "Go To Meeting", 3 "name": "Go To Meeting",
4 "version": "0.3.0", 4 "version": "0.4.0",
5 "repository": "https://github.com/tristanplouz/ferdi-recipe-gotomeeting.git", 5 "repository": "https://github.com/tristanplouz/ferdi-recipe-gotomeeting.git",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/gotomeeting/webview.js b/recipes/gotomeeting/webview.js
index 097df0d..0ff41ad 100644
--- a/recipes/gotomeeting/webview.js
+++ b/recipes/gotomeeting/webview.js
@@ -2,8 +2,8 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
7 7
8 if (document.location.href.match('after')) { 8 if (document.location.href.match('after')) {
9 document.location.href = 'https://app.gotomeeting.com/home.html'; 9 document.location.href = 'https://app.gotomeeting.com/home.html';
diff --git a/recipes/grape/index.js b/recipes/grape/index.js
index 2039c8d..593f026 100644
--- a/recipes/grape/index.js
+++ b/recipes/grape/index.js
@@ -1,6 +1,6 @@
1function _asyncToGenerator(fn) { return function () { const gen = Reflect.apply(fn, this, arguments); return new Promise((resolve, reject) => { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then((value) => { step('next', value); }, (error) => { step('throw', error); }); } } return step('next'); }); }; } 1function _asyncToGenerator(fn) { return function () { const gen = Reflect.apply(fn, this, arguments); return new Promise((resolve, reject) => { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then((value) => { step('next', value); }, (error) => { step('throw', error); }); } } return step('next'); }); }; }
2 2
3module.exports = Ferdi => class Grape extends Ferdi { 3module.exports = Ferdium => class Grape extends Ferdium {
4 validateUrl(url) { 4 validateUrl(url) {
5 return _asyncToGenerator(function* () { 5 return _asyncToGenerator(function* () {
6 try { 6 try {
diff --git a/recipes/grape/package.json b/recipes/grape/package.json
index fa557f8..9fe40ab 100644
--- a/recipes/grape/package.json
+++ b/recipes/grape/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "grape", 2 "id": "grape",
3 "name": "Grape", 3 "name": "Grape",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.chatgrape.com/chat", 7 "serviceURL": "https://{teamId}.chatgrape.com/chat",
diff --git a/recipes/grape/webview.js b/recipes/grape/webview.js
index 9c69aa2..6349bd0 100644
--- a/recipes/grape/webview.js
+++ b/recipes/grape/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directMessages = document.querySelectorAll('.c0120').length; 3 const directMessages = document.querySelectorAll('.c0120').length;
4 const indirectMessages = document.querySelectorAll('.c0121').length; 4 const indirectMessages = document.querySelectorAll('.c0121').length;
5 5
6 Ferdi.setBadge(directMessages, indirectMessages); 6 Ferdium.setBadge(directMessages, indirectMessages);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/groupme/index.js b/recipes/groupme/index.js
index 23607bd..dd41f72 100644
--- a/recipes/groupme/index.js
+++ b/recipes/groupme/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/groupme/package.json b/recipes/groupme/package.json
index d7ba067..983c679 100644
--- a/recipes/groupme/package.json
+++ b/recipes/groupme/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "groupme", 2 "id": "groupme",
3 "name": "GroupMe", 3 "name": "GroupMe",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.groupme.com", 7 "serviceURL": "https://web.groupme.com",
diff --git a/recipes/groupme/webview.js b/recipes/groupme/webview.js
index 6bd7ea8..e2d6954 100644
--- a/recipes/groupme/webview.js
+++ b/recipes/groupme/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directMessages = document.querySelectorAll('.badge-count:not(.ng-hide)').length; 3 const directMessages = document.querySelectorAll('.badge-count:not(.ng-hide)').length;
4 4
5 // set Ferdi badge 5 // set Ferdium badge
6 Ferdi.setBadge(directMessages); 6 Ferdium.setBadge(directMessages);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/guilded/index.js b/recipes/guilded/index.js
index 23607bd..dd41f72 100644
--- a/recipes/guilded/index.js
+++ b/recipes/guilded/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/guilded/package.json b/recipes/guilded/package.json
index 94fc32f..6bfcd7c 100644
--- a/recipes/guilded/package.json
+++ b/recipes/guilded/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "guilded", 2 "id": "guilded",
3 "name": "Guilded", 3 "name": "Guilded",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.guilded.gg/", 7 "serviceURL": "https://www.guilded.gg/",
diff --git a/recipes/guilded/webview.js b/recipes/guilded/webview.js
index 69c3bcb..a573790 100644
--- a/recipes/guilded/webview.js
+++ b/recipes/guilded/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let unread = 0; 3 let unread = 0;
4 const notificationBadge = document.querySelectorAll( 4 const notificationBadge = document.querySelectorAll(
@@ -7,10 +7,10 @@ module.exports = Ferdi => {
7 if (notificationBadge != undefined) { 7 if (notificationBadge != undefined) {
8 const innerBadge = 8 const innerBadge =
9 notificationBadge.querySelectorAll('.BadgeV2-count')[0]; 9 notificationBadge.querySelectorAll('.BadgeV2-count')[0];
10 unread = Ferdi.safeParseInt(innerBadge.textContent); 10 unread = Ferdium.safeParseInt(innerBadge.textContent);
11 } 11 }
12 Ferdi.setBadge(unread); 12 Ferdium.setBadge(unread);
13 }; 13 };
14 14
15 Ferdi.loop(getMessages); 15 Ferdium.loop(getMessages);
16}; 16};
diff --git a/recipes/habitica/index.js b/recipes/habitica/index.js
index 23607bd..dd41f72 100755
--- a/recipes/habitica/index.js
+++ b/recipes/habitica/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/habitica/package.json b/recipes/habitica/package.json
index dad1a93..bda128e 100755
--- a/recipes/habitica/package.json
+++ b/recipes/habitica/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "habitica", 2 "id": "habitica",
3 "name": "Habitica", 3 "name": "Habitica",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/lmnet/franz-recipe-notion", 6 "repository": "https://github.com/lmnet/franz-recipe-notion",
7 "config": { 7 "config": {
diff --git a/recipes/habitica/webview.js b/recipes/habitica/webview.js
index aa678b5..202822f 100755
--- a/recipes/habitica/webview.js
+++ b/recipes/habitica/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 const element = document.querySelector('.message-count'); 4 const element = document.querySelector('.message-count');
5 if (element) { 5 if (element) {
6 count = Ferdi.safeParseInt(element.textContent); 6 count = Ferdium.safeParseInt(element.textContent);
7 } 7 }
8 Ferdi.setBadge(count); 8 Ferdium.setBadge(count);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/hackmd/index.js b/recipes/hackmd/index.js
index 3a2908b..5114772 100644
--- a/recipes/hackmd/index.js
+++ b/recipes/hackmd/index.js
@@ -1,2 +1,2 @@
1// todo allow custom url 1// todo allow custom url
2module.exports = Ferdi => class HackMd extends Ferdi {}; 2module.exports = Ferdium => Ferdium;
diff --git a/recipes/hackmd/package.json b/recipes/hackmd/package.json
index 6a58405..24b790d 100644
--- a/recipes/hackmd/package.json
+++ b/recipes/hackmd/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hackmd", 2 "id": "hackmd",
3 "name": "HackMd", 3 "name": "HackMd",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://hackmd.io", 7 "serviceURL": "https://hackmd.io",
diff --git a/recipes/hackmd/webview.js b/recipes/hackmd/webview.js
index 9ccf912..dbd4746 100644
--- a/recipes/hackmd/webview.js
+++ b/recipes/hackmd/webview.js
@@ -2,17 +2,17 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 // get unread messages 7 // get unread messages
8 const count = document.querySelectorAll('.guilds-wrapper .badge').length; 8 const count = document.querySelectorAll('.guilds-wrapper .badge').length;
9 9
10 // set Ferdi badge 10 // set Ferdium badge
11 Ferdi.setBadge(count); 11 Ferdium.setBadge(count);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15 15
16 // Hide download message 16 // Hide download message
17 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 17 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
18}; 18};
diff --git a/recipes/hangouts/index.js b/recipes/hangouts/index.js
index e2a5585..dd41f72 100644
--- a/recipes/hangouts/index.js
+++ b/recipes/hangouts/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class Hangouts extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/hangouts/package.json b/recipes/hangouts/package.json
index 8e9f55f..e14f05e 100644
--- a/recipes/hangouts/package.json
+++ b/recipes/hangouts/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hangouts", 2 "id": "hangouts",
3 "name": "Hangouts", 3 "name": "Hangouts",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://hangouts.google.com", 7 "serviceURL": "https://hangouts.google.com",
diff --git a/recipes/hangouts/webview.js b/recipes/hangouts/webview.js
index a87893d..f57864e 100644
--- a/recipes/hangouts/webview.js
+++ b/recipes/hangouts/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // get unread messages 3 // get unread messages
4 const count = document.querySelector('#hangout-landing-chat iframe').contentWindow.document.querySelectorAll('.ee').length; 4 const count = document.querySelector('#hangout-landing-chat iframe').contentWindow.document.querySelectorAll('.ee').length;
5 5
6 // set Ferdi badge 6 // set Ferdium badge
7 Ferdi.setBadge(count); 7 Ferdium.setBadge(count);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/hangoutschat/index.js b/recipes/hangoutschat/index.js
index bd7fbe7..dd41f72 100644
--- a/recipes/hangoutschat/index.js
+++ b/recipes/hangoutschat/index.js
@@ -1 +1 @@
module.exports = Ferdi => class HangoutsChat extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/hangoutschat/package.json b/recipes/hangoutschat/package.json
index 57f6e13..1af0ff3 100644
--- a/recipes/hangoutschat/package.json
+++ b/recipes/hangoutschat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hangoutschat", 2 "id": "hangoutschat",
3 "name": "Hangouts Chat", 3 "name": "Hangouts Chat",
4 "version": "1.5.1", 4 "version": "1.6.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "google-chat", 7 "google-chat",
diff --git a/recipes/hangoutschat/webview.js b/recipes/hangoutschat/webview.js
index e2e5912..98309fb 100644
--- a/recipes/hangoutschat/webview.js
+++ b/recipes/hangoutschat/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 // class corresponding to the red badge that is visible for direct messages 2 // class corresponding to the red badge that is visible for direct messages
3 const directMessageSelector = 'div.V6.CL.su.ahD.X9.Y2 span.akt span.XU'; 3 const directMessageSelector = 'div.V6.CL.su.ahD.X9.Y2 span.akt span.XU';
4 4
@@ -23,11 +23,11 @@ module.exports = Ferdi => {
23 indirectCount = Number(indirectCountSelector.textContent); 23 indirectCount = Number(indirectCountSelector.textContent);
24 } 24 }
25 25
26 // set Ferdi badge 26 // set Ferdium badge
27 Ferdi.setBadge(directCount, indirectCount); 27 Ferdium.setBadge(directCount, indirectCount);
28 }; 28 };
29 29
30 Ferdi.loop(getMessages); 30 Ferdium.loop(getMessages);
31 31
32 document.addEventListener('click', e => { 32 document.addEventListener('click', e => {
33 // @ts-ignore 33 // @ts-ignore
diff --git a/recipes/harvest/index.js b/recipes/harvest/index.js
index 23607bd..dd41f72 100644
--- a/recipes/harvest/index.js
+++ b/recipes/harvest/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/harvest/package.json b/recipes/harvest/package.json
index cfb7d15..7f111c0 100644
--- a/recipes/harvest/package.json
+++ b/recipes/harvest/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "harvest", 2 "id": "harvest",
3 "name": "Harvest", 3 "name": "Harvest",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.harvestapp.com", 7 "serviceURL": "https://{teamId}.harvestapp.com",
diff --git a/recipes/hey/index.js b/recipes/hey/index.js
index 23607bd..dd41f72 100644
--- a/recipes/hey/index.js
+++ b/recipes/hey/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/hey/package.json b/recipes/hey/package.json
index f681f80..e3bc1e2 100644
--- a/recipes/hey/package.json
+++ b/recipes/hey/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hey", 2 "id": "hey",
3 "name": "Hey", 3 "name": "Hey",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "repository": "https://github.com/cpwood/recipe-hey", 5 "repository": "https://github.com/cpwood/recipe-hey",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.hey.com", 7 "serviceURL": "https://app.hey.com",
diff --git a/recipes/hey/webview.js b/recipes/hey/webview.js
index 67e87d4..d92490b 100644
--- a/recipes/hey/webview.js
+++ b/recipes/hey/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 if (document.location.href == 'https://app.hey.com/') { 3 if (document.location.href == 'https://app.hey.com/') {
4 let screener = 0; 4 let screener = 0;
@@ -8,7 +8,7 @@ module.exports = Ferdi => {
8 let text = document.querySelectorAll('.btn--icon-screener')[0] 8 let text = document.querySelectorAll('.btn--icon-screener')[0]
9 .textContent; 9 .textContent;
10 if (text) { 10 if (text) {
11 const parsedText = Ferdi.safeParseInt(/\d+/.exec(text)); 11 const parsedText = Ferdium.safeParseInt(/\d+/.exec(text));
12 screener = parsedText[0]; 12 screener = parsedText[0];
13 } 13 }
14 } 14 }
@@ -26,9 +26,9 @@ module.exports = Ferdi => {
26 } 26 }
27 } 27 }
28 28
29 Ferdi.setBadge(unread, screener); 29 Ferdium.setBadge(unread, screener);
30 } 30 }
31 }; 31 };
32 32
33 Ferdi.loop(getMessages); 33 Ferdium.loop(getMessages);
34}; 34};
diff --git a/recipes/hipchat/index.js b/recipes/hipchat/index.js
index 0a461ab..ce3256b 100644
--- a/recipes/hipchat/index.js
+++ b/recipes/hipchat/index.js
@@ -1,6 +1,6 @@
1function _asyncToGenerator(fn) { return function () { const gen = Reflect.apply(fn, this, arguments); return new Promise((resolve, reject) => { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then((value) => { step('next', value); }, (error) => { step('throw', error); }); } } return step('next'); }); }; } 1function _asyncToGenerator(fn) { return function () { const gen = Reflect.apply(fn, this, arguments); return new Promise((resolve, reject) => { function step(key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { return Promise.resolve(value).then((value) => { step('next', value); }, (error) => { step('throw', error); }); } } return step('next'); }); }; }
2 2
3module.exports = Ferdi => class HipChat extends Ferdi { 3module.exports = Ferdium => class HipChat extends Ferdium {
4 validateUrl(url) { 4 validateUrl(url) {
5 return _asyncToGenerator(function* () { 5 return _asyncToGenerator(function* () {
6 try { 6 try {
diff --git a/recipes/hipchat/package.json b/recipes/hipchat/package.json
index b0437f6..0be97cc 100644
--- a/recipes/hipchat/package.json
+++ b/recipes/hipchat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hipchat", 2 "id": "hipchat",
3 "name": "HipChat", 3 "name": "HipChat",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.hipchat.com/chat", 7 "serviceURL": "https://{teamId}.hipchat.com/chat",
diff --git a/recipes/hipchat/webview.js b/recipes/hipchat/webview.js
index 8748926..229b376 100644
--- a/recipes/hipchat/webview.js
+++ b/recipes/hipchat/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directMessages = document.querySelectorAll('.hc-mention').length; 3 const directMessages = document.querySelectorAll('.hc-mention').length;
4 const allMessages = document.querySelectorAll('.aui-badge:not(.hc-mention)').length - directMessages; 4 const allMessages = document.querySelectorAll('.aui-badge:not(.hc-mention)').length - directMessages;
5 5
6 // set Ferdi badge 6 // set Ferdium badge
7 Ferdi.setBadge(directMessages, allMessages); 7 Ferdium.setBadge(directMessages, allMessages);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/hostnet/index.js b/recipes/hostnet/index.js
index ab7de5f..dd41f72 100644
--- a/recipes/hostnet/index.js
+++ b/recipes/hostnet/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Bitwarden extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/hostnet/package.json b/recipes/hostnet/package.json
index eda6832..f7bd962 100644
--- a/recipes/hostnet/package.json
+++ b/recipes/hostnet/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "hostnet", 2 "id": "hostnet",
3 "name": "Hostnet", 3 "name": "Hostnet",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://appsuite.hostnet.nl/appsuite/" 7 "serviceURL": "https://appsuite.hostnet.nl/appsuite/"
diff --git a/recipes/hostnet/webview.js b/recipes/hostnet/webview.js
index 71d3306..0f0b809 100644
--- a/recipes/hostnet/webview.js
+++ b/recipes/hostnet/webview.js
@@ -1,7 +1,7 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 Ferdi.setBadge(Number.parseInt(document.querySelectorAll('.badge.topbar-launcherbadge')[0].firstChild.data)); 3 Ferdium.setBadge(Number.parseInt(document.querySelectorAll('.badge.topbar-launcherbadge')[0].firstChild.data));
4 }; 4 };
5 5
6 Ferdi.loop(getMessages); 6 Ferdium.loop(getMessages);
7}; \ No newline at end of file 7};
diff --git a/recipes/hubstaff/index.js b/recipes/hubstaff/index.js
index 651c280..dd41f72 100644
--- a/recipes/hubstaff/index.js
+++ b/recipes/hubstaff/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Hubstaff extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/hubstaff/package.json b/recipes/hubstaff/package.json
index bcb675b..36a3d87 100644
--- a/recipes/hubstaff/package.json
+++ b/recipes/hubstaff/package.json
@@ -1,10 +1,10 @@
1{ 1{
2 "id": "hubstaff", 2 "id": "hubstaff",
3 "name": "HubStaff", 3 "name": "HubStaff",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.hubstaff.com/login_now", 7 "serviceURL": "https://app.hubstaff.com/login_now",
8 "hasNotificationSound": true 8 "hasNotificationSound": true
9 } 9 }
10} \ No newline at end of file 10}
diff --git a/recipes/hubstaff/webview.js b/recipes/hubstaff/webview.js
index 408f78c..c925f18 100644
--- a/recipes/hubstaff/webview.js
+++ b/recipes/hubstaff/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 // TODO: If your hubstaff service has unread messages, uncomment these lines to implement the logic for updating the badges 2 // TODO: If your hubstaff service has unread messages, uncomment these lines to implement the logic for updating the badges
3 const getMessages = () => { 3 const getMessages = () => {
4 // TODO: Insert your notification-finding code here 4 // TODO: Insert your notification-finding code here
@@ -6,10 +6,10 @@ module.exports = (Ferdi) => {
6 let indirectMessages = 0; 6 let indirectMessages = 0;
7 const notificationContainers = document.querySelectorAll('.notifications-number'); 7 const notificationContainers = document.querySelectorAll('.notifications-number');
8 if (notificationContainers){ 8 if (notificationContainers){
9 directMessages = Ferdi.safeParseInt(notificationContainers[0].textContent); 9 directMessages = Ferdium.safeParseInt(notificationContainers[0].textContent);
10 indirectMessages = Ferdi.safeParseInt(notificationContainers[1].textContent); 10 indirectMessages = Ferdium.safeParseInt(notificationContainers[1].textContent);
11 } 11 }
12 Ferdi.setBadge(directMessages, indirectMessages); 12 Ferdium.setBadge(directMessages, indirectMessages);
13 }; 13 };
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15}; 15};
diff --git a/recipes/iCloud/index.js b/recipes/iCloud/index.js
index 23607bd..dd41f72 100644
--- a/recipes/iCloud/index.js
+++ b/recipes/iCloud/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/iCloud/package.json b/recipes/iCloud/package.json
index cac3bba..aebc038 100644
--- a/recipes/iCloud/package.json
+++ b/recipes/iCloud/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "iCloud", 2 "id": "iCloud",
3 "name": "iCloud", 3 "name": "iCloud",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.icloud.com/" 7 "serviceURL": "https://www.icloud.com/"
diff --git a/recipes/icloud-reminders/index.js b/recipes/icloud-reminders/index.js
index 3fb9a8f..dd41f72 100644
--- a/recipes/icloud-reminders/index.js
+++ b/recipes/icloud-reminders/index.js
@@ -1 +1 @@
module.exports = Ferdi => class icloudreminders extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/icloud-reminders/package.json b/recipes/icloud-reminders/package.json
index e6e429d..11a3f01 100644
--- a/recipes/icloud-reminders/package.json
+++ b/recipes/icloud-reminders/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "icloud-reminders", 2 "id": "icloud-reminders",
3 "name": "iCloud Reminders", 3 "name": "iCloud Reminders",
4 "version": "1.0.4", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.icloud.com/reminders" 7 "serviceURL": "https://www.icloud.com/reminders"
diff --git a/recipes/icq/index.js b/recipes/icq/index.js
index 23607bd..dd41f72 100644
--- a/recipes/icq/index.js
+++ b/recipes/icq/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/icq/package.json b/recipes/icq/package.json
index 1dee7f0..463711d 100644
--- a/recipes/icq/package.json
+++ b/recipes/icq/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "icq", 2 "id": "icq",
3 "name": "ICQ", 3 "name": "ICQ",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/meetfranz/recipe-icq", 6 "repository": "https://github.com/meetfranz/recipe-icq",
7 "config": { 7 "config": {
diff --git a/recipes/icq/webview.js b/recipes/icq/webview.js
index e782eb4..c0ba8e9 100644
--- a/recipes/icq/webview.js
+++ b/recipes/icq/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directs = 0; 3 let directs = 0;
4 const elements = document.querySelectorAll( 4 const elements = document.querySelectorAll(
@@ -6,7 +6,7 @@ module.exports = Ferdi => {
6 ); 6 );
7 for (const element of elements) { 7 for (const element of elements) {
8 if ( 8 if (
9 Ferdi.safeParseInt( 9 Ferdium.safeParseInt(
10 element.textContent && element.textContent.replace(/[^\d.]/g, ''), 10 element.textContent && element.textContent.replace(/[^\d.]/g, ''),
11 ) > 0 11 ) > 0
12 ) { 12 ) {
@@ -14,8 +14,8 @@ module.exports = Ferdi => {
14 } 14 }
15 } 15 }
16 16
17 Ferdi.setBadge(directs); 17 Ferdium.setBadge(directs);
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdium.loop(getMessages);
21}; 21};
diff --git a/recipes/idobata/index.js b/recipes/idobata/index.js
index 23607bd..dd41f72 100644
--- a/recipes/idobata/index.js
+++ b/recipes/idobata/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/idobata/package.json b/recipes/idobata/package.json
index ed97f93..17d488d 100644
--- a/recipes/idobata/package.json
+++ b/recipes/idobata/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "idobata", 2 "id": "idobata",
3 "name": "Idobata", 3 "name": "Idobata",
4 "version": "0.2.1", 4 "version": "0.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://idobata.io", 7 "serviceURL": "https://idobata.io",
diff --git a/recipes/idobata/webview.js b/recipes/idobata/webview.js
index d30e2ad..b6cbbe7 100644
--- a/recipes/idobata/webview.js
+++ b/recipes/idobata/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const title = document.querySelector('title').textContent.match(/\d+/); 3 const title = document.querySelector('title').textContent.match(/\d+/);
4 const count = title !== null ? title[0] : 0; 4 const count = title !== null ? title[0] : 0;
5 5
6 Ferdi.setBadge(count); 6 Ferdium.setBadge(count);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/infomaniak-mail/index.js b/recipes/infomaniak-mail/index.js
index 24184f8..dd41f72 100644
--- a/recipes/infomaniak-mail/index.js
+++ b/recipes/infomaniak-mail/index.js
@@ -1 +1 @@
module.exports = Ferdi => class infomaniakmail extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/infomaniak-mail/package.json b/recipes/infomaniak-mail/package.json
index dae48ae..64a9e91 100644
--- a/recipes/infomaniak-mail/package.json
+++ b/recipes/infomaniak-mail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "infomaniak-mail", 2 "id": "infomaniak-mail",
3 "name": "Infomaniak Mail", 3 "name": "Infomaniak Mail",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.infomaniak.com/" 7 "serviceURL": "https://mail.infomaniak.com/"
diff --git a/recipes/infomaniak-mail/webview.js b/recipes/infomaniak-mail/webview.js
index be8053c..940eb82 100644
--- a/recipes/infomaniak-mail/webview.js
+++ b/recipes/infomaniak-mail/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = document.querySelector('.ws-tree-node-badge'); 3 const count = document.querySelector('.ws-tree-node-badge');
4 const countText = count ? count.textContent : null; 4 const countText = count ? count.textContent : null;
5 Ferdi.setBadge(count && countText ? Number(countText) : 0); 5 Ferdium.setBadge(count && countText ? Number(countText) : 0);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/inoreader/index.js b/recipes/inoreader/index.js
index 23607bd..dd41f72 100644
--- a/recipes/inoreader/index.js
+++ b/recipes/inoreader/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/inoreader/package.json b/recipes/inoreader/package.json
index bc8afb1..7010ec2 100644
--- a/recipes/inoreader/package.json
+++ b/recipes/inoreader/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "inoreader", 2 "id": "inoreader",
3 "name": "Inoreader", 3 "name": "Inoreader",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/annagrram/recipe-inoreader", 6 "repository": "https://github.com/annagrram/recipe-inoreader",
7 "config": { 7 "config": {
diff --git a/recipes/inoreader/webview.js b/recipes/inoreader/webview.js
index e4733ab..a6b2232 100644
--- a/recipes/inoreader/webview.js
+++ b/recipes/inoreader/webview.js
@@ -1,11 +1,11 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const all_articles = document.querySelector('#unread_cnt_all_items'); 3 const all_articles = document.querySelector('#unread_cnt_all_items');
4 if (!all_articles) return; 4 if (!all_articles) return;
5 5
6 const unread_articles_cnt = Number(all_articles.textContent.split('+')[0]); 6 const unread_articles_cnt = Number(all_articles.textContent.split('+')[0]);
7 Ferdi.setBadge(unread_articles_cnt); 7 Ferdium.setBadge(unread_articles_cnt);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/instagram/index.js b/recipes/instagram/index.js
index 928d5b1..d8beaa5 100644
--- a/recipes/instagram/index.js
+++ b/recipes/instagram/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => class Instagram extends Ferdi { 1module.exports = Ferdium => class Instagram extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/instagram/package.json b/recipes/instagram/package.json
index 7771412..820872c 100644
--- a/recipes/instagram/package.json
+++ b/recipes/instagram/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "instagram", 2 "id": "instagram",
3 "name": "Instagram", 3 "name": "Instagram",
4 "version": "2.3.0", 4 "version": "2.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://instagram.com/direct/inbox", 7 "serviceURL": "https://instagram.com/direct/inbox",
diff --git a/recipes/instagram/webview.js b/recipes/instagram/webview.js
index e04a5c8..66d89e6 100644
--- a/recipes/instagram/webview.js
+++ b/recipes/instagram/webview.js
@@ -4,17 +4,17 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const element = document.querySelector('a[href^="/direct/inbox"]'); 9 const element = document.querySelector('a[href^="/direct/inbox"]');
10 Ferdi.setBadge(element ? Ferdi.safeParseInt(element.textContent) : 0); 10 Ferdium.setBadge(element ? Ferdium.safeParseInt(element.textContent) : 0);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14 14
15 // https://github.com/ferdium/ferdium-recipes/blob/9d715597a600710c20f75412d3dcd8cdb7b3c39e/docs/frontend_api.md#usage-4 15 // https://github.com/ferdium/ferdium-recipes/blob/9d715597a600710c20f75412d3dcd8cdb7b3c39e/docs/frontend_api.md#usage-4
16 // Helper that activates DarkReader and injects your darkmode.css at the same time 16 // Helper that activates DarkReader and injects your darkmode.css at the same time
17 Ferdi.handleDarkMode((isEnabled, helpers) => { 17 Ferdium.handleDarkMode((isEnabled, helpers) => {
18 if (isEnabled) { 18 if (isEnabled) {
19 helpers.enableDarkMode(); 19 helpers.enableDarkMode();
20 if (!helpers.isDarkModeStyleInjected()) { 20 if (!helpers.isDarkModeStyleInjected()) {
@@ -26,5 +26,5 @@ module.exports = Ferdi => {
26 } 26 }
27 }); 27 });
28 28
29 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 29 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
30}; 30};
diff --git a/recipes/intercom/index.js b/recipes/intercom/index.js
index 23607bd..dd41f72 100644
--- a/recipes/intercom/index.js
+++ b/recipes/intercom/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/intercom/package.json b/recipes/intercom/package.json
index 2fc2e39..f863184 100644
--- a/recipes/intercom/package.json
+++ b/recipes/intercom/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "intercom", 2 "id": "intercom",
3 "name": "Intercom", 3 "name": "Intercom",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.intercom.io/", 7 "serviceURL": "https://app.intercom.io/",
diff --git a/recipes/intercom/webview.js b/recipes/intercom/webview.js
index ff3e9a0..69ba2f6 100644
--- a/recipes/intercom/webview.js
+++ b/recipes/intercom/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const numMessages = Ferdi.safeParseInt( 3 const numMessages = Ferdium.safeParseInt(
4 document.querySelector( 4 document.querySelector(
5 '.left-nav [data-content="Inbox"] .unread__container .unread', 5 '.left-nav [data-content="Inbox"] .unread__container .unread',
6 ).textContent, 6 ).textContent,
7 ); 7 );
8 Ferdi.setBadge(numMessages); 8 Ferdium.setBadge(numMessages);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/irccloud/index.js b/recipes/irccloud/index.js
index 23607bd..dd41f72 100644
--- a/recipes/irccloud/index.js
+++ b/recipes/irccloud/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/irccloud/package.json b/recipes/irccloud/package.json
index 47e137b..8420757 100644
--- a/recipes/irccloud/package.json
+++ b/recipes/irccloud/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "irccloud", 2 "id": "irccloud",
3 "name": "IRCCloud", 3 "name": "IRCCloud",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/albertomurillo/recipe-irccloud", 6 "repository": "https://github.com/albertomurillo/recipe-irccloud",
7 "config": { 7 "config": {
diff --git a/recipes/irccloud/webview.js b/recipes/irccloud/webview.js
index ab26279..c70e8f6 100644
--- a/recipes/irccloud/webview.js
+++ b/recipes/irccloud/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directMessages = document.querySelectorAll('.buffer.conversation.active.unread.activeBadge').length; 3 const directMessages = document.querySelectorAll('.buffer.conversation.active.unread.activeBadge').length;
4 const indirectMessages = document.querySelectorAll('.buffer.channel.active.unread').length; 4 const indirectMessages = document.querySelectorAll('.buffer.channel.active.unread').length;
5 5
6 Ferdi.setBadge(directMessages, indirectMessages); 6 Ferdium.setBadge(directMessages, indirectMessages);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/iris-messenger/index.js b/recipes/iris-messenger/index.js
index 23607bd..dd41f72 100644
--- a/recipes/iris-messenger/index.js
+++ b/recipes/iris-messenger/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/iris-messenger/package.json b/recipes/iris-messenger/package.json
index ad5259f..92cce54 100644
--- a/recipes/iris-messenger/package.json
+++ b/recipes/iris-messenger/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "iris-messenger", 2 "id": "iris-messenger",
3 "name": "Iris Messenger", 3 "name": "Iris Messenger",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://iris.to" 7 "serviceURL": "https://iris.to"
diff --git a/recipes/iris-messenger/webview.js b/recipes/iris-messenger/webview.js
index a3f72c7..100aaf8 100644
--- a/recipes/iris-messenger/webview.js
+++ b/recipes/iris-messenger/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 const element = document.querySelector('.unseen-total'); 4 const element = document.querySelector('.unseen-total');
5 if (element) { 5 if (element) {
6 count = Ferdi.safeParseInt(element.textContent); 6 count = Ferdium.safeParseInt(element.textContent);
7 } 7 }
8 Ferdi.setBadge(count); 8 Ferdium.setBadge(count);
9 }; 9 };
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/jira/index.js b/recipes/jira/index.js
index 038749a..ba77d96 100644
--- a/recipes/jira/index.js
+++ b/recipes/jira/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => class Jira extends Ferdi { 1module.exports = (Ferdium) => class Jira extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/jira/package.json b/recipes/jira/package.json
index 4e70918..7cc0aa5 100644
--- a/recipes/jira/package.json
+++ b/recipes/jira/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "jira", 2 "id": "jira",
3 "name": "Jira", 3 "name": "Jira",
4 "version": "1.3.2", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.atlassian.net", 7 "serviceURL": "https://{teamId}.atlassian.net",
diff --git a/recipes/jira/webview.js b/recipes/jira/webview.js
index 9599b66..1859067 100644
--- a/recipes/jira/webview.js
+++ b/recipes/jira/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // get unread messages 3 // get unread messages
4 const element = document.querySelector( 4 const element = document.querySelector(
5 '#atlassian-navigation-notification-count span', 5 '#atlassian-navigation-notification-count span',
6 ); 6 );
7 Ferdi.setBadge(element ? element.textContent : 0); 7 Ferdium.setBadge(element ? element.textContent : 0);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/jitsi/index.js b/recipes/jitsi/index.js
index 84925be..5f22c17 100644
--- a/recipes/jitsi/index.js
+++ b/recipes/jitsi/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => class Jitsi extends Ferdi { 1module.exports = Ferdium => class Jitsi extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/jitsi/package.json b/recipes/jitsi/package.json
index 7fffd0e..0e4cf90 100644
--- a/recipes/jitsi/package.json
+++ b/recipes/jitsi/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "jitsi", 2 "id": "jitsi",
3 "name": "Jitsi Meet", 3 "name": "Jitsi Meet",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/sampathBlam/ferdi-jitsi", 6 "repository": "https://github.com/sampathBlam/ferdi-jitsi",
7 "config": { 7 "config": {
diff --git a/recipes/jitsi/webview.js b/recipes/jitsi/webview.js
index f4121e9..6e0e1e9 100644
--- a/recipes/jitsi/webview.js
+++ b/recipes/jitsi/webview.js
@@ -1,6 +1,6 @@
1const NOTIFICATION_BADGE_CLASS = '.badge-round'; 1const NOTIFICATION_BADGE_CLASS = '.badge-round';
2 2
3module.exports = Ferdi => { 3module.exports = Ferdium => {
4 const getMessages = () => { 4 const getMessages = () => {
5 const badges = [...document.querySelectorAll(NOTIFICATION_BADGE_CLASS)]; 5 const badges = [...document.querySelectorAll(NOTIFICATION_BADGE_CLASS)];
6 const messages = badges.reduce( 6 const messages = badges.reduce(
@@ -8,8 +8,8 @@ module.exports = Ferdi => {
8 0, 8 0,
9 ); 9 );
10 10
11 Ferdi.setBadge(messages); 11 Ferdium.setBadge(messages);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15}; 15};
diff --git a/recipes/jollor/index.js b/recipes/jollor/index.js
index 23607bd..dd41f72 100644
--- a/recipes/jollor/index.js
+++ b/recipes/jollor/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/jollor/package.json b/recipes/jollor/package.json
index 88a08e3..6a1aba6 100644
--- a/recipes/jollor/package.json
+++ b/recipes/jollor/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "jollor", 2 "id": "jollor",
3 "name": "jollor", 3 "name": "jollor",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://jollor.com", 7 "serviceURL": "https://jollor.com",
diff --git a/recipes/jollor/webview.js b/recipes/jollor/webview.js
index 693e454..24a963d 100644
--- a/recipes/jollor/webview.js
+++ b/recipes/jollor/webview.js
@@ -4,15 +4,15 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const count = document.querySelector( 9 const count = document.querySelector(
10 '.user-menu-message-item-count', 10 '.user-menu-message-item-count',
11 ).textContent; 11 ).textContent;
12 Ferdi.setBadge(count); 12 Ferdium.setBadge(count);
13 }; 13 };
14 14
15 Ferdi.loop(getMessages); 15 Ferdium.loop(getMessages);
16 16
17 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css')); 17 Ferdium.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
18}; 18};
diff --git a/recipes/kaizala/index.js b/recipes/kaizala/index.js
index 7ea3060..425683a 100644
--- a/recipes/kaizala/index.js
+++ b/recipes/kaizala/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => class Messenger extends Ferdi { 1module.exports = (Ferdium) => class Messenger extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/kaizala/package.json b/recipes/kaizala/package.json
index 2d7399a..8ce9a08 100644
--- a/recipes/kaizala/package.json
+++ b/recipes/kaizala/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "kaizala", 2 "id": "kaizala",
3 "name": "Microsoft Kaizala", 3 "name": "Microsoft Kaizala",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/meetfranz/recipe-microsoft-kaizala", 6 "repository": "https://github.com/meetfranz/recipe-microsoft-kaizala",
7 "config": { 7 "config": {
diff --git a/recipes/kaizala/webview.js b/recipes/kaizala/webview.js
index c8bdd51..7ac231e 100644
--- a/recipes/kaizala/webview.js
+++ b/recipes/kaizala/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = document.querySelectorAll('.unseen-msg-count').length; 3 const count = document.querySelectorAll('.unseen-msg-count').length;
4 Ferdi.setBadge(count); 4 Ferdium.setBadge(count);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/keybase.io/index.js b/recipes/keybase.io/index.js
index ef5d5bc..dd41f72 100644
--- a/recipes/keybase.io/index.js
+++ b/recipes/keybase.io/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class LineMe extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/keybase.io/package.json b/recipes/keybase.io/package.json
index 97814bd..f79e411 100644
--- a/recipes/keybase.io/package.json
+++ b/recipes/keybase.io/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "keybase.io", 2 "id": "keybase.io",
3 "name": "Keybase", 3 "name": "Keybase",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://keybase.io/login", 7 "serviceURL": "https://keybase.io/login",
diff --git a/recipes/kimaicloud/index.js b/recipes/kimaicloud/index.js
index 23607bd..dd41f72 100644
--- a/recipes/kimaicloud/index.js
+++ b/recipes/kimaicloud/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/kimaicloud/package.json b/recipes/kimaicloud/package.json
index 5a5a9df..c5c9c37 100644
--- a/recipes/kimaicloud/package.json
+++ b/recipes/kimaicloud/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "kimaicloud", 2 "id": "kimaicloud",
3 "name": "Kimai Cloud", 3 "name": "Kimai Cloud",
4 "version": "1.2.0", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/kimai-cloud/recipe-kimaicloud", 6 "repository": "https://github.com/kimai-cloud/recipe-kimaicloud",
7 "config": { 7 "config": {
diff --git a/recipes/kimaicloud/webview.js b/recipes/kimaicloud/webview.js
index 975b53d..2855aa2 100644
--- a/recipes/kimaicloud/webview.js
+++ b/recipes/kimaicloud/webview.js
@@ -1,15 +1,15 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
5 // get amount of running timesheets 5 // get amount of running timesheets
6 const label = document.querySelector('.main-header .navbar .dropdown.messages-menu .ticktac span.label'); 6 const label = document.querySelector('.main-header .navbar .dropdown.messages-menu .ticktac span.label');
7 if (label !== undefined) { 7 if (label !== undefined) {
8 count = Ferdi.safeParseInt(label.textContent); 8 count = Ferdium.safeParseInt(label.textContent);
9 } 9 }
10 10
11 // set Ferdi badge 11 // set Ferdium badge
12 Ferdi.setBadge(count); 12 Ferdium.setBadge(count);
13 }; 13 };
14 14
15 document.addEventListener('click', (e) => { 15 document.addEventListener('click', (e) => {
@@ -22,5 +22,5 @@ module.exports = (Ferdi) => {
22 } 22 }
23 }); 23 });
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26}; 26};
diff --git a/recipes/lark/index.js b/recipes/lark/index.js
index 23607bd..dd41f72 100644
--- a/recipes/lark/index.js
+++ b/recipes/lark/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/lark/package.json b/recipes/lark/package.json
index eaba10e..d92f6c0 100644
--- a/recipes/lark/package.json
+++ b/recipes/lark/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "lark", 2 "id": "lark",
3 "name": "Lark", 3 "name": "Lark",
4 "version": "0.1.2", 4 "version": "0.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.larksuite.com/messenger/", 7 "serviceURL": "https://{teamId}.larksuite.com/messenger/",
diff --git a/recipes/lark/webview.js b/recipes/lark/webview.js
index dfccccf..6dd561b 100644
--- a/recipes/lark/webview.js
+++ b/recipes/lark/webview.js
@@ -4,19 +4,19 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const ele = document.querySelectorAll( 9 const ele = document.querySelectorAll(
10 '.larkc-badge-count.navbarMenu-badge', 10 '.larkc-badge-count.navbarMenu-badge',
11 ); 11 );
12 if (ele.length === 0) { 12 if (ele.length === 0) {
13 Ferdi.setBadge(0); 13 Ferdium.setBadge(0);
14 return; 14 return;
15 } 15 }
16 Ferdi.setBadge(ele[0].textContent); 16 Ferdium.setBadge(ele[0].textContent);
17 }; 17 };
18 18
19 Ferdi.loop(getMessages); 19 Ferdium.loop(getMessages);
20 20
21 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 21 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
22}; 22};
diff --git a/recipes/lastpass/index.js b/recipes/lastpass/index.js
index e0daab9..8cf6ec6 100644
--- a/recipes/lastpass/index.js
+++ b/recipes/lastpass/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => class Messenger extends Ferdi { 1module.exports = Ferdium => class Messenger extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/lastpass/package.json b/recipes/lastpass/package.json
index 0ace23e..8e1efdb 100644
--- a/recipes/lastpass/package.json
+++ b/recipes/lastpass/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "lastpass", 2 "id": "lastpass",
3 "name": "LastPass", 3 "name": "LastPass",
4 "version": "2.2.4", 4 "version": "2.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://lastpass.com/?ac=1&lpnorefresh=1", 7 "serviceURL": "https://lastpass.com/?ac=1&lpnorefresh=1",
diff --git a/recipes/lastpass/webview.js b/recipes/lastpass/webview.js
index df3bd77..6287964 100644
--- a/recipes/lastpass/webview.js
+++ b/recipes/lastpass/webview.js
@@ -12,7 +12,7 @@ setTimeout(() => {
12 } 12 }
13}, 1000); 13}, 1000);
14 14
15module.exports = (Ferdi, settings) => { 15module.exports = (Ferdium, settings) => {
16 const getMessages = () => { 16 const getMessages = () => {
17 const elements = document.querySelectorAll('.CxUIE, .unread'); 17 const elements = document.querySelectorAll('.CxUIE, .unread');
18 let count = 0; 18 let count = 0;
@@ -23,11 +23,11 @@ module.exports = (Ferdi, settings) => {
23 } 23 }
24 } 24 }
25 25
26 Ferdi.setBadge(count); 26 Ferdium.setBadge(count);
27 }; 27 };
28 28
29 window.addEventListener('beforeunload', async () => { 29 window.addEventListener('beforeunload', async () => {
30 Ferdi.clearStorageData(settings.id, { 30 Ferdium.clearStorageData(settings.id, {
31 storages: [ 31 storages: [
32 'appcache', 32 'appcache',
33 'serviceworkers', 33 'serviceworkers',
@@ -36,10 +36,10 @@ module.exports = (Ferdi, settings) => {
36 'indexdb', 36 'indexdb',
37 ], 37 ],
38 }); 38 });
39 Ferdi.releaseServiceWorkers(); 39 Ferdium.releaseServiceWorkers();
40 }); 40 });
41 41
42 Ferdi.loop(getMessages); 42 Ferdium.loop(getMessages);
43 43
44 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 44 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
45}; 45};
diff --git a/recipes/linkedin/index.js b/recipes/linkedin/index.js
index 23607bd..dd41f72 100644
--- a/recipes/linkedin/index.js
+++ b/recipes/linkedin/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/linkedin/package.json b/recipes/linkedin/package.json
index 2d3ad0e..df2d857 100644
--- a/recipes/linkedin/package.json
+++ b/recipes/linkedin/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "linkedin", 2 "id": "linkedin",
3 "name": "LinkedIn", 3 "name": "LinkedIn",
4 "version": "1.2.2", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.linkedin.com/messaging" 7 "serviceURL": "https://www.linkedin.com/messaging"
diff --git a/recipes/linkedin/webview.js b/recipes/linkedin/webview.js
index ae392f5..b4180e4 100644
--- a/recipes/linkedin/webview.js
+++ b/recipes/linkedin/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
@@ -11,12 +11,12 @@ module.exports = Ferdi => {
11 '.nav-item--messaging .nav-item__badge-count', 11 '.nav-item--messaging .nav-item__badge-count',
12 ); 12 );
13 if (element) { 13 if (element) {
14 count = Ferdi.safeParseInt(element.textContent); 14 count = Ferdium.safeParseInt(element.textContent);
15 } 15 }
16 } 16 }
17 17
18 Ferdi.setBadge(count); 18 Ferdium.setBadge(count);
19 }; 19 };
20 20
21 Ferdi.loop(getMessages); 21 Ferdium.loop(getMessages);
22}; 22};
diff --git a/recipes/mailbox.org/index.js b/recipes/mailbox.org/index.js
index 23607bd..dd41f72 100644
--- a/recipes/mailbox.org/index.js
+++ b/recipes/mailbox.org/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/mailbox.org/package.json b/recipes/mailbox.org/package.json
index 188104a..5d320d7 100644
--- a/recipes/mailbox.org/package.json
+++ b/recipes/mailbox.org/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "mailbox.org", 2 "id": "mailbox.org",
3 "name": "Mailbox.org", 3 "name": "Mailbox.org",
4 "version": "1.3.2", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://office.mailbox.org/appsuite/#!!&app=io.ox/portal" 7 "serviceURL": "https://office.mailbox.org/appsuite/#!!&app=io.ox/portal"
diff --git a/recipes/mailbox.org/webview.js b/recipes/mailbox.org/webview.js
index d0fbfd0..68ab707 100644
--- a/recipes/mailbox.org/webview.js
+++ b/recipes/mailbox.org/webview.js
@@ -1,9 +1,9 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = document.querySelectorAll('.new-item').length; 3 const count = document.querySelectorAll('.new-item').length;
4 4
5 Ferdi.setBadge(count); 5 Ferdium.setBadge(count);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/mastodon/index.js b/recipes/mastodon/index.js
index 9be0938..f849228 100644
--- a/recipes/mastodon/index.js
+++ b/recipes/mastodon/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 class Mastodon extends Ferdi { 2 class Mastodon extends Ferdium {
3 validateServer(URL) { 3 validateServer(URL) {
4 const api = `${URL}`; 4 const api = `${URL}`;
5 return new Promise((resolve, reject) => { 5 return new Promise((resolve, reject) => {
diff --git a/recipes/mastodon/package.json b/recipes/mastodon/package.json
index c77d834..83b42a0 100644
--- a/recipes/mastodon/package.json
+++ b/recipes/mastodon/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "name": "Mastodon", 2 "name": "Mastodon",
3 "id": "mastodon", 3 "id": "mastodon",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasNotificationSound": true, 7 "hasNotificationSound": true,
diff --git a/recipes/mastodon/webview.js b/recipes/mastodon/webview.js
index 8fb448f..e34f284 100644
--- a/recipes/mastodon/webview.js
+++ b/recipes/mastodon/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 let latestStatement = $('.status time').attr('datetime'); 2 let latestStatement = $('.status time').attr('datetime');
3 let latestNotify = $($('.notification__message span').get(0)).text(); 3 let latestNotify = $($('.notification__message span').get(0)).text();
4 4
@@ -21,8 +21,8 @@ module.exports = Ferdi => {
21 unread = 1; 21 unread = 1;
22 } 22 }
23 23
24 Ferdi.setBadge(reply, unread); 24 Ferdium.setBadge(reply, unread);
25 }; 25 };
26 26
27 Ferdi.loop(getMessages); 27 Ferdium.loop(getMessages);
28}; 28};
diff --git a/recipes/mattermost/index.js b/recipes/mattermost/index.js
index 3a9a791..fca10e1 100644
--- a/recipes/mattermost/index.js
+++ b/recipes/mattermost/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class Mattermost extends Ferdi { 1module.exports = Ferdium => class Mattermost extends Ferdium {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 try { 3 try {
4 const resp = await window.fetch(url, { 4 const resp = await window.fetch(url, {
diff --git a/recipes/mattermost/package.json b/recipes/mattermost/package.json
index c9e6c16..457973d 100644
--- a/recipes/mattermost/package.json
+++ b/recipes/mattermost/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "mattermost", 2 "id": "mattermost",
3 "name": "Mattermost", 3 "name": "Mattermost",
4 "version": "1.3.1", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasNotificationSound": true, 7 "hasNotificationSound": true,
diff --git a/recipes/mattermost/webview.js b/recipes/mattermost/webview.js
index 179a43a..32e990e 100644
--- a/recipes/mattermost/webview.js
+++ b/recipes/mattermost/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const DIRECT_MESSAGES_INDIVIDUAL = '#sidebar-left .unread-title .DirectChannel__profile-picture'; 2 const DIRECT_MESSAGES_INDIVIDUAL = '#sidebar-left .unread-title .DirectChannel__profile-picture';
3 const DIRECT_MESSAGES_GROUP = '#sidebar-left .unread-title .status--group'; 3 const DIRECT_MESSAGES_GROUP = '#sidebar-left .unread-title .status--group';
4 const DIRECT_MESSAGES_LEGACY = '.sidebar--left .has-badge .badge'; 4 const DIRECT_MESSAGES_LEGACY = '.sidebar--left .has-badge .badge';
@@ -15,8 +15,8 @@ module.exports = Ferdi => {
15 const teamDirectMessages = document.querySelectorAll('.team-wrapper .team-container .badge').length; 15 const teamDirectMessages = document.querySelectorAll('.team-wrapper .team-container .badge').length;
16 const teamMessages = document.querySelectorAll('.team-wrapper .unread').length - teamDirectMessages; 16 const teamMessages = document.querySelectorAll('.team-wrapper .unread').length - teamDirectMessages;
17 17
18 Ferdi.setBadge(directMessages + teamDirectMessages, allMessages + teamMessages); 18 Ferdium.setBadge(directMessages + teamDirectMessages, allMessages + teamMessages);
19 }; 19 };
20 20
21 Ferdi.loop(getMessages); 21 Ferdium.loop(getMessages);
22}; 22};
diff --git a/recipes/meetup/index.js b/recipes/meetup/index.js
index 1ea918d..dd41f72 100644
--- a/recipes/meetup/index.js
+++ b/recipes/meetup/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Meetup extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/meetup/package.json b/recipes/meetup/package.json
index f18c648..42afa9b 100644
--- a/recipes/meetup/package.json
+++ b/recipes/meetup/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "meetup", 2 "id": "meetup",
3 "name": "Meetup", 3 "name": "Meetup",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://meetup.com", 7 "serviceURL": "https://meetup.com",
diff --git a/recipes/meetup/webview.js b/recipes/meetup/webview.js
index 5d45d55..1ddb5fd 100644
--- a/recipes/meetup/webview.js
+++ b/recipes/meetup/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const hasNotifications = document.querySelector(".counterBadge"); 3 const hasNotifications = document.querySelector(".counterBadge");
4 4
5 Ferdi.setBadge(0, hasNotifications ? 1 : 0); 5 Ferdium.setBadge(0, hasNotifications ? 1 : 0);
6 }; 6 };
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/messenger/index.js b/recipes/messenger/index.js
index 7ea3060..425683a 100644
--- a/recipes/messenger/index.js
+++ b/recipes/messenger/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => class Messenger extends Ferdi { 1module.exports = (Ferdium) => class Messenger extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/messenger/package.json b/recipes/messenger/package.json
index d3a50a0..09c7793 100644
--- a/recipes/messenger/package.json
+++ b/recipes/messenger/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "messenger", 2 "id": "messenger",
3 "name": "Messenger", 3 "name": "Messenger",
4 "version": "1.4.0", 4 "version": "1.5.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://messenger.com", 7 "serviceURL": "https://messenger.com",
diff --git a/recipes/messenger/webview.js b/recipes/messenger/webview.js
index 45b4460..c90f4ad 100644
--- a/recipes/messenger/webview.js
+++ b/recipes/messenger/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
@@ -9,7 +9,7 @@ module.exports = Ferdi => {
9 * see https://github.com/ferdium/ferdium-app/issues/1113#issuecomment-783409154 9 * see https://github.com/ferdium/ferdium-app/issues/1113#issuecomment-783409154
10 */ 10 */
11 if (isNotification) { 11 if (isNotification) {
12 count = Ferdi.safeParseInt(/^\((\d+)\)/.exec(document.title)[1]); 12 count = Ferdium.safeParseInt(/^\((\d+)\)/.exec(document.title)[1]);
13 } else { 13 } else {
14 /* 14 /*
15 * Notification case for direct messages, workaround by manavortex 15 * Notification case for direct messages, workaround by manavortex
@@ -33,13 +33,13 @@ module.exports = Ferdi => {
33 */ 33 */
34 const messageRequestsElement = document.querySelector('._5nxf'); 34 const messageRequestsElement = document.querySelector('._5nxf');
35 if (messageRequestsElement) { 35 if (messageRequestsElement) {
36 count += Ferdi.safeParseInt(messageRequestsElement.textContent); 36 count += Ferdium.safeParseInt(messageRequestsElement.textContent);
37 } 37 }
38 38
39 Ferdi.setBadge(count); 39 Ferdium.setBadge(count);
40 }; 40 };
41 41
42 Ferdi.loop(getMessages); 42 Ferdium.loop(getMessages);
43 43
44 localStorage.setItem( 44 localStorage.setItem(
45 '_cs_desktopNotifsEnabled', 45 '_cs_desktopNotifsEnabled',
@@ -49,8 +49,8 @@ module.exports = Ferdi => {
49 }), 49 }),
50 ); 50 );
51 51
52 if (typeof Ferdi.onNotify === 'function') { 52 if (typeof Ferdium.onNotify === 'function') {
53 Ferdi.onNotify(notification => { 53 Ferdium.onNotify(notification => {
54 if (typeof notification.title !== 'string') { 54 if (typeof notification.title !== 'string') {
55 notification.title = 55 notification.title =
56 ((notification.title.props || {}).content || [])[0] || 'Messenger'; 56 ((notification.title.props || {}).content || [])[0] || 'Messenger';
diff --git a/recipes/mewe/package.json b/recipes/mewe/package.json
index ec966cb..0277666 100644
--- a/recipes/mewe/package.json
+++ b/recipes/mewe/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "mewe", 2 "id": "mewe",
3 "name": "MeWe", 3 "name": "MeWe",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mewe.com/chat", 7 "serviceURL": "https://mewe.com/chat",
diff --git a/recipes/mewe/webview.js b/recipes/mewe/webview.js
index 84438f2..0434d1c 100644
--- a/recipes/mewe/webview.js
+++ b/recipes/mewe/webview.js
@@ -4,16 +4,16 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const calculateTotalDirectMessages = () => 8 const calculateTotalDirectMessages = () =>
9 [...document.querySelectorAll('.chats-list-element')] 9 [...document.querySelectorAll('.chats-list-element')]
10 .map(el => 10 .map(el =>
11 Ferdi.safeParseInt( 11 Ferdium.safeParseInt(
12 el.querySelector('.m-indicator .number').textContent, 12 el.querySelector('.m-indicator .number').textContent,
13 ), 13 ),
14 ) 14 )
15 .reduce((curr, prev) => curr + prev, 0); 15 .reduce((curr, prev) => curr + prev, 0);
16 16
17 Ferdi.loop(() => Ferdi.setBadge(calculateTotalDirectMessages())); 17 Ferdium.loop(() => Ferdium.setBadge(calculateTotalDirectMessages()));
18 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 18 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
19}; 19};
diff --git a/recipes/misskey/index.js b/recipes/misskey/index.js
index 51960a6..14168a3 100644
--- a/recipes/misskey/index.js
+++ b/recipes/misskey/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => 1module.exports = Ferdium =>
2 class Misskey extends Ferdi { 2 class Misskey extends Ferdium {
3 constructor(...args) { 3 constructor(...args) {
4 let _temp; 4 let _temp;
5 // eslint-disable-next-line constructor-super 5 // eslint-disable-next-line constructor-super
diff --git a/recipes/misskey/package.json b/recipes/misskey/package.json
index 056e9b6..b1664cb 100644
--- a/recipes/misskey/package.json
+++ b/recipes/misskey/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "misskey", 2 "id": "misskey",
3 "name": "Misskey", 3 "name": "Misskey",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/sharkpp/franz-recipe-misskey", 6 "repository": "https://github.com/sharkpp/franz-recipe-misskey",
7 "config": { 7 "config": {
diff --git a/recipes/misskey/webview.js b/recipes/misskey/webview.js
index 65fa237..554feb0 100644
--- a/recipes/misskey/webview.js
+++ b/recipes/misskey/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // check notification badge for Ferdi badge 3 // check notification badge for Ferdium badge
4 let hasNotification = !!document.querySelector( 4 let hasNotification = !!document.querySelector(
5 '#app div.notifications > button > i.circle', 5 '#app div.notifications > button > i.circle',
6 ); 6 );
7 Ferdi.setBadge(0, hasNotification ? 1 : 0); 7 Ferdium.setBadge(0, hasNotification ? 1 : 0);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/monday/index.js b/recipes/monday/index.js
index 23607bd..dd41f72 100644
--- a/recipes/monday/index.js
+++ b/recipes/monday/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/monday/package.json b/recipes/monday/package.json
index c29e7a8..6b1bcc6 100644
--- a/recipes/monday/package.json
+++ b/recipes/monday/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "monday", 2 "id": "monday",
3 "name": "Monday", 3 "name": "Monday",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.monday.com", 7 "serviceURL": "https://{teamId}.monday.com",
diff --git a/recipes/monday/webview.js b/recipes/monday/webview.js
index aa0d9a8..388e5bd 100755
--- a/recipes/monday/webview.js
+++ b/recipes/monday/webview.js
@@ -2,20 +2,20 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 let count = 0; 7 let count = 0;
8 8
9 const counters = document.querySelectorAll('.surface-control-component .item-counter, .surface-control-component .view-item-counter'); 9 const counters = document.querySelectorAll('.surface-control-component .item-counter, .surface-control-component .view-item-counter');
10 10
11 for (const counter of counters) { 11 for (const counter of counters) {
12 count += Ferdi.safeParseInt(counter.textContent); 12 count += Ferdium.safeParseInt(counter.textContent);
13 } 13 }
14 14
15 Ferdi.setBadge(count); 15 Ferdium.setBadge(count);
16 }; 16 };
17 17
18 Ferdi.loop(getMessages); 18 Ferdium.loop(getMessages);
19 19
20 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 20 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
21}; 21};
diff --git a/recipes/monicahq/index.js b/recipes/monicahq/index.js
index 23607bd..dd41f72 100755
--- a/recipes/monicahq/index.js
+++ b/recipes/monicahq/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/monicahq/package.json b/recipes/monicahq/package.json
index 1da2efb..58d69b9 100755
--- a/recipes/monicahq/package.json
+++ b/recipes/monicahq/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "monicahq", 2 "id": "monicahq",
3 "name": "Monica HQ", 3 "name": "Monica HQ",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/jkbecker/recipe-monica", 6 "repository": "https://github.com/jkbecker/recipe-monica",
7 "config": { 7 "config": {
diff --git a/recipes/moodle/README.md b/recipes/moodle/README.md
index 1c85a88..979980e 100644
--- a/recipes/moodle/README.md
+++ b/recipes/moodle/README.md
@@ -1,4 +1,4 @@
1# Moodle for Ferdi 1# Moodle for Ferdium
2This is a Ferdi recipe for Moodle 2This is a Ferdium recipe for Moodle
3 3
4This recipe is designed to work with the default moodle Theme. If your Moodle uses a different theme, this recipe might not be able to show an unread messages count as the CSS selectors differ. 4This recipe is designed to work with the default moodle Theme. If your Moodle uses a different theme, this recipe might not be able to show an unread messages count as the CSS selectors differ.
diff --git a/recipes/moodle/index.js b/recipes/moodle/index.js
index 0a5cedb..dd41f72 100644
--- a/recipes/moodle/index.js
+++ b/recipes/moodle/index.js
@@ -1 +1 @@
module.exports = Ferdi => class moodle extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/moodle/package.json b/recipes/moodle/package.json
index 109a197..e661884 100644
--- a/recipes/moodle/package.json
+++ b/recipes/moodle/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "moodle", 2 "id": "moodle",
3 "name": "Moodle", 3 "name": "Moodle",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true 7 "hasCustomUrl": true
diff --git a/recipes/moodle/webview.js b/recipes/moodle/webview.js
index 6439c2c..2ac7aa4 100644
--- a/recipes/moodle/webview.js
+++ b/recipes/moodle/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directCountSelector = [...document.querySelectorAll('[data-region="count-container"]')]; 3 const directCountSelector = [...document.querySelectorAll('[data-region="count-container"]')];
4 const totalMessageCount = directCountSelector.reduce( 4 const totalMessageCount = directCountSelector.reduce(
5 ((count, item) => count + Ferdi.safeParseInt(item.textContent)), 5 ((count, item) => count + Ferdium.safeParseInt(item.textContent)),
6 0 6 0
7 ); 7 );
8 8
9 Ferdi.setBadge(totalMessageCount, 0); 9 Ferdium.setBadge(totalMessageCount, 0);
10 }; 10 };
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/msteams/index.js b/recipes/msteams/index.js
index 941db72..c8cdc38 100644
--- a/recipes/msteams/index.js
+++ b/recipes/msteams/index.js
@@ -1,6 +1,6 @@
1module.exports = Ferdi => class MicrosoftTeams extends Ferdi { 1module.exports = Ferdium => class MicrosoftTeams extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5 5
6 // TODO: Commenting out since this can expose the user to a MITM attack. Before this can be turned on, we will need to put in some safeguards/warnings that the user can explicitly accept the security ramifications 6 // TODO: Commenting out since this can expose the user to a MITM attack. Before this can be turned on, we will need to put in some safeguards/warnings that the user can explicitly accept the security ramifications
diff --git a/recipes/msteams/package.json b/recipes/msteams/package.json
index 728a843..abefdd0 100644
--- a/recipes/msteams/package.json
+++ b/recipes/msteams/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "msteams", 2 "id": "msteams",
3 "name": "Microsoft Teams", 3 "name": "Microsoft Teams",
4 "version": "3.1.6", 4 "version": "3.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "teamsChat" 7 "teamsChat"
diff --git a/recipes/msteams/webview.js b/recipes/msteams/webview.js
index 1dc5aee..c5e32e9 100644
--- a/recipes/msteams/webview.js
+++ b/recipes/msteams/webview.js
@@ -4,29 +4,29 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let messages = 0; 9 let messages = 0;
10 const badge = document.querySelector( 10 const badge = document.querySelector(
11 '.activity-badge.dot-activity-badge .activity-badge', 11 '.activity-badge.dot-activity-badge .activity-badge',
12 ); 12 );
13 if (badge) { 13 if (badge) {
14 messages = Ferdi.safeParseInt(badge.textContent); 14 messages = Ferdium.safeParseInt(badge.textContent);
15 } 15 }
16 16
17 const indirectMessages = document.querySelectorAll( 17 const indirectMessages = document.querySelectorAll(
18 '[class*=channel-anchor][class*=ts-unread-channel]', 18 '[class*=channel-anchor][class*=ts-unread-channel]',
19 ).length; 19 ).length;
20 20
21 Ferdi.setBadge(messages, indirectMessages); 21 Ferdium.setBadge(messages, indirectMessages);
22 }; 22 };
23 23
24 window.addEventListener('beforeunload', async () => { 24 window.addEventListener('beforeunload', async () => {
25 Ferdi.releaseServiceWorkers(); 25 Ferdium.releaseServiceWorkers();
26 }); 26 });
27 27
28 Ferdi.loop(getMessages); 28 Ferdium.loop(getMessages);
29 29
30 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 30 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
31 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 31 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
32}; 32};
diff --git a/recipes/mstodo/index.js b/recipes/mstodo/index.js
index c0a684b..dd41f72 100644
--- a/recipes/mstodo/index.js
+++ b/recipes/mstodo/index.js
@@ -1 +1 @@
module.exports = Ferdi => class mstodo extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/mstodo/package.json b/recipes/mstodo/package.json
index 2d12e1a..2d38ce0 100644
--- a/recipes/mstodo/package.json
+++ b/recipes/mstodo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "mstodo", 2 "id": "mstodo",
3 "name": "Microsoft To Do", 3 "name": "Microsoft To Do",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://to-do.live.com/tasks/", 7 "serviceURL": "https://to-do.live.com/tasks/",
diff --git a/recipes/mstodo/webview.js b/recipes/mstodo/webview.js
index 1692a4d..960e4bb 100644
--- a/recipes/mstodo/webview.js
+++ b/recipes/mstodo/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const elements = document.querySelectorAll('.taskItem'); 7 const elements = document.querySelectorAll('.taskItem');
8 let count = 0; 8 let count = 0;
@@ -13,11 +13,11 @@ module.exports = Ferdi => {
13 } 13 }
14 } 14 }
15 15
16 // set Ferdi badge 16 // set Ferdium badge
17 Ferdi.setBadge(count); 17 Ferdium.setBadge(count);
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdium.loop(getMessages);
21 21
22 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 22 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
23}; 23};
diff --git a/recipes/mysms/index.js b/recipes/mysms/index.js
index 23607bd..dd41f72 100644
--- a/recipes/mysms/index.js
+++ b/recipes/mysms/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/mysms/package.json b/recipes/mysms/package.json
index a88baf3..a81fbc4 100644
--- a/recipes/mysms/package.json
+++ b/recipes/mysms/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "mysms", 2 "id": "mysms",
3 "name": "MySMS", 3 "name": "MySMS",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.mysms.com" 7 "serviceURL": "https://app.mysms.com"
diff --git a/recipes/mysms/webview.js b/recipes/mysms/webview.js
index 1878120..e0d638d 100644
--- a/recipes/mysms/webview.js
+++ b/recipes/mysms/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const elements = document.querySelectorAll('.unread'); 3 const elements = document.querySelectorAll('.unread');
4 4
5 let count = 0; 5 let count = 0;
6 for (const element of elements) { 6 for (const element of elements) {
7 if ( 7 if (
8 Ferdi.safeParseInt( 8 Ferdium.safeParseInt(
9 element.textContent && element.textContent.replace(/[^\d.]/g, ''), 9 element.textContent && element.textContent.replace(/[^\d.]/g, ''),
10 ) > 0 10 ) > 0
11 ) { 11 ) {
@@ -13,8 +13,8 @@ module.exports = Ferdi => {
13 } 13 }
14 } 14 }
15 15
16 Ferdi.setBadge(count); 16 Ferdium.setBadge(count);
17 }; 17 };
18 18
19 Ferdi.loop(getMessages); 19 Ferdium.loop(getMessages);
20}; 20};
diff --git a/recipes/netatmo-energy/index.js b/recipes/netatmo-energy/index.js
index 23607bd..dd41f72 100644
--- a/recipes/netatmo-energy/index.js
+++ b/recipes/netatmo-energy/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/netatmo-energy/package.json b/recipes/netatmo-energy/package.json
index 4218515..1d72bf0 100644
--- a/recipes/netatmo-energy/package.json
+++ b/recipes/netatmo-energy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "netatmo-energy", 2 "id": "netatmo-energy",
3 "name": "Netatmo Energy", 3 "name": "Netatmo Energy",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/rctneil/franz-recipe-netatmo-energy", 6 "repository": "https://github.com/rctneil/franz-recipe-netatmo-energy",
7 "config": { 7 "config": {
diff --git a/recipes/netlify/index.js b/recipes/netlify/index.js
index f620a46..dd41f72 100644
--- a/recipes/netlify/index.js
+++ b/recipes/netlify/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => class Netlify extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/netlify/package.json b/recipes/netlify/package.json
index d69dbfe..a90c544 100644
--- a/recipes/netlify/package.json
+++ b/recipes/netlify/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "netlify", 2 "id": "netlify",
3 "name": "Netlify", 3 "name": "Netlify",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.netlify.com", 7 "serviceURL": "https://app.netlify.com",
diff --git a/recipes/netlify/webview.js b/recipes/netlify/webview.js
index 01b215b..6bfff02 100644
--- a/recipes/netlify/webview.js
+++ b/recipes/netlify/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notifications = document.querySelectorAll("circle"); 3 const notifications = document.querySelectorAll("circle");
4 4
5 Ferdi.setBadge(0, notifications.length > 0 ? 1 : 0); 5 Ferdium.setBadge(0, notifications.length > 0 ? 1 : 0);
6 }; 6 };
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/nextcloud-calendar/index.js b/recipes/nextcloud-calendar/index.js
index 972816c..8d77048 100644
--- a/recipes/nextcloud-calendar/index.js
+++ b/recipes/nextcloud-calendar/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class NextcloudCarnet extends Ferdi { 1module.exports = Ferdium => class NextcloudCarnet extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/apps/calendar/`; 3 return `${url}/apps/calendar/`;
4 } 4 }
diff --git a/recipes/nextcloud-calendar/package.json b/recipes/nextcloud-calendar/package.json
index 6783f7b..fa8b3d9 100644
--- a/recipes/nextcloud-calendar/package.json
+++ b/recipes/nextcloud-calendar/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-calendar", 2 "id": "nextcloud-calendar",
3 "name": "Nextcloud Calendar", 3 "name": "Nextcloud Calendar",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-calendar", 6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-calendar",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud-calendar/webview.js b/recipes/nextcloud-calendar/webview.js
index 2d932c0..84c55f2 100644
--- a/recipes/nextcloud-calendar/webview.js
+++ b/recipes/nextcloud-calendar/webview.js
@@ -2,16 +2,16 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
8 '.notifications .notification-wrapper .notification[object_type="dav"]', 8 '.notifications .notification-wrapper .notification[object_type="dav"]',
9 ).length; 9 ).length;
10 10
11 Ferdi.setBadge(direct); 11 Ferdium.setBadge(direct);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15 15
16 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 16 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
17}; 17};
diff --git a/recipes/nextcloud-carnet/index.js b/recipes/nextcloud-carnet/index.js
index d983e26..f684bbd 100644
--- a/recipes/nextcloud-carnet/index.js
+++ b/recipes/nextcloud-carnet/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class NextcloudCarnet extends Ferdi { 1module.exports = Ferdium => class NextcloudCarnet extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/apps/carnet/`; 3 return `${url}/apps/carnet/`;
4 } 4 }
diff --git a/recipes/nextcloud-carnet/package.json b/recipes/nextcloud-carnet/package.json
index 6d59dc8..82c1eb7 100644
--- a/recipes/nextcloud-carnet/package.json
+++ b/recipes/nextcloud-carnet/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-carnet", 2 "id": "nextcloud-carnet",
3 "name": "Carnet (Nextcloud)", 3 "name": "Carnet (Nextcloud)",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-carnet", 6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-carnet",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud-carnet/webview.js b/recipes/nextcloud-carnet/webview.js
index cecd453..e9e6433 100644
--- a/recipes/nextcloud-carnet/webview.js
+++ b/recipes/nextcloud-carnet/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
8 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -11,10 +11,10 @@ module.exports = Ferdi => {
11 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
12 ).length; 12 ).length;
13 13
14 Ferdi.setBadge(direct, indirect); 14 Ferdium.setBadge(direct, indirect);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/nextcloud-cospend/index.js b/recipes/nextcloud-cospend/index.js
index 633774b..4ba7df9 100644
--- a/recipes/nextcloud-cospend/index.js
+++ b/recipes/nextcloud-cospend/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class NextcloudCarnet extends Ferdi { 1module.exports = Ferdium => class NextcloudCarnet extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/apps/cospend/`; 3 return `${url}/apps/cospend/`;
4 } 4 }
diff --git a/recipes/nextcloud-cospend/package.json b/recipes/nextcloud-cospend/package.json
index 43691ad..bddfcfd 100644
--- a/recipes/nextcloud-cospend/package.json
+++ b/recipes/nextcloud-cospend/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-cospend", 2 "id": "nextcloud-cospend",
3 "name": "Nextcloud Cospend", 3 "name": "Nextcloud Cospend",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-cospend", 6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-cospend",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud-cospend/webview.js b/recipes/nextcloud-cospend/webview.js
index cecd453..e9e6433 100644
--- a/recipes/nextcloud-cospend/webview.js
+++ b/recipes/nextcloud-cospend/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
8 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -11,10 +11,10 @@ module.exports = Ferdi => {
11 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
12 ).length; 12 ).length;
13 13
14 Ferdi.setBadge(direct, indirect); 14 Ferdium.setBadge(direct, indirect);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/nextcloud-news/README.md b/recipes/nextcloud-news/README.md
index 417ceb9..d8c9792 100644
--- a/recipes/nextcloud-news/README.md
+++ b/recipes/nextcloud-news/README.md
@@ -1,8 +1,8 @@
1# Ferdi recipe for Nextcloud News 1# Ferdium recipe for Nextcloud News
2 2
3Nextcloud News is a RSS news reading app for Nextcloud. 3Nextcloud News is a RSS news reading app for Nextcloud.
4 4
5To add Nextcloud News service to Ferdi, Nextcloud server address should be provided in the field "Custom server". 5To add Nextcloud News service to Ferdium, Nextcloud server address should be provided in the field "Custom server".
6 6
7## Credits 7## Credits
8 8
@@ -12,10 +12,10 @@ Icons were sourced from <https://github.com/nextcloud/tasks/news/master/img> (`f
12 12
13## Links 13## Links
14 14
15Ferdi: 15Ferdium:
16 16
17- [Ferdi](https://ferdium.org/) 17- [Ferdium](https://ferdium.org/)
18- [Ferdi recipes](https://github.com/ferdium/ferdium-recipes) 18- [Ferdium recipes](https://github.com/ferdium/ferdium-recipes)
19 19
20Nextcloud: 20Nextcloud:
21 21
diff --git a/recipes/nextcloud-news/index.js b/recipes/nextcloud-news/index.js
index abe7b52..dd41f72 100644
--- a/recipes/nextcloud-news/index.js
+++ b/recipes/nextcloud-news/index.js
@@ -1 +1 @@
module.exports = Ferdi => class NextcloudNews extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/nextcloud-news/package.json b/recipes/nextcloud-news/package.json
index f145a86..8ea85de 100644
--- a/recipes/nextcloud-news/package.json
+++ b/recipes/nextcloud-news/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-news", 2 "id": "nextcloud-news",
3 "name": "Nextcloud News", 3 "name": "Nextcloud News",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/csolisr/recipes/tree/master/recipes/nextcloud-news/", 6 "repository": "https://github.com/csolisr/recipes/tree/master/recipes/nextcloud-news/",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud-news/webview.js b/recipes/nextcloud-news/webview.js
index 7c1c65c..c5e295e 100644
--- a/recipes/nextcloud-news/webview.js
+++ b/recipes/nextcloud-news/webview.js
@@ -4,17 +4,17 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const selector = document.querySelector( 9 const selector = document.querySelector(
10 '.subscriptions-feed .app-navigation-entry-utils-counter', 10 '.subscriptions-feed .app-navigation-entry-utils-counter',
11 ); 11 );
12 const direct = selector ? Ferdi.safeParseInt(selector.textContent) : 0; 12 const direct = selector ? Ferdium.safeParseInt(selector.textContent) : 0;
13 13
14 Ferdi.setBadge(direct); 14 Ferdium.setBadge(direct);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/nextcloud-talk/index.js b/recipes/nextcloud-talk/index.js
index 5cd6acb..8b520e9 100644
--- a/recipes/nextcloud-talk/index.js
+++ b/recipes/nextcloud-talk/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class Nextcloud extends Ferdi { 1module.exports = Ferdium => class Nextcloud extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/apps/spreed/`; 3 return `${url}/apps/spreed/`;
4 } 4 }
diff --git a/recipes/nextcloud-talk/package.json b/recipes/nextcloud-talk/package.json
index 7120673..9933228 100644
--- a/recipes/nextcloud-talk/package.json
+++ b/recipes/nextcloud-talk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-talk", 2 "id": "nextcloud-talk",
3 "name": "Nextcloud Talk", 3 "name": "Nextcloud Talk",
4 "version": "1.2.0", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasNotificationSound": true, 7 "hasNotificationSound": true,
diff --git a/recipes/nextcloud-talk/webview.js b/recipes/nextcloud-talk/webview.js
index 5e28853..96681f6 100644
--- a/recipes/nextcloud-talk/webview.js
+++ b/recipes/nextcloud-talk/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 let direct = 0; 7 let direct = 0;
8 const notificationWrapper = document.querySelector( 8 const notificationWrapper = document.querySelector(
@@ -20,15 +20,15 @@ module.exports = Ferdi => {
20 for (const counter of document.querySelectorAll('.app-navigation-entry__counter')) { 20 for (const counter of document.querySelectorAll('.app-navigation-entry__counter')) {
21 indirect += Number(counter.textContent); 21 indirect += Number(counter.textContent);
22 } 22 }
23 23
24 if (document.title.startsWith("*")) { 24 if (document.title.startsWith("*")) {
25 indirect++; 25 indirect++;
26 } 26 }
27 27
28 Ferdi.setBadge(direct, indirect); 28 Ferdium.setBadge(direct, indirect);
29 }; 29 };
30 30
31 Ferdi.loop(getMessages); 31 Ferdium.loop(getMessages);
32 32
33 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 33 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
34}; 34};
diff --git a/recipes/nextcloud-tasks/index.js b/recipes/nextcloud-tasks/index.js
index e62f4b0..f5f6746 100644
--- a/recipes/nextcloud-tasks/index.js
+++ b/recipes/nextcloud-tasks/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class NextcloudCarnet extends Ferdi { 1module.exports = Ferdium => class NextcloudCarnet extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/apps/tasks/`; 3 return `${url}/apps/tasks/`;
4 } 4 }
diff --git a/recipes/nextcloud-tasks/package.json b/recipes/nextcloud-tasks/package.json
index e57d2b8..c1b0558 100644
--- a/recipes/nextcloud-tasks/package.json
+++ b/recipes/nextcloud-tasks/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud-tasks", 2 "id": "nextcloud-tasks",
3 "name": "Nextcloud Tasks", 3 "name": "Nextcloud Tasks",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-tasks", 6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud-tasks",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud-tasks/webview.js b/recipes/nextcloud-tasks/webview.js
index cecd453..e9e6433 100644
--- a/recipes/nextcloud-tasks/webview.js
+++ b/recipes/nextcloud-tasks/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
8 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -11,10 +11,10 @@ module.exports = Ferdi => {
11 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
12 ).length; 12 ).length;
13 13
14 Ferdi.setBadge(direct, indirect); 14 Ferdium.setBadge(direct, indirect);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/nextcloud/index.js b/recipes/nextcloud/index.js
index 66d3347..4618097 100644
--- a/recipes/nextcloud/index.js
+++ b/recipes/nextcloud/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class Nextcloud extends Ferdi { 1module.exports = Ferdium => class Nextcloud extends Ferdium {
2 buildUrl(url) { 2 buildUrl(url) {
3 return `${url}/`; 3 return `${url}/`;
4 } 4 }
diff --git a/recipes/nextcloud/package.json b/recipes/nextcloud/package.json
index 409ebc9..de475f6 100644
--- a/recipes/nextcloud/package.json
+++ b/recipes/nextcloud/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextcloud", 2 "id": "nextcloud",
3 "name": "Nextcloud", 3 "name": "Nextcloud",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud", 6 "repository": "https://github.com/eandersons/ferdi-recipe-nextcloud",
7 "config": { 7 "config": {
diff --git a/recipes/nextcloud/webview.js b/recipes/nextcloud/webview.js
index 9072ecf..786f7a8 100644
--- a/recipes/nextcloud/webview.js
+++ b/recipes/nextcloud/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const direct = document.querySelectorAll( 3 const direct = document.querySelectorAll(
4 '.notifications .notification-container .notification-wrapper li .notification', 4 '.notifications .notification-container .notification-wrapper li .notification',
5 ).length; 5 ).length;
6 6
7 Ferdi.setBadge(direct); 7 Ferdium.setBadge(direct);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/nextdoor/index.js b/recipes/nextdoor/index.js
index 23607bd..dd41f72 100644
--- a/recipes/nextdoor/index.js
+++ b/recipes/nextdoor/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/nextdoor/package.json b/recipes/nextdoor/package.json
index b028c19..2874231 100644
--- a/recipes/nextdoor/package.json
+++ b/recipes/nextdoor/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nextdoor", 2 "id": "nextdoor",
3 "name": "Nextdoor", 3 "name": "Nextdoor",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://nextdoor.co.uk/inbox/" 7 "serviceURL": "https://nextdoor.co.uk/inbox/"
diff --git a/recipes/nextdoor/webview.js b/recipes/nextdoor/webview.js
index 809e368..bec9944 100644
--- a/recipes/nextdoor/webview.js
+++ b/recipes/nextdoor/webview.js
@@ -1,14 +1,14 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let unread = 0; 3 let unread = 0;
4 const notificationBadge = document.querySelectorAll( 4 const notificationBadge = document.querySelectorAll(
5 '.notification-badge', 5 '.notification-badge',
6 )[0]; 6 )[0];
7 if (notificationBadge != undefined) { 7 if (notificationBadge != undefined) {
8 unread = Ferdi.safeParseInt(notificationBadge.textContent); 8 unread = Ferdium.safeParseInt(notificationBadge.textContent);
9 } 9 }
10 Ferdi.setBadge(unread); 10 Ferdium.setBadge(unread);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14}; 14};
diff --git a/recipes/noisli/index.js b/recipes/noisli/index.js
index 23607bd..dd41f72 100755
--- a/recipes/noisli/index.js
+++ b/recipes/noisli/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/noisli/package.json b/recipes/noisli/package.json
index 5a13c45..66215c8 100755
--- a/recipes/noisli/package.json
+++ b/recipes/noisli/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "noisli", 2 "id": "noisli",
3 "name": "Noisli", 3 "name": "Noisli",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.noisli.com/login" 7 "serviceURL": "https://www.noisli.com/login"
diff --git a/recipes/nomadlist/index.js b/recipes/nomadlist/index.js
index 23607bd..dd41f72 100644
--- a/recipes/nomadlist/index.js
+++ b/recipes/nomadlist/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/nomadlist/package.json b/recipes/nomadlist/package.json
index 28f0fb2..64936d6 100644
--- a/recipes/nomadlist/package.json
+++ b/recipes/nomadlist/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "nomadlist", 2 "id": "nomadlist",
3 "name": "NomadList", 3 "name": "NomadList",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://nomadlist.com/chat", 7 "serviceURL": "https://nomadlist.com/chat",
diff --git a/recipes/nomadlist/webview.js b/recipes/nomadlist/webview.js
index 1afaa1c..f737e2e 100644
--- a/recipes/nomadlist/webview.js
+++ b/recipes/nomadlist/webview.js
@@ -1,7 +1,7 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 Ferdi.setBadge($('.unread').length); 3 Ferdium.setBadge($('.unread').length);
4 }; 4 };
5 5
6 Ferdi.loop(getMessages); 6 Ferdium.loop(getMessages);
7}; 7};
diff --git a/recipes/notion/index.js b/recipes/notion/index.js
index 23607bd..dd41f72 100644
--- a/recipes/notion/index.js
+++ b/recipes/notion/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/notion/package.json b/recipes/notion/package.json
index 4db4a65..f020b26 100644
--- a/recipes/notion/package.json
+++ b/recipes/notion/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "notion", 2 "id": "notion",
3 "name": "Notion", 3 "name": "Notion",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/TanZng/ferdi-notion", 6 "repository": "https://github.com/TanZng/ferdi-notion",
7 "config": { 7 "config": {
diff --git a/recipes/notion/webview.js b/recipes/notion/webview.js
index b209e75..b64727a 100644
--- a/recipes/notion/webview.js
+++ b/recipes/notion/webview.js
@@ -1,15 +1,15 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 const badgeDiv = document.querySelector( 4 const badgeDiv = document.querySelector(
5 '.notion-sidebar-container > div > div > div > :nth-child(4) > :nth-child(2) > div > :nth-child(3) > div > div', 5 '.notion-sidebar-container > div > div > div > :nth-child(4) > :nth-child(2) > div > :nth-child(3) > div > div',
6 ); 6 );
7 if (badgeDiv) { 7 if (badgeDiv) {
8 direct = Ferdi.safeParseInt(badgeDiv.textContent); 8 direct = Ferdium.safeParseInt(badgeDiv.textContent);
9 } 9 }
10 10
11 Ferdi.setBadge(direct); 11 Ferdium.setBadge(direct);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15}; 15};
diff --git a/recipes/odoo/index.js b/recipes/odoo/index.js
index ad78a76..dd41f72 100644
--- a/recipes/odoo/index.js
+++ b/recipes/odoo/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Odoo extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/odoo/package.json b/recipes/odoo/package.json
index 5ede01c..3069723 100644
--- a/recipes/odoo/package.json
+++ b/recipes/odoo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "odoo", 2 "id": "odoo",
3 "name": "Odoo", 3 "name": "Odoo",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.odoo.com/web/login", 7 "serviceURL": "https://www.odoo.com/web/login",
diff --git a/recipes/office365-owa/index.js b/recipes/office365-owa/index.js
index 89568a6..2b10475 100644
--- a/recipes/office365-owa/index.js
+++ b/recipes/office365-owa/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => class Outlook extends Ferdi { 1module.exports = Ferdium => class Outlook extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/office365-owa/package.json b/recipes/office365-owa/package.json
index 56690e2..bcdb8ba 100644
--- a/recipes/office365-owa/package.json
+++ b/recipes/office365-owa/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "office365-owa", 2 "id": "office365-owa",
3 "name": "Office 365 Outlook", 3 "name": "Office 365 Outlook",
4 "version": "1.5.0", 4 "version": "1.6.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [ 6 "aliases": [
7 "live.com" 7 "live.com"
diff --git a/recipes/office365-owa/webview.js b/recipes/office365-owa/webview.js
index 17649fd..70790f0 100644
--- a/recipes/office365-owa/webview.js
+++ b/recipes/office365-owa/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Ferdi, settings) => { 1module.exports = (Ferdium, settings) => {
2 const collectCounts = selector => { 2 const collectCounts = selector => {
3 let unreadCount = 0; 3 let unreadCount = 0;
4 const foldersElement = document.querySelector(selector); 4 const foldersElement = document.querySelector(selector);
@@ -8,7 +8,7 @@ module.exports = (Ferdi, settings) => {
8 ); 8 );
9 for (const child of allScreenReaders) { 9 for (const child of allScreenReaders) {
10 if (child.previousSibling) { 10 if (child.previousSibling) {
11 unreadCount += Ferdi.safeParseInt(child.previousSibling.textContent); 11 unreadCount += Ferdium.safeParseInt(child.previousSibling.textContent);
12 } 12 }
13 } 13 }
14 } 14 }
@@ -21,7 +21,7 @@ module.exports = (Ferdi, settings) => {
21 21
22 if (/\/owa/.test(location.pathname)) { 22 if (/\/owa/.test(location.pathname)) {
23 // classic app 23 // classic app
24 directUnreadCount = Ferdi.safeParseInt( 24 directUnreadCount = Ferdium.safeParseInt(
25 document.querySelectorAll("span[title*='Inbox'] + div > span")[0] 25 document.querySelectorAll("span[title*='Inbox'] + div > span")[0]
26 .textContent, 26 .textContent,
27 ); 27 );
@@ -35,8 +35,8 @@ module.exports = (Ferdi, settings) => {
35 indirectUnreadCount = collectCounts('div[role=tree]:nth-child(4)'); // groups 35 indirectUnreadCount = collectCounts('div[role=tree]:nth-child(4)'); // groups
36 } 36 }
37 37
38 Ferdi.setBadge(directUnreadCount, indirectUnreadCount); 38 Ferdium.setBadge(directUnreadCount, indirectUnreadCount);
39 }; 39 };
40 40
41 Ferdi.loop(getMessages); 41 Ferdium.loop(getMessages);
42}; 42};
diff --git a/recipes/onenote/index.js b/recipes/onenote/index.js
index b6a0630..dd41f72 100644
--- a/recipes/onenote/index.js
+++ b/recipes/onenote/index.js
@@ -1 +1 @@
module.exports = Ferdi => class onenote extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/onenote/package.json b/recipes/onenote/package.json
index 561de1c..2a7bf38 100644
--- a/recipes/onenote/package.json
+++ b/recipes/onenote/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "onenote", 2 "id": "onenote",
3 "name": "OneNote", 3 "name": "OneNote",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://onenote.com" 7 "serviceURL": "https://onenote.com"
diff --git a/recipes/paymo/index.js b/recipes/paymo/index.js
index 23607bd..dd41f72 100644
--- a/recipes/paymo/index.js
+++ b/recipes/paymo/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/paymo/package.json b/recipes/paymo/package.json
index 002c3a9..d886528 100644
--- a/recipes/paymo/package.json
+++ b/recipes/paymo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "paymo", 2 "id": "paymo",
3 "name": "Paymo", 3 "name": "Paymo",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.paymoapp.com/auth/login" 7 "serviceURL": "https://app.paymoapp.com/auth/login"
diff --git a/recipes/pinterest/index.js b/recipes/pinterest/index.js
index 2495a63..dd41f72 100644
--- a/recipes/pinterest/index.js
+++ b/recipes/pinterest/index.js
@@ -1 +1 @@
module.exports = Ferdi => class pinterest extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/pinterest/package.json b/recipes/pinterest/package.json
index 9fa8c63..5790e1f 100644
--- a/recipes/pinterest/package.json
+++ b/recipes/pinterest/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pinterest", 2 "id": "pinterest",
3 "name": "Pinterest", 3 "name": "Pinterest",
4 "version": "1.0.4", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://pinterest.com" 7 "serviceURL": "https://pinterest.com"
diff --git a/recipes/pipefy/index.js b/recipes/pipefy/index.js
index 9e105e9..3dc9471 100644
--- a/recipes/pipefy/index.js
+++ b/recipes/pipefy/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => 1module.exports = (Ferdium) =>
2 class Pipefy extends Ferdi { 2 class Pipefy extends Ferdium {
3 overrideUserAgent() { 3 overrideUserAgent() {
4 return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0"; 4 return "Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:72.0) Gecko/20100101 Firefox/72.0";
5 } 5 }
diff --git a/recipes/pipefy/package.json b/recipes/pipefy/package.json
index 0c481a9..ba02935 100644
--- a/recipes/pipefy/package.json
+++ b/recipes/pipefy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pipefy", 2 "id": "pipefy",
3 "name": "Pipefy", 3 "name": "Pipefy",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.pipefy.com/", 7 "serviceURL": "https://app.pipefy.com/",
diff --git a/recipes/pipefy/webview.js b/recipes/pipefy/webview.js
index e0ac242..f951ad1 100644
--- a/recipes/pipefy/webview.js
+++ b/recipes/pipefy/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const getNotificationButton = document.querySelector( 3 const getNotificationButton = document.querySelector(
4 '#notifications_button', 4 '#notifications_button',
5 ); 5 );
6 let hasNotification = getNotificationButton.classList.contains('pp-active'); 6 let hasNotification = getNotificationButton.classList.contains('pp-active');
7 Ferdi.setBadge(0, hasNotification ? 1 : 0); 7 Ferdium.setBadge(0, hasNotification ? 1 : 0);
8 }; 8 };
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/pivotal-tracker/index.js b/recipes/pivotal-tracker/index.js
index 23607bd..dd41f72 100644
--- a/recipes/pivotal-tracker/index.js
+++ b/recipes/pivotal-tracker/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/pivotal-tracker/package.json b/recipes/pivotal-tracker/package.json
index 5b2357a..42ba0dc 100644
--- a/recipes/pivotal-tracker/package.json
+++ b/recipes/pivotal-tracker/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pivotal-tracker", 2 "id": "pivotal-tracker",
3 "name": "pivotal-tracker", 3 "name": "pivotal-tracker",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.pivotaltracker.com/signin", 7 "serviceURL": "https://www.pivotaltracker.com/signin",
diff --git a/recipes/pivotal-tracker/webview.js b/recipes/pivotal-tracker/webview.js
index 1775292..8671847 100644
--- a/recipes/pivotal-tracker/webview.js
+++ b/recipes/pivotal-tracker/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const bell = document.querySelectorAll('#view65 > span')[0]; 3 const bell = document.querySelectorAll('#view65 > span')[0];
4 if (bell) { 4 if (bell) {
5 Ferdi.setBadge(bell.textContent); 5 Ferdium.setBadge(bell.textContent);
6 } 6 }
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/plan/index.js b/recipes/plan/index.js
index 23607bd..dd41f72 100644
--- a/recipes/plan/index.js
+++ b/recipes/plan/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/plan/package.json b/recipes/plan/package.json
index 1670ecf..ab2b162 100644
--- a/recipes/plan/package.json
+++ b/recipes/plan/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "plan", 2 "id": "plan",
3 "name": "Plan", 3 "name": "Plan",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://getplan.co/", 7 "serviceURL": "https://getplan.co/",
diff --git a/recipes/plek/index.js b/recipes/plek/index.js
index 23607bd..dd41f72 100644
--- a/recipes/plek/index.js
+++ b/recipes/plek/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/plek/package.json b/recipes/plek/package.json
index a1737e9..815b34e 100644
--- a/recipes/plek/package.json
+++ b/recipes/plek/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "plek", 2 "id": "plek",
3 "name": "Plek", 3 "name": "Plek",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "repository": "https://github.com/jsimonetti/franz-recipe-plek", 5 "repository": "https://github.com/jsimonetti/franz-recipe-plek",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/plek/webview.js b/recipes/plek/webview.js
index 661868b..bf3579e 100644
--- a/recipes/plek/webview.js
+++ b/recipes/plek/webview.js
@@ -1,20 +1,20 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directMessages = 0; 3 let directMessages = 0;
4 let indirectMessages = 0; 4 let indirectMessages = 0;
5 5
6 const elements = document.querySelectorAll('.counter'); 6 const elements = document.querySelectorAll('.counter');
7 for (const element of elements) { 7 for (const element of elements) {
8 directMessages += Ferdi.safeParseInt(element.textContent); 8 directMessages += Ferdium.safeParseInt(element.textContent);
9 } 9 }
10 10
11 const elements2 = document.querySelectorAll('.badge'); 11 const elements2 = document.querySelectorAll('.badge');
12 for (const element of elements2) { 12 for (const element of elements2) {
13 indirectMessages += Ferdi.safeParseInt(element.textContent); 13 indirectMessages += Ferdium.safeParseInt(element.textContent);
14 } 14 }
15 15
16 Ferdi.setBadge(directMessages, indirectMessages); 16 Ferdium.setBadge(directMessages, indirectMessages);
17 }; 17 };
18 18
19 Ferdi.loop(getMessages); 19 Ferdium.loop(getMessages);
20}; 20};
diff --git a/recipes/pleroma/index.js b/recipes/pleroma/index.js
index 06a6e2d..67a0e19 100644
--- a/recipes/pleroma/index.js
+++ b/recipes/pleroma/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class Pleroma extends Ferdi { 1module.exports = Ferdium => class Pleroma extends Ferdium {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 try { 3 try {
4 const resp = await window.fetch(`${url}/api/v1/instance`, { 4 const resp = await window.fetch(`${url}/api/v1/instance`, {
diff --git a/recipes/pleroma/package.json b/recipes/pleroma/package.json
index 766a63c..de92244 100644
--- a/recipes/pleroma/package.json
+++ b/recipes/pleroma/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pleroma", 2 "id": "pleroma",
3 "name": "Pleroma", 3 "name": "Pleroma",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true 7 "hasCustomUrl": true
diff --git a/recipes/pleroma/webview.js b/recipes/pleroma/webview.js
index c7a6530..41516f6 100644
--- a/recipes/pleroma/webview.js
+++ b/recipes/pleroma/webview.js
@@ -141,29 +141,29 @@ class LogoUpdater {
141 } 141 }
142} 142}
143 143
144module.exports = Ferdi => { 144module.exports = Ferdium => {
145 const getMessages = () => { 145 const getMessages = () => {
146 let directCount = 0; 146 let directCount = 0;
147 const matchArr = document.title.match(titleRegex); 147 const matchArr = document.title.match(titleRegex);
148 if (matchArr) { 148 if (matchArr) {
149 directCount = Ferdi.safeParseInt(matchArr[1]); 149 directCount = Ferdium.safeParseInt(matchArr[1]);
150 } 150 }
151 Ferdi.setBadge(directCount); 151 Ferdium.setBadge(directCount);
152 }; 152 };
153 153
154 getInstanceLogo().then( 154 getInstanceLogo().then(
155 ({ logo, logoMask }) => { 155 ({ logo, logoMask }) => {
156 const updater = new LogoUpdater(logo, logoMask); 156 const updater = new LogoUpdater(logo, logoMask);
157 Ferdi.loop(() => { 157 Ferdium.loop(() => {
158 getMessages(); 158 getMessages();
159 if (updater.update()) { 159 if (updater.update()) {
160 Ferdi.setAvatarImage(updater.toDataURL()); 160 Ferdium.setAvatarImage(updater.toDataURL());
161 } 161 }
162 }); 162 });
163 }, 163 },
164 error => { 164 error => {
165 console.log('Failed to load instance logo', error); 165 console.log('Failed to load instance logo', error);
166 Ferdi.loop(getMessages); 166 Ferdium.loop(getMessages);
167 }, 167 },
168 ); 168 );
169}; 169};
diff --git a/recipes/plurk/index.js b/recipes/plurk/index.js
index 23607bd..dd41f72 100644
--- a/recipes/plurk/index.js
+++ b/recipes/plurk/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/plurk/package.json b/recipes/plurk/package.json
index d9d3fb5..50415da 100644
--- a/recipes/plurk/package.json
+++ b/recipes/plurk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "plurk", 2 "id": "plurk",
3 "name": "Plurk", 3 "name": "Plurk",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.plurk.com" 7 "serviceURL": "https://www.plurk.com"
diff --git a/recipes/plurk/webview.js b/recipes/plurk/webview.js
index 09f15da..dfacf30 100644
--- a/recipes/plurk/webview.js
+++ b/recipes/plurk/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 4
@@ -6,14 +6,14 @@ module.exports = Ferdi => {
6 const re = document.querySelector('#noti_re_count'); 6 const re = document.querySelector('#noti_re_count');
7 7
8 if (np) { 8 if (np) {
9 direct += Ferdi.safeParseInt(np.textContent); 9 direct += Ferdium.safeParseInt(np.textContent);
10 } 10 }
11 if (re) { 11 if (re) {
12 direct += Ferdi.safeParseInt(re.textContent); 12 direct += Ferdium.safeParseInt(re.textContent);
13 } 13 }
14 14
15 Ferdi.setBadge(direct); 15 Ferdium.setBadge(direct);
16 }; 16 };
17 17
18 Ferdi.loop(getMessages, 10_000); 18 Ferdium.loop(getMessages, 10_000);
19}; 19};
diff --git a/recipes/pocket/index.js b/recipes/pocket/index.js
index 23607bd..dd41f72 100644
--- a/recipes/pocket/index.js
+++ b/recipes/pocket/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/pocket/package.json b/recipes/pocket/package.json
index afaea64..bc7630a 100644
--- a/recipes/pocket/package.json
+++ b/recipes/pocket/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pocket", 2 "id": "pocket",
3 "name": "Pocket", 3 "name": "Pocket",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://getpocket.com/a/queue/list/" 7 "serviceURL": "https://getpocket.com/a/queue/list/"
diff --git a/recipes/podio/index.js b/recipes/podio/index.js
index 23607bd..dd41f72 100644
--- a/recipes/podio/index.js
+++ b/recipes/podio/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/podio/package.json b/recipes/podio/package.json
index f4061f9..5d2ae43 100644
--- a/recipes/podio/package.json
+++ b/recipes/podio/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "podio", 2 "id": "podio",
3 "name": "Podio", 3 "name": "Podio",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://podio.com", 7 "serviceURL": "https://podio.com",
diff --git a/recipes/podio/webview.js b/recipes/podio/webview.js
index 0a0c31e..9ba40d0 100644
--- a/recipes/podio/webview.js
+++ b/recipes/podio/webview.js
@@ -4,13 +4,13 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const updates = document.querySelectorAll('.counter')[0].textContent; 9 const updates = document.querySelectorAll('.counter')[0].textContent;
10 Ferdi.setBadge(updates, 0); 10 Ferdium.setBadge(updates, 0);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14 14
15 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css')); 15 Ferdium.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
16}; 16};
diff --git a/recipes/pomodoro-tracker/index.js b/recipes/pomodoro-tracker/index.js
index 52abf4d..dd41f72 100644
--- a/recipes/pomodoro-tracker/index.js
+++ b/recipes/pomodoro-tracker/index.js
@@ -1 +1 @@
module.exports = Ferdi => class pomodorotracker extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/pomodoro-tracker/package.json b/recipes/pomodoro-tracker/package.json
index fffc17c..d971bd3 100644
--- a/recipes/pomodoro-tracker/package.json
+++ b/recipes/pomodoro-tracker/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pomodoro-tracker", 2 "id": "pomodoro-tracker",
3 "name": "Pomodoro Tracker", 3 "name": "Pomodoro Tracker",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://pomodoro-tracker.com", 7 "serviceURL": "https://pomodoro-tracker.com",
diff --git a/recipes/producthunt/index.js b/recipes/producthunt/index.js
index 7af3013..2d59d28 100644
--- a/recipes/producthunt/index.js
+++ b/recipes/producthunt/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi module.exports = Ferdium => Ferdium
diff --git a/recipes/producthunt/package.json b/recipes/producthunt/package.json
index 6f4bfb9..64a57a8 100644
--- a/recipes/producthunt/package.json
+++ b/recipes/producthunt/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "producthunt", 2 "id": "producthunt",
3 "name": "Product Hunt", 3 "name": "Product Hunt",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/alexdevero/franz-producthunt-recipe", 6 "repository": "https://github.com/alexdevero/franz-producthunt-recipe",
7 "config": { 7 "config": {
diff --git a/recipes/producthunt/webview.js b/recipes/producthunt/webview.js
index 7f6c74b..86cab43 100644
--- a/recipes/producthunt/webview.js
+++ b/recipes/producthunt/webview.js
@@ -1,13 +1,13 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const notificationsSelector = document.querySelector( 2 const notificationsSelector = document.querySelector(
3 '[class*=header_] [class*=content_] [class*=actions_] [class*=notificationsButton_]', 3 '[class*=header_] [class*=content_] [class*=actions_] [class*=notificationsButton_]',
4 ); 4 );
5 5
6 const getMessages = () => { 6 const getMessages = () => {
7 if (notificationsSelector) { 7 if (notificationsSelector) {
8 Ferdi.setBadge(notificationsSelector.textContent); 8 Ferdium.setBadge(notificationsSelector.textContent);
9 } 9 }
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/proton-mail/index.js b/recipes/proton-mail/index.js
index 23607bd..dd41f72 100644
--- a/recipes/proton-mail/index.js
+++ b/recipes/proton-mail/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/proton-mail/package.json b/recipes/proton-mail/package.json
index 4e89567..826bc72 100644
--- a/recipes/proton-mail/package.json
+++ b/recipes/proton-mail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "proton-mail", 2 "id": "proton-mail",
3 "name": "ProtonMail", 3 "name": "ProtonMail",
4 "version": "1.3.2", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.protonmail.com/login" 7 "serviceURL": "https://mail.protonmail.com/login"
diff --git a/recipes/proton-mail/webview.js b/recipes/proton-mail/webview.js
index 455a0c4..dc3499a 100644
--- a/recipes/proton-mail/webview.js
+++ b/recipes/proton-mail/webview.js
@@ -1,14 +1,14 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let unreadCount = 0; 3 let unreadCount = 0;
4 // Loop over all displayed counters and take the highest one (from the "All Mail" folder) 4 // Loop over all displayed counters and take the highest one (from the "All Mail" folder)
5 for (const counterElement of document.querySelectorAll('.navigation-counter-item')) { 5 for (const counterElement of document.querySelectorAll('.navigation-counter-item')) {
6 const unreadCounter = Ferdi.safeParseInt(counterElement.textContent); 6 const unreadCounter = Ferdium.safeParseInt(counterElement.textContent);
7 unreadCount = Math.max(unreadCount, unreadCounter); 7 unreadCount = Math.max(unreadCount, unreadCounter);
8 } 8 }
9 9
10 Ferdi.setBadge(unreadCount); 10 Ferdium.setBadge(unreadCount);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14}; 14};
diff --git a/recipes/protoncalendar/index.js b/recipes/protoncalendar/index.js
index 23607bd..dd41f72 100644
--- a/recipes/protoncalendar/index.js
+++ b/recipes/protoncalendar/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/protoncalendar/package.json b/recipes/protoncalendar/package.json
index 30d3493..283db65 100644
--- a/recipes/protoncalendar/package.json
+++ b/recipes/protoncalendar/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "protoncalendar", 2 "id": "protoncalendar",
3 "name": "ProtonCalendar", 3 "name": "ProtonCalendar",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://calendar.protonmail.com/" 7 "serviceURL": "https://calendar.protonmail.com/"
diff --git a/recipes/protonet/index.js b/recipes/protonet/index.js
index 23607bd..dd41f72 100755
--- a/recipes/protonet/index.js
+++ b/recipes/protonet/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/protonet/package.json b/recipes/protonet/package.json
index 80923de..a876339 100755
--- a/recipes/protonet/package.json
+++ b/recipes/protonet/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "protonet", 2 "id": "protonet",
3 "name": "protonet", 3 "name": "protonet",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamID}.protonet.info", 7 "serviceURL": "https://{teamID}.protonet.info",
diff --git a/recipes/protonet/webview.js b/recipes/protonet/webview.js
index 497ee8c..4ec9f78 100755
--- a/recipes/protonet/webview.js
+++ b/recipes/protonet/webview.js
@@ -1,10 +1,10 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unreadPrivateMessages = Ferdi.safeParseInt($('.messages .unread-meeps').text()); 3 const unreadPrivateMessages = Ferdium.safeParseInt($('.messages .unread-meeps').text());
4 const unreadGroupMessages = Ferdi.safeParseInt($('.today .unread-meeps').text()); 4 const unreadGroupMessages = Ferdium.safeParseInt($('.today .unread-meeps').text());
5 5
6 Ferdi.setBadge(unreadPrivateMessages + unreadGroupMessages); 6 Ferdium.setBadge(unreadPrivateMessages + unreadGroupMessages);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/pulsesms/index.js b/recipes/pulsesms/index.js
index 23607bd..dd41f72 100644
--- a/recipes/pulsesms/index.js
+++ b/recipes/pulsesms/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/pulsesms/package.json b/recipes/pulsesms/package.json
index a980b56..786cf8b 100644
--- a/recipes/pulsesms/package.json
+++ b/recipes/pulsesms/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pulsesms", 2 "id": "pulsesms",
3 "name": "PulseSMS", 3 "name": "PulseSMS",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://pulsesms.app", 7 "serviceURL": "https://pulsesms.app",
diff --git a/recipes/pulsesms/webview.js b/recipes/pulsesms/webview.js
index d6d123c..01a2b75 100644
--- a/recipes/pulsesms/webview.js
+++ b/recipes/pulsesms/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 Ferdi.setBadge( 3 Ferdium.setBadge(
4 document.querySelector('#unread_count').textContent.replace(/\s/g, ''), 4 document.querySelector('#unread_count').textContent.replace(/\s/g, ''),
5 ); 5 );
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/pushbullet/index.js b/recipes/pushbullet/index.js
index ace403b..e27ad14 100644
--- a/recipes/pushbullet/index.js
+++ b/recipes/pushbullet/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => 1module.exports = Ferdium =>
2 class PushBullet extends Ferdi { 2 class PushBullet extends Ferdium {
3 constructor(...args) { 3 constructor(...args) {
4 let _temp; 4 let _temp;
5 5
diff --git a/recipes/pushbullet/package.json b/recipes/pushbullet/package.json
index 17327a0..c15f87d 100644
--- a/recipes/pushbullet/package.json
+++ b/recipes/pushbullet/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "pushbullet", 2 "id": "pushbullet",
3 "name": "Pushbullet", 3 "name": "Pushbullet",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.pushbullet.com/" 7 "serviceURL": "https://www.pushbullet.com/"
diff --git a/recipes/rainloop/index.js b/recipes/rainloop/index.js
index 23607bd..dd41f72 100644
--- a/recipes/rainloop/index.js
+++ b/recipes/rainloop/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/rainloop/package.json b/recipes/rainloop/package.json
index 79deb2d..3c9ce18 100644
--- a/recipes/rainloop/package.json
+++ b/recipes/rainloop/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "rainloop", 2 "id": "rainloop",
3 "name": "RainLoop", 3 "name": "RainLoop",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "repository": "https://github.com/promarcel/franz-recipe-rainloop", 5 "repository": "https://github.com/promarcel/franz-recipe-rainloop",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/rainloop/webview.js b/recipes/rainloop/webview.js
index 0a29849..6b0c3d6 100644
--- a/recipes/rainloop/webview.js
+++ b/recipes/rainloop/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let messages = 0; 3 let messages = 0;
4 4
@@ -11,16 +11,16 @@ module.exports = Ferdi => {
11 if (obj.classList.contains('system')) { 11 if (obj.classList.contains('system')) {
12 // Only count the Inbox system folder and ignore Archive, Trash, Drafts, Spam, Sent 12 // Only count the Inbox system folder and ignore Archive, Trash, Drafts, Spam, Sent
13 if (obj.classList.contains('i-am-inbox')) { 13 if (obj.classList.contains('i-am-inbox')) {
14 messages += Ferdi.safeParseInt(countText); 14 messages += Ferdium.safeParseInt(countText);
15 } 15 }
16 } else { 16 } else {
17 messages += Ferdi.safeParseInt(countText); 17 messages += Ferdium.safeParseInt(countText);
18 } 18 }
19 } 19 }
20 } 20 }
21 21
22 Ferdi.setBadge(messages); 22 Ferdium.setBadge(messages);
23 }; 23 };
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26}; 26};
diff --git a/recipes/reddit/index.js b/recipes/reddit/index.js
index 23607bd..dd41f72 100644
--- a/recipes/reddit/index.js
+++ b/recipes/reddit/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/reddit/package.json b/recipes/reddit/package.json
index bcb002f..42e4fbc 100644
--- a/recipes/reddit/package.json
+++ b/recipes/reddit/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "reddit", 2 "id": "reddit",
3 "name": "Reddit", 3 "name": "Reddit",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/ferdium/ferdium-recipes", 6 "repository": "https://github.com/ferdium/ferdium-recipes",
7 "config": { 7 "config": {
diff --git a/recipes/reddit/webview.js b/recipes/reddit/webview.js
index 8d165aa..e8498ac 100644
--- a/recipes/reddit/webview.js
+++ b/recipes/reddit/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const elements = document.querySelectorAll( 9 const elements = document.querySelectorAll(
10 '#HeaderUserActions--Messages > a > span', 10 '#HeaderUserActions--Messages > a > span',
@@ -12,10 +12,10 @@ module.exports = Ferdi => {
12 let count = 0; 12 let count = 0;
13 13
14 if (elements[0]) { 14 if (elements[0]) {
15 count = Ferdi.safeParseInt(elements[0].textContent); 15 count = Ferdium.safeParseInt(elements[0].textContent);
16 } 16 }
17 17
18 Ferdi.setBadge(count); 18 Ferdium.setBadge(count);
19 }; 19 };
20 20
21 if (document.querySelectorAll('.promotedlink').length > 0) { 21 if (document.querySelectorAll('.promotedlink').length > 0) {
@@ -29,12 +29,12 @@ module.exports = Ferdi => {
29 } 29 }
30 } 30 }
31 31
32 Ferdi.loop(getMessages); 32 Ferdium.loop(getMessages);
33 33
34 // Use CSS to hide Google Ads 34 // Use CSS to hide Google Ads
35 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 35 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
36 36
37 Ferdi.handleDarkMode(isEnabled => { 37 Ferdium.handleDarkMode(isEnabled => {
38 // Open dropdown menu if not already open 38 // Open dropdown menu if not already open
39 const menu = document.querySelector('#USER_DROPDOWN_ID'); 39 const menu = document.querySelector('#USER_DROPDOWN_ID');
40 if (menu && menu.getAttribute('aria-expanded') === 'false') { 40 if (menu && menu.getAttribute('aria-expanded') === 'false') {
diff --git a/recipes/redditchat/index.js b/recipes/redditchat/index.js
index 23607bd..dd41f72 100644
--- a/recipes/redditchat/index.js
+++ b/recipes/redditchat/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/redditchat/package.json b/recipes/redditchat/package.json
index 3d95f18..ae79ca7 100644
--- a/recipes/redditchat/package.json
+++ b/recipes/redditchat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "redditchat", 2 "id": "redditchat",
3 "name": "Reddit Chat", 3 "name": "Reddit Chat",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.reddit.com/chat/" 7 "serviceURL": "https://www.reddit.com/chat/"
diff --git a/recipes/redditchat/webview.js b/recipes/redditchat/webview.js
index 19b306c..6dc736a 100644
--- a/recipes/redditchat/webview.js
+++ b/recipes/redditchat/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 // Regular expression for (*) or (1), will extract the asterisk or the number 2 // Regular expression for (*) or (1), will extract the asterisk or the number
3 const titleRegEx = /^\(([\d*])\)/; 3 const titleRegEx = /^\(([\d*])\)/;
4 const getMessages = function unreadCount() { 4 const getMessages = function unreadCount() {
@@ -14,8 +14,8 @@ module.exports = Ferdi => {
14 } 14 }
15 } 15 }
16 16
17 Ferdi.setBadge(directCount, indirectCount); 17 Ferdium.setBadge(directCount, indirectCount);
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdium.loop(getMessages);
21}; 21};
diff --git a/recipes/ringcentral/index.js b/recipes/ringcentral/index.js
index 23607bd..dd41f72 100644
--- a/recipes/ringcentral/index.js
+++ b/recipes/ringcentral/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/ringcentral/package.json b/recipes/ringcentral/package.json
index 0c8ecab..9121482 100644
--- a/recipes/ringcentral/package.json
+++ b/recipes/ringcentral/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "ringcentral", 2 "id": "ringcentral",
3 "name": "RingCentral", 3 "name": "RingCentral",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/deadmeu/ferdi-ringcentral", 6 "repository": "https://github.com/deadmeu/ferdi-ringcentral",
7 "aliases": [ 7 "aliases": [
diff --git a/recipes/ringcentral/webview.js b/recipes/ringcentral/webview.js
index ba4f50c..acf1cfa 100644
--- a/recipes/ringcentral/webview.js
+++ b/recipes/ringcentral/webview.js
@@ -1,19 +1,19 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directCount = 0; 3 let directCount = 0;
4 let indirectCount = 0; 4 let indirectCount = 0;
5 5
6 const messageCountElement = document.querySelector('#Message-umi'); 6 const messageCountElement = document.querySelector('#Message-umi');
7 if (messageCountElement) { 7 if (messageCountElement) {
8 directCount = Ferdi.safeParseInt(messageCountElement.textContent); 8 directCount = Ferdium.safeParseInt(messageCountElement.textContent);
9 } 9 }
10 10
11 const unreadChats = document.querySelectorAll('.has-unread'); 11 const unreadChats = document.querySelectorAll('.has-unread');
12 // unreadChats includes direct messages - do not count them 12 // unreadChats includes direct messages - do not count them
13 indirectCount = unreadChats.length - directCount; 13 indirectCount = unreadChats.length - directCount;
14 14
15 Ferdi.setBadge(directCount, indirectCount); 15 Ferdium.setBadge(directCount, indirectCount);
16 }; 16 };
17 17
18 Ferdi.loop(getMessages); 18 Ferdium.loop(getMessages);
19}; 19};
diff --git a/recipes/riseup/index.js b/recipes/riseup/index.js
index d24be1d..dd41f72 100644
--- a/recipes/riseup/index.js
+++ b/recipes/riseup/index.js
@@ -1 +1 @@
module.exports = Ferdi => class riseupnet extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/riseup/package.json b/recipes/riseup/package.json
index 88519ad..f6ea15b 100644
--- a/recipes/riseup/package.json
+++ b/recipes/riseup/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "riseup", 2 "id": "riseup",
3 "name": "Riseup.net", 3 "name": "Riseup.net",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.riseup.net" 7 "serviceURL": "https://mail.riseup.net"
diff --git a/recipes/riseup/webview.js b/recipes/riseup/webview.js
index b3a78cf..6f63103 100644
--- a/recipes/riseup/webview.js
+++ b/recipes/riseup/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let unread = 0; 3 let unread = 0;
4 const notificationBadge = document.querySelectorAll('.unreadcount')[0]; 4 const notificationBadge = document.querySelectorAll('.unreadcount')[0];
5 if (notificationBadge != undefined) { 5 if (notificationBadge != undefined) {
6 unread = Ferdi.safeParseInt(notificationBadge.textContent); 6 unread = Ferdium.safeParseInt(notificationBadge.textContent);
7 } 7 }
8 Ferdi.setBadge(unread); 8 Ferdium.setBadge(unread);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/ritetag/index.js b/recipes/ritetag/index.js
index 7af3013..2d59d28 100644
--- a/recipes/ritetag/index.js
+++ b/recipes/ritetag/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi module.exports = Ferdium => Ferdium
diff --git a/recipes/ritetag/package.json b/recipes/ritetag/package.json
index 5d28e5b..fedd05b 100644
--- a/recipes/ritetag/package.json
+++ b/recipes/ritetag/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "ritetag", 2 "id": "ritetag",
3 "name": "Ritetag", 3 "name": "Ritetag",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/alexdevero/franz-ritetag-recipe", 6 "repository": "https://github.com/alexdevero/franz-ritetag-recipe",
7 "config": { 7 "config": {
diff --git a/recipes/ritetag/webview.js b/recipes/ritetag/webview.js
index 0e6e90b..be6157e 100644
--- a/recipes/ritetag/webview.js
+++ b/recipes/ritetag/webview.js
@@ -2,6 +2,6 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
7}; 7};
diff --git a/recipes/rocketchat/index.js b/recipes/rocketchat/index.js
index 97de4fe..a7fee29 100644
--- a/recipes/rocketchat/index.js
+++ b/recipes/rocketchat/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class RocketChat extends Ferdi { 1module.exports = Ferdium => class RocketChat extends Ferdium {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 try { 3 try {
4 const resp = await window.fetch(url, { 4 const resp = await window.fetch(url, {
diff --git a/recipes/rocketchat/package.json b/recipes/rocketchat/package.json
index c44647a..17719ed 100644
--- a/recipes/rocketchat/package.json
+++ b/recipes/rocketchat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "rocketchat", 2 "id": "rocketchat",
3 "name": "Rocket.Chat", 3 "name": "Rocket.Chat",
4 "version": "1.2.3", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.rocket.chat", 7 "serviceURL": "https://{teamId}.rocket.chat",
diff --git a/recipes/rocketchat/webview.js b/recipes/rocketchat/webview.js
index 95ada6f..85b0c32 100644
--- a/recipes/rocketchat/webview.js
+++ b/recipes/rocketchat/webview.js
@@ -1,22 +1,22 @@
1 1
2module.exports = Ferdi => { 2module.exports = Ferdium => {
3 const getMessages = () => { 3 const getMessages = () => {
4 const directMessages = document.querySelectorAll('.rcx-badge'); 4 const directMessages = document.querySelectorAll('.rcx-badge');
5 5
6 let directMessagesCount = 0; 6 let directMessagesCount = 0;
7 7
8 for (const directMessage of directMessages) { 8 for (const directMessage of directMessages) {
9 directMessagesCount += Ferdi.safeParseInt(directMessage.textContent); 9 directMessagesCount += Ferdium.safeParseInt(directMessage.textContent);
10 } 10 }
11 11
12 const indirectMessagesCount = Math.round( 12 const indirectMessagesCount = Math.round(
13 document.querySelectorAll('.rcx-sidebar-item--highlighted').length, 13 document.querySelectorAll('.rcx-sidebar-item--highlighted').length,
14 ); 14 );
15 15
16 Ferdi.setBadge(directMessagesCount, indirectMessagesCount); 16 Ferdium.setBadge(directMessagesCount, indirectMessagesCount);
17 }; 17 };
18 18
19 Ferdi.loop(getMessages); 19 Ferdium.loop(getMessages);
20 20
21 const getTeamIcon = function getTeamIcon() { 21 const getTeamIcon = function getTeamIcon() {
22 const manifestElement = document.querySelector('link[rel="manifest"]'); 22 const manifestElement = document.querySelector('link[rel="manifest"]');
@@ -41,7 +41,7 @@ module.exports = Ferdi => {
41 const response = JSON.parse(this.responseText); 41 const response = JSON.parse(this.responseText);
42 42
43 if (response.icons.length > 0) { 43 if (response.icons.length > 0) {
44 Ferdi.setAvatarImage(`${window.location.protocol}//${window.location.host}${response.icons[0].src}`); 44 Ferdium.setAvatarImage(`${window.location.protocol}//${window.location.host}${response.icons[0].src}`);
45 } 45 }
46 }); 46 });
47 47
diff --git a/recipes/roundcube/index.js b/recipes/roundcube/index.js
index 23607bd..dd41f72 100644
--- a/recipes/roundcube/index.js
+++ b/recipes/roundcube/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/roundcube/package.json b/recipes/roundcube/package.json
index 362b48e..6378ff8 100644
--- a/recipes/roundcube/package.json
+++ b/recipes/roundcube/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "roundcube", 2 "id": "roundcube",
3 "name": "Roundcube", 3 "name": "Roundcube",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/jonathanjuursema/franz-roundcube", 6 "repository": "https://github.com/jonathanjuursema/franz-roundcube",
7 "config": { 7 "config": {
diff --git a/recipes/roundcube/webview.js b/recipes/roundcube/webview.js
index 08c6a95..f9aead4 100644
--- a/recipes/roundcube/webview.js
+++ b/recipes/roundcube/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const directElements = document.querySelectorAll('.unreadcount'); 3 const directElements = document.querySelectorAll('.unreadcount');
4 let direct = 0; 4 let direct = 0;
5 for (const directElement of directElements) { 5 for (const directElement of directElements) {
6 direct += Ferdi.safeParseInt(directElement.textContent); 6 direct += Ferdium.safeParseInt(directElement.textContent);
7 } 7 }
8 Ferdi.setBadge(direct); 8 Ferdium.setBadge(direct);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/scribens/index.js b/recipes/scribens/index.js
index ae7e2d2..dd41f72 100644
--- a/recipes/scribens/index.js
+++ b/recipes/scribens/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Scribens extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/scribens/package.json b/recipes/scribens/package.json
index 72b0ccd..1e05222 100644
--- a/recipes/scribens/package.json
+++ b/recipes/scribens/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "scribens", 2 "id": "scribens",
3 "name": "Scribens", 3 "name": "Scribens",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://scribens.{teamId}", 7 "serviceURL": "https://scribens.{teamId}",
diff --git a/recipes/scrumpy/index.js b/recipes/scrumpy/index.js
index 23607bd..dd41f72 100644
--- a/recipes/scrumpy/index.js
+++ b/recipes/scrumpy/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/scrumpy/package.json b/recipes/scrumpy/package.json
index b3ee954..c2383b7 100644
--- a/recipes/scrumpy/package.json
+++ b/recipes/scrumpy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "scrumpy", 2 "id": "scrumpy",
3 "name": "Scrumpy", 3 "name": "Scrumpy",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/scrumpy/franz-recipe-scrumpy", 6 "repository": "https://github.com/scrumpy/franz-recipe-scrumpy",
7 "config": { 7 "config": {
diff --git a/recipes/scrumpy/webview.js b/recipes/scrumpy/webview.js
index 46f6424..5037aee 100644
--- a/recipes/scrumpy/webview.js
+++ b/recipes/scrumpy/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notifications = document.querySelector( 3 const notifications = document.querySelector(
4 '.c-notifications-dropdown__count', 4 '.c-notifications-dropdown__count',
5 ); 5 );
6 if (notifications) { 6 if (notifications) {
7 Ferdi.setBadge(notifications.textContent); 7 Ferdium.setBadge(notifications.textContent);
8 } 8 }
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/sendtask/index.js b/recipes/sendtask/index.js
index 23607bd..dd41f72 100644
--- a/recipes/sendtask/index.js
+++ b/recipes/sendtask/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/sendtask/package.json b/recipes/sendtask/package.json
index db8a627..342a2e6 100644
--- a/recipes/sendtask/package.json
+++ b/recipes/sendtask/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "sendtask", 2 "id": "sendtask",
3 "name": "Sendtask", 3 "name": "Sendtask",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "repository": "https://github.com/patrickdaniel/sendtask-franz", 5 "repository": "https://github.com/patrickdaniel/sendtask-franz",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/sendtask/webview.js b/recipes/sendtask/webview.js
index 0da4de6..bca4e19 100644
--- a/recipes/sendtask/webview.js
+++ b/recipes/sendtask/webview.js
@@ -2,14 +2,14 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications'); 7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications');
8 const passiveCount = inbox === null ? 0 : 1; 8 const passiveCount = inbox === null ? 0 : 1;
9 Ferdi.setBadge(0, passiveCount); 9 Ferdium.setBadge(0, passiveCount);
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13 13
14 Ferdi.injectCSS(_path.default.join(__dirname, 'franz.css')); 14 Ferdium.injectCSS(_path.default.join(__dirname, 'franz.css'));
15}; 15};
diff --git a/recipes/simplenote/index.js b/recipes/simplenote/index.js
index 15ecf81..dd41f72 100644
--- a/recipes/simplenote/index.js
+++ b/recipes/simplenote/index.js
@@ -1 +1 @@
module.exports = Ferdi => class simplenote extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/simplenote/package.json b/recipes/simplenote/package.json
index cd13d5c..00e0fb0 100644
--- a/recipes/simplenote/package.json
+++ b/recipes/simplenote/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "simplenote", 2 "id": "simplenote",
3 "name": "Simplenote", 3 "name": "Simplenote",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.simplenote.com/" 7 "serviceURL": "https://app.simplenote.com/"
diff --git a/recipes/simplenote/webview.js b/recipes/simplenote/webview.js
index ae392f5..b4180e4 100644
--- a/recipes/simplenote/webview.js
+++ b/recipes/simplenote/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
@@ -11,12 +11,12 @@ module.exports = Ferdi => {
11 '.nav-item--messaging .nav-item__badge-count', 11 '.nav-item--messaging .nav-item__badge-count',
12 ); 12 );
13 if (element) { 13 if (element) {
14 count = Ferdi.safeParseInt(element.textContent); 14 count = Ferdium.safeParseInt(element.textContent);
15 } 15 }
16 } 16 }
17 17
18 Ferdi.setBadge(count); 18 Ferdium.setBadge(count);
19 }; 19 };
20 20
21 Ferdi.loop(getMessages); 21 Ferdium.loop(getMessages);
22}; 22};
diff --git a/recipes/skype/index.js b/recipes/skype/index.js
index 7ea3060..425683a 100644
--- a/recipes/skype/index.js
+++ b/recipes/skype/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => class Messenger extends Ferdi { 1module.exports = (Ferdium) => class Messenger extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/skype/package.json b/recipes/skype/package.json
index e519497..58aee4c 100644
--- a/recipes/skype/package.json
+++ b/recipes/skype/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "skype", 2 "id": "skype",
3 "name": "Skype", 3 "name": "Skype",
4 "version": "3.3.1", 4 "version": "3.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.skype.com/", 7 "serviceURL": "https://web.skype.com/",
diff --git a/recipes/skype/webview.js b/recipes/skype/webview.js
index d7d3ca6..a488699 100644
--- a/recipes/skype/webview.js
+++ b/recipes/skype/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi, settings) => { 5module.exports = (Ferdium, settings) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 let count = 0; 7 let count = 0;
8 const container = document.querySelector('[role="tablist"] > button > div'); 8 const container = document.querySelector('[role="tablist"] > button > div');
@@ -16,19 +16,19 @@ module.exports = (Ferdi, settings) => {
16 if (elementContainer) { 16 if (elementContainer) {
17 const element = elementContainer.querySelector('[data-text-as-pseudo-element]'); 17 const element = elementContainer.querySelector('[data-text-as-pseudo-element]');
18 if (element && element.dataset) { 18 if (element && element.dataset) {
19 count = Ferdi.safeParseInt(element.dataset.textAsPseudoElement); 19 count = Ferdium.safeParseInt(element.dataset.textAsPseudoElement);
20 } 20 }
21 } 21 }
22 } 22 }
23 } 23 }
24 24
25 Ferdi.setBadge(count); 25 Ferdium.setBadge(count);
26 }; 26 };
27 27
28 Ferdi.loop(getMessages); 28 Ferdium.loop(getMessages);
29 29
30 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 30 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
31 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 31 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
32 32
33 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse 33 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse
34 document.addEventListener('click', event => { 34 document.addEventListener('click', event => {
@@ -43,7 +43,7 @@ module.exports = (Ferdi, settings) => {
43 event.stopPropagation(); 43 event.stopPropagation();
44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message) 44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message)
45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697) 45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697)
46 let win = new Ferdi.BrowserWindow({ 46 let win = new Ferdium.BrowserWindow({
47 width: 800, 47 width: 800,
48 height: window.innerHeight, 48 height: window.innerHeight,
49 minWidth: 600, 49 minWidth: 600,
diff --git a/recipes/slack/index.js b/recipes/slack/index.js
index 23607bd..dd41f72 100644
--- a/recipes/slack/index.js
+++ b/recipes/slack/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/slack/package.json b/recipes/slack/package.json
index d55842a..5420c5b 100644
--- a/recipes/slack/package.json
+++ b/recipes/slack/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "slack", 2 "id": "slack",
3 "name": "Slack", 3 "name": "Slack",
4 "version": "1.3.5", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.slack.com", 7 "serviceURL": "https://{teamId}.slack.com",
diff --git a/recipes/slack/webview.js b/recipes/slack/webview.js
index 924784d..b3722f0 100644
--- a/recipes/slack/webview.js
+++ b/recipes/slack/webview.js
@@ -7,7 +7,7 @@ function _interopRequireDefault(obj) {
7const SELECTOR_CHANNELS_UNREAD = 7const SELECTOR_CHANNELS_UNREAD =
8 '.p-channel_sidebar__channel--unread:not(.p-channel_sidebar__channel--muted)'; 8 '.p-channel_sidebar__channel--unread:not(.p-channel_sidebar__channel--muted)';
9 9
10module.exports = Ferdi => { 10module.exports = Ferdium => {
11 const getMessages = () => { 11 const getMessages = () => {
12 const directMessages = document.querySelectorAll( 12 const directMessages = document.querySelectorAll(
13 `${SELECTOR_CHANNELS_UNREAD} .p-channel_sidebar__badge, .p-channel_sidebar__link--unread:not([data-sidebar-link-id="Punreads"]):not([data-sidebar-link-id="Pdrafts"]):not([data-sidebar-link-id="Pdms"])`, 13 `${SELECTOR_CHANNELS_UNREAD} .p-channel_sidebar__badge, .p-channel_sidebar__link--unread:not([data-sidebar-link-id="Punreads"]):not([data-sidebar-link-id="Pdrafts"]):not([data-sidebar-link-id="Pdms"])`,
@@ -15,7 +15,7 @@ module.exports = Ferdi => {
15 const allMessages = 15 const allMessages =
16 document.querySelectorAll(SELECTOR_CHANNELS_UNREAD).length - 16 document.querySelectorAll(SELECTOR_CHANNELS_UNREAD).length -
17 directMessages; 17 directMessages;
18 Ferdi.setBadge(directMessages, allMessages); 18 Ferdium.setBadge(directMessages, allMessages);
19 }; 19 };
20 20
21 const getActiveDialogTitle = () => { 21 const getActiveDialogTitle = () => {
@@ -23,7 +23,7 @@ module.exports = Ferdi => {
23 '.p-channel_sidebar__channel--selected .p-channel_sidebar__name', 23 '.p-channel_sidebar__channel--selected .p-channel_sidebar__name',
24 ); 24 );
25 25
26 Ferdi.setDialogTitle( 26 Ferdium.setDialogTitle(
27 element && element.firstChild ? element.firstChild.textContent : null, 27 element && element.firstChild ? element.firstChild.textContent : null,
28 ); 28 );
29 }; 29 };
@@ -33,7 +33,7 @@ module.exports = Ferdi => {
33 getActiveDialogTitle(); 33 getActiveDialogTitle();
34 }; 34 };
35 35
36 Ferdi.loop(loopFunc); 36 Ferdium.loop(loopFunc);
37 37
38 const getTeamIcon = function getTeamIcon(count = 0) { 38 const getTeamIcon = function getTeamIcon(count = 0) {
39 let countTeamIconCheck = count; 39 let countTeamIconCheck = count;
@@ -62,7 +62,7 @@ module.exports = Ferdi => {
62 countTeamIconCheck += 1; 62 countTeamIconCheck += 1;
63 63
64 if (bgUrl) { 64 if (bgUrl) {
65 Ferdi.setAvatarImage(bgUrl); 65 Ferdium.setAvatarImage(bgUrl);
66 } else if (countTeamIconCheck <= 5) { 66 } else if (countTeamIconCheck <= 5) {
67 setTimeout(() => { 67 setTimeout(() => {
68 getTeamIcon(countTeamIconCheck + 1); 68 getTeamIcon(countTeamIconCheck + 1);
@@ -74,5 +74,5 @@ module.exports = Ferdi => {
74 getTeamIcon(); 74 getTeamIcon();
75 }, 4000); 75 }, 4000);
76 76
77 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 77 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
78}; 78};
diff --git a/recipes/slite/index.js b/recipes/slite/index.js
index 23607bd..dd41f72 100644
--- a/recipes/slite/index.js
+++ b/recipes/slite/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/slite/package.json b/recipes/slite/package.json
index 4f1b753..6ed9773 100644
--- a/recipes/slite/package.json
+++ b/recipes/slite/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "slite", 2 "id": "slite",
3 "name": "Slite", 3 "name": "Slite",
4 "version": "1.0.5", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.slite.com", 7 "serviceURL": "https://{teamId}.slite.com",
diff --git a/recipes/slite/webview.js b/recipes/slite/webview.js
index f1d9f32..cb0bebf 100644
--- a/recipes/slite/webview.js
+++ b/recipes/slite/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const element = document.querySelector( 3 const element = document.querySelector(
4 "#app button[data-test-id='notificationsCount']", 4 "#app button[data-test-id='notificationsCount']",
5 ); 5 );
6 Ferdi.setBadge(element ? Ferdi.safeParseInt(element.textContent) : 0); 6 Ferdium.setBadge(element ? Ferdium.safeParseInt(element.textContent) : 0);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10}; 10};
diff --git a/recipes/slowly/index.js b/recipes/slowly/index.js
index 23607bd..dd41f72 100644
--- a/recipes/slowly/index.js
+++ b/recipes/slowly/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/slowly/package.json b/recipes/slowly/package.json
index 6424cc0..41093e3 100644
--- a/recipes/slowly/package.json
+++ b/recipes/slowly/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "slowly", 2 "id": "slowly",
3 "name": "Slowly", 3 "name": "Slowly",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/BerakaStudio/franz-slowly", 6 "repository": "https://github.com/BerakaStudio/franz-slowly",
7 "config": { 7 "config": {
diff --git a/recipes/snapdrop/index.js b/recipes/snapdrop/index.js
index 9481442..f0797ea 100644
--- a/recipes/snapdrop/index.js
+++ b/recipes/snapdrop/index.js
@@ -1,9 +1,9 @@
1module.exports = (Ferdi) => class Snapdrop extends Ferdi { 1module.exports = (Ferdium) => class Snapdrop extends Ferdium {
2 modifyRequestHeaders() { 2 modifyRequestHeaders() {
3 return [ 3 return [
4 { 4 {
5 headers: { 5 headers: {
6 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdi 6 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdium
7 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36', 7 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
8 }, 8 },
9 requestFilters: { 9 requestFilters: {
diff --git a/recipes/snapdrop/package.json b/recipes/snapdrop/package.json
index 041b497..5570397 100644
--- a/recipes/snapdrop/package.json
+++ b/recipes/snapdrop/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "snapdrop", 2 "id": "snapdrop",
3 "name": "Snapdrop", 3 "name": "Snapdrop",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "http://snapdrop.net/", 7 "serviceURL": "http://snapdrop.net/",
diff --git a/recipes/sococo/index.js b/recipes/sococo/index.js
index 23607bd..dd41f72 100644
--- a/recipes/sococo/index.js
+++ b/recipes/sococo/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/sococo/package.json b/recipes/sococo/package.json
index 6bdeb58..3f9f7f0 100644
--- a/recipes/sococo/package.json
+++ b/recipes/sococo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "sococo", 2 "id": "sococo",
3 "name": "Sococo", 3 "name": "Sococo",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/klcodanr/recipe-sococo", 6 "repository": "https://github.com/klcodanr/recipe-sococo",
7 "config": { 7 "config": {
diff --git a/recipes/sococo/webview.js b/recipes/sococo/webview.js
index c0bb20f..c1e6326 100644
--- a/recipes/sococo/webview.js
+++ b/recipes/sococo/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let indirect = document.querySelectorAll('.new-messages'); 3 let indirect = document.querySelectorAll('.new-messages');
4 let direct = 0; 4 let direct = 0;
5 for (const badge of document.querySelectorAll('.people-pane .badge')) { 5 for (const badge of document.querySelectorAll('.people-pane .badge')) {
6 direct += Ferdi.safeParseInt(badge.textContent); 6 direct += Ferdium.safeParseInt(badge.textContent);
7 } 7 }
8 Ferdi.setBadge(direct, indirect); 8 Ferdium.setBadge(direct, indirect);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/recipes/stackexchange/index.js b/recipes/stackexchange/index.js
index d9328a9..dd41f72 100644
--- a/recipes/stackexchange/index.js
+++ b/recipes/stackexchange/index.js
@@ -1 +1 @@
module.exports = Ferdi => class stackexchange extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/stackexchange/package.json b/recipes/stackexchange/package.json
index 2663b10..d1f89bc 100644
--- a/recipes/stackexchange/package.json
+++ b/recipes/stackexchange/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "stackexchange", 2 "id": "stackexchange",
3 "name": "StackExchange", 3 "name": "StackExchange",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://stackexchange.com/" 7 "serviceURL": "https://stackexchange.com/"
diff --git a/recipes/stackoverflow-chat/index.js b/recipes/stackoverflow-chat/index.js
index ea29aa3..dd41f72 100644
--- a/recipes/stackoverflow-chat/index.js
+++ b/recipes/stackoverflow-chat/index.js
@@ -1 +1 @@
module.exports = Ferdi => class stackoverflowchat extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/stackoverflow-chat/package.json b/recipes/stackoverflow-chat/package.json
index 7ba21a7..a291593 100644
--- a/recipes/stackoverflow-chat/package.json
+++ b/recipes/stackoverflow-chat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "stackoverflow-chat", 2 "id": "stackoverflow-chat",
3 "name": "Stack Overflow Chat", 3 "name": "Stack Overflow Chat",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://chat.stackoverflow.com/", 7 "serviceURL": "https://chat.stackoverflow.com/",
diff --git a/recipes/stackoverflow-chat/webview.js b/recipes/stackoverflow-chat/webview.js
index 622d764..aa5bde6 100644
--- a/recipes/stackoverflow-chat/webview.js
+++ b/recipes/stackoverflow-chat/webview.js
@@ -1,13 +1,13 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unreadSpan = document.querySelector( 3 const unreadSpan = document.querySelector(
4 'span.flag-count.message-count.unread-count', 4 'span.flag-count.message-count.unread-count',
5 ); 5 );
6 let directCount = 0; 6 let directCount = 0;
7 if (unreadSpan) { 7 if (unreadSpan) {
8 directCount = Ferdi.safeParseInt(unreadSpan.textContent); 8 directCount = Ferdium.safeParseInt(unreadSpan.textContent);
9 } 9 }
10 Ferdi.setBadge(directCount); 10 Ferdium.setBadge(directCount);
11 }; 11 };
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/stackoverflow/index.js b/recipes/stackoverflow/index.js
index 23607bd..dd41f72 100644
--- a/recipes/stackoverflow/index.js
+++ b/recipes/stackoverflow/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/stackoverflow/package.json b/recipes/stackoverflow/package.json
index 9b40791..747bfb8 100644
--- a/recipes/stackoverflow/package.json
+++ b/recipes/stackoverflow/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "stackoverflow", 2 "id": "stackoverflow",
3 "name": "Stack Overflow", 3 "name": "Stack Overflow",
4 "version": "0.0.3", 4 "version": "0.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/christianascone/franz-recipe-stackoverflow", 6 "repository": "https://github.com/christianascone/franz-recipe-stackoverflow",
7 "config": { 7 "config": {
diff --git a/recipes/stackoverflow/webview.js b/recipes/stackoverflow/webview.js
index 83fd5dd..0da8914 100644
--- a/recipes/stackoverflow/webview.js
+++ b/recipes/stackoverflow/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const elements = document.querySelectorAll('.CxUIE, .unread'); 7 const elements = document.querySelectorAll('.CxUIE, .unread');
8 let count = 0; 8 let count = 0;
@@ -12,9 +12,9 @@ module.exports = (Ferdi) => {
12 } 12 }
13 } 13 }
14 14
15 Ferdi.setBadge(count); 15 Ferdium.setBadge(count);
16 }; 16 };
17 17
18 Ferdi.loop(getMessages); 18 Ferdium.loop(getMessages);
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 19 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 20};
diff --git a/recipes/standardnotes/index.js b/recipes/standardnotes/index.js
index 23607bd..dd41f72 100755
--- a/recipes/standardnotes/index.js
+++ b/recipes/standardnotes/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/standardnotes/package.json b/recipes/standardnotes/package.json
index 242c7d9..f9639e3 100755
--- a/recipes/standardnotes/package.json
+++ b/recipes/standardnotes/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "standardnotes", 2 "id": "standardnotes",
3 "name": "StandardNotes", 3 "name": "StandardNotes",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/vantezzen/franz-recipe-standardnotes", 6 "repository": "https://github.com/vantezzen/franz-recipe-standardnotes",
7 "config": { 7 "config": {
diff --git a/recipes/steamchat/index.js b/recipes/steamchat/index.js
index 9598981..7edfda5 100644
--- a/recipes/steamchat/index.js
+++ b/recipes/steamchat/index.js
@@ -1,5 +1,5 @@
1module.exports = (Ferdi) => class SteamChat extends Ferdi { 1module.exports = (Ferdium) => class SteamChat extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/steamchat/package.json b/recipes/steamchat/package.json
index b13ab5d..ffc6230 100644
--- a/recipes/steamchat/package.json
+++ b/recipes/steamchat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "steamchat", 2 "id": "steamchat",
3 "name": "SteamChat", 3 "name": "SteamChat",
4 "version": "1.3.2", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://steamcommunity.com/chat", 7 "serviceURL": "https://steamcommunity.com/chat",
diff --git a/recipes/steamchat/webview.js b/recipes/steamchat/webview.js
index 2990131..cfe84f3 100644
--- a/recipes/steamchat/webview.js
+++ b/recipes/steamchat/webview.js
@@ -1,18 +1,18 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // get new msg count 3 // get new msg count
4 let count = 0; 4 let count = 0;
5 const counters = document.querySelectorAll('[class*=FriendMessageCount]'); 5 const counters = document.querySelectorAll('[class*=FriendMessageCount]');
6 Array.prototype.filter.call(counters, countValue => { 6 Array.prototype.filter.call(counters, countValue => {
7 if (countValue) { 7 if (countValue) {
8 count += Ferdi.safeParseInt(countValue.textContent); 8 count += Ferdium.safeParseInt(countValue.textContent);
9 } 9 }
10 }); 10 });
11 11
12 const indirectMessages = document.querySelectorAll( 12 const indirectMessages = document.querySelectorAll(
13 '[class*=ChatUnreadMessageIndicator]', 13 '[class*=ChatUnreadMessageIndicator]',
14 ).length; 14 ).length;
15 Ferdi.setBadge(count, indirectMessages); 15 Ferdium.setBadge(count, indirectMessages);
16 16
17 // force scroll to bottom of chat window 17 // force scroll to bottom of chat window
18 const chatBoxes = document.querySelectorAll('.chat_dialog'); 18 const chatBoxes = document.querySelectorAll('.chat_dialog');
@@ -28,7 +28,7 @@ module.exports = Ferdi => {
28 } 28 }
29 }; 29 };
30 30
31 Ferdi.loop(getMessages); 31 Ferdium.loop(getMessages);
32 32
33 document.addEventListener( 33 document.addEventListener(
34 'click', 34 'click',
@@ -38,7 +38,7 @@ module.exports = Ferdi => {
38 if (link && link.getAttribute('target') === '_top') { 38 if (link && link.getAttribute('target') === '_top') {
39 event.preventDefault(); 39 event.preventDefault();
40 event.stopPropagation(); 40 event.stopPropagation();
41 Ferdi.openNewWindow(link.getAttribute('href')); 41 Ferdium.openNewWindow(link.getAttribute('href'));
42 } 42 }
43 }, 43 },
44 true, 44 true,
diff --git a/recipes/stride/index.js b/recipes/stride/index.js
index 23607bd..dd41f72 100644
--- a/recipes/stride/index.js
+++ b/recipes/stride/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/stride/package.json b/recipes/stride/package.json
index d36bb19..0016f53 100644
--- a/recipes/stride/package.json
+++ b/recipes/stride/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "stride", 2 "id": "stride",
3 "name": "Stride", 3 "name": "Stride",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.stride.com", 7 "serviceURL": "https://app.stride.com",
diff --git a/recipes/stride/webview.js b/recipes/stride/webview.js
index 002fca5..08114c1 100644
--- a/recipes/stride/webview.js
+++ b/recipes/stride/webview.js
@@ -2,7 +2,7 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 // get all message badges 7 // get all message badges
8 const allBadges = document.querySelectorAll('.activity-indicator'); 8 const allBadges = document.querySelectorAll('.activity-indicator');
@@ -20,11 +20,11 @@ module.exports = Ferdi => {
20 } 20 }
21 } 21 }
22 22
23 // set Ferdi badge 23 // set Ferdium badge
24 Ferdi.setBadge(directCount, indirectCount); 24 Ferdium.setBadge(directCount, indirectCount);
25 }; 25 };
26 26
27 Ferdi.loop(getMessages); 27 Ferdium.loop(getMessages);
28 28
29 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 29 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
30}; 30};
diff --git a/recipes/superhuman/index.js b/recipes/superhuman/index.js
index 44bc55d..3cae124 100644
--- a/recipes/superhuman/index.js
+++ b/recipes/superhuman/index.js
@@ -1,6 +1,6 @@
1module.exports = Ferdi => class SuperHuman extends Ferdi { 1module.exports = Ferdium => class SuperHuman extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdi 3 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdium
4 return 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136'; 4 return 'Mozilla/5.0 (Windows NT 10.0) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.10136';
5 } 5 }
6}; 6};
diff --git a/recipes/superhuman/package.json b/recipes/superhuman/package.json
index 4cb98f3..e4ea8ab 100644
--- a/recipes/superhuman/package.json
+++ b/recipes/superhuman/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "superhuman", 2 "id": "superhuman",
3 "name": "Superhuman", 3 "name": "Superhuman",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/CrystalLarsh/franz-superhuman-recipe", 6 "repository": "https://github.com/CrystalLarsh/franz-superhuman-recipe",
7 "config": { 7 "config": {
diff --git a/recipes/superhuman/webview.js b/recipes/superhuman/webview.js
index 697efa6..0652545 100644
--- a/recipes/superhuman/webview.js
+++ b/recipes/superhuman/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const mentions = document.querySelectorAll('.chat-line .mentioned').length; 3 const mentions = document.querySelectorAll('.chat-line .mentioned').length;
4 Ferdi.setBadge(mentions, 0); 4 Ferdium.setBadge(mentions, 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/sync/index.js b/recipes/sync/index.js
index 745078f..dd41f72 100644
--- a/recipes/sync/index.js
+++ b/recipes/sync/index.js
@@ -1 +1 @@
module.exports = Ferdi => class sync extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/sync/package.json b/recipes/sync/package.json
index dee3eb3..a1b3673 100644
--- a/recipes/sync/package.json
+++ b/recipes/sync/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "sync", 2 "id": "sync",
3 "name": "Sync", 3 "name": "Sync",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://cp.sync.com/files/" 7 "serviceURL": "https://cp.sync.com/files/"
diff --git a/recipes/tawk/index.js b/recipes/tawk/index.js
index 23607bd..dd41f72 100644
--- a/recipes/tawk/index.js
+++ b/recipes/tawk/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/tawk/package.json b/recipes/tawk/package.json
index 2a3cd83..b3e4981 100644
--- a/recipes/tawk/package.json
+++ b/recipes/tawk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tawk", 2 "id": "tawk",
3 "name": "Tawk.to", 3 "name": "Tawk.to",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://dashboard.tawk.to/", 7 "serviceURL": "https://dashboard.tawk.to/",
diff --git a/recipes/teamleader/index.js b/recipes/teamleader/index.js
index 23607bd..dd41f72 100644
--- a/recipes/teamleader/index.js
+++ b/recipes/teamleader/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/teamleader/package.json b/recipes/teamleader/package.json
index 5b971da..0b1fe52 100644
--- a/recipes/teamleader/package.json
+++ b/recipes/teamleader/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "teamleader", 2 "id": "teamleader",
3 "name": "teamleader", 3 "name": "teamleader",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.teamleader.eu/?gotologin", 7 "serviceURL": "https://app.teamleader.eu/?gotologin",
diff --git a/recipes/teamleader/webview.js b/recipes/teamleader/webview.js
index f846f55..f530549 100644
--- a/recipes/teamleader/webview.js
+++ b/recipes/teamleader/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let notifications = 0; 9 let notifications = 0;
10 let indirectNotifications = 0; 10 let indirectNotifications = 0;
@@ -18,24 +18,24 @@ module.exports = Ferdi => {
18 const call_element = document.querySelector('#queue_amount'); 18 const call_element = document.querySelector('#queue_amount');
19 19
20 if (notification_element) { 20 if (notification_element) {
21 notifications = Ferdi.safeParseInt( 21 notifications = Ferdium.safeParseInt(
22 notification_element.getAttribute('datacount'), 22 notification_element.getAttribute('datacount'),
23 ); 23 );
24 } 24 }
25 25
26 if (ticket_element != null) { 26 if (ticket_element != null) {
27 indirectNotifications = Ferdi.safeParseInt(ticket_element.textContent); 27 indirectNotifications = Ferdium.safeParseInt(ticket_element.textContent);
28 } 28 }
29 29
30 if (call_element) { 30 if (call_element) {
31 indirectNotifications += Ferdi.safeParseInt( 31 indirectNotifications += Ferdium.safeParseInt(
32 call_element.getAttribute('datacount'), 32 call_element.getAttribute('datacount'),
33 ); 33 );
34 } 34 }
35 35
36 Ferdi.setBadge(notifications, indirectNotifications); 36 Ferdium.setBadge(notifications, indirectNotifications);
37 }; 37 };
38 38
39 Ferdi.loop(getMessages); 39 Ferdium.loop(getMessages);
40 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 40 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
41}; 41};
diff --git a/recipes/teamweek/index.js b/recipes/teamweek/index.js
index b28967d..dd41f72 100644
--- a/recipes/teamweek/index.js
+++ b/recipes/teamweek/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Teamweek extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/teamweek/package.json b/recipes/teamweek/package.json
index 71bd3a6..34f50dd 100644
--- a/recipes/teamweek/package.json
+++ b/recipes/teamweek/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "teamweek", 2 "id": "teamweek",
3 "name": "Teamweek", 3 "name": "Teamweek",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/claudiupelmus/recipe-teamweek", 6 "repository": "https://github.com/claudiupelmus/recipe-teamweek",
7 "config": { 7 "config": {
diff --git a/recipes/teamwork-projects/index.js b/recipes/teamwork-projects/index.js
index 23607bd..dd41f72 100644
--- a/recipes/teamwork-projects/index.js
+++ b/recipes/teamwork-projects/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/teamwork-projects/package.json b/recipes/teamwork-projects/package.json
index bbb203a..02e89b9 100644
--- a/recipes/teamwork-projects/package.json
+++ b/recipes/teamwork-projects/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "teamwork-projects", 2 "id": "teamwork-projects",
3 "name": "Teamwork Projects", 3 "name": "Teamwork Projects",
4 "version": "0.2.2", 4 "version": "0.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.teamwork.com/", 7 "serviceURL": "https://{teamId}.teamwork.com/",
diff --git a/recipes/teamwork-projects/webview.js b/recipes/teamwork-projects/webview.js
index 7d3e845..ca3df22 100644
--- a/recipes/teamwork-projects/webview.js
+++ b/recipes/teamwork-projects/webview.js
@@ -1,14 +1,14 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let indirectCount = 0; 3 let indirectCount = 0;
4 const badge = document.querySelector('#numNotifs2'); 4 const badge = document.querySelector('#numNotifs2');
5 5
6 if (badge && badge.textContent) { 6 if (badge && badge.textContent) {
7 indirectCount = Ferdi.safeParseInt(badge.textContent); 7 indirectCount = Ferdium.safeParseInt(badge.textContent);
8 } 8 }
9 9
10 Ferdi.setBadge(0, indirectCount); 10 Ferdium.setBadge(0, indirectCount);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14}; 14};
diff --git a/recipes/telegram/index.js b/recipes/telegram/index.js
index 23607bd..dd41f72 100644
--- a/recipes/telegram/index.js
+++ b/recipes/telegram/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/telegram/package.json b/recipes/telegram/package.json
index e537a9c..acc0a54 100644
--- a/recipes/telegram/package.json
+++ b/recipes/telegram/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "telegram", 2 "id": "telegram",
3 "name": "Telegram", 3 "name": "Telegram",
4 "version": "3.2.4", 4 "version": "3.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.telegram.org", 7 "serviceURL": "https://web.telegram.org",
diff --git a/recipes/telegram/webview.js b/recipes/telegram/webview.js
index d63282e..f05b43f 100644
--- a/recipes/telegram/webview.js
+++ b/recipes/telegram/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const telegramVersion = document 8 const telegramVersion = document
9 .querySelector('meta[name="application-name"]') 9 .querySelector('meta[name="application-name"]')
10 ?.getAttribute('content'); 10 ?.getAttribute('content');
@@ -26,14 +26,14 @@ module.exports = Ferdi => {
26 ); 26 );
27 27
28 for (const badge of directCountSelector) { 28 for (const badge of directCountSelector) {
29 directCount += Ferdi.safeParseInt(badge.textContent); 29 directCount += Ferdium.safeParseInt(badge.textContent);
30 } 30 }
31 31
32 for (const badge of groupCountSelector) { 32 for (const badge of groupCountSelector) {
33 groupCount += Ferdi.safeParseInt(badge.textContent); 33 groupCount += Ferdium.safeParseInt(badge.textContent);
34 } 34 }
35 35
36 Ferdi.setBadge(directCount, groupCount); 36 Ferdium.setBadge(directCount, groupCount);
37 }; 37 };
38 38
39 const webKCount = () => { 39 const webKCount = () => {
@@ -46,7 +46,7 @@ module.exports = Ferdi => {
46 const subtitleBadge = element.querySelector('.dialog-subtitle-badge'); 46 const subtitleBadge = element.querySelector('.dialog-subtitle-badge');
47 47
48 if (subtitleBadge) { 48 if (subtitleBadge) {
49 const parsedValue = Ferdi.safeParseInt(subtitleBadge.textContent); 49 const parsedValue = Ferdium.safeParseInt(subtitleBadge.textContent);
50 50
51 if (element.dataset.peerId > 0) { 51 if (element.dataset.peerId > 0) {
52 directCount += parsedValue; 52 directCount += parsedValue;
@@ -56,7 +56,7 @@ module.exports = Ferdi => {
56 } 56 }
57 } 57 }
58 58
59 Ferdi.setBadge(directCount, groupCount); 59 Ferdium.setBadge(directCount, groupCount);
60 }; 60 };
61 61
62 const getMessages = () => { 62 const getMessages = () => {
@@ -76,7 +76,7 @@ module.exports = Ferdi => {
76 element = document.querySelector('.top .peer-title'); 76 element = document.querySelector('.top .peer-title');
77 } 77 }
78 78
79 Ferdi.setDialogTitle(element ? element.textContent : ''); 79 Ferdium.setDialogTitle(element ? element.textContent : '');
80 }; 80 };
81 81
82 const loopFunc = () => { 82 const loopFunc = () => {
@@ -84,7 +84,7 @@ module.exports = Ferdi => {
84 getActiveDialogTitle(); 84 getActiveDialogTitle();
85 }; 85 };
86 86
87 Ferdi.loop(loopFunc); 87 Ferdium.loop(loopFunc);
88 88
89 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 89 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
90}; 90};
diff --git a/recipes/thelounge/index.js b/recipes/thelounge/index.js
index 23607bd..dd41f72 100644
--- a/recipes/thelounge/index.js
+++ b/recipes/thelounge/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/thelounge/package.json b/recipes/thelounge/package.json
index d7b2632..f5dc06f 100644
--- a/recipes/thelounge/package.json
+++ b/recipes/thelounge/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "thelounge", 2 "id": "thelounge",
3 "name": "The Lounge", 3 "name": "The Lounge",
4 "version": "1.2.0", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true, 7 "hasCustomUrl": true,
diff --git a/recipes/thelounge/webview-unsafe.js b/recipes/thelounge/webview-unsafe.js
index 3f1358a..9a40933 100644
--- a/recipes/thelounge/webview-unsafe.js
+++ b/recipes/thelounge/webview-unsafe.js
@@ -1,7 +1,7 @@
1// Monkey patch ServiceWorker.postMessage so that it will actually post a notification in Ferdi: 1// Monkey patch ServiceWorker.postMessage so that it will actually post a notification in Ferdium:
2 2
3function newPostMessage(options) { 3function newPostMessage(options) {
4 window.ferdi.displayNotification(options.title, options); 4 window.ferdium.displayNotification(options.title, options);
5} 5}
6 6
7ServiceWorker.prototype.postMessage = newPostMessage; 7ServiceWorker.prototype.postMessage = newPostMessage;
diff --git a/recipes/thelounge/webview.js b/recipes/thelounge/webview.js
index 394c867..5d3dbb7 100644
--- a/recipes/thelounge/webview.js
+++ b/recipes/thelounge/webview.js
@@ -25,7 +25,7 @@ function countsOfUnreadMessagesAfterMarker(unreadMarker) {
25 return [unread, unreadHighlighted]; 25 return [unread, unreadHighlighted];
26} 26}
27 27
28module.exports = Ferdi => { 28module.exports = Ferdium => {
29 var unreadMessagesAtLastActivity = 0; 29 var unreadMessagesAtLastActivity = 0;
30 var unreadHighlightedMessagesAtLastActivity = 0; 30 var unreadHighlightedMessagesAtLastActivity = 0;
31 31
@@ -41,7 +41,7 @@ module.exports = Ferdi => {
41 41
42 for (const directElement of directElements) { 42 for (const directElement of directElements) {
43 if (directElement.textContent.length > 0) { 43 if (directElement.textContent.length > 0) {
44 direct += Ferdi.safeParseInt(directElement.textContent); 44 direct += Ferdium.safeParseInt(directElement.textContent);
45 } 45 }
46 } 46 }
47 47
@@ -79,13 +79,13 @@ module.exports = Ferdi => {
79 unreadHighlightedMessagesAtLastActivity = 0; 79 unreadHighlightedMessagesAtLastActivity = 0;
80 } 80 }
81 81
82 Ferdi.setBadge(direct, indirect); 82 Ferdium.setBadge(direct, indirect);
83 }; 83 };
84 84
85 Ferdi.loop(getMessages); 85 Ferdium.loop(getMessages);
86 86
87 // We need to monkey patch ServierWorker.postMessage so that notifications 87 // We need to monkey patch ServierWorker.postMessage so that notifications
88 // will work, and that needs to be done without context isolation: 88 // will work, and that needs to be done without context isolation:
89 const path = require('path'); 89 const path = require('path');
90 Ferdi.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 90 Ferdium.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js'));
91}; 91};
diff --git a/recipes/threema/index.js b/recipes/threema/index.js
index 23607bd..dd41f72 100644
--- a/recipes/threema/index.js
+++ b/recipes/threema/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/threema/package.json b/recipes/threema/package.json
index f0a774d..5424f60 100644
--- a/recipes/threema/package.json
+++ b/recipes/threema/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "threema", 2 "id": "threema",
3 "name": "Threema", 3 "name": "Threema",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/Arany/franz-recipe-threema", 6 "repository": "https://github.com/Arany/franz-recipe-threema",
7 "config": { 7 "config": {
diff --git a/recipes/threema/webview.js b/recipes/threema/webview.js
index cf7d1e1..16eb20a 100644
--- a/recipes/threema/webview.js
+++ b/recipes/threema/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 const elements = document.querySelectorAll( 9 const elements = document.querySelectorAll(
10 '.badge.unread-count:not(.ng-hide)', 10 '.badge.unread-count:not(.ng-hide)',
@@ -13,17 +13,17 @@ module.exports = Ferdi => {
13 13
14 for (const element of elements) { 14 for (const element of elements) {
15 try { 15 try {
16 count += Ferdi.safeParseInt(element.textContent); 16 count += Ferdium.safeParseInt(element.textContent);
17 } catch (error) { 17 } catch (error) {
18 console.error(error); 18 console.error(error);
19 } 19 }
20 } 20 }
21 21
22 // set Ferdi badge 22 // set Ferdium badge
23 Ferdi.setBadge(count); 23 Ferdium.setBadge(count);
24 }; 24 };
25 25
26 Ferdi.loop(getMessages); 26 Ferdium.loop(getMessages);
27 27
28 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 28 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
29}; 29};
diff --git a/recipes/tinder/index.js b/recipes/tinder/index.js
index c0c5dd1..dd41f72 100644
--- a/recipes/tinder/index.js
+++ b/recipes/tinder/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Tinder extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/tinder/package.json b/recipes/tinder/package.json
index 0489405..6f5d1d2 100644
--- a/recipes/tinder/package.json
+++ b/recipes/tinder/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tinder", 2 "id": "tinder",
3 "name": "Tinder", 3 "name": "Tinder",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://tinder.com" 7 "serviceURL": "https://tinder.com"
diff --git a/recipes/tixio/index.js b/recipes/tixio/index.js
index 23607bd..dd41f72 100644
--- a/recipes/tixio/index.js
+++ b/recipes/tixio/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/tixio/package.json b/recipes/tixio/package.json
index 4d19424..3951250 100644
--- a/recipes/tixio/package.json
+++ b/recipes/tixio/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tixio", 2 "id": "tixio",
3 "name": "Tixio", 3 "name": "Tixio",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/hmcclungiii/franz-recipe-tixio", 6 "repository": "https://github.com/hmcclungiii/franz-recipe-tixio",
7 "config": { 7 "config": {
diff --git a/recipes/todoist/index.js b/recipes/todoist/index.js
index 23607bd..dd41f72 100644
--- a/recipes/todoist/index.js
+++ b/recipes/todoist/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/todoist/package.json b/recipes/todoist/package.json
index dda30c8..34aa90f 100644
--- a/recipes/todoist/package.json
+++ b/recipes/todoist/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "todoist", 2 "id": "todoist",
3 "name": "Todoist", 3 "name": "Todoist",
4 "version": "1.3.1", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/meetfranz/recipe-todoist", 6 "repository": "https://github.com/meetfranz/recipe-todoist",
7 "config": { 7 "config": {
diff --git a/recipes/todoist/webview.js b/recipes/todoist/webview.js
index 30030d5..27b77ad 100644
--- a/recipes/todoist/webview.js
+++ b/recipes/todoist/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 function getTasks() { 2 function getTasks() {
3 let todayCount = 0; 3 let todayCount = 0;
4 let inboxCount = 0; 4 let inboxCount = 0;
@@ -6,15 +6,15 @@ module.exports = Ferdi => {
6 const inboxElement = document.querySelector('#filter_inbox .item_counter'); 6 const inboxElement = document.querySelector('#filter_inbox .item_counter');
7 7
8 if (todayElement) { 8 if (todayElement) {
9 todayCount = Ferdi.safeParseInt(todayElement.textContent); 9 todayCount = Ferdium.safeParseInt(todayElement.textContent);
10 } 10 }
11 11
12 if (inboxElement) { 12 if (inboxElement) {
13 inboxCount = Ferdi.safeParseInt(inboxElement.textContent); 13 inboxCount = Ferdium.safeParseInt(inboxElement.textContent);
14 } 14 }
15 15
16 Ferdi.setBadge(inboxCount, todayCount); 16 Ferdium.setBadge(inboxCount, todayCount);
17 } 17 }
18 18
19 Ferdi.loop(getTasks); 19 Ferdium.loop(getTasks);
20}; 20};
diff --git a/recipes/toggl/index.js b/recipes/toggl/index.js
index 23607bd..dd41f72 100644
--- a/recipes/toggl/index.js
+++ b/recipes/toggl/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/toggl/package.json b/recipes/toggl/package.json
index 23d3d52..327a91d 100644
--- a/recipes/toggl/package.json
+++ b/recipes/toggl/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "toggl", 2 "id": "toggl",
3 "name": "Toggl", 3 "name": "Toggl",
4 "version": "1.2.2", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.toggl.com/app/timer", 7 "serviceURL": "https://www.toggl.com/app/timer",
diff --git a/recipes/toggl/webview-unsafe.js b/recipes/toggl/webview-unsafe.js
index 1508dec..f657e0c 100644
--- a/recipes/toggl/webview-unsafe.js
+++ b/recipes/toggl/webview-unsafe.js
@@ -1,7 +1,7 @@
1// only try to update badge once Ferdi API has finished loading 1// only try to update badge once Ferdium API has finished loading
2if (window.ferdi != undefined && window.ferdi.setBadge != undefined) { 2if (window.ferdium != undefined && window.ferdium.setBadge != undefined) {
3 var timerRunning = (window.toggl != undefined) && !!(window.toggl.store.getState().view.timer.timeEntry.start); 3 var timerRunning = (window.toggl != undefined) && !!(window.toggl.store.getState().view.timer.timeEntry.start);
4 4
5 // Treat running timer as a "non-direct" notification (default blue dot instead of urgent red "1") 5 // Treat running timer as a "non-direct" notification (default blue dot instead of urgent red "1")
6 window.ferdi.setBadge(0, timerRunning ? 1 : 0); 6 window.ferdium.setBadge(0, timerRunning ? 1 : 0);
7} 7}
diff --git a/recipes/toggl/webview.js b/recipes/toggl/webview.js
index 199700a..39ac3c3 100644
--- a/recipes/toggl/webview.js
+++ b/recipes/toggl/webview.js
@@ -2,10 +2,10 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const updateBadge = function updateBadge() { 6 const updateBadge = function updateBadge() {
7 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 7 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
8 }; 8 };
9 9
10 Ferdi.loop(updateBadge); 10 Ferdium.loop(updateBadge);
11}; 11};
diff --git a/recipes/trello/index.js b/recipes/trello/index.js
index 23607bd..dd41f72 100644
--- a/recipes/trello/index.js
+++ b/recipes/trello/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/trello/package.json b/recipes/trello/package.json
index 30aaae8..2dbe59a 100644
--- a/recipes/trello/package.json
+++ b/recipes/trello/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "trello", 2 "id": "trello",
3 "name": "Trello", 3 "name": "Trello",
4 "version": "1.2.0", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://trello.com/" 7 "serviceURL": "https://trello.com/"
diff --git a/recipes/trello/webview.js b/recipes/trello/webview.js
index e359de9..3207890 100644
--- a/recipes/trello/webview.js
+++ b/recipes/trello/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notifications = document.querySelectorAll('[class*=_3W-zkl4-bnVKzJ]'); 3 const notifications = document.querySelectorAll('[class*=_3W-zkl4-bnVKzJ]');
4 Ferdi.setBadge(0, notifications.length > 0 ? 1 : 0); 4 Ferdium.setBadge(0, notifications.length > 0 ? 1 : 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/tt-rss/README.md b/recipes/tt-rss/README.md
index a6620e5..d0ef122 100644
--- a/recipes/tt-rss/README.md
+++ b/recipes/tt-rss/README.md
@@ -1,3 +1,3 @@
1# Tiny Tiny RSS for Ferdi 1# Tiny Tiny RSS for Ferdium
2 2
3Support for [Tiny Tiny RSS](https://tt-rss.org/) 3Support for [Tiny Tiny RSS](https://tt-rss.org/)
diff --git a/recipes/tt-rss/index.js b/recipes/tt-rss/index.js
index cd5b37c..3b384eb 100644
--- a/recipes/tt-rss/index.js
+++ b/recipes/tt-rss/index.js
@@ -1,3 +1,3 @@
1"use strict"; 1"use strict";
2 2
3module.exports = Ferdi => Ferdi; 3module.exports = Ferdium => Ferdium;
diff --git a/recipes/tt-rss/package.json b/recipes/tt-rss/package.json
index bcfa970..2b3a305 100644
--- a/recipes/tt-rss/package.json
+++ b/recipes/tt-rss/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tt-rss", 2 "id": "tt-rss",
3 "name": "Tiny Tiny RSS", 3 "name": "Tiny Tiny RSS",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasCustomUrl": true 7 "hasCustomUrl": true
diff --git a/recipes/tt-rss/webview.js b/recipes/tt-rss/webview.js
index 1bb700a..3e3a0d3 100644
--- a/recipes/tt-rss/webview.js
+++ b/recipes/tt-rss/webview.js
@@ -1,6 +1,6 @@
1"use strict"; 1"use strict";
2 2
3module.exports = Ferdi => { 3module.exports = Ferdium => {
4 const getMessages = function getMessages() { 4 const getMessages = function getMessages() {
5 // Initialize empty vars 5 // Initialize empty vars
6 var unread = 0; 6 var unread = 0;
@@ -10,12 +10,12 @@ module.exports = Ferdi => {
10 // Some logic to handle the match groups 10 // Some logic to handle the match groups
11 unread = match != null && match.length > 0 ? match[1] : 0; 11 unread = match != null && match.length > 0 ? match[1] : 0;
12 // Set unread msgs badge 12 // Set unread msgs badge
13 Ferdi.setBadge(Number.parseInt(unread, 10)); 13 Ferdium.setBadge(Number.parseInt(unread, 10));
14 }; 14 };
15 15
16 const loopFunc = () => { 16 const loopFunc = () => {
17 getMessages(); 17 getMessages();
18 }; 18 };
19 19
20 Ferdi.loop(loopFunc); 20 Ferdium.loop(loopFunc);
21}; 21};
diff --git a/recipes/tutanota/index.js b/recipes/tutanota/index.js
index 5cb28eb..dd41f72 100644
--- a/recipes/tutanota/index.js
+++ b/recipes/tutanota/index.js
@@ -1 +1 @@
module.exports = Ferdi => class tutanota extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/tutanota/package.json b/recipes/tutanota/package.json
index 66da509..678613f 100644
--- a/recipes/tutanota/package.json
+++ b/recipes/tutanota/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tutanota", 2 "id": "tutanota",
3 "name": "Tutanota", 3 "name": "Tutanota",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.tutanota.com/" 7 "serviceURL": "https://mail.tutanota.com/"
diff --git a/recipes/tweetdeck/index.js b/recipes/tweetdeck/index.js
index f54a64a..89cfd18 100644
--- a/recipes/tweetdeck/index.js
+++ b/recipes/tweetdeck/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => 1module.exports = Ferdium =>
2 class Tweetdeck extends Ferdi { 2 class Tweetdeck extends Ferdium {
3 constructor(...args) { 3 constructor(...args) {
4 let _temp; 4 let _temp;
5 5
diff --git a/recipes/tweetdeck/package.json b/recipes/tweetdeck/package.json
index 2fc57fd..b082b40 100644
--- a/recipes/tweetdeck/package.json
+++ b/recipes/tweetdeck/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "tweetdeck", 2 "id": "tweetdeck",
3 "name": "Tweetdeck", 3 "name": "Tweetdeck",
4 "version": "1.2.2", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://tweetdeck.twitter.com/", 7 "serviceURL": "https://tweetdeck.twitter.com/",
diff --git a/recipes/tweetdeck/webview.js b/recipes/tweetdeck/webview.js
index 7f99509..7e2a067 100644
--- a/recipes/tweetdeck/webview.js
+++ b/recipes/tweetdeck/webview.js
@@ -1,6 +1,6 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 // Tweetdeck redirect fix 2 // Tweetdeck redirect fix
3 Ferdi.ipcRenderer.on('redirect-url', (event, url) => { 3 Ferdium.ipcRenderer.on('redirect-url', (event, url) => {
4 window.location.assign(url); 4 window.location.assign(url);
5 }); 5 });
6 6
@@ -8,11 +8,11 @@ module.exports = Ferdi => {
8 const elements = document.querySelectorAll('.msg-unread-count'); 8 const elements = document.querySelectorAll('.msg-unread-count');
9 let count = 0; 9 let count = 0;
10 if (elements[0]) { 10 if (elements[0]) {
11 count = Ferdi.safeParseInt(elements[0].textContent); 11 count = Ferdium.safeParseInt(elements[0].textContent);
12 } 12 }
13 13
14 Ferdi.setBadge(count); 14 Ferdium.setBadge(count);
15 }; 15 };
16 16
17 Ferdi.loop(getMessages); 17 Ferdium.loop(getMessages);
18}; 18};
diff --git a/recipes/twist/index.js b/recipes/twist/index.js
index 23607bd..dd41f72 100644
--- a/recipes/twist/index.js
+++ b/recipes/twist/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/twist/package.json b/recipes/twist/package.json
index 3d38e3f..f169607 100644
--- a/recipes/twist/package.json
+++ b/recipes/twist/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "twist", 2 "id": "twist",
3 "name": "Twist", 3 "name": "Twist",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://twistapp.com/login", 7 "serviceURL": "https://twistapp.com/login",
diff --git a/recipes/twist/webview.js b/recipes/twist/webview.js
index 52b67b5..4f3cbbe 100644
--- a/recipes/twist/webview.js
+++ b/recipes/twist/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = document.querySelectorAll('.switch_pane>.unread').length; 3 const count = document.querySelectorAll('.switch_pane>.unread').length;
4 Ferdi.setBadge(count); 4 Ferdium.setBadge(count);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/twitch/index.js b/recipes/twitch/index.js
index 23607bd..dd41f72 100644
--- a/recipes/twitch/index.js
+++ b/recipes/twitch/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/twitch/package.json b/recipes/twitch/package.json
index 7192484..d9efe7d 100644
--- a/recipes/twitch/package.json
+++ b/recipes/twitch/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "twitch", 2 "id": "twitch",
3 "name": "Twitch", 3 "name": "Twitch",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.twitch.tv/{teamId}/chat", 7 "serviceURL": "https://www.twitch.tv/{teamId}/chat",
diff --git a/recipes/twitch/webview.js b/recipes/twitch/webview.js
index 697efa6..0652545 100644
--- a/recipes/twitch/webview.js
+++ b/recipes/twitch/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const mentions = document.querySelectorAll('.chat-line .mentioned').length; 3 const mentions = document.querySelectorAll('.chat-line .mentioned').length;
4 Ferdi.setBadge(mentions, 0); 4 Ferdium.setBadge(mentions, 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/twitter-dm/index.js b/recipes/twitter-dm/index.js
index 23607bd..dd41f72 100644
--- a/recipes/twitter-dm/index.js
+++ b/recipes/twitter-dm/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/twitter-dm/package.json b/recipes/twitter-dm/package.json
index f40d6d9..208e82d 100644
--- a/recipes/twitter-dm/package.json
+++ b/recipes/twitter-dm/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "twitter-dm", 2 "id": "twitter-dm",
3 "name": "Twitter DM", 3 "name": "Twitter DM",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mobile.twitter.com/messages", 7 "serviceURL": "https://mobile.twitter.com/messages",
diff --git a/recipes/twitter-dm/webview.js b/recipes/twitter-dm/webview.js
index dd6856a..e8f7dd1 100644
--- a/recipes/twitter-dm/webview.js
+++ b/recipes/twitter-dm/webview.js
@@ -1,13 +1,13 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 const elem = document.querySelector('a[href="/messages"] div div'); 4 const elem = document.querySelector('a[href="/messages"] div div');
5 if (elem) { 5 if (elem) {
6 count = Ferdi.safeParseInt(elem.textContent); 6 count = Ferdium.safeParseInt(elem.textContent);
7 } 7 }
8 8
9 Ferdi.setBadge(count); 9 Ferdium.setBadge(count);
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/twitter/index.js b/recipes/twitter/index.js
index 23607bd..dd41f72 100644
--- a/recipes/twitter/index.js
+++ b/recipes/twitter/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/twitter/package.json b/recipes/twitter/package.json
index 485afb7..76e0ce0 100644
--- a/recipes/twitter/package.json
+++ b/recipes/twitter/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "twitter", 2 "id": "twitter",
3 "name": "Twitter", 3 "name": "Twitter",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/ferdium/ferdium-recipes", 6 "repository": "https://github.com/ferdium/ferdium-recipes",
7 "config": { 7 "config": {
diff --git a/recipes/twitter/webview.js b/recipes/twitter/webview.js
index d88e3e4..d8341e4 100644
--- a/recipes/twitter/webview.js
+++ b/recipes/twitter/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 4
@@ -8,17 +8,17 @@ module.exports = Ferdi => {
8 '[data-testid=AppTabBar_Notifications_Link] div div div', 8 '[data-testid=AppTabBar_Notifications_Link] div div div',
9 ); 9 );
10 if (notificationsElement) { 10 if (notificationsElement) {
11 direct += Ferdi.safeParseInt(notificationsElement.textContent); 11 direct += Ferdium.safeParseInt(notificationsElement.textContent);
12 } 12 }
13 const DMElement = document.querySelector( 13 const DMElement = document.querySelector(
14 '[data-testid=AppTabBar_DirectMessage_Link] div div div', 14 '[data-testid=AppTabBar_DirectMessage_Link] div div div',
15 ); 15 );
16 if (DMElement) { 16 if (DMElement) {
17 direct += Ferdi.safeParseInt(DMElement.textContent); 17 direct += Ferdium.safeParseInt(DMElement.textContent);
18 } 18 }
19 19
20 Ferdi.setBadge(direct); 20 Ferdium.setBadge(direct);
21 }; 21 };
22 22
23 Ferdi.loop(getMessages); 23 Ferdium.loop(getMessages);
24}; 24};
diff --git a/recipes/udemy/index.js b/recipes/udemy/index.js
index 23607bd..dd41f72 100644
--- a/recipes/udemy/index.js
+++ b/recipes/udemy/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/udemy/package.json b/recipes/udemy/package.json
index 4563e36..763ed5d 100644
--- a/recipes/udemy/package.json
+++ b/recipes/udemy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "udemy", 2 "id": "udemy",
3 "name": "Udemy", 3 "name": "Udemy",
4 "version": "1.0.5", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/gaspergrom/Franz-services/tree/master/udemy", 6 "repository": "https://github.com/gaspergrom/Franz-services/tree/master/udemy",
7 "config": { 7 "config": {
diff --git a/recipes/udemy/webview.js b/recipes/udemy/webview.js
index 6120e54..02b9c08 100644
--- a/recipes/udemy/webview.js
+++ b/recipes/udemy/webview.js
@@ -1,9 +1,9 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 let indirect = 0; 4 let indirect = 0;
5 Ferdi.setBadge(direct, indirect); 5 Ferdium.setBadge(direct, indirect);
6 } 6 }
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9} 9}
diff --git a/recipes/unraid/index.js b/recipes/unraid/index.js
index 23607bd..dd41f72 100644
--- a/recipes/unraid/index.js
+++ b/recipes/unraid/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/unraid/package.json b/recipes/unraid/package.json
index 61ee6df..479b48b 100644
--- a/recipes/unraid/package.json
+++ b/recipes/unraid/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "unraid", 2 "id": "unraid",
3 "name": "Unraid", 3 "name": "Unraid",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/rctneil/franz-recipe-unraid", 6 "repository": "https://github.com/rctneil/franz-recipe-unraid",
7 "config": { 7 "config": {
diff --git a/recipes/unraid/webview.js b/recipes/unraid/webview.js
index 4d194c4..f3a9eb4 100644
--- a/recipes/unraid/webview.js
+++ b/recipes/unraid/webview.js
@@ -1,9 +1,9 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const messages = $('#jGrowl .jGrowl-notify').length; 3 const messages = $('#jGrowl .jGrowl-notify').length;
4 4
5 Ferdi.setBadge(messages - 1); 5 Ferdium.setBadge(messages - 1);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/vk/index.js b/recipes/vk/index.js
index 23607bd..dd41f72 100644
--- a/recipes/vk/index.js
+++ b/recipes/vk/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/vk/package.json b/recipes/vk/package.json
index e61c166..f721d6d 100644
--- a/recipes/vk/package.json
+++ b/recipes/vk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "vk", 2 "id": "vk",
3 "name": "VK", 3 "name": "VK",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/meetfranz/recipe-vk", 6 "repository": "https://github.com/meetfranz/recipe-vk",
7 "config": { 7 "config": {
diff --git a/recipes/vk/webview.js b/recipes/vk/webview.js
index 6756363..aac23c3 100644
--- a/recipes/vk/webview.js
+++ b/recipes/vk/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directs = 0; 3 let directs = 0;
4 const element = document.querySelectorAll('.left_count'); 4 const element = document.querySelectorAll('.left_count');
5 if (element.length > 0) { 5 if (element.length > 0) {
6 directs = Ferdi.safeParseInt(element[0].textContent); 6 directs = Ferdium.safeParseInt(element[0].textContent);
7 } 7 }
8 8
9 Ferdi.setBadge(directs); 9 Ferdium.setBadge(directs);
10 }; 10 };
11 11
12 const getActiveDialogTitle = () => { 12 const getActiveDialogTitle = () => {
@@ -17,7 +17,7 @@ module.exports = Ferdi => {
17 document.querySelector('.im-page_history-show ._im_page_peer_name'), 17 document.querySelector('.im-page_history-show ._im_page_peer_name'),
18 ].find(Boolean); 18 ].find(Boolean);
19 19
20 Ferdi.setDialogTitle(element ? element.textContent : null); 20 Ferdium.setDialogTitle(element ? element.textContent : null);
21 }; 21 };
22 22
23 const loopFunc = () => { 23 const loopFunc = () => {
@@ -25,5 +25,5 @@ module.exports = Ferdi => {
25 getActiveDialogTitle(); 25 getActiveDialogTitle();
26 }; 26 };
27 27
28 Ferdi.loop(loopFunc); 28 Ferdium.loop(loopFunc);
29}; 29};
diff --git a/recipes/voxer/index.js b/recipes/voxer/index.js
index 23607bd..dd41f72 100644
--- a/recipes/voxer/index.js
+++ b/recipes/voxer/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/voxer/package.json b/recipes/voxer/package.json
index cfa41ea..a274996 100644
--- a/recipes/voxer/package.json
+++ b/recipes/voxer/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "voxer", 2 "id": "voxer",
3 "name": "Voxer", 3 "name": "Voxer",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.voxer.com", 7 "serviceURL": "https://web.voxer.com",
diff --git a/recipes/voxer/webview.js b/recipes/voxer/webview.js
index 5092eb9..5474b2c 100644
--- a/recipes/voxer/webview.js
+++ b/recipes/voxer/webview.js
@@ -2,15 +2,15 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const count = document.querySelectorAll('.unconsumed-badge').length; 7 const count = document.querySelectorAll('.unconsumed-badge').length;
8 8
9 // set Ferdi badge 9 // set Ferdium badge
10 Ferdi.setBadge(count); 10 Ferdium.setBadge(count);
11 }; 11 };
12 12
13 Ferdi.loop(getMessages); 13 Ferdium.loop(getMessages);
14 14
15 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 15 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
16}; 16};
diff --git a/recipes/wakatime/index.js b/recipes/wakatime/index.js
index 4caa1ec..dd41f72 100644
--- a/recipes/wakatime/index.js
+++ b/recipes/wakatime/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Wakatime extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/wakatime/package.json b/recipes/wakatime/package.json
index 2b8b21a..804212d 100644
--- a/recipes/wakatime/package.json
+++ b/recipes/wakatime/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "wakatime", 2 "id": "wakatime",
3 "name": "Wakatime", 3 "name": "Wakatime",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://wakatime.com/login" 7 "serviceURL": "https://wakatime.com/login"
diff --git a/recipes/webex-teams/index.js b/recipes/webex-teams/index.js
index 23607bd..dd41f72 100644
--- a/recipes/webex-teams/index.js
+++ b/recipes/webex-teams/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/webex-teams/package.json b/recipes/webex-teams/package.json
index 7bef37a..6d3b780 100644
--- a/recipes/webex-teams/package.json
+++ b/recipes/webex-teams/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "webex-teams", 2 "id": "webex-teams",
3 "name": "Webex Teams", 3 "name": "Webex Teams",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.webex.com", 7 "serviceURL": "https://web.webex.com",
diff --git a/recipes/webex-teams/webview.js b/recipes/webex-teams/webview.js
index 8a748e8..01ae230 100644
--- a/recipes/webex-teams/webview.js
+++ b/recipes/webex-teams/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
@@ -11,11 +11,11 @@ module.exports = Ferdi => {
11 } 11 }
12 12
13 if (span.length > 0) { 13 if (span.length > 0) {
14 count = Ferdi.safeParseInt(span[0].textContent); 14 count = Ferdium.safeParseInt(span[0].textContent);
15 } 15 }
16 16
17 Ferdi.setBadge(count); 17 Ferdium.setBadge(count);
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdium.loop(getMessages);
21}; 21};
diff --git a/recipes/wechat/index.js b/recipes/wechat/index.js
index 23607bd..dd41f72 100644
--- a/recipes/wechat/index.js
+++ b/recipes/wechat/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/wechat/package.json b/recipes/wechat/package.json
index 8024008..cdc76b9 100644
--- a/recipes/wechat/package.json
+++ b/recipes/wechat/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "wechat", 2 "id": "wechat",
3 "name": "WeChat", 3 "name": "WeChat",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/koma-private/recipe-wechat", 6 "repository": "https://github.com/koma-private/recipe-wechat",
7 "config": { 7 "config": {
diff --git a/recipes/wechat/webview.js b/recipes/wechat/webview.js
index e7de1f1..033faae 100644
--- a/recipes/wechat/webview.js
+++ b/recipes/wechat/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let directCount = 0; 9 let directCount = 0;
10 let indirectCount = 0; 10 let indirectCount = 0;
@@ -16,7 +16,7 @@ module.exports = Ferdi => {
16 const avatarImage = item.querySelector('img.img'); 16 const avatarImage = item.querySelector('img.img');
17 17
18 if (reddot) { 18 if (reddot) {
19 count = Ferdi.safeParseInt(reddot.textContent); 19 count = Ferdium.safeParseInt(reddot.textContent);
20 } 20 }
21 21
22 if ( 22 if (
@@ -29,10 +29,10 @@ module.exports = Ferdi => {
29 } 29 }
30 }); 30 });
31 31
32 Ferdi.setBadge(directCount, indirectCount); 32 Ferdium.setBadge(directCount, indirectCount);
33 }; 33 };
34 34
35 Ferdi.loop(getMessages); 35 Ferdium.loop(getMessages);
36 36
37 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 37 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
38}; 38};
diff --git a/recipes/weekplan/index.js b/recipes/weekplan/index.js
index 23607bd..dd41f72 100644
--- a/recipes/weekplan/index.js
+++ b/recipes/weekplan/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/weekplan/package.json b/recipes/weekplan/package.json
index e3c0139..8fa7d9c 100644
--- a/recipes/weekplan/package.json
+++ b/recipes/weekplan/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "weekplan", 2 "id": "weekplan",
3 "name": "Weekplan", 3 "name": "Weekplan",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/minipada/recipe-weekplan", 6 "repository": "https://github.com/minipada/recipe-weekplan",
7 "config": { 7 "config": {
diff --git a/recipes/weekplan/webview.js b/recipes/weekplan/webview.js
index 535ab9b..5085199 100644
--- a/recipes/weekplan/webview.js
+++ b/recipes/weekplan/webview.js
@@ -1,10 +1,10 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const events = document.querySelectorAll(".today")[0].querySelectorAll('.list')[0].querySelectorAll('.task-list')[0].querySelectorAll('.event-section')[0].querySelectorAll('.droppable')[0].children[0].childElementCount 3 const events = document.querySelectorAll(".today")[0].querySelectorAll('.list')[0].querySelectorAll('.task-list')[0].querySelectorAll('.event-section')[0].querySelectorAll('.droppable')[0].children[0].childElementCount
4 const tasks = document.querySelectorAll(".today")[0].querySelectorAll('.list')[0].querySelectorAll('.task-list')[0].querySelectorAll('.task-section')[0].querySelectorAll('.droppable')[0].children[0].childElementCount 4 const tasks = document.querySelectorAll(".today")[0].querySelectorAll('.list')[0].querySelectorAll('.task-list')[0].querySelectorAll('.task-section')[0].querySelectorAll('.droppable')[0].children[0].childElementCount
5 5
6 Ferdi.setBadge(events + tasks); 6 Ferdium.setBadge(events + tasks);
7 }; 7 };
8 8
9 Ferdi.loop(getMessages); 9 Ferdium.loop(getMessages);
10} 10}
diff --git a/recipes/whatsapp/index.js b/recipes/whatsapp/index.js
index 4caf116..80eaf51 100644
--- a/recipes/whatsapp/index.js
+++ b/recipes/whatsapp/index.js
@@ -1,13 +1,13 @@
1module.exports = (Ferdi) => class Messenger extends Ferdi { 1module.exports = (Ferdium) => class Messenger extends Ferdium {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5 5
6 modifyRequestHeaders() { 6 modifyRequestHeaders() {
7 return [ 7 return [
8 { 8 {
9 headers: { 9 headers: {
10 'user-agent': window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(), 10 'user-agent': window.navigator.userAgent.replace(/(Ferdium|Electron)\/\S+ \([^)]+\)/g, '').trim(),
11 }, 11 },
12 requestFilters: { 12 requestFilters: {
13 urls: ['*://*/*'], 13 urls: ['*://*/*'],
diff --git a/recipes/whatsapp/package.json b/recipes/whatsapp/package.json
index d93eb3e..5d0f001 100644
--- a/recipes/whatsapp/package.json
+++ b/recipes/whatsapp/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "whatsapp", 2 "id": "whatsapp",
3 "name": "WhatsApp", 3 "name": "WhatsApp",
4 "version": "3.3.7", 4 "version": "3.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://web.whatsapp.com", 7 "serviceURL": "https://web.whatsapp.com",
diff --git a/recipes/whatsapp/webview.js b/recipes/whatsapp/webview.js
index b753ad9..3586e14 100644
--- a/recipes/whatsapp/webview.js
+++ b/recipes/whatsapp/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let count = 0; 9 let count = 0;
10 let indirectCount = 0; 10 let indirectCount = 0;
@@ -18,7 +18,7 @@ module.exports = Ferdi => {
18 18
19 const unreadSpans = parentChatElem.querySelectorAll('span[aria-label]'); 19 const unreadSpans = parentChatElem.querySelectorAll('span[aria-label]');
20 for (const unreadElem of unreadSpans) { 20 for (const unreadElem of unreadSpans) {
21 const countValue = Ferdi.safeParseInt(unreadElem.textContent); 21 const countValue = Ferdium.safeParseInt(unreadElem.textContent);
22 if (countValue > 0) { 22 if (countValue > 0) {
23 if ( 23 if (
24 !unreadElem.parentNode.previousSibling || 24 !unreadElem.parentNode.previousSibling ||
@@ -33,13 +33,13 @@ module.exports = Ferdi => {
33 } 33 }
34 } 34 }
35 35
36 Ferdi.setBadge(count, indirectCount); 36 Ferdium.setBadge(count, indirectCount);
37 }; 37 };
38 38
39 const getActiveDialogTitle = () => { 39 const getActiveDialogTitle = () => {
40 const element = document.querySelector('header .emoji-texttt'); 40 const element = document.querySelector('header .emoji-texttt');
41 41
42 Ferdi.setDialogTitle(element ? element.textContent : ''); 42 Ferdium.setDialogTitle(element ? element.textContent : '');
43 }; 43 };
44 44
45 const loopFunc = () => { 45 const loopFunc = () => {
@@ -48,10 +48,10 @@ module.exports = Ferdi => {
48 }; 48 };
49 49
50 window.addEventListener('beforeunload', async () => { 50 window.addEventListener('beforeunload', async () => {
51 Ferdi.releaseServiceWorkers(); 51 Ferdium.releaseServiceWorkers();
52 }); 52 });
53 53
54 Ferdi.loop(loopFunc); 54 Ferdium.loop(loopFunc);
55 55
56 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 56 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
57}; 57};
diff --git a/recipes/whereby/index.js b/recipes/whereby/index.js
index 23607bd..dd41f72 100644
--- a/recipes/whereby/index.js
+++ b/recipes/whereby/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/whereby/package.json b/recipes/whereby/package.json
index 6b3610d..3eb3668 100644
--- a/recipes/whereby/package.json
+++ b/recipes/whereby/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "whereby", 2 "id": "whereby",
3 "name": "Whereby", 3 "name": "Whereby",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://whereby.com/{teamId}", 7 "serviceURL": "https://whereby.com/{teamId}",
diff --git a/recipes/whereby/webview.js b/recipes/whereby/webview.js
index eb751a5..6e64c6f 100644
--- a/recipes/whereby/webview.js
+++ b/recipes/whereby/webview.js
@@ -2,7 +2,7 @@ var _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = Ferdi => { 5module.exports = Ferdium => {
6 const getMessages = () => { 6 const getMessages = () => {
7 const elements = document.querySelectorAll('.CxUIE, .unread'); 7 const elements = document.querySelectorAll('.CxUIE, .unread');
8 let count = 0; 8 let count = 0;
@@ -13,13 +13,13 @@ module.exports = Ferdi => {
13 } 13 }
14 } 14 }
15 15
16 // set Ferdi badge 16 // set Ferdium badge
17 Ferdi.setBadge(count); 17 Ferdium.setBadge(count);
18 }; 18 };
19 19
20 // check for new messages every second and update Ferdi badge 20 // check for new messages every second and update Ferdium badge
21 Ferdi.loop(getMessages); 21 Ferdium.loop(getMessages);
22 22
23 // inject Ferdi.css stylesheet 23 // inject Ferdium.css stylesheet
24 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 24 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
25}; 25};
diff --git a/recipes/wire/index.js b/recipes/wire/index.js
index 653b54c..244fe33 100644
--- a/recipes/wire/index.js
+++ b/recipes/wire/index.js
@@ -1 +1 @@
module.exports = (Ferdi) => Ferdi; module.exports = (Ferdium) => Ferdium;
diff --git a/recipes/wire/package.json b/recipes/wire/package.json
index e0e2136..d7bfce4 100644
--- a/recipes/wire/package.json
+++ b/recipes/wire/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "wire", 2 "id": "wire",
3 "name": "Wire", 3 "name": "Wire",
4 "version": "1.0.4", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.wire.com/", 7 "serviceURL": "https://app.wire.com/",
diff --git a/recipes/wire/webview.js b/recipes/wire/webview.js
index cdb5058..5945515 100644
--- a/recipes/wire/webview.js
+++ b/recipes/wire/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 let indirect = 0; 4 let indirect = 0;
@@ -9,7 +9,7 @@ module.exports = Ferdi => {
9 ); 9 );
10 if (conversationElems) { 10 if (conversationElems) {
11 for (const conversationElem of conversationElems) { 11 for (const conversationElem of conversationElems) {
12 direct += Ferdi.safeParseInt(conversationElem.textContent); 12 direct += Ferdium.safeParseInt(conversationElem.textContent);
13 } 13 }
14 } 14 }
15 15
@@ -21,7 +21,7 @@ module.exports = Ferdi => {
21 const matches = 21 const matches =
22 pendingElem.textContent && pendingElem.textContent.match(/^([1-9]\d*)/); 22 pendingElem.textContent && pendingElem.textContent.match(/^([1-9]\d*)/);
23 if (matches && matches.length > 1) { 23 if (matches && matches.length > 1) {
24 indirect += Ferdi.safeParseInt(matches[1]); 24 indirect += Ferdium.safeParseInt(matches[1]);
25 } 25 }
26 } 26 }
27 27
@@ -32,8 +32,8 @@ module.exports = Ferdi => {
32 // direct = matches[1]; 32 // direct = matches[1];
33 // } 33 // }
34 34
35 Ferdi.setBadge(direct, indirect); 35 Ferdium.setBadge(direct, indirect);
36 }; 36 };
37 37
38 Ferdi.loop(getMessages); 38 Ferdium.loop(getMessages);
39}; 39};
diff --git a/recipes/withspectrum/index.js b/recipes/withspectrum/index.js
index 23607bd..dd41f72 100644
--- a/recipes/withspectrum/index.js
+++ b/recipes/withspectrum/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/withspectrum/package.json b/recipes/withspectrum/package.json
index ae1025c..4381afa 100644
--- a/recipes/withspectrum/package.json
+++ b/recipes/withspectrum/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "withspectrum", 2 "id": "withspectrum",
3 "name": "Spectrum", 3 "name": "Spectrum",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://spectrum.chat" 7 "serviceURL": "https://spectrum.chat"
diff --git a/recipes/withspectrum/webview.js b/recipes/withspectrum/webview.js
index 0a3d9f3..d31d0a7 100644
--- a/recipes/withspectrum/webview.js
+++ b/recipes/withspectrum/webview.js
@@ -1,11 +1,11 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const element = document.querySelector('[href="/notifications"] > div'); 3 const element = document.querySelector('[href="/notifications"] > div');
4 const content = window.getComputedStyle(element, ':after').getPropertyValue('content').match(/\d+/); 4 const content = window.getComputedStyle(element, ':after').getPropertyValue('content').match(/\d+/);
5 const notifications = Number(content); 5 const notifications = Number(content);
6 6
7 Ferdi.setBadge(notifications); 7 Ferdium.setBadge(notifications);
8 }; 8 };
9 9
10 Ferdi.loop(getMessages); 10 Ferdium.loop(getMessages);
11}; 11};
diff --git a/recipes/workflowy/index.js b/recipes/workflowy/index.js
index d792bf3..dd41f72 100644
--- a/recipes/workflowy/index.js
+++ b/recipes/workflowy/index.js
@@ -1 +1 @@
module.exports = Ferdi => class Workflowy extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/workflowy/package.json b/recipes/workflowy/package.json
index feb0d82..82e1400 100644
--- a/recipes/workflowy/package.json
+++ b/recipes/workflowy/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "workflowy", 2 "id": "workflowy",
3 "name": "WorkFlowy", 3 "name": "WorkFlowy",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://workflowy.com" 7 "serviceURL": "https://workflowy.com"
diff --git a/recipes/workflowy/webview.js b/recipes/workflowy/webview.js
index 97238c9..c3e00a8 100644
--- a/recipes/workflowy/webview.js
+++ b/recipes/workflowy/webview.js
@@ -2,7 +2,7 @@ module.exports = () => {
2 // TODO: If your workflowy service has unread messages, uncomment these lines to implement the logic for updating the badges 2 // TODO: If your workflowy service has unread messages, uncomment these lines to implement the logic for updating the badges
3 // const getMessages = () => { 3 // const getMessages = () => {
4 // // TODO: Insert your notification-finding code here 4 // // TODO: Insert your notification-finding code here
5 // Ferdi.setBadge(0, 0); 5 // Ferdium.setBadge(0, 0);
6 // }; 6 // };
7 // Ferdi.loop(getMessages); 7 // Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/workplace/index.js b/recipes/workplace/index.js
index 23607bd..dd41f72 100644
--- a/recipes/workplace/index.js
+++ b/recipes/workplace/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/workplace/package.json b/recipes/workplace/package.json
index f730dd8..ac9918c 100644
--- a/recipes/workplace/package.json
+++ b/recipes/workplace/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "workplace", 2 "id": "workplace",
3 "name": "Workplace", 3 "name": "Workplace",
4 "version": "1.3.1", 4 "version": "1.4.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.workplace.com/chat", 7 "serviceURL": "https://{teamId}.workplace.com/chat",
diff --git a/recipes/workplace/webview.js b/recipes/workplace/webview.js
index 90c6c27..8ee283b 100644
--- a/recipes/workplace/webview.js
+++ b/recipes/workplace/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let direct = 0; 9 let direct = 0;
10 let indirect = 0; 10 let indirect = 0;
@@ -12,7 +12,7 @@ module.exports = Ferdi => {
12 const notifications = document.querySelector('#notifications span span'); 12 const notifications = document.querySelector('#notifications span span');
13 13
14 if (notifications) { 14 if (notifications) {
15 indirect = Ferdi.safeParseInt(notifications.textContent); 15 indirect = Ferdium.safeParseInt(notifications.textContent);
16 } 16 }
17 17
18 if (chatsElement) { 18 if (chatsElement) {
@@ -20,7 +20,7 @@ module.exports = Ferdi => {
20 const chatMessages = chatsElement.querySelector('span'); 20 const chatMessages = chatsElement.querySelector('span');
21 21
22 if (chatMessages) { 22 if (chatMessages) {
23 direct = Ferdi.safeParseInt(chatMessages.textContent); 23 direct = Ferdium.safeParseInt(chatMessages.textContent);
24 } 24 }
25 } else { 25 } else {
26 direct = document.querySelectorAll( 26 direct = document.querySelectorAll(
@@ -29,20 +29,20 @@ module.exports = Ferdi => {
29 } 29 }
30 } 30 }
31 31
32 Ferdi.setBadge(direct, indirect); 32 Ferdium.setBadge(direct, indirect);
33 }; 33 };
34 34
35 Ferdi.loop(getMessages); 35 Ferdium.loop(getMessages);
36 36
37 Ferdi.injectCSS(_path.default.join(__dirname, 'workplace.css')); 37 Ferdium.injectCSS(_path.default.join(__dirname, 'workplace.css'));
38 38
39 localStorage._cs_desktopNotifsEnabled = JSON.stringify({ 39 localStorage._cs_desktopNotifsEnabled = JSON.stringify({
40 __t: Date.now(), 40 __t: Date.now(),
41 __v: true, 41 __v: true,
42 }); 42 });
43 43
44 if (typeof Ferdi.onNotify === 'function') { 44 if (typeof Ferdium.onNotify === 'function') {
45 Ferdi.onNotify(notification => { 45 Ferdium.onNotify(notification => {
46 if (typeof notification.title !== 'string') { 46 if (typeof notification.title !== 'string') {
47 notification.title = 47 notification.title =
48 ((notification.title.props || {}).content || [])[0] || 'Work Chat'; 48 ((notification.title.props || {}).content || [])[0] || 'Work Chat';
diff --git a/recipes/wrike/index.js b/recipes/wrike/index.js
index 23607bd..dd41f72 100644
--- a/recipes/wrike/index.js
+++ b/recipes/wrike/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/wrike/package.json b/recipes/wrike/package.json
index 1e298cf..48cacf6 100644
--- a/recipes/wrike/package.json
+++ b/recipes/wrike/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "wrike", 2 "id": "wrike",
3 "name": "Wrike", 3 "name": "Wrike",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/koma-private/recipe-wrike", 6 "repository": "https://github.com/koma-private/recipe-wrike",
7 "config": { 7 "config": {
diff --git a/recipes/wrike/webview.js b/recipes/wrike/webview.js
index 93d5d53..0026fff 100644
--- a/recipes/wrike/webview.js
+++ b/recipes/wrike/webview.js
@@ -1,15 +1,15 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directCount = 0; 3 let directCount = 0;
4 const element = document.querySelector( 4 const element = document.querySelector(
5 '.ws-navigation-button__indicator.ws-navigation-button-indicator', 5 '.ws-navigation-button__indicator.ws-navigation-button-indicator',
6 ); 6 );
7 if (element) { 7 if (element) {
8 directCount = Ferdi.safeParseInt(element.textContent); 8 directCount = Ferdium.safeParseInt(element.textContent);
9 } 9 }
10 10
11 Ferdi.setBadge(directCount); 11 Ferdium.setBadge(directCount);
12 }; 12 };
13 13
14 Ferdi.loop(getMessages); 14 Ferdium.loop(getMessages);
15}; 15};
diff --git a/recipes/xing/index.js b/recipes/xing/index.js
index 23607bd..dd41f72 100644
--- a/recipes/xing/index.js
+++ b/recipes/xing/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/xing/package.json b/recipes/xing/package.json
index 12a2c6f..867e47e 100644
--- a/recipes/xing/package.json
+++ b/recipes/xing/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "xing", 2 "id": "xing",
3 "name": "XING", 3 "name": "XING",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.xing.com/messenger/global" 7 "serviceURL": "https://www.xing.com/messenger/global"
diff --git a/recipes/xing/webview.js b/recipes/xing/webview.js
index 75038bf..28d9265 100644
--- a/recipes/xing/webview.js
+++ b/recipes/xing/webview.js
@@ -1,7 +1,7 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 function getUnreadConversations() { 2 function getUnreadConversations() {
3 Ferdi.setBadge(document.querySelector('#unread-conversations').textContent); 3 Ferdium.setBadge(document.querySelector('#unread-conversations').textContent);
4 } 4 }
5 5
6 Ferdi.loop(getUnreadConversations); 6 Ferdium.loop(getUnreadConversations);
7}; 7};
diff --git a/recipes/xmpp/index.js b/recipes/xmpp/index.js
index 23607bd..dd41f72 100644
--- a/recipes/xmpp/index.js
+++ b/recipes/xmpp/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/xmpp/package.json b/recipes/xmpp/package.json
index abef897..97bf94b 100644
--- a/recipes/xmpp/package.json
+++ b/recipes/xmpp/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "xmpp", 2 "id": "xmpp",
3 "name": "XMPP", 3 "name": "XMPP",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/Aman9das/ferdi-xmpp-recipe", 6 "repository": "https://github.com/Aman9das/ferdi-xmpp-recipe",
7 "config": { 7 "config": {
diff --git a/recipes/xmpp/webview.js b/recipes/xmpp/webview.js
index dec648c..399133d 100644
--- a/recipes/xmpp/webview.js
+++ b/recipes/xmpp/webview.js
@@ -1,13 +1,13 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 function getMessages() { 2 function getMessages() {
3 let direct = 0; 3 let direct = 0;
4 for (const indicator of document.querySelectorAll('.msgs-indicator')) { 4 for (const indicator of document.querySelectorAll('.msgs-indicator')) {
5 direct += Ferdi.safeParseInt(indicator.textContent) 5 direct += Ferdium.safeParseInt(indicator.textContent)
6 } 6 }
7 7
8 direct = direct / 2 // as the messages are provided in 2 different locations.. 8 direct = direct / 2 // as the messages are provided in 2 different locations..
9 Ferdi.setBadge(direct); 9 Ferdium.setBadge(direct);
10 } 10 }
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/yahoo-mail/index.js b/recipes/yahoo-mail/index.js
index b47bdb4..858fff1 100644
--- a/recipes/yahoo-mail/index.js
+++ b/recipes/yahoo-mail/index.js
@@ -1,9 +1,9 @@
1module.exports = (Ferdi) => class YahooMail extends Ferdi { 1module.exports = (Ferdium) => class YahooMail extends Ferdium {
2 modifyRequestHeaders() { 2 modifyRequestHeaders() {
3 return [ 3 return [
4 { 4 {
5 headers: { 5 headers: {
6 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdi 6 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdium
7 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36', 7 'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
8 }, 8 },
9 requestFilters: { 9 requestFilters: {
diff --git a/recipes/yahoo-mail/package.json b/recipes/yahoo-mail/package.json
index 1c6a2be..3bf5dbe 100644
--- a/recipes/yahoo-mail/package.json
+++ b/recipes/yahoo-mail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "yahoo-mail", 2 "id": "yahoo-mail",
3 "name": "Yahoo Mail", 3 "name": "Yahoo Mail",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.yahoo.com", 7 "serviceURL": "https://mail.yahoo.com",
diff --git a/recipes/yahoo-mail/webview.js b/recipes/yahoo-mail/webview.js
index 17ea298..d9f919c 100644
--- a/recipes/yahoo-mail/webview.js
+++ b/recipes/yahoo-mail/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdium) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const count = document.querySelector('a[data-test-folder-name="Inbox"]').getAttribute('data-test-unread-count'); 3 const count = document.querySelector('a[data-test-folder-name="Inbox"]').getAttribute('data-test-unread-count');
4 Ferdi.setBadge(count); 4 Ferdium.setBadge(count);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/yammer/index.js b/recipes/yammer/index.js
index 23607bd..dd41f72 100644
--- a/recipes/yammer/index.js
+++ b/recipes/yammer/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/yammer/package.json b/recipes/yammer/package.json
index da90bec..4bbd99b 100644
--- a/recipes/yammer/package.json
+++ b/recipes/yammer/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "yammer", 2 "id": "yammer",
3 "name": "Yammer", 3 "name": "Yammer",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.yammer.com/login", 7 "serviceURL": "https://www.yammer.com/login",
diff --git a/recipes/yammer/webview.js b/recipes/yammer/webview.js
index 6bfd971..56c2eeb 100644
--- a/recipes/yammer/webview.js
+++ b/recipes/yammer/webview.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let directMessages = 0; 3 let directMessages = 0;
4 let indirectMessages = 0; 4 let indirectMessages = 0;
@@ -10,17 +10,17 @@ module.exports = Ferdi => {
10 ); 10 );
11 11
12 if (notificationElement) { 12 if (notificationElement) {
13 directMessages = Ferdi.safeParseInt(notificationElement.textContent); 13 directMessages = Ferdium.safeParseInt(notificationElement.textContent);
14 } 14 }
15 15
16 if (newMessagesElement) { 16 if (newMessagesElement) {
17 indirectMessages = Ferdi.safeParseInt( 17 indirectMessages = Ferdium.safeParseInt(
18 newMessagesElement.textContent.match(/\d+/)[0], 18 newMessagesElement.textContent.match(/\d+/)[0],
19 ); 19 );
20 } 20 }
21 21
22 Ferdi.setBadge(directMessages, indirectMessages); 22 Ferdium.setBadge(directMessages, indirectMessages);
23 }; 23 };
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26}; 26};
diff --git a/recipes/yandex-mail/index.js b/recipes/yandex-mail/index.js
index 23607bd..dd41f72 100644
--- a/recipes/yandex-mail/index.js
+++ b/recipes/yandex-mail/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/yandex-mail/package.json b/recipes/yandex-mail/package.json
index 0e5bbfb..f2f4df3 100644
--- a/recipes/yandex-mail/package.json
+++ b/recipes/yandex-mail/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "yandex-mail", 2 "id": "yandex-mail",
3 "name": "Yandex Mail", 3 "name": "Yandex Mail",
4 "version": "1.0.1", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://mail.yandex.ru" 7 "serviceURL": "https://mail.yandex.ru"
diff --git a/recipes/yandex-mail/webview.js b/recipes/yandex-mail/webview.js
index fff4602..66b82a7 100644
--- a/recipes/yandex-mail/webview.js
+++ b/recipes/yandex-mail/webview.js
@@ -1,13 +1,13 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let count = 0; 3 let count = 0;
4 4
5 if (document.querySelectorAll('.mail-LabelList-Item_count').length > 1) { 5 if (document.querySelectorAll('.mail-LabelList-Item_count').length > 1) {
6 count = Ferdi.safeParseInt(document.querySelectorAll('.mail-LabelList-Item_count')[1].textContent); 6 count = Ferdium.safeParseInt(document.querySelectorAll('.mail-LabelList-Item_count')[1].textContent);
7 } 7 }
8 8
9 Ferdi.setBadge(count); 9 Ferdium.setBadge(count);
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdium.loop(getMessages);
13}; 13};
diff --git a/recipes/youtrack/index.js b/recipes/youtrack/index.js
index 16a8178..dd41f72 100644
--- a/recipes/youtrack/index.js
+++ b/recipes/youtrack/index.js
@@ -1 +1 @@
module.exports = Ferdi => class youtrack extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/youtrack/package.json b/recipes/youtrack/package.json
index f31b70d..7e957ce 100644
--- a/recipes/youtrack/package.json
+++ b/recipes/youtrack/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "youtrack", 2 "id": "youtrack",
3 "name": "YouTrack", 3 "name": "YouTrack",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.myjetbrains.com/youtrack/", 7 "serviceURL": "https://{teamId}.myjetbrains.com/youtrack/",
diff --git a/recipes/youtrack/webview.js b/recipes/youtrack/webview.js
index 286046a..0013bf0 100644
--- a/recipes/youtrack/webview.js
+++ b/recipes/youtrack/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unread = document.querySelectorAll('.header__bell-wrapper_unread'); 3 const unread = document.querySelectorAll('.header__bell-wrapper_unread');
4 Ferdi.setBadge(unread.length > 0 ? 1 : 0); 4 Ferdium.setBadge(unread.length > 0 ? 1 : 0);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/youtube/index.js b/recipes/youtube/index.js
index 23607bd..dd41f72 100644
--- a/recipes/youtube/index.js
+++ b/recipes/youtube/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/youtube/package.json b/recipes/youtube/package.json
index 4baab23..f5189a9 100644
--- a/recipes/youtube/package.json
+++ b/recipes/youtube/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "youtube", 2 "id": "youtube",
3 "name": "YouTube", 3 "name": "YouTube",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://youtube.com/" 7 "serviceURL": "https://youtube.com/"
diff --git a/recipes/youtubemusic/index.js b/recipes/youtubemusic/index.js
index 23607bd..dd41f72 100644
--- a/recipes/youtubemusic/index.js
+++ b/recipes/youtubemusic/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/youtubemusic/package.json b/recipes/youtubemusic/package.json
index 0d4cc50..f281f79 100644
--- a/recipes/youtubemusic/package.json
+++ b/recipes/youtubemusic/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "youtubemusic", 2 "id": "youtubemusic",
3 "name": "YouTube Music", 3 "name": "YouTube Music",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://music.youtube.com/" 7 "serviceURL": "https://music.youtube.com/"
diff --git a/recipes/zalo/index.js b/recipes/zalo/index.js
index 23607bd..dd41f72 100644
--- a/recipes/zalo/index.js
+++ b/recipes/zalo/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zalo/package.json b/recipes/zalo/package.json
index 5b96163..a8f859f 100644
--- a/recipes/zalo/package.json
+++ b/recipes/zalo/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zalo", 2 "id": "zalo",
3 "name": "Zalo", 3 "name": "Zalo",
4 "version": "1.2.1", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://chat.zalo.me/", 7 "serviceURL": "https://chat.zalo.me/",
diff --git a/recipes/zalo/webview.js b/recipes/zalo/webview.js
index 9ccc93b..785cb9a 100644
--- a/recipes/zalo/webview.js
+++ b/recipes/zalo/webview.js
@@ -1,8 +1,8 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const notificationBadge = document.querySelectorAll('.tab-red-dot').length; 3 const notificationBadge = document.querySelectorAll('.tab-red-dot').length;
4 Ferdi.setBadge(notificationBadge); 4 Ferdium.setBadge(notificationBadge);
5 }; 5 };
6 6
7 Ferdi.loop(getMessages); 7 Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/zendesk/index.js b/recipes/zendesk/index.js
index 23607bd..dd41f72 100644
--- a/recipes/zendesk/index.js
+++ b/recipes/zendesk/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zendesk/package.json b/recipes/zendesk/package.json
index 6fae488..aa1daca 100644
--- a/recipes/zendesk/package.json
+++ b/recipes/zendesk/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zendesk", 2 "id": "zendesk",
3 "name": "Zendesk", 3 "name": "Zendesk",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://{teamId}.zendesk.com/agent", 7 "serviceURL": "https://{teamId}.zendesk.com/agent",
diff --git a/recipes/zendesk/webview.js b/recipes/zendesk/webview.js
index 0b448b7..5493dbf 100644
--- a/recipes/zendesk/webview.js
+++ b/recipes/zendesk/webview.js
@@ -4,20 +4,20 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = Ferdi => { 7module.exports = Ferdium => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let count = 0; 9 let count = 0;
10 const element = document.querySelector( 10 const element = document.querySelector(
11 '.dashboard-top-panel .indicators .stats-group .cell-value', 11 '.dashboard-top-panel .indicators .stats-group .cell-value',
12 ); 12 );
13 if (element) { 13 if (element) {
14 count = Ferdi.safeParseInt(element.textContent); 14 count = Ferdium.safeParseInt(element.textContent);
15 } 15 }
16 16
17 Ferdi.setBadge(count); 17 Ferdium.setBadge(count);
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdium.loop(getMessages);
21 21
22 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 22 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
23}; 23};
diff --git a/recipes/zenhub/index.js b/recipes/zenhub/index.js
index 23607bd..dd41f72 100644
--- a/recipes/zenhub/index.js
+++ b/recipes/zenhub/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zenhub/package.json b/recipes/zenhub/package.json
index 14bf819..fdd665e 100644
--- a/recipes/zenhub/package.json
+++ b/recipes/zenhub/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zenhub", 2 "id": "zenhub",
3 "name": "ZenHub", 3 "name": "ZenHub",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/mordaroso/recipe-franz-zenhub", 6 "repository": "https://github.com/mordaroso/recipe-franz-zenhub",
7 "config": { 7 "config": {
diff --git a/recipes/zeplin/index.js b/recipes/zeplin/index.js
index 23607bd..dd41f72 100644
--- a/recipes/zeplin/index.js
+++ b/recipes/zeplin/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zeplin/package.json b/recipes/zeplin/package.json
index bddbc57..0cbf314 100644
--- a/recipes/zeplin/package.json
+++ b/recipes/zeplin/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zeplin", 2 "id": "zeplin",
3 "name": "Zeplin", 3 "name": "Zeplin",
4 "version": "1.1.0", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://app.zeplin.io/login" 7 "serviceURL": "https://app.zeplin.io/login"
diff --git a/recipes/zeplin/webview.js b/recipes/zeplin/webview.js
index 445eebe..d66b355 100644
--- a/recipes/zeplin/webview.js
+++ b/recipes/zeplin/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const totalNotifications = document.querySelectorAll('#notificationList > .notification').length; 3 const totalNotifications = document.querySelectorAll('#notificationList > .notification').length;
4 const hasUnread = document.querySelectorAll('#notificationsButton.hasUnread').length > 0; 4 const hasUnread = document.querySelectorAll('#notificationsButton.hasUnread').length > 0;
5 Ferdi.setBadge(hasUnread ? totalNotifications : 0); 5 Ferdium.setBadge(hasUnread ? totalNotifications : 0);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/zimbra/index.js b/recipes/zimbra/index.js
index 50c3cf2..52dcc95 100644
--- a/recipes/zimbra/index.js
+++ b/recipes/zimbra/index.js
@@ -1,5 +1,5 @@
1module.exports = Ferdi => 1module.exports = Ferdium =>
2 class Zimbra extends Ferdi { 2 class Zimbra extends Ferdium {
3 async validateUrl() { 3 async validateUrl() {
4 return true; 4 return true;
5 } 5 }
diff --git a/recipes/zimbra/package.json b/recipes/zimbra/package.json
index 665776e..f05bb65 100644
--- a/recipes/zimbra/package.json
+++ b/recipes/zimbra/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zimbra", 2 "id": "zimbra",
3 "name": "Zimbra", 3 "name": "Zimbra",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasNotificationSound": true, 7 "hasNotificationSound": true,
diff --git a/recipes/zimbra/webview.js b/recipes/zimbra/webview.js
index d4b8a97..1fdbde5 100644
--- a/recipes/zimbra/webview.js
+++ b/recipes/zimbra/webview.js
@@ -1,9 +1,9 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const { title } = document; 3 const { title } = document;
4 const regex = /\d+/; 4 const regex = /\d+/;
5 Ferdi.setBadge(regex.test(title) ? Number(regex.exec(title)[0]) : 0); 5 Ferdium.setBadge(regex.test(title) ? Number(regex.exec(title)[0]) : 0);
6 }; 6 };
7 7
8 Ferdi.loop(getMessages); 8 Ferdium.loop(getMessages);
9}; 9};
diff --git a/recipes/zoho-projects/index.js b/recipes/zoho-projects/index.js
index 9fa6dae..dd41f72 100644
--- a/recipes/zoho-projects/index.js
+++ b/recipes/zoho-projects/index.js
@@ -1 +1 @@
module.exports = Ferdi => class ZohoProjects extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zoho-projects/package.json b/recipes/zoho-projects/package.json
index 0485f1a..60b26d4 100644
--- a/recipes/zoho-projects/package.json
+++ b/recipes/zoho-projects/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zoho-projects", 2 "id": "zoho-projects",
3 "name": "Zoho Projects", 3 "name": "Zoho Projects",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://projects.zoho.eu/" 7 "serviceURL": "https://projects.zoho.eu/"
diff --git a/recipes/zoho-projects/webview.js b/recipes/zoho-projects/webview.js
index 7d42966..2d2d85f 100644
--- a/recipes/zoho-projects/webview.js
+++ b/recipes/zoho-projects/webview.js
@@ -2,7 +2,7 @@ module.exports = () => {
2 // TODO: If your Zoho Projects service has unread messages, uncomment these lines to implement the logic for updating the badges 2 // TODO: If your Zoho Projects service has unread messages, uncomment these lines to implement the logic for updating the badges
3 // const getMessages = () => { 3 // const getMessages = () => {
4 // // TODO: Insert your notification-finding code here 4 // // TODO: Insert your notification-finding code here
5 // Ferdi.setBadge(0, 0); 5 // Ferdium.setBadge(0, 0);
6 // }; 6 // };
7 // Ferdi.loop(getMessages); 7 // Ferdium.loop(getMessages);
8}; 8};
diff --git a/recipes/zoho/index.js b/recipes/zoho/index.js
index 23607bd..dd41f72 100644
--- a/recipes/zoho/index.js
+++ b/recipes/zoho/index.js
@@ -1 +1 @@
module.exports = Ferdi => Ferdi; module.exports = Ferdium => Ferdium;
diff --git a/recipes/zoho/package.json b/recipes/zoho/package.json
index e6e8823..7e4ea87 100644
--- a/recipes/zoho/package.json
+++ b/recipes/zoho/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zoho", 2 "id": "zoho",
3 "name": "Zoho Mail", 3 "name": "Zoho Mail",
4 "version": "1.2.0", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://www.zoho.com/mail/login.html", 7 "serviceURL": "https://www.zoho.com/mail/login.html",
diff --git a/recipes/zoho/webview-unsafe.js b/recipes/zoho/webview-unsafe.js
index e4026c5..eb83595 100644
--- a/recipes/zoho/webview-unsafe.js
+++ b/recipes/zoho/webview-unsafe.js
@@ -1,12 +1,12 @@
1//wait for Ferdi and Zoho Mail to initialize 1//wait for Ferdium and Zoho Mail to initialize
2if ( 2if (
3 Object.prototype.hasOwnProperty.call(window, "ferdi") && 3 Object.prototype.hasOwnProperty.call(window, "ferdium") &&
4 Object.prototype.hasOwnProperty.call(window.ferdi, "setBadge") && 4 Object.prototype.hasOwnProperty.call(window.ferdium, "setBadge") &&
5 Object.prototype.hasOwnProperty.call(window, "zmNCenter") && 5 Object.prototype.hasOwnProperty.call(window, "zmNCenter") &&
6 Object.prototype.hasOwnProperty.call(window, "zmfolAction") 6 Object.prototype.hasOwnProperty.call(window, "zmfolAction")
7) { 7) {
8 var unreadNotifications = window.zmNCenter.counter.count(); //General Notifications by Zoho (Bell Icon) 8 var unreadNotifications = window.zmNCenter.counter.count(); //General Notifications by Zoho (Bell Icon)
9 var unreadMail = window.zmfolAction.getUnreadViewCount(); //Unread messages count 9 var unreadMail = window.zmfolAction.getUnreadViewCount(); //Unread messages count
10 10
11 window.ferdi.setBadge(unreadMail, unreadNotifications); 11 window.ferdium.setBadge(unreadMail, unreadNotifications);
12} \ No newline at end of file 12}
diff --git a/recipes/zoho/webview.js b/recipes/zoho/webview.js
index 7c833a3..02a5039 100644
--- a/recipes/zoho/webview.js
+++ b/recipes/zoho/webview.js
@@ -2,9 +2,9 @@ const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5module.exports = (Ferdi) => { 5module.exports = (Ferdium) => {
6 const getMessages = () => { 6 const getMessages = () => {
7 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js')); 7 Ferdium.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
8 }; 8 };
9 9
10 //Zoho uses different URLs for different regions. Find out which region the account belongs to and redirect to the correct URL. 10 //Zoho uses different URLs for different regions. Find out which region the account belongs to and redirect to the correct URL.
@@ -18,6 +18,5 @@ module.exports = (Ferdi) => {
18 } 18 }
19 19
20 window.addEventListener('load', redirectRegion); 20 window.addEventListener('load', redirectRegion);
21 Ferdi.loop(getMessages); 21 Ferdium.loop(getMessages);
22
23}; 22};
diff --git a/recipes/zoom/index.js b/recipes/zoom/index.js
index fcaa5c9..8fd90b1 100644
--- a/recipes/zoom/index.js
+++ b/recipes/zoom/index.js
@@ -1,2 +1,2 @@
1"use strict"; 1"use strict";
2module.exports = Ferdi => Ferdi 2module.exports = Ferdium => Ferdium
diff --git a/recipes/zoom/package.json b/recipes/zoom/package.json
index f63f768..dc0e12c 100644
--- a/recipes/zoom/package.json
+++ b/recipes/zoom/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zoom", 2 "id": "zoom",
3 "name": "Zoom", 3 "name": "Zoom",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://zoom.us/join", 7 "serviceURL": "https://zoom.us/join",
diff --git a/recipes/zoom/webview.js b/recipes/zoom/webview.js
index ab457c1..a72ef3a 100644
--- a/recipes/zoom/webview.js
+++ b/recipes/zoom/webview.js
@@ -4,7 +4,7 @@ function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj }; 4 return obj && obj.__esModule ? obj : { default: obj };
5} 5}
6 6
7module.exports = (Ferdi, settings) => { 7module.exports = (Ferdium, settings) => {
8 const getMessages = () => { 8 const getMessages = () => {
9 let directCount = 0; 9 let directCount = 0;
10 const directCountPerServer = document.querySelectorAll( 10 const directCountPerServer = document.querySelectorAll(
@@ -12,19 +12,19 @@ module.exports = (Ferdi, settings) => {
12 ); 12 );
13 13
14 for (const directCountBadge of directCountPerServer) { 14 for (const directCountBadge of directCountPerServer) {
15 directCount += Ferdi.safeParseInt(directCountBadge.textContent); 15 directCount += Ferdium.safeParseInt(directCountBadge.textContent);
16 } 16 }
17 17
18 const indirectCountPerServer = document.querySelectorAll( 18 const indirectCountPerServer = document.querySelectorAll(
19 '[class*="modeUnread-"]', 19 '[class*="modeUnread-"]',
20 ).length; 20 ).length;
21 21
22 Ferdi.setBadge(directCount, indirectCountPerServer); 22 Ferdium.setBadge(directCount, indirectCountPerServer);
23 }; 23 };
24 24
25 Ferdi.loop(getMessages); 25 Ferdium.loop(getMessages);
26 26
27 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 27 Ferdium.injectCSS(_path.default.join(__dirname, 'service.css'));
28 28
29 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse 29 // TODO: This whole block is duplicated between the 'discord' and 'skype' recipes - reuse
30 document.addEventListener( 30 document.addEventListener(
@@ -43,7 +43,7 @@ module.exports = (Ferdi, settings) => {
43 event.stopPropagation(); 43 event.stopPropagation();
44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message) 44 // TODO: Can we send an ipc event 'open-browser-window' to open the child window? (see the slack recipe for how to send an ipc message)
45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697) 45 // TODO: Can we change the slack recipe to add a clickHandler for screensharing/video calls? (https://github.com/ferdium/ferdium-app/issues/1697)
46 let win = new Ferdi.BrowserWindow({ 46 let win = new Ferdium.BrowserWindow({
47 width: 800, 47 width: 800,
48 height: window.innerHeight, 48 height: window.innerHeight,
49 minWidth: 600, 49 minWidth: 600,
diff --git a/recipes/zulip/index.js b/recipes/zulip/index.js
index 8bad3cf..13c94b7 100644
--- a/recipes/zulip/index.js
+++ b/recipes/zulip/index.js
@@ -1,4 +1,4 @@
1module.exports = Ferdi => class Zulip extends Ferdi { 1module.exports = Ferdium => class Zulip extends Ferdium {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 const baseUrl = new window.URL(url); 3 const baseUrl = new window.URL(url);
4 const apiVersion = 'api/v1'; 4 const apiVersion = 'api/v1';
diff --git a/recipes/zulip/package.json b/recipes/zulip/package.json
index 2dd209a..d32f810 100644
--- a/recipes/zulip/package.json
+++ b/recipes/zulip/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "zulip", 2 "id": "zulip",
3 "name": "Zulip", 3 "name": "Zulip",
4 "version": "1.1.1", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "hasNotificationSound": true, 7 "hasNotificationSound": true,
diff --git a/recipes/zulip/webview.js b/recipes/zulip/webview.js
index e9c13c0..32cb0aa 100644
--- a/recipes/zulip/webview.js
+++ b/recipes/zulip/webview.js
@@ -1,12 +1,12 @@
1module.exports = Ferdi => { 1module.exports = Ferdium => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const allMessages = Math.round( 3 const allMessages = Math.round(
4 document.querySelectorAll( 4 document.querySelectorAll(
5 '#global_filters .top_left_all_messages .count .value', 5 '#global_filters .top_left_all_messages .count .value',
6 )[0].textContent, 6 )[0].textContent,
7 ); 7 );
8 Ferdi.setBadge(allMessages); 8 Ferdium.setBadge(allMessages);
9 }; 9 };
10 10
11 Ferdi.loop(getMessages); 11 Ferdium.loop(getMessages);
12}; 12};
diff --git a/scripts/create.js b/scripts/create.js
index 0030cfa..e143b00 100644
--- a/scripts/create.js
+++ b/scripts/create.js
@@ -10,7 +10,7 @@ if (process.argv.length < 3) {
10For example: 10For example:
11pnpm run create WhatsApp 11pnpm run create WhatsApp
12pnpm run create "Google Hangouts" 12pnpm run create "Google Hangouts"
13You can set "Folder name" to "FerdiDev" to use Ferdi's development instance instead: 13You can set "Folder name" to "FerdiDev" to use Ferdium's development instance instead:
14 14
15pnpm run create WhatsApp FerdiDev 15pnpm run create WhatsApp FerdiDev
16`); 16`);
@@ -19,7 +19,7 @@ pnpm run create WhatsApp FerdiDev
19 19
20const recipeName = process.argv[2]; 20const recipeName = process.argv[2];
21const recipe = recipeName.toLowerCase().replace(/\s/g, '-'); 21const recipe = recipeName.toLowerCase().replace(/\s/g, '-');
22const folderName = process.argv[3] || 'Ferdi'; 22const folderName = process.argv[3] || 'Ferdium';
23const filesThatNeedTextReplace = [ 23const filesThatNeedTextReplace = [
24 'package.json', 24 'package.json',
25 'index.js', 25 'index.js',
@@ -56,7 +56,7 @@ const pascalCasedName = toPascalCase(recipe); // PascalCased recipe ID only cont
56 // Make sure dev recipe folder exists 56 // Make sure dev recipe folder exists
57 if (!fs.existsSync(recipesFolder)) { 57 if (!fs.existsSync(recipesFolder)) {
58 console.log( 58 console.log(
59 `Couldn't find your recipe folder (${recipesFolder}). Is Ferdi installed?`, 59 `Couldn't find your recipe folder (${recipesFolder}). Is Ferdium installed?`,
60 ); 60 );
61 return; 61 return;
62 } 62 }
@@ -88,7 +88,7 @@ const pascalCasedName = toPascalCase(recipe); // PascalCased recipe ID only cont
88 console.log(`✅ Successfully created your recipe. 88 console.log(`✅ Successfully created your recipe.
89 89
90What's next? 90What's next?
91- Make sure you restart Ferdi in order for the recipe to show up 91- Make sure you restart Ferdium in order for the recipe to show up
92- Customise "webview.js", "package.json" and "icon.svg" (see https://github.com/ferdium/ferdium-recipes/blob/master/docs/integration.md#recipe-structure) 92- Customise "webview.js", "package.json" and "icon.svg" (see https://github.com/ferdium/ferdium-recipes/blob/master/docs/integration.md#recipe-structure)
93- Publish your recipe (see https://github.com/ferdium/ferdium-recipes/blob/master/docs/integration.md#publishing)`); 93- Publish your recipe (see https://github.com/ferdium/ferdium-recipes/blob/master/docs/integration.md#publishing)`);
94})(); 94})();
diff --git a/scripts/sample_recipe/index.js b/scripts/sample_recipe/index.js
index b0dad05..dd41f72 100644
--- a/scripts/sample_recipe/index.js
+++ b/scripts/sample_recipe/index.js
@@ -1 +1 @@
module.exports = Ferdi => class SPASCAL extends Ferdi {}; module.exports = Ferdium => Ferdium;
diff --git a/scripts/sample_recipe/package.json b/scripts/sample_recipe/package.json
index e2eba15..4b0dda6 100644
--- a/scripts/sample_recipe/package.json
+++ b/scripts/sample_recipe/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "SERVICE", 2 "id": "SERVICE",
3 "name": "SNAME", 3 "name": "SNAME",
4 "version": "1.0.0", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://SERVICE.com" 7 "serviceURL": "https://SERVICE.com"
diff --git a/scripts/sample_recipe/webview.js b/scripts/sample_recipe/webview.js
index 29cca49..dc4a062 100644
--- a/scripts/sample_recipe/webview.js
+++ b/scripts/sample_recipe/webview.js
@@ -2,7 +2,7 @@ module.exports = () => {
2 // TODO: If your SNAME service has unread messages, uncomment these lines to implement the logic for updating the badges 2 // TODO: If your SNAME service has unread messages, uncomment these lines to implement the logic for updating the badges
3 // const getMessages = () => { 3 // const getMessages = () => {
4 // // TODO: Insert your notification-finding code here 4 // // TODO: Insert your notification-finding code here
5 // Ferdi.setBadge(0, 0); 5 // Ferdium.setBadge(0, 0);
6 // }; 6 // };
7 // Ferdi.loop(getMessages); 7 // Ferdium.loop(getMessages);
8}; 8};