Commit Graph

181 Commits

Author SHA1 Message Date
Akash Nimare
02c8a27567 menu: Open help page of current active server.
* menu: Open help page of the currently active server.

Fixes: #758.
2019-06-21 01:02:48 +05:30
Kanishk Kakar
db4e8e5129 db: Fix JSON db errors on tab switch. 2019-06-20 20:54:30 +05:30
Kanishk Kakar
88b764dcc9 sidebar: Add loading indicator.
* Browser-like loading indicator added to the sidebar.
Shows when the app is loading a page. Inactive once the user starts
navigating on the webpage, and in settings.

* Add tooltip saying "Loading" to indicator.

Fixes #430.
2019-06-15 16:03:50 +05:30
Kanishk Kakar
9fe72c0d21 mennu: Add option to hide menu bar to View menu.
* Add View menu shortcut to hide menu bar
The hide menu bar setting available in General Preferences has been added to the View menu.

* settings: Add method to coordinate menu & settings
Use autoHideMenuBar setting with said method.
2019-06-15 04:29:06 +05:30
ViPuL
c6b7e9a9ee settings: Add option to toggle Error Reporting.
Adds an option to enable or disable sentry error
reporting under Advanced section in General Settings. 
Handles both main and renderer processes.

Also, changes the domain used to resolve proxy
in proxy-util from google.com to example.com.

Fixes #702.
2019-05-15 15:00:22 +05:30
Abhigyan Khaund
43840a5245 webview: Add "role" key to webview property. 2019-04-18 19:35:21 +05:30
ViPuL
8e8de212d8 menu: Reorder file menu and add option to Add Organization.
Reorder the File Menu. Also, adds a new option to
add a new organization to the file menu.
2019-04-10 22:03:43 +05:30
ViPuL
8e5c326d74 context-menu: Add option to copy zulip url.
Added, "copy Zulip URL" in 
* Context menu in left sidebar 
* Application menu item

Fixes: #649.
2019-04-04 00:35:23 +05:30
Rhythm Sharma
862e9e2c8c DND: Fix text for Toggle DND in sidebar on hover. 2019-04-04 00:21:59 +05:30
Kanishk Kakar
ef6abbf49e settings: Default to starting app on login.
Acts on an observation that it is easier to turn off auto-start on login
than it is to turn on.
2019-03-12 20:35:20 +05:30
Kanishk Kakar
9e33ebae62 context-menu: Fix context menu indexing.
Addresses a problem where the context menu would get the incorrect index
of server in sidebar and cause a crash when attempting to remove the
server.

Add comment justifying extra index parameter.
2019-01-30 12:22:36 +05:30
Kanishk Kakar
7314c1f1dd context-menu: Fix Context Menu not working properly.
This fixes a case where the context menu doesn't work as expected. This used to happen when we
show the character icon.

Fixes: #608.
2018-12-30 20:48:38 +05:30
Priyank Patel
171d88755c electron: Update electron to v3.0.10.
* dependecies: Upgrade electron to v3.0.10.

This also makes sure we don't pass properties on this.tabs
that makes ipcRenderer crash on v3.x.x.

* tray: Use new way for using nativeImage.createFromBuffer.

The previous way of passing scaleFactor as a second argument
is now deprecated and will be a breaking change in 4.0

* app: Use new requestSingleInstanceLock api and remove deceprated makeSingleInstance.

* Update node-mac-notifier to v1.1.0.
2018-12-22 19:44:44 +05:30
Akash Nimare
08559c2f4a setting: Improve organization page.
This adds a new button in the connected organization
page by which a user can quickly add a new Zulip organization.

Fixes: #607.
2018-12-05 23:00:07 +05:30
Akash Nimare
1f4509a6d2 codebase: Fix a typo. 2018-12-05 20:01:44 +05:30
Akash Nimare
06c8b2e8a2 context-menu: Fix context menu not working on adding new org.
Two changes -
* Fixes the context menu not working on adding a new org. This is
because previously the context menu listner only called when loading
the app. Updated the same to fix the issue.
* Refactor the codebase for left-sidebar.

Improves #599.
2018-12-05 19:55:56 +05:30
Kanishk Kakar
2aa15ee11a context-menu: Add context menu in left sidebar.
This adds a context menu in the left sidebar. For now, there is one sub-item called - Disconnect organization by which a user can delete an added org from the app.

Fixes: #599.
2018-12-05 19:42:47 +05:30
Akash Nimare
f847c565f9 menu: Update menu items on setting page.
This PR adds a functionality to update the menu items.
Some menu items like logout, shortcut etc are not needed
on setting page. We can control the same using this flag.

Fixes: #587.
2018-10-28 15:11:40 +05:30
Akash Nimare
a209804692 setting: Set custom css to false by default. 2018-10-23 15:09:28 +05:30
Akash Nimare
4d21a8f8d8 menubar: Auto hide menubar on Windows/Linux.
This PR adds a setting option to auto hide the menubar.

Fixes: #563.
2018-09-18 12:32:23 +05:30
Priyank Patel
0ad4ea4fdf left-sidebar: Add initial character of Realm Name instead of default icon.
This PR adds a feature for showing the first char of realm name as the server icon when the
icon fails to load for some reasons.
2018-09-14 18:18:45 +05:30
Abhigyan Khaund
6ebc9acbf4 realm name: Update sidebar realm name when it's changed in webapp.
This commit updates the realm name in the sidebar tooltip,
domains.json and Window menu when it is updated in the server
through electron_bridge.
This commit also removes the server.alias parameter from the
tooltip onHover function and inserts it in the innerHTML of the
tooltip DOM.

Fixes: #425
2018-09-11 21:03:33 +05:30
Akash Nimare
f10d6eb115 setting: Update silent setting option.
Correctly update the audio of the webview on toogle-silent event.
2018-09-07 01:23:17 +05:30
Akash Nimare
8c5e928e9c settings: Clean up toggle sidebar setting.
This removes the two copies of the same toggle-sidebar
ipc event.
2018-09-07 01:20:49 +05:30
Akash Nimare
8d142c8c3f ipc: Move IPC listners to different function.
Those IPCs were wrongly put in the activateTab function.
2018-09-07 00:56:19 +05:30
Akash Nimare
50647e330b server-name: Unescape server name in window menu item.
Escaping is necessary to avoid any security risk but we need
to unescape those strings in order to show them in the frontend
otherwise it will have ugly special characters.

We already escape server name in the db and unesacoe it in
the left-sidebar. This PR adds the decodeString function in
order to unescape strings in the menu items.

Fixes: #554.
2018-09-03 15:20:02 +05:30
Akash Nimare
8bd1492586 left-sidebar: Do not escape realm name.
We escape the realm name whenever user adds a realm + on app startup.
That's why we don't need to do the double escaping for already added
servers.

Fixes: #541.
2018-08-23 18:48:06 +05:30
Abhigyan Khaund
124a842bbd electron-bridge: Implement electron bridge.
This PR adds a bridge to communicate with the webapp in real time. As of now, the bridge listens for following events -

* When realm name changes
* When realm icon changes
* When the unread count changes

Partially fixes #425.
2018-08-02 01:05:29 +05:30
Akash Nimare
a5c1ae8726 file-attachment: Add a setting option to show downloaded file in file manager. 2018-08-01 23:50:02 +05:30
Abhigyan Khaund
6787b8d557 file-attachments: Download file-attachments to Downloads folder.
This PR adds a feature to download file-attachments to "Downloads" folder and shows a
notification when the download is complete. On clicking the notification user can
open the downloaded file with system default app. A user can set/change the download location
from the settings > general.
2018-07-12 18:39:43 +05:30
Akash Nimare
306e0f3b5e macOS: Add dock bouncing effect on macOS.
This PR adds a new setting option of controlling the
dock bouncing feature on macOS.

Fixes: #510.
2018-07-10 10:01:36 +05:30
Abhigyan Khaund
eeb0b4a666 logger: Replace all instances of console.log with our logger-util. 2018-06-27 15:31:01 +05:30
Abhigyan Khaund
a27cf9e0e7 proxy-setting: Feature to use system proxy settings.
This PR uses resolveProxy to read system proxy settings and store
them in proper proxy format string using ConfigUtil. It removes the previous
use proxy option and replaces it with use system proxy and manual proxy
options.

Fixes: #296.
2018-06-15 23:40:41 +05:30
Akash Nimare
c742591471 Use escape-html module for escaping realm name.
Since this module gives better results in compare
to window's default escape function.
2018-06-13 23:42:09 +05:30
Akash Nimare
f7696cc04d sidebar: Escape HTML for already added realm.
For the new servers we are already pushing the realm
details after escaping data but for already saved servers
we should escape the same to avoid any security issue.
2018-06-05 02:23:18 +05:30
Akash Nimare
d69c1339e6 security: Do proper HTML escaping for server data.
This commit fixes a security bug which was caused by
using innerHTML and not doing proper HTML escaping.
Ideally, we should be doing proper HTML escaping for
any data we get from the server to avoid XSS attack.
We already handle realm icon and url very well, the
realm description was not handled previously but this commit
now fixes this in a right way.
2018-05-16 18:25:03 +05:30
Akash Nimare
fe56a20334 setting: Add an option to disable the auto-updates. (#493)
Fixes: #491.
2018-05-16 16:00:21 +05:30
Abhigyan Khaund
9980fee785 loading-indicator: Fix loading indicator when server is loaded.
This PR changes the current implementation of the loading indicator by attaching
the indicator to the right dom element, so that it doesn't show up once a server
is loaded.

Fixes: #482.
2018-05-08 00:41:20 +05:30
Abhigyan Khaund
537fbe8f9e feature: Add DND button in left sidebar.
This adds the do not disturb button to the left sidebar
which disables sound and notifications. It also disables
flash taskbar on windows.

Fixes: #298.
2018-05-03 02:35:13 +05:30
Abhigyan Khaund
22f705960d sidebar: Add scrollbar for list of organizations on overflow. 2018-04-16 19:38:26 +05:30
Priyank Patel
ca8ce1deaa report-issue: Add report issue UX using send-feedback electron element.
This uses @electron-elements/send-feedback package to easily implement
UX for reporting issues.
2018-04-16 11:34:11 +05:30
Akash Nimare
2f96ec6199 settings: Fix a typo in silent setting option. 2018-03-17 03:49:43 +05:30
Akash Nimare
52de465457 settings: Fix app settings overriding issue. (#449)
This fixes an issue which was caused by saving the last active tab
before a functional tab activates. The bug was introduced in f409bb0449.
It was unnoticed from v1.5.0 to the latest v1.8.2.

The bug causes a serious issue where the app can't change the app settings and all settings were
getting overridden when a user switches back to setting page.

Fixes #448.
2018-03-17 03:06:41 +05:30
Akash Nimare
6c120269eb design: Redesign Add new server page. (#446)
Changes - 
* New setting nav item for connected organizations.
* All new page for adding a new server.
* Minor UI changes in setting page.
* Update default height, width of the main window.
* Fix webview showing outline.
* Hide Server nav item in setting page.

Fixes #340.
2018-03-14 23:41:12 +05:30
Akash Nimare
c11089027c left-sidebar: Align action container properly. 2018-02-26 18:09:42 +05:30
Abhigyan Khaund
b83e2dd428 settings-tab: Do not create a sidebar tab rather highlight bottom settings icon. (#422)
Creating the new functional tab for setting tab was unnecessary as we already have a sticky setting icon at the bottom. This PR adds a functionality to highlight that settings icon instead of creating the new one.

Fixes: #418.
2018-02-23 19:03:30 +05:30
Abhigyan Khaund
fa85241c79 design: Only show the back button when needed.
Fixes: #421.
2018-02-23 00:53:23 +05:30
Priyank P
d48b6ae80d reconnect: Check wheather internet is working before reloading. (#415)
When the online event is triggered check whether the internet is actually working or not.
Commonly on windows, it turns out that internet takes couple of seconds to boot up after
connecting to the internet or in some cases, this might be they have to sign in to internet service
portal in order to access the internet.
2018-02-21 16:56:01 +05:30
Akash Nimare
2d07d40c92 activetab: Fix broken last active tab. (#420)
This fixes an issue where the server tabs were not loading
according to the last active tab. This used to load last server
no matter what the last used server is.

Fixes - #416.
2018-02-18 17:52:26 +05:30
Abhigyan Khaund
6d213c86a8 design: Add back button in left-sidebar.
Fixes: #208.
2018-02-14 14:01:35 +05:30