Fix history truncation.

This commit is contained in:
Michael Jumper
2012-11-07 14:21:21 -08:00
parent d1aeb5e347
commit 7d6eed709b
2 changed files with 16 additions and 8 deletions

View File

@@ -24,21 +24,21 @@ GuacamoleHistory = new (function() {
function truncate() {
// Avoid history growth beyond defined number of entries
if (history.length > IDEAL_LENGTH) {
// Build list of entries
var entries = [];
for (var old_id in history)
entries.push(history[old_id]);
// Build list of entries
var entries = [];
for (var old_entry in history)
entries.push(old_entry);
// Avoid history growth beyond defined number of entries
if (entries.length > IDEAL_LENGTH) {
// Sort list
entries.sort(GuacamoleHistory.Entries.compare);
entries.sort(GuacamoleHistory.Entry.compare);
// Remove entries until length is ideal or all are recent
var now = new Date().getTime();
while (entries.length > IDEAL_LENGTH
&& entries[0].accessed - now > CUTOFF_AGE) {
&& now - entries[0].accessed > CUTOFF_AGE) {
// Remove entry
var removed = entries.shift();

View File

@@ -366,6 +366,14 @@ GuacamoleHistory.onchange = function(id, old_entry, new_entry) {
};
/*
* This window has no name. We need it to have no name. If someone navigates
* to the root UI within the same window as a previous connection, we need to
* remove the name from that window such that new attempts to use that previous
* connection do not replace the contents of this very window.
*/
window.name = "";
/*
* Update session state when auto-fit checkbox is changed
*/