Skip to content

Commit 4750bf7

Browse files
committed
20250515_00 Release
- Version 1.0.5 - Made the Download Icon/Button dynamically positioned. - Changed Icons - Installation/Uninstallation much smoother now.
1 parent e2cff20 commit 4750bf7

File tree

4 files changed

+59
-133
lines changed

4 files changed

+59
-133
lines changed

BUILDING.md

Lines changed: 0 additions & 113 deletions
This file was deleted.

CHANGELOG.md

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,13 @@
11
# Changelog
22

3-
## 2025/04/29 v1.0.5
3+
## 2025/05/15 v1.0.5
44

55
- Changed to new icons
66
- Changed spacing on the ChatGPT UI Download button, was covering "Canvas" button.
7+
- Button icon now dynamically positions itself to the left of the standard
8+
OpenAI Web UI interface elements like Casvas, Share, "Stacked Dots" for archive/delete, and
9+
User Settings.
10+
- Icon/button will change positiojn based on the OpenAI Web UI elements.
711

812
## 2025/03/19 v1.0.4
913

LogGPT-conv-export.js

Lines changed: 33 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -159,26 +159,50 @@ clog(`[debug] iconURL: ${iconURL}`);
159159
const iconImage = document.createElement("img");
160160
iconImage.src = iconURL;
161161
iconImage.alt = "Download";
162+
// Set icon size to 32x32px
163+
iconImage.style.width = "32px";
164+
iconImage.style.height = "32px";
162165
saveButton.appendChild(iconImage);
163166

164-
// Image icon position
165-
saveButton.style.position = "fixed";
166-
saveButton.style.top = "0.8em";
167-
saveButton.style.right = "15em";
168-
saveButton.style.zIndex = "9999";
167+
// Remove fixed positioning and set button size to 96x32px (3x32px)
168+
saveButton.style.position = "";
169+
saveButton.style.top = "";
170+
saveButton.style.right = "";
171+
saveButton.style.zIndex = "";
172+
saveButton.style.width = "48px";
173+
saveButton.style.height = "32px";
174+
saveButton.style.background = "none";
175+
saveButton.style.border = "none";
176+
saveButton.style.padding = "0";
177+
saveButton.style.cursor = "pointer";
178+
saveButton.style.display = "flex";
179+
saveButton.style.alignItems = "center";
180+
saveButton.style.justifyContent = "center";
181+
182+
// Function to inject the button as the left-most item in the conversation header actions
183+
function injectSaveButton() {
184+
const headerActions = document.getElementById("conversation-header-actions");
185+
if (headerActions && !headerActions.contains(saveButton)) {
186+
headerActions.insertBefore(saveButton, headerActions.firstChild);
187+
}
188+
}
169189

170-
// Insert a save button into your page
190+
// Monitor the thread ID and inject/remove button as needed
171191
let currentThreadId = -1;
172192
setInterval(() => {
173-
// Monitor the thread ID and delete it if it cannot be obtained
174193
const threadId = getThreadId();
175194
if (currentThreadId != threadId) {
176195
currentThreadId = threadId;
177-
if (threadId != null) document.body.appendChild(saveButton);
178-
else if (saveButton.parentNode) {
196+
if (threadId != null) {
197+
injectSaveButton();
198+
} else if (saveButton.parentNode) {
179199
saveButton.parentNode.removeChild(saveButton);
180200
}
181201
}
202+
// Re-inject periodically in case the header is re-rendered
203+
if (currentThreadId != null) {
204+
injectSaveButton();
205+
}
182206
}, 1000);
183207

184208
async function getConversation(threadId) {

README.md

Lines changed: 21 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# LogGPT
22

3-
It appears the security policy changes with Apple and I have managed to get teh app submitted to the App Store. There are also no time restrictions on having to reset the Allow Unsigned extensions anymore, though I could be wrong, in fact it seems to install and stay installed and function now without having to allow for unsigned extensions. I have not been able to try this out, but am adding a signed binary compile using my valid Apple Developer Certificate to the repo.
3+
It appears the security policy changes with Apple and I have managed to get the app submitted to the App Store. There are also no time restrictions on having to reset the Allow Unsigned extensions anymore, though I could be wrong, in fact it seems to install and stay installed and function now without having to allow for unsigned extensions. I have not been able to try this out, but am adding a signed binary compile using my valid Apple Developer Certificate to the repo.
44

55
![LogGPT Icon](./icons/LogGPT.png)
66

@@ -13,18 +13,24 @@ It appears the security policy changes with Apple and I have managed to get teh
1313
- [Features](#features)
1414
- [Safari Extension](#safari-extension)
1515
- [Why Use It?](#why-use-it)
16-
- [Manual Installation for Safari](#manual-installation-for-safari)
1716
- [Using the Extension](#using-the-extension)
1817
- [Uninstalling the Extension](#uninstalling-the-extension)
1918
- [Build It Yourself](#build-it-yourself)
2019
- [If You Build It Yourself](#if-you-build-it-yourself)
2120
- [Support](#support)
21+
- [Changelog](#changelog)
22+
- [2025-04-29 v1.0.5](#2025-04-29-v105)
2223
- [Credits](#credits)
2324

2425
## Project Update
2526

26-
This project is a utility designed to make exporting ChatGPT conversation history in JSON format simple and efficient. It’s a straightforward tool that I hoped to share freely for anyone to use and improve upon, while also showcasing my work to potential employers or clients. The extension has been submitted to Apple fro review and after being rejected last week because it looked too much like ChatGPT and a ew other reasons, I have changed the Application Icons and a few other things to make help it pass teh App Store review process.
27+
This project is a utility designed to make exporting ChatGPT conversation history in JSON format simple and efficient. It’s a straightforward tool that I hoped to share freely for anyone to use and improve upon, while also showcasing my work to potential employers or clients. The extension has been submitted to Apple for review and after being rejected last week because it looked too much like ChatGPT and a few other reasons, I have changed the Application Icons and a few other things to help it pass the App Store review process.
2728

29+
**Recent UI Update:**
30+
31+
- The export/save button is now visually integrated as the left-most button in the ChatGPT conversation header bar (not fixed-positioned).
32+
- The button size is now 48x32px, with a 32x32px icon for improved consistency and usability.
33+
- The button will always appear with the other action buttons and adapts to dynamic page changes.
2834

2935
## Export and preserve your ChatGPT conversation logs easily
3036

@@ -33,16 +39,18 @@ This extension allows users to download complete conversation logs from OpenAI
3339
## Features
3440

3541
- Full conversation export to JSON format
36-
- Supports cross-browser compatibility for Safari, Chrome, and Firefox
42+
- Save/export button is now seamlessly integrated into the ChatGPT conversation header bar as the left-most action button
43+
- Button size is 48x32px with a 32x32px icon, matching the style of other header actions
44+
- Robust injection logic ensures the button remains visible even if the page content changes dynamically
45+
- Supports browser compatibility for Safari
3746
- Preserves chat logs for documentation, import, and analysis
3847
- Prioritizes user privacy: **no tracking or data collection**
3948

4049
## Safari Extension
4150

42-
There are three way to get this extension:
51+
There are two ways to get this extension:
4352

4453
1. Buy it on the App Store. *preferred* or if you install it manually, please consider [supporting](#support) my work.
45-
1. Download the LogGPT.pkg.zip file and install it manually.
4654
1. Download the LogGPT repository and build it yourself.
4755

4856
Obviously the best way is to buy it on the App Store, which I would prefer as a lot of effort went into this very simple extension. But if you want to build it yourself, you can do that too.
@@ -57,9 +65,9 @@ A version may be added to the Apple App Store, with a small fee to cover Apple D
5765

5866
### Using the Extension
5967

60-
1. Open a ChatGPT session and click the extension icon ![download icon](./icons/download-icon.svg) browser window of your ChatGPT session. It will only be visible in ChatGPT. The Tool bar ICon wil show up when teh extension is loaded, but is not active at this time.
61-
1. Simply press the icon in the upper right of your CharGPT session in Safari.
62-
The session will download in JSON format to your `Downloads` folder.
68+
1. Open a ChatGPT session in your browser.
69+
2. The export/save button ![download icon](./icons/download-icon.svg) will appear as the **left-most button in the conversation header bar** (next to the other action buttons, not floating or fixed in the viewport).
70+
3. Click the export/save button to download the current conversation as a JSON file to your `Downloads` folder.
6371

6472
- While the extension is active, the icon in the Menu Bar will be "on" and when inactive it will be greyed out.
6573

@@ -76,14 +84,16 @@ A version may be added to the Apple App Store, with a small fee to cover Apple D
7684
You will need a copy of Xcode, you can get it and this extension on the App Store.
7785

7886
[The Xcode project file is here.](https://github.com/unixwzrd/chatgpt-chatlog-export/tree/main/LogGPT)) Clone the repository and try
87+
7988
```bash
8089
git clone https://github.com/unixwzrd/chatgpt-chatlog-export.git chatgpt-jason
8190
cd chatgpt-jason
8291
xcodebuild build -project 'LogGPT.xcodeproj'
8392
```
93+
8494
### If You Build It Yourself
8595

86-
You will likely need to check the "Allow Unsigned Extensions" checkbox in Safari to run, unless you can sign it yourself. I have uploaded a signed version, it is a package and would appreciate it if someone could test it out. SO this step should no longer ne necessary and you will have to do is download teh .pkg file and install it.
96+
You will likely need to check the "Allow Unsigned Extensions" checkbox in Safari to run, unless you can sign it yourself. I have uploaded a signed version, it is a package and would appreciate it if someone could test it out. So this step should no longer necessary and you will have to do is download the .pkg file and install it.
8797

8898
Again, I would appreciate it if you could buy one on the App Store or if you are feeling generous, buy me a coffee.
8999

@@ -98,6 +108,7 @@ Visit [Distributed Thinking Systems LLC](https://unixwzrd.ai/) for information a
98108
## Changelog
99109

100110
### 2025-04-29 v1.0.5
111+
101112
- Changed to new icons
102113
- Changed spacing on the ChatGPT UI Download button, was covering "Canvas" button.
103114

0 commit comments

Comments
 (0)