Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.

Commit 55fad53

Browse files
committed
version 1.2.0 final
1 parent 6a2d05a commit 55fad53

File tree

9 files changed

+124
-35
lines changed

9 files changed

+124
-35
lines changed

branding/templates/ignite/manifest.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"short_name": "__MSG_manifest_shortExtensionName__",
77
"name": "__MSG_manifest_extensionName__",
88
"description": "__MSG_manifest_extensionDescription__",
9-
"version": "1.1.5",
9+
"version": "1.2.0",
1010
"homepage_url": "https://igniterealtime.org/",
1111

1212
"background": {

extension.crx

664 KB
Binary file not shown.

extension/changelog.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,34 @@
11
<h1 id="changelog">Changelog</h1>
22

3+
<p><b>1.2.0</b> -- <i>April 7, 2019</i></p>
4+
<ul>
5+
<li>Upgrade Converse to ver 4.2.0</li>
6+
<li>Align application minor version number with Converse (1.2.0) from now on</li>
7+
<li>Enable the User Directory tool in Converse to now invite people to the opened groupchat</li>
8+
<li>Use the reply action in Converse to create quoted text that is now clickable. Clicking on scrolls the quoted message into view.</li>
9+
<li>Click a URL in the Media Summary to open the actual page in the main browser window and make the original message in the conversation is scrolled into view.</li>
10+
<li><a href="https://github.com/igniterealtime/Pade/issues/148">Fixed #148: Cleanup media content which is no longer available from the Information > Media Content listing</a></li>
11+
<li><a href="https://github.com/igniterealtime/Pade/issues/154">Fixed #154: If Meeting Recording is enabled, app crashes before meeting finishes</a></li>
12+
<li><a href="https://github.com/igniterealtime/Pade/issues/153">Fixed #153: Option to show join/leave messages</a></li>
13+
</ul>
14+
15+
<p><b>1.1.5</b> -- <i>April 1, 2019</i></p>
16+
<ul>
17+
<li><a href="https://github.com/igniterealtime/Pade/issues/137">Fixed #137: Add Chat rooms directory search with history preview</a></li>
18+
<li><a href="https://github.com/igniterealtime/Pade/issues/143">Fixed #143: Add warning text next to settings that will close the config window auomatically</a></li>
19+
<li><a href="https://github.com/igniterealtime/Pade/issues/145">Fixed #145: Pade keeps re-setting my online status message to "hello"</a></li>
20+
<li><a href="https://github.com/igniterealtime/Pade/issues/146">Fixed #146: A typo in settings</a></li>
21+
<li><a href="https://github.com/igniterealtime/Pade/issues/147">Fixed #147: :lol: does not LOL</a></li>
22+
<li><a href="https://github.com/igniterealtime/Pade/issues/149">Fixed #149: manifest.js is not in UTF</a></li>
23+
<li><a href="https://github.com/igniterealtime/Pade/issues/150">Fixed #150: Timeout for Chrome notification</a></li>
24+
</ul>
25+
26+
<p><b>1.1.4</b> -- <i>March 27, 2019</i></p>
27+
<ul>
28+
<li><a href="https://github.com/igniterealtime/Pade/issues/136">Fixed #136: Presence rapidly toggling between states by itself</a></li>
29+
<li><a href="https://github.com/igniterealtime/Pade/issues/142">Fixed #142: Password field should save and login by pressing enter</a></li>
30+
</ul>
31+
332
<p><b>1.1.3</b> -- <i>March 25, 2019</i></p>
433
<ul>
534
<li><a href="https://github.com/igniterealtime/Pade/issues/139">Fixed #139: Add support for XEP-0367: Message Attaching</a></li>

extension/inverse/index.js

Lines changed: 31 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -228,18 +228,42 @@ function doConverse(server, username, password, anonUser)
228228
var url = urlParam("url");
229229
var domain = getSetting("domain", null);
230230

231-
if (url && (url.indexOf("im:") == 0 || url.indexOf("xmpp:") == 0) && window.location.hash == "")
231+
if (bgWindow && bgWindow.pade.chatWindow)
232232
{
233-
var href = "index.html#converse/chat?jid=" + url.substring(3);
234-
if (url.indexOf("xmpp:") == 0) href = "index.html#converse/room?jid=" + url.substring(5);
233+
if (url && (url.indexOf("im:") == 0) && window.location.hash == "")
234+
{
235+
var jid = url.substring(3);
236+
if (jid.indexOf("@") == -1 && domain != null) jid = jid + "@" + domain;
237+
238+
chrome.extension.getViews({windowId: bgWindow.pade.chatWindow.id})[0].openChat(jid);
239+
chrome.windows.update(bgWindow.pade.chatWindow.id, {focused: true});
240+
window.close();
241+
}
242+
else
235243

236-
if (href.indexOf("@") == -1 && domain != null)
244+
if (url && (url.indexOf("xmpp:") == 0) && window.location.hash == "")
237245
{
238-
href = href + "@" + (url.indexOf("xmpp:") == 0 ? "conference." + domain : domain);
246+
jid = url.substring(5);
247+
if (jid.indexOf("@") == -1 && domain != null) jid = jid + "@" + "conference." + domain;
248+
249+
chrome.extension.getViews({windowId: bgWindow.pade.chatWindow.id})[0].openGroupChat(jid);
250+
chrome.windows.update(bgWindow.pade.chatWindow.id, {focused: true});
251+
window.close();
239252
}
253+
}
254+
else {
240255

256+
if (url && (url.indexOf("im:") == 0 || url.indexOf("xmpp:") == 0) && window.location.hash == "")
257+
{
258+
var href = "index.html#converse/chat?jid=" + url.substring(3);
259+
if (url.indexOf("xmpp:") == 0) href = "index.html#converse/room?jid=" + url.substring(5);
241260

242-
location.href = href;
261+
if (href.indexOf("@") == -1 && domain != null)
262+
{
263+
href = href + "@" + (url.indexOf("xmpp:") == 0 ? "conference." + domain : domain);
264+
}
265+
location.href = href;
266+
}
243267
}
244268

245269
if (getSetting("useTotp", false) || getSetting("useWinSSO", false) || getSetting("useCredsMgrApi", false) || getSetting("useSmartIdCard", false))
@@ -600,7 +624,7 @@ function addActiveConversation(chatbox, activeDiv, newMessage)
600624
const jid = chatbox.get('jid');
601625

602626
const msg_content = document.createElement("div");
603-
msg_content.setAttribute("class", "message chat-msg pade-active-panel " + chatType);
627+
msg_content.classList.add("pade-active-panel");
604628

605629
let display_name = chatbox.getDisplayName();
606630
if (!display_name || display_name.trim() == "") display_name = jid;

extension/inverse/plugins/css/info.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
text-overflow: ellipsis;
3636
}
3737

38+
.mediaItem:hover {
39+
background-color: var(--text-color);
40+
color: var(--occupants-background-color);
41+
}
42+
3843
.plugin-infobox li {
3944
height: 18px !important;
4045
}

extension/inverse/plugins/css/pade.css

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,14 @@
117117
width: 100%;
118118
}
119119

120+
.pade-active-panel {
121+
display: inline-flex;
122+
width: 100%;
123+
flex-direction: row;
124+
/*overflow: auto;*/
125+
padding: 0.125rem 1rem !important;
126+
}
127+
120128
.pade-active-panel:hover {
121129
background-color: #E5E5E5 !important;
122130
color: #151515 !important;

extension/inverse/plugins/directory.js

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -260,19 +260,33 @@
260260
{
261261
var jids = directoryResults.querySelectorAll(".plugin-directory-jid");
262262

263-
for (var i=0; i<jids.length; i++)
263+
jids.forEach(function(element)
264264
{
265-
console.debug('displayUsers - jids', jids);
265+
console.debug('displayUsers - jids', element.innerHTML);
266266

267-
jids[i].addEventListener("click", function(e)
267+
var setAvatar = function(imgHref)
268+
{
269+
element.innerHTML = "<img style='width: 22px;' src='" + imgHref + "'>" + element.innerHTML;
270+
}
271+
272+
if (bgWindow) bgWindow.getVCard(element.innerHTML, function(vCard)
273+
{
274+
console.debug("displayUsers vcard", vCard);
275+
setAvatar(vCard.avatar ? vCard.avatar : bgWindow.createAvatar(element.innerHTML));
276+
277+
}, function() {
278+
setAvatar(bgWindow.createAvatar(element.innerHTML));
279+
});
280+
281+
element.addEventListener("click", function(e)
268282
{
269283
e.stopPropagation();
270284
var user = e.target;
271285

272286
console.debug("findUsers - click", user.id, user.name, user.title);
273287
_converse.api.chats.open(user.id)
274288
});
275-
}
289+
});
276290

277291
var phones = directoryResults.querySelectorAll(".plugin-directory-phone");
278292

extension/inverse/plugins/info.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -768,7 +768,7 @@
768768
item.ele.setAttribute('data-url', item.url);
769769
item.ele.setAttribute('data-timestamp', item.timestamp);
770770
item.ele.setAttribute('data-type', item.type);
771-
item.ele.title = item.timestamp + ': ' + item.url;
771+
item.ele.title = item.from + ' ' + item.timestamp + ': ' + item.file;
772772
item.ele.innerHTML = item.file || item.url;
773773
item.ele.classList.add(className);
774774
document.body.appendChild(item.ele);

extension/options/settings.js

Lines changed: 31 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -163,29 +163,22 @@ window.addEvent("domready", function () {
163163
enterToClick("convSearchString", "convSearch");
164164
enterToClick("roomsSearchString", "roomsSearch");
165165

166-
if (settings.manifest.useAnonymous)
166+
var setAnonBasicAuth = function()
167167
{
168-
var setAnon = function()
169-
{
170-
if (settings.manifest.username) settings.manifest.username.element.parentElement.style.display = getSetting("useAnonymous", false) ? "none" : "";
171-
if (settings.manifest.password) settings.manifest.password.element.parentElement.style.display = getSetting("useAnonymous", false) ? "none" : "";
172-
if (settings.manifest.register) settings.manifest.register.element.parentElement.style.display = getSetting("useAnonymous", false) ? "none" : "";
173-
}
168+
if (settings.manifest.username) settings.manifest.username.element.parentElement.style.display = getSetting("useAnonymous", false) || getSetting("useBasicAuth", false) ? "none" : "";
169+
if (settings.manifest.password) settings.manifest.password.element.parentElement.style.display = getSetting("useAnonymous", false) || getSetting("useBasicAuth", false) ? "none" : "";
170+
if (settings.manifest.register) settings.manifest.register.element.parentElement.style.display = getSetting("useAnonymous", false) ? "none" : "";
171+
}
172+
setAnonBasicAuth();
174173

175-
settings.manifest.useAnonymous.addEvent("action", setAnon);
176-
setAnon();
174+
if (settings.manifest.useAnonymous)
175+
{
176+
settings.manifest.useAnonymous.addEvent("action", setAnonBasicAuth);
177177
}
178178

179179
if (settings.manifest.useBasicAuth)
180180
{
181-
var setBasicAuth = function()
182-
{
183-
if (settings.manifest.username) settings.manifest.username.element.parentElement.style.display = getSetting("useBasicAuth", false) ? "none" : "";
184-
if (settings.manifest.password) settings.manifest.password.element.parentElement.style.display = getSetting("useBasicAuth", false) ? "none" : "";
185-
}
186-
187-
settings.manifest.useBasicAuth.addEvent("action", setBasicAuth);
188-
setBasicAuth();
181+
settings.manifest.useBasicAuth.addEvent("action", setAnonBasicAuth);
189182
}
190183

191184
if (settings.manifest.convPdf) settings.manifest.convPdf.addEvent("action", function ()
@@ -377,9 +370,25 @@ window.addEvent("domready", function () {
377370

378371
settings.manifest.searchResults.element.innerHTML = "<p/><p/>" + html;
379372

380-
for (var i=0; i<users.length; i++)
373+
users.forEach(function(theUser)
381374
{
382-
document.getElementById(users[i].jid).addEventListener("click", function(e)
375+
var element = document.getElementById(theUser.jid);
376+
377+
var setAvatar = function(imgHref)
378+
{
379+
element.innerHTML = "<img style='width: 22px;' src='" + imgHref + "'>" + element.innerHTML;
380+
}
381+
382+
background.getVCard(theUser.jid, function(vCard)
383+
{
384+
console.debug("displayUsers vcard", vCard);
385+
setAvatar(vCard.avatar ? vCard.avatar : background.createAvatar(element.innerHTML));
386+
387+
}, function() {
388+
setAvatar(background.createAvatar(element.innerHTML));
389+
});
390+
391+
element.addEventListener("click", function(e)
383392
{
384393
e.stopPropagation();
385394
var user = e.target;
@@ -402,7 +411,7 @@ window.addEvent("domready", function () {
402411
}
403412
});
404413

405-
document.getElementById("check-" + users[i].jid).addEventListener("click", function(e)
414+
document.getElementById("check-" + theUser.jid).addEventListener("click", function(e)
406415
{
407416
e.stopPropagation();
408417
var invitation = e.target;
@@ -424,7 +433,7 @@ window.addEvent("domready", function () {
424433
settings.manifest.invitationList.element.value = inviteList.join("\n").trim();
425434
});
426435

427-
document.getElementById("phone-" + users[i].jid).addEventListener("click", function(e)
436+
document.getElementById("phone-" + theUser.jid).addEventListener("click", function(e)
428437
{
429438
e.stopPropagation();
430439
var user = e.target;
@@ -441,7 +450,7 @@ window.addEvent("domready", function () {
441450

442451
} else alert("Phone Extension not configured");
443452
});
444-
}
453+
});
445454
});
446455
});
447456

0 commit comments

Comments
 (0)