aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--all.json347
-rw-r--r--recipes/NewsBlur/index.js3
-rw-r--r--recipes/NewsBlur/package.json2
-rw-r--r--recipes/NewsBlur/webview.js11
-rw-r--r--recipes/air-droid/index.js2
-rw-r--r--recipes/air-droid/package.json2
-rw-r--r--recipes/air-droid/webview.js14
-rw-r--r--recipes/airtable/index.js2
-rw-r--r--recipes/airtable/package.json2
-rw-r--r--recipes/android-messages/index.js2
-rw-r--r--recipes/android-messages/package.json2
-rw-r--r--recipes/android-messages/webview.js8
-rw-r--r--recipes/anonaddy/package.json2
-rw-r--r--recipes/anonaddy/webview.js6
-rw-r--r--recipes/anydo/index.js3
-rw-r--r--recipes/anydo/package.json2
-rw-r--r--recipes/anydo/webview.js6
-rw-r--r--recipes/asana/index.js3
-rw-r--r--recipes/asana/package.json2
-rw-r--r--recipes/asana/webview.js21
-rw-r--r--recipes/aws-workmail/index.js2
-rw-r--r--recipes/aws-workmail/package.json2
-rw-r--r--recipes/aws-workmail/webview.js6
-rw-r--r--recipes/azure-devops/package.json5
-rw-r--r--recipes/basecamp/index.js3
-rw-r--r--recipes/basecamp/package.json2
-rw-r--r--recipes/basecamp/webview.js27
-rw-r--r--recipes/bigbluebutton/index.js2
-rw-r--r--recipes/bigbluebutton/package.json2
-rw-r--r--recipes/bip/package.json2
-rw-r--r--recipes/bip/webview.js5
-rw-r--r--recipes/bitbucket/package.json2
-rw-r--r--recipes/bitbucket/webview.js6
-rw-r--r--recipes/box/index.js2
-rw-r--r--recipes/box/package.json2
-rw-r--r--recipes/box/webview.js3
-rw-r--r--recipes/buffer/index.js3
-rw-r--r--recipes/buffer/package.json2
-rw-r--r--recipes/buffer/webview.js9
-rw-r--r--recipes/campuswire/index.js2
-rw-r--r--recipes/campuswire/package.json2
-rw-r--r--recipes/campuswire/webview.js11
-rw-r--r--recipes/chatra/index.js3
-rw-r--r--recipes/chatra/package.json2
-rw-r--r--recipes/chatra/webview.js11
-rw-r--r--recipes/chatwork/index.js2
-rw-r--r--recipes/chatwork/package.json2
-rw-r--r--recipes/chatwork/webview.js6
-rw-r--r--recipes/ciscospark/index.js3
-rw-r--r--recipes/ciscospark/package.json2
-rw-r--r--recipes/ciscospark/webview.js14
-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/cliq/webview.js6
-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/clubhouse/package.json2
-rw-r--r--recipes/clubhouse/webview.js4
-rw-r--r--recipes/discord/index.js4
-rw-r--r--recipes/discord/package.json2
-rw-r--r--recipes/discord/webview.js19
-rw-r--r--recipes/disqus/package.json2
-rw-r--r--recipes/disqus/webview.js4
-rw-r--r--recipes/easy-redmine/index.js2
-rw-r--r--recipes/easy-redmine/package.json2
-rw-r--r--recipes/easy-redmine/webview.js3
-rw-r--r--recipes/element/index.js2
-rw-r--r--recipes/element/package.json2
-rw-r--r--recipes/element/webview.js9
-rw-r--r--recipes/enterprise-owa/index.js2
-rw-r--r--recipes/enterprise-owa/package.json2
-rw-r--r--recipes/enterprise-owa/webview.js7
-rw-r--r--recipes/epicgames/package.json2
-rw-r--r--recipes/epicgames/webview.js6
-rw-r--r--recipes/erepublik/package.json2
-rw-r--r--recipes/erepublik/webview.js5
-rw-r--r--recipes/evernote/index.js3
-rw-r--r--recipes/evernote/package.json2
-rw-r--r--recipes/evernote/webview.js17
-rwxr-xr-xrecipes/facebook/index.js3
-rwxr-xr-xrecipes/facebook/package.json2
-rwxr-xr-xrecipes/facebook/webview.js7
-rw-r--r--recipes/facebookpages/index.js2
-rw-r--r--recipes/facebookpages/package.json2
-rw-r--r--recipes/facebookpages/webview.js7
-rw-r--r--recipes/fastmail/index.js3
-rw-r--r--recipes/fastmail/package.json2
-rw-r--r--recipes/fastmail/webview.js13
-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.js6
-rw-r--r--recipes/fleep/package.json2
-rw-r--r--recipes/fleep/webview.js1
-rw-r--r--recipes/flowdock/index.js3
-rw-r--r--recipes/flowdock/package.json2
-rw-r--r--recipes/flowdock/webview.js9
-rw-r--r--recipes/franz-custom-website/index.js2
-rw-r--r--recipes/franz-custom-website/package.json2
-rw-r--r--recipes/franz-custom-website/webview.js8
-rw-r--r--recipes/gadugadu/index.js3
-rw-r--r--recipes/gadugadu/package.json2
-rw-r--r--recipes/gadugadu/webview.js14
-rw-r--r--recipes/github/index.js3
-rw-r--r--recipes/github/package.json2
-rw-r--r--recipes/github/webview.js7
-rw-r--r--recipes/github_entreprise/index.js2
-rw-r--r--recipes/github_entreprise/package.json2
-rw-r--r--recipes/gitlab/package.json2
-rw-r--r--recipes/gitlab/webview.js6
-rw-r--r--recipes/gitter/index.js5
-rw-r--r--recipes/gitter/package.json2
-rw-r--r--recipes/gitter/webview.js21
-rw-r--r--recipes/glowing-bear/index.js3
-rw-r--r--recipes/glowing-bear/package.json2
-rw-r--r--recipes/glowing-bear/webview.js8
-rw-r--r--recipes/gmail/index.js4
-rw-r--r--recipes/gmail/package.json2
-rw-r--r--recipes/gmail/webview.js16
-rw-r--r--recipes/google-voice/index.js2
-rw-r--r--recipes/google-voice/package.json2
-rw-r--r--recipes/google-voice/webview.js6
-rw-r--r--recipes/googlecalendar/index.js2
-rw-r--r--recipes/googlecalendar/package.json2
-rw-r--r--recipes/googlecalendar/webview-unsafe.js14
-rw-r--r--recipes/googlecalendar/webview.js10
-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/googlecontacts/index.js2
-rw-r--r--recipes/googlecontacts/package.json2
-rw-r--r--recipes/googledrive/index.js4
-rw-r--r--recipes/googledrive/package.json2
-rw-r--r--recipes/googledrive/webview.js8
-rw-r--r--recipes/googlekeep/index.js2
-rw-r--r--recipes/googlekeep/package.json2
-rw-r--r--recipes/googlekeep/webview.js1
-rw-r--r--recipes/googlemeet/index.js2
-rw-r--r--recipes/googlemeet/package.json2
-rw-r--r--recipes/googlemeet/webview.js21
-rw-r--r--recipes/googlenews/index.js2
-rw-r--r--recipes/googlenews/package.json2
-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.js9
-rw-r--r--recipes/grape/index.js3
-rw-r--r--recipes/grape/package.json2
-rw-r--r--recipes/grape/webview.js7
-rw-r--r--recipes/groupme/index.js3
-rw-r--r--recipes/groupme/package.json2
-rw-r--r--recipes/groupme/webview.js9
-rw-r--r--recipes/guilded/index.js2
-rw-r--r--recipes/guilded/package.json2
-rw-r--r--recipes/guilded/webview.js6
-rwxr-xr-xrecipes/habitica/index.js2
-rwxr-xr-xrecipes/habitica/package.json2
-rwxr-xr-xrecipes/habitica/webview.js6
-rw-r--r--recipes/hackmd/index.js3
-rw-r--r--recipes/hackmd/package.json2
-rw-r--r--recipes/hackmd/webview.js15
-rw-r--r--recipes/hangouts/index.js2
-rw-r--r--recipes/hangouts/package.json2
-rw-r--r--recipes/hangouts/webview.js10
-rw-r--r--recipes/hangoutschat/index.js5
-rw-r--r--recipes/hangoutschat/package.json2
-rw-r--r--recipes/hangoutschat/webview.js11
-rw-r--r--recipes/harvest/index.js2
-rw-r--r--recipes/harvest/package.json2
-rw-r--r--recipes/hipchat/index.js3
-rw-r--r--recipes/hipchat/package.json2
-rw-r--r--recipes/hipchat/webview.js10
-rw-r--r--recipes/iCloud/index.js2
-rw-r--r--recipes/iCloud/package.json2
-rw-r--r--recipes/iCloud/webview.js2
-rw-r--r--recipes/icq/index.js3
-rw-r--r--recipes/icq/package.json2
-rw-r--r--recipes/icq/webview.js7
-rw-r--r--recipes/idobata/index.js3
-rw-r--r--recipes/idobata/package.json2
-rw-r--r--recipes/idobata/webview.js7
-rw-r--r--recipes/infomaniak-mail/package.json2
-rw-r--r--recipes/infomaniak-mail/webview.js1
-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.js7
-rw-r--r--recipes/instagram/package.json2
-rw-r--r--recipes/instagram/webview.js15
-rw-r--r--recipes/intercom/package.json2
-rw-r--r--recipes/intercom/webview.js6
-rw-r--r--recipes/irccloud/index.js3
-rw-r--r--recipes/irccloud/package.json2
-rw-r--r--recipes/irccloud/webview.js9
-rw-r--r--recipes/jira/index.js7
-rw-r--r--recipes/jira/package.json2
-rw-r--r--recipes/jira/webview.js8
-rw-r--r--recipes/jitsi/index.js2
-rw-r--r--recipes/jitsi/package.json2
-rw-r--r--recipes/jollor/index.js3
-rw-r--r--recipes/jollor/package.json2
-rw-r--r--recipes/jollor/webview.js14
-rw-r--r--recipes/kaizala/index.js7
-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/keybase.io/webview.js2
-rw-r--r--recipes/kimai-cloud/index.js3
-rw-r--r--recipes/kimai-cloud/package.json2
-rw-r--r--recipes/kimai-cloud/webview.js9
-rw-r--r--recipes/lark/index.js2
-rw-r--r--recipes/lark/package.json2
-rw-r--r--recipes/lark/webview.js15
-rw-r--r--recipes/lastpass/index.js4
-rw-r--r--recipes/lastpass/package.json2
-rw-r--r--recipes/lastpass/webview.js23
-rw-r--r--recipes/line.me/index.js2
-rw-r--r--recipes/line.me/package.json2
-rw-r--r--recipes/line.me/webview.js2
-rw-r--r--recipes/linkedin/index.js3
-rw-r--r--recipes/linkedin/package.json2
-rw-r--r--recipes/linkedin/webview.js9
-rw-r--r--recipes/mailbox.org/index.js3
-rw-r--r--recipes/mailbox.org/package.json2
-rw-r--r--recipes/mailbox.org/webview.js7
-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/messenger/index.js7
-rw-r--r--recipes/messenger/package.json2
-rw-r--r--recipes/messenger/webview.js11
-rw-r--r--recipes/monday/index.js2
-rw-r--r--recipes/monday/package.json2
-rwxr-xr-xrecipes/monday/webview.js9
-rwxr-xr-xrecipes/monicahq/index.js3
-rwxr-xr-xrecipes/monicahq/package.json2
-rw-r--r--recipes/msteams/index.js4
-rw-r--r--recipes/msteams/package.json2
-rw-r--r--recipes/msteams/webview.js15
-rw-r--r--recipes/mstodo/package.json2
-rw-r--r--recipes/mstodo/webview.js1
-rw-r--r--recipes/mysms/index.js3
-rw-r--r--recipes/mysms/package.json2
-rw-r--r--recipes/mysms/webview.js7
-rw-r--r--recipes/netatmo-energy/index.js5
-rw-r--r--recipes/netatmo-energy/package.json2
-rw-r--r--recipes/netatmo-energy/webview.js3
-rw-r--r--recipes/nextcloud-calendar/index.js2
-rw-r--r--recipes/nextcloud-calendar/package.json2
-rw-r--r--recipes/nextcloud-calendar/webview.js5
-rw-r--r--recipes/nextcloud-carnet/index.js2
-rw-r--r--recipes/nextcloud-carnet/package.json2
-rw-r--r--recipes/nextcloud-carnet/webview.js13
-rw-r--r--recipes/nextcloud-cospend/index.js2
-rw-r--r--recipes/nextcloud-cospend/package.json2
-rw-r--r--recipes/nextcloud-cospend/webview.js13
-rw-r--r--recipes/nextcloud-talk/index.js2
-rw-r--r--recipes/nextcloud-talk/package.json2
-rw-r--r--recipes/nextcloud-talk/webview.js5
-rw-r--r--recipes/nextcloud-tasks/index.js2
-rw-r--r--recipes/nextcloud-tasks/package.json2
-rw-r--r--recipes/nextcloud-tasks/webview.js13
-rw-r--r--recipes/nextcloud/index.js2
-rw-r--r--recipes/nextcloud/package.json2
-rw-r--r--recipes/nextcloud/webview.js12
-rw-r--r--recipes/nextdoor/index.js2
-rw-r--r--recipes/nextdoor/package.json2
-rw-r--r--recipes/nextdoor/webview.js6
-rw-r--r--recipes/nomadlist/index.js3
-rw-r--r--recipes/nomadlist/package.json2
-rw-r--r--recipes/nomadlist/webview.js20
-rw-r--r--recipes/notion/index.js2
-rw-r--r--recipes/notion/package.json2
-rw-r--r--recipes/notion/webview.js6
-rw-r--r--recipes/office365-owa/index.js2
-rw-r--r--recipes/office365-owa/package.json2
-rw-r--r--recipes/office365-owa/webview.js1
-rw-r--r--recipes/onenote/package.json2
-rw-r--r--recipes/onenote/webview.js6
-rw-r--r--recipes/outlook/index.js2
-rw-r--r--recipes/outlook/package.json2
-rw-r--r--recipes/outlook/webview.js1
-rw-r--r--recipes/paymoapp/index.js2
-rw-r--r--recipes/paymoapp/package.json2
-rw-r--r--recipes/paymoapp/webview.js3
-rw-r--r--recipes/pivotal-tracker/index.js2
-rw-r--r--recipes/pivotal-tracker/package.json2
-rw-r--r--recipes/pivotal-tracker/webview.js8
-rw-r--r--recipes/plan/index.js3
-rw-r--r--recipes/plan/package.json2
-rw-r--r--recipes/plan/webview.js3
-rw-r--r--recipes/plurk/index.js3
-rw-r--r--recipes/plurk/package.json2
-rw-r--r--recipes/plurk/webview.js7
-rw-r--r--recipes/pocket/index.js3
-rw-r--r--recipes/pocket/package.json2
-rw-r--r--recipes/pocket/webview.js1
-rw-r--r--recipes/podio/index.js3
-rw-r--r--recipes/podio/package.json2
-rw-r--r--recipes/podio/webview.js22
-rw-r--r--recipes/pomodoro-tracker/package.json2
-rw-r--r--recipes/pomodoro-tracker/webview.js5
-rw-r--r--recipes/proton-mail/index.js2
-rw-r--r--recipes/proton-mail/package.json2
-rw-r--r--recipes/proton-mail/webview.js6
-rw-r--r--recipes/protoncalendar/package.json2
-rw-r--r--recipes/protoncalendar/webview.js10
-rwxr-xr-xrecipes/protonet/index.js2
-rwxr-xr-xrecipes/protonet/package.json2
-rwxr-xr-xrecipes/protonet/webview.js6
-rw-r--r--recipes/pulsesms/index.js2
-rw-r--r--recipes/pulsesms/package.json2
-rw-r--r--recipes/pulsesms/webview.js7
-rw-r--r--recipes/pushbullet/index.js3
-rw-r--r--recipes/pushbullet/package.json2
-rw-r--r--recipes/pushbullet/webview.js1
-rw-r--r--recipes/rainloop/index.js3
-rw-r--r--recipes/rainloop/package.json2
-rw-r--r--recipes/rainloop/webview.js8
-rw-r--r--recipes/reddit/index.js2
-rw-r--r--recipes/reddit/package.json2
-rw-r--r--recipes/reddit/webview.js10
-rw-r--r--recipes/redditchat/index.js3
-rw-r--r--recipes/redditchat/package.json2
-rw-r--r--recipes/redditchat/webview.js6
-rw-r--r--recipes/riseup/package.json2
-rw-r--r--recipes/riseup/webview.js4
-rw-r--r--recipes/rocketchat/index.js2
-rw-r--r--recipes/rocketchat/package.json2
-rw-r--r--recipes/roundcube/index.js3
-rw-r--r--recipes/roundcube/package.json2
-rw-r--r--recipes/roundcube/webview.js8
-rw-r--r--recipes/sendtask/index.js4
-rw-r--r--recipes/sendtask/package.json2
-rw-r--r--recipes/sendtask/webview.js18
-rw-r--r--recipes/simplenote/package.json2
-rw-r--r--recipes/simplenote/webview.js4
-rw-r--r--recipes/skype/index.js7
-rw-r--r--recipes/skype/package.json2
-rw-r--r--recipes/skype/webview.js17
-rw-r--r--recipes/slack/index.js2
-rw-r--r--recipes/slack/package.json2
-rw-r--r--recipes/slack/webview.js10
-rw-r--r--recipes/snapdrop/index.js3
-rw-r--r--recipes/snapdrop/package.json2
-rw-r--r--recipes/snapdrop/webview.js2
-rw-r--r--recipes/stackexchange/package.json2
-rw-r--r--recipes/stackexchange/webview.js6
-rwxr-xr-xrecipes/standardnotes/index.js3
-rwxr-xr-xrecipes/standardnotes/package.json2
-rwxr-xr-xrecipes/standardnotes/webview.js1
-rw-r--r--recipes/steamchat/index.js8
-rw-r--r--recipes/steamchat/package.json2
-rw-r--r--recipes/steamchat/webview.js7
-rw-r--r--recipes/stride/index.js3
-rw-r--r--recipes/stride/package.json2
-rw-r--r--recipes/stride/webview.js18
-rw-r--r--recipes/superhuman-email/index.js17
-rw-r--r--recipes/superhuman-email/package.json2
-rw-r--r--recipes/superhuman-email/webview.js11
-rw-r--r--recipes/sync/package.json2
-rw-r--r--recipes/sync/webview.js6
-rw-r--r--recipes/tawk/index.js5
-rw-r--r--recipes/tawk/package.json2
-rw-r--r--recipes/tawk/webview.js4
-rw-r--r--recipes/teamleader/index.js2
-rw-r--r--recipes/teamleader/package.json2
-rw-r--r--recipes/teamleader/webview.js13
-rw-r--r--recipes/teamwork-projects/index.js3
-rw-r--r--recipes/teamwork-projects/package.json2
-rw-r--r--recipes/teamwork-projects/webview.js8
-rw-r--r--recipes/telegram-react/index.js3
-rw-r--r--recipes/telegram-react/package.json2
-rw-r--r--recipes/telegram-react/webview.js7
-rw-r--r--recipes/telegram/index.js3
-rw-r--r--recipes/telegram/package.json2
-rw-r--r--recipes/telegram/webview.js13
-rw-r--r--recipes/thelounge/index.js3
-rw-r--r--recipes/thelounge/package.json2
-rw-r--r--recipes/thelounge/webview.js8
-rw-r--r--recipes/threema/index.js3
-rw-r--r--recipes/threema/package.json2
-rw-r--r--recipes/threema/webview.js17
-rw-r--r--recipes/ticktick/index.js2
-rw-r--r--recipes/ticktick/package.json2
-rw-r--r--recipes/ticktick/webview.js7
-rw-r--r--recipes/todoist/index.js2
-rw-r--r--recipes/todoist/package.json2
-rw-r--r--recipes/todoist/webview.js6
-rw-r--r--recipes/toggl/index.js3
-rw-r--r--recipes/toggl/package.json2
-rw-r--r--recipes/toggl/webview.js4
-rw-r--r--recipes/trello/index.js3
-rw-r--r--recipes/trello/package.json2
-rw-r--r--recipes/trello/webview.js8
-rw-r--r--recipes/tutanota/package.json2
-rw-r--r--recipes/tutanota/webview.js6
-rw-r--r--recipes/tweetdeck/index.js3
-rw-r--r--recipes/tweetdeck/package.json2
-rw-r--r--recipes/tweetdeck/webview.js8
-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.js4
-rw-r--r--recipes/twitch/package.json2
-rw-r--r--recipes/twitch/webview.js11
-rw-r--r--recipes/twitter-dm/index.js3
-rw-r--r--recipes/twitter-dm/package.json2
-rw-r--r--recipes/twitter-dm/webview.js7
-rw-r--r--recipes/twitter/index.js2
-rw-r--r--recipes/twitter/package.json2
-rw-r--r--recipes/twitter/webview.js6
-rw-r--r--recipes/unraid/index.js5
-rw-r--r--recipes/unraid/package.json2
-rw-r--r--recipes/unraid/webview.js6
-rw-r--r--recipes/vk/index.js3
-rw-r--r--recipes/vk/package.json2
-rw-r--r--recipes/vk/webview.js7
-rw-r--r--recipes/voxer/index.js3
-rw-r--r--recipes/voxer/package.json2
-rw-r--r--recipes/voxer/webview.js17
-rw-r--r--recipes/webex-teams/package.json2
-rw-r--r--recipes/webex-teams/webview.js7
-rw-r--r--recipes/wechat/index.js5
-rw-r--r--recipes/wechat/package.json2
-rw-r--r--recipes/wechat/webview.js13
-rw-r--r--recipes/whatsapp/index.js6
-rw-r--r--recipes/whatsapp/package.json2
-rw-r--r--recipes/whatsapp/webview.js22
-rw-r--r--recipes/withspectrum/index.js3
-rw-r--r--recipes/withspectrum/package.json2
-rw-r--r--recipes/withspectrum/webview.js7
-rw-r--r--recipes/workplace/index.js2
-rw-r--r--recipes/workplace/package.json2
-rw-r--r--recipes/workplace/webview.js18
-rw-r--r--recipes/wrike/index.js3
-rw-r--r--recipes/wrike/package.json2
-rw-r--r--recipes/wrike/webview.js6
-rw-r--r--recipes/xing/index.js3
-rw-r--r--recipes/xing/package.json2
-rw-r--r--recipes/xing/webview.js7
-rw-r--r--recipes/yahoo-mail/index.js3
-rw-r--r--recipes/yahoo-mail/package.json2
-rw-r--r--recipes/yahoo-mail/webview.js7
-rw-r--r--recipes/yammer/index.js2
-rw-r--r--recipes/yammer/package.json2
-rw-r--r--recipes/yammer/webview.js6
-rw-r--r--recipes/youtrack/package.json2
-rw-r--r--recipes/youtrack/webview.js4
-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.js9
-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.js12
-rw-r--r--recipes/zimbra/index.js2
-rw-r--r--recipes/zimbra/package.json2
-rw-r--r--recipes/zimbra/webview.js13
-rw-r--r--recipes/zoho/index.js3
-rw-r--r--recipes/zoho/package.json2
-rw-r--r--recipes/zoho/webview.js8
-rw-r--r--recipes/zulip/index.js2
-rw-r--r--recipes/zulip/package.json2
-rw-r--r--recipes/zulip/webview.js7
482 files changed, 1117 insertions, 1393 deletions
diff --git a/all.json b/all.json
index d0d56c8..4e17af5 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": "air-droid", 5 "name": "air-droid",
6 "version": "1.0.3", 6 "version": "1.1.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": "airtable", 13 "id": "airtable",
14 "name": "Airtable", 14 "name": "Airtable",
15 "version": "1.0.3", 15 "version": "1.1.0",
16 "icons": { 16 "icons": {
17 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airtable/icon.svg" 17 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/airtable/icon.svg"
18 } 18 }
@@ -21,7 +21,7 @@
21 "featured": false, 21 "featured": false,
22 "id": "amazon-work-mail", 22 "id": "amazon-work-mail",
23 "name": "Amazon WorkMail", 23 "name": "Amazon WorkMail",
24 "version": "1.0.5", 24 "version": "1.1.0",
25 "icons": { 25 "icons": {
26 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/amazon-work-mail/icon.svg" 26 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/amazon-work-mail/icon.svg"
27 } 27 }
@@ -30,7 +30,7 @@
30 "featured": false, 30 "featured": false,
31 "id": "android-messages", 31 "id": "android-messages",
32 "name": "Android Messages", 32 "name": "Android Messages",
33 "version": "2.0.3", 33 "version": "2.1.0",
34 "icons": { 34 "icons": {
35 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/android-messages/icon.svg" 35 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/android-messages/icon.svg"
36 } 36 }
@@ -39,7 +39,7 @@
39 "featured": false, 39 "featured": false,
40 "id": "anonaddy", 40 "id": "anonaddy",
41 "name": "AnonAddy", 41 "name": "AnonAddy",
42 "version": "1.0.2", 42 "version": "1.1.0",
43 "icons": { 43 "icons": {
44 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anonaddy/icon.svg" 44 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anonaddy/icon.svg"
45 } 45 }
@@ -48,7 +48,7 @@
48 "featured": false, 48 "featured": false,
49 "id": "anydo", 49 "id": "anydo",
50 "name": "Any.do", 50 "name": "Any.do",
51 "version": "1.0.3", 51 "version": "1.1.0",
52 "icons": { 52 "icons": {
53 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anydo/icon.svg" 53 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/anydo/icon.svg"
54 } 54 }
@@ -57,7 +57,7 @@
57 "featured": false, 57 "featured": false,
58 "id": "asana", 58 "id": "asana",
59 "name": "Asana", 59 "name": "Asana",
60 "version": "1.0.1", 60 "version": "1.1.0",
61 "icons": { 61 "icons": {
62 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/asana/icon.svg" 62 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/asana/icon.svg"
63 } 63 }
@@ -66,7 +66,10 @@
66 "featured": false, 66 "featured": false,
67 "id": "azure-devops", 67 "id": "azure-devops",
68 "name": "Azure DevOps", 68 "name": "Azure DevOps",
69 "version": "1.0.2", 69 "version": "1.1.0",
70 "aliases": [
71 "azdo"
72 ],
70 "icons": { 73 "icons": {
71 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/azure-devops/icon.svg" 74 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/azure-devops/icon.svg"
72 } 75 }
@@ -75,7 +78,7 @@
75 "featured": false, 78 "featured": false,
76 "id": "basecamp", 79 "id": "basecamp",
77 "name": "basecamp", 80 "name": "basecamp",
78 "version": "1.0.3", 81 "version": "1.1.0",
79 "icons": { 82 "icons": {
80 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.svg" 83 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/basecamp/icon.svg"
81 } 84 }
@@ -84,7 +87,7 @@
84 "featured": false, 87 "featured": false,
85 "id": "bigbluebutton", 88 "id": "bigbluebutton",
86 "name": "BigBlueButton", 89 "name": "BigBlueButton",
87 "version": "1.0.2", 90 "version": "1.1.0",
88 "icons": { 91 "icons": {
89 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bigbluebutton/icon.svg" 92 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bigbluebutton/icon.svg"
90 } 93 }
@@ -93,7 +96,7 @@
93 "featured": false, 96 "featured": false,
94 "id": "bip", 97 "id": "bip",
95 "name": "BiP", 98 "name": "BiP",
96 "version": "1.0.2", 99 "version": "1.1.0",
97 "icons": { 100 "icons": {
98 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bip/icon.svg" 101 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bip/icon.svg"
99 } 102 }
@@ -102,7 +105,7 @@
102 "featured": false, 105 "featured": false,
103 "id": "bitbucket", 106 "id": "bitbucket",
104 "name": "BitBucket", 107 "name": "BitBucket",
105 "version": "1.0.2", 108 "version": "1.1.0",
106 "icons": { 109 "icons": {
107 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitbucket/icon.svg" 110 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/bitbucket/icon.svg"
108 } 111 }
@@ -111,7 +114,7 @@
111 "featured": false, 114 "featured": false,
112 "id": "box", 115 "id": "box",
113 "name": "box", 116 "name": "box",
114 "version": "1.0.2", 117 "version": "1.1.0",
115 "icons": { 118 "icons": {
116 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.svg" 119 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/box/icon.svg"
117 } 120 }
@@ -120,7 +123,7 @@
120 "featured": false, 123 "featured": false,
121 "id": "buffer", 124 "id": "buffer",
122 "name": "buffer", 125 "name": "buffer",
123 "version": "1.0.2", 126 "version": "1.1.0",
124 "icons": { 127 "icons": {
125 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.svg" 128 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/buffer/icon.svg"
126 } 129 }
@@ -129,7 +132,7 @@
129 "featured": false, 132 "featured": false,
130 "id": "campuswire", 133 "id": "campuswire",
131 "name": "Campuswire", 134 "name": "Campuswire",
132 "version": "1.0.2", 135 "version": "1.1.0",
133 "icons": { 136 "icons": {
134 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/campuswire/icon.svg" 137 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/campuswire/icon.svg"
135 } 138 }
@@ -147,7 +150,7 @@
147 "featured": false, 150 "featured": false,
148 "id": "chatra", 151 "id": "chatra",
149 "name": "chatra", 152 "name": "chatra",
150 "version": "1.0.2", 153 "version": "1.1.0",
151 "icons": { 154 "icons": {
152 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.svg" 155 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatra/icon.svg"
153 } 156 }
@@ -156,7 +159,7 @@
156 "featured": false, 159 "featured": false,
157 "id": "chatwork", 160 "id": "chatwork",
158 "name": "ChatWork", 161 "name": "ChatWork",
159 "version": "1.0.5", 162 "version": "1.1.0",
160 "icons": { 163 "icons": {
161 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwork/icon.svg" 164 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/chatwork/icon.svg"
162 } 165 }
@@ -165,7 +168,7 @@
165 "featured": false, 168 "featured": false,
166 "id": "ciscospark", 169 "id": "ciscospark",
167 "name": "Cisco Spark", 170 "name": "Cisco Spark",
168 "version": "1.0.1", 171 "version": "1.1.0",
169 "icons": { 172 "icons": {
170 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ciscospark/icon.svg" 173 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/ciscospark/icon.svg"
171 } 174 }
@@ -174,7 +177,7 @@
174 "featured": false, 177 "featured": false,
175 "id": "clickup", 178 "id": "clickup",
176 "name": "ClickUp", 179 "name": "ClickUp",
177 "version": "2.1.2", 180 "version": "2.2.0",
178 "icons": { 181 "icons": {
179 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clickup/icon.svg" 182 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clickup/icon.svg"
180 } 183 }
@@ -183,7 +186,7 @@
183 "featured": false, 186 "featured": false,
184 "id": "cliq", 187 "id": "cliq",
185 "name": "Cliq", 188 "name": "Cliq",
186 "version": "1.0.3", 189 "version": "1.1.0",
187 "icons": { 190 "icons": {
188 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/cliq/icon.svg" 191 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/cliq/icon.svg"
189 } 192 }
@@ -192,7 +195,7 @@
192 "featured": false, 195 "featured": false,
193 "id": "clockify", 196 "id": "clockify",
194 "name": "Clockify", 197 "name": "Clockify",
195 "version": "1.0.3", 198 "version": "1.1.0",
196 "icons": { 199 "icons": {
197 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockify/icon.svg" 200 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clockify/icon.svg"
198 } 201 }
@@ -201,7 +204,7 @@
201 "featured": false, 204 "featured": false,
202 "id": "clubhouse", 205 "id": "clubhouse",
203 "name": "Clubhouse", 206 "name": "Clubhouse",
204 "version": "1.0.3", 207 "version": "1.1.0",
205 "icons": { 208 "icons": {
206 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clubhouse/icon.svg" 209 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/clubhouse/icon.svg"
207 } 210 }
@@ -219,7 +222,7 @@
219 "featured": true, 222 "featured": true,
220 "id": "discord", 223 "id": "discord",
221 "name": "Discord", 224 "name": "Discord",
222 "version": "1.2.0", 225 "version": "1.3.0",
223 "icons": { 226 "icons": {
224 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/discord/icon.svg" 227 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/discord/icon.svg"
225 } 228 }
@@ -228,7 +231,7 @@
228 "featured": false, 231 "featured": false,
229 "id": "disqus", 232 "id": "disqus",
230 "name": "Disqus", 233 "name": "Disqus",
231 "version": "1.0.2", 234 "version": "1.1.0",
232 "icons": { 235 "icons": {
233 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/disqus/icon.svg" 236 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/disqus/icon.svg"
234 } 237 }
@@ -237,7 +240,7 @@
237 "featured": false, 240 "featured": false,
238 "id": "easy-redmine", 241 "id": "easy-redmine",
239 "name": "easy-redmine", 242 "name": "easy-redmine",
240 "version": "1.0.2", 243 "version": "1.1.0",
241 "icons": { 244 "icons": {
242 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.svg" 245 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/easy-redmine/icon.svg"
243 } 246 }
@@ -246,7 +249,7 @@
246 "featured": false, 249 "featured": false,
247 "id": "element", 250 "id": "element",
248 "name": "Element", 251 "name": "Element",
249 "version": "1.0.6", 252 "version": "1.1.0",
250 "aliases": [ 253 "aliases": [
251 "Riot.im", 254 "Riot.im",
252 "Matrix" 255 "Matrix"
@@ -259,7 +262,7 @@
259 "featured": false, 262 "featured": false,
260 "id": "enterprise-owa", 263 "id": "enterprise-owa",
261 "name": "Enterprise Outlook Web App", 264 "name": "Enterprise Outlook Web App",
262 "version": "1.1.2", 265 "version": "1.2.0",
263 "icons": { 266 "icons": {
264 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/enterprise-owa/icon.svg" 267 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/enterprise-owa/icon.svg"
265 } 268 }
@@ -268,7 +271,7 @@
268 "featured": false, 271 "featured": false,
269 "id": "epicgames", 272 "id": "epicgames",
270 "name": "Epic Games Store", 273 "name": "Epic Games Store",
271 "version": "1.0.2", 274 "version": "1.1.0",
272 "icons": { 275 "icons": {
273 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/epicgames/icon.svg" 276 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/epicgames/icon.svg"
274 } 277 }
@@ -277,7 +280,7 @@
277 "featured": false, 280 "featured": false,
278 "id": "erepublik", 281 "id": "erepublik",
279 "name": "eRepublik", 282 "name": "eRepublik",
280 "version": "1.0.2", 283 "version": "1.1.0",
281 "icons": { 284 "icons": {
282 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/erepublik/icon.svg" 285 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/erepublik/icon.svg"
283 } 286 }
@@ -286,7 +289,7 @@
286 "featured": false, 289 "featured": false,
287 "id": "evernote", 290 "id": "evernote",
288 "name": "Evernote", 291 "name": "Evernote",
289 "version": "1.0.2", 292 "version": "1.1.0",
290 "icons": { 293 "icons": {
291 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/evernote/icon.svg" 294 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/evernote/icon.svg"
292 } 295 }
@@ -295,7 +298,7 @@
295 "featured": false, 298 "featured": false,
296 "id": "facebook", 299 "id": "facebook",
297 "name": "Facebook", 300 "name": "Facebook",
298 "version": "1.0.3", 301 "version": "1.1.0",
299 "icons": { 302 "icons": {
300 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebook/icon.svg" 303 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebook/icon.svg"
301 } 304 }
@@ -304,7 +307,7 @@
304 "featured": false, 307 "featured": false,
305 "id": "facebookpages", 308 "id": "facebookpages",
306 "name": "Facebook Pages", 309 "name": "Facebook Pages",
307 "version": "1.1.2", 310 "version": "1.2.0",
308 "icons": { 311 "icons": {
309 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebookpages/icon.svg" 312 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/facebookpages/icon.svg"
310 } 313 }
@@ -313,7 +316,7 @@
313 "featured": false, 316 "featured": false,
314 "id": "fastmail", 317 "id": "fastmail",
315 "name": "FastMail", 318 "name": "FastMail",
316 "version": "2.0.2", 319 "version": "2.1.0",
317 "icons": { 320 "icons": {
318 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fastmail/icon.svg" 321 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fastmail/icon.svg"
319 } 322 }
@@ -322,7 +325,7 @@
322 "featured": false, 325 "featured": false,
323 "id": "feedbin", 326 "id": "feedbin",
324 "name": "feedbin", 327 "name": "feedbin",
325 "version": "1.0.2", 328 "version": "1.1.0",
326 "icons": { 329 "icons": {
327 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.svg" 330 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedbin/icon.svg"
328 } 331 }
@@ -331,7 +334,7 @@
331 "featured": false, 334 "featured": false,
332 "id": "feedly", 335 "id": "feedly",
333 "name": "Feedly", 336 "name": "Feedly",
334 "version": "1.0.2", 337 "version": "1.1.0",
335 "icons": { 338 "icons": {
336 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedly/icon.svg" 339 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/feedly/icon.svg"
337 } 340 }
@@ -349,7 +352,7 @@
349 "featured": false, 352 "featured": false,
350 "id": "fleep", 353 "id": "fleep",
351 "name": "Fleep", 354 "name": "Fleep",
352 "version": "1.0.2", 355 "version": "1.1.0",
353 "icons": { 356 "icons": {
354 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fleep/icon.svg" 357 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/fleep/icon.svg"
355 } 358 }
@@ -358,7 +361,7 @@
358 "featured": false, 361 "featured": false,
359 "id": "flowdock", 362 "id": "flowdock",
360 "name": "Flowdock", 363 "name": "Flowdock",
361 "version": "1.0.2", 364 "version": "1.1.0",
362 "icons": { 365 "icons": {
363 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flowdock/icon.svg" 366 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/flowdock/icon.svg"
364 } 367 }
@@ -367,7 +370,7 @@
367 "featured": false, 370 "featured": false,
368 "id": "franz-custom-website", 371 "id": "franz-custom-website",
369 "name": "Custom Website", 372 "name": "Custom Website",
370 "version": "1.0.5", 373 "version": "1.1.0",
371 "icons": { 374 "icons": {
372 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/franz-custom-website/icon.svg" 375 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/franz-custom-website/icon.svg"
373 } 376 }
@@ -376,7 +379,7 @@
376 "featured": false, 379 "featured": false,
377 "id": "gadugadu", 380 "id": "gadugadu",
378 "name": "Gadu-Gadu", 381 "name": "Gadu-Gadu",
379 "version": "1.0.4", 382 "version": "1.1.0",
380 "icons": { 383 "icons": {
381 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gadugadu/icon.svg" 384 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gadugadu/icon.svg"
382 } 385 }
@@ -385,7 +388,7 @@
385 "featured": false, 388 "featured": false,
386 "id": "github", 389 "id": "github",
387 "name": "GitHub", 390 "name": "GitHub",
388 "version": "2.0.2", 391 "version": "2.1.0",
389 "icons": { 392 "icons": {
390 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github/icon.svg" 393 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github/icon.svg"
391 } 394 }
@@ -394,7 +397,7 @@
394 "featured": false, 397 "featured": false,
395 "id": "github_entreprise", 398 "id": "github_entreprise",
396 "name": "GitHub Enterprise", 399 "name": "GitHub Enterprise",
397 "version": "1.0.3", 400 "version": "1.1.0",
398 "icons": { 401 "icons": {
399 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github_entreprise/icon.svg" 402 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/github_entreprise/icon.svg"
400 } 403 }
@@ -403,7 +406,7 @@
403 "featured": false, 406 "featured": false,
404 "id": "gitlab", 407 "id": "gitlab",
405 "name": "GitLab", 408 "name": "GitLab",
406 "version": "1.1.2", 409 "version": "1.2.0",
407 "icons": { 410 "icons": {
408 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitlab/icon.svg" 411 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitlab/icon.svg"
409 } 412 }
@@ -412,7 +415,7 @@
412 "featured": true, 415 "featured": true,
413 "id": "gitter", 416 "id": "gitter",
414 "name": "Gitter", 417 "name": "Gitter",
415 "version": "1.0.4", 418 "version": "1.1.0",
416 "icons": { 419 "icons": {
417 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitter/icon.svg" 420 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gitter/icon.svg"
418 } 421 }
@@ -421,7 +424,7 @@
421 "featured": false, 424 "featured": false,
422 "id": "glowing-bear", 425 "id": "glowing-bear",
423 "name": "glowing-bear", 426 "name": "glowing-bear",
424 "version": "1.0.2", 427 "version": "1.1.0",
425 "icons": { 428 "icons": {
426 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/glowing-bear/icon.svg" 429 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/glowing-bear/icon.svg"
427 } 430 }
@@ -430,7 +433,7 @@
430 "featured": true, 433 "featured": true,
431 "id": "gmail", 434 "id": "gmail",
432 "name": "Gmail", 435 "name": "Gmail",
433 "version": "1.3.11", 436 "version": "1.4.0",
434 "icons": { 437 "icons": {
435 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gmail/icon.svg" 438 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gmail/icon.svg"
436 } 439 }
@@ -439,7 +442,7 @@
439 "featured": false, 442 "featured": false,
440 "id": "google-contacts", 443 "id": "google-contacts",
441 "name": "Google Contacts", 444 "name": "Google Contacts",
442 "version": "1.0.3", 445 "version": "1.1.0",
443 "icons": { 446 "icons": {
444 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-contacts/icon.svg" 447 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-contacts/icon.svg"
445 } 448 }
@@ -448,7 +451,7 @@
448 "featured": false, 451 "featured": false,
449 "id": "google-news", 452 "id": "google-news",
450 "name": "Google News", 453 "name": "Google News",
451 "version": "1.0.0", 454 "version": "1.1.0",
452 "icons": { 455 "icons": {
453 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-news/icon.svg" 456 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-news/icon.svg"
454 } 457 }
@@ -457,7 +460,7 @@
457 "featured": false, 460 "featured": false,
458 "id": "google-voice", 461 "id": "google-voice",
459 "name": "google-voice", 462 "name": "google-voice",
460 "version": "0.3.5", 463 "version": "0.4.0",
461 "icons": { 464 "icons": {
462 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-voice/icon.svg" 465 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/google-voice/icon.svg"
463 } 466 }
@@ -466,7 +469,7 @@
466 "featured": false, 469 "featured": false,
467 "id": "googlecalendar", 470 "id": "googlecalendar",
468 "name": "Google Calendar", 471 "name": "Google Calendar",
469 "version": "2.1.1", 472 "version": "2.2.0",
470 "aliases": [ 473 "aliases": [
471 "google-calendar", 474 "google-calendar",
472 "gCalendar" 475 "gCalendar"
@@ -479,7 +482,7 @@
479 "featured": false, 482 "featured": false,
480 "id": "googleclassroom", 483 "id": "googleclassroom",
481 "name": "Google Classroom", 484 "name": "Google Classroom",
482 "version": "1.0.5", 485 "version": "1.1.0",
483 "icons": { 486 "icons": {
484 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googleclassroom/icon.svg" 487 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googleclassroom/icon.svg"
485 } 488 }
@@ -488,7 +491,7 @@
488 "featured": false, 491 "featured": false,
489 "id": "googledrive", 492 "id": "googledrive",
490 "name": "Google Drive", 493 "name": "Google Drive",
491 "version": "2.0.1", 494 "version": "2.1.0",
492 "icons": { 495 "icons": {
493 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googledrive/icon.svg" 496 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googledrive/icon.svg"
494 } 497 }
@@ -497,7 +500,7 @@
497 "featured": false, 500 "featured": false,
498 "id": "googlekeep", 501 "id": "googlekeep",
499 "name": "Google Keep", 502 "name": "Google Keep",
500 "version": "1.0.6", 503 "version": "1.1.0",
501 "icons": { 504 "icons": {
502 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlekeep/icon.svg" 505 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlekeep/icon.svg"
503 } 506 }
@@ -506,7 +509,7 @@
506 "featured": false, 509 "featured": false,
507 "id": "googlemeet", 510 "id": "googlemeet",
508 "name": "Google Meet", 511 "name": "Google Meet",
509 "version": "2.0.3", 512 "version": "2.1.0",
510 "icons": { 513 "icons": {
511 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlemeet/icon.svg" 514 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlemeet/icon.svg"
512 } 515 }
@@ -515,7 +518,7 @@
515 "featured": false, 518 "featured": false,
516 "id": "googlepodcasts", 519 "id": "googlepodcasts",
517 "name": "Google Podcasts", 520 "name": "Google Podcasts",
518 "version": "1.0.2", 521 "version": "1.1.0",
519 "icons": { 522 "icons": {
520 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlepodcasts/icon.svg" 523 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/googlepodcasts/icon.svg"
521 } 524 }
@@ -524,7 +527,7 @@
524 "featured": false, 527 "featured": false,
525 "id": "gotomeeting", 528 "id": "gotomeeting",
526 "name": "Go To Meeting", 529 "name": "Go To Meeting",
527 "version": "0.2.3", 530 "version": "0.3.0",
528 "icons": { 531 "icons": {
529 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gotomeeting/icon.svg" 532 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/gotomeeting/icon.svg"
530 } 533 }
@@ -533,7 +536,7 @@
533 "featured": false, 536 "featured": false,
534 "id": "grape", 537 "id": "grape",
535 "name": "Grape", 538 "name": "Grape",
536 "version": "1.0.2", 539 "version": "1.1.0",
537 "icons": { 540 "icons": {
538 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/grape/icon.svg" 541 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/grape/icon.svg"
539 } 542 }
@@ -542,7 +545,7 @@
542 "featured": false, 545 "featured": false,
543 "id": "groupme", 546 "id": "groupme",
544 "name": "GroupMe", 547 "name": "GroupMe",
545 "version": "1.0.2", 548 "version": "1.1.0",
546 "icons": { 549 "icons": {
547 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/groupme/icon.svg" 550 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/groupme/icon.svg"
548 } 551 }
@@ -551,7 +554,7 @@
551 "featured": false, 554 "featured": false,
552 "id": "guilded", 555 "id": "guilded",
553 "name": "Guilded", 556 "name": "Guilded",
554 "version": "1.0.2", 557 "version": "1.1.0",
555 "icons": { 558 "icons": {
556 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/guilded/icon.svg" 559 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/guilded/icon.svg"
557 } 560 }
@@ -560,7 +563,7 @@
560 "featured": false, 563 "featured": false,
561 "id": "habitica", 564 "id": "habitica",
562 "name": "Habitica", 565 "name": "Habitica",
563 "version": "1.0.4", 566 "version": "1.1.0",
564 "icons": { 567 "icons": {
565 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/habitica/icon.svg" 568 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/habitica/icon.svg"
566 } 569 }
@@ -569,7 +572,7 @@
569 "featured": false, 572 "featured": false,
570 "id": "hackmd", 573 "id": "hackmd",
571 "name": "HackMd", 574 "name": "HackMd",
572 "version": "1.0.2", 575 "version": "1.1.0",
573 "icons": { 576 "icons": {
574 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hackmd/icon.svg" 577 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hackmd/icon.svg"
575 } 578 }
@@ -578,7 +581,7 @@
578 "featured": true, 581 "featured": true,
579 "id": "hangouts", 582 "id": "hangouts",
580 "name": "Hangouts", 583 "name": "Hangouts",
581 "version": "1.1.2", 584 "version": "1.2.0",
582 "icons": { 585 "icons": {
583 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hangouts/icon.svg" 586 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hangouts/icon.svg"
584 } 587 }
@@ -587,7 +590,7 @@
587 "featured": false, 590 "featured": false,
588 "id": "hangoutschat", 591 "id": "hangoutschat",
589 "name": "Hangouts Chat", 592 "name": "Hangouts Chat",
590 "version": "1.4.6", 593 "version": "1.5.0",
591 "aliases": [ 594 "aliases": [
592 "google-chat", 595 "google-chat",
593 "gChat" 596 "gChat"
@@ -600,7 +603,7 @@
600 "featured": false, 603 "featured": false,
601 "id": "harvest", 604 "id": "harvest",
602 "name": "Harvest", 605 "name": "Harvest",
603 "version": "1.0.2", 606 "version": "1.1.0",
604 "icons": { 607 "icons": {
605 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/harvest/icon.svg" 608 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/harvest/icon.svg"
606 } 609 }
@@ -609,7 +612,7 @@
609 "featured": false, 612 "featured": false,
610 "id": "hipchat", 613 "id": "hipchat",
611 "name": "HipChat", 614 "name": "HipChat",
612 "version": "1.0.3", 615 "version": "1.1.0",
613 "icons": { 616 "icons": {
614 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hipchat/icon.svg" 617 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/hipchat/icon.svg"
615 } 618 }
@@ -618,7 +621,7 @@
618 "featured": false, 621 "featured": false,
619 "id": "iCloud", 622 "id": "iCloud",
620 "name": "iCloud", 623 "name": "iCloud",
621 "version": "1.0.2", 624 "version": "1.1.0",
622 "icons": { 625 "icons": {
623 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.svg" 626 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/iCloud/icon.svg"
624 } 627 }
@@ -636,7 +639,7 @@
636 "featured": false, 639 "featured": false,
637 "id": "icq", 640 "id": "icq",
638 "name": "ICQ", 641 "name": "ICQ",
639 "version": "1.0.3", 642 "version": "1.1.0",
640 "icons": { 643 "icons": {
641 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icq/icon.svg" 644 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/icq/icon.svg"
642 } 645 }
@@ -645,7 +648,7 @@
645 "featured": false, 648 "featured": false,
646 "id": "idobata", 649 "id": "idobata",
647 "name": "Idobata", 650 "name": "Idobata",
648 "version": "0.1.2", 651 "version": "0.2.0",
649 "icons": { 652 "icons": {
650 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/idobata/icon.svg" 653 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/idobata/icon.svg"
651 } 654 }
@@ -654,7 +657,7 @@
654 "featured": false, 657 "featured": false,
655 "id": "infomaniak-mail", 658 "id": "infomaniak-mail",
656 "name": "Infomaniak Mail", 659 "name": "Infomaniak Mail",
657 "version": "1.0.2", 660 "version": "1.1.0",
658 "icons": { 661 "icons": {
659 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/infomaniak-mail/icon.svg" 662 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/infomaniak-mail/icon.svg"
660 } 663 }
@@ -663,7 +666,7 @@
663 "featured": false, 666 "featured": false,
664 "id": "inoreader", 667 "id": "inoreader",
665 "name": "Inoreader", 668 "name": "Inoreader",
666 "version": "1.0.3", 669 "version": "1.1.0",
667 "icons": { 670 "icons": {
668 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/inoreader/icon.svg" 671 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/inoreader/icon.svg"
669 } 672 }
@@ -672,7 +675,7 @@
672 "featured": false, 675 "featured": false,
673 "id": "instagram", 676 "id": "instagram",
674 "name": "Instagram", 677 "name": "Instagram",
675 "version": "2.1.0", 678 "version": "2.2.0",
676 "icons": { 679 "icons": {
677 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/instagram/icon.svg" 680 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/instagram/icon.svg"
678 } 681 }
@@ -681,7 +684,7 @@
681 "featured": false, 684 "featured": false,
682 "id": "intercom", 685 "id": "intercom",
683 "name": "Intercom", 686 "name": "Intercom",
684 "version": "1.0.1", 687 "version": "1.1.0",
685 "icons": { 688 "icons": {
686 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/intercom/icon.svg" 689 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/intercom/icon.svg"
687 } 690 }
@@ -690,7 +693,7 @@
690 "featured": false, 693 "featured": false,
691 "id": "irccloud", 694 "id": "irccloud",
692 "name": "IRCCloud", 695 "name": "IRCCloud",
693 "version": "1.0.3", 696 "version": "1.1.0",
694 "icons": { 697 "icons": {
695 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/irccloud/icon.svg" 698 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/irccloud/icon.svg"
696 } 699 }
@@ -699,7 +702,7 @@
699 "featured": false, 702 "featured": false,
700 "id": "jira", 703 "id": "jira",
701 "name": "Jira", 704 "name": "Jira",
702 "version": "1.2.3", 705 "version": "1.3.0",
703 "icons": { 706 "icons": {
704 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jira/icon.svg" 707 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jira/icon.svg"
705 } 708 }
@@ -708,7 +711,7 @@
708 "featured": false, 711 "featured": false,
709 "id": "jitsi", 712 "id": "jitsi",
710 "name": "Jitsi Meet", 713 "name": "Jitsi Meet",
711 "version": "1.0.6", 714 "version": "1.1.0",
712 "icons": { 715 "icons": {
713 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jitsi/icon.svg" 716 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jitsi/icon.svg"
714 } 717 }
@@ -717,7 +720,7 @@
717 "featured": false, 720 "featured": false,
718 "id": "jollor", 721 "id": "jollor",
719 "name": "jollor", 722 "name": "jollor",
720 "version": "1.0.2", 723 "version": "1.1.0",
721 "icons": { 724 "icons": {
722 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.svg" 725 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/jollor/icon.svg"
723 } 726 }
@@ -726,7 +729,7 @@
726 "featured": false, 729 "featured": false,
727 "id": "kaizala", 730 "id": "kaizala",
728 "name": "Microsoft Kaizala", 731 "name": "Microsoft Kaizala",
729 "version": "1.1.2", 732 "version": "1.2.0",
730 "icons": { 733 "icons": {
731 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kaizala/icon.svg" 734 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kaizala/icon.svg"
732 } 735 }
@@ -735,7 +738,7 @@
735 "featured": false, 738 "featured": false,
736 "id": "keybase.io", 739 "id": "keybase.io",
737 "name": "Keybase", 740 "name": "Keybase",
738 "version": "1.0.2", 741 "version": "1.1.0",
739 "icons": { 742 "icons": {
740 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/keybase.io/icon.svg" 743 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/keybase.io/icon.svg"
741 } 744 }
@@ -744,7 +747,7 @@
744 "featured": false, 747 "featured": false,
745 "id": "kimaicloud", 748 "id": "kimaicloud",
746 "name": "Kimai Cloud", 749 "name": "Kimai Cloud",
747 "version": "1.0.2", 750 "version": "1.1.0",
748 "icons": { 751 "icons": {
749 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kimaicloud/icon.svg" 752 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/kimaicloud/icon.svg"
750 } 753 }
@@ -753,7 +756,7 @@
753 "featured": false, 756 "featured": false,
754 "id": "lark", 757 "id": "lark",
755 "name": "Lark", 758 "name": "Lark",
756 "version": "0.0.4", 759 "version": "0.1.0",
757 "icons": { 760 "icons": {
758 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lark/icon.svg" 761 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lark/icon.svg"
759 } 762 }
@@ -762,7 +765,7 @@
762 "featured": false, 765 "featured": false,
763 "id": "lastpass", 766 "id": "lastpass",
764 "name": "LastPass", 767 "name": "LastPass",
765 "version": "2.0.2", 768 "version": "2.1.0",
766 "icons": { 769 "icons": {
767 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lastpass/icon.svg" 770 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/lastpass/icon.svg"
768 } 771 }
@@ -771,7 +774,7 @@
771 "featured": false, 774 "featured": false,
772 "id": "line-me", 775 "id": "line-me",
773 "name": "Line.me", 776 "name": "Line.me",
774 "version": "1.0.2", 777 "version": "1.1.0",
775 "icons": { 778 "icons": {
776 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/line-me/icon.svg" 779 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/line-me/icon.svg"
777 } 780 }
@@ -780,7 +783,7 @@
780 "featured": false, 783 "featured": false,
781 "id": "linkedin", 784 "id": "linkedin",
782 "name": "LinkedIn", 785 "name": "LinkedIn",
783 "version": "1.1.0", 786 "version": "1.2.0",
784 "icons": { 787 "icons": {
785 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/linkedin/icon.svg" 788 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/linkedin/icon.svg"
786 } 789 }
@@ -789,7 +792,7 @@
789 "featured": false, 792 "featured": false,
790 "id": "mailbox.org", 793 "id": "mailbox.org",
791 "name": "mailbox.org", 794 "name": "mailbox.org",
792 "version": "1.2.4", 795 "version": "1.3.0",
793 "icons": { 796 "icons": {
794 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mailbox.org/icon.svg" 797 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mailbox.org/icon.svg"
795 } 798 }
@@ -798,7 +801,7 @@
798 "featured": false, 801 "featured": false,
799 "id": "mastodon", 802 "id": "mastodon",
800 "name": "Mastodon", 803 "name": "Mastodon",
801 "version": "1.1.4", 804 "version": "1.2.0",
802 "icons": { 805 "icons": {
803 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mastodon/icon.svg" 806 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mastodon/icon.svg"
804 } 807 }
@@ -807,7 +810,7 @@
807 "featured": true, 810 "featured": true,
808 "id": "mattermost", 811 "id": "mattermost",
809 "name": "Mattermost", 812 "name": "Mattermost",
810 "version": "1.2.5", 813 "version": "1.3.0",
811 "icons": { 814 "icons": {
812 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mattermost/icon.svg" 815 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mattermost/icon.svg"
813 } 816 }
@@ -816,7 +819,7 @@
816 "featured": true, 819 "featured": true,
817 "id": "messenger", 820 "id": "messenger",
818 "name": "Messenger", 821 "name": "Messenger",
819 "version": "1.2.0", 822 "version": "1.3.0",
820 "icons": { 823 "icons": {
821 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/messenger/icon.svg" 824 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/messenger/icon.svg"
822 } 825 }
@@ -825,7 +828,7 @@
825 "featured": false, 828 "featured": false,
826 "id": "monday", 829 "id": "monday",
827 "name": "Monday", 830 "name": "Monday",
828 "version": "1.0.4", 831 "version": "1.1.0",
829 "icons": { 832 "icons": {
830 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monday/icon.svg" 833 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monday/icon.svg"
831 } 834 }
@@ -834,7 +837,7 @@
834 "featured": false, 837 "featured": false,
835 "id": "monicahq", 838 "id": "monicahq",
836 "name": "Monica HQ", 839 "name": "Monica HQ",
837 "version": "1.0.2", 840 "version": "1.1.0",
838 "icons": { 841 "icons": {
839 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monicahq/icon.svg" 842 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/monicahq/icon.svg"
840 } 843 }
@@ -843,7 +846,7 @@
843 "featured": false, 846 "featured": false,
844 "id": "msteams", 847 "id": "msteams",
845 "name": "Microsoft Teams", 848 "name": "Microsoft Teams",
846 "version": "3.0.2", 849 "version": "3.1.0",
847 "aliases": [ 850 "aliases": [
848 "teamsChat" 851 "teamsChat"
849 ], 852 ],
@@ -855,7 +858,7 @@
855 "featured": false, 858 "featured": false,
856 "id": "mstodo", 859 "id": "mstodo",
857 "name": "Microsoft To Do", 860 "name": "Microsoft To Do",
858 "version": "1.0.3", 861 "version": "1.1.0",
859 "icons": { 862 "icons": {
860 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mstodo/icon.svg" 863 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mstodo/icon.svg"
861 } 864 }
@@ -864,7 +867,7 @@
864 "featured": false, 867 "featured": false,
865 "id": "mysms", 868 "id": "mysms",
866 "name": "MySMS", 869 "name": "MySMS",
867 "version": "1.0.2", 870 "version": "1.1.0",
868 "icons": { 871 "icons": {
869 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mysms/icon.svg" 872 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/mysms/icon.svg"
870 } 873 }
@@ -873,7 +876,7 @@
873 "featured": false, 876 "featured": false,
874 "id": "netatmo-energy", 877 "id": "netatmo-energy",
875 "name": "Netatmo Energy", 878 "name": "Netatmo Energy",
876 "version": "1.0.3", 879 "version": "1.1.0",
877 "icons": { 880 "icons": {
878 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netatmo-energy/icon.svg" 881 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/netatmo-energy/icon.svg"
879 } 882 }
@@ -882,7 +885,7 @@
882 "featured": false, 885 "featured": false,
883 "id": "NewsBlur", 886 "id": "NewsBlur",
884 "name": "NewsBlur", 887 "name": "NewsBlur",
885 "version": "1.0.1", 888 "version": "1.1.0",
886 "icons": { 889 "icons": {
887 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/NewsBlur/icon.svg" 890 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/NewsBlur/icon.svg"
888 } 891 }
@@ -891,7 +894,7 @@
891 "featured": false, 894 "featured": false,
892 "id": "nextcloud", 895 "id": "nextcloud",
893 "name": "Nextcloud", 896 "name": "Nextcloud",
894 "version": "1.0.2", 897 "version": "1.1.0",
895 "icons": { 898 "icons": {
896 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud/icon.svg" 899 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud/icon.svg"
897 } 900 }
@@ -900,7 +903,7 @@
900 "featured": false, 903 "featured": false,
901 "id": "nextcloud-calendar", 904 "id": "nextcloud-calendar",
902 "name": "Nextcloud Calendar", 905 "name": "Nextcloud Calendar",
903 "version": "1.0.4", 906 "version": "1.1.0",
904 "icons": { 907 "icons": {
905 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-calendar/icon.svg" 908 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-calendar/icon.svg"
906 } 909 }
@@ -909,7 +912,7 @@
909 "featured": false, 912 "featured": false,
910 "id": "nextcloud-carnet", 913 "id": "nextcloud-carnet",
911 "name": "Carnet (Nextcloud)", 914 "name": "Carnet (Nextcloud)",
912 "version": "1.0.2", 915 "version": "1.1.0",
913 "icons": { 916 "icons": {
914 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-carnet/icon.svg" 917 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-carnet/icon.svg"
915 } 918 }
@@ -918,7 +921,7 @@
918 "featured": false, 921 "featured": false,
919 "id": "nextcloud-cospend", 922 "id": "nextcloud-cospend",
920 "name": "Nextcloud Cospend", 923 "name": "Nextcloud Cospend",
921 "version": "1.0.2", 924 "version": "1.1.0",
922 "icons": { 925 "icons": {
923 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-cospend/icon.svg" 926 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-cospend/icon.svg"
924 } 927 }
@@ -927,7 +930,7 @@
927 "featured": false, 930 "featured": false,
928 "id": "nextcloud-talk", 931 "id": "nextcloud-talk",
929 "name": "Nextcloud Talk", 932 "name": "Nextcloud Talk",
930 "version": "1.0.6", 933 "version": "1.1.0",
931 "icons": { 934 "icons": {
932 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-talk/icon.svg" 935 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-talk/icon.svg"
933 } 936 }
@@ -936,7 +939,7 @@
936 "featured": false, 939 "featured": false,
937 "id": "nextcloud-tasks", 940 "id": "nextcloud-tasks",
938 "name": "Nextcloud Tasks", 941 "name": "Nextcloud Tasks",
939 "version": "1.0.2", 942 "version": "1.1.0",
940 "icons": { 943 "icons": {
941 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-tasks/icon.svg" 944 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextcloud-tasks/icon.svg"
942 } 945 }
@@ -945,7 +948,7 @@
945 "featured": false, 948 "featured": false,
946 "id": "nextdoor", 949 "id": "nextdoor",
947 "name": "Nextdoor", 950 "name": "Nextdoor",
948 "version": "1.0.3", 951 "version": "1.1.0",
949 "icons": { 952 "icons": {
950 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextdoor/icon.svg" 953 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nextdoor/icon.svg"
951 } 954 }
@@ -963,7 +966,7 @@
963 "featured": false, 966 "featured": false,
964 "id": "nomadlist", 967 "id": "nomadlist",
965 "name": "nomadlist", 968 "name": "nomadlist",
966 "version": "1.0.4", 969 "version": "1.1.0",
967 "icons": { 970 "icons": {
968 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.svg" 971 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/nomadlist/icon.svg"
969 } 972 }
@@ -972,7 +975,7 @@
972 "featured": false, 975 "featured": false,
973 "id": "notion", 976 "id": "notion",
974 "name": "Notion", 977 "name": "Notion",
975 "version": "1.0.4", 978 "version": "1.1.0",
976 "icons": { 979 "icons": {
977 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/notion/icon.svg" 980 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/notion/icon.svg"
978 } 981 }
@@ -981,7 +984,7 @@
981 "featured": false, 984 "featured": false,
982 "id": "office365-owa", 985 "id": "office365-owa",
983 "name": "Office 365 Outlook Web App", 986 "name": "Office 365 Outlook Web App",
984 "version": "1.2.2", 987 "version": "1.3.0",
985 "icons": { 988 "icons": {
986 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/office365-owa/icon.svg" 989 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/office365-owa/icon.svg"
987 } 990 }
@@ -990,7 +993,7 @@
990 "featured": false, 993 "featured": false,
991 "id": "onenote", 994 "id": "onenote",
992 "name": "OneNote", 995 "name": "OneNote",
993 "version": "1.0.3", 996 "version": "1.1.0",
994 "icons": { 997 "icons": {
995 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/onenote/icon.svg" 998 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/onenote/icon.svg"
996 } 999 }
@@ -999,7 +1002,7 @@
999 "featured": false, 1002 "featured": false,
1000 "id": "outlook", 1003 "id": "outlook",
1001 "name": "Outlook Web App", 1004 "name": "Outlook Web App",
1002 "version": "1.1.2", 1005 "version": "1.2.0",
1003 "icons": { 1006 "icons": {
1004 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/outlook/icon.svg" 1007 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/outlook/icon.svg"
1005 } 1008 }
@@ -1008,7 +1011,7 @@
1008 "featured": false, 1011 "featured": false,
1009 "id": "paymo", 1012 "id": "paymo",
1010 "name": "paymo", 1013 "name": "paymo",
1011 "version": "1.0.2", 1014 "version": "1.1.0",
1012 "icons": { 1015 "icons": {
1013 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.svg" 1016 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/paymo/icon.svg"
1014 } 1017 }
@@ -1026,7 +1029,7 @@
1026 "featured": false, 1029 "featured": false,
1027 "id": "pivotal-tracker", 1030 "id": "pivotal-tracker",
1028 "name": "pivotal-tracker", 1031 "name": "pivotal-tracker",
1029 "version": "1.0.2", 1032 "version": "1.1.0",
1030 "icons": { 1033 "icons": {
1031 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.svg" 1034 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pivotal-tracker/icon.svg"
1032 } 1035 }
@@ -1035,7 +1038,7 @@
1035 "featured": false, 1038 "featured": false,
1036 "id": "plan", 1039 "id": "plan",
1037 "name": "plan", 1040 "name": "plan",
1038 "version": "1.0.2", 1041 "version": "1.1.0",
1039 "icons": { 1042 "icons": {
1040 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plan/icon.svg" 1043 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plan/icon.svg"
1041 } 1044 }
@@ -1053,7 +1056,7 @@
1053 "featured": false, 1056 "featured": false,
1054 "id": "plurk", 1057 "id": "plurk",
1055 "name": "Plurk", 1058 "name": "Plurk",
1056 "version": "1.0.2", 1059 "version": "1.1.0",
1057 "icons": { 1060 "icons": {
1058 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plurk/icon.svg" 1061 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/plurk/icon.svg"
1059 } 1062 }
@@ -1062,7 +1065,7 @@
1062 "featured": false, 1065 "featured": false,
1063 "id": "pocket", 1066 "id": "pocket",
1064 "name": "Pocket", 1067 "name": "Pocket",
1065 "version": "1.0.2", 1068 "version": "1.1.0",
1066 "icons": { 1069 "icons": {
1067 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pocket/icon.svg" 1070 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pocket/icon.svg"
1068 } 1071 }
@@ -1071,7 +1074,7 @@
1071 "featured": false, 1074 "featured": false,
1072 "id": "podio", 1075 "id": "podio",
1073 "name": "podio", 1076 "name": "podio",
1074 "version": "1.0.2", 1077 "version": "1.1.0",
1075 "icons": { 1078 "icons": {
1076 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.svg" 1079 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/podio/icon.svg"
1077 } 1080 }
@@ -1080,7 +1083,7 @@
1080 "featured": false, 1083 "featured": false,
1081 "id": "pomodoro-tracker", 1084 "id": "pomodoro-tracker",
1082 "name": "Pomodoro Tracker", 1085 "name": "Pomodoro Tracker",
1083 "version": "1.0.2", 1086 "version": "1.1.0",
1084 "icons": { 1087 "icons": {
1085 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pomodoro-tracker/icon.svg" 1088 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pomodoro-tracker/icon.svg"
1086 } 1089 }
@@ -1089,7 +1092,7 @@
1089 "featured": false, 1092 "featured": false,
1090 "id": "proton-mail", 1093 "id": "proton-mail",
1091 "name": "ProtonMail", 1094 "name": "ProtonMail",
1092 "version": "1.2.4", 1095 "version": "1.3.0",
1093 "icons": { 1096 "icons": {
1094 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/proton-mail/icon.svg" 1097 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/proton-mail/icon.svg"
1095 } 1098 }
@@ -1098,7 +1101,7 @@
1098 "featured": false, 1101 "featured": false,
1099 "id": "protoncalendar", 1102 "id": "protoncalendar",
1100 "name": "ProtonCalendar", 1103 "name": "ProtonCalendar",
1101 "version": "1.0.1", 1104 "version": "1.1.0",
1102 "icons": { 1105 "icons": {
1103 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protoncalendar/icon.svg" 1106 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protoncalendar/icon.svg"
1104 } 1107 }
@@ -1107,7 +1110,7 @@
1107 "featured": false, 1110 "featured": false,
1108 "id": "protonet", 1111 "id": "protonet",
1109 "name": "protonet", 1112 "name": "protonet",
1110 "version": "1.0.3", 1113 "version": "1.1.0",
1111 "icons": { 1114 "icons": {
1112 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.svg" 1115 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/protonet/icon.svg"
1113 } 1116 }
@@ -1116,7 +1119,7 @@
1116 "featured": false, 1119 "featured": false,
1117 "id": "pulsesms", 1120 "id": "pulsesms",
1118 "name": "PulseSMS", 1121 "name": "PulseSMS",
1119 "version": "1.1.4", 1122 "version": "1.2.0",
1120 "icons": { 1123 "icons": {
1121 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pulsesms/icon.svg" 1124 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pulsesms/icon.svg"
1122 } 1125 }
@@ -1125,7 +1128,7 @@
1125 "featured": false, 1128 "featured": false,
1126 "id": "pushbullet", 1129 "id": "pushbullet",
1127 "name": "Pushbullet", 1130 "name": "Pushbullet",
1128 "version": "1.0.3", 1131 "version": "1.1.0",
1129 "icons": { 1132 "icons": {
1130 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pushbullet/icon.svg" 1133 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/pushbullet/icon.svg"
1131 } 1134 }
@@ -1134,7 +1137,7 @@
1134 "featured": false, 1137 "featured": false,
1135 "id": "rainloop", 1138 "id": "rainloop",
1136 "name": "RainLoop", 1139 "name": "RainLoop",
1137 "version": "1.0.2", 1140 "version": "1.1.0",
1138 "icons": { 1141 "icons": {
1139 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rainloop/icon.svg" 1142 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rainloop/icon.svg"
1140 } 1143 }
@@ -1143,7 +1146,7 @@
1143 "featured": false, 1146 "featured": false,
1144 "id": "reddit", 1147 "id": "reddit",
1145 "name": "Reddit", 1148 "name": "Reddit",
1146 "version": "1.0.2", 1149 "version": "1.1.0",
1147 "icons": { 1150 "icons": {
1148 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/reddit/icon.svg" 1151 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/reddit/icon.svg"
1149 } 1152 }
@@ -1152,7 +1155,7 @@
1152 "featured": false, 1155 "featured": false,
1153 "id": "redditchat", 1156 "id": "redditchat",
1154 "name": "Reddit Chat", 1157 "name": "Reddit Chat",
1155 "version": "1.0.2", 1158 "version": "1.1.0",
1156 "icons": { 1159 "icons": {
1157 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/redditchat/icon.svg" 1160 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/redditchat/icon.svg"
1158 } 1161 }
@@ -1161,7 +1164,7 @@
1161 "featured": false, 1164 "featured": false,
1162 "id": "riseup", 1165 "id": "riseup",
1163 "name": "Riseup.net", 1166 "name": "Riseup.net",
1164 "version": "1.0.2", 1167 "version": "1.1.0",
1165 "icons": { 1168 "icons": {
1166 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/riseup/icon.svg" 1169 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/riseup/icon.svg"
1167 } 1170 }
@@ -1170,7 +1173,7 @@
1170 "featured": false, 1173 "featured": false,
1171 "id": "rocketchat", 1174 "id": "rocketchat",
1172 "name": "Rocket.Chat", 1175 "name": "Rocket.Chat",
1173 "version": "1.0.11", 1176 "version": "1.1.0",
1174 "icons": { 1177 "icons": {
1175 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rocketchat/icon.svg" 1178 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/rocketchat/icon.svg"
1176 } 1179 }
@@ -1179,7 +1182,7 @@
1179 "featured": false, 1182 "featured": false,
1180 "id": "roundcube", 1183 "id": "roundcube",
1181 "name": "Roundcube", 1184 "name": "Roundcube",
1182 "version": "1.0.3", 1185 "version": "1.1.0",
1183 "icons": { 1186 "icons": {
1184 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/roundcube/icon.svg" 1187 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/roundcube/icon.svg"
1185 } 1188 }
@@ -1188,7 +1191,7 @@
1188 "featured": false, 1191 "featured": false,
1189 "id": "sendtask", 1192 "id": "sendtask",
1190 "name": "Sendtask", 1193 "name": "Sendtask",
1191 "version": "1.0.4", 1194 "version": "1.1.0",
1192 "icons": { 1195 "icons": {
1193 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sendtask/icon.svg" 1196 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sendtask/icon.svg"
1194 } 1197 }
@@ -1197,7 +1200,7 @@
1197 "featured": false, 1200 "featured": false,
1198 "id": "simplenote", 1201 "id": "simplenote",
1199 "name": "Simplenote", 1202 "name": "Simplenote",
1200 "version": "1.0.3", 1203 "version": "1.1.0",
1201 "icons": { 1204 "icons": {
1202 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/simplenote/icon.svg" 1205 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/simplenote/icon.svg"
1203 } 1206 }
@@ -1206,7 +1209,7 @@
1206 "featured": false, 1209 "featured": false,
1207 "id": "skype", 1210 "id": "skype",
1208 "name": "Skype", 1211 "name": "Skype",
1209 "version": "3.0.1", 1212 "version": "3.1.0",
1210 "icons": { 1213 "icons": {
1211 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/skype/icon.svg" 1214 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/skype/icon.svg"
1212 } 1215 }
@@ -1215,7 +1218,7 @@
1215 "featured": true, 1218 "featured": true,
1216 "id": "slack", 1219 "id": "slack",
1217 "name": "Slack", 1220 "name": "Slack",
1218 "version": "1.1.0", 1221 "version": "1.2.0",
1219 "icons": { 1222 "icons": {
1220 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slack/icon.svg" 1223 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/slack/icon.svg"
1221 } 1224 }
@@ -1233,7 +1236,7 @@
1233 "featured": false, 1236 "featured": false,
1234 "id": "snapdrop", 1237 "id": "snapdrop",
1235 "name": "Snapdrop", 1238 "name": "Snapdrop",
1236 "version": "1.0.3", 1239 "version": "1.1.0",
1237 "icons": { 1240 "icons": {
1238 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/snapdrop/icon.svg" 1241 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/snapdrop/icon.svg"
1239 } 1242 }
@@ -1242,7 +1245,7 @@
1242 "featured": false, 1245 "featured": false,
1243 "id": "stackexchange", 1246 "id": "stackexchange",
1244 "name": "StackExchange", 1247 "name": "StackExchange",
1245 "version": "1.0.2", 1248 "version": "1.1.0",
1246 "icons": { 1249 "icons": {
1247 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackexchange/icon.svg" 1250 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stackexchange/icon.svg"
1248 } 1251 }
@@ -1251,7 +1254,7 @@
1251 "featured": false, 1254 "featured": false,
1252 "id": "standardnotes", 1255 "id": "standardnotes",
1253 "name": "StandardNotes", 1256 "name": "StandardNotes",
1254 "version": "1.0.3", 1257 "version": "1.1.0",
1255 "icons": { 1258 "icons": {
1256 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/standardnotes/icon.svg" 1259 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/standardnotes/icon.svg"
1257 } 1260 }
@@ -1260,7 +1263,7 @@
1260 "featured": false, 1263 "featured": false,
1261 "id": "steamchat", 1264 "id": "steamchat",
1262 "name": "SteamChat", 1265 "name": "SteamChat",
1263 "version": "1.1.5", 1266 "version": "1.2.0",
1264 "icons": { 1267 "icons": {
1265 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/steamchat/icon.svg" 1268 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/steamchat/icon.svg"
1266 } 1269 }
@@ -1269,7 +1272,7 @@
1269 "featured": false, 1272 "featured": false,
1270 "id": "stride", 1273 "id": "stride",
1271 "name": "Stride", 1274 "name": "Stride",
1272 "version": "1.1.2", 1275 "version": "1.2.0",
1273 "icons": { 1276 "icons": {
1274 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stride/icon.svg" 1277 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/stride/icon.svg"
1275 } 1278 }
@@ -1278,7 +1281,7 @@
1278 "featured": false, 1281 "featured": false,
1279 "id": "superhuman", 1282 "id": "superhuman",
1280 "name": "superhuman", 1283 "name": "superhuman",
1281 "version": "1.0.2", 1284 "version": "1.1.0",
1282 "icons": { 1285 "icons": {
1283 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/superhuman/icon.svg" 1286 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/superhuman/icon.svg"
1284 } 1287 }
@@ -1287,7 +1290,7 @@
1287 "featured": false, 1290 "featured": false,
1288 "id": "sync", 1291 "id": "sync",
1289 "name": "sync", 1292 "name": "sync",
1290 "version": "1.0.2", 1293 "version": "1.1.0",
1291 "icons": { 1294 "icons": {
1292 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sync/icon.svg" 1295 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/sync/icon.svg"
1293 } 1296 }
@@ -1296,7 +1299,7 @@
1296 "featured": false, 1299 "featured": false,
1297 "id": "tawk", 1300 "id": "tawk",
1298 "name": "Tawk.to", 1301 "name": "Tawk.to",
1299 "version": "1.0.2", 1302 "version": "1.1.0",
1300 "icons": { 1303 "icons": {
1301 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tawk/icon.svg" 1304 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tawk/icon.svg"
1302 } 1305 }
@@ -1305,7 +1308,7 @@
1305 "featured": false, 1308 "featured": false,
1306 "id": "teamleader", 1309 "id": "teamleader",
1307 "name": "teamleader", 1310 "name": "teamleader",
1308 "version": "1.0.2", 1311 "version": "1.1.0",
1309 "icons": { 1312 "icons": {
1310 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.svg" 1313 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamleader/icon.svg"
1311 } 1314 }
@@ -1314,7 +1317,7 @@
1314 "featured": false, 1317 "featured": false,
1315 "id": "teamwork-projects", 1318 "id": "teamwork-projects",
1316 "name": "Teamwork Projects", 1319 "name": "Teamwork Projects",
1317 "version": "0.1.2", 1320 "version": "0.2.0",
1318 "icons": { 1321 "icons": {
1319 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamwork-projects/icon.svg" 1322 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/teamwork-projects/icon.svg"
1320 } 1323 }
@@ -1323,7 +1326,7 @@
1323 "featured": true, 1326 "featured": true,
1324 "id": "telegram", 1327 "id": "telegram",
1325 "name": "Telegram", 1328 "name": "Telegram",
1326 "version": "3.1.1", 1329 "version": "3.2.0",
1327 "icons": { 1330 "icons": {
1328 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram/icon.svg" 1331 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram/icon.svg"
1329 } 1332 }
@@ -1332,7 +1335,7 @@
1332 "featured": false, 1335 "featured": false,
1333 "id": "telegram-react", 1336 "id": "telegram-react",
1334 "name": "Telegram React", 1337 "name": "Telegram React",
1335 "version": "1.1.3", 1338 "version": "1.2.0",
1336 "icons": { 1339 "icons": {
1337 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram-react/icon.svg" 1340 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/telegram-react/icon.svg"
1338 } 1341 }
@@ -1341,7 +1344,7 @@
1341 "featured": false, 1344 "featured": false,
1342 "id": "thelounge", 1345 "id": "thelounge",
1343 "name": "The Lounge", 1346 "name": "The Lounge",
1344 "version": "1.0.2", 1347 "version": "1.1.0",
1345 "icons": { 1348 "icons": {
1346 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/thelounge/icon.svg" 1349 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/thelounge/icon.svg"
1347 } 1350 }
@@ -1350,7 +1353,7 @@
1350 "featured": false, 1353 "featured": false,
1351 "id": "threema", 1354 "id": "threema",
1352 "name": "Threema", 1355 "name": "Threema",
1353 "version": "1.0.2", 1356 "version": "1.1.0",
1354 "icons": { 1357 "icons": {
1355 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/threema/icon.svg" 1358 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/threema/icon.svg"
1356 } 1359 }
@@ -1359,7 +1362,7 @@
1359 "featured": false, 1362 "featured": false,
1360 "id": "TickTick", 1363 "id": "TickTick",
1361 "name": "TickTick", 1364 "name": "TickTick",
1362 "version": "1.1.3", 1365 "version": "1.2.0",
1363 "icons": { 1366 "icons": {
1364 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/TickTick/icon.svg" 1367 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/TickTick/icon.svg"
1365 } 1368 }
@@ -1368,7 +1371,7 @@
1368 "featured": false, 1371 "featured": false,
1369 "id": "todoist", 1372 "id": "todoist",
1370 "name": "Todoist", 1373 "name": "Todoist",
1371 "version": "1.2.2", 1374 "version": "1.3.0",
1372 "icons": { 1375 "icons": {
1373 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/todoist/icon.svg" 1376 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/todoist/icon.svg"
1374 } 1377 }
@@ -1377,7 +1380,7 @@
1377 "featured": false, 1380 "featured": false,
1378 "id": "toggl", 1381 "id": "toggl",
1379 "name": "toggl", 1382 "name": "toggl",
1380 "version": "1.0.3", 1383 "version": "1.1.0",
1381 "icons": { 1384 "icons": {
1382 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/toggl/icon.svg" 1385 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/toggl/icon.svg"
1383 } 1386 }
@@ -1386,7 +1389,7 @@
1386 "featured": false, 1389 "featured": false,
1387 "id": "trello", 1390 "id": "trello",
1388 "name": "Trello", 1391 "name": "Trello",
1389 "version": "1.0.4", 1392 "version": "1.1.0",
1390 "icons": { 1393 "icons": {
1391 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/trello/icon.svg" 1394 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/trello/icon.svg"
1392 } 1395 }
@@ -1395,7 +1398,7 @@
1395 "featured": false, 1398 "featured": false,
1396 "id": "tutanota", 1399 "id": "tutanota",
1397 "name": "Tutanota", 1400 "name": "Tutanota",
1398 "version": "1.0.2", 1401 "version": "1.1.0",
1399 "icons": { 1402 "icons": {
1400 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tutanota/icon.svg" 1403 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tutanota/icon.svg"
1401 } 1404 }
@@ -1404,7 +1407,7 @@
1404 "featured": true, 1407 "featured": true,
1405 "id": "tweetdeck", 1408 "id": "tweetdeck",
1406 "name": "Tweetdeck", 1409 "name": "Tweetdeck",
1407 "version": "1.0.5", 1410 "version": "1.1.0",
1408 "icons": { 1411 "icons": {
1409 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tweetdeck/icon.svg" 1412 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/tweetdeck/icon.svg"
1410 } 1413 }
@@ -1413,7 +1416,7 @@
1413 "featured": false, 1416 "featured": false,
1414 "id": "twist", 1417 "id": "twist",
1415 "name": "twist", 1418 "name": "twist",
1416 "version": "1.0.3", 1419 "version": "1.1.0",
1417 "icons": { 1420 "icons": {
1418 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twist/icon.svg" 1421 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twist/icon.svg"
1419 } 1422 }
@@ -1422,7 +1425,7 @@
1422 "featured": false, 1425 "featured": false,
1423 "id": "twitch", 1426 "id": "twitch",
1424 "name": "Twitch", 1427 "name": "Twitch",
1425 "version": "1.0.2", 1428 "version": "1.1.0",
1426 "icons": { 1429 "icons": {
1427 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitch/icon.svg" 1430 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitch/icon.svg"
1428 } 1431 }
@@ -1431,7 +1434,7 @@
1431 "featured": false, 1434 "featured": false,
1432 "id": "twitter", 1435 "id": "twitter",
1433 "name": "Twitter", 1436 "name": "Twitter",
1434 "version": "1.1.3", 1437 "version": "1.2.0",
1435 "icons": { 1438 "icons": {
1436 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter/icon.svg" 1439 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter/icon.svg"
1437 } 1440 }
@@ -1440,7 +1443,7 @@
1440 "featured": false, 1443 "featured": false,
1441 "id": "twitter-dm", 1444 "id": "twitter-dm",
1442 "name": "Twitter DM", 1445 "name": "Twitter DM",
1443 "version": "1.0.2", 1446 "version": "1.1.0",
1444 "icons": { 1447 "icons": {
1445 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter-dm/icon.svg" 1448 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/twitter-dm/icon.svg"
1446 } 1449 }
@@ -1449,7 +1452,7 @@
1449 "featured": false, 1452 "featured": false,
1450 "id": "unraid", 1453 "id": "unraid",
1451 "name": "Unraid", 1454 "name": "Unraid",
1452 "version": "1.0.3", 1455 "version": "1.1.0",
1453 "icons": { 1456 "icons": {
1454 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/unraid/icon.svg" 1457 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/unraid/icon.svg"
1455 } 1458 }
@@ -1458,7 +1461,7 @@
1458 "featured": false, 1461 "featured": false,
1459 "id": "vk", 1462 "id": "vk",
1460 "name": "VK", 1463 "name": "VK",
1461 "version": "1.0.3", 1464 "version": "1.1.0",
1462 "icons": { 1465 "icons": {
1463 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/vk/icon.svg" 1466 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/vk/icon.svg"
1464 } 1467 }
@@ -1467,7 +1470,7 @@
1467 "featured": false, 1470 "featured": false,
1468 "id": "voxer", 1471 "id": "voxer",
1469 "name": "Voxer", 1472 "name": "Voxer",
1470 "version": "1.0.4", 1473 "version": "1.1.0",
1471 "icons": { 1474 "icons": {
1472 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/voxer/icon.svg" 1475 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/voxer/icon.svg"
1473 } 1476 }
@@ -1476,7 +1479,7 @@
1476 "featured": false, 1479 "featured": false,
1477 "id": "webex-teams", 1480 "id": "webex-teams",
1478 "name": "Webex Teams", 1481 "name": "Webex Teams",
1479 "version": "1.0.2", 1482 "version": "1.1.0",
1480 "icons": { 1483 "icons": {
1481 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/webex-teams/icon.svg" 1484 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/webex-teams/icon.svg"
1482 } 1485 }
@@ -1485,7 +1488,7 @@
1485 "featured": false, 1488 "featured": false,
1486 "id": "wechat", 1489 "id": "wechat",
1487 "name": "WeChat", 1490 "name": "WeChat",
1488 "version": "1.0.2", 1491 "version": "1.1.0",
1489 "icons": { 1492 "icons": {
1490 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wechat/icon.svg" 1493 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wechat/icon.svg"
1491 } 1494 }
@@ -1494,7 +1497,7 @@
1494 "featured": true, 1497 "featured": true,
1495 "id": "whatsapp", 1498 "id": "whatsapp",
1496 "name": "WhatsApp", 1499 "name": "WhatsApp",
1497 "version": "3.1.2", 1500 "version": "3.2.0",
1498 "icons": { 1501 "icons": {
1499 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whatsapp/icon.svg" 1502 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/whatsapp/icon.svg"
1500 } 1503 }
@@ -1512,7 +1515,7 @@
1512 "featured": false, 1515 "featured": false,
1513 "id": "withspectrum", 1516 "id": "withspectrum",
1514 "name": "Spectrum", 1517 "name": "Spectrum",
1515 "version": "1.0.2", 1518 "version": "1.1.0",
1516 "icons": { 1519 "icons": {
1517 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/withspectrum/icon.svg" 1520 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/withspectrum/icon.svg"
1518 } 1521 }
@@ -1521,7 +1524,7 @@
1521 "featured": false, 1524 "featured": false,
1522 "id": "workplace", 1525 "id": "workplace",
1523 "name": "Workplace", 1526 "name": "Workplace",
1524 "version": "1.2.0", 1527 "version": "1.3.0",
1525 "icons": { 1528 "icons": {
1526 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workplace/icon.svg" 1529 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/workplace/icon.svg"
1527 } 1530 }
@@ -1530,7 +1533,7 @@
1530 "featured": false, 1533 "featured": false,
1531 "id": "wrike", 1534 "id": "wrike",
1532 "name": "Wrike", 1535 "name": "Wrike",
1533 "version": "1.0.3", 1536 "version": "1.1.0",
1534 "icons": { 1537 "icons": {
1535 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wrike/icon.svg" 1538 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/wrike/icon.svg"
1536 } 1539 }
@@ -1539,7 +1542,7 @@
1539 "featured": false, 1542 "featured": false,
1540 "id": "xing", 1543 "id": "xing",
1541 "name": "XING", 1544 "name": "XING",
1542 "version": "1.1.2", 1545 "version": "1.2.0",
1543 "icons": { 1546 "icons": {
1544 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xing/icon.svg" 1547 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/xing/icon.svg"
1545 } 1548 }
@@ -1548,7 +1551,7 @@
1548 "featured": true, 1551 "featured": true,
1549 "id": "yahoo-mail", 1552 "id": "yahoo-mail",
1550 "name": "Yahoo Mail", 1553 "name": "Yahoo Mail",
1551 "version": "1.0.3", 1554 "version": "1.1.0",
1552 "icons": { 1555 "icons": {
1553 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yahoo-mail/icon.svg" 1556 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yahoo-mail/icon.svg"
1554 } 1557 }
@@ -1557,7 +1560,7 @@
1557 "featured": false, 1560 "featured": false,
1558 "id": "yammer", 1561 "id": "yammer",
1559 "name": "Yammer", 1562 "name": "Yammer",
1560 "version": "1.0.2", 1563 "version": "1.1.0",
1561 "icons": { 1564 "icons": {
1562 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yammer/icon.svg" 1565 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/yammer/icon.svg"
1563 } 1566 }
@@ -1566,7 +1569,7 @@
1566 "featured": false, 1569 "featured": false,
1567 "id": "youtrack", 1570 "id": "youtrack",
1568 "name": "YouTrack", 1571 "name": "YouTrack",
1569 "version": "1.0.3", 1572 "version": "1.1.0",
1570 "icons": { 1573 "icons": {
1571 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtrack/icon.svg" 1574 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtrack/icon.svg"
1572 } 1575 }
@@ -1575,7 +1578,7 @@
1575 "featured": false, 1578 "featured": false,
1576 "id": "youtubemusic", 1579 "id": "youtubemusic",
1577 "name": "YouTube Music", 1580 "name": "YouTube Music",
1578 "version": "1.0.2", 1581 "version": "1.1.0",
1579 "icons": { 1582 "icons": {
1580 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtubemusic/icon.svg" 1583 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/youtubemusic/icon.svg"
1581 } 1584 }
@@ -1584,7 +1587,7 @@
1584 "featured": false, 1587 "featured": false,
1585 "id": "zalo", 1588 "id": "zalo",
1586 "name": "Zalo", 1589 "name": "Zalo",
1587 "version": "1.1.3", 1590 "version": "1.2.0",
1588 "icons": { 1591 "icons": {
1589 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zalo/icon.svg" 1592 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zalo/icon.svg"
1590 } 1593 }
@@ -1593,7 +1596,7 @@
1593 "featured": false, 1596 "featured": false,
1594 "id": "zendesk", 1597 "id": "zendesk",
1595 "name": "zendesk", 1598 "name": "zendesk",
1596 "version": "1.0.4", 1599 "version": "1.1.0",
1597 "icons": { 1600 "icons": {
1598 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zendesk/icon.svg" 1601 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zendesk/icon.svg"
1599 } 1602 }
@@ -1602,7 +1605,7 @@
1602 "featured": false, 1605 "featured": false,
1603 "id": "zenhub", 1606 "id": "zenhub",
1604 "name": "ZenHub", 1607 "name": "ZenHub",
1605 "version": "0.1.2", 1608 "version": "0.2.0",
1606 "icons": { 1609 "icons": {
1607 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zenhub/icon.svg" 1610 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zenhub/icon.svg"
1608 } 1611 }
@@ -1611,7 +1614,7 @@
1611 "featured": false, 1614 "featured": false,
1612 "id": "zeplin", 1615 "id": "zeplin",
1613 "name": "Zeplin", 1616 "name": "Zeplin",
1614 "version": "1.0.2", 1617 "version": "1.1.0",
1615 "icons": { 1618 "icons": {
1616 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zeplin/icon.svg" 1619 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zeplin/icon.svg"
1617 } 1620 }
@@ -1620,7 +1623,7 @@
1620 "featured": false, 1623 "featured": false,
1621 "id": "zimbra", 1624 "id": "zimbra",
1622 "name": "Zimbra", 1625 "name": "Zimbra",
1623 "version": "1.0.2", 1626 "version": "1.1.0",
1624 "icons": { 1627 "icons": {
1625 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zimbra/icon.svg" 1628 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zimbra/icon.svg"
1626 } 1629 }
@@ -1629,7 +1632,7 @@
1629 "featured": false, 1632 "featured": false,
1630 "id": "zoho", 1633 "id": "zoho",
1631 "name": "Zoho Mail", 1634 "name": "Zoho Mail",
1632 "version": "1.0.4", 1635 "version": "1.1.0",
1633 "icons": { 1636 "icons": {
1634 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho/icon.svg" 1637 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zoho/icon.svg"
1635 } 1638 }
@@ -1638,7 +1641,7 @@
1638 "featured": false, 1641 "featured": false,
1639 "id": "zulip", 1642 "id": "zulip",
1640 "name": "Zulip", 1643 "name": "Zulip",
1641 "version": "1.0.5", 1644 "version": "1.1.0",
1642 "icons": { 1645 "icons": {
1643 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zulip/icon.svg" 1646 "svg": "https://cdn.jsdelivr.net/gh/getferdi/recipes/recipes/zulip/icon.svg"
1644 } 1647 }
diff --git a/recipes/NewsBlur/index.js b/recipes/NewsBlur/index.js
index 46f936f..23607bd 100644
--- a/recipes/NewsBlur/index.js
+++ b/recipes/NewsBlur/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/NewsBlur/package.json b/recipes/NewsBlur/package.json
index 1e72c87..ce75b0a 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.0.1", 4 "version": "1.1.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/NewsBlur/webview.js b/recipes/NewsBlur/webview.js
index 67e7bbb..7e19dff 100644
--- a/recipes/NewsBlur/webview.js
+++ b/recipes/NewsBlur/webview.js
@@ -1,11 +1,2 @@
1const path = require('path'); 1module.exports = Ferdi => {
2
3module.exports = (Franz, options) => {
4 const getMessages = () => {
5 const unreadCount = 0;
6
7 Franz.setBadge(unreadCount);
8 };
9
10 Franz.loop(getMessages);
11}; 2};
diff --git a/recipes/air-droid/index.js b/recipes/air-droid/index.js
index 258da41..23607bd 100644
--- a/recipes/air-droid/index.js
+++ b/recipes/air-droid/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/air-droid/package.json b/recipes/air-droid/package.json
index 9041ace..a307c31 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": "air-droid", 3 "name": "air-droid",
4 "version": "1.0.3", 4 "version": "1.1.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 eb3d0c2..160a9f3 100644
--- a/recipes/air-droid/webview.js
+++ b/recipes/air-droid/webview.js
@@ -1,14 +1,14 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const count = {}; 3 const count = {};
4 const FranzData = document.querySelector('#FranzMessages').dataset; 4 const data = document.querySelector('#FranzMessages').dataset;
5 if (FranzData) { 5 if (data) {
6 count.count = FranzData.direct; 6 count.count = data.direct;
7 count.count_indirect = FranzData.indirect; 7 count.count_indirect = data.indirect;
8 } 8 }
9 9
10 Franz.setBadge(count); 10 Ferdi.setBadge(count);
11 } 11 }
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14}; 14};
diff --git a/recipes/airtable/index.js b/recipes/airtable/index.js
index 258da41..23607bd 100644
--- a/recipes/airtable/index.js
+++ b/recipes/airtable/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/airtable/package.json b/recipes/airtable/package.json
index f33a693..c520978 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.0.3", 4 "version": "1.1.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/android-messages/index.js b/recipes/android-messages/index.js
index 258da41..23607bd 100644
--- a/recipes/android-messages/index.js
+++ b/recipes/android-messages/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/android-messages/package.json b/recipes/android-messages/package.json
index cb0003a..4903955 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.0.3", 4 "version": "2.1.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 9f658c9..efaa5cf 100644
--- a/recipes/android-messages/webview.js
+++ b/recipes/android-messages/webview.js
@@ -29,17 +29,17 @@ window.addEventListener('beforeunload', async () => {
29 } 29 }
30}); 30});
31 31
32module.exports = (Franz, settings) => { 32module.exports = (Ferdi, settings) => {
33 function getMessages() { 33 function getMessages() {
34 const messages = document.querySelectorAll('.text-content.unread').length; 34 const messages = document.querySelectorAll('.text-content.unread').length;
35 Franz.setBadge(messages); 35 Ferdi.setBadge(messages);
36 } 36 }
37 37
38 Ferdi.loop(getMessages);
39
38 if (settings.isDarkModeEnabled) { 40 if (settings.isDarkModeEnabled) {
39 localStorage.setItem('dark_mode_enabled', 'true'); 41 localStorage.setItem('dark_mode_enabled', 'true');
40 } else { 42 } else {
41 localStorage.setItem('dark_mode_enabled', 'false'); 43 localStorage.setItem('dark_mode_enabled', 'false');
42 } 44 }
43
44 Franz.loop(getMessages);
45}; 45};
diff --git a/recipes/anonaddy/package.json b/recipes/anonaddy/package.json
index 8296157..aa529d1 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.0.2", 4 "version": "1.1.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/anonaddy/webview.js b/recipes/anonaddy/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/anonaddy/webview.js
+++ b/recipes/anonaddy/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/anydo/index.js b/recipes/anydo/index.js
index 46f936f..23607bd 100644
--- a/recipes/anydo/index.js
+++ b/recipes/anydo/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/anydo/package.json b/recipes/anydo/package.json
index 81c5527..e015aee 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.0.3", 4 "version": "1.1.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 e35bfb5..cdb7e4f 100644
--- a/recipes/anydo/webview.js
+++ b/recipes/anydo/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 function getTasks() { 2 function getTasks() {
3 let incompleteCount = 0; 3 let incompleteCount = 0;
4 4
@@ -10,8 +10,8 @@ module.exports = (Franz) => {
10 }); 10 });
11 } 11 }
12 12
13 Franz.setBadge(incompleteCount); 13 Ferdi.setBadge(incompleteCount);
14 } 14 }
15 15
16 Franz.loop(getTasks); 16 Ferdi.loop(getTasks);
17}; 17};
diff --git a/recipes/asana/index.js b/recipes/asana/index.js
index abbbeed..23607bd 100644
--- a/recipes/asana/index.js
+++ b/recipes/asana/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndoYXRzYXBwL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoid2hhdHNhcHAvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/asana/package.json b/recipes/asana/package.json
index f442812..5963557 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.0.1", 4 "version": "1.1.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 2be4994..2f544db 100644
--- a/recipes/asana/webview.js
+++ b/recipes/asana/webview.js
@@ -1,21 +1,14 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 const hasNotification = document.querySelectorAll('.SidebarTopNavLinks-notificationsButton--hasNewNotifications'); 7 const hasNotification = document.querySelectorAll('.SidebarTopNavLinks-notificationsButton--hasNewNotifications');
6 let count = 0; 8 Ferdi.setBadge(hasNotification.length > 0 ? 1 : 0);
7 if (hasNotification.length > 0) {
8 count += 1;
9 }
10
11 // set Franz badge
12 Franz.setBadge(count);
13 }; 9 };
14 10
15 // inject franz.css stylesheet 11 Ferdi.loop(getMessages);
16 Franz.injectCSS(path.join(__dirname, 'service.css'));
17 12
18 // check for new messages every second and update Franz badge 13 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
19 Franz.loop(getMessages);
20}; 14};
21// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndoYXRzYXBwL3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImVsZW1lbnRzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiY291bnQiLCJpIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxVQUFNQyxXQUFXQyxTQUFTQyxnQkFBVCxDQUEwQixTQUExQixDQUFqQjtBQUNBLFFBQUlDLFFBQVEsQ0FBWjs7QUFFQSxTQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUosU0FBU0ssTUFBN0IsRUFBcUNELEtBQUssQ0FBMUMsRUFBNkM7QUFDM0MsVUFBSUosU0FBU0ksQ0FBVCxFQUFZRixnQkFBWixDQUE2QixzQkFBN0IsRUFBcURHLE1BQXJELEtBQWdFLENBQXBFLEVBQXVFO0FBQ3JFRixpQkFBUyxDQUFUO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBTCxVQUFNUSxRQUFOLENBQWVILEtBQWY7QUFDRCxHQVpEOztBQWNBO0FBQ0FMLFFBQU1TLFNBQU4sQ0FBZ0JiLEtBQUtjLElBQUwsQ0FBVUMsU0FBVixFQUFxQixhQUFyQixDQUFoQjs7QUFFQTtBQUNBWCxRQUFNWSxJQUFOLENBQVdYLFdBQVg7QUFDRCxDQXBCRCIsImZpbGUiOiJ3aGF0c2FwcC93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy51bnJlYWQnKTtcbiAgICBsZXQgY291bnQgPSAwO1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgaWYgKGVsZW1lbnRzW2ldLnF1ZXJ5U2VsZWN0b3JBbGwoJypbZGF0YS1pY29uPVwibXV0ZWRcIl0nKS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgY291bnQgKz0gMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzZXQgRnJhbnogYmFkZ2VcbiAgICBGcmFuei5zZXRCYWRnZShjb3VudCk7XG4gIH07XG5cbiAgLy8gaW5qZWN0IGZyYW56LmNzcyBzdHlsZXNoZWV0XG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG5cbiAgLy8gY2hlY2sgZm9yIG5ldyBtZXNzYWdlcyBldmVyeSBzZWNvbmQgYW5kIHVwZGF0ZSBGcmFueiBiYWRnZVxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/aws-workmail/index.js b/recipes/aws-workmail/index.js
index 258da41..23607bd 100644
--- a/recipes/aws-workmail/index.js
+++ b/recipes/aws-workmail/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/aws-workmail/package.json b/recipes/aws-workmail/package.json
index b916c29..5641f43 100644
--- a/recipes/aws-workmail/package.json
+++ b/recipes/aws-workmail/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.0.5", 4 "version": "1.1.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/aws-workmail/webview.js b/recipes/aws-workmail/webview.js
index c374b55..5c77d79 100644
--- a/recipes/aws-workmail/webview.js
+++ b/recipes/aws-workmail/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 const reload = (EventType) => new Promise((resolve, reject) => { 2 const reload = (EventType) => new Promise((resolve, reject) => {
3 const btn = document.getElementsByClassName('giraffe-hierarchy-node-refresh')[0]; 3 const btn = document.getElementsByClassName('giraffe-hierarchy-node-refresh')[0];
4 const EventObject = document.createEvent('Events'); 4 const EventObject = document.createEvent('Events');
@@ -20,11 +20,11 @@ module.exports = (Franz, options) => {
20 counter += (node > 0) ? node : 0; 20 counter += (node > 0) ? node : 0;
21 } 21 }
22 22
23 Franz.setBadge(counter); 23 Ferdi.setBadge(counter);
24 }; 24 };
25 25
26 if (!window.location.pathname.includes('auth')) { 26 if (!window.location.pathname.includes('auth')) {
27 Franz.loop(getUnread); 27 Ferdi.loop(getUnread);
28 28
29 window.setInterval(() => { 29 window.setInterval(() => {
30 reload('click'); 30 reload('click');
diff --git a/recipes/azure-devops/package.json b/recipes/azure-devops/package.json
index 91668c6..23c33cd 100644
--- a/recipes/azure-devops/package.json
+++ b/recipes/azure-devops/package.json
@@ -1,8 +1,11 @@
1{ 1{
2 "id": "azure-devops", 2 "id": "azure-devops",
3 "name": "Azure DevOps", 3 "name": "Azure DevOps",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "aliases": [
7 "azdo"
8 ],
6 "config": { 9 "config": {
7 "serviceURL": "https://dev.azure.com/" 10 "serviceURL": "https://dev.azure.com/"
8 } 11 }
diff --git a/recipes/basecamp/index.js b/recipes/basecamp/index.js
index 46f936f..23607bd 100644
--- a/recipes/basecamp/index.js
+++ b/recipes/basecamp/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/basecamp/package.json b/recipes/basecamp/package.json
index 8a22226..d6b3275 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.0.3", 4 "version": "1.1.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 85f78ee..e7b7dde 100644
--- a/recipes/basecamp/webview.js
+++ b/recipes/basecamp/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 let updates = 0; 6 let updates = 0;
5 const modal = document.createElement('div'); 7 const modal = document.createElement('div');
6 8
@@ -23,7 +25,7 @@ module.exports = (Franz, options) => {
23 updates -= 1; 25 updates -= 1;
24 } 26 }
25 27
26 // Replace window.alert to hide alerts in Franz 28 // Replace window.alert to hide alerts in Ferdi
27 const oldAlert = window.alert; 29 const oldAlert = window.alert;
28 window.alert = function () { 30 window.alert = function () {
29 // when Google Calendar displays an alert notify the user 31 // when Google Calendar displays an alert notify the user
@@ -38,19 +40,6 @@ module.exports = (Franz, options) => {
38 element.style.display = 'none'; 40 element.style.display = 'none';
39 } 41 }
40 42
41 const getMessages = () => {
42 // get unread messages
43 // const updates = document.getElementById('franz').getAttribute('data-unread');
44
45 // get conversations in 'My Inbox'
46 // const inbox = document.getElementById('franz').getAttribute('data-inbox');
47
48 // set Franz badge
49 // updates => passive unread count
50 // inbox => active unread count
51 Franz.setBadge(0, updates);
52 };
53
54 modal.id = 'franz-modal'; 43 modal.id = 'franz-modal';
55 modal.innerHTML = '<div class="modal-content"><span class="close">&times;</span><p></p></div>'; 44 modal.innerHTML = '<div class="modal-content"><span class="close">&times;</span><p></p></div>';
56 modal.querySelector('.close').addEventListener('click', hideModal); 45 modal.querySelector('.close').addEventListener('click', hideModal);
@@ -58,9 +47,5 @@ module.exports = (Franz, options) => {
58 47
59 document.addEventListener('keydown', (e) => { if (e.keyCode === 27) { hideModal(); } }); 48 document.addEventListener('keydown', (e) => { if (e.keyCode === 27) { hideModal(); } });
60 49
61 // inject franz.css stylesheet 50 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'modal.css'));
62 Franz.injectCSS(path.join(__dirname, 'css', 'modal.css'));
63
64 // check for new messages every second and update Franz badge
65 Franz.loop(getMessages);
66}; 51};
diff --git a/recipes/bigbluebutton/index.js b/recipes/bigbluebutton/index.js
index 258da41..23607bd 100644
--- a/recipes/bigbluebutton/index.js
+++ b/recipes/bigbluebutton/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/bigbluebutton/package.json b/recipes/bigbluebutton/package.json
index cce9da9..42f1982 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.0.2", 4 "version": "1.1.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/bip/package.json b/recipes/bip/package.json
index 4b9a627..8898d1d 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.0.2", 4 "version": "1.1.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 e9e956b..87a7c0a 100644
--- a/recipes/bip/webview.js
+++ b/recipes/bip/webview.js
@@ -1,8 +1,6 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Ferdi => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
@@ -16,5 +14,6 @@ module.exports = Ferdi => {
16 }; 14 };
17 15
18 Ferdi.loop(getMessages); 16 Ferdi.loop(getMessages);
17
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 18 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 19};
diff --git a/recipes/bitbucket/package.json b/recipes/bitbucket/package.json
index f0002e0..8937440 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.0.2", 4 "version": "1.1.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/bitbucket/webview.js b/recipes/bitbucket/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/bitbucket/webview.js
+++ b/recipes/bitbucket/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/box/index.js b/recipes/box/index.js
index 258da41..23607bd 100644
--- a/recipes/box/index.js
+++ b/recipes/box/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/box/package.json b/recipes/box/package.json
index b360806..ec6177e 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.0.2", 4 "version": "1.1.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/box/webview.js b/recipes/box/webview.js
index 11308dd..7e19dff 100644
--- a/recipes/box/webview.js
+++ b/recipes/box/webview.js
@@ -1,3 +1,2 @@
1module.exports = (Franz, options) => { 1module.exports = Ferdi => {
2
3}; 2};
diff --git a/recipes/buffer/index.js b/recipes/buffer/index.js
index 46f936f..23607bd 100644
--- a/recipes/buffer/index.js
+++ b/recipes/buffer/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/buffer/package.json b/recipes/buffer/package.json
index 1d0c1f0..4753eb2 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.0.2", 4 "version": "1.1.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 080e809..035c69a 100644
--- a/recipes/buffer/webview.js
+++ b/recipes/buffer/webview.js
@@ -1,6 +1,7 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 // inject franz.css stylesheet 4
5 Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); 5module.exports = (Ferdi) => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
6}; 7};
diff --git a/recipes/campuswire/index.js b/recipes/campuswire/index.js
index 258da41..23607bd 100644
--- a/recipes/campuswire/index.js
+++ b/recipes/campuswire/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/campuswire/package.json b/recipes/campuswire/package.json
index 1e6670c..e305ef1 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.0.2", 4 "version": "1.1.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 b65f25a..5f43cbb 100644
--- a/recipes/campuswire/webview.js
+++ b/recipes/campuswire/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = document.querySelectorAll('._5fx8:not(._569x),._1ht3:not(._569x)').length; 3 let count = document.querySelectorAll('._5fx8:not(._569x),._1ht3:not(._569x)').length;
4 const messageRequestsElement = document.querySelector('._5nxf'); 4 const messageRequestsElement = document.querySelector('._5nxf');
@@ -7,17 +7,18 @@ module.exports = Franz => {
7 count += parseInt(messageRequestsElement.innerHTML, 10); 7 count += parseInt(messageRequestsElement.innerHTML, 10);
8 } 8 }
9 9
10 Franz.setBadge(count); 10 Ferdi.setBadge(count);
11 }; 11 };
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14
14 localStorage.setItem('_cs_desktopNotifsEnabled', JSON.stringify({ 15 localStorage.setItem('_cs_desktopNotifsEnabled', JSON.stringify({
15 __t: new Date().getTime(), 16 __t: new Date().getTime(),
16 __v: true, 17 __v: true,
17 })); 18 }));
18 19
19 if (typeof Franz.onNotify === 'function') { 20 if (typeof Ferdi.onNotify === 'function') {
20 Franz.onNotify(notification => { 21 Ferdi.onNotify(notification => {
21 if (typeof notification.title !== 'string') { 22 if (typeof notification.title !== 'string') {
22 notification.title = ((notification.title.props || {}).content || [])[0] || 'Campuswire'; 23 notification.title = ((notification.title.props || {}).content || [])[0] || 'Campuswire';
23 } 24 }
diff --git a/recipes/chatra/index.js b/recipes/chatra/index.js
index 46f936f..23607bd 100644
--- a/recipes/chatra/index.js
+++ b/recipes/chatra/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/chatra/package.json b/recipes/chatra/package.json
index 482765f..3cea500 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.0.2", 4 "version": "1.1.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 a8a611c..a82a78d 100644
--- a/recipes/chatra/webview.js
+++ b/recipes/chatra/webview.js
@@ -1,6 +1,4 @@
1const path = require('path'); 1module.exports = (Ferdi) => {
2
3module.exports = (Franz, options) => {
4 const getMessages = () => { 2 const getMessages = () => {
5 // get new conversations in My Queue 3 // get new conversations in My Queue
6 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();
@@ -8,12 +6,11 @@ module.exports = (Franz, options) => {
8 // get all missed conversations 6 // get all missed conversations
9 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();
10 8
11 // set Franz badge 9 // set Ferdi badge
12 // myQueue => New conversations in My Queue 10 // myQueue => New conversations in My Queue
13 // missed => All missed conversations 11 // missed => All missed conversations
14 Franz.setBadge(myQueue, missed); 12 Ferdi.setBadge(myQueue, missed);
15 }; 13 };
16 14
17 // check for new messages every second and update Franz badge 15 Ferdi.loop(getMessages);
18 Franz.loop(getMessages);
19}; 16};
diff --git a/recipes/chatwork/index.js b/recipes/chatwork/index.js
index 258da41..23607bd 100644
--- a/recipes/chatwork/index.js
+++ b/recipes/chatwork/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/chatwork/package.json b/recipes/chatwork/package.json
index 3947251..eb6eaf8 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.0.5", 4 "version": "1.1.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 c6465ec..e131093 100644
--- a/recipes/chatwork/webview.js
+++ b/recipes/chatwork/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 let groupCount = 0; 3 let groupCount = 0;
4 let individualCount = 0; 4 let individualCount = 0;
@@ -29,8 +29,8 @@ module.exports = (Franz, options) => {
29 } 29 }
30 } 30 }
31 }); 31 });
32 Franz.setBadge(directCount, indirectCount); 32 Ferdi.setBadge(directCount, indirectCount);
33 } 33 }
34 34
35 Franz.loop(getMessages); 35 Ferdi.loop(getMessages);
36}; 36};
diff --git a/recipes/ciscospark/index.js b/recipes/ciscospark/index.js
index 83aacd0..23607bd 100644
--- a/recipes/ciscospark/index.js
+++ b/recipes/ciscospark/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNpc2Nvc3BhcmsvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJjaXNjb3NwYXJrL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/ciscospark/package.json b/recipes/ciscospark/package.json
index e78dacc..ec9f3c8 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.0.1", 4 "version": "1.1.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 7d7bae9..4de3fb1 100644
--- a/recipes/ciscospark/webview.js
+++ b/recipes/ciscospark/webview.js
@@ -1,10 +1,8 @@
1const _path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2
3const _path2 = _interopRequireDefault(_path);
4 2
5function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6 4
7module.exports = Franz => { 5module.exports = Ferdi => {
8 const UNREAD_BADGE_SELECTOR = '.navigation-item--badgeCount'; 6 const UNREAD_BADGE_SELECTOR = '.navigation-item--badgeCount';
9 7
10 const getMessages = function getMessages() { 8 const getMessages = function getMessages() {
@@ -19,10 +17,10 @@ module.exports = Franz => {
19 indirectCount = parseInt(elements[2].querySelector(UNREAD_BADGE_SELECTOR).textContent, 10); 17 indirectCount = parseInt(elements[2].querySelector(UNREAD_BADGE_SELECTOR).textContent, 10);
20 } 18 }
21 19
22 Franz.setBadge(directCount, indirectCount); 20 Ferdi.setBadge(directCount, indirectCount);
23 }; 21 };
24 22
25 Franz.loop(getMessages); 23 Ferdi.loop(getMessages);
26 Franz.injectCSS(_path2.default.join(__dirname, 'service.css')); 24
25 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
27}; 26};
28// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImNpc2Nvc3Bhcmsvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJVTlJFQURfQkFER0VfU0VMRUNUT1IiLCJnZXRNZXNzYWdlcyIsImRpcmVjdENvdW50IiwiaW5kaXJlY3RDb3VudCIsImVsZW1lbnRzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwicXVlcnlTZWxlY3RvciIsInBhcnNlSW50IiwidGV4dENvbnRlbnQiLCJzZXRCYWRnZSIsImxvb3AiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIl0sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7QUFFQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLHdCQUF3Qiw4QkFBOUI7O0FBRUEsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDLFFBQUlDLGNBQWMsQ0FBbEI7QUFDQSxRQUFJQyxnQkFBZ0IsQ0FBcEI7O0FBRUEsVUFBTUMsV0FBV0MsU0FBU0MsZ0JBQVQsQ0FBMEIsdUNBQTFCLENBQWpCO0FBQ0EsUUFBSUYsU0FBU0csTUFBVCxHQUFrQixDQUFsQixJQUF1QkgsU0FBUyxDQUFULEVBQVlJLGFBQVosQ0FBMEJSLHFCQUExQixDQUEzQixFQUE2RTtBQUMzRUUsb0JBQWNPLFNBQVNMLFNBQVMsQ0FBVCxFQUFZSSxhQUFaLENBQTBCUixxQkFBMUIsRUFBaURVLFdBQTFELEVBQXVFLEVBQXZFLENBQWQ7QUFDRDtBQUNELFFBQUlOLFNBQVNHLE1BQVQsR0FBa0IsQ0FBbEIsSUFBdUJILFNBQVMsQ0FBVCxFQUFZSSxhQUFaLENBQTBCUixxQkFBMUIsQ0FBM0IsRUFBNkU7QUFDM0VHLHNCQUFnQk0sU0FBU0wsU0FBUyxDQUFULEVBQVlJLGFBQVosQ0FBMEJSLHFCQUExQixFQUFpRFUsV0FBMUQsRUFBdUUsRUFBdkUsQ0FBaEI7QUFDRDs7QUFFRFgsVUFBTVksUUFBTixDQUFlVCxXQUFmLEVBQTRCQyxhQUE1QjtBQUNELEdBYkQ7O0FBZUFKLFFBQU1hLElBQU4sQ0FBV1gsV0FBWDtBQUNBRixRQUFNYyxTQUFOLENBQWdCLGVBQUtDLElBQUwsQ0FBVUMsU0FBVixFQUFxQixhQUFyQixDQUFoQjtBQUNELENBcEJEIiwiZmlsZSI6ImNpc2Nvc3Bhcmsvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoIGZyb20gJ3BhdGgnO1xuXG5tb2R1bGUuZXhwb3J0cyA9IChGcmFueikgPT4ge1xuICBjb25zdCBVTlJFQURfQkFER0VfU0VMRUNUT1IgPSAnLm5hdmlnYXRpb24taXRlbS0tYmFkZ2VDb3VudCc7XG5cbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBsZXQgZGlyZWN0Q291bnQgPSAwO1xuICAgIGxldCBpbmRpcmVjdENvdW50ID0gMDtcblxuICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5hdmlnYXRpb24tYmFyLWxpc3QgLmxpc3RJdGVtV3JhcHBlcicpO1xuICAgIGlmIChlbGVtZW50cy5sZW5ndGggPiAwICYmIGVsZW1lbnRzWzFdLnF1ZXJ5U2VsZWN0b3IoVU5SRUFEX0JBREdFX1NFTEVDVE9SKSkge1xuICAgICAgZGlyZWN0Q291bnQgPSBwYXJzZUludChlbGVtZW50c1sxXS5xdWVyeVNlbGVjdG9yKFVOUkVBRF9CQURHRV9TRUxFQ1RPUikudGV4dENvbnRlbnQsIDEwKTtcbiAgICB9XG4gICAgaWYgKGVsZW1lbnRzLmxlbmd0aCA+IDAgJiYgZWxlbWVudHNbMl0ucXVlcnlTZWxlY3RvcihVTlJFQURfQkFER0VfU0VMRUNUT1IpKSB7XG4gICAgICBpbmRpcmVjdENvdW50ID0gcGFyc2VJbnQoZWxlbWVudHNbMl0ucXVlcnlTZWxlY3RvcihVTlJFQURfQkFER0VfU0VMRUNUT1IpLnRleHRDb250ZW50LCAxMCk7XG4gICAgfVxuXG4gICAgRnJhbnouc2V0QmFkZ2UoZGlyZWN0Q291bnQsIGluZGlyZWN0Q291bnQpO1xuICB9O1xuXG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xuICBGcmFuei5pbmplY3RDU1MocGF0aC5qb2luKF9fZGlybmFtZSwgJ3NlcnZpY2UuY3NzJykpO1xufTtcbiJdfQ==
diff --git a/recipes/clickup/index.js b/recipes/clickup/index.js
index 258da41..23607bd 100644
--- a/recipes/clickup/index.js
+++ b/recipes/clickup/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/clickup/package.json b/recipes/clickup/package.json
index 3438cd9..cebcd93 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.1.2", 4 "version": "2.2.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 64bae62..420ca5a 100644
--- a/recipes/clickup/webview.js
+++ b/recipes/clickup/webview.js
@@ -1,9 +1,9 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const elements = document.querySelectorAll('.unreadCount'); 3 const elements = document.querySelectorAll('.unreadCount');
4 const unread = document.querySelector('.cu-notification-alert__dot'); 4 const unread = document.querySelector('.cu-notification-alert__dot');
5 Franz.setBadge(unread ? 1 : 0); 5 Ferdi.setBadge(unread ? 1 : 0);
6 }; 6 };
7 7
8 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
9}; 9};
diff --git a/recipes/cliq/index.js b/recipes/cliq/index.js
index 258da41..23607bd 100644
--- a/recipes/cliq/index.js
+++ b/recipes/cliq/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/cliq/package.json b/recipes/cliq/package.json
index efc0c3f..ecb01f5 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.0.3", 4 "version": "1.1.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/cliq/webview.js b/recipes/cliq/webview.js
index 095c1b0..067ea5b 100644
--- a/recipes/cliq/webview.js
+++ b/recipes/cliq/webview.js
@@ -1,7 +1,7 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = () => { 2 const getMessages = () => {
3 Franz.setBadge(ConversationsList.getUnreadBadgeCount()); 3 Ferdi.setBadge(ConversationsList.getUnreadBadgeCount());
4 }; 4 };
5 5
6 Franz.loop(getMessages); 6 Ferdi.loop(getMessages);
7}; 7};
diff --git a/recipes/clockify/index.js b/recipes/clockify/index.js
index 258da41..23607bd 100644
--- a/recipes/clockify/index.js
+++ b/recipes/clockify/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/clockify/package.json b/recipes/clockify/package.json
index eff6348..c48e32b 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.0.3", 4 "version": "1.1.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 470b3ea..252b3e3 100644
--- a/recipes/clockify/webview.js
+++ b/recipes/clockify/webview.js
@@ -1,9 +1,9 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const notifications = document.querySelectorAll('.notification--number'); 3 const notifications = document.querySelectorAll('.notification--number');
4 4
5 Franz.setBadge(0, notifications.length >= 1 ? 1 : 0); 5 Ferdi.setBadge(0, notifications.length >= 1 ? 1 : 0);
6 }; 6 };
7 7
8 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
9}; 9};
diff --git a/recipes/clubhouse/package.json b/recipes/clubhouse/package.json
index 847ffcc..1fe2000 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.0.3", 4 "version": "1.1.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 9b2b782..be02ac0 100644
--- a/recipes/clubhouse/webview.js
+++ b/recipes/clubhouse/webview.js
@@ -1,9 +1,7 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const hasNotifications = document.querySelector('#notifications-link .badge').classList.contains('visible'); 3 const hasNotifications = document.querySelector('#notifications-link .badge').classList.contains('visible');
4 if (hasNotifications) { 4 Ferdi.setBadge(0, hasNotifications ? 1 : 0);
5 Ferdi.setBadge(0, 1);
6 }
7 } 5 }
8 6
9 Ferdi.loop(getMessages); 7 Ferdi.loop(getMessages);
diff --git a/recipes/discord/index.js b/recipes/discord/index.js
index dd2bcf2..9efa7a3 100644
--- a/recipes/discord/index.js
+++ b/recipes/discord/index.js
@@ -1,8 +1,8 @@
1module.exports = Franz => class Discord extends Franz { 1module.exports = Ferdi => class Discord extends Ferdi {
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('Franz', 'Discord'); 6 return parts.join('(KHTML, like Gecko) discord/0.0.250').replace('Electron', 'Discord').replace('Ferdi', 'Discord');
7 } 7 }
8}; 8};
diff --git a/recipes/discord/package.json b/recipes/discord/package.json
index d713dfb..85069d9 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.2.0", 4 "version": "1.3.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 8123ced..88a5c50 100644
--- a/recipes/discord/webview.js
+++ b/recipes/discord/webview.js
@@ -1,9 +1,10 @@
1"use strict";
2
3// TODO: Some/most of this is already present in https://github.com/getferdi/ferdi/blob/develop/src/webview/screenshare.js#L5 1// TODO: Some/most of this is already present in https://github.com/getferdi/ferdi/blob/develop/src/webview/screenshare.js#L5
4 2
5const { desktopCapturer, remote: { BrowserWindow } } = require("electron"); 3const { desktopCapturer, remote: { BrowserWindow } } = require('electron');
6const path = require('path'); 4
5const _path = _interopRequireDefault(require('path'));
6
7function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
7 8
8window.navigator.mediaDevices.getDisplayMedia = () => { 9window.navigator.mediaDevices.getDisplayMedia = () => {
9 return new Promise(async (resolve, reject) => { 10 return new Promise(async (resolve, reject) => {
@@ -61,7 +62,7 @@ window.navigator.mediaDevices.getDisplayMedia = () => {
61 }) 62 })
62} 63}
63 64
64module.exports = (Franz, settings) => { 65module.exports = (Ferdi, settings) => {
65 const getMessages = function getMessages() { 66 const getMessages = function getMessages() {
66 let count = 0; 67 let count = 0;
67 const container = document.querySelector('[role="tablist"] > [title="Chats"] > div'); 68 const container = document.querySelector('[role="tablist"] > [title="Chats"] > div');
@@ -79,11 +80,13 @@ module.exports = (Franz, settings) => {
79 } 80 }
80 } 81 }
81 82
82 Franz.setBadge(count); 83 Ferdi.setBadge(count);
83 }; 84 };
84 85
85 Franz.injectCSS(path.join(__dirname, 'service.css')); 86 Ferdi.loop(getMessages);
86 Franz.loop(getMessages); 87
88 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
89
87 document.addEventListener('click', event => { 90 document.addEventListener('click', event => {
88 const link = event.target.closest('a[href^="http"]'); 91 const link = event.target.closest('a[href^="http"]');
89 const button = event.target.closest('button[title^="http"]'); 92 const button = event.target.closest('button[title^="http"]');
diff --git a/recipes/disqus/package.json b/recipes/disqus/package.json
index 44af177..f9a48df 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.0.2", 4 "version": "1.1.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 6e10e29..c1e315c 100644
--- a/recipes/disqus/webview.js
+++ b/recipes/disqus/webview.js
@@ -1,7 +1,3 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5const getInnerInt = selector => { 1const getInnerInt = selector => {
6 const element = document.querySelector(selector); 2 const element = document.querySelector(selector);
7 return element && parseInt(element.innerText); 3 return element && parseInt(element.innerText);
diff --git a/recipes/easy-redmine/index.js b/recipes/easy-redmine/index.js
index 258da41..23607bd 100644
--- a/recipes/easy-redmine/index.js
+++ b/recipes/easy-redmine/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/easy-redmine/package.json b/recipes/easy-redmine/package.json
index 6bf914e..ec51a49 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.0.2", 4 "version": "1.1.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/easy-redmine/webview.js b/recipes/easy-redmine/webview.js
index 11308dd..7e19dff 100644
--- a/recipes/easy-redmine/webview.js
+++ b/recipes/easy-redmine/webview.js
@@ -1,3 +1,2 @@
1module.exports = (Franz, options) => { 1module.exports = Ferdi => {
2
3}; 2};
diff --git a/recipes/element/index.js b/recipes/element/index.js
index 258da41..23607bd 100644
--- a/recipes/element/index.js
+++ b/recipes/element/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/element/package.json b/recipes/element/package.json
index 5e155ae..528e167 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.0.6", 4 "version": "1.1.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 22ff738..18bb7ad 100644
--- a/recipes/element/webview.js
+++ b/recipes/element/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
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 4
@@ -14,10 +14,9 @@ module.exports = Franz => {
14 indirect_count = parseInt(badges[1].textContent); 14 indirect_count = parseInt(badges[1].textContent);
15 } 15 }
16 16
17 // set Franz badge 17 // set Ferdi badge
18 Franz.setBadge(direct_count, indirect_count); 18 Ferdi.setBadge(direct_count, indirect_count);
19 } 19 }
20 20
21 // check for new messages every second and update Franz badge 21 Ferdi.loop(getMessages);
22 Franz.loop(getMessages);
23}; 22};
diff --git a/recipes/enterprise-owa/index.js b/recipes/enterprise-owa/index.js
index 258da41..23607bd 100644
--- a/recipes/enterprise-owa/index.js
+++ b/recipes/enterprise-owa/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/enterprise-owa/package.json b/recipes/enterprise-owa/package.json
index ffe012c..2e0ac2c 100644
--- a/recipes/enterprise-owa/package.json
+++ b/recipes/enterprise-owa/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "enterprise-owa", 2 "id": "enterprise-owa",
3 "name": "Enterprise Outlook Web App", 3 "name": "Enterprise Outlook Web App",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://owa.yourcompany.com/owa", 7 "serviceURL": "https://owa.yourcompany.com/owa",
diff --git a/recipes/enterprise-owa/webview.js b/recipes/enterprise-owa/webview.js
index 1fa1a12..de007b3 100644
--- a/recipes/enterprise-owa/webview.js
+++ b/recipes/enterprise-owa/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let unreadMail = 0; 3 let unreadMail = 0;
4 4
@@ -25,7 +25,8 @@ module.exports = Franz => {
25 }, 0); 25 }, 0);
26 } 26 }
27 27
28 Franz.setBadge(unreadMail); 28 Ferdi.setBadge(unreadMail);
29 }; 29 };
30 Franz.loop(getMessages); 30
31 Ferdi.loop(getMessages);
31}; 32};
diff --git a/recipes/epicgames/package.json b/recipes/epicgames/package.json
index 00f6950..c6aafa1 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.0.2", 4 "version": "1.1.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/epicgames/webview.js b/recipes/epicgames/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/epicgames/webview.js
+++ b/recipes/epicgames/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/erepublik/package.json b/recipes/erepublik/package.json
index 7038cd4..77781ee 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.0.2", 4 "version": "1.1.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 ebd3743..3056d1b 100644
--- a/recipes/erepublik/webview.js
+++ b/recipes/erepublik/webview.js
@@ -1,8 +1,6 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Ferdi => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
@@ -32,6 +30,7 @@ module.exports = Ferdi => {
32 }; 30 };
33 31
34 Ferdi.loop(getMessages); 32 Ferdi.loop(getMessages);
33
35 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 34 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
36 Ferdi.injectCSS(_path.default.join(__dirname, 'crpk-resources/fonts.css')); 35 Ferdi.injectCSS(_path.default.join(__dirname, 'crpk-resources/fonts.css'));
37}; 36};
diff --git a/recipes/evernote/index.js b/recipes/evernote/index.js
index 46f936f..23607bd 100644
--- a/recipes/evernote/index.js
+++ b/recipes/evernote/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/evernote/package.json b/recipes/evernote/package.json
index fbc610a..6ade667 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.0.2", 4 "version": "1.1.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 60742ca..b877798 100644
--- a/recipes/evernote/webview.js
+++ b/recipes/evernote/webview.js
@@ -1,18 +1,15 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = () => { 6 const getMessages = () => {
5 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications'); 7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications');
6 const passiveCount = inbox === null ? 0 : 1; 8 const passiveCount = inbox === null ? 0 : 1;
7 // set Franz badge 9 Ferdi.setBadge(0, passiveCount);
8 // updates => active unread count
9 // inbox => passive unread count
10 Franz.setBadge(0, passiveCount);
11 }; 10 };
12 11
13 // inject franz.css stylesheet 12 Ferdi.loop(getMessages);
14 Franz.injectCSS(path.join(__dirname, 'css', 'franz.css'));
15 13
16 // check for new messages every second and update Franz badge 14 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
17 Franz.loop(getMessages);
18}; 15};
diff --git a/recipes/facebook/index.js b/recipes/facebook/index.js
index 46f936f..23607bd 100755
--- a/recipes/facebook/index.js
+++ b/recipes/facebook/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/facebook/package.json b/recipes/facebook/package.json
index 518da53..3bd9eb2 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.0.3", 4 "version": "1.1.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 17ab011..f1e24f9 100755
--- a/recipes/facebook/webview.js
+++ b/recipes/facebook/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getNotifications = function getNotifications() { 2 const getNotifications = function getNotifications() {
3 let count = 0; 3 let count = 0;
4 4
@@ -15,9 +15,8 @@ module.exports = (Franz) => {
15 } 15 }
16 }); 16 });
17 17
18 Franz.setBadge(count); 18 Ferdi.setBadge(count);
19 }; 19 };
20 20
21 // check for new messages every second and update Franz badge 21 Ferdi.loop(getNotifications);
22 Franz.loop(getNotifications);
23}; 22};
diff --git a/recipes/facebookpages/index.js b/recipes/facebookpages/index.js
index 258da41..23607bd 100644
--- a/recipes/facebookpages/index.js
+++ b/recipes/facebookpages/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/facebookpages/package.json b/recipes/facebookpages/package.json
index 617e4e2..74acfeb 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.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://facebook.com/{teamId}/inbox", 7 "serviceURL": "https://facebook.com/{teamId}/inbox",
diff --git a/recipes/facebookpages/webview.js b/recipes/facebookpages/webview.js
index 0c646a9..539b227 100644
--- a/recipes/facebookpages/webview.js
+++ b/recipes/facebookpages/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi, options) => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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');
@@ -7,10 +7,11 @@ module.exports = (Franz, options) => {
7 messages = parseInt(element.textContent, 10); 7 messages = parseInt(element.textContent, 10);
8 } 8 }
9 9
10 Franz.setBadge(messages); 10 Ferdi.setBadge(messages);
11 }; 11 };
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14
14 setTimeout(() => { 15 setTimeout(() => {
15 if (document.body && !document.body.classList.contains('UIPage_LoggedOut')) { 16 if (document.body && !document.body.classList.contains('UIPage_LoggedOut')) {
16 if (localStorage.getItem('franz-needsRedirect')) { 17 if (localStorage.getItem('franz-needsRedirect')) {
diff --git a/recipes/fastmail/index.js b/recipes/fastmail/index.js
index 2d94af4..23607bd 100644
--- a/recipes/fastmail/index.js
+++ b/recipes/fastmail/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZhc3RtYWlsL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiZmFzdG1haWwvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/fastmail/package.json b/recipes/fastmail/package.json
index b0ded8f..7a73acb 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.0.2", 4 "version": "2.1.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 5355dbe..46bad0d 100644
--- a/recipes/fastmail/webview.js
+++ b/recipes/fastmail/webview.js
@@ -1,15 +1,18 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = () => { 6 const getMessages = () => {
5 const inbox = document.querySelector('.v-MailboxSource--inbox .v-MailboxSource-badge'); 7 const inbox = document.querySelector('.v-MailboxSource--inbox .v-MailboxSource-badge');
6 if (!inbox) { 8 if (!inbox) {
7 return; 9 return;
8 } 10 }
9 const messages = Number(inbox.innerText); 11 const messages = Number(inbox.innerText);
10 Franz.setBadge(messages); 12 Ferdi.setBadge(messages);
11 }; 13 };
12 14
13 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 15 Ferdi.loop(getMessages);
14 Franz.loop(getMessages); 16
17 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
15}; 18};
diff --git a/recipes/feedbin/index.js b/recipes/feedbin/index.js
index 258da41..23607bd 100644
--- a/recipes/feedbin/index.js
+++ b/recipes/feedbin/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/feedbin/package.json b/recipes/feedbin/package.json
index 40491c5..7a38ad3 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.0.2", 4 "version": "1.1.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 56ffd3c..a5c9b7b 100644
--- a/recipes/feedbin/webview.js
+++ b/recipes/feedbin/webview.js
@@ -1,8 +1,8 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const count = feedbin.count_data.unread_entries.length || 0; 3 const count = feedbin.count_data.unread_entries.length || 0;
4 Franz.setBadge(count); 4 Ferdi.setBadge(count);
5 } 5 }
6 6
7 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
8}; 8};
diff --git a/recipes/feedly/index.js b/recipes/feedly/index.js
index 258da41..23607bd 100644
--- a/recipes/feedly/index.js
+++ b/recipes/feedly/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/feedly/package.json b/recipes/feedly/package.json
index c40fbc1..4bb6d10 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.0.2", 4 "version": "1.1.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 b5ac7dd..4e5a5c8 100644
--- a/recipes/feedly/webview.js
+++ b/recipes/feedly/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 getMessages = () => { 2 getMessages = () => {
3 const newsDOM = document.querySelectorAll("div[title='All'] > .LeftnavListRow__count")[0].innerHTML; 3 const newsDOM = document.querySelectorAll("div[title='All'] > .LeftnavListRow__count")[0].innerHTML;
4 let counter = parseInt(newsDOM); 4 let counter = parseInt(newsDOM);
@@ -7,8 +7,8 @@ module.exports = Franz => {
7 counter = `${newsDOM.substring(0, newsDOM.indexOf('K'))}000`; 7 counter = `${newsDOM.substring(0, newsDOM.indexOf('K'))}000`;
8 } 8 }
9 9
10 Franz.setBadge(counter); 10 Ferdi.setBadge(counter);
11 }; 11 };
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14}; 14};
diff --git a/recipes/fleep/package.json b/recipes/fleep/package.json
index 30b118b..3510738 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.0.2", 4 "version": "1.1.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 46fe2c5..e760af8 100644
--- a/recipes/fleep/webview.js
+++ b/recipes/fleep/webview.js
@@ -10,5 +10,6 @@ module.exports = Ferdi => {
10 }; 10 };
11 11
12 Ferdi.loop(getMessages); 12 Ferdi.loop(getMessages);
13
13 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 14 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
14}; 15};
diff --git a/recipes/flowdock/index.js b/recipes/flowdock/index.js
index 582ee6e..23607bd 100644
--- a/recipes/flowdock/index.js
+++ b/recipes/flowdock/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZsb3dkb2NrL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiZmxvd2RvY2svaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/flowdock/package.json b/recipes/flowdock/package.json
index 4daa17d..8fd8966 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.0.2", 4 "version": "1.1.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 704dc95..86db60f 100644
--- a/recipes/flowdock/webview.js
+++ b/recipes/flowdock/webview.js
@@ -1,12 +1,11 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz badge 6 // set Ferdi badge
7 Franz.setBadge(directMessages, indirectMessages); 7 Ferdi.setBadge(directMessages, indirectMessages);
8 }; 8 };
9 9
10 Franz.loop(getMessages); 10 Ferdi.loop(getMessages);
11}; 11};
12// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImZsb3dkb2NrL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJkaXJlY3RNZXNzYWdlcyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsImluZGlyZWN0TWVzc2FnZXMiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekMsVUFBTUMsaUJBQWlCQyxTQUFTQyxnQkFBVCxDQUEwQiw4QkFBMUIsRUFBMERDLE1BQWpGO0FBQ0EsVUFBTUMsbUJBQW1CSCxTQUFTQyxnQkFBVCxDQUEwQiwwQkFBMUIsRUFBc0RDLE1BQS9FOztBQUVBO0FBQ0FMLFVBQU1PLFFBQU4sQ0FBZUwsY0FBZixFQUErQkksZ0JBQS9CO0FBQ0QsR0FORDs7QUFRQU4sUUFBTVEsSUFBTixDQUFXUCxXQUFYO0FBQ0QsQ0FWRCIsImZpbGUiOiJmbG93ZG9jay93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCBkaXJlY3RNZXNzYWdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpdml0eS1pbmRpY2F0b3ItbWVudGlvbnMnKS5sZW5ndGg7XG4gICAgY29uc3QgaW5kaXJlY3RNZXNzYWdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpdml0eS1pbmRpY2F0b3ItY2hhdCcpLmxlbmd0aDtcblxuICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgIEZyYW56LnNldEJhZGdlKGRpcmVjdE1lc3NhZ2VzLCBpbmRpcmVjdE1lc3NhZ2VzKTtcbiAgfTtcblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/franz-custom-website/index.js b/recipes/franz-custom-website/index.js
index db3da5e..c0f91cb 100644
--- a/recipes/franz-custom-website/index.js
+++ b/recipes/franz-custom-website/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class CustomWebsite extends Franz { 1module.exports = Ferdi => class CustomWebsite extends Ferdi {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 return true; 3 return true;
4 } 4 }
diff --git a/recipes/franz-custom-website/package.json b/recipes/franz-custom-website/package.json
index d56cff7..dc84b6c 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.0.5", 4 "version": "1.1.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 6df0aaa..ca6a9f7 100644
--- a/recipes/franz-custom-website/webview.js
+++ b/recipes/franz-custom-website/webview.js
@@ -1,5 +1,7 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 Franz.injectCSS(path.join(__dirname, 'style.css')); 4
5module.exports = Ferdi => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'style.css'));
5}; 7};
diff --git a/recipes/gadugadu/index.js b/recipes/gadugadu/index.js
index b9faf46..23607bd 100644
--- a/recipes/gadugadu/index.js
+++ b/recipes/gadugadu/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdhZHVnYWR1L2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiZ2FkdWdhZHUvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56OyJdfQ==
diff --git a/recipes/gadugadu/package.json b/recipes/gadugadu/package.json
index 11d2bfe..5579a41 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.0.4", 4 "version": "1.1.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 50b5c02..e1c7a2a 100644
--- a/recipes/gadugadu/webview.js
+++ b/recipes/gadugadu/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = () => { 6 const getMessages = () => {
5 const updates = parseInt(document.querySelector('i#sr-last-counter').textContent, 10); 7 const updates = parseInt(document.querySelector('i#sr-last-counter').textContent, 10);
6 let messages = 0; 8 let messages = 0;
@@ -14,10 +16,10 @@ module.exports = Franz => {
14 } 16 }
15 } 17 }
16 18
17 Franz.setBadge(messages, updates); 19 Ferdi.setBadge(messages, updates);
18 }; 20 };
19 21
20 Franz.injectCSS(path.join(__dirname, 'service.css')); 22 Ferdi.loop(getMessages);
21 Franz.loop(getMessages); 23
24 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
22}; 25};
23// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdhZHVnYWR1L3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsInVwZGF0ZXMiLCJwYXJzZUludCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInRleHRDb250ZW50IiwibWVzc2FnZXMiLCJjb252ZXJzYXRpb25zIiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsImkiLCJzZXRCYWRnZSIsImluamVjdENTUyIsImpvaW4iLCJfX2Rpcm5hbWUiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU1BLE9BQU9DLFFBQVEsTUFBUixDQUFiOztBQUVBQyxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxNQUFNO0FBQ3hCLFVBQU1DLFVBQVVDLFNBQVNDLFNBQVNDLGFBQVQsQ0FBdUIsbUJBQXZCLEVBQTRDQyxXQUFyRCxFQUFrRSxFQUFsRSxDQUFoQjtBQUNBLFFBQUlDLFdBQVcsQ0FBZjs7QUFFQSxVQUFNQyxnQkFBZ0JKLFNBQVNLLGdCQUFULENBQTBCLDRCQUExQixFQUF3REMsTUFBOUU7QUFDQSxRQUFJRixrQkFBa0IsQ0FBdEIsRUFBeUI7QUFDdkJELGlCQUFXLENBQVg7QUFDRCxLQUZELE1BRU87QUFDTCxXQUFLLElBQUlJLElBQUksQ0FBYixFQUFnQkEsSUFBSUgsYUFBcEIsRUFBbUNHLElBQUksQ0FBdkMsRUFBMEM7QUFDeENKLG9CQUFZSixTQUFTQyxTQUFTSyxnQkFBVCxDQUEwQiw0QkFBMUIsRUFBd0RFLENBQXhELEVBQTJETCxXQUFwRSxFQUFpRixFQUFqRixDQUFaO0FBQ0Q7QUFDRjs7QUFFRE4sVUFBTVksUUFBTixDQUFlTCxRQUFmLEVBQXlCTCxPQUF6QjtBQUNELEdBZEQ7O0FBZ0JBRixRQUFNYSxTQUFOLENBQWdCakIsS0FBS2tCLElBQUwsQ0FBVUMsU0FBVixFQUFxQixhQUFyQixDQUFoQjtBQUNBZixRQUFNZ0IsSUFBTixDQUFXZixXQUFYO0FBQ0QsQ0FuQkQiLCJmaWxlIjoiZ2FkdWdhZHUvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gKCkgPT4ge1xuICAgIGNvbnN0IHVwZGF0ZXMgPSBwYXJzZUludChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCdpI3NyLWxhc3QtY291bnRlcicpLnRleHRDb250ZW50LCAxMCk7XG4gICAgbGV0IG1lc3NhZ2VzID0gMDtcblxuICAgIGNvbnN0IGNvbnZlcnNhdGlvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hhdC1jb3VudGVyOm5vdCguZC1ub25lKScpLmxlbmd0aDtcbiAgICBpZiAoY29udmVyc2F0aW9ucyA9PT0gMCkge1xuICAgICAgbWVzc2FnZXMgPSAwO1xuICAgIH0gZWxzZSB7XG4gICAgICBmb3IgKGxldCBpID0gMDsgaSA8IGNvbnZlcnNhdGlvbnM7IGkgKyAxKSB7XG4gICAgICAgIG1lc3NhZ2VzICs9IHBhcnNlSW50KGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jaGF0LWNvdW50ZXI6bm90KC5kLW5vbmUpJylbaV0udGV4dENvbnRlbnQsIDEwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBGcmFuei5zZXRCYWRnZShtZXNzYWdlcywgdXBkYXRlcyk7XG4gIH07XG5cbiAgRnJhbnouaW5qZWN0Q1NTKHBhdGguam9pbihfX2Rpcm5hbWUsICdzZXJ2aWNlLmNzcycpKTtcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/github/index.js b/recipes/github/index.js
index 6889e69..23607bd 100644
--- a/recipes/github/index.js
+++ b/recipes/github/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdpdGh1Yi9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6ImdpdGh1Yi9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/github/package.json b/recipes/github/package.json
index 49d18d8..4454c97 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.0.2", 4 "version": "2.1.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 3b5a286..9f35b5e 100644
--- a/recipes/github/webview.js
+++ b/recipes/github/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const directCountElement = document.querySelector('.filter-list .count'); 3 const directCountElement = document.querySelector('.filter-list .count');
4 const indirectCountElement = document.querySelector('[class*="mail-status unread"]'); 4 const indirectCountElement = document.querySelector('[class*="mail-status unread"]');
@@ -9,9 +9,8 @@ module.exports = Franz => {
9 } else if (indirectCountElement) { 9 } else if (indirectCountElement) {
10 indirectCount = 1; 10 indirectCount = 1;
11 } 11 }
12 Franz.setBadge(directCount, indirectCount); 12 Ferdi.setBadge(directCount, indirectCount);
13 }; 13 };
14 14
15 Franz.loop(getMessages); 15 Ferdi.loop(getMessages);
16}; 16};
17// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJnaXRodWIvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbXX0=
diff --git a/recipes/github_entreprise/index.js b/recipes/github_entreprise/index.js
index 2ffc5ee..f45d240 100644
--- a/recipes/github_entreprise/index.js
+++ b/recipes/github_entreprise/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class GitHubEnterprise extends Franz { 1module.exports = Ferdi => class GitHubEnterprise extends Ferdi {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 try { 3 try {
4 const resp = await window.fetch(`${url}/api/v3`, { 4 const resp = await window.fetch(`${url}/api/v3`, {
diff --git a/recipes/github_entreprise/package.json b/recipes/github_entreprise/package.json
index bc06465..e40d6d3 100644
--- a/recipes/github_entreprise/package.json
+++ b/recipes/github_entreprise/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "github_entreprise", 2 "id": "github_entreprise",
3 "name": "GitHub Enterprise", 3 "name": "GitHub Enterprise",
4 "version": "1.0.3", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://github.mycompany.com/", 7 "serviceURL": "https://github.mycompany.com/",
diff --git a/recipes/gitlab/package.json b/recipes/gitlab/package.json
index 9819b0f..3ed3464 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.1.2", 4 "version": "1.2.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/gitlab/webview.js b/recipes/gitlab/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/gitlab/webview.js
+++ b/recipes/gitlab/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/gitter/index.js b/recipes/gitter/index.js
index 8644398..23607bd 100644
--- a/recipes/gitter/index.js
+++ b/recipes/gitter/index.js
@@ -1,4 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2
3module.exports = Franz => Franz;
4// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpc2NvcmQvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBLE9BQU8sQUFBUCxVQUFpQixTQUFTLEFBQTFCIiwiZmlsZSI6ImRpc2NvcmQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBqdXN0IHBhc3MgdGhyb3VnaCBGcmFuelxubW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/gitter/package.json b/recipes/gitter/package.json
index c4ce0a3..0713c24 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.0.4", 4 "version": "1.1.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 395ce00..402f01a 100644
--- a/recipes/gitter/webview.js
+++ b/recipes/gitter/webview.js
@@ -1,12 +1,8 @@
1const _path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3const _path2 = _interopRequireDefault(_path); 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 4
5function _interopRequireDefault(obj) { 5module.exports = Ferdi => {
6 return obj && obj.__esModule ? obj : { default: obj };
7}
8
9module.exports = Franz => {
10 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
11 // get unread messages 7 // get unread messages
12 let count = 0; 8 let count = 0;
@@ -14,15 +10,12 @@ module.exports = Franz => {
14 count += Number(node.innerText); 10 count += Number(node.innerText);
15 }); 11 });
16 12
17 // set Franz badge 13 // set Ferdi badge
18 Franz.setBadge(count); 14 Ferdi.setBadge(count);
19 }; 15 };
20 16
21 // check for new messages every second and update Franz badge 17 Ferdi.loop(getMessages);
22 Franz.loop(getMessages);
23 18
24 // Hide download message 19 // Hide download message
25 Franz.injectCSS(_path2.default.join(__dirname, 'service.css')); 20 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
26}; 21};
27// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpc2NvcmQvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImNvdW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJsb29wIiwiaW5qZWN0Q1NTIiwiam9pbiIsIl9fZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0FBRUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekM7QUFDQSxVQUFNQyxRQUFRQyxTQUFTQyxnQkFBVCxDQUEwQix3QkFBMUIsRUFBb0RDLE1BQWxFOztBQUVBO0FBQ0FMLFVBQU1NLFFBQU4sQ0FBZUosS0FBZjtBQUNELEdBTkQ7O0FBUUE7QUFDQUYsUUFBTU8sSUFBTixDQUFXTixXQUFYOztBQUVBO0FBQ0FELFFBQU1RLFNBQU4sQ0FBZ0IsZUFBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGFBQXJCLENBQWhCO0FBQ0QsQ0FkRCIsImZpbGUiOiJkaXNjb3JkL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICAvLyBnZXQgdW5yZWFkIG1lc3NhZ2VzXG4gICAgY29uc3QgY291bnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3VpbGRzLXdyYXBwZXIgLmJhZGdlJykubGVuZ3RoO1xuXG4gICAgLy8gc2V0IEZyYW56IGJhZGdlXG4gICAgRnJhbnouc2V0QmFkZ2UoY291bnQpO1xuICB9O1xuXG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG5cbiAgLy8gSGlkZSBkb3dubG9hZCBtZXNzYWdlXG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG59O1xuIl19
28// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdpdHRlci93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIl9wYXRoIiwicmVxdWlyZSIsIl9wYXRoMiIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJvYmoiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiY291bnQiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJsZW5ndGgiLCJzZXRCYWRnZSIsImxvb3AiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIl0sIm1hcHBpbmdzIjoiOztBQUVBLElBQUlBLFFBQVFDLFFBQVEsTUFBUixDQUFaOztBQUVBLElBQUlDLFNBQVNDLHVCQUF1QkgsS0FBdkIsQ0FBYjs7QUFFQSxTQUFTRyxzQkFBVCxDQUFnQ0MsR0FBaEMsRUFBcUM7QUFBRSxTQUFPQSxPQUFPQSxJQUFJQyxVQUFYLEdBQXdCRCxHQUF4QixHQUE4QixFQUFFRSxTQUFTRixHQUFYLEVBQXJDO0FBQXdEOztBQUUvRkcsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QztBQUNBLFVBQU1DLFFBQVFDLFNBQVNDLGdCQUFULENBQTBCLHdGQUExQixFQUFvSEMsTUFBbEk7O0FBRUE7QUFDQUwsVUFBTU0sUUFBTixDQUFlSixLQUFmO0FBQ0QsR0FORDs7QUFRQTtBQUNBRixRQUFNTyxJQUFOLENBQVdOLFdBQVg7O0FBRUE7QUFDQUQsUUFBTVEsU0FBTixDQUFnQmYsT0FBT0ksT0FBUCxDQUFlWSxJQUFmLENBQW9CQyxTQUFwQixFQUErQixhQUEvQixDQUFoQjtBQUNELENBZEQ7QUFlQSIsImZpbGUiOiJnaXR0ZXIvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5sZXQgX3BhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbmxldCBfcGF0aDIgPSBfaW50ZXJvcFJlcXVpcmVEZWZhdWx0KF9wYXRoKTtcblxuZnVuY3Rpb24gX2ludGVyb3BSZXF1aXJlRGVmYXVsdChvYmopIHsgcmV0dXJuIG9iaiAmJiBvYmouX19lc01vZHVsZSA/IG9iaiA6IHsgZGVmYXVsdDogb2JqIH07IH1cblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICAvLyBnZXQgdW5yZWFkIG1lc3NhZ2VzXG4gICAgY29uc3QgY291bnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZ3VpbGRzLXdyYXBwZXIgLmJhZGdlLCAucm9vbS1tZW51LW9wdGlvbnNfX2l0ZW1fX3VucmVhZC1pbmRpY2F0b3Itd3JhcHBlci5oYXMtdW5yZWFkcycpLmxlbmd0aDtcblxuICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcbiAgfTtcblxuICAvLyBjaGVjayBmb3IgbmV3IG1lc3NhZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIEZyYW56IGJhZGdlXG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xuXG4gIC8vIEhpZGUgZG93bmxvYWQgbWVzc2FnZVxuICBGcmFuei5pbmplY3RDU1MoX3BhdGgyLmRlZmF1bHQuam9pbihfX2Rpcm5hbWUsICdzZXJ2aWNlLmNzcycpKTtcbn07XG4vLyAjIHNvdXJjZU1hcHBpbmdVUkw9ZGF0YTphcHBsaWNhdGlvbi9qc29uO2NoYXJzZXQ9dXRmLTg7YmFzZTY0LGV5SjJaWEp6YVc5dUlqb3pMQ0p6YjNWeVkyVnpJanBiSW1ScGMyTnZjbVF2ZDJWaWRtbGxkeTVxY3lKZExDSnVZVzFsY3lJNld5SnRiMlIxYkdVaUxDSmxlSEJ2Y25Seklpd2lSbkpoYm5vaUxDSm5aWFJOWlhOellXZGxjeUlzSW1OdmRXNTBJaXdpWkc5amRXMWxiblFpTENKeGRXVnllVk5sYkdWamRHOXlRV3hzSWl3aWJHVnVaM1JvSWl3aWMyVjBRbUZrWjJVaUxDSnNiMjl3SWl3aWFXNXFaV04wUTFOVElpd2lhbTlwYmlJc0lsOWZaR2x5Ym1GdFpTSmRMQ0p0WVhCd2FXNW5jeUk2SWpzN1FVRkJRVHM3T3pzN08wRkJSVUZCTEU5QlFVOURMRTlCUVZBc1IwRkJhMEpETEV0QlFVUXNTVUZCVnp0QlFVTXhRaXhSUVVGTlF5eGpRVUZqTEZOQlFWTkJMRmRCUVZRc1IwRkJkVUk3UVVGRGVrTTdRVUZEUVN4VlFVRk5ReXhSUVVGUlF5eFRRVUZUUXl4blFrRkJWQ3hEUVVFd1FpeDNRa0ZCTVVJc1JVRkJiMFJETEUxQlFXeEZPenRCUVVWQk8wRkJRMEZNTEZWQlFVMU5MRkZCUVU0c1EwRkJaVW9zUzBGQlpqdEJRVU5FTEVkQlRrUTdPMEZCVVVFN1FVRkRRVVlzVVVGQlRVOHNTVUZCVGl4RFFVRlhUaXhYUVVGWU96dEJRVVZCTzBGQlEwRkVMRkZCUVUxUkxGTkJRVTRzUTBGQlowSXNaVUZCUzBNc1NVRkJUQ3hEUVVGVlF5eFRRVUZXTEVWQlFYRkNMR0ZCUVhKQ0xFTkJRV2hDTzBGQlEwUXNRMEZrUkNJc0ltWnBiR1VpT2lKa2FYTmpiM0prTDNkbFluWnBaWGN1YW5NaUxDSnpiM1Z5WTJWelEyOXVkR1Z1ZENJNld5SnBiWEJ2Y25RZ2NHRjBhQ0JtY205dElDZHdZWFJvSnp0Y2JseHViVzlrZFd4bExtVjRjRzl5ZEhNZ1BTQW9SbkpoYm5vcElEMCtJSHRjYmlBZ1kyOXVjM1FnWjJWMFRXVnpjMkZuWlhNZ1BTQm1kVzVqZEdsdmJpQm5aWFJOWlhOellXZGxjeWdwSUh0Y2JpQWdJQ0F2THlCblpYUWdkVzV5WldGa0lHMWxjM05oWjJWelhHNGdJQ0FnWTI5dWMzUWdZMjkxYm5RZ1BTQmtiMk4xYldWdWRDNXhkV1Z5ZVZObGJHVmpkRzl5UVd4c0tDY3VaM1ZwYkdSekxYZHlZWEJ3WlhJZ0xtSmhaR2RsSnlrdWJHVnVaM1JvTzF4dVhHNGdJQ0FnTHk4Z2MyVjBJRVp5WVc1NklHSmhaR2RsWEc0Z0lDQWdSbkpoYm5vdWMyVjBRbUZrWjJVb1kyOTFiblFwTzF4dUlDQjlPMXh1WEc0Z0lDOHZJR05vWldOcklHWnZjaUJ1WlhjZ2JXVnpjMkZuWlhNZ1pYWmxjbmtnYzJWamIyNWtJR0Z1WkNCMWNHUmhkR1VnUm5KaGJub2dZbUZrWjJWY2JpQWdSbkpoYm5vdWJHOXZjQ2huWlhSTlpYTnpZV2RsY3lrN1hHNWNiaUFnTHk4Z1NHbGtaU0JrYjNkdWJHOWhaQ0J0WlhOellXZGxYRzRnSUVaeVlXNTZMbWx1YW1WamRFTlRVeWh3WVhSb0xtcHZhVzRvWDE5a2FYSnVZVzFsTENBbmMyVnlkbWxqWlM1amMzTW5LU2s3WEc1OU8xeHVJbDE5XG4iXX0=
diff --git a/recipes/glowing-bear/index.js b/recipes/glowing-bear/index.js
index c48e739..23607bd 100644
--- a/recipes/glowing-bear/index.js
+++ b/recipes/glowing-bear/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb3dpbmdiZWFyL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiZ2xvd2luZ2JlYXIvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56OyJdfQ==
diff --git a/recipes/glowing-bear/package.json b/recipes/glowing-bear/package.json
index 2d21dc7..250cb57 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.0.2", 4 "version": "1.1.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 2af70dc..d974836 100644
--- a/recipes/glowing-bear/webview.js
+++ b/recipes/glowing-bear/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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;
@@ -6,8 +6,8 @@ module.exports = Franz => {
6 for (let i = 0; i < indirectElements.length; i += 1) { 6 for (let i = 0; i < indirectElements.length; i += 1) {
7 if (indirectElements[i].innerHTML.length > 0) indirect++; 7 if (indirectElements[i].innerHTML.length > 0) indirect++;
8 } 8 }
9 Franz.setBadge(Math.max(direct, 0), Math.max(indirect, 0)); 9 Ferdi.setBadge(Math.max(direct, 0), Math.max(indirect, 0));
10 }; 10 };
11 Franz.loop(getMessages); 11
12 Ferdi.loop(getMessages);
12}; 13};
13// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdsb3dpbmdiZWFyL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJpbmRpcmVjdEVsZW1lbnRzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGlyZWN0IiwibGVuZ3RoIiwiaW5kaXJlY3QiLCJpIiwiaW5uZXJIVE1MIiwic2V0QmFkZ2UiLCJNYXRoIiwibWF4IiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBUztBQUN6QixPQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDMUMsTUFBSUMsbUJBQW1CQyxTQUFTQyxnQkFBVCxDQUEwQixxQkFBMUIsQ0FBdkI7QUFDQSxNQUFJQyxTQUFTRixTQUFTQyxnQkFBVCxDQUEwQixlQUExQixFQUEyQ0UsTUFBM0MsR0FBb0QsQ0FBakU7QUFDQSxNQUFJQyxXQUFXLENBQUMsQ0FBaEI7QUFDQSxPQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSU4saUJBQWlCSSxNQUFyQyxFQUE2Q0UsS0FBSyxDQUFsRCxFQUFxRDtBQUNwRCxPQUFJTixpQkFBaUJNLENBQWpCLEVBQW9CQyxTQUFwQixDQUE4QkgsTUFBOUIsR0FBdUMsQ0FBM0MsRUFBOENDO0FBQzlDO0FBQ0RQLFFBQU1VLFFBQU4sQ0FBZUMsS0FBS0MsR0FBTCxDQUFTUCxNQUFULEVBQWlCLENBQWpCLENBQWYsRUFBb0NNLEtBQUtDLEdBQUwsQ0FBU0wsUUFBVCxFQUFtQixDQUFuQixDQUFwQztBQUNBLEVBUkQ7QUFTQVAsT0FBTWEsSUFBTixDQUFXWixXQUFYO0FBQ0EsQ0FYRCIsImZpbGUiOiJnbG93aW5nYmVhci93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiB7XG5cdGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG5cdFx0bGV0IGluZGlyZWN0RWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYmFkZ2U6bm90KC5kYW5nZXIpJyk7XG5cdFx0bGV0IGRpcmVjdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYWRnZS5kYW5nZXInKS5sZW5ndGggLSAxO1xuXHRcdGxldCBpbmRpcmVjdCA9IC0xO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgaW5kaXJlY3RFbGVtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuXHRcdFx0aWYgKGluZGlyZWN0RWxlbWVudHNbaV0uaW5uZXJIVE1MLmxlbmd0aCA+IDApIGluZGlyZWN0Kys7XG5cdFx0fVxuXHRcdEZyYW56LnNldEJhZGdlKE1hdGgubWF4KGRpcmVjdCwgMCksIE1hdGgubWF4KGluZGlyZWN0LCAwKSk7XG5cdH07XG5cdEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/gmail/index.js b/recipes/gmail/index.js
index e1896e4..8aae88f 100644
--- a/recipes/gmail/index.js
+++ b/recipes/gmail/index.js
@@ -1,4 +1,2 @@
1const os = require('os'); 1module.exports = Ferdi => class Gmail extends Ferdi {
2
3module.exports = Franz => class Gmail extends Franz {
4}; 2};
diff --git a/recipes/gmail/package.json b/recipes/gmail/package.json
index 502faff..49fc89f 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.3.11", 4 "version": "1.4.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 a26c7cb..9a09c87 100644
--- a/recipes/gmail/webview.js
+++ b/recipes/gmail/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 // if the user is on gmail's landing page, go to the login page. 6 // if the user is on gmail's landing page, go to the login page.
5 if (location.hostname == 'www.google.com' && location.href.includes('gmail/about/')) { 7 if (location.hostname == 'www.google.com' && location.href.includes('gmail/about/')) {
6 location.href = 'https://accounts.google.com/AccountChooser?service=mail&continue=https://mail.google.com/mail/'; 8 location.href = 'https://accounts.google.com/AccountChooser?service=mail&continue=https://mail.google.com/mail/';
@@ -18,11 +20,11 @@ module.exports = (Franz) => {
18 } 20 }
19 } 21 }
20 22
21 // set Franz badge 23 // set Ferdi badge
22 Franz.setBadge(count); 24 Ferdi.setBadge(count);
23 }; 25 };
24 26
25 Franz.injectCSS(path.join(__dirname, 'service.css')); 27 Ferdi.loop(getMessages);
26 // check for new messages every second and update Franz badge 28
27 Franz.loop(getMessages); 29 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
28}; 30};
diff --git a/recipes/google-voice/index.js b/recipes/google-voice/index.js
index 258da41..23607bd 100644
--- a/recipes/google-voice/index.js
+++ b/recipes/google-voice/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/google-voice/package.json b/recipes/google-voice/package.json
index e93e067..84eac14 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.3.5", 4 "version": "0.4.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 aed66af..7d9602c 100644
--- a/recipes/google-voice/webview.js
+++ b/recipes/google-voice/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 function parseQuery(query) { 2 function parseQuery(query) {
3 const el = document.querySelector(query); 3 const el = document.querySelector(query);
4 return el && parseInt(el.innerHTML) || 0; 4 return el && parseInt(el.innerHTML) || 0;
@@ -17,8 +17,8 @@ module.exports = Franz => {
17 count = count_messages + count_calls + count_voicemails; 17 count = count_messages + count_calls + count_voicemails;
18 } 18 }
19 19
20 Franz.setBadge(count); 20 Ferdi.setBadge(count);
21 } 21 }
22 22
23 Franz.loop(getMessages); 23 Ferdi.loop(getMessages);
24}; 24};
diff --git a/recipes/googlecalendar/index.js b/recipes/googlecalendar/index.js
index f18361f..553d5ef 100644
--- a/recipes/googlecalendar/index.js
+++ b/recipes/googlecalendar/index.js
@@ -1,2 +1,2 @@
1module.exports = Franz => class GoogleCalendar extends Franz { 1module.exports = Ferdi => class GoogleCalendar extends Ferdi {
2}; 2};
diff --git a/recipes/googlecalendar/package.json b/recipes/googlecalendar/package.json
index 6d097bb..58f78ed 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.1.1", 4 "version": "2.2.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 68145ad..c47f572 100644
--- a/recipes/googlecalendar/webview-unsafe.js
+++ b/recipes/googlecalendar/webview-unsafe.js
@@ -12,24 +12,24 @@ const waitFor = (condition, callback) => {
12const showModal = text => { 12const showModal = text => {
13 modal.querySelector('p').innerHTML = text; 13 modal.querySelector('p').innerHTML = text;
14 updates += 1; 14 updates += 1;
15 window.franz.setBadge(updates); 15 window.ferdi.setBadge(updates);
16 modal.classList.add('open'); 16 modal.classList.add('open');
17}; 17};
18 18
19const hideModal = () => { 19const hideModal = () => {
20 modal.querySelector('p').innerHTML = ''; 20 modal.querySelector('p').innerHTML = '';
21 updates -= 1; 21 updates -= 1;
22 window.franz.setBadge(updates); 22 window.ferdi.setBadge(updates);
23 modal.classList.remove('open'); 23 modal.classList.remove('open');
24}; 24};
25 25
26const createModal = () => { 26const createModal = () => {
27 const franzModal = document.createElement('div'); 27 const modalDialog = document.createElement('div');
28 franzModal.setAttribute('id', 'franz-modal'); 28 modalDialog.setAttribute('id', 'franz-modal');
29 franzModal.innerHTML = '<div class="modal-content"><span class="close">&times;</span><p></p></div>'; 29 modalDialog.innerHTML = '<div class="modal-content"><span class="close">&times;</span><p></p></div>';
30 franzModal.querySelector('.close').addEventListener('click', hideModal); 30 modalDialog.querySelector('.close').addEventListener('click', hideModal);
31 31
32 return franzModal; 32 return modalDialog;
33}; 33};
34 34
35window.alert = showModal; 35window.alert = showModal;
diff --git a/recipes/googlecalendar/webview.js b/recipes/googlecalendar/webview.js
index 2e34c8b..7a55b0a 100644
--- a/recipes/googlecalendar/webview.js
+++ b/recipes/googlecalendar/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 Franz.injectCSS(path.join(__dirname, 'calendar.css')); 4
5 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 5module.exports = Ferdi => {
6 Ferdi.injectCSS(_path.default.join(__dirname, 'calendar.css'));
7 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
6}; 8};
diff --git a/recipes/googleclassroom/index.js b/recipes/googleclassroom/index.js
index 193bd51..9ccb30b 100644
--- a/recipes/googleclassroom/index.js
+++ b/recipes/googleclassroom/index.js
@@ -1,2 +1,2 @@
1module.exports = Franz => class GoogleClassroom extends Franz { 1module.exports = Ferdi => class GoogleClassroom extends Ferdi {
2}; 2};
diff --git a/recipes/googleclassroom/package.json b/recipes/googleclassroom/package.json
index 0309651..de9c318 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.0.5", 4 "version": "1.1.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 0421f21..6431df8 100644
--- a/recipes/googleclassroom/webview.js
+++ b/recipes/googleclassroom/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let homework = 0; 3 let homework = 0;
4 const upcomingAssignment = document.getElementsByClassName('hrUpcomingAssignmentGroup'); 4 const upcomingAssignment = document.getElementsByClassName('hrUpcomingAssignmentGroup');
@@ -8,8 +8,8 @@ module.exports = Franz => {
8 homework += upcomingAssignment[i].childElementCount; 8 homework += upcomingAssignment[i].childElementCount;
9 } 9 }
10 } 10 }
11 Franz.setBadge(parseInt(homework, 10)); 11 Ferdi.setBadge(parseInt(homework, 10));
12 }; 12 };
13 13
14 Franz.loop(getMessages); 14 Ferdi.loop(getMessages);
15}; 15};
diff --git a/recipes/googlecontacts/index.js b/recipes/googlecontacts/index.js
index 258da41..23607bd 100644
--- a/recipes/googlecontacts/index.js
+++ b/recipes/googlecontacts/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/googlecontacts/package.json b/recipes/googlecontacts/package.json
index 2563a20..4f91692 100644
--- a/recipes/googlecontacts/package.json
+++ b/recipes/googlecontacts/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.0.3", 4 "version": "1.1.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/googledrive/index.js b/recipes/googledrive/index.js
index a882324..c3580bd 100644
--- a/recipes/googledrive/index.js
+++ b/recipes/googledrive/index.js
@@ -1,4 +1,2 @@
1const os = require('os'); 1module.exports = Ferdi => class googledrive extends Ferdi {
2
3module.exports = Franz => class googledrive extends Franz {
4}; 2};
diff --git a/recipes/googledrive/package.json b/recipes/googledrive/package.json
index aee3ee9..7ee22ae 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.0.1", 4 "version": "2.1.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 7f8f7ad..ae1e755 100644
--- a/recipes/googledrive/webview.js
+++ b/recipes/googledrive/webview.js
@@ -1,5 +1,7 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 4
5module.exports = (Ferdi) => {
6 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
5}; 7};
diff --git a/recipes/googlekeep/index.js b/recipes/googlekeep/index.js
index 63a0505..e311079 100644
--- a/recipes/googlekeep/index.js
+++ b/recipes/googlekeep/index.js
@@ -1,2 +1,2 @@
1module.exports = Franz => class GoogleKeep extends Franz { 1module.exports = Ferdi => class GoogleKeep extends Ferdi {
2}; 2};
diff --git a/recipes/googlekeep/package.json b/recipes/googlekeep/package.json
index dc93908..cec5a1a 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.0.6", 4 "version": "1.1.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/googlekeep/webview.js b/recipes/googlekeep/webview.js
index bdbf506..e69de29 100644
--- a/recipes/googlekeep/webview.js
+++ b/recipes/googlekeep/webview.js
@@ -1 +0,0 @@
1// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJnb29nbGVrZWVwL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6W119
diff --git a/recipes/googlemeet/index.js b/recipes/googlemeet/index.js
index fe2ba1f..58aff86 100644
--- a/recipes/googlemeet/index.js
+++ b/recipes/googlemeet/index.js
@@ -1,2 +1,2 @@
1module.exports = Franz => class GoogleMeet extends Franz { 1module.exports = Ferdi => class GoogleMeet extends Ferdi {
2}; 2};
diff --git a/recipes/googlemeet/package.json b/recipes/googlemeet/package.json
index 8eca832..fe63660 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.0.3", 4 "version": "2.1.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 eb6f7f3..3a20b0c 100644
--- a/recipes/googlemeet/webview.js
+++ b/recipes/googlemeet/webview.js
@@ -1,13 +1,11 @@
1const { 1const _path = _interopRequireDefault(require('path'));
2 remote,
3} = require('electron');
4 2
5const path = require('path'); 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5const { remote } = require('electron');
6 6
7const webContents = remote.getCurrentWebContents(); 7const webContents = remote.getCurrentWebContents();
8const { 8const { session } = webContents;
9 session,
10} = webContents;
11 9
12window.onload = () => { 10window.onload = () => {
13 const title = document.querySelector('.window-title').innerHTML; 11 const title = document.querySelector('.window-title').innerHTML;
@@ -17,7 +15,7 @@ window.onload = () => {
17 } 15 }
18}; 16};
19 17
20module.exports = Franz => { 18module.exports = Ferdi => {
21 session.flushStorageData(); 19 session.flushStorageData();
22 session.clearStorageData({ 20 session.clearStorageData({
23 storages: ['serviceworkers'], 21 storages: ['serviceworkers'],
@@ -33,9 +31,10 @@ module.exports = Franz => {
33 } 31 }
34 } 32 }
35 33
36 Franz.setBadge(count); 34 Ferdi.setBadge(count);
37 }; 35 };
38 36
39 Franz.injectCSS(path.join(__dirname, 'service.css')); 37 Ferdi.loop(getMessages);
40 Franz.loop(getMessages); 38
39 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
41}; 40};
diff --git a/recipes/googlenews/index.js b/recipes/googlenews/index.js
index 258da41..23607bd 100644
--- a/recipes/googlenews/index.js
+++ b/recipes/googlenews/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/googlenews/package.json b/recipes/googlenews/package.json
index c0d02ab..36bbca9 100644
--- a/recipes/googlenews/package.json
+++ b/recipes/googlenews/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.0.0", 4 "version": "1.1.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/googlepodcasts/index.js b/recipes/googlepodcasts/index.js
index 258da41..23607bd 100644
--- a/recipes/googlepodcasts/index.js
+++ b/recipes/googlepodcasts/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/googlepodcasts/package.json b/recipes/googlepodcasts/package.json
index c27c4f0..b529b2b 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.0.2", 4 "version": "1.1.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 d779159..bde0ae0 100644
--- a/recipes/gotomeeting/index.js
+++ b/recipes/gotomeeting/index.js
@@ -1,5 +1,5 @@
1module.exports = Franz => class Gotomeeting extends Franz { 1module.exports = Ferdi => class Gotomeeting extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Franz|Electron)([^\s]+\s)/g, ''); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '');
4 } 4 }
5}; 5};
diff --git a/recipes/gotomeeting/package.json b/recipes/gotomeeting/package.json
index f64732c..b4e4ae0 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.2.3", 4 "version": "0.3.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 6e0b370..097df0d 100644
--- a/recipes/gotomeeting/webview.js
+++ b/recipes/gotomeeting/webview.js
@@ -1,8 +1,11 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
2 4
3module.exports = Ferdi => { 5module.exports = Ferdi => {
4 Ferdi.injectCSS(path.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
7
5 if (document.location.href.match('after')) { 8 if (document.location.href.match('after')) {
6 document.location.href = 'https://app.gotomeeting.com/home.html'; 9 document.location.href = 'https://app.gotomeeting.com/home.html';
7 } 10 }
8}; 11};
diff --git a/recipes/grape/index.js b/recipes/grape/index.js
index 3232b47..356b57a 100644
--- a/recipes/grape/index.js
+++ b/recipes/grape/index.js
@@ -1,6 +1,6 @@
1function _asyncToGenerator(fn) { return function () { const gen = fn.apply(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); }, (err) => { step('throw', err); }); } } return step('next'); }); }; } 1function _asyncToGenerator(fn) { return function () { const gen = fn.apply(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); }, (err) => { step('throw', err); }); } } return step('next'); }); }; }
2 2
3module.exports = Franz => class Grape extends Franz { 3module.exports = Ferdi => class Grape extends Ferdi {
4 validateUrl(url) { 4 validateUrl(url) {
5 return _asyncToGenerator(function* () { 5 return _asyncToGenerator(function* () {
6 try { 6 try {
@@ -16,4 +16,3 @@ module.exports = Franz => class Grape extends Franz {
16 })(); 16 })();
17 } 17 }
18}; 18};
19// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdyYXBlL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsIkdyYXBlIiwidmFsaWRhdGVVcmwiLCJ1cmwiLCJyZXNwIiwid2luZG93IiwiZmV0Y2giLCJtZXRob2QiLCJzdGF0dXMiLCJlcnIiLCJjb25zb2xlIiwiZXJyb3IiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBUyxNQUFNQyxLQUFOLFNBQW9CRCxLQUFwQixDQUEwQjtBQUM1Q0UsYUFBTixDQUFrQkMsR0FBbEIsRUFBdUI7QUFBQTtBQUNyQixVQUFJO0FBQ0YsY0FBTUMsT0FBTyxNQUFNQyxPQUFPQyxLQUFQLENBQWFILEdBQWIsRUFBa0I7QUFDbkNJLGtCQUFRO0FBRDJCLFNBQWxCLENBQW5CO0FBR0EsZUFBT0gsS0FBS0ksTUFBTCxLQUFnQixHQUF2QjtBQUNELE9BTEQsQ0FLRSxPQUFPQyxHQUFQLEVBQVk7QUFDWkMsZ0JBQVFDLEtBQVIsQ0FBY0YsR0FBZDtBQUNEOztBQUVELGFBQU8sS0FBUDtBQVZxQjtBQVd0QjtBQVppRCxDQUFwRCIsImZpbGUiOiJncmFwZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gY2xhc3MgR3JhcGUgZXh0ZW5kcyBGcmFueiB7XG4gIGFzeW5jIHZhbGlkYXRlVXJsKHVybCkge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwID0gYXdhaXQgd2luZG93LmZldGNoKHVybCwge1xuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcC5zdGF0dXMgPT09IDIwMDtcbiAgICB9IGNhdGNoIChlcnIpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoZXJyKTtcbiAgICB9XG5cbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn07XG4iXX0=
diff --git a/recipes/grape/package.json b/recipes/grape/package.json
index 75e55c4..75cc43d 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.0.2", 4 "version": "1.1.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 e497c01..349846c 100644
--- a/recipes/grape/webview.js
+++ b/recipes/grape/webview.js
@@ -1,11 +1,10 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz.setBadge(directMessages, indirectMessages); 6 Ferdi.setBadge(directMessages, indirectMessages);
7 }; 7 };
8 8
9 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
10}; 10};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdyYXBlL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJkaXJlY3RNZXNzYWdlcyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsImluZGlyZWN0TWVzc2FnZXMiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekMsVUFBTUMsaUJBQWlCQyxTQUFTQyxnQkFBVCxDQUEwQixRQUExQixFQUFvQ0MsTUFBM0Q7QUFDQSxVQUFNQyxtQkFBbUJILFNBQVNDLGdCQUFULENBQTBCLFFBQTFCLEVBQW9DQyxNQUE3RDs7QUFFQUwsVUFBTU8sUUFBTixDQUFlTCxjQUFmLEVBQStCSSxnQkFBL0I7QUFDRCxHQUxEOztBQU9BTixRQUFNUSxJQUFOLENBQVdQLFdBQVg7QUFDRCxDQVREIiwiZmlsZSI6ImdyYXBlL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IChGcmFueikgPT4ge1xuICBjb25zdCBnZXRNZXNzYWdlcyA9IGZ1bmN0aW9uIGdldE1lc3NhZ2VzKCkge1xuICAgIGNvbnN0IGRpcmVjdE1lc3NhZ2VzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmMwMTIwJykubGVuZ3RoO1xuICAgIGNvbnN0IGluZGlyZWN0TWVzc2FnZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYzAxMjEnKS5sZW5ndGg7XG5cbiAgICBGcmFuei5zZXRCYWRnZShkaXJlY3RNZXNzYWdlcywgaW5kaXJlY3RNZXNzYWdlcyk7XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/groupme/index.js b/recipes/groupme/index.js
index e16d21f..23607bd 100644
--- a/recipes/groupme/index.js
+++ b/recipes/groupme/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdyb3VwbWUvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJncm91cG1lL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/groupme/package.json b/recipes/groupme/package.json
index dc906f1..5f5d836 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.0.2", 4 "version": "1.1.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 5ad4c9d..4f225b3 100644
--- a/recipes/groupme/webview.js
+++ b/recipes/groupme/webview.js
@@ -1,11 +1,10 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz badge 5 // set Ferdi badge
6 Franz.setBadge(directMessages); 6 Ferdi.setBadge(directMessages);
7 }; 7 };
8 8
9 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
10}; 10};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdyb3VwbWUvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImRpcmVjdE1lc3NhZ2VzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDLFVBQU1DLGlCQUFpQkMsU0FBU0MsZ0JBQVQsQ0FBMEIsNEJBQTFCLEVBQXdEQyxNQUEvRTs7QUFFQTtBQUNBTCxVQUFNTSxRQUFOLENBQWVKLGNBQWY7QUFDRCxHQUxEOztBQU9BRixRQUFNTyxJQUFOLENBQVdOLFdBQVg7QUFDRCxDQVREIiwiZmlsZSI6Imdyb3VwbWUvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgZGlyZWN0TWVzc2FnZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYmFkZ2UtY291bnQ6bm90KC5uZy1oaWRlKScpLmxlbmd0aDtcblxuICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgIEZyYW56LnNldEJhZGdlKGRpcmVjdE1lc3NhZ2VzKTtcbiAgfTtcblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/guilded/index.js b/recipes/guilded/index.js
index 258da41..23607bd 100644
--- a/recipes/guilded/index.js
+++ b/recipes/guilded/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/guilded/package.json b/recipes/guilded/package.json
index 385798f..7366a6e 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.0.2", 4 "version": "1.1.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 72a49b4..ccace71 100644
--- a/recipes/guilded/webview.js
+++ b/recipes/guilded/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let unread = 0; 3 let unread = 0;
4 const notificationBadge = document.getElementsByClassName('NavSelectorItem-unread-badge')[0]; 4 const notificationBadge = document.getElementsByClassName('NavSelectorItem-unread-badge')[0];
@@ -6,8 +6,8 @@ module.exports = Franz => {
6 const innerBadge = notificationBadge.getElementsByClassName('BadgeV2-count')[0]; 6 const innerBadge = notificationBadge.getElementsByClassName('BadgeV2-count')[0];
7 unread = innerBadge.innerText; 7 unread = innerBadge.innerText;
8 } 8 }
9 Franz.setBadge(parseInt(unread, 10)); 9 Ferdi.setBadge(parseInt(unread, 10));
10 }; 10 };
11 11
12 Franz.loop(getMessages); 12 Ferdi.loop(getMessages);
13}; 13};
diff --git a/recipes/habitica/index.js b/recipes/habitica/index.js
index 258da41..23607bd 100755
--- a/recipes/habitica/index.js
+++ b/recipes/habitica/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/habitica/package.json b/recipes/habitica/package.json
index 86539a4..574a5d8 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.0.4", 4 "version": "1.1.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 5eb1c1c..3b443c5 100755
--- a/recipes/habitica/webview.js
+++ b/recipes/habitica/webview.js
@@ -1,12 +1,12 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
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 = Number(element.innerText); 6 count = Number(element.innerText);
7 } 7 }
8 Franz.setBadge(count); 8 Ferdi.setBadge(count);
9 }; 9 };
10 10
11 Franz.loop(getMessages); 11 Ferdi.loop(getMessages);
12}; 12};
diff --git a/recipes/hackmd/index.js b/recipes/hackmd/index.js
index 46335da..c3d5c52 100644
--- a/recipes/hackmd/index.js
+++ b/recipes/hackmd/index.js
@@ -1,4 +1,3 @@
1// just pass through Franz
2// todo allow custom url 1// todo allow custom url
3module.exports = Franz => class HackMd extends Franz { 2module.exports = Ferdi => class HackMd extends Ferdi {
4}; 3};
diff --git a/recipes/hackmd/package.json b/recipes/hackmd/package.json
index 6da2d32..708da11 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.0.2", 4 "version": "1.1.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 45cec03..82ce58d 100644
--- a/recipes/hackmd/webview.js
+++ b/recipes/hackmd/webview.js
@@ -1,17 +1,18 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 // get unread messages 7 // get unread messages
6 const count = document.querySelectorAll('.guilds-wrapper .badge').length; 8 const count = document.querySelectorAll('.guilds-wrapper .badge').length;
7 9
8 // set Franz badge 10 // set Ferdi badge
9 Franz.setBadge(count); 11 Ferdi.setBadge(count);
10 }; 12 };
11 13
12 // check for new messages every second and update Franz badge 14 Ferdi.loop(getMessages);
13 Franz.loop(getMessages);
14 15
15 // Hide download message 16 // Hide download message
16 Franz.injectCSS(path.join(__dirname, 'service.css')); 17 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
17}; 18};
diff --git a/recipes/hangouts/index.js b/recipes/hangouts/index.js
index 4132ba2..0a1336f 100644
--- a/recipes/hangouts/index.js
+++ b/recipes/hangouts/index.js
@@ -1,2 +1,2 @@
1module.exports = (Franz) => class Hangouts extends Franz { 1module.exports = (Ferdi) => class Hangouts extends Ferdi {
2}; 2};
diff --git a/recipes/hangouts/package.json b/recipes/hangouts/package.json
index 0830635..cad4216 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.1.2", 4 "version": "1.2.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 8d588e9..41fced1 100644
--- a/recipes/hangouts/webview.js
+++ b/recipes/hangouts/webview.js
@@ -1,13 +1,11 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz badge 6 // set Ferdi badge
7 Franz.setBadge(count); 7 Ferdi.setBadge(count);
8 }; 8 };
9 9
10 // check for new messages every second and update Franz badge 10 Ferdi.loop(getMessages);
11 Franz.loop(getMessages);
12}; 11};
13// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhhbmdvdXRzL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJjb3VudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnRXaW5kb3ciLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBOzs7Ozs7QUFFQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QztBQUNBLFVBQU1DLFFBQVFDLFNBQVNDLGFBQVQsQ0FBdUIsOEJBQXZCLEVBQ1hDLGFBRFcsQ0FDR0YsUUFESCxDQUNZRyxnQkFEWixDQUM2QixLQUQ3QixFQUVYQyxNQUZIOztBQUlBO0FBQ0FQLFVBQU1RLFFBQU4sQ0FBZU4sS0FBZjtBQUNELEdBUkQ7O0FBVUE7QUFDQUYsUUFBTVMsSUFBTixDQUFXUixXQUFYO0FBQ0QsQ0FiRCIsImZpbGUiOiJoYW5nb3V0cy93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGggZnJvbSAncGF0aCc7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgLy8gZ2V0IHVucmVhZCBtZXNzYWdlc1xuICAgIGNvbnN0IGNvdW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignI2hhbmdvdXQtbGFuZGluZy1jaGF0IGlmcmFtZScpXG4gICAgICAuY29udGVudFdpbmRvdy5kb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuZWUnKVxuICAgICAgLmxlbmd0aDtcblxuICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcbiAgfTtcblxuICAvLyBjaGVjayBmb3IgbmV3IG1lc3NhZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIEZyYW56IGJhZGdlXG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/hangoutschat/index.js b/recipes/hangoutschat/index.js
index c6173fa..6bed9d7 100644
--- a/recipes/hangoutschat/index.js
+++ b/recipes/hangoutschat/index.js
@@ -1,5 +1,2 @@
1const os = require('os'); 1module.exports = Ferdi => class HangoutsChat extends Ferdi {
2
3// just pass through Franz
4module.exports = Franz => class HangoutsChat extends Franz {
5}; 2};
diff --git a/recipes/hangoutschat/package.json b/recipes/hangoutschat/package.json
index a6d8ffe..6bbfba4 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.4.6", 4 "version": "1.5.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 0f17116..0244d33 100644
--- a/recipes/hangoutschat/webview.js
+++ b/recipes/hangoutschat/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
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
@@ -12,10 +12,12 @@ module.exports = (Franz) => {
12 // get unread indirect messages 12 // get unread indirect messages
13 const indirectCount = Number(document.querySelector(indirectMessageSelector).innerText); 13 const indirectCount = Number(document.querySelector(indirectMessageSelector).innerText);
14 14
15 // set Franz badge 15 // set Ferdi badge
16 Franz.setBadge(directCount, indirectCount); 16 Ferdi.setBadge(directCount, indirectCount);
17 }; 17 };
18 18
19 Ferdi.loop(getMessages);
20
19 document.addEventListener('click', (e) => { 21 document.addEventListener('click', (e) => {
20 const { tagName, target, href } = e.target; 22 const { tagName, target, href } = e.target;
21 23
@@ -25,7 +27,4 @@ module.exports = (Franz) => {
25 window.open(href); 27 window.open(href);
26 } 28 }
27 }); 29 });
28
29 // check for new messages every second and update Franz badge
30 Franz.loop(getMessages);
31}; 30};
diff --git a/recipes/harvest/index.js b/recipes/harvest/index.js
index 258da41..23607bd 100644
--- a/recipes/harvest/index.js
+++ b/recipes/harvest/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/harvest/package.json b/recipes/harvest/package.json
index 38200bb..76cf70a 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.0.2", 4 "version": "1.1.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/hipchat/index.js b/recipes/hipchat/index.js
index f39569a..5c550d8 100644
--- a/recipes/hipchat/index.js
+++ b/recipes/hipchat/index.js
@@ -1,6 +1,6 @@
1function _asyncToGenerator(fn) { return function () { const gen = fn.apply(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); }, (err) => { step('throw', err); }); } } return step('next'); }); }; } 1function _asyncToGenerator(fn) { return function () { const gen = fn.apply(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); }, (err) => { step('throw', err); }); } } return step('next'); }); }; }
2 2
3module.exports = Franz => class HipChat extends Franz { 3module.exports = Ferdi => class HipChat extends Ferdi {
4 validateUrl(url) { 4 validateUrl(url) {
5 return _asyncToGenerator(function* () { 5 return _asyncToGenerator(function* () {
6 try { 6 try {
@@ -25,4 +25,3 @@ module.exports = Franz => class HipChat extends Franz {
25 return `${url}/chat`; 25 return `${url}/chat`;
26 } 26 }
27}; 27};
28// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhpcGNoYXQvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiSGlwQ2hhdCIsInZhbGlkYXRlVXJsIiwidXJsIiwicmVzcCIsIndpbmRvdyIsImZldGNoIiwibWV0aG9kIiwiaGVhZGVycyIsImRhdGEiLCJqc29uIiwiT2JqZWN0IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZXJyIiwiY29uc29sZSIsImVycm9yIiwiYnVpbGRVcmwiXSwibWFwcGluZ3MiOiI7Ozs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBUyxNQUFNQyxPQUFOLFNBQXNCRCxLQUF0QixDQUE0QjtBQUM5Q0UsYUFBTixDQUFrQkMsR0FBbEIsRUFBdUI7QUFBQTtBQUNyQixVQUFJO0FBQ0YsY0FBTUMsT0FBTyxNQUFNQyxPQUFPQyxLQUFQLENBQWMsR0FBRUgsR0FBSSxlQUFwQixFQUFvQztBQUNyREksa0JBQVEsS0FENkM7QUFFckRDLG1CQUFTO0FBQ1AsNEJBQWdCO0FBRFQ7QUFGNEMsU0FBcEMsQ0FBbkI7QUFNQSxjQUFNQyxPQUFPLE1BQU1MLEtBQUtNLElBQUwsRUFBbkI7O0FBRUEsZUFBT0MsT0FBT0MsY0FBUCxDQUFzQkMsSUFBdEIsQ0FBMkJKLElBQTNCLEVBQWlDLFVBQWpDLENBQVA7QUFDRCxPQVZELENBVUUsT0FBT0ssR0FBUCxFQUFZO0FBQ1pDLGdCQUFRQyxLQUFSLENBQWNGLEdBQWQ7QUFDRDs7QUFFRCxhQUFPLEtBQVA7QUFmcUI7QUFnQnRCOztBQUVERyxXQUFTZCxHQUFULEVBQWM7QUFDWixXQUFRLEdBQUVBLEdBQUksT0FBZDtBQUNEO0FBckJtRCxDQUF0RCIsImZpbGUiOiJoaXBjaGF0L2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBjbGFzcyBIaXBDaGF0IGV4dGVuZHMgRnJhbnoge1xuICBhc3luYyB2YWxpZGF0ZVVybCh1cmwpIHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcCA9IGF3YWl0IHdpbmRvdy5mZXRjaChgJHt1cmx9L2FwaS9mZWF0dXJlc2AsIHtcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgaGVhZGVyczoge1xuICAgICAgICAgICdDb250ZW50LVR5cGUnOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgICAgIH0sXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwLmpzb24oKTtcblxuICAgICAgcmV0dXJuIE9iamVjdC5oYXNPd25Qcm9wZXJ0eS5jYWxsKGRhdGEsICdmZWF0dXJlcycpO1xuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgY29uc29sZS5lcnJvcihlcnIpO1xuICAgIH1cblxuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIGJ1aWxkVXJsKHVybCkge1xuICAgIHJldHVybiBgJHt1cmx9L2NoYXRgO1xuICB9XG59O1xuIl19
diff --git a/recipes/hipchat/package.json b/recipes/hipchat/package.json
index d001af4..dbcc059 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.0.3", 4 "version": "1.1.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 b888e30..c201f00 100644
--- a/recipes/hipchat/webview.js
+++ b/recipes/hipchat/webview.js
@@ -1,11 +1,11 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz badge 6 // set Ferdi badge
7 Franz.setBadge(directMessages, allMessages); 7 Ferdi.setBadge(directMessages, allMessages);
8 }; 8 };
9 Franz.loop(getMessages); 9
10 Ferdi.loop(getMessages);
10}; 11};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImhpcGNoYXQvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImRpcmVjdE1lc3NhZ2VzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwiYWxsTWVzc2FnZXMiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekMsVUFBTUMsaUJBQWlCQyxTQUFTQyxnQkFBVCxDQUEwQixhQUExQixFQUF5Q0MsTUFBaEU7QUFDQSxVQUFNQyxjQUFjSCxTQUFTQyxnQkFBVCxDQUEwQiw2QkFBMUIsRUFBeURDLE1BQXpELEdBQWtFSCxjQUF0Rjs7QUFFQTtBQUNBRixVQUFNTyxRQUFOLENBQWVMLGNBQWYsRUFBK0JJLFdBQS9CO0FBQ0QsR0FORDtBQU9BTixRQUFNUSxJQUFOLENBQVdQLFdBQVg7QUFDRCxDQVREIiwiZmlsZSI6ImhpcGNoYXQvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgZGlyZWN0TWVzc2FnZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuaGMtbWVudGlvbicpLmxlbmd0aDtcbiAgICBjb25zdCBhbGxNZXNzYWdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hdWktYmFkZ2U6bm90KC5oYy1tZW50aW9uKScpLmxlbmd0aCAtIGRpcmVjdE1lc3NhZ2VzO1xuXG4gICAgLy8gc2V0IEZyYW56IGJhZGdlXG4gICAgRnJhbnouc2V0QmFkZ2UoZGlyZWN0TWVzc2FnZXMsIGFsbE1lc3NhZ2VzKTtcbiAgfTtcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/iCloud/index.js b/recipes/iCloud/index.js
index 258da41..23607bd 100644
--- a/recipes/iCloud/index.js
+++ b/recipes/iCloud/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/iCloud/package.json b/recipes/iCloud/package.json
index fcf3f3c..b9fb85a 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.0.2", 4 "version": "1.1.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/webview.js b/recipes/iCloud/webview.js
index a71c1c5..7e19dff 100644
--- a/recipes/iCloud/webview.js
+++ b/recipes/iCloud/webview.js
@@ -1,2 +1,2 @@
1module.exports = (Franz, options) => { 1module.exports = Ferdi => {
2}; 2};
diff --git a/recipes/icq/index.js b/recipes/icq/index.js
index 6b679ef..23607bd 100644
--- a/recipes/icq/index.js
+++ b/recipes/icq/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImljcS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6ImljcS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/icq/package.json b/recipes/icq/package.json
index 13d0f5e..1ce61eb 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.0.3", 4 "version": "1.1.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 9114d24..24271d8 100644
--- a/recipes/icq/webview.js
+++ b/recipes/icq/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let directs = 0; 3 let directs = 0;
4 4
@@ -13,9 +13,8 @@ module.exports = Franz => {
13 } 13 }
14 } 14 }
15 15
16 Franz.setBadge(directs); 16 Ferdi.setBadge(directs);
17 }; 17 };
18 18
19 Franz.loop(getMessages); 19 Ferdi.loop(getMessages);
20}; 20};
21// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImljcS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZGlyZWN0cyIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsImxlbmd0aCIsImVsZW1lbnRzIiwiaSIsImNvdW50TGluZSIsInBhcnNlSW50IiwiaW5uZXJUZXh0IiwicmVwbGFjZSIsImlzTmFOIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDLFFBQUlDLFVBQVUsQ0FBZDs7QUFFQSxRQUFJQyxTQUFTQyxzQkFBVCxDQUFnQyx1Q0FBaEMsRUFBeUVDLE1BQXpFLEdBQWtGLENBQXRGLEVBQXlGO0FBQ3ZGLFlBQU1DLFdBQVdILFNBQVNDLHNCQUFULENBQWdDLHVDQUFoQyxDQUFqQjtBQUNBLFdBQUssSUFBSUcsSUFBSSxDQUFiLEVBQWdCQSxJQUFJRCxTQUFTRCxNQUE3QixFQUFxQ0UsR0FBckMsRUFBMEM7QUFDeEMsY0FBTUMsWUFBWUMsU0FBU0gsU0FBU0MsQ0FBVCxFQUFZRyxTQUFaLENBQXNCQyxPQUF0QixDQUE4QixVQUE5QixFQUEwQyxFQUExQyxDQUFULEVBQXdELEVBQXhELENBQWxCO0FBQ0EsWUFBSSxDQUFDQyxNQUFNVixPQUFOLENBQUQsSUFBb0JNLFlBQVksQ0FBcEMsRUFBd0M7QUFDdEM7QUFDQU4scUJBQVcsQ0FBWCxDQUZzQyxDQUV4QjtBQUNmO0FBQ0Y7QUFDRjs7QUFFRCxRQUFJVSxNQUFNVixPQUFOLENBQUosRUFBb0I7QUFDbEJBLGdCQUFVLENBQVY7QUFDRDs7QUFFREYsVUFBTWEsUUFBTixDQUFlWCxPQUFmO0FBQ0QsR0FuQkQ7O0FBcUJBRixRQUFNYyxJQUFOLENBQVdiLFdBQVg7QUFDRCxDQXZCRCIsImZpbGUiOiJpY3Evd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgbGV0IGRpcmVjdHMgPSAwO1xuXG4gICAgaWYgKGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ253YS1tc2ctY291bnRlciBpY3EtcmVjZW50X3N0YXRlLXJlYWQnKS5sZW5ndGggPiAwKSB7XG4gICAgICBjb25zdCBlbGVtZW50cyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoJ253YS1tc2ctY291bnRlciBpY3EtcmVjZW50X3N0YXRlLXJlYWQnKTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgZWxlbWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgY29uc3QgY291bnRMaW5lID0gcGFyc2VJbnQoZWxlbWVudHNbaV0uaW5uZXJUZXh0LnJlcGxhY2UoL1teMC05Ll0vZywgJycpLCAxMCk7XG4gICAgICAgIGlmICghaXNOYU4oZGlyZWN0cykgJiYgKGNvdW50TGluZSA+IDApKSB7XG4gICAgICAgICAgLy8gZGlyZWN0cyArPSBjb3VudF9saW5lOyAvLyBjb3VudCBldmVyeSBtZXNzYWdlXG4gICAgICAgICAgZGlyZWN0cyArPSAxOyAvLyBjb3VudCAxIHBlciBjaGFubmVsIHdpdGggbWVzc2FnZXNcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc05hTihkaXJlY3RzKSkge1xuICAgICAgZGlyZWN0cyA9IDA7XG4gICAgfVxuXG4gICAgRnJhbnouc2V0QmFkZ2UoZGlyZWN0cyk7XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/idobata/index.js b/recipes/idobata/index.js
index 65d849e..23607bd 100644
--- a/recipes/idobata/index.js
+++ b/recipes/idobata/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlkb2JhdGEvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJpZG9iYXRhL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/idobata/package.json b/recipes/idobata/package.json
index 3048ecc..f2b8768 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.1.2", 4 "version": "0.2.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 7d5c521..dde264e 100644
--- a/recipes/idobata/webview.js
+++ b/recipes/idobata/webview.js
@@ -1,11 +1,10 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 function getMessages() { 2 function getMessages() {
3 const title = document.querySelector('title').innerHTML.match(/\d+/); 3 const title = document.querySelector('title').innerHTML.match(/\d+/);
4 const count = title !== null ? title[0] : 0; 4 const count = title !== null ? title[0] : 0;
5 5
6 Franz.setBadge(count); 6 Ferdi.setBadge(count);
7 } 7 }
8 8
9 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
10}; 10};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlkb2JhdGEvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsInRpdGxlIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiaW5uZXJIVE1MIiwibWF0Y2giLCJjb3VudCIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFdBQVNDLFdBQVQsR0FBdUI7QUFDckIsVUFBTUMsUUFBUUMsU0FBU0MsYUFBVCxDQUF1QixPQUF2QixFQUFnQ0MsU0FBaEMsQ0FBMENDLEtBQTFDLENBQWdELEtBQWhELENBQWQ7QUFDQSxVQUFNQyxRQUFRTCxVQUFVLElBQVYsR0FBaUJBLE1BQU0sQ0FBTixDQUFqQixHQUE0QixDQUExQzs7QUFFQUYsVUFBTVEsUUFBTixDQUFlRCxLQUFmO0FBQ0Q7O0FBRURQLFFBQU1TLElBQU4sQ0FBV1IsV0FBWDtBQUNELENBVEQiLCJmaWxlIjoiaWRvYmF0YS93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgdGl0bGUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCd0aXRsZScpLmlubmVySFRNTC5tYXRjaCgvXFxkKy8pO1xuICAgIGNvbnN0IGNvdW50ID0gdGl0bGUgIT09IG51bGwgPyB0aXRsZVswXSA6IDA7XG5cbiAgICBGcmFuei5zZXRCYWRnZShjb3VudCk7XG4gIH1cblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/infomaniak-mail/package.json b/recipes/infomaniak-mail/package.json
index f821a69..b991467 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.0.2", 4 "version": "1.1.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 235a14d..0022949 100644
--- a/recipes/infomaniak-mail/webview.js
+++ b/recipes/infomaniak-mail/webview.js
@@ -3,5 +3,6 @@ module.exports = Ferdi => {
3 const count = document.querySelector('.ws-tree-node-badge').innerText; 3 const count = document.querySelector('.ws-tree-node-badge').innerText;
4 Ferdi.setBadge(count ? Number(count.substring(1, count.length - 1)) : 0); 4 Ferdi.setBadge(count ? Number(count.substring(1, count.length - 1)) : 0);
5 } 5 }
6
6 Ferdi.loop(getMessages); 7 Ferdi.loop(getMessages);
7}; 8};
diff --git a/recipes/inoreader/index.js b/recipes/inoreader/index.js
index 258da41..23607bd 100644
--- a/recipes/inoreader/index.js
+++ b/recipes/inoreader/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/inoreader/package.json b/recipes/inoreader/package.json
index 2d0e0ed..bc8afb1 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.0.3", 4 "version": "1.1.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 fddee5c..e4733ab 100644
--- a/recipes/inoreader/webview.js
+++ b/recipes/inoreader/webview.js
@@ -1,11 +1,11 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
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 Franz.setBadge(unread_articles_cnt); 7 Ferdi.setBadge(unread_articles_cnt);
8 }; 8 };
9 9
10 Franz.loop(getMessages); 10 Ferdi.loop(getMessages);
11}; 11};
diff --git a/recipes/instagram/index.js b/recipes/instagram/index.js
index 2c7de64..928d5b1 100644
--- a/recipes/instagram/index.js
+++ b/recipes/instagram/index.js
@@ -1,8 +1,5 @@
1module.exports = Franz => class Instagram extends Franz { 1module.exports = Ferdi => class Instagram extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
diff --git a/recipes/instagram/package.json b/recipes/instagram/package.json
index a3180d3..80391bc 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.1.0", 4 "version": "2.2.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 be54317..b6d9aa3 100644
--- a/recipes/instagram/webview.js
+++ b/recipes/instagram/webview.js
@@ -1,15 +1,14 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 const element = document.querySelector('a[href^="/direct/inbox"]'); 7 const element = document.querySelector('a[href^="/direct/inbox"]');
6 8 Ferdi.setBadge(element ? parseInt(element.innerText, 10) : 0);
7 if (element) {
8 Franz.setBadge(parseInt(element.innerText, 10));
9 }
10 }; 9 };
11 10
12 Franz.loop(getMessages); 11 Ferdi.loop(getMessages);
13 12
14 Franz.injectCSS(path.join(__dirname, 'service.css')); 13 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
15}; 14};
diff --git a/recipes/intercom/package.json b/recipes/intercom/package.json
index f909dbf..fbe3871 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.0.1", 4 "version": "1.1.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 7882904..18445d8 100644
--- a/recipes/intercom/webview.js
+++ b/recipes/intercom/webview.js
@@ -1,11 +1,7 @@
1module.exports = (Ferdi) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const numMessages = parseInt(document.querySelector('.left-nav [data-content="Inbox"] .unread__container .unread').innerHTML.trim()); 3 const numMessages = parseInt(document.querySelector('.left-nav [data-content="Inbox"] .unread__container .unread').innerHTML.trim());
4 if (numMessages >= 0) { 4 Ferdi.setBadge(numMessages >= 0 ? numMessages : 0, 0);
5 Ferdi.setBadge(numMessages, 0);
6 } else {
7 Ferdi.setBadge(0, 0);
8 }
9 } 5 }
10 6
11 Ferdi.loop(getMessages); 7 Ferdi.loop(getMessages);
diff --git a/recipes/irccloud/index.js b/recipes/irccloud/index.js
index 45d4144..23607bd 100644
--- a/recipes/irccloud/index.js
+++ b/recipes/irccloud/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlyY2Nsb3VkL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoiaXJjY2xvdWQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/irccloud/package.json b/recipes/irccloud/package.json
index 2744885..89292b0 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.0.3", 4 "version": "1.1.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 1e98d4f..8ae318d 100644
--- a/recipes/irccloud/webview.js
+++ b/recipes/irccloud/webview.js
@@ -1,13 +1,10 @@
1const path = require('path'); 1module.exports = Ferdi => {
2
3module.exports = Franz => {
4 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
5 const directMessages = document.getElementsByClassName('buffer conversation active unread activeBadge').length; 3 const directMessages = document.getElementsByClassName('buffer conversation active unread activeBadge').length;
6 const indirectMessages = document.getElementsByClassName('buffer channel active unread').length; 4 const indirectMessages = document.getElementsByClassName('buffer channel active unread').length;
7 5
8 Franz.setBadge(directMessages, indirectMessages); 6 Ferdi.setBadge(directMessages, indirectMessages);
9 }; 7 };
10 8
11 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
12}; 10};
13// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImlyY2Nsb3VkL3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImRpcmVjdE1lc3NhZ2VzIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwibGVuZ3RoIiwiaW5kaXJlY3RNZXNzYWdlcyIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxRQUFJQyxpQkFBaUJDLFNBQVNDLHNCQUFULENBQWdDLCtDQUFoQyxFQUFpRkMsTUFBdEc7QUFDQSxRQUFJQyxtQkFBbUJILFNBQVNDLHNCQUFULENBQWdDLDhCQUFoQyxFQUFnRUMsTUFBdkY7O0FBRUFMLFVBQU1PLFFBQU4sQ0FBZUwsY0FBZixFQUErQkksZ0JBQS9CO0FBQ0QsR0FMRDs7QUFPQU4sUUFBTVEsSUFBTixDQUFXUCxXQUFYO0FBQ0QsQ0FURCIsImZpbGUiOiJpcmNjbG91ZC93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgcGF0aCA9IHJlcXVpcmUoJ3BhdGgnKTtcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICB2YXIgZGlyZWN0TWVzc2FnZXMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFwiYnVmZmVyIGNvbnZlcnNhdGlvbiBhY3RpdmUgdW5yZWFkIGFjdGl2ZUJhZGdlXCIpLmxlbmd0aDtcbiAgICB2YXIgaW5kaXJlY3RNZXNzYWdlcyA9IGRvY3VtZW50LmdldEVsZW1lbnRzQnlDbGFzc05hbWUoXCJidWZmZXIgY2hhbm5lbCBhY3RpdmUgdW5yZWFkXCIpLmxlbmd0aDtcblxuICAgIEZyYW56LnNldEJhZGdlKGRpcmVjdE1lc3NhZ2VzLCBpbmRpcmVjdE1lc3NhZ2VzKTtcbiAgfTtcblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/jira/index.js b/recipes/jira/index.js
index 9fd312d..038749a 100644
--- a/recipes/jira/index.js
+++ b/recipes/jira/index.js
@@ -1,8 +1,5 @@
1module.exports = (Franz) => class Jira extends Franz { 1module.exports = (Ferdi) => class Jira extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
diff --git a/recipes/jira/package.json b/recipes/jira/package.json
index 4a4ded5..09ace99 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.2.3", 4 "version": "1.3.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 aca65be..f52235d 100644
--- a/recipes/jira/webview.js
+++ b/recipes/jira/webview.js
@@ -1,14 +1,12 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 // get unread messages 3 // get unread messages
4 const element = document.querySelector('#atlassian-navigation-notification-count span'); 4 const element = document.querySelector('#atlassian-navigation-notification-count span');
5 let count = element ? element.innerText : 0; 5 let count = element ? element.innerText : 0;
6 count = parseInt(count, 10); 6 count = parseInt(count, 10);
7 7
8 // set Franz badge 8 Ferdi.setBadge(count);
9 Franz.setBadge(count);
10 }; 9 };
11 10
12 // check for new messages every second and update Franz badge 11 Ferdi.loop(getMessages);
13 Franz.loop(getMessages);
14}; 12};
diff --git a/recipes/jitsi/index.js b/recipes/jitsi/index.js
index 8de4268..84925be 100644
--- a/recipes/jitsi/index.js
+++ b/recipes/jitsi/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Jitsi extends Franz { 1module.exports = Ferdi => class Jitsi extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
diff --git a/recipes/jitsi/package.json b/recipes/jitsi/package.json
index 2a84fde..7fffd0e 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.0.6", 4 "version": "1.1.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/jollor/index.js b/recipes/jollor/index.js
index 46f936f..23607bd 100644
--- a/recipes/jollor/index.js
+++ b/recipes/jollor/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/jollor/package.json b/recipes/jollor/package.json
index a988d10..40c32b5 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.0.2", 4 "version": "1.1.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 a575eab..5982ece 100644
--- a/recipes/jollor/webview.js
+++ b/recipes/jollor/webview.js
@@ -1,12 +1,14 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 function getMessages() { 6 function getMessages() {
5 const count = document.querySelector('.user-menu-message-item-count').innerHTML; 7 const count = document.querySelector('.user-menu-message-item-count').innerHTML;
6 8 Ferdi.setBadge(count);
7 Franz.setBadge(count);
8 } 9 }
9 10
10 Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); 11 Ferdi.loop(getMessages);
11 Franz.loop(getMessages); 12
13 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
12}; 14};
diff --git a/recipes/kaizala/index.js b/recipes/kaizala/index.js
index f122bf4..7ea3060 100644
--- a/recipes/kaizala/index.js
+++ b/recipes/kaizala/index.js
@@ -1,8 +1,5 @@
1module.exports = (Franz) => class Messenger extends Franz { 1module.exports = (Ferdi) => class Messenger extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
diff --git a/recipes/kaizala/package.json b/recipes/kaizala/package.json
index 2095d5d..fc18119 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.1.2", 4 "version": "1.2.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 f370ff1..17ead54 100644
--- a/recipes/kaizala/webview.js
+++ b/recipes/kaizala/webview.js
@@ -1,8 +1,8 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const count = document.querySelectorAll('.unseen-msg-count').length; 3 const count = document.querySelectorAll('.unseen-msg-count').length;
4 Franz.setBadge(count); 4 Ferdi.setBadge(count);
5 }; 5 };
6 6
7 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
8}; 8};
diff --git a/recipes/keybase.io/index.js b/recipes/keybase.io/index.js
index 73ed231..3ffa657 100644
--- a/recipes/keybase.io/index.js
+++ b/recipes/keybase.io/index.js
@@ -1,2 +1,2 @@
1module.exports = (Franz) => class LineMe extends Franz { 1module.exports = (Ferdi) => class LineMe extends Ferdi {
2}; 2};
diff --git a/recipes/keybase.io/package.json b/recipes/keybase.io/package.json
index 4772a6f..2818c04 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.0.2", 4 "version": "1.1.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/keybase.io/webview.js b/recipes/keybase.io/webview.js
index 8025966..7e19dff 100644
--- a/recipes/keybase.io/webview.js
+++ b/recipes/keybase.io/webview.js
@@ -1,2 +1,2 @@
1module.exports = (Franz) => { 1module.exports = Ferdi => {
2}; 2};
diff --git a/recipes/kimai-cloud/index.js b/recipes/kimai-cloud/index.js
index 46f936f..23607bd 100644
--- a/recipes/kimai-cloud/index.js
+++ b/recipes/kimai-cloud/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/kimai-cloud/package.json b/recipes/kimai-cloud/package.json
index 550d0ef..f4c1dcf 100644
--- a/recipes/kimai-cloud/package.json
+++ b/recipes/kimai-cloud/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.0.2", 4 "version": "1.1.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/kimai-cloud/webview.js b/recipes/kimai-cloud/webview.js
index fd12ce8..f4e2e9f 100644
--- a/recipes/kimai-cloud/webview.js
+++ b/recipes/kimai-cloud/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = 0; 3 let count = 0;
4 4
@@ -8,8 +8,8 @@ module.exports = (Franz) => {
8 count = label.textContent; 8 count = label.textContent;
9 } 9 }
10 10
11 // set Franz badge 11 // set Ferdi badge
12 Franz.setBadge(count); 12 Ferdi.setBadge(count);
13 }; 13 };
14 14
15 document.addEventListener('click', (e) => { 15 document.addEventListener('click', (e) => {
@@ -22,6 +22,5 @@ module.exports = (Franz) => {
22 } 22 }
23 }); 23 });
24 24
25 // check for new messages every second and update Franz badge 25 Ferdi.loop(getMessages);
26 Franz.loop(getMessages);
27}; 26};
diff --git a/recipes/lark/index.js b/recipes/lark/index.js
index 258da41..23607bd 100644
--- a/recipes/lark/index.js
+++ b/recipes/lark/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/lark/package.json b/recipes/lark/package.json
index 6f64a10..81c2a37 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.0.4", 4 "version": "0.1.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 d4e88e1..5e32219 100644
--- a/recipes/lark/webview.js
+++ b/recipes/lark/webview.js
@@ -1,16 +1,19 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 const ele = document.querySelectorAll('.larkc-badge-count.navbarMenu-badge'); 7 const ele = document.querySelectorAll('.larkc-badge-count.navbarMenu-badge');
6 if (!ele.length) { 8 if (!ele.length) {
7 Franz.setBadge(0); 9 Ferdi.setBadge(0);
8 return; 10 return;
9 } 11 }
10 const messages = parseInt(ele[0].innerHTML, 10); 12 const messages = parseInt(ele[0].innerHTML, 10);
11 Franz.setBadge(messages); 13 Ferdi.setBadge(messages);
12 }; 14 };
13 15
14 Franz.injectCSS(path.join(__dirname, 'service.css')); 16 Ferdi.loop(getMessages);
15 Franz.loop(getMessages); 17
18 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
16}; 19};
diff --git a/recipes/lastpass/index.js b/recipes/lastpass/index.js
index 16c9047..e0daab9 100644
--- a/recipes/lastpass/index.js
+++ b/recipes/lastpass/index.js
@@ -1,5 +1,5 @@
1module.exports = Franz => class Messenger extends Franz { 1module.exports = Ferdi => class Messenger extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Franz|Electron)([^\s]+\s)/g, ''); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/lastpass/package.json b/recipes/lastpass/package.json
index b54e92a..d45cb4b 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.0.2", 4 "version": "2.1.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 bed9a32..d4090b3 100644
--- a/recipes/lastpass/webview.js
+++ b/recipes/lastpass/webview.js
@@ -1,13 +1,13 @@
1const { 1const _path = _interopRequireDefault(require('path'));
2 remote,
3} = require('electron');
4 2
5const path = require('path'); 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5const { remote } = require('electron');
6 6
7const webContents = remote.getCurrentWebContents(); 7const webContents = remote.getCurrentWebContents();
8const { 8
9 session, 9const { session } = webContents;
10} = webContents; 10
11setTimeout(() => { 11setTimeout(() => {
12 if (document.querySelector('body').innerHTML.includes('Google Chrome 36+')) { 12 if (document.querySelector('body').innerHTML.includes('Google Chrome 36+')) {
13 window.location.reload(); 13 window.location.reload();
@@ -29,7 +29,7 @@ window.addEventListener('beforeunload', async () => {
29 } 29 }
30}); 30});
31 31
32module.exports = Franz => { 32module.exports = Ferdi => {
33 const getMessages = function getMessages() { 33 const getMessages = function getMessages() {
34 const elements = document.querySelectorAll('.CxUIE, .unread'); 34 const elements = document.querySelectorAll('.CxUIE, .unread');
35 let count = 0; 35 let count = 0;
@@ -40,9 +40,10 @@ module.exports = Franz => {
40 } 40 }
41 } 41 }
42 42
43 Franz.setBadge(count); 43 Ferdi.setBadge(count);
44 }; 44 };
45 45
46 Franz.injectCSS(path.join(__dirname, 'service.css')); 46 Ferdi.loop(getMessages);
47 Franz.loop(getMessages); 47
48 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
48}; 49};
diff --git a/recipes/line.me/index.js b/recipes/line.me/index.js
index 73ed231..3ffa657 100644
--- a/recipes/line.me/index.js
+++ b/recipes/line.me/index.js
@@ -1,2 +1,2 @@
1module.exports = (Franz) => class LineMe extends Franz { 1module.exports = (Ferdi) => class LineMe extends Ferdi {
2}; 2};
diff --git a/recipes/line.me/package.json b/recipes/line.me/package.json
index 050ea10..6db3351 100644
--- a/recipes/line.me/package.json
+++ b/recipes/line.me/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "line-me", 2 "id": "line-me",
3 "name": "Line.me", 3 "name": "Line.me",
4 "version": "1.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://line.me/en", 7 "serviceURL": "https://line.me/en",
diff --git a/recipes/line.me/webview.js b/recipes/line.me/webview.js
index 8025966..7e19dff 100644
--- a/recipes/line.me/webview.js
+++ b/recipes/line.me/webview.js
@@ -1,2 +1,2 @@
1module.exports = (Franz) => { 1module.exports = Ferdi => {
2}; 2};
diff --git a/recipes/linkedin/index.js b/recipes/linkedin/index.js
index 4686493..23607bd 100644
--- a/recipes/linkedin/index.js
+++ b/recipes/linkedin/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbmtlZGluL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoibGlua2VkaW4vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/linkedin/package.json b/recipes/linkedin/package.json
index dce9858..e595182 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.1.0", 4 "version": "1.2.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 6aa851a..f109b0d 100644
--- a/recipes/linkedin/webview.js
+++ b/recipes/linkedin/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = 0; 3 let count = 0;
4 4
@@ -12,11 +12,8 @@ module.exports = Franz => {
12 } 12 }
13 } 13 }
14 14
15 // set Franz badge 15 Ferdi.setBadge(count);
16 Franz.setBadge(count);
17 }; 16 };
18 17
19 // check for new messages every second and update Franz badge 18 Ferdi.loop(getMessages);
20 Franz.loop(getMessages);
21}; 19};
22// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImxpbmtlZGluL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJjb3VudCIsIndpbmRvdyIsImxvY2F0aW9uIiwicGF0aG5hbWUiLCJpbmNsdWRlcyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImxlbmd0aCIsImVsZW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFyc2VJbnQiLCJpbm5lckhUTUwiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekMsUUFBSUMsUUFBUSxDQUFaOztBQUVBLFFBQUlDLE9BQU9DLFFBQVAsQ0FBZ0JDLFFBQWhCLENBQXlCQyxRQUF6QixDQUFrQyxXQUFsQyxDQUFKLEVBQW9EO0FBQ2xESixjQUFRSyxTQUFTQyxnQkFBVCxDQUEwQixzQ0FBMUIsRUFBa0VDLE1BQTFFO0FBQ0QsS0FGRCxNQUVPO0FBQ0wsWUFBTUMsVUFBVUgsU0FBU0ksYUFBVCxDQUF1Qiw2Q0FBdkIsQ0FBaEI7O0FBRUEsVUFBSUQsT0FBSixFQUFhO0FBQ1hSLGdCQUFRVSxTQUFTRixRQUFRRyxTQUFqQixFQUE0QixFQUE1QixDQUFSO0FBQ0Q7QUFDRjs7QUFFRDtBQUNBYixVQUFNYyxRQUFOLENBQWVaLEtBQWY7QUFDRCxHQWZEOztBQWlCQTtBQUNBRixRQUFNZSxJQUFOLENBQVdkLFdBQVg7QUFDRCxDQXBCRCIsImZpbGUiOiJsaW5rZWRpbi93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBsZXQgY291bnQgPSAwO1xuXG4gICAgaWYgKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZS5pbmNsdWRlcygnbWVzc2FnaW5nJykpIHtcbiAgICAgIGNvdW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm1zZy1jb252ZXJzYXRpb24tY2FyZF9fdW5yZWFkLWNvdW50JykubGVuZ3RoO1xuICAgIH0gZWxzZSB7XG4gICAgICBjb25zdCBlbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLm5hdi1pdGVtLS1tZXNzYWdpbmcgLm5hdi1pdGVtX19iYWRnZS1jb3VudCcpO1xuXG4gICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICBjb3VudCA9IHBhcnNlSW50KGVsZW1lbnQuaW5uZXJIVE1MLCAxMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2V0IEZyYW56IGJhZGdlXG4gICAgRnJhbnouc2V0QmFkZ2UoY291bnQpO1xuICB9O1xuXG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/mailbox.org/index.js b/recipes/mailbox.org/index.js
index 5c9f5a4..23607bd 100644
--- a/recipes/mailbox.org/index.js
+++ b/recipes/mailbox.org/index.js
@@ -1,2 +1 @@
1// default integration (e.g messenger.com, ...) module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/mailbox.org/package.json b/recipes/mailbox.org/package.json
index 4d7d76b..c99d244 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.2.4", 4 "version": "1.3.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 c195089..489dc94 100644
--- a/recipes/mailbox.org/webview.js
+++ b/recipes/mailbox.org/webview.js
@@ -1,8 +1,9 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const count = document.querySelectorAll('.new-item').length; 3 const count = document.querySelectorAll('.new-item').length;
4 4
5 Franz.setBadge(count); 5 Ferdi.setBadge(count);
6 }; 6 };
7 Franz.loop(getMessages); 7
8 Ferdi.loop(getMessages);
8}; 9};
diff --git a/recipes/mastodon/index.js b/recipes/mastodon/index.js
index 14a7917..1dd93cc 100644
--- a/recipes/mastodon/index.js
+++ b/recipes/mastodon/index.js
@@ -1,5 +1,5 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 class Mastodon extends Franz { 2 class Mastodon extends Ferdi {
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 edcc561..825fbc5 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.1.4", 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/mastodon/webview.js b/recipes/mastodon/webview.js
index 1abe7b4..b349220 100644
--- a/recipes/mastodon/webview.js
+++ b/recipes/mastodon/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
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 = (Franz, options) => {
21 unread = 1; 21 unread = 1;
22 } 22 }
23 23
24 Franz.setBadge(reply, unread); 24 Ferdi.setBadge(reply, unread);
25 } 25 }
26 26
27 Franz.loop(getMessages); 27 Ferdi.loop(getMessages);
28}; 28};
diff --git a/recipes/mattermost/index.js b/recipes/mattermost/index.js
index 8ae5c17..290cdbc 100644
--- a/recipes/mattermost/index.js
+++ b/recipes/mattermost/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Mattermost extends Franz { 1module.exports = Ferdi => class Mattermost extends Ferdi {
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 d6666ef..befe718 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.2.5", 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/mattermost/webview.js b/recipes/mattermost/webview.js
index 1d2a39c..88d1b80 100644
--- a/recipes/mattermost/webview.js
+++ b/recipes/mattermost/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
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 = Franz => {
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 Franz.setBadge(directMessages + teamDirectMessages, allMessages + teamMessages); 18 Ferdi.setBadge(directMessages + teamDirectMessages, allMessages + teamMessages);
19 }; 19 };
20 20
21 Franz.loop(getMessages); 21 Ferdi.loop(getMessages);
22}; 22};
diff --git a/recipes/messenger/index.js b/recipes/messenger/index.js
index f122bf4..7ea3060 100644
--- a/recipes/messenger/index.js
+++ b/recipes/messenger/index.js
@@ -1,8 +1,5 @@
1module.exports = (Franz) => class Messenger extends Franz { 1module.exports = (Ferdi) => class Messenger extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
diff --git a/recipes/messenger/package.json b/recipes/messenger/package.json
index 8fd27c3..ba84ed5 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.2.0", 4 "version": "1.3.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 b146261..098c6f5 100644
--- a/recipes/messenger/webview.js
+++ b/recipes/messenger/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = 0; 3 let count = 0;
4 4
@@ -31,17 +31,18 @@ module.exports = Franz => {
31 count += parseInt(messageRequestsElement.innerHTML, 10); 31 count += parseInt(messageRequestsElement.innerHTML, 10);
32 } 32 }
33 33
34 Franz.setBadge(count); 34 Ferdi.setBadge(count);
35 }; 35 };
36 36
37 Franz.loop(getMessages); 37 Ferdi.loop(getMessages);
38
38 localStorage.setItem('_cs_desktopNotifsEnabled', JSON.stringify({ 39 localStorage.setItem('_cs_desktopNotifsEnabled', JSON.stringify({
39 __t: new Date().getTime(), 40 __t: new Date().getTime(),
40 __v: true, 41 __v: true,
41 })); 42 }));
42 43
43 if (typeof Franz.onNotify === 'function') { 44 if (typeof Ferdi.onNotify === 'function') {
44 Franz.onNotify(notification => { 45 Ferdi.onNotify(notification => {
45 if (typeof notification.title !== 'string') { 46 if (typeof notification.title !== 'string') {
46 notification.title = ((notification.title.props || {}).content || [])[0] || 'Messenger'; 47 notification.title = ((notification.title.props || {}).content || [])[0] || 'Messenger';
47 } 48 }
diff --git a/recipes/monday/index.js b/recipes/monday/index.js
index 258da41..23607bd 100644
--- a/recipes/monday/index.js
+++ b/recipes/monday/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/monday/package.json b/recipes/monday/package.json
index 30436b6..35556a8 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.0.4", 4 "version": "1.1.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 e07e784..bdd73ca 100755
--- a/recipes/monday/webview.js
+++ b/recipes/monday/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 = Franz => { 5module.exports = Ferdi => {
6 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
7 let count = 0; 7 let count = 0;
8 8
@@ -12,9 +12,10 @@ module.exports = Franz => {
12 count += parseInt(counters[i].textContent); 12 count += parseInt(counters[i].textContent);
13 } 13 }
14 14
15 Franz.setBadge(count); 15 Ferdi.setBadge(count);
16 }; 16 };
17 17
18 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 18 Ferdi.loop(getMessages);
19 Franz.loop(getMessages); 19
20 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
20}; 21};
diff --git a/recipes/monicahq/index.js b/recipes/monicahq/index.js
index 46f936f..23607bd 100755
--- a/recipes/monicahq/index.js
+++ b/recipes/monicahq/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/monicahq/package.json b/recipes/monicahq/package.json
index ade505e..e3413bf 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.0.2", 4 "version": "1.1.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/msteams/index.js b/recipes/msteams/index.js
index 9d4c279..d1bd721 100644
--- a/recipes/msteams/index.js
+++ b/recipes/msteams/index.js
@@ -1,5 +1,5 @@
1module.exports = Franz => class MicrosoftTeams extends Franz { 1module.exports = Ferdi => class MicrosoftTeams extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, ''); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 } 4 }
5}; 5};
diff --git a/recipes/msteams/package.json b/recipes/msteams/package.json
index 7ddfcaa..9ccc53a 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.0.2", 4 "version": "3.1.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 26147dc..8e971ec 100644
--- a/recipes/msteams/webview.js
+++ b/recipes/msteams/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = () => { 6 const getMessages = () => {
5 let messages = 0; 7 let messages = 0;
6 const badge = document.querySelector('.activity-badge.dot-activity-badge .activity-badge'); 8 const badge = document.querySelector('.activity-badge.dot-activity-badge .activity-badge');
@@ -13,10 +15,11 @@ module.exports = Franz => {
13 15
14 const indirectMessages = document.querySelectorAll('[class*=channel-anchor][class*=ts-unread-channel]').length; 16 const indirectMessages = document.querySelectorAll('[class*=channel-anchor][class*=ts-unread-channel]').length;
15 17
16 Franz.setBadge(messages, indirectMessages); 18 Ferdi.setBadge(messages, indirectMessages);
17 }; 19 };
18 20
19 Franz.injectCSS(path.join(__dirname, 'service.css')); 21 Ferdi.loop(getMessages);
20 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 22
21 Franz.loop(getMessages); 23 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
24 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
22}; 25};
diff --git a/recipes/mstodo/package.json b/recipes/mstodo/package.json
index 3378111..c4fae20 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.0.3", 4 "version": "1.1.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 303e816..1fd8795 100644
--- a/recipes/mstodo/webview.js
+++ b/recipes/mstodo/webview.js
@@ -18,5 +18,6 @@ module.exports = Ferdi => {
18 }; 18 };
19 19
20 Ferdi.loop(getMessages); 20 Ferdi.loop(getMessages);
21
21 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 22 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
22}; 23};
diff --git a/recipes/mysms/index.js b/recipes/mysms/index.js
index 07ce5be..23607bd 100644
--- a/recipes/mysms/index.js
+++ b/recipes/mysms/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15c21zL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoibXlzbXMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/mysms/package.json b/recipes/mysms/package.json
index 9cd4f61..29cff0b 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.0.2", 4 "version": "1.1.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 c069cb9..f8660ee 100644
--- a/recipes/mysms/webview.js
+++ b/recipes/mysms/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const elements = document.getElementsByClassName('unread'); 3 const elements = document.getElementsByClassName('unread');
4 4
@@ -10,9 +10,8 @@ module.exports = Franz => {
10 } 10 }
11 } 11 }
12 12
13 Franz.setBadge(count); 13 Ferdi.setBadge(count);
14 }; 14 };
15 15
16 Franz.loop(getMessages); 16 Ferdi.loop(getMessages);
17}; 17};
18// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm15c21zL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJlbGVtZW50cyIsImRvY3VtZW50IiwiZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSIsImNvdW50IiwiaSIsImxlbmd0aCIsImNvdW50X2xpbmUiLCJwYXJzZUludCIsImlubmVyVGV4dCIsInJlcGxhY2UiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDekMsVUFBTUMsV0FBV0MsU0FBU0Msc0JBQVQsQ0FBZ0MsUUFBaEMsQ0FBakI7O0FBRUQsUUFBSUMsUUFBUSxDQUFaO0FBQ0EsU0FBSSxJQUFJQyxJQUFJLENBQVosRUFBZUEsSUFBSUosU0FBU0ssTUFBNUIsRUFBb0NELEdBQXBDLEVBQXlDO0FBQ3hDLFVBQUlFLGFBQWFDLFNBQVNQLFNBQVNJLENBQVQsRUFBWUksU0FBWixDQUFzQkMsT0FBdEIsQ0FBOEIsVUFBOUIsRUFBMEMsRUFBMUMsQ0FBVCxDQUFqQjtBQUNBLFVBQUlILGFBQWEsQ0FBakIsRUFBb0I7QUFDbkJILGdCQURtQixDQUNWO0FBQ1Q7QUFDRDs7QUFFQUwsVUFBTVksUUFBTixDQUFlUCxLQUFmO0FBQ0QsR0FaRDs7QUFjQUwsUUFBTWEsSUFBTixDQUFXWixXQUFYO0FBQ0QsQ0FoQkQiLCJmaWxlIjoibXlzbXMvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCd1bnJlYWQnKTtcblxuICBcdGxldCBjb3VudCA9IDA7XG4gIFx0Zm9yKGxldCBpID0gMDsgaSA8IGVsZW1lbnRzLmxlbmd0aDsgaSsrKSB7XG4gIFx0XHRsZXQgY291bnRfbGluZSA9IHBhcnNlSW50KGVsZW1lbnRzW2ldLmlubmVyVGV4dC5yZXBsYWNlKC9bXjAtOS5dL2csIFwiXCIpKTtcbiAgXHRcdGlmIChjb3VudF9saW5lID4gMCkge1xuICBcdFx0XHRjb3VudCsrOyAvLyBjb3VudCAxIHBlciBjaGFubmVsIHdpdGggbWVzc2FnZXNcbiAgXHRcdH1cbiAgXHR9XG5cbiAgICBGcmFuei5zZXRCYWRnZShjb3VudCk7XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/netatmo-energy/index.js b/recipes/netatmo-energy/index.js
index 0b926e1..23607bd 100644
--- a/recipes/netatmo-energy/index.js
+++ b/recipes/netatmo-energy/index.js
@@ -1,4 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = function (Franz) {
3 return Franz;
4};
diff --git a/recipes/netatmo-energy/package.json b/recipes/netatmo-energy/package.json
index e30cfe4..b429e7d 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.0.3", 4 "version": "1.1.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/netatmo-energy/webview.js b/recipes/netatmo-energy/webview.js
index 4fed51b..7e19dff 100644
--- a/recipes/netatmo-energy/webview.js
+++ b/recipes/netatmo-energy/webview.js
@@ -1,3 +1,2 @@
1module.exports = (Franz) => { 1module.exports = Ferdi => {
2
3}; 2};
diff --git a/recipes/nextcloud-calendar/index.js b/recipes/nextcloud-calendar/index.js
index ba017dc..972816c 100644
--- a/recipes/nextcloud-calendar/index.js
+++ b/recipes/nextcloud-calendar/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class NextcloudCarnet extends Franz { 1module.exports = Ferdi => class NextcloudCarnet extends Ferdi {
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 75157cc..02218d9 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.0.4", 4 "version": "1.1.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 2affdbf..34efa7c 100644
--- a/recipes/nextcloud-calendar/webview.js
+++ b/recipes/nextcloud-calendar/webview.js
@@ -1,8 +1,6 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Ferdi => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
@@ -14,5 +12,6 @@ module.exports = Ferdi => {
14 }; 12 };
15 13
16 Ferdi.loop(getMessages); 14 Ferdi.loop(getMessages);
15
17 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 16 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
18}; 17};
diff --git a/recipes/nextcloud-carnet/index.js b/recipes/nextcloud-carnet/index.js
index 24dd528..d983e26 100644
--- a/recipes/nextcloud-carnet/index.js
+++ b/recipes/nextcloud-carnet/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class NextcloudCarnet extends Franz { 1module.exports = Ferdi => class NextcloudCarnet extends Ferdi {
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 ab7e828..264cbd9 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.0.2", 4 "version": "1.1.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 ab6d5f9..8152a24 100644
--- a/recipes/nextcloud-carnet/webview.js
+++ b/recipes/nextcloud-carnet/webview.js
@@ -1,10 +1,8 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Franz => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
9 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
10 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -13,9 +11,10 @@ module.exports = Franz => {
13 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
14 ).length; 12 ).length;
15 13
16 Franz.setBadge(direct, indirect); 14 Ferdi.setBadge(direct, indirect);
17 }; 15 };
18 16
19 Franz.loop(getMessages); 17 Ferdi.loop(getMessages);
20 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
21}; 20};
diff --git a/recipes/nextcloud-cospend/index.js b/recipes/nextcloud-cospend/index.js
index e1f6354..633774b 100644
--- a/recipes/nextcloud-cospend/index.js
+++ b/recipes/nextcloud-cospend/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class NextcloudCarnet extends Franz { 1module.exports = Ferdi => class NextcloudCarnet extends Ferdi {
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 cb3191f..58d9782 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.0.2", 4 "version": "1.1.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 ab6d5f9..8152a24 100644
--- a/recipes/nextcloud-cospend/webview.js
+++ b/recipes/nextcloud-cospend/webview.js
@@ -1,10 +1,8 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Franz => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
9 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
10 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -13,9 +11,10 @@ module.exports = Franz => {
13 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
14 ).length; 12 ).length;
15 13
16 Franz.setBadge(direct, indirect); 14 Ferdi.setBadge(direct, indirect);
17 }; 15 };
18 16
19 Franz.loop(getMessages); 17 Ferdi.loop(getMessages);
20 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
21}; 20};
diff --git a/recipes/nextcloud-talk/index.js b/recipes/nextcloud-talk/index.js
index ad8f01f..5cd6acb 100644
--- a/recipes/nextcloud-talk/index.js
+++ b/recipes/nextcloud-talk/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Nextcloud extends Franz { 1module.exports = Ferdi => class Nextcloud extends Ferdi {
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 e816f0f..553376c 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.0.6", 4 "version": "1.1.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 12c2230..b368d7c 100644
--- a/recipes/nextcloud-talk/webview.js
+++ b/recipes/nextcloud-talk/webview.js
@@ -1,8 +1,6 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Ferdi => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
@@ -28,5 +26,6 @@ module.exports = Ferdi => {
28 }; 26 };
29 27
30 Ferdi.loop(getMessages); 28 Ferdi.loop(getMessages);
29
31 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 30 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
32}; 31};
diff --git a/recipes/nextcloud-tasks/index.js b/recipes/nextcloud-tasks/index.js
index caaecd3..e62f4b0 100644
--- a/recipes/nextcloud-tasks/index.js
+++ b/recipes/nextcloud-tasks/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class NextcloudCarnet extends Franz { 1module.exports = Ferdi => class NextcloudCarnet extends Ferdi {
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 52f67ca..89a9b95 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.0.2", 4 "version": "1.1.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 ab6d5f9..8152a24 100644
--- a/recipes/nextcloud-tasks/webview.js
+++ b/recipes/nextcloud-tasks/webview.js
@@ -1,10 +1,8 @@
1const _path = _interopRequireDefault(require('path')); 1const _path = _interopRequireDefault(require('path'));
2 2
3function _interopRequireDefault(obj) { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6 4
7module.exports = Franz => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
9 const direct = document.querySelectorAll( 7 const direct = document.querySelectorAll(
10 '.app-navigation-entry-utils-counter.highlighted', 8 '.app-navigation-entry-utils-counter.highlighted',
@@ -13,9 +11,10 @@ module.exports = Franz => {
13 '.app-navigation-entry-utils-counter:not(.highlighted)', 11 '.app-navigation-entry-utils-counter:not(.highlighted)',
14 ).length; 12 ).length;
15 13
16 Franz.setBadge(direct, indirect); 14 Ferdi.setBadge(direct, indirect);
17 }; 15 };
18 16
19 Franz.loop(getMessages); 17 Ferdi.loop(getMessages);
20 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
21}; 20};
diff --git a/recipes/nextcloud/index.js b/recipes/nextcloud/index.js
index 798a4d7..66d3347 100644
--- a/recipes/nextcloud/index.js
+++ b/recipes/nextcloud/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Nextcloud extends Franz { 1module.exports = Ferdi => class Nextcloud extends Ferdi {
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 f607117..f4e6a52 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.0.2", 4 "version": "1.1.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 4a90bb1..9779a40 100644
--- a/recipes/nextcloud/webview.js
+++ b/recipes/nextcloud/webview.js
@@ -1,17 +1,11 @@
1const _path = _interopRequireDefault(require('path')); 1module.exports = Ferdi => {
2
3function _interopRequireDefault(obj) {
4 return obj && obj.__esModule ? obj : { default: obj };
5}
6
7module.exports = Franz => {
8 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
9 const direct = document.querySelectorAll( 3 const direct = document.querySelectorAll(
10 '.notifications .notification-container .notification-wrapper li .notification', 4 '.notifications .notification-container .notification-wrapper li .notification',
11 ).length; 5 ).length;
12 6
13 Franz.setBadge(direct); 7 Ferdi.setBadge(direct);
14 }; 8 };
15 9
16 Franz.loop(getMessages); 10 Ferdi.loop(getMessages);
17}; 11};
diff --git a/recipes/nextdoor/index.js b/recipes/nextdoor/index.js
index 258da41..23607bd 100644
--- a/recipes/nextdoor/index.js
+++ b/recipes/nextdoor/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/nextdoor/package.json b/recipes/nextdoor/package.json
index 86561c0..1e5c75a 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.0.3", 4 "version": "1.1.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 280d6a5..0ea8f57 100644
--- a/recipes/nextdoor/webview.js
+++ b/recipes/nextdoor/webview.js
@@ -1,12 +1,12 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let unread = 0; 3 let unread = 0;
4 const notificationBadge = document.getElementsByClassName('notification-badge')[0]; 4 const notificationBadge = document.getElementsByClassName('notification-badge')[0];
5 if (notificationBadge != undefined) { 5 if (notificationBadge != undefined) {
6 unread = notificationBadge.innerText; 6 unread = notificationBadge.innerText;
7 } 7 }
8 Franz.setBadge(parseInt(unread, 10)); 8 Ferdi.setBadge(parseInt(unread, 10));
9 }; 9 };
10 10
11 Franz.loop(getMessages); 11 Ferdi.loop(getMessages);
12}; 12};
diff --git a/recipes/nomadlist/index.js b/recipes/nomadlist/index.js
index 46f936f..23607bd 100644
--- a/recipes/nomadlist/index.js
+++ b/recipes/nomadlist/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/nomadlist/package.json b/recipes/nomadlist/package.json
index e9189a1..67aff78 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.0.4", 4 "version": "1.1.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 be1040c..1afaa1c 100644
--- a/recipes/nomadlist/webview.js
+++ b/recipes/nomadlist/webview.js
@@ -1,21 +1,7 @@
1const path = require('path'); 1module.exports = (Ferdi) => {
2
3module.exports = (Franz, options) => {
4 const getMessages = () => { 2 const getMessages = () => {
5 // get unread messages 3 Ferdi.setBadge($('.unread').length);
6 // const updates = document.getElementById('franz').getAttribute('data-unread');
7 const count = $('.unread').length;
8 Franz.setBadge(count);
9
10 // get conversations in 'My Inbox'
11 // const inbox = document.getElementById('franz').getAttribute('data-inbox');
12
13 // set Franz badge
14 // updates => active unread count
15 // inbox => passive unread count
16 // Franz.setBadge(updates, inbox);
17 }; 4 };
18 5
19 // check for new messages every second and update Franz badge 6 Ferdi.loop(getMessages);
20 Franz.loop(getMessages);
21}; 7};
diff --git a/recipes/notion/index.js b/recipes/notion/index.js
index 258da41..23607bd 100644
--- a/recipes/notion/index.js
+++ b/recipes/notion/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/notion/package.json b/recipes/notion/package.json
index 974142c..d5d504c 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.0.4", 4 "version": "1.1.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 f87907e..8ef9ff2 100644
--- a/recipes/notion/webview.js
+++ b/recipes/notion/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 let direct = 0; 3 let direct = 0;
4 const indirect = 0; 4 const indirect = 0;
@@ -7,8 +7,8 @@ module.exports = (Franz) => {
7 direct = parseInt(badgeDiv.innerText); 7 direct = parseInt(badgeDiv.innerText);
8 } 8 }
9 9
10 Franz.setBadge(direct, indirect); 10 Ferdi.setBadge(direct, indirect);
11 } 11 }
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14}; 14};
diff --git a/recipes/office365-owa/index.js b/recipes/office365-owa/index.js
index 5c59e64..89568a6 100644
--- a/recipes/office365-owa/index.js
+++ b/recipes/office365-owa/index.js
@@ -1,5 +1,3 @@
1const os = require('os');
2
3module.exports = Ferdi => class Outlook extends Ferdi { 1module.exports = Ferdi => class Outlook extends Ferdi {
4 overrideUserAgent() { 2 overrideUserAgent() {
5 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
diff --git a/recipes/office365-owa/package.json b/recipes/office365-owa/package.json
index 3de926b..63e4a32 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 Web App", 3 "name": "Office 365 Outlook Web App",
4 "version": "1.2.2", 4 "version": "1.3.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://outlook.office365.com/mail/", 7 "serviceURL": "https://outlook.office365.com/mail/",
diff --git a/recipes/office365-owa/webview.js b/recipes/office365-owa/webview.js
index cb63219..123158e 100644
--- a/recipes/office365-owa/webview.js
+++ b/recipes/office365-owa/webview.js
@@ -28,5 +28,6 @@ module.exports = Ferdi => {
28 28
29 Ferdi.setBadge(unreadMail); 29 Ferdi.setBadge(unreadMail);
30 } 30 }
31
31 Ferdi.loop(getMessages); 32 Ferdi.loop(getMessages);
32}; 33};
diff --git a/recipes/onenote/package.json b/recipes/onenote/package.json
index ca643b3..66a79a3 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.0.3", 4 "version": "1.1.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/onenote/webview.js b/recipes/onenote/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/onenote/webview.js
+++ b/recipes/onenote/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/outlook/index.js b/recipes/outlook/index.js
index 5c59e64..89568a6 100644
--- a/recipes/outlook/index.js
+++ b/recipes/outlook/index.js
@@ -1,5 +1,3 @@
1const os = require('os');
2
3module.exports = Ferdi => class Outlook extends Ferdi { 1module.exports = Ferdi => class Outlook extends Ferdi {
4 overrideUserAgent() { 2 overrideUserAgent() {
5 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
diff --git a/recipes/outlook/package.json b/recipes/outlook/package.json
index f2224a0..103325b 100644
--- a/recipes/outlook/package.json
+++ b/recipes/outlook/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "outlook", 2 "id": "outlook",
3 "name": "Outlook Web App", 3 "name": "Outlook Web App",
4 "version": "1.1.2", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://outlook.live.com/mail/", 7 "serviceURL": "https://outlook.live.com/mail/",
diff --git a/recipes/outlook/webview.js b/recipes/outlook/webview.js
index cb63219..123158e 100644
--- a/recipes/outlook/webview.js
+++ b/recipes/outlook/webview.js
@@ -28,5 +28,6 @@ module.exports = Ferdi => {
28 28
29 Ferdi.setBadge(unreadMail); 29 Ferdi.setBadge(unreadMail);
30 } 30 }
31
31 Ferdi.loop(getMessages); 32 Ferdi.loop(getMessages);
32}; 33};
diff --git a/recipes/paymoapp/index.js b/recipes/paymoapp/index.js
index 258da41..23607bd 100644
--- a/recipes/paymoapp/index.js
+++ b/recipes/paymoapp/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/paymoapp/package.json b/recipes/paymoapp/package.json
index 20305c2..905f8da 100644
--- a/recipes/paymoapp/package.json
+++ b/recipes/paymoapp/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "paymo", 2 "id": "paymo",
3 "name": "paymo", 3 "name": "paymo",
4 "version": "1.0.2", 4 "version": "1.1.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/paymoapp/webview.js b/recipes/paymoapp/webview.js
index 2cf7146..7e19dff 100644
--- a/recipes/paymoapp/webview.js
+++ b/recipes/paymoapp/webview.js
@@ -1 +1,2 @@
1module.exports = (Franz, options) => {}; 1module.exports = Ferdi => {
2};
diff --git a/recipes/pivotal-tracker/index.js b/recipes/pivotal-tracker/index.js
index 258da41..23607bd 100644
--- a/recipes/pivotal-tracker/index.js
+++ b/recipes/pivotal-tracker/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/pivotal-tracker/package.json b/recipes/pivotal-tracker/package.json
index 7c9fb1b..0cc6134 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.0.2", 4 "version": "1.1.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 1908a36..ef1c8f1 100644
--- a/recipes/pivotal-tracker/webview.js
+++ b/recipes/pivotal-tracker/webview.js
@@ -1,11 +1,9 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const bell = document.querySelectorAll('#view65 > span')[0]; 3 const bell = document.querySelectorAll('#view65 > span')[0];
4
5 counter = parseInt(bell.innerText); 4 counter = parseInt(bell.innerText);
6 5 Ferdi.setBadge(counter);
7 Franz.setBadge(counter);
8 } 6 }
9 7
10 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
11}; 9};
diff --git a/recipes/plan/index.js b/recipes/plan/index.js
index 46f936f..23607bd 100644
--- a/recipes/plan/index.js
+++ b/recipes/plan/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/plan/package.json b/recipes/plan/package.json
index a6f8a7a..29e0198 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.0.2", 4 "version": "1.1.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/plan/webview.js b/recipes/plan/webview.js
index 11308dd..7e19dff 100644
--- a/recipes/plan/webview.js
+++ b/recipes/plan/webview.js
@@ -1,3 +1,2 @@
1module.exports = (Franz, options) => { 1module.exports = Ferdi => {
2
3}; 2};
diff --git a/recipes/plurk/index.js b/recipes/plurk/index.js
index 36d6490..23607bd 100644
--- a/recipes/plurk/index.js
+++ b/recipes/plurk/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdXJrL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoicGx1cmsvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/plurk/package.json b/recipes/plurk/package.json
index 7cb659e..717c64e 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.0.2", 4 "version": "1.1.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 fa4e0e3..6f20458 100644
--- a/recipes/plurk/webview.js
+++ b/recipes/plurk/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 function getMessages() { 2 function getMessages() {
3 let direct = 0; 3 let direct = 0;
4 4
@@ -9,9 +9,8 @@ module.exports = Franz => {
9 direct = parseInt(np.innerHTML) + parseInt(re.innerHTML); 9 direct = parseInt(np.innerHTML) + parseInt(re.innerHTML);
10 } 10 }
11 11
12 Franz.setBadge(direct); 12 Ferdi.setBadge(direct);
13 } 13 }
14 14
15 Franz.loop(getMessages, 10000); 15 Ferdi.loop(getMessages, 10000);
16}; 16};
17// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBsdXJrL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJkaXJlY3QiLCJucCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInJlIiwicGFyc2VJbnQiLCJpbm5lckhUTUwiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixXQUFTQyxXQUFULEdBQXVCO0FBQ3JCLFFBQUlDLFNBQVMsQ0FBYjs7QUFFQSxVQUFNQyxLQUFLQyxTQUFTQyxhQUFULENBQXVCLGdCQUF2QixDQUFYO0FBQ0EsVUFBTUMsS0FBS0YsU0FBU0MsYUFBVCxDQUF1QixnQkFBdkIsQ0FBWDs7QUFFQSxRQUFJRixNQUFNRyxFQUFWLEVBQWM7QUFDWkosZUFBU0ssU0FBVUosR0FBR0ssU0FBYixJQUEwQkQsU0FBVUQsR0FBR0UsU0FBYixDQUFuQztBQUNEOztBQUVEUixVQUFNUyxRQUFOLENBQWdCUCxNQUFoQjtBQUVEOztBQUVERixRQUFNVSxJQUFOLENBQVdULFdBQVgsRUFBd0IsS0FBeEI7QUFDRCxDQWhCRCIsImZpbGUiOiJwbHVyay93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgbGV0IGRpcmVjdCA9IDA7XG5cbiAgICBjb25zdCBucCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJyNub3RpX25wX2NvdW50Jyk7XG4gICAgY29uc3QgcmUgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjbm90aV9yZV9jb3VudCcpO1xuXG4gICAgaWYgKG5wIHx8IHJlKSB7XG4gICAgICBkaXJlY3QgPSBwYXJzZUludCAobnAuaW5uZXJIVE1MKSArIHBhcnNlSW50IChyZS5pbm5lckhUTUwpO1xuICAgIH1cblxuICAgIEZyYW56LnNldEJhZGdlIChkaXJlY3QpO1xuXG4gIH1cblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzLCAxMDAwMCk7XG59XG4iXX0=
diff --git a/recipes/pocket/index.js b/recipes/pocket/index.js
index c080e24..23607bd 100644
--- a/recipes/pocket/index.js
+++ b/recipes/pocket/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInBvY2tldC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InBvY2tldC9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/pocket/package.json b/recipes/pocket/package.json
index 1f9a746..cb35334 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.0.2", 4 "version": "1.1.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/pocket/webview.js b/recipes/pocket/webview.js
index 7031b55..e69de29 100644
--- a/recipes/pocket/webview.js
+++ b/recipes/pocket/webview.js
@@ -1 +0,0 @@
1// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwb2NrZXQvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbXX0=
diff --git a/recipes/podio/index.js b/recipes/podio/index.js
index 46f936f..23607bd 100644
--- a/recipes/podio/index.js
+++ b/recipes/podio/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/podio/package.json b/recipes/podio/package.json
index 59fc0b4..3985a1a 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.0.2", 4 "version": "1.1.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 2b1ed2a..1bfa60d 100644
--- a/recipes/podio/webview.js
+++ b/recipes/podio/webview.js
@@ -1,22 +1,14 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = () => { 6 const getMessages = () => {
5 // get unread messages
6 const updates = document.getElementsByClassName('counter')[0].innerHTML; 7 const updates = document.getElementsByClassName('counter')[0].innerHTML;
7 8 Ferdi.setBadge(updates, 0);
8 // get conversations in 'My Inbox'
9 // const inbox = document.getElementById('franz').getAttribute('data-inbox');
10
11 // set Franz badge
12 // updates => active unread count
13 // inbox => passive unread count
14 Franz.setBadge(updates, 0);
15 }; 9 };
16 10
17 // inject franz.css stylesheet 11 Ferdi.loop(getMessages);
18 Franz.injectCSS(path.join(__dirname, 'css', 'franz.css'));
19 12
20 // check for new messages every second and update Franz badge 13 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
21 Franz.loop(getMessages);
22}; 14};
diff --git a/recipes/pomodoro-tracker/package.json b/recipes/pomodoro-tracker/package.json
index dd20956..750d907 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.0.2", 4 "version": "1.1.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/pomodoro-tracker/webview.js b/recipes/pomodoro-tracker/webview.js
index 30fa4bb..10157e9 100644
--- a/recipes/pomodoro-tracker/webview.js
+++ b/recipes/pomodoro-tracker/webview.js
@@ -3,10 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 Ferdi.setBadge(0, 0);
8 };
9
10 Ferdi.loop(getMessages);
11 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
12}; 7};
diff --git a/recipes/proton-mail/index.js b/recipes/proton-mail/index.js
index 258da41..23607bd 100644
--- a/recipes/proton-mail/index.js
+++ b/recipes/proton-mail/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/proton-mail/package.json b/recipes/proton-mail/package.json
index da08733..9cb0d99 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.2.4", 4 "version": "1.3.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 2417309..10319f2 100644
--- a/recipes/proton-mail/webview.js
+++ b/recipes/proton-mail/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 function getMessages() { 2 function getMessages() {
3 const element = document.querySelector('.navigationItem-counter'); 3 const element = document.querySelector('.navigationItem-counter');
4 if (!element) { 4 if (!element) {
@@ -6,8 +6,8 @@ module.exports = Franz => {
6 } 6 }
7 const text = element.innerText; 7 const text = element.innerText;
8 const count = Number(text.substring(1, text.length - 1)); 8 const count = Number(text.substring(1, text.length - 1));
9 Franz.setBadge(count); 9 Ferdi.setBadge(count);
10 } 10 }
11 11
12 Franz.loop(getMessages); 12 Ferdi.loop(getMessages);
13}; 13};
diff --git a/recipes/protoncalendar/package.json b/recipes/protoncalendar/package.json
index c337398..9ddd612 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.0.1", 4 "version": "1.1.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/protoncalendar/webview.js b/recipes/protoncalendar/webview.js
index ddd0b40..10157e9 100644
--- a/recipes/protoncalendar/webview.js
+++ b/recipes/protoncalendar/webview.js
@@ -1,15 +1,7 @@
1"use strict"; 1const _path = _interopRequireDefault(require('path'));
2
3var _path = _interopRequireDefault(require("path"));
4 2
5function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6 4
7module.exports = Ferdi => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() {
9 // TODO: Insert your notification-finding code here
10 Ferdi.setBadge(0, 0);
11 };
12
13 Ferdi.loop(getMessages);
14 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
15}; 7};
diff --git a/recipes/protonet/index.js b/recipes/protonet/index.js
index 258da41..23607bd 100755
--- a/recipes/protonet/index.js
+++ b/recipes/protonet/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/protonet/package.json b/recipes/protonet/package.json
index 75d2175..bc4554d 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.0.3", 4 "version": "1.1.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 1d81e99..9ada45a 100755
--- a/recipes/protonet/webview.js
+++ b/recipes/protonet/webview.js
@@ -1,10 +1,10 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const unreadPrivateMessages = parseInt($('.messages .unread-meeps').text()); 3 const unreadPrivateMessages = parseInt($('.messages .unread-meeps').text());
4 const unreadGroupMessages = parseInt($('.today .unread-meeps').text()); 4 const unreadGroupMessages = parseInt($('.today .unread-meeps').text());
5 5
6 Franz.setBadge(unreadPrivateMessages + unreadGroupMessages); 6 Ferdi.setBadge(unreadPrivateMessages + unreadGroupMessages);
7 }; 7 };
8 8
9 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
10}; 10};
diff --git a/recipes/pulsesms/index.js b/recipes/pulsesms/index.js
index 258da41..23607bd 100644
--- a/recipes/pulsesms/index.js
+++ b/recipes/pulsesms/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/pulsesms/package.json b/recipes/pulsesms/package.json
index 2539d12..a939717 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.1.4", 4 "version": "1.2.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 2e6b46d..6904fbc 100644
--- a/recipes/pulsesms/webview.js
+++ b/recipes/pulsesms/webview.js
@@ -1,8 +1,7 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 Franz.setBadge(document.querySelector('#unread_count').innerHTML.replace(/\s/g, '')); 3 Ferdi.setBadge(document.querySelector('#unread_count').innerHTML.replace(/\s/g, ''));
4 } 4 }
5 5
6 // check for new messages every second and update Franz badge 6 Ferdi.loop(getMessages);
7 Franz.loop(getMessages);
8}; 7};
diff --git a/recipes/pushbullet/index.js b/recipes/pushbullet/index.js
index 59205d5..556cab6 100644
--- a/recipes/pushbullet/index.js
+++ b/recipes/pushbullet/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class PushBullet extends Franz { 1module.exports = Ferdi => class PushBullet extends Ferdi {
2 constructor(...args) { 2 constructor(...args) {
3 let _temp; 3 let _temp;
4 4
@@ -14,4 +14,3 @@ module.exports = Franz => class PushBullet extends Franz {
14 } 14 }
15 } 15 }
16}; 16};
17// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3ZWV0ZGVjay9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJUd2VldGRlY2siLCJldmVudHMiLCJfcmVkaXJlY3RGaXgiLCJldmVudCIsIm5ld1VSTCIsInVuZGVmaW5lZCIsIm9sZFVSTCIsImlzTWFpbkZyYW1lIiwic2V0VGltZW91dCIsInNlbmQiLCJwcmV2ZW50RGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkM7QUFBQSxTQUFTLE1BQU1DLFNBQU4sU0FBd0JELEtBQXhCLENBQThCO0FBQUE7QUFBQTs7QUFBQSwwQ0FDdERFLE1BRHNELEdBQzdDO0FBQ1Asb0NBQTRCO0FBRHJCLE9BRDZDO0FBQUE7O0FBS3REQyxpQkFBYUMsS0FBYixFQUFvQjtBQUNsQixVQUFJQSxNQUFNQyxNQUFOLEtBQWlCQyxTQUFqQixJQUE4QkYsTUFBTUcsTUFBTixLQUFpQkQsU0FBL0MsSUFBNERGLE1BQU1JLFdBQXRFLEVBQW1GO0FBQ2pGLFlBQUlKLE1BQU1JLFdBQVYsRUFBdUI7QUFDckJDLHFCQUFXLE1BQU0sS0FBS0MsSUFBTCxDQUFVLGNBQVYsRUFBMEJOLE1BQU1DLE1BQWhDLENBQWpCLEVBQTBELEdBQTFEO0FBQ0FELGdCQUFNTyxjQUFOO0FBQ0Q7QUFDRjtBQUNGO0FBWnFELEdBQXZDO0FBQUEsQ0FBakIiLCJmaWxlIjoidHdlZXRkZWNrL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBjbGFzcyBUd2VldGRlY2sgZXh0ZW5kcyBGcmFueiB7XG4gIGV2ZW50cyA9IHtcbiAgICAnZGlkLWdldC1yZWRpcmVjdC1yZXF1ZXN0JzogJ19yZWRpcmVjdEZpeCcsXG4gIH1cblxuICBfcmVkaXJlY3RGaXgoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQubmV3VVJMICE9PSB1bmRlZmluZWQgJiYgZXZlbnQub2xkVVJMICE9PSB1bmRlZmluZWQgJiYgZXZlbnQuaXNNYWluRnJhbWUpIHtcbiAgICAgIGlmIChldmVudC5pc01haW5GcmFtZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VuZCgncmVkaXJlY3QtdXJsJywgZXZlbnQubmV3VVJMKSwgMTAwKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
diff --git a/recipes/pushbullet/package.json b/recipes/pushbullet/package.json
index f32eaeb..da4972c 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.0.3", 4 "version": "1.1.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/pushbullet/webview.js b/recipes/pushbullet/webview.js
index 39762d8..e69de29 100644
--- a/recipes/pushbullet/webview.js
+++ b/recipes/pushbullet/webview.js
@@ -1 +0,0 @@
1// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJwdXNoYnVsbGV0L3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6W119
diff --git a/recipes/rainloop/index.js b/recipes/rainloop/index.js
index c81c740..23607bd 100644
--- a/recipes/rainloop/index.js
+++ b/recipes/rainloop/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJhaW5sb29wL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoicmFpbmxvb3AvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56OyJdfQ==
diff --git a/recipes/rainloop/package.json b/recipes/rainloop/package.json
index 05a1059..fad246a 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.0.2", 4 "version": "1.1.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 1440d97..e5052b8 100644
--- a/recipes/rainloop/webview.js
+++ b/recipes/rainloop/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let updates = 0; 3 let updates = 0;
4 let inbox = 0; 4 let inbox = 0;
@@ -18,8 +18,8 @@ module.exports = Franz => {
18 }); 18 });
19 19
20 full = inbox + updates; 20 full = inbox + updates;
21 Franz.setBadge(full); 21 Ferdi.setBadge(full);
22 }; 22 };
23 Franz.loop(getMessages); 23
24 Ferdi.loop(getMessages);
24}; 25};
25// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJhaW5sb29wL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJ1cGRhdGVzIiwiaW5ib3giLCJmdWxsIiwiJCIsImVhY2giLCJpIiwib2JqIiwiY291bnRUZXh0IiwiZmluZCIsImZpcnN0IiwiaHRtbCIsImhhc0NsYXNzIiwicGFyc2VJbnQiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVM7QUFDdEIsVUFBTUMsY0FBYyxNQUFNO0FBQ3RCLFlBQUlDLFVBQVUsQ0FBZDtBQUNBLFlBQUlDLFFBQVEsQ0FBWjtBQUNOLFlBQUlDLE9BQU8sQ0FBWDs7QUFFTUMsVUFBRSwrQkFBRixFQUFtQ0MsSUFBbkMsQ0FBd0MsQ0FBQ0MsQ0FBRCxFQUFJQyxHQUFKLEtBQVk7QUFDaEQsa0JBQU1DLFlBQVlKLEVBQUVHLEdBQUYsRUFBT0UsSUFBUCxDQUFZLFFBQVosRUFBc0JDLEtBQXRCLEdBQThCQyxJQUE5QixFQUFsQjtBQUNBLGdCQUFJLE9BQU9ILFNBQVAsS0FBcUIsUUFBckIsSUFBaUNBLGNBQWMsRUFBbkQsRUFBdUQ7QUFDbkQsb0JBQUlKLEVBQUVHLEdBQUYsRUFBT0ssUUFBUCxDQUFnQixRQUFoQixDQUFKLEVBQStCO0FBQzNCLHdCQUFJUixFQUFFRyxHQUFGLEVBQU9LLFFBQVAsQ0FBZ0IsWUFBaEIsQ0FBSixFQUFtQztBQUMvQlYsaUNBQVNXLFNBQVNMLFNBQVQsQ0FBVDtBQUNIO0FBQ0osaUJBSkQsTUFJTztBQUNIUCwrQkFBV1ksU0FBU0wsU0FBVCxDQUFYO0FBQ0g7QUFDSjtBQUNKLFNBWEQ7O0FBYU5MLGVBQU9ELFFBQVFELE9BQWY7QUFDTUYsY0FBTWUsUUFBTixDQUFlWCxJQUFmO0FBQ0gsS0FwQkQ7QUFxQkFKLFVBQU1nQixJQUFOLENBQVdmLFdBQVg7QUFDSCxDQXZCRCIsImZpbGUiOiJyYWlubG9vcC93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiB7XG4gICAgY29uc3QgZ2V0TWVzc2FnZXMgPSAoKSA9PiB7XG4gICAgICAgIGxldCB1cGRhdGVzID0gMDtcbiAgICAgICAgbGV0IGluYm94ID0gMDtcblx0XHRsZXQgZnVsbCA9IDA7XG5cbiAgICAgICAgJCgnLmItZm9sZGVycy11c2VyIC51aS1kcm9wcGFibGUnKS5lYWNoKChpLCBvYmopID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGNvdW50VGV4dCA9ICQob2JqKS5maW5kKCcuY291bnQnKS5maXJzdCgpLmh0bWwoKTtcbiAgICAgICAgICAgIGlmICh0eXBlb2YgY291bnRUZXh0ID09PSAnc3RyaW5nJyAmJiBjb3VudFRleHQgIT09ICcnKSB7XG4gICAgICAgICAgICAgICAgaWYgKCQob2JqKS5oYXNDbGFzcygnc3lzdGVtJykpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKCQob2JqKS5oYXNDbGFzcygnaS1hbS1pbmJveCcpKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBpbmJveCArPSBwYXJzZUludChjb3VudFRleHQpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgdXBkYXRlcyArPSBwYXJzZUludChjb3VudFRleHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG5cblx0XHRmdWxsID0gaW5ib3ggKyB1cGRhdGVzO1xuICAgICAgICBGcmFuei5zZXRCYWRnZShmdWxsKTtcbiAgICB9O1xuICAgIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/reddit/index.js b/recipes/reddit/index.js
index 258da41..23607bd 100644
--- a/recipes/reddit/index.js
+++ b/recipes/reddit/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/reddit/package.json b/recipes/reddit/package.json
index 4c12bb3..7dd62e2 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.0.2", 4 "version": "1.1.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/getferdi/recipes", 6 "repository": "https://github.com/getferdi/recipes",
7 "config": { 7 "config": {
diff --git a/recipes/reddit/webview.js b/recipes/reddit/webview.js
index 9d49f47..dc83d3d 100644
--- a/recipes/reddit/webview.js
+++ b/recipes/reddit/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 = (Franz) => { 5module.exports = (Ferdi) => {
6 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
7 const elements = document.querySelectorAll('#HeaderUserActions--Messages > a > span'); 7 const elements = document.querySelectorAll('#HeaderUserActions--Messages > a > span');
8 let count = 0; 8 let count = 0;
@@ -12,7 +12,7 @@ module.exports = (Franz) => {
12 } 12 }
13 13
14 console.log(count); 14 console.log(count);
15 Franz.setBadge(count); 15 Ferdi.setBadge(count);
16 }; 16 };
17 17
18 if (document.querySelectorAll('.promotedlink').length > 0) { 18 if (document.querySelectorAll('.promotedlink').length > 0) {
@@ -21,12 +21,12 @@ module.exports = (Franz) => {
21 }); 21 });
22 } 22 }
23 23
24 Franz.loop(getMessages); 24 Ferdi.loop(getMessages);
25 25
26 // Use CSS to hide Google Ads 26 // Use CSS to hide Google Ads
27 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 27 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
28 28
29 Franz.handleDarkMode((isEnabled, config) => { 29 Ferdi.handleDarkMode((isEnabled, config) => {
30 // Open dropdown menu if not already open 30 // Open dropdown menu if not already open
31 const menu = document.querySelector('#USER_DROPDOWN_ID'); 31 const menu = document.querySelector('#USER_DROPDOWN_ID');
32 if (menu.getAttribute('aria-expanded') === 'false') { 32 if (menu.getAttribute('aria-expanded') === 'false') {
diff --git a/recipes/redditchat/index.js b/recipes/redditchat/index.js
index 46f936f..23607bd 100644
--- a/recipes/redditchat/index.js
+++ b/recipes/redditchat/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/redditchat/package.json b/recipes/redditchat/package.json
index f8f4fc0..3d95f18 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.0.2", 4 "version": "1.1.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 8b29861..7000e53 100644
--- a/recipes/redditchat/webview.js
+++ b/recipes/redditchat/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
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 = Franz => {
14 } 14 }
15 } 15 }
16 16
17 Franz.setBadge(directCount, indirectCount); 17 Ferdi.setBadge(directCount, indirectCount);
18 }; 18 };
19 19
20 Franz.loop(getMessages); 20 Ferdi.loop(getMessages);
21}; 21};
diff --git a/recipes/riseup/package.json b/recipes/riseup/package.json
index dd8a858..73f3234 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.0.2", 4 "version": "1.1.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 79b4a7b..2a5f91f 100644
--- a/recipes/riseup/webview.js
+++ b/recipes/riseup/webview.js
@@ -1,7 +1,3 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => { 1module.exports = Ferdi => {
6 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
7 let unread = 0; 3 let unread = 0;
diff --git a/recipes/rocketchat/index.js b/recipes/rocketchat/index.js
index 499053a..062b5ec 100644
--- a/recipes/rocketchat/index.js
+++ b/recipes/rocketchat/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class RocketChat extends Franz { 1module.exports = Ferdi => class RocketChat extends Ferdi {
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 5b10c93..f4dedcf 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.0.11", 4 "version": "1.1.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/roundcube/index.js b/recipes/roundcube/index.js
index c09e015..23607bd 100644
--- a/recipes/roundcube/index.js
+++ b/recipes/roundcube/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJvdW5kY3ViZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InJvdW5kY3ViZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7Il19
diff --git a/recipes/roundcube/package.json b/recipes/roundcube/package.json
index 2c15ae1..2bd8dba 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.0.3", 4 "version": "1.1.0",
5 "repository": "https://github.com/jonathanjuursema/franz-roundcube", 5 "repository": "https://github.com/jonathanjuursema/franz-roundcube",
6 "license": "MIT", 6 "license": "MIT",
7 "config": { 7 "config": {
diff --git a/recipes/roundcube/webview.js b/recipes/roundcube/webview.js
index 1165f32..8a2ffef 100644
--- a/recipes/roundcube/webview.js
+++ b/recipes/roundcube/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const directElements = document.querySelectorAll('.unreadcount'); 3 const directElements = document.querySelectorAll('.unreadcount');
4 let direct = 0; 4 let direct = 0;
@@ -6,8 +6,8 @@ module.exports = Franz => {
6 const n = parseInt(directElements[i].innerHTML); 6 const n = parseInt(directElements[i].innerHTML);
7 direct += isNaN(n) ? 0 : n; 7 direct += isNaN(n) ? 0 : n;
8 } 8 }
9 Franz.setBadge(direct); 9 Ferdi.setBadge(direct);
10 }; 10 };
11 Franz.loop(getMessages); 11
12 Ferdi.loop(getMessages);
12}; 13};
13// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInJvdW5kY3ViZS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZGlyZWN0RWxlbWVudHMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJkaXJlY3QiLCJpIiwibGVuZ3RoIiwibiIsInBhcnNlSW50IiwiaW5uZXJIVE1MIiwiaXNOYU4iLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVM7QUFDekIsT0FBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQzFDLE1BQUlDLGlCQUFpQkMsU0FBU0MsZ0JBQVQsQ0FBMEIsY0FBMUIsQ0FBckI7QUFDQSxNQUFJQyxTQUFTLENBQWI7QUFDQSxPQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUosZUFBZUssTUFBbkMsRUFBMkNELEtBQUssQ0FBaEQsRUFBbUQ7QUFDbERFLE9BQUlDLFNBQVNQLGVBQWVJLENBQWYsRUFBa0JJLFNBQTNCLENBQUo7QUFDQUwsYUFBV00sTUFBTUgsQ0FBTixJQUFXLENBQVgsR0FBZUEsQ0FBMUI7QUFDQTtBQUNEUixRQUFNWSxRQUFOLENBQWVQLE1BQWY7QUFDQSxFQVJEO0FBU0FMLE9BQU1hLElBQU4sQ0FBV1osV0FBWDtBQUNBLENBWEQiLCJmaWxlIjoicm91bmRjdWJlL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IHtcblx0Y29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcblx0XHRsZXQgZGlyZWN0RWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudW5yZWFkY291bnQnKTtcblx0XHRsZXQgZGlyZWN0ID0gMDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGRpcmVjdEVsZW1lbnRzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0XHRuID0gcGFyc2VJbnQoZGlyZWN0RWxlbWVudHNbaV0uaW5uZXJIVE1MKTtcblx0XHRcdGRpcmVjdCArPSAoaXNOYU4obikgPyAwIDogbik7XG5cdFx0fVxuXHRcdEZyYW56LnNldEJhZGdlKGRpcmVjdCk7XG5cdH07XG5cdEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/sendtask/index.js b/recipes/sendtask/index.js
index 4cc66d5..23607bd 100644
--- a/recipes/sendtask/index.js
+++ b/recipes/sendtask/index.js
@@ -1,3 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
3// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbmR0YXNrL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQTtBQUNBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJzZW5kdGFzay9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIGp1c3QgcGFzcyB0aHJvdWdoIEZyYW56XG5tb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/sendtask/package.json b/recipes/sendtask/package.json
index bbdc024..db8a627 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.0.4", 4 "version": "1.1.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 655c63e..0da4de6 100644
--- a/recipes/sendtask/webview.js
+++ b/recipes/sendtask/webview.js
@@ -1,19 +1,15 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = () => { 6 const getMessages = () => {
5 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications'); 7 const inbox = document.querySelector('.topbar-notificationsButton.has-newNotifications');
6 const passiveCount = inbox === null ? 0 : 1; 8 const passiveCount = inbox === null ? 0 : 1;
7 // set Franz badge 9 Ferdi.setBadge(0, passiveCount);
8 // updates => active unread count
9 // inbox => passive unread count
10 Franz.setBadge(0, passiveCount);
11 }; 10 };
12 11
13 // inject franz.css stylesheet 12 Ferdi.loop(getMessages);
14 Franz.injectCSS(path.join(__dirname, 'franz.css'));
15 13
16 // check for new messages every second and update Franz badge 14 Ferdi.injectCSS(_path.default.join(__dirname, 'franz.css'));
17 Franz.loop(getMessages);
18}; 15};
19// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInNlbmR0YXNrL3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImluYm94IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwicGFzc2l2ZUNvdW50Iiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsTUFBTTtBQUN4QixVQUFNQyxRQUFRQyxTQUFTQyxhQUFULENBQXVCLGtEQUF2QixDQUFkO0FBQ0EsVUFBTUMsZUFBZUgsVUFBVSxJQUFWLEdBQWlCLENBQWpCLEdBQXFCLENBQTFDO0FBQ0E7QUFDQTtBQUNBO0FBQ0FGLFVBQU1NLFFBQU4sQ0FBZSxDQUFmLEVBQWtCRCxZQUFsQjtBQUNELEdBUEQ7O0FBU0E7QUFDQUwsUUFBTU8sU0FBTixDQUFnQlgsS0FBS1ksSUFBTCxDQUFVQyxTQUFWLEVBQXFCLFdBQXJCLENBQWhCOztBQUVBO0FBQ0FULFFBQU1VLElBQU4sQ0FBV1QsV0FBWDtBQUNELENBZkQiLCJmaWxlIjoic2VuZHRhc2svd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gKCkgPT4ge1xuICAgIGNvbnN0IGluYm94ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignLnRvcGJhci1ub3RpZmljYXRpb25zQnV0dG9uLmhhcy1uZXdOb3RpZmljYXRpb25zJyk7XG4gICAgY29uc3QgcGFzc2l2ZUNvdW50ID0gaW5ib3ggPT09IG51bGwgPyAwIDogMTtcbiAgICAvLyBzZXQgRnJhbnogYmFkZ2VcbiAgICAvLyB1cGRhdGVzID0+IGFjdGl2ZSB1bnJlYWQgY291bnRcbiAgICAvLyBpbmJveCA9PiBwYXNzaXZlIHVucmVhZCBjb3VudFxuICAgIEZyYW56LnNldEJhZGdlKDAsIHBhc3NpdmVDb3VudCk7XG4gIH07XG5cbiAgLy8gaW5qZWN0IGZyYW56LmNzcyBzdHlsZXNoZWV0XG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnZnJhbnouY3NzJykpO1xuXG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/simplenote/package.json b/recipes/simplenote/package.json
index 9466cee..cb07e51 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.0.3", 4 "version": "1.1.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 cf28183..f109b0d 100644
--- a/recipes/simplenote/webview.js
+++ b/recipes/simplenote/webview.js
@@ -1,7 +1,3 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => { 1module.exports = Ferdi => {
6 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
7 let count = 0; 3 let count = 0;
diff --git a/recipes/skype/index.js b/recipes/skype/index.js
index f122bf4..7ea3060 100644
--- a/recipes/skype/index.js
+++ b/recipes/skype/index.js
@@ -1,8 +1,5 @@
1module.exports = (Franz) => class Messenger extends Franz { 1module.exports = (Ferdi) => class Messenger extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
diff --git a/recipes/skype/package.json b/recipes/skype/package.json
index 7f401bf..57f4d87 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.0.1", 4 "version": "3.1.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 c20726c..9af7c2b 100644
--- a/recipes/skype/webview.js
+++ b/recipes/skype/webview.js
@@ -1,7 +1,10 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
1const { remote: { BrowserWindow } } = require('electron'); 5const { remote: { BrowserWindow } } = require('electron');
2const path = require('path');
3 6
4module.exports = (Franz, settings) => { 7module.exports = (Ferdi, settings) => {
5 const getMessages = function getMessages() { 8 const getMessages = function getMessages() {
6 let count = 0; 9 let count = 0;
7 const container = document.querySelector('[role="tablist"] > [title="Chats"] > div'); 10 const container = document.querySelector('[role="tablist"] > [title="Chats"] > div');
@@ -19,12 +22,14 @@ module.exports = (Franz, settings) => {
19 } 22 }
20 } 23 }
21 24
22 Franz.setBadge(count); 25 Ferdi.setBadge(count);
23 }; 26 };
24 27
25 Franz.injectCSS(path.join(__dirname, 'service.css')); 28 Ferdi.loop(getMessages);
26 Franz.injectJSUnsafe(path.join(__dirname, 'webview-unsafe.js')); 29
27 Franz.loop(getMessages); 30 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
31 Ferdi.injectJSUnsafe(_path.default.join(__dirname, 'webview-unsafe.js'));
32
28 document.addEventListener('click', event => { 33 document.addEventListener('click', event => {
29 const link = event.target.closest('a[href^="http"]'); 34 const link = event.target.closest('a[href^="http"]');
30 const button = event.target.closest('button[title^="http"]'); 35 const button = event.target.closest('button[title^="http"]');
diff --git a/recipes/slack/index.js b/recipes/slack/index.js
index 258da41..23607bd 100644
--- a/recipes/slack/index.js
+++ b/recipes/slack/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/slack/package.json b/recipes/slack/package.json
index 1a4e1ad..1c5de53 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.1.0", 4 "version": "1.2.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 f0eb265..b8e3817 100644
--- a/recipes/slack/webview.js
+++ b/recipes/slack/webview.js
@@ -37,16 +37,18 @@ const getTeamIcon = function getTeamIcon(count = 0) {
37 37
38const SELECTOR_CHANNELS_UNREAD = '.p-channel_sidebar__channel--unread:not(.p-channel_sidebar__channel--muted)'; 38const SELECTOR_CHANNELS_UNREAD = '.p-channel_sidebar__channel--unread:not(.p-channel_sidebar__channel--muted)';
39 39
40module.exports = Franz => { 40module.exports = Ferdi => {
41 const getMessages = () => { 41 const getMessages = () => {
42 const directMessages = document.querySelectorAll(`${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"])`).length; 42 const directMessages = document.querySelectorAll(`${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"])`).length;
43 const allMessages = document.querySelectorAll(SELECTOR_CHANNELS_UNREAD).length - directMessages; 43 const allMessages = document.querySelectorAll(SELECTOR_CHANNELS_UNREAD).length - directMessages;
44 Franz.setBadge(directMessages, allMessages); 44 Ferdi.setBadge(directMessages, allMessages);
45 }; 45 };
46 46
47 Franz.loop(getMessages); 47 Ferdi.loop(getMessages);
48
48 setTimeout(() => { 49 setTimeout(() => {
49 getTeamIcon(); 50 getTeamIcon();
50 }, 4000); 51 }, 4000);
51 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 52
53 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
52}; 54};
diff --git a/recipes/snapdrop/index.js b/recipes/snapdrop/index.js
index 28dbd49..9481442 100644
--- a/recipes/snapdrop/index.js
+++ b/recipes/snapdrop/index.js
@@ -1,8 +1,9 @@
1module.exports = (Franz) => class Snapdrop extends Franz { 1module.exports = (Ferdi) => class Snapdrop extends Ferdi {
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 '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',
7 }, 8 },
8 requestFilters: { 9 requestFilters: {
diff --git a/recipes/snapdrop/package.json b/recipes/snapdrop/package.json
index 18d80b7..3bb7772 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.0.3", 4 "version": "1.1.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/snapdrop/webview.js b/recipes/snapdrop/webview.js
index 2d19daa..22ca24c 100644
--- a/recipes/snapdrop/webview.js
+++ b/recipes/snapdrop/webview.js
@@ -1 +1 @@
module.exports = (Franz) => {}; module.exports = (Ferdi) => {};
diff --git a/recipes/stackexchange/package.json b/recipes/stackexchange/package.json
index cb4442b..d3bba01 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.0.2", 4 "version": "1.1.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/stackexchange/webview.js b/recipes/stackexchange/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/stackexchange/webview.js
+++ b/recipes/stackexchange/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/standardnotes/index.js b/recipes/standardnotes/index.js
index 134752b..23607bd 100755
--- a/recipes/standardnotes/index.js
+++ b/recipes/standardnotes/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImdvb2dsZWtlZXAvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJnb29nbGVrZWVwL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejsiXX0=
diff --git a/recipes/standardnotes/package.json b/recipes/standardnotes/package.json
index bdc8103..b3d913b 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.0.3", 4 "version": "1.1.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/standardnotes/webview.js b/recipes/standardnotes/webview.js
index bdbf506..e69de29 100755
--- a/recipes/standardnotes/webview.js
+++ b/recipes/standardnotes/webview.js
@@ -1 +0,0 @@
1// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsImZpbGUiOiJnb29nbGVrZWVwL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6W119
diff --git a/recipes/steamchat/index.js b/recipes/steamchat/index.js
index 749ddde..9598981 100644
--- a/recipes/steamchat/index.js
+++ b/recipes/steamchat/index.js
@@ -1,9 +1,5 @@
1module.exports = (Franz) => class SteamChat extends Franz { 1module.exports = (Ferdi) => class SteamChat extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace( 3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+ \([^)]+\)/g, '').trim();
4 /(Ferdi|Electron)\/\S+ \([^)]+\)/g,
5 '',
6 );
7 } 4 }
8}; 5};
9// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZWFtY2hhdC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJTdGVhbUNoYXQiLCJvdmVycmlkZVVzZXJBZ2VudCIsIndpbmRvdyIsIm5hdmlnYXRvciIsInVzZXJBZ2VudCIsInJlcGxhY2UiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVMsTUFBTUMsU0FBTixTQUF3QkQsS0FBeEIsQ0FBOEI7QUFDdERFLHNCQUFvQjtBQUNsQixXQUFPQyxPQUFPQyxTQUFQLENBQWlCQyxTQUFqQixDQUEyQkMsT0FBM0IsQ0FBbUMsNkJBQW5DLEVBQWtFLEVBQWxFLENBQVA7QUFDRDtBQUhxRCxDQUF4RCIsImZpbGUiOiJzdGVhbWNoYXQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IGNsYXNzIFN0ZWFtQ2hhdCBleHRlbmRzIEZyYW56IHtcbiAgb3ZlcnJpZGVVc2VyQWdlbnQoKSB7XG4gICAgcmV0dXJuIHdpbmRvdy5uYXZpZ2F0b3IudXNlckFnZW50LnJlcGxhY2UoLyhGcmFuenxFbGVjdHJvbikoW15cXHNdK1xccykvZywgJycpO1xuICB9XG59O1xuIl19
diff --git a/recipes/steamchat/package.json b/recipes/steamchat/package.json
index aa10825..5899cc8 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.1.5", 4 "version": "1.2.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 eeb0fe5..b35cc6b 100644
--- a/recipes/steamchat/webview.js
+++ b/recipes/steamchat/webview.js
@@ -1,6 +1,6 @@
1const { ipcRenderer } = require('electron'); 1const { ipcRenderer } = require('electron');
2 2
3module.exports = Franz => { 3module.exports = Ferdi => {
4 const getMessages = function getMessages() { 4 const getMessages = function getMessages() {
5 // get new msg count 5 // get new msg count
6 let count = 0; 6 let count = 0;
@@ -12,7 +12,7 @@ module.exports = Franz => {
12 }); 12 });
13 13
14 const indirectMessages = document.querySelectorAll('[class*=ChatUnreadMessageIndicator]').length; 14 const indirectMessages = document.querySelectorAll('[class*=ChatUnreadMessageIndicator]').length;
15 Franz.setBadge(count, indirectMessages); 15 Ferdi.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');
@@ -25,7 +25,7 @@ module.exports = Franz => {
25 } 25 }
26 }; 26 };
27 27
28 Franz.loop(getMessages); 28 Ferdi.loop(getMessages);
29 29
30 document.addEventListener('click', event => { 30 document.addEventListener('click', event => {
31 const link = event.target.closest('a[href^="http"]'); 31 const link = event.target.closest('a[href^="http"]');
@@ -38,4 +38,3 @@ module.exports = Franz => {
38 } 38 }
39 }, true); 39 }, true);
40}; 40};
41// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0ZWFtY2hhdC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiY291bnQiLCJjb3VudGVycyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsIkFycmF5IiwicHJvdG90eXBlIiwic2xpY2UiLCJjYWxsIiwiTWF0aCIsImZsb29yIiwibGVuZ3RoIiwiZmlsdGVyIiwiY291bnRWYWx1ZXMiLCJjb3VudFZhbHVlIiwicXVlcnlTZWxlY3RvciIsImlubmVySFRNTCIsInBhcnNlSW50Iiwic2V0QmFkZ2UiLCJjaGF0Qm94ZXMiLCJjaGF0Qm94IiwiY2hhdCIsInN0eWxlIiwiZGlzcGxheSIsImNoYXRXaW5kb3ciLCJzY3JvbGxUb3AiLCJzY3JvbGxIZWlnaHQiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUVBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDO0FBQ0EsUUFBSUMsUUFBUSxDQUFaO0FBQ0EsUUFBSUMsV0FBV0MsU0FBU0MsZ0JBQVQsQ0FBMEIscURBQTFCLENBQWY7QUFDQUYsZUFBV0csTUFBTUMsU0FBTixDQUFnQkMsS0FBaEIsQ0FBc0JDLElBQXRCLENBQTJCTixRQUEzQixFQUFxQ08sS0FBS0MsS0FBTCxDQUFXUixTQUFTUyxNQUFULEdBQWtCLENBQTdCLENBQXJDLENBQVg7QUFDQSxPQUFHQyxNQUFILENBQVVKLElBQVYsQ0FBZU4sUUFBZixFQUEwQlcsV0FBRCxJQUFpQjtBQUN4QyxVQUFJQSxXQUFKLEVBQWlCO0FBQ2YsY0FBTUMsYUFBYUQsWUFBWUUsYUFBWixDQUEwQiw2QkFBMUIsQ0FBbkI7QUFDQSxZQUFJRCxXQUFXRSxTQUFYLENBQXFCTCxNQUFyQixHQUE4QixDQUFsQyxFQUFxQztBQUNuQ1YsbUJBQVNnQixTQUFTSCxXQUFXRSxTQUFwQixDQUFUO0FBQ0Q7QUFDRjtBQUNGLEtBUEQ7QUFRQWpCLFVBQU1tQixRQUFOLENBQWVqQixLQUFmOztBQUVBO0FBQ0EsVUFBTWtCLFlBQVloQixTQUFTQyxnQkFBVCxDQUEwQixjQUExQixDQUFsQjtBQUNBLFFBQUllLFNBQUosRUFBZTtBQUNiLFlBQU1DLFVBQVUsR0FBR1IsTUFBSCxDQUFVSixJQUFWLENBQWVXLFNBQWYsRUFBMkJFLElBQUQsSUFBVTtBQUNsRCxlQUFPQSxLQUFLQyxLQUFMLENBQVdDLE9BQVgsS0FBdUIsTUFBOUI7QUFDRCxPQUZlLENBQWhCO0FBR0EsVUFBSUgsUUFBUSxDQUFSLENBQUosRUFBZ0I7QUFDZCxjQUFNSSxhQUFhSixRQUFRLENBQVIsRUFBV0wsYUFBWCxDQUF5QixxQkFBekIsQ0FBbkI7QUFDQVMsbUJBQVdDLFNBQVgsR0FBdUJELFdBQVdFLFlBQWxDO0FBQ0Q7QUFDRjtBQUNGLEdBMUJEOztBQTRCQTNCLFFBQU00QixJQUFOLENBQVczQixXQUFYO0FBQ0QsQ0E5QkQiLCJmaWxlIjoic3RlYW1jaGF0L3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJcblxubW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICAvLyBnZXQgbmV3IG1zZyBjb3VudFxuICAgIGxldCBjb3VudCA9IDA7XG4gICAgbGV0IGNvdW50ZXJzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLnVucmVhZF9tZXNzYWdlX2NvdW50Om5vdChbc3R5bGU9XCJkaXNwbGF5OiBub25lO1wiXSknKTtcbiAgICBjb3VudGVycyA9IEFycmF5LnByb3RvdHlwZS5zbGljZS5jYWxsKGNvdW50ZXJzLCBNYXRoLmZsb29yKGNvdW50ZXJzLmxlbmd0aCAvIDIpKTtcbiAgICBbXS5maWx0ZXIuY2FsbChjb3VudGVycywgKGNvdW50VmFsdWVzKSA9PiB7XG4gICAgICBpZiAoY291bnRWYWx1ZXMpIHtcbiAgICAgICAgY29uc3QgY291bnRWYWx1ZSA9IGNvdW50VmFsdWVzLnF1ZXJ5U2VsZWN0b3IoJy51bnJlYWRfbWVzc2FnZV9jb3VudF92YWx1ZScpO1xuICAgICAgICBpZiAoY291bnRWYWx1ZS5pbm5lckhUTUwubGVuZ3RoID4gMCkge1xuICAgICAgICAgIGNvdW50ICs9IHBhcnNlSW50KGNvdW50VmFsdWUuaW5uZXJIVE1MKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0pO1xuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcblxuICAgIC8vIGZvcmNlIHNjcm9sbCB0byBib3R0b20gb2YgY2hhdCB3aW5kb3dcbiAgICBjb25zdCBjaGF0Qm94ZXMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hhdF9kaWFsb2cnKTtcbiAgICBpZiAoY2hhdEJveGVzKSB7XG4gICAgICBjb25zdCBjaGF0Qm94ID0gW10uZmlsdGVyLmNhbGwoY2hhdEJveGVzLCAoY2hhdCkgPT4ge1xuICAgICAgICByZXR1cm4gY2hhdC5zdHlsZS5kaXNwbGF5ICE9PSAnbm9uZSc7XG4gICAgICB9KTtcbiAgICAgIGlmIChjaGF0Qm94WzBdKSB7XG4gICAgICAgIGNvbnN0IGNoYXRXaW5kb3cgPSBjaGF0Qm94WzBdLnF1ZXJ5U2VsZWN0b3IoJy5jaGF0X2RpYWxvZ19zY3JvbGwnKTtcbiAgICAgICAgY2hhdFdpbmRvdy5zY3JvbGxUb3AgPSBjaGF0V2luZG93LnNjcm9sbEhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/stride/index.js b/recipes/stride/index.js
index 6db60e1..23607bd 100644
--- a/recipes/stride/index.js
+++ b/recipes/stride/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmlkZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InN0cmlkZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/stride/package.json b/recipes/stride/package.json
index 7cd4c06..fa0d367 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.1.2", 4 "version": "1.2.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 e72da2a..6b1300f 100644
--- a/recipes/stride/webview.js
+++ b/recipes/stride/webview.js
@@ -1,10 +1,8 @@
1const _path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2
3const _path2 = _interopRequireDefault(_path);
4 2
5function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6 4
7module.exports = Franz => { 5module.exports = Ferdi => {
8 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
9 // get all message badges 7 // get all message badges
10 const allBadges = document.querySelectorAll('.activity-indicator'); 8 const allBadges = document.querySelectorAll('.activity-indicator');
@@ -22,13 +20,11 @@ module.exports = Franz => {
22 } 20 }
23 }); 21 });
24 22
25 // set Franz badge 23 // set Ferdi badge
26 Franz.setBadge(directCount, indirectCount); 24 Ferdi.setBadge(directCount, indirectCount);
27 }; 25 };
28 // check for new messages every second and update Franz badge
29 Franz.loop(getMessages);
30 26
31 // inject franz.css stylesheet 27 Ferdi.loop(getMessages);
32 Franz.injectCSS(_path2.default.join(__dirname, 'service.css')); 28
29 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
33}; 30};
34// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0cmlkZS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiYWxsQmFkZ2VzIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiZGlyZWN0Q291bnQiLCJpbmRpcmVjdENvdW50IiwiZm9yRWFjaCIsIml0ZW0iLCJoYXNBdHRyaWJ1dGUiLCJNYXRoIiwibWF4IiwiZ2V0QXR0cmlidXRlIiwic2V0QmFkZ2UiLCJsb29wIiwiaW5qZWN0Q1NTIiwiam9pbiIsIl9fZGlybmFtZSJdLCJtYXBwaW5ncyI6Ijs7QUFBQTs7Ozs7O0FBQ0FBLE9BQU9DLE9BQVAsR0FBa0JDLEtBQUQsSUFBVztBQUMxQixRQUFNQyxjQUFjLFNBQVNBLFdBQVQsR0FBdUI7QUFDM0M7QUFDRSxVQUFNQyxZQUFZQyxTQUFTQyxnQkFBVCxDQUEwQixxQkFBMUIsQ0FBbEI7QUFDQSxRQUFJQyxjQUFjLENBQWxCO0FBQUEsUUFDRUMsZ0JBQWdCLENBRGxCOztBQUdGO0FBQ0VKLGNBQVVLLE9BQVYsQ0FBbUJDLElBQUQsSUFBVTtBQUMxQixVQUFJQSxLQUFLQyxZQUFMLENBQWtCLFlBQWxCLENBQUosRUFBcUM7QUFDdkM7QUFDSUosdUJBQWVLLEtBQUtDLEdBQUwsQ0FBUyxDQUFULEVBQVksQ0FBRUgsS0FBS0ksWUFBTCxDQUFrQixZQUFsQixDQUFkLENBQWY7QUFDRCxPQUhELE1BR087QUFDVDtBQUNJTjtBQUNEO0FBQ0YsS0FSRDs7QUFVRjtBQUNFTixVQUFNYSxRQUFOLENBQWVSLFdBQWYsRUFBNEJDLGFBQTVCO0FBQ0QsR0FuQkQ7QUFvQkQ7QUFDQ04sUUFBTWMsSUFBTixDQUFXYixXQUFYOztBQUVEO0FBQ0NELFFBQU1lLFNBQU4sQ0FBZ0IsZUFBS0MsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGFBQXJCLENBQWhCO0FBQ0QsQ0ExQkQiLCJmaWxlIjoic3RyaWRlL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgcGF0aCBmcm9tICdwYXRoJztcbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG5cdFx0Ly8gZ2V0IGFsbCBtZXNzYWdlIGJhZGdlc1xuICAgIGNvbnN0IGFsbEJhZGdlcyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5hY3Rpdml0eS1pbmRpY2F0b3InKTtcbiAgICBsZXQgZGlyZWN0Q291bnQgPSAwLFxuICAgICAgaW5kaXJlY3RDb3VudCA9IDA7XG5cblx0XHQvLyBnZXQgdW5yZWFkIGRpcmVjdCBtZXNzYWdlcyBieSB0cmluZyB0byByZWFkIHRoZSBiYWRnZSB2YWx1ZXNcbiAgICBhbGxCYWRnZXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgaWYgKGl0ZW0uaGFzQXR0cmlidXRlKCdkYXRhLWNvdW50JykpIHtcblx0XHRcdFx0Ly8gQ291bnQgZm9yIERNcyBzaG91bGQgYmUgaW4gdGhlIGRhdGEtY291bnQgYXR0cmlidXRlXG4gICAgICAgIGRpcmVjdENvdW50ICs9IE1hdGgubWF4KDEsICsoaXRlbS5nZXRBdHRyaWJ1dGUoJ2RhdGEtY291bnQnKSkpO1xuICAgICAgfSBlbHNlIHtcblx0XHRcdFx0Ly8gdGhpcyB3aWxsIGJlIHRoZSBjYXNlIGZvciBpbmRpcmVjdCBtZXNzYWdlc1xuICAgICAgICBpbmRpcmVjdENvdW50Kys7XG4gICAgICB9XG4gICAgfSk7XG5cblx0XHQvLyBzZXQgRnJhbnogYmFkZ2VcbiAgICBGcmFuei5zZXRCYWRnZShkaXJlY3RDb3VudCwgaW5kaXJlY3RDb3VudCk7XG4gIH07XG5cdC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG5cblx0Ly8gaW5qZWN0IGZyYW56LmNzcyBzdHlsZXNoZWV0XG4gIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG59O1xuIl19
diff --git a/recipes/superhuman-email/index.js b/recipes/superhuman-email/index.js
index 7277aa7..44bc55d 100644
--- a/recipes/superhuman-email/index.js
+++ b/recipes/superhuman-email/index.js
@@ -1,11 +1,6 @@
1// just pass through Franz - Superhuman tab appears, says needs Chrome 1module.exports = Ferdi => class SuperHuman extends Ferdi {
2// module.exports = Franz => Franz; 2 overrideUserAgent() {
3 3 // TODO: Rather than hardcoding like this, the user should set it for their individual installation of Ferdi
4// tried the whole string from the issue example - Superhuman tab appears, says needs Chrome 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// module.exports = Franz => class useragent extends Franz { overrideUserAgent() { 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 }
6 6};
7// updated class name to superhuman - Superhuman tab appears, says needs Chrome
8module.exports = Franz => class superhuman extends Franz { overrideUserAgent() { 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'; } };
9
10// Tried shortening to just Chrome lol - Superhuman tab appears, says needs Chrome
11// module.exports = Franz => class superhuman extends Franz { overrideUserAgent() {return "Chrome"; } };
diff --git a/recipes/superhuman-email/package.json b/recipes/superhuman-email/package.json
index 06eccfd..53509cb 100644
--- a/recipes/superhuman-email/package.json
+++ b/recipes/superhuman-email/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "superhuman", 2 "id": "superhuman",
3 "name": "superhuman", 3 "name": "superhuman",
4 "version": "1.0.2", 4 "version": "1.1.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-email/webview.js b/recipes/superhuman-email/webview.js
index 8a6ba8e..697efa6 100644
--- a/recipes/superhuman-email/webview.js
+++ b/recipes/superhuman-email/webview.js
@@ -1,11 +1,8 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // Get the number of mentions
4 const mentions = document.querySelectorAll('.chat-line .mentioned').length; 3 const mentions = document.querySelectorAll('.chat-line .mentioned').length;
5 4 Ferdi.setBadge(mentions, 0);
6 Franz.setBadge(mentions, 0);
7 }; 5 };
8 // check for new messages every second and update Franz badge 6
9 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
10}; 8};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3aXRjaC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsIm9wdGlvbnMiLCJnZXRNZXNzYWdlcyIsIm1lbnRpb25zIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCLENBQUNDLEtBQUQsRUFBUUMsT0FBUixLQUFvQjtBQUNuQyxRQUFNQyxjQUFjLE1BQU07QUFDeEI7QUFDQSxVQUFNQyxXQUFXQyxTQUFTQyxnQkFBVCxDQUEwQix1QkFBMUIsRUFBbURDLE1BQXBFOztBQUVBTixVQUFNTyxRQUFOLENBQWVKLFFBQWYsRUFBeUIsQ0FBekI7QUFDRCxHQUxEO0FBTUE7QUFDQUgsUUFBTVEsSUFBTixDQUFXTixXQUFYO0FBQ0QsQ0FURCIsImZpbGUiOiJ0d2l0Y2gvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56LCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gKCkgPT4ge1xuICAgIC8vIEdldCB0aGUgbnVtYmVyIG9mIG1lbnRpb25zXG4gICAgY29uc3QgbWVudGlvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hhdC1saW5lIC5tZW50aW9uZWQnKS5sZW5ndGg7XG5cbiAgICBGcmFuei5zZXRCYWRnZShtZW50aW9ucywgMCk7XG4gIH07XG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/sync/package.json b/recipes/sync/package.json
index 03dc462..f436ae9 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.0.2", 4 "version": "1.1.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/sync/webview.js b/recipes/sync/webview.js
index 137d2d0..10157e9 100644
--- a/recipes/sync/webview.js
+++ b/recipes/sync/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // Sync.com does not provide notifications at this time.
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/tawk/index.js b/recipes/tawk/index.js
index 8644398..23607bd 100644
--- a/recipes/tawk/index.js
+++ b/recipes/tawk/index.js
@@ -1,4 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2
3module.exports = Franz => Franz;
4// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImRpc2NvcmQvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBOztBQUNBLE9BQU8sQUFBUCxVQUFpQixTQUFTLEFBQTFCIiwiZmlsZSI6ImRpc2NvcmQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBqdXN0IHBhc3MgdGhyb3VnaCBGcmFuelxubW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/tawk/package.json b/recipes/tawk/package.json
index 56f61bc..eb842d9 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.0.2", 4 "version": "1.1.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/tawk/webview.js b/recipes/tawk/webview.js
index 48410ae..7e19dff 100644
--- a/recipes/tawk/webview.js
+++ b/recipes/tawk/webview.js
@@ -1,2 +1,2 @@
1module.exports = (Franz, options) => {}; 1module.exports = Ferdi => {
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRhd2svd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJvcHRpb25zIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCLENBQUNDLEtBQUQsRUFBUUMsT0FBUixLQUFvQixDQUFFLENBQXZDIiwiZmlsZSI6InRhd2svd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56LCBvcHRpb25zKSA9PiB7fVxuIl19 2};
diff --git a/recipes/teamleader/index.js b/recipes/teamleader/index.js
index 258da41..23607bd 100644
--- a/recipes/teamleader/index.js
+++ b/recipes/teamleader/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/teamleader/package.json b/recipes/teamleader/package.json
index 08b7e2a..332f28f 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.0.2", 4 "version": "1.1.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 2de8e1c..3041463 100644
--- a/recipes/teamleader/webview.js
+++ b/recipes/teamleader/webview.js
@@ -1,13 +1,14 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 const getMessages = () => { 6 const getMessages = () => {
5 const unreadNotifications = parseInt(document.getElementById('notifications_amount').innerHTML); 7 const unreadNotifications = parseInt(document.getElementById('notifications_amount').innerHTML);
6 8 Ferdi.setBadge(unreadNotifications);
7 Franz.setBadge(unreadNotifications);
8 }; 9 };
9 10
10 Franz.loop(getMessages); 11 Ferdi.loop(getMessages);
11 12
12 Franz.injectCSS(path.join(__dirname, 'css', 'franz.css')); 13 Ferdi.injectCSS(_path.default.join(__dirname, 'css', 'franz.css'));
13}; 14};
diff --git a/recipes/teamwork-projects/index.js b/recipes/teamwork-projects/index.js
index ea5dbea..23607bd 100644
--- a/recipes/teamwork-projects/index.js
+++ b/recipes/teamwork-projects/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlYW13b3JrLXByb2plY3RzL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidGVhbXdvcmstcHJvamVjdHMvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/teamwork-projects/package.json b/recipes/teamwork-projects/package.json
index c18024f..573de82 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.1.2", 4 "version": "0.2.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 c52abc5..94e8dd0 100644
--- a/recipes/teamwork-projects/webview.js
+++ b/recipes/teamwork-projects/webview.js
@@ -1,6 +1,5 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 const count = 0;
4 let indirectCount = 0; 3 let indirectCount = 0;
5 const badge = document.getElementById('numNotifs2'); 4 const badge = document.getElementById('numNotifs2');
6 5
@@ -8,9 +7,8 @@ module.exports = (Franz, options) => {
8 indirectCount = parseInt(badge.innerText); 7 indirectCount = parseInt(badge.innerText);
9 } 8 }
10 9
11 Franz.setBadge(count, indirectCount); 10 Ferdi.setBadge(0, indirectCount);
12 } 11 }
13 12
14 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
15}; 14};
16// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlYW13b3JrLXByb2plY3RzL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Iiwib3B0aW9ucyIsImdldE1lc3NhZ2VzIiwiY291bnQiLCJpbmRpcmVjdENvdW50IiwiYmFkZ2UiLCJkb2N1bWVudCIsImdldEVsZW1lbnRCeUlkIiwiaW5uZXJUZXh0IiwicGFyc2VJbnQiLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUIsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLEtBQW9CO0FBQ25DLFdBQVNDLFdBQVQsR0FBdUI7QUFDckIsUUFBSUMsUUFBUSxDQUFaO0FBQ0EsUUFBSUMsZ0JBQWdCLENBQXBCO0FBQ0EsUUFBSUMsUUFBUUMsU0FBU0MsY0FBVCxDQUF3QixZQUF4QixDQUFaOztBQUVBLFFBQUlGLFNBQVNBLE1BQU1HLFNBQW5CLEVBQThCO0FBQzFCSixzQkFBZ0JLLFNBQVNKLE1BQU1HLFNBQWYsQ0FBaEI7QUFDSDs7QUFFRFIsVUFBTVUsUUFBTixDQUFlUCxLQUFmLEVBQXNCQyxhQUF0QjtBQUNEOztBQUVESixRQUFNVyxJQUFOLENBQVdULFdBQVg7QUFDRCxDQWREIiwiZmlsZSI6InRlYW13b3JrLXByb2plY3RzL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IChGcmFueiwgb3B0aW9ucykgPT4ge1xuICBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBsZXQgY291bnQgPSAwO1xuICAgIGxldCBpbmRpcmVjdENvdW50ID0gMDtcbiAgICBsZXQgYmFkZ2UgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnbnVtTm90aWZzMicpO1xuXG4gICAgaWYgKGJhZGdlICYmIGJhZGdlLmlubmVyVGV4dCkge1xuICAgICAgICBpbmRpcmVjdENvdW50ID0gcGFyc2VJbnQoYmFkZ2UuaW5uZXJUZXh0KTtcbiAgICB9XG5cbiAgICBGcmFuei5zZXRCYWRnZShjb3VudCwgaW5kaXJlY3RDb3VudCk7XG4gIH1cblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn1cbiJdfQ==
diff --git a/recipes/telegram-react/index.js b/recipes/telegram-react/index.js
index ac3e6f0..23607bd 100644
--- a/recipes/telegram-react/index.js
+++ b/recipes/telegram-react/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlbGVncmFtL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidGVsZWdyYW0vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/telegram-react/package.json b/recipes/telegram-react/package.json
index cc2243f..ae8e451 100644
--- a/recipes/telegram-react/package.json
+++ b/recipes/telegram-react/package.json
@@ -1,7 +1,7 @@
1{ 1{
2 "id": "telegram-react", 2 "id": "telegram-react",
3 "name": "Telegram React", 3 "name": "Telegram React",
4 "version": "1.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "config": { 6 "config": {
7 "serviceURL": "https://webk.telegram.org", 7 "serviceURL": "https://webk.telegram.org",
diff --git a/recipes/telegram-react/webview.js b/recipes/telegram-react/webview.js
index 030040b..b6240ff 100644
--- a/recipes/telegram-react/webview.js
+++ b/recipes/telegram-react/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = 0; 3 let count = 0;
4 const elements = document.querySelectorAll('.chatlist > li:not(.is-muted)'); 4 const elements = document.querySelectorAll('.chatlist > li:not(.is-muted)');
@@ -9,7 +9,8 @@ module.exports = Franz => {
9 } 9 }
10 } 10 }
11 } 11 }
12 Franz.setBadge(count); 12 Ferdi.setBadge(count);
13 }; 13 };
14 Franz.loop(getMessages); 14
15 Ferdi.loop(getMessages);
15}; 16};
diff --git a/recipes/telegram/index.js b/recipes/telegram/index.js
index ac3e6f0..23607bd 100644
--- a/recipes/telegram/index.js
+++ b/recipes/telegram/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRlbGVncmFtL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidGVsZWdyYW0vaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/telegram/package.json b/recipes/telegram/package.json
index ee90470..47e53f0 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.1.1", 4 "version": "3.2.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 db8c8d7..bf9ffec 100644
--- a/recipes/telegram/webview.js
+++ b/recipes/telegram/webview.js
@@ -1,8 +1,10 @@
1// Code copied from: https://gitlab.com/gortega4/ferdi_recipes 1// Code copied from: https://gitlab.com/gortega4/ferdi_recipes
2 2
3const path = require('path'); 3const _path = _interopRequireDefault(require('path'));
4 4
5module.exports = Franz => { 5function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6
7module.exports = Ferdi => {
6 const getMessages = function getMessages() { 8 const getMessages = function getMessages() {
7 let count = 0; 9 let count = 0;
8 let count_sec = 0; 10 let count_sec = 0;
@@ -21,9 +23,10 @@ module.exports = Franz => {
21 } 23 }
22 } 24 }
23 25
24 Franz.setBadge(count, count_sec); 26 Ferdi.setBadge(count, count_sec);
25 }; 27 };
26 28
27 Franz.injectCSS(path.join(__dirname, 'service.css')); 29 Ferdi.loop(getMessages);
28 Franz.loop(getMessages); 30
31 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
29}; 32};
diff --git a/recipes/thelounge/index.js b/recipes/thelounge/index.js
index 7566b86..23607bd 100644
--- a/recipes/thelounge/index.js
+++ b/recipes/thelounge/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZWxvdW5nZS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InRoZWxvdW5nZS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7Il19
diff --git a/recipes/thelounge/package.json b/recipes/thelounge/package.json
index a472f84..816a4b1 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.0.2", 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/thelounge/webview.js b/recipes/thelounge/webview.js
index 7e174c6..e993264 100644
--- a/recipes/thelounge/webview.js
+++ b/recipes/thelounge/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const indirectElements = document.querySelectorAll('.badge:not(.highlight)'); 3 const indirectElements = document.querySelectorAll('.badge:not(.highlight)');
4 const direct = document.querySelectorAll('.badge.highlight').length; 4 const direct = document.querySelectorAll('.badge.highlight').length;
@@ -7,8 +7,8 @@ module.exports = Franz => {
7 if (indirectElements[i].innerHTML.length > 0) indirect++; 7 if (indirectElements[i].innerHTML.length > 0) indirect++;
8 } 8 }
9 console.log(direct, indirect); 9 console.log(direct, indirect);
10 Franz.setBadge(direct, indirect); 10 Ferdi.setBadge(direct, indirect);
11 }; 11 };
12 Franz.loop(getMessages); 12
13 Ferdi.loop(getMessages);
13}; 14};
14// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRoZWxvdW5nZS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiaW5kaXJlY3RFbGVtZW50cyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsImRpcmVjdCIsImxlbmd0aCIsImluZGlyZWN0IiwiaSIsImlubmVySFRNTCIsImNvbnNvbGUiLCJsb2ciLCJzZXRCYWRnZSIsImxvb3AiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVM7QUFDekIsT0FBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQzFDLE1BQUlDLG1CQUFtQkMsU0FBU0MsZ0JBQVQsQ0FBMEIsd0JBQTFCLENBQXZCO0FBQ0EsTUFBSUMsU0FBU0YsU0FBU0MsZ0JBQVQsQ0FBMEIsa0JBQTFCLEVBQThDRSxNQUEzRDtBQUNBLE1BQUlDLFdBQVcsQ0FBZjtBQUNBLE9BQUssSUFBSUMsSUFBSSxDQUFiLEVBQWdCQSxJQUFJTixpQkFBaUJJLE1BQXJDLEVBQTZDRSxLQUFLLENBQWxELEVBQXFEO0FBQ3BELE9BQUlOLGlCQUFpQk0sQ0FBakIsRUFBb0JDLFNBQXBCLENBQThCSCxNQUE5QixHQUF1QyxDQUEzQyxFQUE4Q0M7QUFDOUM7QUFDREcsVUFBUUMsR0FBUixDQUFZTixNQUFaLEVBQW9CRSxRQUFwQjtBQUNBUCxRQUFNWSxRQUFOLENBQWVQLE1BQWYsRUFBdUJFLFFBQXZCO0FBQ0EsRUFURDtBQVVBUCxPQUFNYSxJQUFOLENBQVdaLFdBQVg7QUFDQSxDQVpEIiwiZmlsZSI6InRoZWxvdW5nZS93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiB7XG5cdGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG5cdFx0bGV0IGluZGlyZWN0RWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuYmFkZ2U6bm90KC5oaWdobGlnaHQpJyk7XG5cdFx0bGV0IGRpcmVjdCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5iYWRnZS5oaWdobGlnaHQnKS5sZW5ndGg7XG5cdFx0bGV0IGluZGlyZWN0ID0gMDtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGluZGlyZWN0RWxlbWVudHMubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRcdGlmIChpbmRpcmVjdEVsZW1lbnRzW2ldLmlubmVySFRNTC5sZW5ndGggPiAwKSBpbmRpcmVjdCsrO1xuXHRcdH1cblx0XHRjb25zb2xlLmxvZyhkaXJlY3QsIGluZGlyZWN0KTtcblx0XHRGcmFuei5zZXRCYWRnZShkaXJlY3QsIGluZGlyZWN0KTtcblx0fTtcblx0RnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/threema/index.js b/recipes/threema/index.js
index caa0632..23607bd 100644
--- a/recipes/threema/index.js
+++ b/recipes/threema/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRocmVlbWEvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiQUFBQTs7QUFFQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidGhyZWVtYS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIlwidXNlIHN0cmljdFwiO1xuXG5tb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/threema/package.json b/recipes/threema/package.json
index fa5dbe6..00f3343 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.0.2", 4 "version": "1.1.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 cd3bebd..8c7c137 100644
--- a/recipes/threema/webview.js
+++ b/recipes/threema/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 const elements = document.querySelectorAll('.badge.unread-count:not(.ng-hide)'); 7 const elements = document.querySelectorAll('.badge.unread-count:not(.ng-hide)');
6 let count = 0; 8 let count = 0;
@@ -13,14 +15,11 @@ module.exports = Franz => {
13 } 15 }
14 } 16 }
15 17
16 // set Franz badge 18 // set Ferdi badge
17 Franz.setBadge(count); 19 Ferdi.setBadge(count);
18 }; 20 };
19 21
20 // inject franz.css stylesheet 22 Ferdi.loop(getMessages);
21 Franz.injectCSS(path.join(__dirname, 'service.css'));
22 23
23 // check for new messages every second and update Franz badge 24 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
24 Franz.loop(getMessages);
25}; 25};
26// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRocmVlbWEvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJwYXRoIiwicmVxdWlyZSIsIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZWxlbWVudHMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjb3VudCIsImkiLCJsZW5ndGgiLCJwYXJzZUludCIsImlubmVySFRNTCIsInRyaW0iLCJlIiwiY29uc29sZSIsImVycm9yIiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBRUEsTUFBTUEsT0FBT0MsUUFBUSxNQUFSLENBQWI7O0FBRUFDLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVM7QUFDdEIsVUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3ZDLGNBQU1DLFdBQVdDLFNBQVNDLGdCQUFULENBQTBCLG1DQUExQixDQUFqQjtBQUNBLFlBQUlDLFFBQVEsQ0FBWjs7QUFFQSxhQUFLLElBQUlDLElBQUksQ0FBYixFQUFnQkEsSUFBSUosU0FBU0ssTUFBN0IsRUFBcUNELEtBQUssQ0FBMUMsRUFBNkM7QUFDekMsZ0JBQUk7QUFDQUQseUJBQVNHLFNBQVNOLFNBQVNJLENBQVQsRUFBWUcsU0FBWixDQUFzQkMsSUFBdEIsRUFBVCxFQUF1QyxFQUF2QyxDQUFUO0FBQ0gsYUFGRCxDQUVFLE9BQU9DLENBQVAsRUFBVTtBQUNSQyx3QkFBUUMsS0FBUixDQUFjRixDQUFkO0FBQ0g7QUFDSjs7QUFFRDtBQUNBWCxjQUFNYyxRQUFOLENBQWVULEtBQWY7QUFDSCxLQWREOztBQWdCQTtBQUNBTCxVQUFNZSxTQUFOLENBQWdCbkIsS0FBS29CLElBQUwsQ0FBVUMsU0FBVixFQUFxQixhQUFyQixDQUFoQjs7QUFFQTtBQUNBakIsVUFBTWtCLElBQU4sQ0FBV2pCLFdBQVg7QUFDSCxDQXRCRCIsImZpbGUiOiJ0aHJlZW1hL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4ge1xuICAgIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgICAgIGNvbnN0IGVsZW1lbnRzID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLmJhZGdlLnVucmVhZC1jb3VudDpub3QoLm5nLWhpZGUpJyk7XG4gICAgICAgIGxldCBjb3VudCA9IDA7XG5cbiAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBlbGVtZW50cy5sZW5ndGg7IGkgKz0gMSkge1xuICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBjb3VudCArPSBwYXJzZUludChlbGVtZW50c1tpXS5pbm5lckhUTUwudHJpbSgpLCAxMCk7XG4gICAgICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcihlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgICAgICBGcmFuei5zZXRCYWRnZShjb3VudCk7XG4gICAgfTtcblxuICAgIC8vIGluamVjdCBmcmFuei5jc3Mgc3R5bGVzaGVldFxuICAgIEZyYW56LmluamVjdENTUyhwYXRoLmpvaW4oX19kaXJuYW1lLCAnc2VydmljZS5jc3MnKSk7XG5cbiAgICAvLyBjaGVjayBmb3IgbmV3IG1lc3NhZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIEZyYW56IGJhZGdlXG4gICAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/ticktick/index.js b/recipes/ticktick/index.js
index 5c9f5a4..223ef7e 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 = Franz => Franz; 2module.exports = Ferdi => Ferdi;
diff --git a/recipes/ticktick/package.json b/recipes/ticktick/package.json
index 455b1c9..c7d3b58 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.1.3", 4 "version": "1.2.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 98049e5..927bb08 100644
--- a/recipes/ticktick/webview.js
+++ b/recipes/ticktick/webview.js
@@ -1,9 +1,10 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz.setBadge(count); 6 Ferdi.setBadge(count);
7 }; 7 };
8 Franz.loop(getMessages); 8
9 Ferdi.loop(getMessages);
9}; 10};
diff --git a/recipes/todoist/index.js b/recipes/todoist/index.js
index 258da41..23607bd 100644
--- a/recipes/todoist/index.js
+++ b/recipes/todoist/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/todoist/package.json b/recipes/todoist/package.json
index 5d17d08..ddcf188 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.2.2", 4 "version": "1.3.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 70bd71c..a65be91 100644
--- a/recipes/todoist/webview.js
+++ b/recipes/todoist/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getTasks() { 2 function getTasks() {
3 let todayCount = 0; 3 let todayCount = 0;
4 let inboxCount = 0; 4 let inboxCount = 0;
@@ -13,8 +13,8 @@ module.exports = (Franz, options) => {
13 inboxCount = parseInt(inboxElement.innerHTML, 10); 13 inboxCount = parseInt(inboxElement.innerHTML, 10);
14 } 14 }
15 15
16 Franz.setBadge(inboxCount, todayCount); 16 Ferdi.setBadge(inboxCount, todayCount);
17 } 17 }
18 18
19 Franz.loop(getTasks); 19 Ferdi.loop(getTasks);
20}; 20};
diff --git a/recipes/toggl/index.js b/recipes/toggl/index.js
index 6fadb1f..23607bd 100644
--- a/recipes/toggl/index.js
+++ b/recipes/toggl/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidG9nZ2wvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/toggl/package.json b/recipes/toggl/package.json
index deb6832..f40b35e 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.0.3", 4 "version": "1.1.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.js b/recipes/toggl/webview.js
index 5437fd4..7e19dff 100644
--- a/recipes/toggl/webview.js
+++ b/recipes/toggl/webview.js
@@ -1,2 +1,2 @@
1module.exports = (Franz, options) => {}; 1module.exports = Ferdi => {
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRvZ2dsL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Iiwib3B0aW9ucyJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQixDQUFDQyxLQUFELEVBQVFDLE9BQVIsS0FBb0IsQ0FBRSxDQUF2QyIsImZpbGUiOiJ0b2dnbC93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnosIG9wdGlvbnMpID0+IHt9XG4iXX0= 2};
diff --git a/recipes/trello/index.js b/recipes/trello/index.js
index 3d98a33..23607bd 100644
--- a/recipes/trello/index.js
+++ b/recipes/trello/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWxsby9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6InRyZWxsby9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/trello/package.json b/recipes/trello/package.json
index be4b891..ceefe8f 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.0.4", 4 "version": "1.1.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 0c4c227..a6c107d 100644
--- a/recipes/trello/webview.js
+++ b/recipes/trello/webview.js
@@ -1,10 +1,8 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const notifications = document.querySelectorAll('[class*=_3W-zkl4-bnVKzJ]'); 3 const notifications = document.querySelectorAll('[class*=_3W-zkl4-bnVKzJ]');
4 4 Ferdi.setBadge(0, notifications.length >= 1 ? 1 : 0);
5 Franz.setBadge(0, notifications.length >= 1 ? 1 : 0);
6 }; 5 };
7 6
8 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
9}; 8};
10// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRyZWxsby93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwibm90aWZpY2F0aW9ucyIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvckFsbCIsInNldEJhZGdlIiwibGVuZ3RoIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxVQUFNQyxnQkFBZ0JDLFNBQVNDLGdCQUFULENBQTBCLG9CQUExQixDQUF0Qjs7QUFFQUosVUFBTUssUUFBTixDQUFlLENBQWYsRUFBbUJILGNBQWNJLE1BQWQsSUFBd0IsQ0FBekIsR0FBOEIsQ0FBOUIsR0FBa0MsQ0FBcEQ7QUFDRCxHQUpEOztBQU1BTixRQUFNTyxJQUFOLENBQVdOLFdBQVg7QUFDRCxDQVJEIiwiZmlsZSI6InRyZWxsby93ZWJ2aWV3LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSAoRnJhbnopID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSBmdW5jdGlvbiBnZXRNZXNzYWdlcygpIHtcbiAgICBjb25zdCBub3RpZmljYXRpb25zID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvckFsbCgnLm5ldy1ub3RpZmljYXRpb25zJyk7XG5cbiAgICBGcmFuei5zZXRCYWRnZSgwLCAobm90aWZpY2F0aW9ucy5sZW5ndGggPj0gMSkgPyAxIDogMCk7XG4gIH07XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/tutanota/package.json b/recipes/tutanota/package.json
index 6b4fdd4..ba7dfa0 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.0.2", 4 "version": "1.1.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/tutanota/webview.js b/recipes/tutanota/webview.js
index 3ad4701..10157e9 100644
--- a/recipes/tutanota/webview.js
+++ b/recipes/tutanota/webview.js
@@ -3,11 +3,5 @@ const _path = _interopRequireDefault(require('path'));
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 = Ferdi => {
6 const getMessages = function getMessages() {
7 // TODO: Insert your notification-finding code here
8 Ferdi.setBadge(0, 0);
9 };
10
11 Ferdi.loop(getMessages);
12 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css')); 6 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
13}; 7};
diff --git a/recipes/tweetdeck/index.js b/recipes/tweetdeck/index.js
index 1326a29..3dc2463 100644
--- a/recipes/tweetdeck/index.js
+++ b/recipes/tweetdeck/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Tweetdeck extends Franz { 1module.exports = Ferdi => class Tweetdeck extends Ferdi {
2 constructor(...args) { 2 constructor(...args) {
3 let _temp; 3 let _temp;
4 4
@@ -14,4 +14,3 @@ module.exports = Franz => class Tweetdeck extends Franz {
14 } 14 }
15 } 15 }
16}; 16};
17// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3ZWV0ZGVjay9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJUd2VldGRlY2siLCJldmVudHMiLCJfcmVkaXJlY3RGaXgiLCJldmVudCIsIm5ld1VSTCIsInVuZGVmaW5lZCIsIm9sZFVSTCIsImlzTWFpbkZyYW1lIiwic2V0VGltZW91dCIsInNlbmQiLCJwcmV2ZW50RGVmYXVsdCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkM7QUFBQSxTQUFTLE1BQU1DLFNBQU4sU0FBd0JELEtBQXhCLENBQThCO0FBQUE7QUFBQTs7QUFBQSwwQ0FDdERFLE1BRHNELEdBQzdDO0FBQ1Asb0NBQTRCO0FBRHJCLE9BRDZDO0FBQUE7O0FBS3REQyxpQkFBYUMsS0FBYixFQUFvQjtBQUNsQixVQUFJQSxNQUFNQyxNQUFOLEtBQWlCQyxTQUFqQixJQUE4QkYsTUFBTUcsTUFBTixLQUFpQkQsU0FBL0MsSUFBNERGLE1BQU1JLFdBQXRFLEVBQW1GO0FBQ2pGLFlBQUlKLE1BQU1JLFdBQVYsRUFBdUI7QUFDckJDLHFCQUFXLE1BQU0sS0FBS0MsSUFBTCxDQUFVLGNBQVYsRUFBMEJOLE1BQU1DLE1BQWhDLENBQWpCLEVBQTBELEdBQTFEO0FBQ0FELGdCQUFNTyxjQUFOO0FBQ0Q7QUFDRjtBQUNGO0FBWnFELEdBQXZDO0FBQUEsQ0FBakIiLCJmaWxlIjoidHdlZXRkZWNrL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBjbGFzcyBUd2VldGRlY2sgZXh0ZW5kcyBGcmFueiB7XG4gIGV2ZW50cyA9IHtcbiAgICAnZGlkLWdldC1yZWRpcmVjdC1yZXF1ZXN0JzogJ19yZWRpcmVjdEZpeCcsXG4gIH1cblxuICBfcmVkaXJlY3RGaXgoZXZlbnQpIHtcbiAgICBpZiAoZXZlbnQubmV3VVJMICE9PSB1bmRlZmluZWQgJiYgZXZlbnQub2xkVVJMICE9PSB1bmRlZmluZWQgJiYgZXZlbnQuaXNNYWluRnJhbWUpIHtcbiAgICAgIGlmIChldmVudC5pc01haW5GcmFtZSkge1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHRoaXMuc2VuZCgncmVkaXJlY3QtdXJsJywgZXZlbnQubmV3VVJMKSwgMTAwKTtcbiAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
diff --git a/recipes/tweetdeck/package.json b/recipes/tweetdeck/package.json
index 77492b3..d564962 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.0.5", 4 "version": "1.1.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 75c7948..158f767 100644
--- a/recipes/tweetdeck/webview.js
+++ b/recipes/tweetdeck/webview.js
@@ -5,7 +5,7 @@ ipcRenderer.on('redirect-url', (event, url) => {
5 window.location.assign(url); 5 window.location.assign(url);
6}); 6});
7 7
8module.exports = Franz => { 8module.exports = Ferdi => {
9 const getMessages = function getMessages() { 9 const getMessages = function getMessages() {
10 const elements = document.querySelectorAll('.msg-unread-count'); 10 const elements = document.querySelectorAll('.msg-unread-count');
11 let count = 0; 11 let count = 0;
@@ -13,8 +13,8 @@ module.exports = Franz => {
13 count = parseInt(elements[0].innerHTML, 10); 13 count = parseInt(elements[0].innerHTML, 10);
14 } 14 }
15 15
16 Franz.setBadge(count); 16 Ferdi.setBadge(count);
17 }; 17 };
18 Franz.loop(getMessages); 18
19 Ferdi.loop(getMessages);
19}; 20};
20// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3ZWV0ZGVjay93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbImlwY1JlbmRlcmVyIiwicmVxdWlyZSIsIm9uIiwiZXZlbnQiLCJ1cmwiLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImFzc2lnbiIsIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZWxlbWVudHMiLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3JBbGwiLCJjb3VudCIsInBhcnNlSW50IiwiaW5uZXJIVE1MIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBLE1BQU0sRUFBRUEsV0FBRixLQUFrQkMsUUFBUSxVQUFSLENBQXhCOztBQUVBO0FBQ0FELFlBQVlFLEVBQVosQ0FBZSxjQUFmLEVBQStCLENBQUNDLEtBQUQsRUFBUUMsR0FBUixLQUFnQjtBQUM3Q0MsU0FBT0MsUUFBUCxDQUFnQkMsTUFBaEIsQ0FBdUJILEdBQXZCO0FBQ0QsQ0FGRDs7QUFJQUksT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxVQUFNQyxXQUFXQyxTQUFTQyxnQkFBVCxDQUEwQixtQkFBMUIsQ0FBakI7QUFDQSxRQUFJQyxRQUFRLENBQVo7QUFDQSxRQUFJSCxTQUFTLENBQVQsQ0FBSixFQUFpQjtBQUNmRyxjQUFRQyxTQUFTSixTQUFTLENBQVQsRUFBWUssU0FBckIsRUFBZ0MsRUFBaEMsQ0FBUjtBQUNEOztBQUVEUCxVQUFNUSxRQUFOLENBQWVILEtBQWY7QUFDRCxHQVJEO0FBU0FMLFFBQU1TLElBQU4sQ0FBV1IsV0FBWDtBQUNELENBWEQiLCJmaWxlIjoidHdlZXRkZWNrL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJjb25zdCB7IGlwY1JlbmRlcmVyIH0gPSByZXF1aXJlKCdlbGVjdHJvbicpO1xuXG4vLyBUd2VldGRlY2sgcmVkaXJlY3QgZml4XG5pcGNSZW5kZXJlci5vbigncmVkaXJlY3QtdXJsJywgKGV2ZW50LCB1cmwpID0+IHtcbiAgd2luZG93LmxvY2F0aW9uLmFzc2lnbih1cmwpO1xufSk7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgZWxlbWVudHMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcubXNnLXVucmVhZC1jb3VudCcpO1xuICAgIGxldCBjb3VudCA9IDA7XG4gICAgaWYgKGVsZW1lbnRzWzBdKSB7XG4gICAgICBjb3VudCA9IHBhcnNlSW50KGVsZW1lbnRzWzBdLmlubmVySFRNTCwgMTApO1xuICAgIH1cblxuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcbiAgfTtcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/twist/index.js b/recipes/twist/index.js
index 258da41..23607bd 100644
--- a/recipes/twist/index.js
+++ b/recipes/twist/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/twist/package.json b/recipes/twist/package.json
index 73fbb35..45f411b 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.0.3", 4 "version": "1.1.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 596e627..c877d29 100644
--- a/recipes/twist/webview.js
+++ b/recipes/twist/webview.js
@@ -1,8 +1,8 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const count = document.querySelectorAll('.switch_pane>.unread').length; 3 const count = document.querySelectorAll('.switch_pane>.unread').length;
4 Franz.setBadge(count); 4 Ferdi.setBadge(count);
5 }; 5 };
6 6
7 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
8}; 8};
diff --git a/recipes/twitch/index.js b/recipes/twitch/index.js
index 7d05620..23607bd 100644
--- a/recipes/twitch/index.js
+++ b/recipes/twitch/index.js
@@ -1,3 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
3// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3aXRjaC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUE7QUFDQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidHdpdGNoL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLy8ganVzdCBwYXNzIHRocm91Z2ggRnJhbnpcbm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbno7XG4iXX0=
diff --git a/recipes/twitch/package.json b/recipes/twitch/package.json
index efb0312..7192484 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.0.2", 4 "version": "1.1.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 8a6ba8e..697efa6 100644
--- a/recipes/twitch/webview.js
+++ b/recipes/twitch/webview.js
@@ -1,11 +1,8 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 // Get the number of mentions
4 const mentions = document.querySelectorAll('.chat-line .mentioned').length; 3 const mentions = document.querySelectorAll('.chat-line .mentioned').length;
5 4 Ferdi.setBadge(mentions, 0);
6 Franz.setBadge(mentions, 0);
7 }; 5 };
8 // check for new messages every second and update Franz badge 6
9 Franz.loop(getMessages); 7 Ferdi.loop(getMessages);
10}; 8};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3aXRjaC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsIm9wdGlvbnMiLCJnZXRNZXNzYWdlcyIsIm1lbnRpb25zIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCLENBQUNDLEtBQUQsRUFBUUMsT0FBUixLQUFvQjtBQUNuQyxRQUFNQyxjQUFjLE1BQU07QUFDeEI7QUFDQSxVQUFNQyxXQUFXQyxTQUFTQyxnQkFBVCxDQUEwQix1QkFBMUIsRUFBbURDLE1BQXBFOztBQUVBTixVQUFNTyxRQUFOLENBQWVKLFFBQWYsRUFBeUIsQ0FBekI7QUFDRCxHQUxEO0FBTUE7QUFDQUgsUUFBTVEsSUFBTixDQUFXTixXQUFYO0FBQ0QsQ0FURCIsImZpbGUiOiJ0d2l0Y2gvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56LCBvcHRpb25zKSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gKCkgPT4ge1xuICAgIC8vIEdldCB0aGUgbnVtYmVyIG9mIG1lbnRpb25zXG4gICAgY29uc3QgbWVudGlvbnMgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcuY2hhdC1saW5lIC5tZW50aW9uZWQnKS5sZW5ndGg7XG5cbiAgICBGcmFuei5zZXRCYWRnZShtZW50aW9ucywgMCk7XG4gIH07XG4gIC8vIGNoZWNrIGZvciBuZXcgbWVzc2FnZXMgZXZlcnkgc2Vjb25kIGFuZCB1cGRhdGUgRnJhbnogYmFkZ2VcbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcyk7XG59O1xuIl19
diff --git a/recipes/twitter-dm/index.js b/recipes/twitter-dm/index.js
index 2b9dcc3..23607bd 100644
--- a/recipes/twitter-dm/index.js
+++ b/recipes/twitter-dm/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3aXR0ZXItZG0vaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJ0d2l0dGVyLWRtL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejtcbiJdfQ==
diff --git a/recipes/twitter-dm/package.json b/recipes/twitter-dm/package.json
index 4ec523a..34b7aa2 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.0.2", 4 "version": "1.1.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 3a37451..25f9baa 100644
--- a/recipes/twitter-dm/webview.js
+++ b/recipes/twitter-dm/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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');
@@ -7,9 +7,8 @@ module.exports = Franz => {
7 count = parseInt(elem.innerText, 10); 7 count = parseInt(elem.innerText, 10);
8 } 8 }
9 9
10 Franz.setBadge(count); 10 Ferdi.setBadge(count);
11 }; 11 };
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14}; 14};
15// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInR3aXR0ZXItZG0vd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImNvdW50IiwiZWxlbSIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsInBhcnNlSW50IiwiaW5uZXJUZXh0Iiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsUUFBTUMsY0FBYyxTQUFTQSxXQUFULEdBQXVCO0FBQ3pDLFFBQUlDLFFBQVEsQ0FBWjtBQUNBLFVBQU1DLE9BQU9DLFNBQVNDLGFBQVQsQ0FBdUIsNkJBQXZCLENBQWI7O0FBRUEsUUFBSUYsSUFBSixFQUFVO0FBQ1JELGNBQVFJLFNBQVNILEtBQUtJLFNBQWQsRUFBeUIsRUFBekIsQ0FBUjtBQUNEOztBQUVEUCxVQUFNUSxRQUFOLENBQWVOLEtBQWY7QUFDRCxHQVREOztBQVdBRixRQUFNUyxJQUFOLENBQVdSLFdBQVg7QUFDRCxDQWJEIiwiZmlsZSI6InR3aXR0ZXItZG0vd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgbGV0IGNvdW50ID0gMDtcbiAgICBjb25zdCBlbGVtID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcignYVtocmVmPVwiL21lc3NhZ2VzXCJdIGRpdiBkaXYnKTtcblxuICAgIGlmIChlbGVtKSB7XG4gICAgICBjb3VudCA9IHBhcnNlSW50KGVsZW0uaW5uZXJUZXh0LCAxMCk7XG4gICAgfVxuXG4gICAgRnJhbnouc2V0QmFkZ2UoY291bnQpO1xuICB9O1xuXG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/twitter/index.js b/recipes/twitter/index.js
index 258da41..23607bd 100644
--- a/recipes/twitter/index.js
+++ b/recipes/twitter/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/twitter/package.json b/recipes/twitter/package.json
index 6820f7f..cb840a5 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.1.3", 4 "version": "1.2.0",
5 "license": "MIT", 5 "license": "MIT",
6 "repository": "https://github.com/getferdi/recipes", 6 "repository": "https://github.com/getferdi/recipes",
7 "config": { 7 "config": {
diff --git a/recipes/twitter/webview.js b/recipes/twitter/webview.js
index 03b2b2d..39a704e 100644
--- a/recipes/twitter/webview.js
+++ b/recipes/twitter/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = () => { 2 const getMessages = () => {
3 let direct = 0; 3 let direct = 0;
4 4
@@ -13,8 +13,8 @@ module.exports = Franz => {
13 direct += DMElement.innerHTML; 13 direct += DMElement.innerHTML;
14 } 14 }
15 15
16 Franz.setBadge(direct); 16 Ferdi.setBadge(direct);
17 }; 17 };
18 18
19 Franz.loop(getMessages); 19 Ferdi.loop(getMessages);
20}; 20};
diff --git a/recipes/unraid/index.js b/recipes/unraid/index.js
index 0b926e1..23607bd 100644
--- a/recipes/unraid/index.js
+++ b/recipes/unraid/index.js
@@ -1,4 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = function (Franz) {
3 return Franz;
4};
diff --git a/recipes/unraid/package.json b/recipes/unraid/package.json
index b8f9eca..61ee6df 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.0.3", 4 "version": "1.1.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 416c722..4d194c4 100644
--- a/recipes/unraid/webview.js
+++ b/recipes/unraid/webview.js
@@ -1,9 +1,9 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = () => { 2 const getMessages = () => {
3 const messages = $('#jGrowl .jGrowl-notify').length; 3 const messages = $('#jGrowl .jGrowl-notify').length;
4 4
5 Franz.setBadge(messages - 1); 5 Ferdi.setBadge(messages - 1);
6 }; 6 };
7 7
8 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
9}; 9};
diff --git a/recipes/vk/index.js b/recipes/vk/index.js
index 658df32..23607bd 100644
--- a/recipes/vk/index.js
+++ b/recipes/vk/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZrL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidmsvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/vk/package.json b/recipes/vk/package.json
index 25e7bb8..19b4225 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.0.3", 4 "version": "1.1.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 ab6c619..e48866f 100644
--- a/recipes/vk/webview.js
+++ b/recipes/vk/webview.js
@@ -1,13 +1,12 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let directs = 0; 3 let directs = 0;
4 if (document.getElementsByClassName('left_count').length > 0) { 4 if (document.getElementsByClassName('left_count').length > 0) {
5 directs = parseInt(document.getElementsByClassName('left_count')[0].innerText, 10); 5 directs = parseInt(document.getElementsByClassName('left_count')[0].innerText, 10);
6 } 6 }
7 7
8 Franz.setBadge(directs); 8 Ferdi.setBadge(directs);
9 }; 9 };
10 10
11 Franz.loop(getMessages); 11 Ferdi.loop(getMessages);
12}; 12};
13// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZrL3dlYnZpZXcuanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56IiwiZ2V0TWVzc2FnZXMiLCJkaXJlY3RzIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50c0J5Q2xhc3NOYW1lIiwibGVuZ3RoIiwicGFyc2VJbnQiLCJpbm5lclRleHQiLCJpc05hTiIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxRQUFJQyxVQUFVLENBQWQ7QUFDQSxRQUFJQyxTQUFTQyxzQkFBVCxDQUFnQyxZQUFoQyxFQUE4Q0MsTUFBOUMsR0FBdUQsQ0FBM0QsRUFBOEQ7QUFDNURILGdCQUFVSSxTQUFTSCxTQUFTQyxzQkFBVCxDQUFnQyxZQUFoQyxFQUE4QyxDQUE5QyxFQUFpREcsU0FBMUQsRUFBcUUsRUFBckUsQ0FBVjtBQUNEOztBQUVELFFBQUlDLE1BQU1OLE9BQU4sQ0FBSixFQUFvQjtBQUNsQkEsZ0JBQVUsQ0FBVjtBQUNEOztBQUVERixVQUFNUyxRQUFOLENBQWVQLE9BQWY7QUFDRCxHQVhEOztBQWFBRixRQUFNVSxJQUFOLENBQVdULFdBQVg7QUFDRCxDQWZEIiwiZmlsZSI6InZrL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IChGcmFueikgPT4ge1xuICBjb25zdCBnZXRNZXNzYWdlcyA9IGZ1bmN0aW9uIGdldE1lc3NhZ2VzKCkge1xuICAgIGxldCBkaXJlY3RzID0gMDtcbiAgICBpZiAoZG9jdW1lbnQuZ2V0RWxlbWVudHNCeUNsYXNzTmFtZSgnbGVmdF9jb3VudCcpLmxlbmd0aCA+IDApIHtcbiAgICAgIGRpcmVjdHMgPSBwYXJzZUludChkb2N1bWVudC5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKCdsZWZ0X2NvdW50JylbMF0uaW5uZXJUZXh0LCAxMCk7XG4gICAgfVxuXG4gICAgaWYgKGlzTmFOKGRpcmVjdHMpKSB7XG4gICAgICBkaXJlY3RzID0gMDtcbiAgICB9XG5cbiAgICBGcmFuei5zZXRCYWRnZShkaXJlY3RzKTtcbiAgfTtcblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn07XG4iXX0=
diff --git a/recipes/voxer/index.js b/recipes/voxer/index.js
index ecde34b..23607bd 100644
--- a/recipes/voxer/index.js
+++ b/recipes/voxer/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZveGVyL2luZGV4LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBU0EsS0FBMUIiLCJmaWxlIjoidm94ZXIvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56O1xuIl19
diff --git a/recipes/voxer/package.json b/recipes/voxer/package.json
index e077642..b755c5c 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.0.4", 4 "version": "1.1.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 91a4317..23910e0 100644
--- a/recipes/voxer/webview.js
+++ b/recipes/voxer/webview.js
@@ -1,17 +1,16 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = function getMessages() { 6 const getMessages = function getMessages() {
5 const count = document.querySelectorAll('.unconsumed-badge').length; 7 const count = document.querySelectorAll('.unconsumed-badge').length;
6 8
7 // set Franz badge 9 // set Ferdi badge
8 Franz.setBadge(count); 10 Ferdi.setBadge(count);
9 }; 11 };
10 12
11 // inject franz.css stylesheet 13 Ferdi.loop(getMessages);
12 Franz.injectCSS(path.join(__dirname, 'service.css'));
13 14
14 // check for new messages every second and update Franz badge 15 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
15 Franz.loop(getMessages);
16}; 16};
17// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZveGVyL3dlYnZpZXcuanMiXSwibmFtZXMiOlsicGF0aCIsInJlcXVpcmUiLCJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRNZXNzYWdlcyIsImNvdW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwibGVuZ3RoIiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxNQUFNQSxPQUFPQyxRQUFRLE1BQVIsQ0FBYjs7QUFFQUMsT0FBT0MsT0FBUCxHQUFrQkMsS0FBRCxJQUFXO0FBQzFCLFFBQU1DLGNBQWMsU0FBU0EsV0FBVCxHQUF1QjtBQUN6QyxVQUFNQyxRQUFRQyxTQUFTQyxnQkFBVCxDQUEwQixtQkFBMUIsRUFBK0NDLE1BQTdEOztBQUVBO0FBQ0FMLFVBQU1NLFFBQU4sQ0FBZUosS0FBZjtBQUNELEdBTEQ7O0FBT0E7QUFDQUYsUUFBTU8sU0FBTixDQUFnQlgsS0FBS1ksSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGFBQXJCLENBQWhCOztBQUVBO0FBQ0FULFFBQU1VLElBQU4sQ0FBV1QsV0FBWDtBQUNELENBYkQiLCJmaWxlIjoidm94ZXIvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGNvbnN0IGdldE1lc3NhZ2VzID0gZnVuY3Rpb24gZ2V0TWVzc2FnZXMoKSB7XG4gICAgY29uc3QgY291bnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcudW5jb25zdW1lZC1iYWRnZScpLmxlbmd0aDtcblxuICAgIC8vIHNldCBGcmFueiBiYWRnZVxuICAgIEZyYW56LnNldEJhZGdlKGNvdW50KTtcbiAgfTtcblxuICAvLyBpbmplY3QgZnJhbnouY3NzIHN0eWxlc2hlZXRcbiAgRnJhbnouaW5qZWN0Q1NTKHBhdGguam9pbihfX2Rpcm5hbWUsICdzZXJ2aWNlLmNzcycpKTtcblxuICAvLyBjaGVjayBmb3IgbmV3IG1lc3NhZ2VzIGV2ZXJ5IHNlY29uZCBhbmQgdXBkYXRlIEZyYW56IGJhZGdlXG4gIEZyYW56Lmxvb3AoZ2V0TWVzc2FnZXMpO1xufTtcbiJdfQ==
diff --git a/recipes/webex-teams/package.json b/recipes/webex-teams/package.json
index a7a67a6..0b8c3ee 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.0.2", 4 "version": "1.1.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 24a36fd..3880fd2 100644
--- a/recipes/webex-teams/webview.js
+++ b/recipes/webex-teams/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let count = 0; 3 let count = 0;
4 4
@@ -16,7 +16,8 @@ module.exports = (Franz) => {
16 count = 0; 16 count = 0;
17 } 17 }
18 18
19 Franz.setBadge(count); 19 Ferdi.setBadge(count);
20 }; 20 };
21 Franz.loop(getMessages); 21
22 Ferdi.loop(getMessages);
22}; 23};
diff --git a/recipes/wechat/index.js b/recipes/wechat/index.js
index c1e3e1b..23607bd 100644
--- a/recipes/wechat/index.js
+++ b/recipes/wechat/index.js
@@ -1,4 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2
3module.exports = Franz => Franz;
4// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlY2hhdC9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiJBQUFBOztBQUVBOztBQUNBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJ3ZWNoYXQvaW5kZXguanMiLCJzb3VyY2VzQ29udGVudCI6WyIndXNlIHN0cmljdCc7XG5cbi8vIGp1c3QgcGFzcyB0aHJvdWdoIEZyYW56XG5tb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IEZyYW56OyJdfQ==
diff --git a/recipes/wechat/package.json b/recipes/wechat/package.json
index 2587d03..ec29d19 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.0.2", 4 "version": "1.1.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 70433dc..874ab55 100644
--- a/recipes/wechat/webview.js
+++ b/recipes/wechat/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = (Franz, options) => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = (Ferdi) => {
4 function getMessages() { 6 function getMessages() {
5 let directCount = 0; 7 let directCount = 0;
6 let indirectCount = 0; 8 let indirectCount = 0;
@@ -22,11 +24,10 @@ module.exports = (Franz, options) => {
22 } 24 }
23 }); 25 });
24 26
25 Franz.setBadge(directCount, indirectCount); 27 Ferdi.setBadge(directCount, indirectCount);
26 } 28 }
27 29
28 Franz.injectCSS(path.join(__dirname, 'service.css')); 30 Ferdi.loop(getMessages);
29 31
30 Franz.loop(getMessages); 32 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
31}; 33};
32// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlY2hhdC93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbInBhdGgiLCJyZXF1aXJlIiwibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Iiwib3B0aW9ucyIsImdldE1lc3NhZ2VzIiwiZGlyZWN0Q291bnQiLCJpbmRpcmVjdENvdW50IiwiY2hhdF9pdGVtIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yQWxsIiwiQXJyYXkiLCJwcm90b3R5cGUiLCJmb3JFYWNoIiwiY2FsbCIsIml0ZW0iLCJjb3VudCIsInJlZGRvdCIsInF1ZXJ5U2VsZWN0b3IiLCJhdmF0YXJJbWFnZSIsImlubmVyVGV4dCIsInBhcnNlSW50IiwiZ2V0QXR0cmlidXRlIiwic2VhcmNoIiwic2V0QmFkZ2UiLCJpbmplY3RDU1MiLCJqb2luIiwiX19kaXJuYW1lIiwibG9vcCJdLCJtYXBwaW5ncyI6IkFBQUE7O0FBQ0EsTUFBTUEsT0FBT0MsUUFBUSxNQUFSLENBQWI7O0FBRUFDLE9BQU9DLE9BQVAsR0FBaUIsQ0FBQ0MsS0FBRCxFQUFRQyxPQUFSLEtBQW9CO0FBQ25DLFdBQVNDLFdBQVQsR0FBdUI7QUFDckIsUUFBSUMsY0FBYyxDQUFsQjtBQUNBLFFBQUlDLGdCQUFnQixDQUFwQjtBQUNBLFFBQUlDLFlBQVlDLFNBQVNDLGdCQUFULENBQTBCLGVBQTFCLENBQWhCOztBQUVBQyxVQUFNQyxTQUFOLENBQWdCQyxPQUFoQixDQUF3QkMsSUFBeEIsQ0FBNkJOLFNBQTdCLEVBQXdDLFVBQVVPLElBQVYsRUFBZ0I7QUFDdEQsVUFBSUMsUUFBUSxDQUFaO0FBQ0EsVUFBSUMsU0FBU0YsS0FBS0csYUFBTCxDQUFtQiw0QkFBbkIsQ0FBYjtBQUNBLFVBQUlDLGNBQWNKLEtBQUtHLGFBQUwsQ0FBbUIsU0FBbkIsQ0FBbEI7O0FBRUEsVUFBSUQsVUFBVUEsT0FBT0csU0FBckIsRUFBZ0M7QUFDOUJKLGdCQUFRSyxTQUFTSixPQUFPRyxTQUFoQixDQUFSO0FBQ0Q7O0FBRUQsVUFBSUQsZUFBZUEsWUFBWUcsWUFBWixDQUF5QixLQUF6QixFQUFnQ0MsTUFBaEMsQ0FBdUMsY0FBdkMsS0FBMEQsQ0FBQyxDQUE5RSxFQUFpRjtBQUMvRWpCLHVCQUFlVSxLQUFmO0FBQ0QsT0FGRCxNQUVPO0FBQ0xULHlCQUFpQlMsS0FBakI7QUFDRDtBQUNGLEtBZEQ7O0FBZ0JBYixVQUFNcUIsUUFBTixDQUFlbEIsV0FBZixFQUE0QkMsYUFBNUI7QUFDRDs7QUFFREosUUFBTXNCLFNBQU4sQ0FBZ0IxQixLQUFLMkIsSUFBTCxDQUFVQyxTQUFWLEVBQXFCLGFBQXJCLENBQWhCOztBQUVBeEIsUUFBTXlCLElBQU4sQ0FBV3ZCLFdBQVg7QUFDRCxDQTVCRCIsImZpbGUiOiJ3ZWNoYXQvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIid1c2Ugc3RyaWN0JztcbmNvbnN0IHBhdGggPSByZXF1aXJlKCdwYXRoJyk7XG5cbm1vZHVsZS5leHBvcnRzID0gKEZyYW56LCBvcHRpb25zKSA9PiB7XG4gIGZ1bmN0aW9uIGdldE1lc3NhZ2VzKCkge1xuICAgIGxldCBkaXJlY3RDb3VudCA9IDA7XG4gICAgbGV0IGluZGlyZWN0Q291bnQgPSAwO1xuICAgIGxldCBjaGF0X2l0ZW0gPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCdkaXYuY2hhdF9pdGVtJyk7XG5cbiAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGNoYXRfaXRlbSwgZnVuY3Rpb24gKGl0ZW0pIHtcbiAgICAgIGxldCBjb3VudCA9IDA7XG4gICAgICBsZXQgcmVkZG90ID0gaXRlbS5xdWVyeVNlbGVjdG9yKFwiaS53ZWJfd2VjaGF0X3JlZGRvdF9taWRkbGVcIik7XG4gICAgICBsZXQgYXZhdGFySW1hZ2UgPSBpdGVtLnF1ZXJ5U2VsZWN0b3IoXCJpbWcuaW1nXCIpO1xuXG4gICAgICBpZiAocmVkZG90ICYmIHJlZGRvdC5pbm5lclRleHQpIHtcbiAgICAgICAgY291bnQgPSBwYXJzZUludChyZWRkb3QuaW5uZXJUZXh0KTtcbiAgICAgIH1cblxuICAgICAgaWYgKGF2YXRhckltYWdlICYmIGF2YXRhckltYWdlLmdldEF0dHJpYnV0ZShcInNyY1wiKS5zZWFyY2goXCJ3ZWJ3eGdldGljb25cIikgIT0gLTEpIHtcbiAgICAgICAgZGlyZWN0Q291bnQgKz0gY291bnQ7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpbmRpcmVjdENvdW50ICs9IGNvdW50O1xuICAgICAgfVxuICAgIH0pO1xuXG4gICAgRnJhbnouc2V0QmFkZ2UoZGlyZWN0Q291bnQsIGluZGlyZWN0Q291bnQpO1xuICB9XG5cbiAgRnJhbnouaW5qZWN0Q1NTKHBhdGguam9pbihfX2Rpcm5hbWUsICdzZXJ2aWNlLmNzcycpKTtcblxuICBGcmFuei5sb29wKGdldE1lc3NhZ2VzKTtcbn1cbiJdfQ==
diff --git a/recipes/whatsapp/index.js b/recipes/whatsapp/index.js
index 96c95a3..4caf116 100644
--- a/recipes/whatsapp/index.js
+++ b/recipes/whatsapp/index.js
@@ -1,13 +1,13 @@
1module.exports = (Franz) => class Messenger extends Franz { 1module.exports = (Ferdi) => class Messenger extends Ferdi {
2 overrideUserAgent() { 2 overrideUserAgent() {
3 return window.navigator.userAgent.replace(/(Ferdi|Electron)\/\S+( \([^)]+\))?/g, '').trim(); 3 return window.navigator.userAgent.replace(/(Ferdi|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(/(Ferdi|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 58f440e..360cc47 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.1.2", 4 "version": "3.2.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 143c066..773caa8 100644
--- a/recipes/whatsapp/webview.js
+++ b/recipes/whatsapp/webview.js
@@ -1,13 +1,12 @@
1const { 1const { remote } = require('electron');
2 remote,
3} = require('electron');
4 2
5const path = require('path'); 3const _path = _interopRequireDefault(require('path'));
4
5function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
6 6
7const webContents = remote.getCurrentWebContents(); 7const webContents = remote.getCurrentWebContents();
8const { 8const { session } = webContents;
9 session, 9
10} = webContents;
11window.addEventListener('beforeunload', async () => { 10window.addEventListener('beforeunload', async () => {
12 try { 11 try {
13 session.flushStorageData(); 12 session.flushStorageData();
@@ -24,7 +23,7 @@ window.addEventListener('beforeunload', async () => {
24 } 23 }
25}); 24});
26 25
27module.exports = Franz => { 26module.exports = Ferdi => {
28 const getMessages = function getMessages() { 27 const getMessages = function getMessages() {
29 let count = 0; 28 let count = 0;
30 let indirectCount = 0; 29 let indirectCount = 0;
@@ -46,9 +45,10 @@ module.exports = Franz => {
46 } 45 }
47 } 46 }
48 47
49 Franz.setBadge(count, indirectCount); 48 Ferdi.setBadge(count, indirectCount);
50 }; 49 };
51 50
52 Franz.injectCSS(path.join(__dirname, 'service.css')); 51 Ferdi.loop(getMessages);
53 Franz.loop(getMessages); 52
53 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
54}; 54};
diff --git a/recipes/withspectrum/index.js b/recipes/withspectrum/index.js
index 71c0924..23607bd 100644
--- a/recipes/withspectrum/index.js
+++ b/recipes/withspectrum/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGhzcGVjdHJ1bS9pbmRleC5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQU9DLE9BQVAsR0FBaUJDLFNBQVNBLEtBQTFCIiwiZmlsZSI6IndpdGhzcGVjdHJ1bS9pbmRleC5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gRnJhbnogPT4gRnJhbnpcbiJdfQ==
diff --git a/recipes/withspectrum/package.json b/recipes/withspectrum/package.json
index fa5611b..ae1025c 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.0.2", 4 "version": "1.1.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 e50634c..0a3d9f3 100644
--- a/recipes/withspectrum/webview.js
+++ b/recipes/withspectrum/webview.js
@@ -1,12 +1,11 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
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 Franz.setBadge(notifications); 7 Ferdi.setBadge(notifications);
8 }; 8 };
9 9
10 Franz.loop(getMessages); 10 Ferdi.loop(getMessages);
11}; 11};
12// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndpdGhzcGVjdHJ1bS93ZWJ2aWV3LmpzIl0sIm5hbWVzIjpbIm1vZHVsZSIsImV4cG9ydHMiLCJGcmFueiIsImdldE1lc3NhZ2VzIiwiZWxlbWVudCIsImRvY3VtZW50IiwicXVlcnlTZWxlY3RvciIsImNvbnRlbnQiLCJ3aW5kb3ciLCJnZXRDb21wdXRlZFN0eWxlIiwiZ2V0UHJvcGVydHlWYWx1ZSIsIm1hdGNoIiwibm90aWZpY2F0aW9ucyIsIk51bWJlciIsInNldEJhZGdlIiwibG9vcCJdLCJtYXBwaW5ncyI6Ijs7QUFBQUEsT0FBT0MsT0FBUCxHQUFpQkMsU0FBUztBQUN4QixRQUFNQyxjQUFjLE1BQU07QUFDeEIsVUFBTUMsVUFBVUMsU0FBU0MsYUFBVCxDQUF1QiwrQkFBdkIsQ0FBaEI7QUFDQSxVQUFNQyxVQUFVQyxPQUNiQyxnQkFEYSxDQUNJTCxPQURKLEVBQ2EsUUFEYixFQUViTSxnQkFGYSxDQUVJLFNBRkosRUFHYkMsS0FIYSxDQUdQLEtBSE8sQ0FBaEI7QUFJQSxVQUFNQyxnQkFBZ0JDLE9BQU9OLE9BQVAsQ0FBdEI7O0FBRUFMLFVBQU1ZLFFBQU4sQ0FBZUYsYUFBZjtBQUNELEdBVEQ7O0FBV0FWLFFBQU1hLElBQU4sQ0FBV1osV0FBWDtBQUNELENBYkQiLCJmaWxlIjoid2l0aHNwZWN0cnVtL3dlYnZpZXcuanMiLCJzb3VyY2VzQ29udGVudCI6WyJtb2R1bGUuZXhwb3J0cyA9IEZyYW56ID0+IHtcbiAgY29uc3QgZ2V0TWVzc2FnZXMgPSAoKSA9PiB7XG4gICAgY29uc3QgZWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tocmVmPVwiL25vdGlmaWNhdGlvbnNcIl0gPiBkaXYnKVxuICAgIGNvbnN0IGNvbnRlbnQgPSB3aW5kb3dcbiAgICAgIC5nZXRDb21wdXRlZFN0eWxlKGVsZW1lbnQsICc6YWZ0ZXInKVxuICAgICAgLmdldFByb3BlcnR5VmFsdWUoJ2NvbnRlbnQnKVxuICAgICAgLm1hdGNoKC9cXGQrLylcbiAgICBjb25zdCBub3RpZmljYXRpb25zID0gTnVtYmVyKGNvbnRlbnQpXG5cbiAgICBGcmFuei5zZXRCYWRnZShub3RpZmljYXRpb25zKVxuICB9XG5cbiAgRnJhbnoubG9vcChnZXRNZXNzYWdlcylcbn1cbiJdfQ==
diff --git a/recipes/workplace/index.js b/recipes/workplace/index.js
index 258da41..23607bd 100644
--- a/recipes/workplace/index.js
+++ b/recipes/workplace/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/workplace/package.json b/recipes/workplace/package.json
index 5be0095..61e317c 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.2.0", 4 "version": "1.3.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 af2af89..e10c449 100644
--- a/recipes/workplace/webview.js
+++ b/recipes/workplace/webview.js
@@ -1,6 +1,8 @@
1const path = require('path'); 1const _path = _interopRequireDefault(require('path'));
2 2
3module.exports = Franz => { 3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => {
4 const getMessages = () => { 6 const getMessages = () => {
5 let direct = 0; 7 let direct = 0;
6 let indirect = 0; 8 let indirect = 0;
@@ -23,18 +25,20 @@ module.exports = Franz => {
23 } 25 }
24 } 26 }
25 27
26 Franz.setBadge(direct, indirect); 28 Ferdi.setBadge(direct, indirect);
27 }; 29 };
28 30
29 Franz.injectCSS(path.join(__dirname, 'workplace.css')); 31 Ferdi.loop(getMessages);
30 Franz.loop(getMessages); 32
33 Ferdi.injectCSS(_path.default.join(__dirname, 'workplace.css'));
34
31 localStorage._cs_desktopNotifsEnabled = JSON.stringify({ 35 localStorage._cs_desktopNotifsEnabled = JSON.stringify({
32 __t: new Date().getTime(), 36 __t: new Date().getTime(),
33 __v: true, 37 __v: true,
34 }); 38 });
35 39
36 if (typeof Franz.onNotify === 'function') { 40 if (typeof Ferdi.onNotify === 'function') {
37 Franz.onNotify(notification => { 41 Ferdi.onNotify(notification => {
38 if (typeof notification.title !== 'string') { 42 if (typeof notification.title !== 'string') {
39 notification.title = ((notification.title.props || {}).content || [])[0] || 'Work Chat'; 43 notification.title = ((notification.title.props || {}).content || [])[0] || 'Work Chat';
40 } 44 }
diff --git a/recipes/wrike/index.js b/recipes/wrike/index.js
index 46f936f..23607bd 100644
--- a/recipes/wrike/index.js
+++ b/recipes/wrike/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/wrike/package.json b/recipes/wrike/package.json
index 0e93c58..3d151a3 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.0.3", 4 "version": "1.1.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 359d93a..be80318 100644
--- a/recipes/wrike/webview.js
+++ b/recipes/wrike/webview.js
@@ -1,4 +1,4 @@
1module.exports = (Franz, options) => { 1module.exports = (Ferdi) => {
2 function getMessages() { 2 function getMessages() {
3 let directCount = 0; 3 let directCount = 0;
4 const element = document.querySelector('.ws-navigation-button__indicator.ws-navigation-button-indicator'); 4 const element = document.querySelector('.ws-navigation-button__indicator.ws-navigation-button-indicator');
@@ -7,8 +7,8 @@ module.exports = (Franz, options) => {
7 directCount = parseInt(element.innerText); 7 directCount = parseInt(element.innerText);
8 } 8 }
9 9
10 Franz.setBadge(directCount); 10 Ferdi.setBadge(directCount);
11 } 11 }
12 12
13 Franz.loop(getMessages); 13 Ferdi.loop(getMessages);
14}; 14};
diff --git a/recipes/xing/index.js b/recipes/xing/index.js
index 1425e8b..23607bd 100644
--- a/recipes/xing/index.js
+++ b/recipes/xing/index.js
@@ -1,2 +1 @@
1module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
2// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInhpbmcvaW5kZXguanMiXSwibmFtZXMiOlsibW9kdWxlIiwiZXhwb3J0cyIsIkZyYW56Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWlCQyxTQUFTQSxLQUExQiIsImZpbGUiOiJ4aW5nL2luZGV4LmpzIiwic291cmNlc0NvbnRlbnQiOlsibW9kdWxlLmV4cG9ydHMgPSBGcmFueiA9PiBGcmFuejsiXX0=
diff --git a/recipes/xing/package.json b/recipes/xing/package.json
index 983b906..0e3637d 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.1.2", 4 "version": "1.2.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 1cdf7cb..97daed2 100644
--- a/recipes/xing/webview.js
+++ b/recipes/xing/webview.js
@@ -1,11 +1,10 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 function getUnreadConversations() { 2 function getUnreadConversations() {
3 let unreadConversations = 0; 3 let unreadConversations = 0;
4 unreadConversations = parseInt(document.querySelector('#unread-conversations').innerHTML, 10); 4 unreadConversations = parseInt(document.querySelector('#unread-conversations').innerHTML, 10);
5 5
6 Franz.setBadge(unreadConversations); 6 Ferdi.setBadge(unreadConversations);
7 } 7 }
8 8
9 Franz.loop(getUnreadConversations); 9 Ferdi.loop(getUnreadConversations);
10}; 10};
11// # sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInhpbmcvd2Vidmlldy5qcyJdLCJuYW1lcyI6WyJtb2R1bGUiLCJleHBvcnRzIiwiRnJhbnoiLCJnZXRVbnJlYWRDb252ZXJzYXRpb25zIiwidW5yZWFkQ29udmVyc2F0aW9ucyIsInBhcnNlSW50IiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiaW5uZXJIVE1MIiwic2V0QmFkZ2UiLCJsb29wIl0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFPQyxPQUFQLEdBQWtCQyxLQUFELElBQVc7QUFDMUIsV0FBU0Msc0JBQVQsR0FBa0M7QUFDaEMsUUFBSUMsc0JBQXNCLENBQTFCO0FBQ0FBLDBCQUFzQkMsU0FBU0MsU0FBU0MsYUFBVCxDQUF1Qix1QkFBdkIsRUFBZ0RDLFNBQXpELEVBQW9FLEVBQXBFLENBQXRCOztBQUVBTixVQUFNTyxRQUFOLENBQWVMLG1CQUFmO0FBQ0Q7O0FBRURGLFFBQU1RLElBQU4sQ0FBV1Asc0JBQVg7QUFDRCxDQVREIiwiZmlsZSI6Inhpbmcvd2Vidmlldy5qcyIsInNvdXJjZXNDb250ZW50IjpbIm1vZHVsZS5leHBvcnRzID0gKEZyYW56KSA9PiB7XG4gIGZ1bmN0aW9uIGdldFVucmVhZENvbnZlcnNhdGlvbnMoKSB7XG4gICAgbGV0IHVucmVhZENvbnZlcnNhdGlvbnMgPSAwO1xuICAgIHVucmVhZENvbnZlcnNhdGlvbnMgPSBwYXJzZUludChkb2N1bWVudC5xdWVyeVNlbGVjdG9yKCcjdW5yZWFkLWNvbnZlcnNhdGlvbnMnKS5pbm5lckhUTUwsIDEwKTtcblxuICAgIEZyYW56LnNldEJhZGdlKHVucmVhZENvbnZlcnNhdGlvbnMpO1xuICB9XG5cbiAgRnJhbnoubG9vcChnZXRVbnJlYWRDb252ZXJzYXRpb25zKTtcbn1cbjsiXX0=
diff --git a/recipes/yahoo-mail/index.js b/recipes/yahoo-mail/index.js
index b52af44..b47bdb4 100644
--- a/recipes/yahoo-mail/index.js
+++ b/recipes/yahoo-mail/index.js
@@ -1,8 +1,9 @@
1module.exports = (Franz) => class YahooMail extends Franz { 1module.exports = (Ferdi) => class YahooMail extends Ferdi {
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 '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',
7 }, 8 },
8 requestFilters: { 9 requestFilters: {
diff --git a/recipes/yahoo-mail/package.json b/recipes/yahoo-mail/package.json
index 29f6f66..4bb2901 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.0.3", 4 "version": "1.1.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 fd5add1..fc47f26 100644
--- a/recipes/yahoo-mail/webview.js
+++ b/recipes/yahoo-mail/webview.js
@@ -1,9 +1,8 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function 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 Franz.setBadge(count); 4 Ferdi.setBadge(count);
5 }; 5 };
6 6
7 // check for new messages every second and update Franz badge 7 Ferdi.loop(getMessages);
8 Franz.loop(getMessages);
9}; 8};
diff --git a/recipes/yammer/index.js b/recipes/yammer/index.js
index 258da41..23607bd 100644
--- a/recipes/yammer/index.js
+++ b/recipes/yammer/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/yammer/package.json b/recipes/yammer/package.json
index 7dc54f1..86b5bc6 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.0.2", 4 "version": "1.1.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 8ec7a11..91daba6 100644
--- a/recipes/yammer/webview.js
+++ b/recipes/yammer/webview.js
@@ -1,4 +1,4 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 let directMessages = 0; 3 let directMessages = 0;
4 let indirectMessages = 0; 4 let indirectMessages = 0;
@@ -13,8 +13,8 @@ module.exports = Franz => {
13 indirectMessages = parseInt(newMessagesElement.innerHTML.match(/\d+/)[0], 10); 13 indirectMessages = parseInt(newMessagesElement.innerHTML.match(/\d+/)[0], 10);
14 } 14 }
15 15
16 Franz.setBadge(directMessages, indirectMessages); 16 Ferdi.setBadge(directMessages, indirectMessages);
17 }; 17 };
18 18
19 Franz.loop(getMessages); 19 Ferdi.loop(getMessages);
20}; 20};
diff --git a/recipes/youtrack/package.json b/recipes/youtrack/package.json
index 754df18..53ea807 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.0.3", 4 "version": "1.1.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 ef799ae..071b300 100644
--- a/recipes/youtrack/webview.js
+++ b/recipes/youtrack/webview.js
@@ -1,7 +1,3 @@
1const _path = _interopRequireDefault(require('path'));
2
3function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
4
5module.exports = Ferdi => { 1module.exports = Ferdi => {
6 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
7 const unread = document.querySelectorAll('.header__bell-wrapper_unread'); 3 const unread = document.querySelectorAll('.header__bell-wrapper_unread');
diff --git a/recipes/youtubemusic/index.js b/recipes/youtubemusic/index.js
index 258da41..23607bd 100644
--- a/recipes/youtubemusic/index.js
+++ b/recipes/youtubemusic/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/youtubemusic/package.json b/recipes/youtubemusic/package.json
index 76a1355..373ec2b 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.0.2", 4 "version": "1.1.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 258da41..23607bd 100644
--- a/recipes/zalo/index.js
+++ b/recipes/zalo/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/zalo/package.json b/recipes/zalo/package.json
index 1815891..ddbbbcd 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.1.3", 4 "version": "1.2.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 a89f0d3..2966ca1 100644
--- a/recipes/zalo/webview.js
+++ b/recipes/zalo/webview.js
@@ -1,9 +1,9 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const unread = 0; 3 const unread = 0;
4 const notificationBadge = document.getElementsByClassName('tab-red-dot').length; 4 const notificationBadge = document.getElementsByClassName('tab-red-dot').length;
5 Franz.setBadge(notificationBadge); 5 Ferdi.setBadge(notificationBadge);
6 }; 6 };
7 7
8 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
9}; 9};
diff --git a/recipes/zendesk/index.js b/recipes/zendesk/index.js
index 258da41..23607bd 100644
--- a/recipes/zendesk/index.js
+++ b/recipes/zendesk/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/zendesk/package.json b/recipes/zendesk/package.json
index 8cbdbe9..922195b 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.0.4", 4 "version": "1.1.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 e080b07..8bc58ac 100644
--- a/recipes/zendesk/webview.js
+++ b/recipes/zendesk/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 = Franz => { 5module.exports = Ferdi => {
6 const getMessages = () => { 6 const getMessages = () => {
7 let count = 0; 7 let count = 0;
8 const el = document.querySelector('.dashboard-top-panel .indicators .stats-group .cell-value'); 8 const el = document.querySelector('.dashboard-top-panel .indicators .stats-group .cell-value');
@@ -11,9 +11,10 @@ module.exports = Franz => {
11 count = parseInt(el.innerHTML, 10); 11 count = parseInt(el.innerHTML, 10);
12 } 12 }
13 13
14 Franz.setBadge(count); 14 Ferdi.setBadge(count);
15 }; 15 };
16 16
17 Franz.loop(getMessages); 17 Ferdi.loop(getMessages);
18 Franz.injectCSS(_path.default.join(__dirname, 'service.css')); 18
19 Ferdi.injectCSS(_path.default.join(__dirname, 'service.css'));
19}; 20};
diff --git a/recipes/zenhub/index.js b/recipes/zenhub/index.js
index 258da41..23607bd 100644
--- a/recipes/zenhub/index.js
+++ b/recipes/zenhub/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/zenhub/package.json b/recipes/zenhub/package.json
index 50e10db..ca3d0e6 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": "0.1.2", 4 "version": "0.2.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 258da41..23607bd 100644
--- a/recipes/zeplin/index.js
+++ b/recipes/zeplin/index.js
@@ -1 +1 @@
module.exports = Franz => Franz; module.exports = Ferdi => Ferdi;
diff --git a/recipes/zeplin/package.json b/recipes/zeplin/package.json
index a6b2a05..bddbc57 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.0.2", 4 "version": "1.1.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 00030b0..445eebe 100644
--- a/recipes/zeplin/webview.js
+++ b/recipes/zeplin/webview.js
@@ -1,15 +1,9 @@
1const path = require('path'); 1module.exports = Ferdi => {
2
3module.exports = Franz => {
4 const getMessages = () => { 2 const getMessages = () => {
5 const totalNotifications = document.querySelectorAll('#notificationList > .notification').length; 3 const totalNotifications = document.querySelectorAll('#notificationList > .notification').length;
6 const hasUnread = document.querySelectorAll('#notificationsButton.hasUnread').length > 0; 4 const hasUnread = document.querySelectorAll('#notificationsButton.hasUnread').length > 0;
7 5 Ferdi.setBadge(hasUnread ? totalNotifications : 0);
8 // set Franz badge
9 if (hasUnread) {
10 Franz.setBadge(totalNotifications);
11 }
12 }; 6 };
13 7
14 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
15}; 9};
diff --git a/recipes/zimbra/index.js b/recipes/zimbra/index.js
index 94357a3..1b0a47f 100644
--- a/recipes/zimbra/index.js
+++ b/recipes/zimbra/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Zimbra extends Franz { 1module.exports = Ferdi => class Zimbra extends Ferdi {
2 async validateUrl(url) { 2 async validateUrl(url) {
3 return true; 3 return true;
4 } 4 }
diff --git a/recipes/zimbra/package.json b/recipes/zimbra/package.json
index 9d9ae67..0fc0fc4 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.0.2", 4 "version": "1.1.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 f56f09d..e2cf890 100644
--- a/recipes/zimbra/webview.js
+++ b/recipes/zimbra/webview.js
@@ -1,16 +1,9 @@
1module.exports = Franz => { 1module.exports = Ferdi => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const { title } = document; 3 const { title } = document;
4 const regex = /\d+/; 4 const regex = /\d+/;
5 5 Ferdi.setBadge(regex.test(title) ? Number(regex.exec(title)[0]) : 0);
6 if (regex.test(title)) {
7 Franz.setBadge(
8 Number(regex.exec(title)[0]),
9 );
10 } else {
11 Franz.setBadge(0);
12 }
13 }; 6 };
14 7
15 Franz.loop(getMessages); 8 Ferdi.loop(getMessages);
16}; 9};
diff --git a/recipes/zoho/index.js b/recipes/zoho/index.js
index 46f936f..23607bd 100644
--- a/recipes/zoho/index.js
+++ b/recipes/zoho/index.js
@@ -1,2 +1 @@
1// just pass through Franz module.exports = Ferdi => Ferdi;
2module.exports = Franz => Franz;
diff --git a/recipes/zoho/package.json b/recipes/zoho/package.json
index c2b9f15..0ad72c0 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.0.4", 4 "version": "1.1.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.js b/recipes/zoho/webview.js
index 60fd052..177ea4c 100644
--- a/recipes/zoho/webview.js
+++ b/recipes/zoho/webview.js
@@ -1,12 +1,10 @@
1const path = require('path'); 1module.exports = (Ferdi) => {
2
3module.exports = (Franz, options) => {
4 const getMessages = () => { 2 const getMessages = () => {
5 const unreadMailInCurrentFolder = $('.zmList.zmLUrd').length; 3 const unreadMailInCurrentFolder = $('.zmList.zmLUrd').length;
6 const unreadMailAnyware = $('#zmlTree .zmTreeNDWra .zmBold').length; 4 const unreadMailAnyware = $('#zmlTree .zmTreeNDWra .zmBold').length;
7 5
8 Franz.setBadge(unreadMailInCurrentFolder, unreadMailAnyware); 6 Ferdi.setBadge(unreadMailInCurrentFolder, unreadMailAnyware);
9 }; 7 };
10 8
11 Franz.loop(getMessages); 9 Ferdi.loop(getMessages);
12}; 10};
diff --git a/recipes/zulip/index.js b/recipes/zulip/index.js
index cd8ffea..5854600 100644
--- a/recipes/zulip/index.js
+++ b/recipes/zulip/index.js
@@ -1,4 +1,4 @@
1module.exports = Franz => class Zulip extends Franz { 1module.exports = Ferdi => class Zulip extends Ferdi {
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 e5ee86e..21b2d44 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.0.5", 4 "version": "1.1.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 7a71886..09e999d 100644
--- a/recipes/zulip/webview.js
+++ b/recipes/zulip/webview.js
@@ -1,7 +1,8 @@
1module.exports = (Franz) => { 1module.exports = (Ferdi) => {
2 const getMessages = function getMessages() { 2 const getMessages = function getMessages() {
3 const allMessages = Math.round(document.querySelectorAll('#global_filters .top_left_all_messages .count .value')[0].innerText); 3 const allMessages = Math.round(document.querySelectorAll('#global_filters .top_left_all_messages .count .value')[0].innerText);
4 Franz.setBadge(allMessages); 4 Ferdi.setBadge(allMessages);
5 }; 5 };
6 Franz.loop(getMessages); 6
7 Ferdi.loop(getMessages);
7}; 8};