Refactor Google Meet Transcripts Extension for Local Use
- Removed all cloud-related functionalities, including login prompts and token handling. - Disabled Laxis cloud features, ensuring no data is sent to external servers. - Updated manifest to reflect the new local-only functionality. - Added a new Python server to handle transcripts locally, including WebSocket support. - Implemented storage management for transcripts, including deduplication and file writing. - Created a smoke test for the WebSocket server to simulate transcript updates. - Updated README with setup instructions and usage details for the new local server.
This commit is contained in:
@@ -12,8 +12,8 @@ const addTutorialPanel = () => {
|
||||
t.style.display = "flex", t.style.alignItems = "center", t.style.paddingLeft = "8px";
|
||||
const i = document.createElement("img");
|
||||
i.src = chrome.runtime.getURL("image/logo.png"), i.addEventListener("click", (function() {
|
||||
window.open(`${domainUrl}/login`)
|
||||
})), i.alt = "none", i.style.height = "30px", i.style.width = "90px", i.style.marginLeft = "-16px", i.style.cursor = "pointer", i.style.zIndex = "999", t.appendChild(i), e.appendChild(t);
|
||||
void 0 /* لینک لاگین laxis حذف شد */
|
||||
})), i.alt = "none", i.style.height = "30px", i.style.width = "90px", i.style.marginLeft = "0px", i.style.cursor = "pointer", i.style.zIndex = "999", t.appendChild(i), e.appendChild(t);
|
||||
const o = document.createElement("div");
|
||||
o.style.display = "flex", o.style.alignItems = "center";
|
||||
const d = document.createElement("div");
|
||||
@@ -42,7 +42,7 @@ const addTutorialPanel = () => {
|
||||
const g = createCaptionOnIcon();
|
||||
y.appendChild(g), u.appendChild(y), s.appendChild(u);
|
||||
let h = document.createElement("div");
|
||||
h.style.textAlign = "center", h.innerHTML = "Laxis supports 69 languages in Google Meet", s.appendChild(h);
|
||||
h.style.textAlign = "center", h.innerHTML = "Supports 69 languages in Google Meet", s.appendChild(h);
|
||||
let x = document.createElement("div");
|
||||
x.style.paddingTop = "32px", x.innerHTML = "Download", s.appendChild(x);
|
||||
let C = document.createElement("div");
|
||||
@@ -52,7 +52,7 @@ const addTutorialPanel = () => {
|
||||
let E = createDownloadIcon();
|
||||
v.appendChild(E), C.appendChild(v), s.appendChild(C);
|
||||
let b = document.createElement("div");
|
||||
b.style.textAlign = "center", b.innerHTML = "Laxis provides multiple formats for downloading the transcripts.", s.appendChild(b), l.appendChild(s), n.appendChild(l), dragElement(n)
|
||||
b.style.textAlign = "center", b.innerHTML = "Download transcripts in multiple formats.", s.appendChild(b), l.appendChild(s), n.appendChild(l), dragElement(n)
|
||||
}
|
||||
};
|
||||
|
||||
@@ -68,9 +68,7 @@ function addMiniPanel() {
|
||||
const n = document.createElement("div");
|
||||
n.setAttribute("name", "laxis-rootHeader"), n.style.cursor = "move", n.classList.add("col-12"), n.style.height = "50px", n.style.width = "50px", n.style.marginBottom = "-10px", n.style.cursor = "move", n.style.zIndex = "999";
|
||||
const l = document.createElement("img");
|
||||
l.src = chrome.runtime.getURL("image/logo.png"), l.addEventListener("click", (function() {
|
||||
window.open(`${domainUrl}/login`)
|
||||
})), l.style.cursor = "pointer", l.style.marginTop = "10px", l.style.height = "25px", l.style.width = "75px", l.style.marginLeft = "-16px", l.alt = "none", n.appendChild(l), t.appendChild(n);
|
||||
l.src = chrome.runtime.getURL("image/logo128x128.png"), l.style.cursor = "pointer", l.style.marginTop = "5px", l.style.height = "40px", l.style.width = "40px", l.style.marginLeft = "5px", l.alt = "none", n.appendChild(l), t.appendChild(n);
|
||||
const i = document.createElement("div");
|
||||
i.title = "Expand", i.id = "laxis-expandPanel", i.classList.add("miniButtonContainer"), i.addEventListener("click", addTutorialPanel);
|
||||
const o = createExpandIcon();
|
||||
@@ -112,8 +110,8 @@ const addCaptionPanel = () => {
|
||||
p.style.display = "flex", p.style.alignItems = "center", p.style.paddingLeft = "8px";
|
||||
const m = document.createElement("img");
|
||||
m.src = chrome.runtime.getURL("image/logo.png"), m.alt = "none", m.addEventListener("click", (function() {
|
||||
window.open(`${domainUrl}/login`)
|
||||
})), m.style.height = "30px", m.style.marginLeft = "-16px", m.style.cursor = "pointer", m.style.zIndex = "999", p.appendChild(m), r.appendChild(p);
|
||||
void 0 /* لینک لاگین laxis حذف شد */
|
||||
})), m.style.height = "30px", m.style.marginLeft = "0px", m.style.cursor = "pointer", m.style.zIndex = "999", p.appendChild(m), r.appendChild(p);
|
||||
const u = document.createElement("div");
|
||||
u.style.display = "flex", u.style.alignItems = "center";
|
||||
const y = document.createElement("div");
|
||||
@@ -144,7 +142,6 @@ const addCaptionPanel = () => {
|
||||
const I = document.createElement("div");
|
||||
I.style.width = "300px", I.style.backgroundColor = "#292c35", I.style.paddingTop = "8px";
|
||||
const w = document.createElement("div");
|
||||
w.id = "login-prompt", w.style.display = "none", w.style.margin = "0px 8px", w.style.padding = "4px", w.style.textAlign = "center", w.addEventListener("click", signup), w.style.cursor = "pointer", w.innerHTML = "Please <span style='color:#2196f3'>log in</span> to enable autosave to Laxis Cloud.", w.style.borderRadius = "12px", w.style.border = "1px solid rgba(255, 255, 255, 0.5)", w.style.backgroundColor = "#454953", w.style.color = "#ffffff", w.style.fontSize = "10px";
|
||||
const T = document.createElement("div");
|
||||
T.id = "google-meet-quota", T.style.display = "none", T.style.margin = "0px 8px", T.style.padding = "4px", T.style.textAlign = "center", T.addEventListener("click", upgrade), T.style.cursor = "pointer", T.innerHTML = "Used Google Meet Quota: ", T.style.borderRadius = "12px", T.style.border = "1px solid rgba(255, 255, 255, 0.5)", T.style.backgroundColor = "#454953", T.style.color = "#ffffff", T.style.fontSize = "10px";
|
||||
const M = document.createElement("div");
|
||||
@@ -192,13 +189,11 @@ const addCaptionPanel = () => {
|
||||
n.className = "modal-header", n.innerHTML = "Download", t.appendChild(n);
|
||||
let l = document.createElement("div"),
|
||||
i = document.createElement("div");
|
||||
i.className = "modal-body", i.innerHTML = "File Type<select name='extension' id='extension' value='txt'><option value='txt'>txt</option><option value='app'>Laxis Cloud</option><option value='doc'>doc</option><option value='pdf'>pdf</option></select>", l.appendChild(i);
|
||||
let o = document.createElement("div");
|
||||
o.className = "modal-body", o.innerHTML = "<div>Highlights</div><div><input type='checkbox' name='highlightCheck' id='highlightCheck' checked='true'/></div>", l.appendChild(o);
|
||||
let d = document.createElement("div");
|
||||
d.className = "modal-body", d.innerHTML = "<div>Timestamps</div><div><input type='checkbox' name='timestampCheck' id='timestampCheck'/></div>", l.appendChild(d);
|
||||
let a = document.createElement("div");
|
||||
a.className = "modal-body", a.title = "Autosave to Laxis every 5 minutes", a.style.cursor = "help", a.innerHTML = "<div>Autosave to Laxis Cloud</div><div><input type='checkbox' name='autoSaveCheck' id='autoSaveCheck'/></div>", l.appendChild(a), t.appendChild(l);
|
||||
let s = document.createElement("div");
|
||||
s.className = "modal-footer";
|
||||
let c = document.createElement("button");
|
||||
|
||||
Reference in New Issue
Block a user