Commit Graph

3246 Commits

Author SHA1 Message Date
Hadi Nategh
3956760c23 Add tooltip for Tab's header, it can be set as attribute 'hint' in openTab framework app object too 2020-09-25 11:53:00 +02:00
Hadi Nategh
f88ae4f46a Merge branch 'multitabs' 2020-09-25 11:30:32 +02:00
nathangray
293f9cc446 Etemplate: Different way to download generated files to avoid destroying sessions of not-visible etemplates 2020-09-24 15:18:22 -06:00
Hadi Nategh
2ed186079e Implement openTab for egw_open object and make tab attributes configurable 2020-09-24 16:19:56 +02:00
Hadi Nategh
6c6759549e Make a copy of app object to not destroy the existing one 2020-09-24 11:13:12 +02:00
Hadi Nategh
4bf65486ef WIP of framework's multitab implementation 2020-09-23 16:55:35 +02:00
nathangray
b5ef5126c6 - Send push messages for account delete
- Send actual push type for contact changes
- Handle push deletes for admin
2020-09-22 13:53:08 -06:00
Ralf Becker
8df5371ffa fix wrong OID for mail attribute 2020-09-22 19:21:14 +02:00
Hadi Nategh
c01beef108 We can't use let in js files as we still supporting old devices with es5 only 2020-09-17 15:36:02 +02:00
nathangray
94a57d6902 Api: Some tests for filesystem 2020-09-16 11:48:40 -06:00
nathangray
2ef359f0d0 Etemplate: Fix selectAccount deprecated legacy option of putting account type in empty label 2020-09-16 09:14:50 -06:00
Ralf Becker
da27403b1b * eSyncPro: fix SQL error in device list 2020-09-16 16:45:01 +02:00
Hadi Nategh
c05047728c Push online users into top of the list as soon as they're active 2020-09-16 16:17:57 +02:00
nathangray
39b630d36e Etemplate: Fix some selectAccount bugs when multiple=true 2020-09-15 11:23:02 -06:00
nathangray
f38f61cf1b Correct parameters in TS 2020-09-15 09:05:48 -06:00
nathangray
afb342f66b Etemplate: Ask for new data before we put the row in, then if the entry doesn't match the filters, don't put it in. Should stop most blinking rows. 2020-09-15 09:05:25 -06:00
Alexandros Sigalas
55c9487517 Fixed: Declaration of EGroupware\Api\Mail\Smime::extractSignedContents($data) should be compatible with Horde_Crypt_Smime::extractSignedContents($data, $sslpath = NULL) 2020-09-15 08:36:17 +02:00
Ralf Becker
612a991c85 fix illegal string offset 2020-09-15 08:30:45 +02:00
nathangray
47a1437e1b Etemplate: Consider null as false when parsing boolean values into template attributes 2020-09-14 09:37:37 -06:00
Ralf Becker
0ed9b7dc09 Changelog for 20.1.20200914 2020-09-14 12:45:41 +02:00
nathangray
459ba3d93c * Etemplate: Fix historylog did not render until you resize the window 2020-09-11 13:12:09 -06:00
Ralf Becker
638da52fa9 fix date-duration fails with only one date-format eg. "m" 2020-09-11 20:22:51 +02:00
nathangray
d257077017 Add a test for hidden upload sharing 2020-09-11 09:50:34 -06:00
nathangray
56e1d3c5e5 Etemplate: Fix some missing includes 2020-09-10 16:59:34 -06:00
nathangray
d6d55c32a9 Etemplate: Fix updated entries were sometimes not flagged, clear color after 3 minutes 2020-09-10 13:42:32 -06:00
nathangray
372eadcff3 Api: Fix fstab overlap when accessing a share while logged in 2020-09-10 11:11:39 -06:00
Ralf Becker
3ee7574294 * Authentication: allow using multiple backends, even same backend multiple times with different configuration 2020-09-10 17:12:53 +02:00
Ralf Becker
ca9526988f missing file from #9f9cce8 fix account-selection type groupmembers 2020-09-10 11:26:14 +02:00
Ralf Becker
9f9cce88b2 * ActiveDirectory: fix account-selection type groupmembers (applies only to non-admins!) and ignore Domain Users group
not setting caseIgnoreMatch for sorting, as its not supported for Windows ActiveDirectory
2020-09-08 15:29:51 +02:00
Ralf Becker
5afe7ddbca * ActiveDirectory: support huge directories by using server-side sorted and limited queries and no caching in session 2020-09-05 13:11:26 +02:00
nathangray
2dc5616b96 Separate CRM list from infolog list so push updates don't conflict 2020-09-03 09:58:27 -06:00
Ralf Becker
7614e3e851 * ActiveDirectory: users not found when search starting with A-F and fixed attribute-names: company, department, ... 2020-09-03 15:47:07 +02:00
Ralf Becker
c3000beb5f * ActiveDirectory: implement addtional user or group filter 2020-09-02 14:14:11 +02:00
nathangray
210c54b689 Etemplate: More fixes for row count when updating / adding
Now fixed the situation where 1 row was updated & 1 added, but the added one did not match filter and was not returned when server was asked.  Now removed blank row waiting for it, and keeping row count consistent
2020-09-01 14:49:06 -06:00
Ralf Becker
953a132e9c Changelog for 20.1.20200901 2020-09-01 21:07:28 +02:00
nathangray
b7b4cb31c8 Etemplate: Row count does not depend on data.class 2020-09-01 12:22:47 -06:00
nathangray
df57ea914e Etemplate: Fix another bug in refresh / add / update
This one was found in Infolog, adding a sub to an entry with the show-subs preference set to only while filtering.  The row count would be off by one if the new entry did not match the filter.
2020-09-01 11:54:35 -06:00
Ralf Becker
eb812dad01 * PostgreSQL: fix SQL error opening ProjectManager
caused by exploding SQL expression by comma --> keep colums as array, to not have the need to explode it
2020-09-01 10:24:46 +02:00
nathangray
b43f51b52e Api: Handle refreshing multiple UIDs but not getting them all back.
Previously we were assuming only 1 was requested, now properly handling multiple UIDs in a single request and not all of them being returned (eg ACL or doesn't match filters)
2020-08-31 14:57:22 -06:00
nathangray
3ff331c22b Etemplate: Avoid trying to repaint datagrid while it's hidden
Avoids an infinite(?) loop and endless "[Violation] 'setTimeout' handler took <N>ms" messages
2020-08-31 14:06:18 -06:00
nathangray
1ad5d321a4 Etemplate: Fix double duration format in timesheet nextmatch header 2020-08-28 13:53:23 -06:00
nathangray
6b5414904f Remove workaround, fix 3 second refresh 2020-08-26 14:39:39 -06:00
nathangray
a013d78947 Partially revert 26a6749 as it's been handled elsewhere
(030dafc0a7c9bdc6677afe87fa69615068acb4c0,d525347275a2268ed9624d35ddbd4e43a345179d)
2020-08-26 13:47:11 -06:00
nathangray
075c44a48b Etemplate: Don't try to delete row if it's not in the nextmatch 2020-08-26 11:24:15 -06:00
nathangray
d525347275 Fix nm displayed row count was not updated when adding a row.
This seems to have resolved the issue of the last row going missing.
2020-08-26 09:26:18 -06:00
nathangray
030dafc0a7 Etemplate: Fix some nm / push bugs
- Handling for sub-grids
- Fix some index issues in selectionMgr causing rows to jump around
2020-08-25 15:57:20 -06:00
nathangray
8cd05c571b Add debug function to log selected nextmatch internals
Example usage:
etemplate2.getByApplication('addressbook')[0].widgetContainer.getDOMWidgetById('nm').spillYourGuts()
2020-08-25 14:01:31 -06:00
Hadi Nategh
6d467e33ed Avoid getting exceptions when user has no access to status app but getting notified by broadcast message 2020-08-25 13:21:53 +02:00
Hadi Nategh
6c9e83b38a Fix set column not working because of using wrong constant variable 2020-08-20 16:47:38 +02:00
Hadi Nategh
71605c0c14 * All Apps: fix print list column selection does not contain customfields 2020-08-20 16:18:39 +02:00
Hadi Nategh
d48efdedd8 Make commit 26a6749b3d condition available only for refresh add 2020-08-20 15:19:15 +02:00
Ralf Becker
d2c9973d43 Changelog for 20.1.20200818 2020-08-18 15:12:53 +02:00
Hadi Nategh
f63a0a6075 Fix radiobox widget calling onchange event infinitely 2020-08-18 13:20:29 +02:00
Ralf Becker
26a6749b3d * All apps: fix last rows was removed when adding new entry to list with only a couple of rows
see ticket #48204, we do a full refresh now to work around this issue until we have a real fix
2020-08-17 12:15:40 +02:00
Ralf Becker
e3434b144d fix sometimes not deleted infologs ("0 selected"), because global var got deleted, using now a closure as for the action 2020-08-16 11:22:16 +02:00
Ralf Becker
4f2ad476a6 * Calendar/CalDAV: config to replace email-domain eg. for a migration 2020-08-14 18:03:44 +02:00
Hadi Nategh
8bbb05a596 Fix clear button in search widget disappears after being reloaded 2020-08-14 13:35:30 +02:00
Hadi Nategh
50a34d9c42 Make sure path is not empty before using it, fixes error "an error happened! File '' is not an absolute path!" 2020-08-14 11:06:06 +02:00
Ralf Becker
a9dc772e14 * Mail: fix not shown folder tree for some Cyrus servers
since 20.1 uses Horde_Imap_Client::MBOX_ALL_SUBSCRIBED to query subscribed and unsubscribed folders in one command
2020-08-13 18:51:24 +02:00
Hadi Nategh
ed943afdf5 * All apps: fix drag and drop a file from FireFox download list not working 2020-08-13 16:23:07 +02:00
Hadi Nategh
31241227e1 * File Sharing: fix broken file sharing dialog 2020-08-13 14:35:09 +02:00
Ralf Becker
e399eba98b Changelog for 20.1.20200812 2020-08-12 12:57:38 +02:00
Hadi Nategh
fe47a2af28 A temporary fix for commit 471741ce12 which breaks nm row update with auto refresh enabled 2020-08-12 12:04:03 +02:00
Hadi Nategh
06e770f469 Fix nm filter onchange no longer sending expected nm widget 2020-08-11 15:45:40 +02:00
Ralf Becker
d280baa0da Changelog for 20.1.20200810 2020-08-10 14:00:42 +02:00
nathangray
036ec20769 Fix some nextmatch bugs
- Removed rows could still have jQuery actions bound, resulting in errors
- Focused row was not cleared if it was removed, resulting in errors
- Fixed double get_rows call on refresh(..., update)
2020-08-08 10:51:39 -06:00
nathangray
afec14a17e Fix removing a nm row did not re-index
This caused duplications or holes depending on what you did before or after
2020-08-07 14:12:30 -06:00
nathangray
ff35f58f73 Change addressbook group / template on client side, not server side
Fixes the issue where the nextmatch_controller is part of the context for the request, but the first thing set_template() does when the server tells the nextmatch to change the template is destroy the controller.  This means that when the data is parsed, the context is missing or damaged.
2020-08-07 13:18:41 -06:00
nathangray
bec67d63ee Etemplate: Change how nextmatch handles update & refresh push messages 2020-08-07 09:19:15 -06:00
Hadi Nategh
c43d0684cc Do not show close button on success message and dismiss it on container click handler 2020-08-07 13:29:30 +02:00
Hadi Nategh
593325165a Do not show edit button on taglist single mode 2020-08-07 12:06:50 +02:00
nathangray
dadf0fe993 Etemplate: Fix et2_selectAccount legacy options were not set 2020-08-06 16:39:59 -06:00
nathangray
29b22e336e Fix CRM view did not add new infolog entries on push 2020-08-06 12:49:33 -06:00
nathangray
2cf0e7732d Fix update was doing full refresh, changed back to previous behaviour
Left 'update-in-place', as discussed, as it's way more clear what it does.
2020-08-06 09:14:41 -06:00
nathangray
faed2f97d4 Etemplate: Add et2_nextmatch.set_disable_autorefresh() to change it dynamically 2020-08-06 08:40:41 -06:00
Hadi Nategh
e3c356b2c2 Add missing compiled js file from commit 13ed300c9c 2020-08-06 10:37:56 +02:00
nathangray
fba4323765 Etemplate: add disable_autorefresh attribute to nextmatch to be able to disable autorefresh 2020-08-05 11:21:33 -06:00
Ralf Becker
3b4d8071e9 improve fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:48:35 +02:00
nathangray
13ed300c9c * Etemplate: Fix entry widget had wrong ID, so was missing value
Typescript conversion error
2020-08-05 10:36:42 -06:00
Ralf Becker
321cd60fb5 fix not updated number of nextmatch rows on push type "delete" 2020-08-05 18:26:40 +02:00
Hadi Nategh
70e8a1b3ae Fix errors happening in mobile framework 2020-08-03 15:21:11 +02:00
Hadi Nategh
b568b99a57 Add translations 2020-08-03 10:59:42 +02:00
Ralf Becker
a14a21fa49 * Tracker/Notifications: send mail after response to user and push errors 2020-08-01 15:10:07 +02:00
Ralf Becker
3972abdf52 * Notifications: taking push server into account for checking user is online for popup or email notifications 2020-07-31 17:50:01 +02:00
Ralf Becker
0e3143d45d fix SQL error in ranking caused by automatic added ambigous column which app code had already aliased "$table.$col AS $col" 2020-07-31 13:39:05 +02:00
Ralf Becker
e84532af40 Changelog for 20.1.20200731 2020-07-31 12:54:28 +02:00
Ralf Becker
33e88d25ae * Preferences: use push to ask every affected client to reload preferences, if affected 2020-07-31 09:47:49 +02:00
nathangray
88b7bccdb9 Etemplate: Password suggest now works if started disabled then enabled via JS 2020-07-30 13:50:12 -06:00
nathangray
5379a0c924 Home using non-global EgwApp instances for portlets 2020-07-30 13:00:53 -06:00
nathangray
80b72bfb3c Etemplate: Fix password widget did not disable suggest dynamically 2020-07-30 09:21:40 -10:00
Hadi Nategh
1624ceae07 Return an object for egw message in order to have access to it after display 2020-07-30 15:01:50 +02:00
nathangray
471741ce12 Etemplate: Update controller indexMap when adding a new row
Fixes deleting former top mail that got moved down by a pushed new mail removed both newly added and the selected mail
2020-07-29 13:20:09 -06:00
Ralf Becker
33d983f547 * Calendar: fix not working refresh via push, if Home app is used
Current fix only makes sure global app.calendar created by home get completly destroyed (and newly created by calendar itself), and not just unregistered from the push
We probably want to modify home to create private app objects for its portlets
2020-07-29 18:25:09 +02:00
Hadi Nategh
14c908de78 Do not include egw message in print 2020-07-29 15:45:25 +02:00
Ralf Becker
08acad038c * Mail: replying to a mail should only update icon, not move it to top of list 2020-07-29 13:58:15 +02:00
Hadi Nategh
631587eab1 Fix notifications stalling login 2020-07-29 12:55:15 +02:00
nathangray
bd8b99f8c1 Try to fix up password with respect to autofill 2020-07-28 10:39:16 -06:00
Ralf Becker
4750db5a87 Changelog for 20.1.20200728 2020-07-28 13:53:39 +02:00
Ralf Becker
3898e13c65 * Login: updated update background image with 20.1 highlights 2020-07-28 07:59:56 +02:00
nathangray
59cd2dcded Etemplate: nm.refresh() with type 'edit' no longer always fully reloads all rows, it now behaves the same as 'update' 2020-07-27 14:07:15 -06:00
nathangray
77a413b66b Etemplate: Fix isDirty() was always false for multi-select (tracker selection) 2020-07-27 13:44:11 -06:00
nathangray
5b5bb12d02 Calendar exception no longer needed 2020-07-27 10:14:00 -06:00
Ralf Becker
2a500333ed explicit call Egw::__destruct() to fix calendar notifications not send, if dialog is Saved not Applied 2020-07-27 16:08:00 +02:00
Hadi Nategh
231312b0aa Implement popup notifications filter based on tab notification's indicator 2020-07-27 14:44:44 +02:00
Ralf Becker
ca73a54d89 * Security: allow to configure SameSite cookie attribute 2020-07-27 14:03:48 +02:00
Ralf Becker
074b884133 calendar non-list views need refresh calls, even using push 2020-07-27 09:45:37 +02:00
Ralf Becker
6007fb5363 fix broken token/syntax, if no metadata yet 2020-07-24 16:55:58 +02:00
Hadi Nategh
7900bfd9cd Avoid outputting same message multiple times if it's still alive 2020-07-24 12:46:29 +02:00
Hadi Nategh
ae0349487d Change tab notification indicator 2020-07-24 11:32:52 +02:00
Ralf Becker
8bb9111cd5 fix double message in popup and none in main window 2020-07-24 09:23:44 +02:00
Ralf Becker
b60a9ffff4 add check if only fallback push and skip full refresh (Framework::refresh_opener) for push and supporting apps 2020-07-24 09:07:13 +02:00
nathangray
b6e47f9b11 Etemplate: Password widget now auto-updates the second 'confirm' password if you have two and suggest a password. 2020-07-23 13:56:14 -06:00
nathangray
6d2af76576 * Infolog: Push updates 2020-07-23 13:34:08 -06:00
Ralf Becker
efaf9771d0 do NOT push participants of type email for privacy reasons 2020-07-23 19:06:08 +02:00
Hadi Nategh
0cea328928 Only set notification tab for none active tabs 2020-07-23 17:39:39 +02:00
Ralf Becker
0f799acd75 fix multiple accounts could not subscribe for push on the same mailbox 2020-07-23 16:56:45 +02:00
Hadi Nategh
1815b1e985 Implement framework tab's notification 2020-07-23 15:50:15 +02:00
Ralf Becker
cf06054fd7 move configuration of imap servers supporting push to mail site config and stadard imap server 2020-07-23 14:17:32 +02:00
Hadi Nategh
0ce38aa260 Fix social media icons for jdots login page 2020-07-23 10:27:36 +02:00
Ralf Becker
9d7ae4b4b0 * jDots: fix login page 2020-07-23 10:05:17 +02:00
nathangray
3e9794e526 Etemplate: Do not bother to resize hidden etemplates
Fixes Admin > App > Site config gets resized incorrectly when switching to another app's tab & back
2020-07-22 15:51:42 -06:00
Ralf Becker
0d426ae911 fix new_entry class not "allowing" to select or focus a row 2020-07-22 21:40:07 +02:00
Ralf Becker
4b9be2876e fix new mail rows appear no unseen 2020-07-22 21:32:48 +02:00
nathangray
a6688ab3f8 Etemplate: Allow app to specify a new row index for updated rows as well. 2020-07-22 12:00:01 -06:00
Ralf Becker
25f942c431 fix accidently commited host-name 2020-07-22 18:21:07 +02:00
Ralf Becker
0f8a2668fb fix token was only updated on account-change, not new login or daily token rotation, also support now multiple tokens/instances registring tokens for same account 2020-07-22 17:01:19 +02:00
Ralf Becker
32043f7a41 trigger full refresh / applyFilters, if app refresh_add returns false 2020-07-22 16:58:40 +02:00
nathangray
32b061919f Etemplate: Change default for password widget suggest to off
Customfields still default to on
2020-07-21 15:36:45 -06:00
nathangray
f0b924008b Etemplate: Add a callback so apps can decide where to put new push rows 2020-07-21 15:32:22 -06:00
Ralf Becker
8e213a7de5 set id of DOM container, in case server-side returned a different eTemplate 2020-07-21 22:05:08 +02:00
nathangray
bd6b20bae8 Fix home cannot find its portlet templates
This reverts commit ff0cdf8143.
2020-07-20 14:34:10 -06:00
nathangray
69420c19ad Api: Handle add push messages in the nextmatch list 2020-07-20 13:43:26 -06:00
Ralf Becker
bf44ee753a WIP push for mail (currently only Dovecot with further configuration!) 2020-07-20 12:09:08 +02:00
Hadi Nategh
6d9dfc6364 Fix vfs-select icons 2020-07-20 11:07:19 +02:00
Hadi Nategh
1f066dee26 Implement new egw messaging (keeps not deliberately dismissed messages) 2020-07-17 14:09:37 +02:00
nathangray
bd7b916811 Api: log on_shutdown() messages to its own log file 2020-07-16 14:54:02 -06:00
Ralf Becker
853fd72d91 Changelog for 20.1.20200716 2020-07-16 15:48:24 +02:00
Ralf Becker
ab1e59c0df register and deregister old JavaScript based app objects with new TypeScript registry to receive observer and push calls 2020-07-15 19:15:54 +02:00
Hadi Nategh
fcd7a77c44 Fixing none app static functions stopped being called relevant to commit 52eb5ca8e0 2020-07-15 11:01:34 +02:00
nathangray
3dd30b1ee1 Api: Fix multiple action confirmation 2020-07-14 14:19:53 -06:00
Hadi Nategh
90d33cd4fb Add more translations 2020-07-14 15:08:45 +02:00
Hadi Nategh
b29cce05be Fix searchbox no longer works in mobile template 2020-07-14 12:17:15 +02:00
Ralf Becker
808313c121 set grants if given for push 2020-07-13 19:26:05 +02:00
Hadi Nategh
31293807f9 Use text-indent for input and select box text indentation since padding would break 100% width 2020-07-13 16:20:15 +02:00
nathangray
31b7c49fd3 Etemplate: Avoid error if sender is not passed 2020-07-10 13:30:47 -06:00
nathangray
af4fcd7a2d Etemplate: Avoid trying to process regexes by checking for end anchor 2020-07-10 13:27:48 -06:00
nathangray
13842ffb79 * Infolog: Add filter by contact to export filters 2020-07-10 13:13:04 -06:00
nathangray
510a6419c5 Etemplate: Avoid error if file_data.mime is false for some reason
(file missing)
2020-07-10 11:11:05 -06:00
Hadi Nategh
146cba903b Add missing part from commit 4c7709d49f 2020-07-10 13:16:50 +02:00
Ralf Becker
502d423885 fix PHP Warning: substr() expects parameter 1 to be string, array given 2020-07-10 11:08:38 +02:00
nathangray
4fc02fbe20 Etemplate: Fix searchbox did not properly manage child DOM nodes 2020-07-08 14:34:50 -06:00
nathangray
9cb143d0d3 Etemplate: Prevent dialogs from destroying parent's request 2020-07-08 11:01:05 -06:00
Ralf Becker
7428e2d7cd do not add path of url to CSP 2020-07-07 13:18:28 +02:00
nathangray
ca8742e10b Etemplate: Password widget css improvements
Fixes buttons blocked by long passwords
2020-07-06 11:42:16 -06:00
Ralf Becker
34cbc6880a step attribute for number widget 2020-07-06 18:24:07 +02:00
nathangray
4c7709d49f Etemplate: Get vfsUpload values to use expose so they work like links 2020-07-03 14:23:41 -06:00
nathangray
ee498f703d Etemplate: Fix password widget could not be cleared entirely 2020-07-03 09:25:51 -06:00
nathangray
e80c118aa8 Etemplate: Replace resetDirty(), it's needed for IInput interface 2020-07-02 11:19:11 -06:00
nathangray
7278b30ff0 Actually set the default cf prefix so everything works. 2020-07-02 09:40:09 -06:00
nathangray
5958feb1c3 Etemplate: add customfield prefix as an explicit attribute, importexport filter was using it 2020-06-30 10:43:41 -06:00
Hadi Nategh
6ba8210d83 Avoid requesting external images with mixed content 2020-06-30 15:54:21 +02:00
nathangray
57d03110e4 Etemplate: If long task response is an object, stringify the object so we can see what it says 2020-06-29 14:08:02 -06:00
nathangray
b057f95a5a Close confirm improvements & fixes
- Toolbars are now always not dirty
2020-06-29 13:23:17 -06:00
nathangray
10846271f1 Close confirm improvements & fixes
- nextmatch is now always not dirty
- Logging the dirty widgets to console
- Fix searchbox did not fully doLoadingFinished()
2020-06-29 11:55:35 -06:00
nathangray
a50ede7967 Avoid errors from close confirm changes if button is not fully created. 2020-06-29 10:54:14 -06:00
Ralf Becker
8cb3b228ca Changelog for 20.1.20200628 2020-06-28 16:37:10 +02:00
Ralf Becker
27ad7772de add AGPL license for smallpart 2020-06-28 11:35:44 +02:00
Ralf Becker
361d5cb351 bump version to 20.1 2020-06-28 10:04:21 +02:00
nathangray
175c1fe369 Fix selectbox resetDirty() 2020-06-25 10:31:48 -06:00
Hadi Nategh
8863f28e37 Revert it because it has caused a weird issue regarding our nextmatch filters 2020-06-25 14:17:00 +02:00
nathangray
143be4dc98 Etemplate: Cancel buttons do not trigger the change/close prompt 2020-06-24 10:37:57 -06:00
nathangray
74284afc07 Fix htmlarea.isDirty() was using the pre-editor initialization value causing it to always be true 2020-06-24 09:58:18 -06:00
nathangray
10b2eda4ac Fix bug in isDirty() causing error for some widgets, which broke onbeforeclose 2020-06-24 09:40:35 -06:00
Ralf Becker
4959281164 fix optional SAML/Shibboleth login fails when proxying as form field with name "auth=saml" get lost 2020-06-24 08:56:13 +02:00
nathangray
03e08be0e6 Etemplate: Changing the tab doesn't count as making any data dirty 2020-06-23 13:37:31 -06:00
nathangray
f0e074093c Ralf's fix for Saml for PHP 7.2 2020-06-23 10:21:07 -06:00
Ralf Becker
08b039c4fb fix some SAML/Shibboleth problems caused by EGroupware running in container behind proxy on host 2020-06-21 08:17:00 +02:00
nathangray
52714f0a63 Etemplate: Check dirty before closing, ask if there are changes 2020-06-19 13:27:41 -06:00
Hadi Nategh
b95e9be02a Cleanup widget browser 2020-06-18 14:58:24 +02:00
Ralf Becker
7e81b733e1 fix typo in directory permissions 2020-06-18 10:48:56 +02:00
Hadi Nategh
acc7d3f01b Sidebox's triangle icon styling improvement 2020-06-17 11:06:30 +02:00
nathangray
31f20d9783 Etemplate: Fix history widget lost some widgets when converted to TypeScript 2020-06-16 10:58:03 -06:00
nathangray
b56a8f9901 Default password customfield plaintext attribute to false 2020-06-16 09:23:54 -06:00
Ralf Becker
2c489ef5b8 change default for password attribute plaintext back to true, to not break every existing usage of that widget 2020-06-16 08:37:51 +02:00
nathangray
d7d5837ecf Nicer password widget on account edit dialog
- Added plain-text attribute to avoid encrypting password
- Suggest password now fills both fields the same
2020-06-15 16:08:24 -06:00
nathangray
8020464dde Fix column could not be found due to wrong IDs used 2020-06-15 11:42:45 -06:00
Ralf Becker
e996b2c0cf reverting 2 changes around sessions which break our installation
checking for the not existing (new) database runs into an invinit recursion
the checks not to use $_SESSION, if no session is active was added in an attempt to get SimpleSAMLphp discovery working, but seems unneccessary for what we currently use
2020-06-15 10:11:31 +02:00
Ralf Becker
a88ff5c1b3 Changelog for 20.1.20200613 2020-06-13 15:26:36 +02:00
nathangray
fb27dc66da * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 11:03:42 -06:00
nathangray
aab5415873 * Etemplate: Password widget improvements - suggest password button, added as custom field type (stored encrypted) 2020-06-12 10:56:53 -06:00
Ralf Becker
4ccc773c74 German translations mostly for SAML/Shibboleth authentification 2020-06-12 12:19:16 +02:00
Ralf Becker
b7ed148371 * SAML: support joining a SAML account to an existing one, if configured in setup
notification of user does not yet work, as redirect on login page looses Api\Framework::message() :(
2020-06-11 16:03:54 +02:00
nathangray
a993938134 Etemplate: Fix VFS & file widgets were not properly handling files 2020-06-10 10:20:30 -06:00
Ralf Becker
19f52cd1de fix regular login, if optional SAML one is enabled for multiple IdP 2020-06-10 16:17:20 +02:00
Ralf Becker
4c131c1866 SAML/Shibboleth with multiple IdP or optional on regular login page 2020-06-10 15:19:24 +02:00
Hadi Nategh
06d6887744 Fix error select-account widget is not supported in et2_menulist widget 2020-06-10 13:32:33 +02:00
nathangray
676be91387 Etemplate: Fix TypeScript conversion error in historylog widget
Legacy options could not be accessed
2020-06-09 15:21:34 -06:00
nathangray
03a5620ea9 Api: Fix nm columns disabled via content could break subsequent columns, giving JS error
"Uncaught TypeError: Cannot read property 'getAttribute' of undefined"
2020-06-09 13:56:52 -06:00
Ralf Becker
a0760f6b96 * Mail: fix creating a folder on level of inbox gave an error (if imap server supports it) 2020-06-08 11:59:49 +02:00
Ralf Becker
c92fb09d8d Changelog for 19.1.20200605 2020-06-05 17:33:41 +02:00
Ralf Becker
ff0cdf8143 set id of DOMContainer, in case it changed because server-side send a different template 2020-06-04 17:04:32 +02:00
Ralf Becker
e613a561f6 do NOT show drag-n-drop actions, if we only have the cancel-drop action, added by default 2020-06-03 16:57:51 +02:00
Hadi Nategh
ceccd2a50d Implements stronger check to make sure the object is a regexp 2020-06-03 11:38:10 +02:00
Ralf Becker
25615d7ee0 fix not working file upload, if not mime-type specified 2020-06-02 18:53:33 +02:00
Hadi Nategh
1a91dfab7d Fix not working regexp mime type attribute in file widget 2020-06-02 14:39:43 +02:00
Ralf Becker
1ea45e6591 Mime-Type check can only work for the first chunk, further ones will always fail 2020-06-02 13:46:46 +02:00
nathangray
ce393e0803 Remove et2_types 2020-05-29 11:21:17 -06:00
Ralf Becker
4d2d14dd99 make running / generating SAML/Shibboleth config depending on an IPD configured 2020-05-29 10:25:31 +02:00
Ralf Becker
b1f79d1c40 * SAML/Shibboleth/SimpleSAMLphp authentication configurable through setup 2020-05-28 23:24:09 +02:00
nathangray
b5dceda99c Fix js packaging by switching from uglify-es to terser 2020-05-28 11:48:44 -06:00
Hadi Nategh
289f9a0644 Give bound click handlers on widgets a chance to get executed 2020-05-27 12:43:21 +02:00
Hadi Nategh
99693d1ef6 Add singleClick attribute to action popup 2020-05-27 11:54:50 +02:00
Hadi Nategh
bf1ed9a0d6 Remove type restriction for getEntry, the data send to client could have all sort of types 2020-05-27 11:11:06 +02:00
Hadi Nategh
f9e0d9a6c2 Add missing js file from commit da806d33f5 2020-05-27 10:46:34 +02:00
Ralf Becker
064054af82 fix an other case of using window.top directly 2020-05-26 10:23:40 +02:00
nathangray
bdbf28cd2c Change helper function getValueWidgetById() to the more useful getInputWidgetById() 2020-05-25 11:02:12 -06:00
Ralf Becker
b10cd7d2a5 Changelog for 20.1.20200525 2020-05-25 14:39:55 +02:00
nathangray
82215f292d Api: Fix some favorite widget bugs
- Infolog preferred favorite was not loaded
- Fixed vertical alignment of widget 'Add current' icon
2020-05-22 10:50:58 -06:00
Hadi Nategh
8d022c5908 do not try to push notifications for api.queue requests 2020-05-22 10:16:59 +02:00
Hadi Nategh
4a4f2a03b9 Make taglist widget exportable 2020-05-22 10:15:24 +02:00
nathangray
8bcbc184fb Change color on share icon 2020-05-21 09:57:04 -06:00
nathangray
866cc19440 Api: Fix favorites widget TypeScript conversion bugs 2020-05-20 15:27:38 -06:00
nathangray
3626679408 Api: Find the current focused object from global instead of app object when handling key presses
Should better handle apps admin where the focused object could be from a different app
2020-05-20 10:31:32 -06:00
Ralf Becker
7226f0f753 allow to set a css class on body tag for (different) styling of an embeded window 2020-05-19 09:43:53 +02:00
Ralf Becker
d04e6ebdec do NOT check eT2 popups for missing framework 2020-05-19 09:02:47 +02:00
Ralf Becker
9b17fa7871 fix typo 2020-05-18 20:56:50 +02:00
Ralf Becker
588cd10043 track top EGroupware window in egw object to be used as egw.top instead of window.top, which can throw a security exception 2020-05-18 20:55:57 +02:00
Hadi Nategh
5b8e02fded Add missing file from previous commit 2020-05-18 13:10:31 +02:00
Hadi Nategh
0d52104a68 Make radiobox widget exportable 2020-05-18 12:57:55 +02:00
nathangray
4cf185ce7e Avoid JS error by making sure we have a date format 2020-05-15 14:42:31 -06:00
nathangray
4ba7bac850 Add some convenience functions for faster widget access
These are only available on et2_container, so app.ts can use eg: this.et2.setWidgetById(...)

getDOMWidgetById(): Same as getWidgetById() it returns et2_DOMWidget instead of et2_widget
getValueWidgetById(): Same as getWidgetById(), but returns et2_valueWidget
getValueById(): Find a widget, get its value
setValueById(): Find a widget, set its value
setDisabledById(): Find a widget, set its disabled state.
2020-05-15 14:01:02 -06:00
nathangray
52eb5ca8e0 Don't bind context for app functions, they expect their own. 2020-05-15 11:15:30 -06:00
nathangray
242d435252 Fix a few remaining usages of free(), which was removed as part of the TypeScript conversion 2020-05-15 09:50:38 -06:00
nathangray
934d309856 Make taglist-state update its own options when country code changes
Fixes bug where options were not properly set if they had to be fetched from server.
2020-05-13 15:21:26 -06:00
Ralf Becker
46a3818e92 * ActiveDirectory: consider security local groups as groups too 2020-05-13 13:16:08 +02:00
Hadi Nategh
f23b5aee82 Fix readonly checkbox not working 2020-05-13 12:00:06 +02:00
Hadi Nategh
0748fba70f Add readonly value to readonly option 2020-05-13 11:56:49 +02:00
Hadi Nategh
1dc1d07dea Implements set_readonly for radiobox 2020-05-13 11:55:22 +02:00
Hadi Nategh
538d25333e Add missing js file from previous commit 2020-05-13 11:39:38 +02:00
Hadi Nategh
b101d2e509 Disable checkbox properly when it contains label 2020-05-13 11:08:42 +02:00
nathangray
66ee6576f1 * Api: Can now select no color with color widget 2020-05-11 14:58:36 -06:00
Ralf Becker
4dc120a6d2 making video position available and a couple of documentation updates 2020-05-10 14:53:06 +02:00
Hadi Nategh
cf8f421c4d Fix radio widget onchange not being called when value is getting set 2020-05-08 15:22:28 +02:00
Ralf Becker
319ae2637c an other case of not automatic fixed ambigious auto-id 2020-05-08 12:35:09 +02:00
Ralf Becker
1d6033fb4e allow to use image spec like "api/mime128_video" for poster like for regular images 2020-05-08 12:20:37 +02:00
Hadi Nategh
5e703ab669 Register video widget 2020-05-07 16:14:07 +02:00
Hadi Nategh
c6200f9969 Make video widget extendable 2020-05-06 14:53:02 +02:00
nathangray
da806d33f5 Api: Fix reference to et2_url EMAIL_PREG 2020-05-05 15:12:00 -06:00
Ralf Becker
c50fd8e6bf * API: new data-minimizing account display options "Firstname Inital" and "Firstname [ID]" 2020-05-04 09:25:32 +02:00
Ralf Becker
474d63a79b support hashes generated by password_hash($pwd, PASSWORD_BCRYPT) 2020-05-04 09:01:11 +02:00
Ralf Becker
cdf5d939e9 docu update 2020-05-04 08:56:32 +02:00
Ralf Becker
c79e58fe69 fix German translation of "Sign Up" to be "Registrieren" instead "Anmelden", which would be indistinguishable from "Login" otherwise 2020-05-03 10:28:35 +02:00
Ralf Becker
9252aaf430 Changelog for 19.1.20200430 2020-04-30 19:49:46 +02:00
Ralf Becker
b4db228c96 fix typo 2020-04-30 17:33:37 +02:00
Ralf Becker
7bf6b33ab2 move adding CSP frame-src of OpenIDConnect clients managed as apps to OpenID app 2020-04-30 17:32:30 +02:00
Ralf Becker
9a548dca68 fix csp-*-source hook not run, if Api\Header\ContenSecurity::add() was called 2020-04-30 17:31:46 +02:00
Ralf Becker
ab20dbb70c * Mail: automatic remove some invisible Unicode chars breaking email addresses: zero width space, variation selectors 2020-04-30 10:16:24 +02:00
nathangray
7f99b750b0 Fix missing appname in check
(see 444babdbc8)
2020-04-29 11:28:17 -06:00
Hadi Nategh
0431911dd1 Add missing js file from previous commit 2020-04-29 12:29:35 +02:00
Hadi Nategh
e9510598d7 Add allow option to iframe widget 2020-04-29 12:23:49 +02:00
nathangray
0fdd8f87cb Api: Fix out of memory error when deleting users and filesystem is large
Fixed by not deleting the files, just changing owner
2020-04-28 14:16:09 -06:00
Ralf Becker
42b78ab708 quiten warning in login / no user-apps 2020-04-28 10:15:01 +02:00
nathangray
631be5769d Api: Switch double quotes to single quotes to be standard SQL and avoid Postresql errors 2020-04-27 09:17:16 -06:00
nathangray
5a1f642ce2 Make sure there are no parameters before trying nice check for function name 2020-04-24 11:23:03 -06:00
nathangray
eaafd5eb1f Get legacy JS parser to understand functions that don't start with "app." and don't have brackets in the attribute.
This covers widget or other non-app static functions (eg: et2_avatar.uploadAvatar_onFinish)
2020-04-23 11:33:24 -06:00
nathangray
ec6a3881e3 Still need to clear before loading or dialogs get doubled 2020-04-22 14:53:11 -06:00
Ralf Becker
4d4eb5e654 remove left over (unnecessary) call to addGeneric adding an empty push 2020-04-22 22:19:58 +02:00
nathangray
09275367c0 * Calendar: disable some owner/participant pre-loading for faster initial open
We no longer send the accounts or owngroups to pre-fill the owner / participant options.   Accounts are pulled from the client-side cache, groups are now always via ajax like other resources
2020-04-22 13:09:14 -06:00
Hadi Nategh
eb795d523b Alway prefer custom onFinishOne callback if it is set 2020-04-22 14:19:12 +02:00
nathangray
444babdbc8 Api: Take care of private app.js instances, make sure they're included in iteration.
Iterate over all app.js instances (public & private) using:
for (var app_obj of window.EgwApp) {...}
2020-04-21 15:36:17 -06:00
Hadi Nategh
6e73a2bb66 Fix submit buttons get disabled after file upload 2020-04-21 18:30:25 +02:00
Hadi Nategh
4803e7fcd5 Fix lavatar not generating any image 2020-04-21 15:18:44 +02:00
Ralf Becker
9817d25a47 move who is available via push to push class and backends 2020-04-20 13:07:58 +02:00
Ralf Becker
1ac0ff826e missed commit from SimpleSAMLphp 2020-04-20 12:55:19 +02:00
nathangray
397fc8a620 Fix missing translation reported by Stefan Unverricht 2020-04-16 11:34:10 -06:00
nathangray
8c2c335ae6 Fix missing translation reported by Stefan Unverricht 2020-04-16 09:19:24 -06:00
Ralf Becker
9211d81732 suppress warning and trace (containing passwords) if userPassword attribute is not accessible 2020-04-16 12:16:04 +02:00
nathangray
d6a747e36b Fix missing translation reported by Stefan Unverricht
How did you get missed?
2020-04-15 11:47:22 -06:00
nathangray
dbb3b2688e Fix missing translation reported by Stefan Unverricht 2020-04-15 11:21:53 -06:00
nathangray
017fa60870 Fix missing translation reported by Stefan Unverricht 2020-04-15 10:06:09 -06:00
nathangray
8f8c437712 Try to avoid error from missing nodes
I suspect this is from either TypeScript conversion or nm node optimization, but can't duplicate it regularly
2020-04-14 15:03:32 -06:00
nathangray
5b115ec7d5 Try to avoid some errors loading nm by checking before setting 2020-04-14 14:14:29 -06:00
nathangray
821c8474c5 Fix link from VFS dialog did not open 2020-04-14 14:13:36 -06:00
nathangray
a3c6eba952 Fix sharing of of a file inside a symlinked directory failed. 2020-04-14 11:19:12 -06:00
Ralf Becker
e3ede597dc * API: add SimpleSAMLphp for SAML/Shibboleth authentication and many more 2020-04-14 14:10:33 +02:00
Ralf Becker
655f1f1f6a fix wrong Gravatar URL 2020-04-11 10:11:10 +02:00
nathangray
eda34d67b3 Fix some typescript bugs
- Don't default dialog width so the automatic calculations run
- Setting etemplate_exec_id after load doesn't work, moved to passing it in.  Fixes several file select issues
2020-04-09 14:26:57 -06:00
nathangray
bac1ff5a1d Port b6020ad from asig2016 to master 2020-04-09 12:39:16 -06:00
Ralf Becker
26a17011b9 Changelog for 19.1.20200409 2020-04-09 14:52:32 +02:00
Ralf Becker
e6546080a0 query videoconference room, if VC is configured 2020-04-08 12:03:22 -06:00
nathangray
0fb4176067 Fix sharing a single file gave 404
Added test to check that this works for a single file
2020-04-08 11:39:12 -06:00
Ralf Becker
a6e6393943 disable avatar sharing link, as it currently destroys sessions for already logged in users, plus some more fixes for VC 2020-04-07 16:16:49 +02:00
Hadi Nategh
99a9513236 Fix positon option in et2_dialog widget 2020-04-07 14:51:46 +02:00
Ralf Becker
1c135b2da3 some fixes around videoconference avatars and adding an automatic alarm 5min before the conference 2020-04-07 11:10:49 +02:00
Ralf Becker
72116b9587 Jitsi avatars: shareing url for pictures, anonymous letter-avatar or gravatar if none 2020-04-06 20:15:00 +02:00
nathangray
6711e3a75f Fix collabora tests to use correct class (Wopi) rather than parent 2020-04-06 11:00:42 -06:00
nathangray
b1cb9c10ef Case insensitive check for vCard BEGIN & END flags fixes lowercase vcards would not import
https://tools.ietf.org/id/draft-ietf-vcarddav-vcardrev-02.html#anchor3
2020-04-06 10:54:59 -06:00
Hadi Nategh
be7d045e1d Add requireInteraction option into notification class 2020-04-06 17:24:48 +02:00
Ralf Becker
8c0fb193e1 fix wrong condition 2020-04-06 09:05:50 +02:00
nathangray
fb4e6c0dfe Some improvements to sharing when multiple shares are involved 2020-04-03 16:20:47 -06:00
Hadi Nategh
86940ce3f9 Set a width to et2_avatar class 2020-04-03 10:55:27 +02:00
nathangray
6664aea901 Etemplate: Register time_or_date widget, fixes wrong timestamps in mobile template mail list 2020-04-01 15:03:58 -04:00
nathangray
abdffc12a0 Fix typescript conversion bug breaking mobile list view 2020-04-01 13:46:05 -04:00
nathangray
c8906e4353 German translation of 'share filemanager directory' from Birgit 2020-04-01 09:54:49 -06:00
Ralf Becker
d830e048e4 loading filemanager translations for sharing 2020-04-01 10:46:32 +02:00
nathangray
174737cc67 English translation of 'share filemanager directory' 2020-03-31 10:49:36 -06:00
nathangray
a84a870cac English translation of share action hints 2020-03-31 10:43:44 -06:00
nathangray
0664df4921 Add some hints to sharing actions 2020-03-31 10:36:50 -06:00
nathangray
d24c6f2b7d Avoid error if extra parameter is not set 2020-03-31 10:21:26 -06:00
Ralf Becker
038c1c811c fix not closed spinner for application names with a dot 2020-03-31 13:03:31 +02:00
nathangray
b27387009d Fix toolbar actions with no group were missing 2020-03-30 14:25:24 -06:00
Ralf Becker
3750711cdf * OpenIdConnect/OAuth: manage access and display OAuth apps inside EGroupware 2020-03-30 21:03:19 +02:00
nathangray
c19502ce5b Fix nextmatch row expansion not properly displaying children 2020-03-30 12:28:48 -06:00
nathangray
cd530e6af0 Fix missing column headers after changing nm row template 2020-03-30 12:22:07 -06:00
nathangray
8063d31183 Remove unwanted quotes around filename 2020-03-30 10:41:39 -06:00
nathangray
1da1cb7b99 Fix legacy options not being read for some widgets 2020-03-30 10:28:48 -06:00
nathangray
c937f50193 Make sure share cleanup job doesn't remove shares just because of access rights 2020-03-30 09:35:59 -06:00
nathangray
d3eb2d9b22 Change the hidden upload message 2020-03-27 13:40:48 -06:00
nathangray
93a7166710 Add hidden upload directory as mail action 2020-03-26 13:20:20 -06:00
Ralf Becker
aa566e12fa translation for "Hidden uploads" and move it between readonly and writable shares 2020-03-26 10:38:34 +01:00
nathangray
22f498d6e2 Try to fix navigation issues in file select popup 2020-03-25 13:48:04 -06:00
nathangray
895b1ebee9 Cleanup, bugfix & refactoring of hidden upload folder. 2020-03-25 11:39:40 -06:00
nathangray
7163acfe1d * Add action to share filemanager folder (readonly) with hidden upload folder 2020-03-24 20:34:04 -06:00
nathangray
6aec7858cc * Api: If addressbook event column is disabled, disable next / last dates in edit dialog as well. 2020-03-24 09:42:10 -06:00
nathangray
3350f3a024 Some fixes for tile view after Typescript conversion 2020-03-23 10:05:46 -06:00
Hadi Nategh
3330bb6747 Use svg icon version for sidebox bullet points 2020-03-23 14:13:44 +01:00
Ralf Becker
e9c3533c93 avoid misconfiguration of user "anonymous" NOT flaged as such 2020-03-21 11:43:54 +01:00
nathangray
34ec346821 Fix favourites (& probably some more inherited stuff) broken by TypeScript conversion
Note that any properties declared in a sub-class aren't generally available until after the super() call is done, i.e. in the super constructor they're undefined.
2020-03-20 11:38:38 -06:00
nathangray
7631eb83aa Fix some account changes were not saved 2020-03-20 10:31:46 -06:00
Hadi Nategh
6c9504e647 Add fullscreen into htmleditor feature preferences. fix and use svg icons. 2020-03-20 13:02:19 +01:00
nathangray
a7593b2f83 Add some comment so we know what's going on 2020-03-19 10:41:45 -06:00
nathangray
c04915ae09 Etemplate: Fix nextmatch printing failed after TypeScript conversion 2020-03-18 10:36:14 -06:00
Ralf Becker
d21cd6bcd9 Changelog for 19.1.20200318 2020-03-18 16:05:40 +01:00
Ralf Becker
04b83d4344 * Filemanager/Sharing: fix lost session on first load in sharing links with Firefox 2020-03-17 20:38:30 +01:00
nathangray
83fd11f7c7 Fix bug in nm rowProvider preventing some re-ordered columns from getting their value 2020-03-17 10:32:45 -06:00
Hadi Nategh
b2c60f5667 Fix searchbox messed up DOMNode 2020-03-17 15:56:56 +01:00
nathangray
5af17679f3 Fix some missed free() calls 2020-03-16 14:27:57 -06:00
nathangray
298d0618e6 Etemplate: Add 3 minute nextmatch refresh option 2020-03-13 11:49:36 -06:00
nathangray
b8c6d52d29 Merge feature/improve_nm_performance changes in 2020-03-11 10:56:51 -06:00
nathangray
458a40c792 Avoid some warnings caused by using foreach() over null 2020-03-11 09:25:31 -06:00
Hadi Nategh
625c3eb73c Fix htmlarea being initiated twice 2020-03-11 14:54:47 +01:00
nathangray
d4b9397d62 Refactor tests to avoid deprecated assertions 2020-03-10 15:54:02 -06:00
nathangray
4078154237 Remove permanent error_log 2020-03-09 15:29:51 -06:00
Hadi Nategh
d6c2a4aa0b Convert tracker app.js to TS 2020-03-09 16:12:49 +01:00
Hadi Nategh
f39248c89a Fix triangle icon for toolbar's header button 2020-03-09 14:10:46 +01:00
nathangray
173b695cf2 Api: Sharing listens to Vfs hooks to stay up-to-date with deleted or renamed files 2020-03-06 14:48:26 -07:00
Ralf Becker
4fe466f4f9 deals with some rows share_path have "vfs://default" prefix, some are just path 2020-03-06 15:08:34 +01:00
Ralf Becker
4c987e7dd8 fix all shares (not files) got deletes, if one was expired 2020-03-06 14:33:50 +01:00
nathangray
aa87e60f10 Etemplate: Fix customfield widget bug "Cannot read property ... of undefined" 2020-03-05 15:37:42 -07:00
nathangray
9b2e6b5012 Api: Fix Sharing missing temp file cleanup 2020-03-05 15:03:34 -07:00