Skip to content

Commit

Permalink
Releasing 0.7.0 (#237)
Browse files Browse the repository at this point in the history
* increasing the version number to 0.4.1

* Updating the eslint version

* increasing the electron-builder version to 21.1.1

* Reverting the upgrade of eslint as requires node version 11.10.1 or higher... and travis build is in 11.10.0

* increasing vesrion of electron to 4.2.7

* Force fallback to XWayland (#181)

Perhaps electron cannot use native wayland, so disabling it in the snap
causes it to fall back to XWayland which makes it work.

* Feature 186 refactor index (#189)

* Initial commit

* Refactoring the main browser window out of the index.js

* updating package version files

* Adding small readme for the mainAppWindow folder

* Feature 186 refactor index (#191)

* Initial commit

* Refactoring the main browser window out of the index.js

* updating package version files

* Adding small readme for the mainAppWindow folder

* minor tidy up on readme and removing un-used files

* minor tidy up removal of unused files (#190)

* wip trying to fix screensharing (#195)

* wip trying to fix screensharing

* Adding back all the other chrome stuff as otherwise the one-2-one and other video stuff doesn't work

* Catching the angular undefined and triggering the timeout again

* increasing the package version number in order to be ready for release

* moving to version 0.5.0 in preparation for release

* moving to 0.5.1

* Create FUNDING.yml

Adding funding page.

* Remove invalid newline in Linux package description (#201)

* Remove productName from package.json to address WM_CLASS issue (#176)

* Remove invalid newline in Linux package description

* Preparing release 0.6.0 and fix #203 (#205)

* increase version to 0.6.1 for future development

* Fix 171 adding clear cache to session (#209)

* Adding the clearCache after the window creation to see if helps fixing the issue 171

* Moving to version 0.6.2

* Changing log message when clearing session cache

* Changing log message when clearing session cache

* Better handle external requests in new windows (#206)

Here we use a counter to track the requests that are slated to open
in a new window and have a URL of about:blank.
We then filter all requests and proceed normally when the counter is
less than 1.

* Update KNOWN_ISSUES to reference cache folder (#171) (#210)

* Update KNOWN_ISSUES to reference cache folder (#171)

* Update KNOWN_ISSUES.md

* Adding extra logs and the flushStorageData to see if fixes, or help, with #107 (#212)

* Feature 107 adding extra logs and checks (#213)

* Adding extra logs and the flushStorageData to see if fixes, or help, with #107

* Adding teh clear appcache storage

* Feature 107 adding extra logs and checks (#215)

* Adding extra logs and the flushStorageData to see if fixes, or help, with #107

* Adding teh clear appcache storage

* making the clearCache and clearStorage async/await so we can wait for them to finish before loading the app

* Feature 185 toogle fullscreen f11 (#216)

* Adding extra logs and the flushStorageData to see if fixes, or help, with #107

* Adding teh clear appcache storage

* making the clearCache and clearStorage async/await so we can wait for them to finish before loading the app

* Adding a menu item to be able to toogle the fullscreen mode by using f11

* updating default user agent string per issue 204 (#217)

* updating default user agent string per issue 204

* bumped version number for default user agent string switch

* Fixing #171 (#218)

* Revert "Feature 107 adding extra logs and checks (#215)"

This reverts commit 7862b4b.

* Overwrite the serviceWorker.register method

* Revert "Feature 107 adding extra logs and checks (#213)"

This reverts commit b330962.

* Remove more extra logging

* Bump version on package.json to 0.6.6

* #221: updating readme with a link to AppImageLauncher (#226)

* Increasing the electron-builder to fix #208 (#231)

* Increasing the electron-builder to fix #208

* Adding back the other build packages removed for testing

* Add flatpak to configuration directory list (#232)

* Add flatpak to configuration directory list

Also make the Snap configuration directory more precise

* Added from source

* moving version to 0.7.0
  • Loading branch information
IsmaelMartinez authored Aug 18, 2019
1 parent 97eb15f commit f3a177e
Show file tree
Hide file tree
Showing 10 changed files with 89 additions and 12 deletions.
12 changes: 12 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# These are supported funding model platforms

custom: ['paypal.me/ismaelmartinezramos']
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: ismaelmartinezramos
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
13 changes: 11 additions & 2 deletions KNOWN_ISSUES.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,14 @@ We are defaulting in opening the links in a external browser, but links can be o

## No history

Switching the userAgent with the persistence turn on sometimes have the side effect of "loosing" the channels history. Removing the data under `~/.config/teams-for-linux` or, if using snap `rm -rf /home/$HOME/snap/teams*`, should fix the issue.
Switching the userAgent with the persistence turn on sometimes have the side effect of "loosing" the channels history. Removing the data under the appropriate config directory should fix the issue.

### Config folder locations:

* Vanilla install: `rm -rf ~/.config/teams-for-linux`
* snap: `rm -rf ~/snap/teams-for-linux/current/.config/teams-for-linux/`
* --user installed flatpak: `rm -rf ~/.var/app/com.github.IsmaelMartinez.teams_for_linux/config/teams-for-linux`
* from source: `rm -rf ~/.config/Electron/`

## Spellchecker not working

Expand Down Expand Up @@ -50,7 +57,9 @@ The following workarounds tend to solve the issue:

If the above doesn't work:

+ Close the application and delete the Service Worker folder under`.config/Teams for Linux/Partitions/teams-4-linux/Service Worker` (or `.config/teams-for-linux/Partitions/teams-4-linux/Service Worker`)
+ Close the application and delete the application cache folder
+ `.config/teams-for-linux/Partitions/teams-4-linux/Application Cache`
+ or for Snap installation, `snap/teams-for-linux/current/.config/teams-for-linux/Partitions/teams-4-linux/Application Cache`.

Refer to [#171](https://github.com/IsmaelMartinez/teams-for-linux/issues/171) for more info

Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ It uses the Web App and wraps it as a standalone application using Electron.
## Downloads

Binaries available under https://github.com/IsmaelMartinez/teams-for-linux/releases for AppImage, pacman, rpm, deb, snap and tar.gz
In case of AppImage, we recommend to use [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher) for the best desktop experience.

Also available in:

Expand Down
5 changes: 5 additions & 0 deletions app/browser/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -88,5 +88,10 @@
injector.get('settingsService').appConfig.hideGetAppButton = true;
injector.get('settingsService').appConfig.enableMobileDownloadMailDialog = false;
}
Object.defineProperty(navigator.serviceWorker, 'register', {
value: () => {
return Promise.reject()
}
});
}());

2 changes: 1 addition & 1 deletion app/config/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Here is the list of available arguments and its usage:
| minimized | Start the application minimized | false |
| url | url to open | https://teams.microsoft.com/ |
| config | config file location | ~/.config/teams-for-linux/config.json |
| chromeUserAgent | user agent string for chrome | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36 |
| chromeUserAgent | user agent string for chrome | Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36 |
| ntlmV2enabled | set enable-ntlm-v2 value | true |
| authServerWhitelist | set auth-server-whitelist value | * |
| customCSSName | Custom CSS name for the packaged available css files. Currently those are: "compactDark", "compactLight", "tweaks", "condensedDark" and "condensedLight" | |
Expand Down
6 changes: 5 additions & 1 deletion app/config/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ function argv(configPath) {
describe: 'Google Chrome User Agent',
type: 'string',
default:
'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3835.0 Safari/537.36',
'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/77.0.3831.6 Safari/537.36',
},
ntlmV2enabled: {
default: 'true',
Expand Down Expand Up @@ -88,7 +88,11 @@ function getConfigFile(configPath) {
try {
return require(path.join(configPath, 'config.json'));
} catch (e){
<<<<<<< HEAD
console.info('Failed to get the config file, using default values');
=======
console.error('Failed to get the config file', e);
>>>>>>> origin
return {};
}
}
Expand Down
4 changes: 4 additions & 0 deletions app/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,9 @@ if (!gotTheLock) {
} else {
app.on('second-instance', mainAppWindow.onAppSecondInstance);
app.on('ready', mainAppWindow.onAppReady);
app.on('before-quit', () => console.log('before-quit'));
app.on('quit', () => console.log('quit'));
app.on('renderer-process-crashed', () => console.log('renderer-process-crashed'));
app.on('will-quit', () => console.log('will-quit'));
app.on('certificate-error', certificate.onAppCertificateError);
}
51 changes: 46 additions & 5 deletions app/mainAppWindow/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ const Menus = require('../menus');
const notifications = require('../notifications');
const onlineOffline = require('../onlineOffline');

let aboutBlankRequestCount = 0;

let window = null;

exports.onAppReady = function onAppReady() {
Expand All @@ -25,6 +27,8 @@ exports.onAppReady = function onAppReady() {

window.webContents.on('new-window', onNewWindow);

window.webContents.session.webRequest.onBeforeRequest(['http*'], onBeforeRequestHandler);

login.handleLoginDialogTry(window);
if (config.onlineOfflineReload) {
onlineOffline.reloadPageWhenOfflineToOnline(window, config.url);
Expand All @@ -37,10 +41,17 @@ exports.onAppReady = function onAppReady() {
}

window.webContents.on('did-finish-load', () => {
customCSS.onDidFinishLoad(window.webContents)
customCSS.onDidFinishLoad(window.webContents);
});

window.on('closed', () => { window = null; });
window.on('close', () => {
console.log('window close');
window.webContents.session.flushStorageData();
})
window.on('closed', () => {
console.log('window closed');
window = null;
});

window.loadURL(config.url);

Expand All @@ -59,11 +70,41 @@ exports.onAppSecondInstance = function onAppSecondInstance(args) {
}
}

function onNewWindow(event, url, frame, disposition) {
function onBeforeRequestHandler(details, callback) {
// Check if the counter was incremented
if (aboutBlankRequestCount < 1) {
// Proceed normally
callback({});
} else {
// Open the request externally
console.debug('DEBUG - webRequest to ' + details.url + ' intercepted!');
shell.openExternal(details.url);
// decrement the counter
aboutBlankRequestCount -= 1;
callback({ cancel: true });
}
}

function onNewWindow(event, url, frame, disposition, options) {
if (url.startsWith('https://teams.microsoft.com/l/meetup-join')) {
event.preventDefault();
window.loadURL(url);
} else if ((disposition !== 'background-tab') && (url !== 'about:blank')) {
} else if (url === 'about:blank') {
event.preventDefault();
// Increment the counter
aboutBlankRequestCount += 1;
// Create a new hidden window to load the request in the background
console.debug('DEBUG - captured about:blank');
const win = new BrowserWindow({
webContents: options.webContents, // use existing webContents if provided
show: false
});

// Close the new window once it is done loading.
win.once('ready-to-show', () => win.close());

event.newGuest = win;
} else if (disposition !== 'background-tab') {
event.preventDefault();
shell.openExternal(url);
}
Expand Down Expand Up @@ -104,4 +145,4 @@ function createWindow() {
};

return window;
}
}
1 change: 1 addition & 0 deletions app/menus/preferences.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ exports = module.exports = () => ({
{role: 'resetZoom'},
{role: 'zoomIn'},
{role: 'zoomOut'},
{role: 'togglefullscreen'},
],
},
],
Expand Down
6 changes: 3 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "teams-for-linux",
"version": "0.5.0",
"version": "0.7.0",
"main": "app/index.js",
"description": "Unofficial client for Microsoft Teams for Linux",
"homepage": "https://github.com/IsmaelMartinez/teams-for-linux",
Expand Down Expand Up @@ -38,7 +38,7 @@
},
"devDependencies": {
"electron": "4.2.8",
"electron-builder": "21.1.5",
"electron-builder": "21.2.0",
"eslint": "5.16.0",
"yarn": "1.17.3"
},
Expand All @@ -54,7 +54,7 @@
"packageCategory": "net",
"executableName": "teams-for-linux",
"synopsis": "Microsoft Teams for Linux",
"description": "Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App\n and wraps it as a standalone application using Electron.",
"description": "Unofficial Microsoft Teams client for Linux using Electron. It uses the Web App and wraps it as a standalone application using Electron.",
"desktop": {
"Name": "Microsoft Teams for Linux",
"Comment": "Unofficial client for Microsoft Teams for Linux",
Expand Down

0 comments on commit f3a177e

Please sign in to comment.