Compare commits

...

9 Commits

Author SHA1 Message Date
Kvan7
e4c347c71b Merge pull request #791 from Kvan7/dev
v0.13.7
2025-12-20 09:49:04 -06:00
kvan7
85b36be1cf [Bug]: Missing app_i18n.json for mod.rune
Fixes #665
2025-12-20 09:32:25 -06:00
kvan7
eaff4d1f68 Map price checking presets
Fixes #729
2025-12-20 09:24:33 -06:00
kvan7
38cff7017d [Bug]: Traditional Chinese elemental resistance affixes not recognized
Fixes #790
2025-12-20 09:22:19 -06:00
kvan7
acb414c62c version bump 2025-12-20 08:50:45 -06:00
kvan7
66b601b8a9 forgot to bump version 2025-12-20 08:42:52 -06:00
kvan7
25c2e2cd5b Remove backspace press when doing stash search
Fixes #694
2025-12-20 08:33:08 -06:00
kvan7
0bb1e91637 Revert to use apt OverlayWindow 2025-12-20 08:32:15 -06:00
kvan7
9cbdc499e3 update drops 2025-12-19 22:45:51 -06:00
27 changed files with 395 additions and 339 deletions

View File

@@ -59,6 +59,7 @@ body:
label: Version label: Version
description: What version of EE2 are you running? You can see this in Settings -> About description: What version of EE2 are you running? You can see this in Settings -> About
options: options:
- 0.13.7
- 0.13.6 - 0.13.6
- 0.13.5 - 0.13.5
- 0.13.4 - 0.13.4
@@ -70,7 +71,7 @@ body:
- 0.11.x - 0.11.x
- 0.10.x - 0.10.x
- Change me - Change me
default: 10 default: 11
validations: validations:
required: true required: true
- type: textarea - type: textarea

View File

@@ -1,6 +1,6 @@
# ![Perfect Jewelers Orb](./renderer/public/images/jeweler.png) Exiled Exchange 2 # ![Perfect Jewelers Orb](./renderer/public/images/jeweler.png) Exiled Exchange 2
![GitHub Downloads (specific asset, latest release)](https://img.shields.io/github/downloads/kvan7/exiled-exchange-2/latest/Exiled-Exchange-2-Setup-0.13.6.exe?style=plastic&link=https%3A%2F%2Ftooomm.github.io%2Fgithub-release-stats%2F%3Fusername%3Dkvan7%26repository%3DExiled-Exchange-2) ![GitHub Downloads (specific asset, latest release)](https://img.shields.io/github/downloads/kvan7/exiled-exchange-2/latest/Exiled-Exchange-2-Setup-0.13.7.exe?style=plastic&link=https%3A%2F%2Ftooomm.github.io%2Fgithub-release-stats%2F%3Fusername%3Dkvan7%26repository%3DExiled-Exchange-2)
![GitHub Tag](https://img.shields.io/github/v/tag/kvan7/exiled-exchange-2?style=plastic&label=latest%20version) ![GitHub Tag](https://img.shields.io/github/v/tag/kvan7/exiled-exchange-2?style=plastic&label=latest%20version)
![GitHub commits since latest release (branch)](https://img.shields.io/github/commits-since/kvan7/exiled-exchange-2/latest/dev?style=plastic) ![GitHub commits since latest release (branch)](https://img.shields.io/github/commits-since/kvan7/exiled-exchange-2/latest/dev?style=plastic)

View File

@@ -20,7 +20,7 @@ export default defineConfig({
}, },
themeConfig: { themeConfig: {
// logo: 'TODO', https://github.com/vuejs/vitepress/issues/1401 // logo: 'TODO', https://github.com/vuejs/vitepress/issues/1401
appVersion: '0.13.6', appVersion: '0.13.7',
github: { github: {
releasesUrl: 'https://github.com/Kvan7/Exiled-Exchange-2/releases' releasesUrl: 'https://github.com/Kvan7/Exiled-Exchange-2/releases'
}, },

12
main/package-lock.json generated
View File

@@ -1,14 +1,14 @@
{ {
"name": "exiled-exchange-2", "name": "exiled-exchange-2",
"version": "0.13.6", "version": "0.13.7",
"lockfileVersion": 3, "lockfileVersion": 3,
"requires": true, "requires": true,
"packages": { "packages": {
"": { "": {
"name": "exiled-exchange-2", "name": "exiled-exchange-2",
"version": "0.13.6", "version": "0.13.7",
"dependencies": { "dependencies": {
"electron-overlay-window": "4.0.1", "electron-overlay-window": "4.0.2",
"uiohook-napi": "1.5.x" "uiohook-napi": "1.5.x"
}, },
"devDependencies": { "devDependencies": {
@@ -3572,9 +3572,9 @@
} }
}, },
"node_modules/electron-overlay-window": { "node_modules/electron-overlay-window": {
"version": "4.0.1", "version": "4.0.2",
"resolved": "https://registry.npmjs.org/electron-overlay-window/-/electron-overlay-window-4.0.1.tgz", "resolved": "https://registry.npmjs.org/electron-overlay-window/-/electron-overlay-window-4.0.2.tgz",
"integrity": "sha512-N+xihP19QaydNHPBz2T+Uv70sj8WUp1xdP/M+4mbjSkZyCsMrLG6r6gIJzS13Ic6eCdyaQE7MFL69z3JwtlF5g==", "integrity": "sha512-HFN/t6k+8/+2QIUQq5bkczEudGAxpsR5GmUbZXbHvHtCZhqHZOMDqPikeP8ZIXQe8wpjTzWo/KUq3eE2hFQwMQ==",
"hasInstallScript": true, "hasInstallScript": true,
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {

View File

@@ -1,6 +1,6 @@
{ {
"name": "exiled-exchange-2", "name": "exiled-exchange-2",
"version": "0.13.6", "version": "0.13.7",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "node build/script.mjs", "dev": "node build/script.mjs",
@@ -20,7 +20,7 @@
}, },
"main": "dist/main.js", "main": "dist/main.js",
"dependencies": { "dependencies": {
"electron-overlay-window": "4.0.1", "electron-overlay-window": "4.0.2",
"uiohook-napi": "1.5.x" "uiohook-napi": "1.5.x"
}, },
"devDependencies": { "devDependencies": {

View File

@@ -63,8 +63,6 @@ export function stashSearch(
overlay.assertGameActive(); overlay.assertGameActive();
clipboard.writeText(text); clipboard.writeText(text);
uIOhook.keyTap(Key.F, [Key.Ctrl]); uIOhook.keyTap(Key.F, [Key.Ctrl]);
// HACK: While https://www.pathofexile.com/forum/view-thread/3854775
uIOhook.keyTap(Key.Backspace);
uIOhook.keyTap(Key.V, [ uIOhook.keyTap(Key.V, [
process.platform === "darwin" ? Key.Meta : Key.Ctrl, process.platform === "darwin" ? Key.Meta : Key.Ctrl,

View File

@@ -33,7 +33,7 @@ export class OverlayWindow {
if (process.argv.includes("--no-overlay")) return; if (process.argv.includes("--no-overlay")) return;
const windowOpts: Electron.BrowserWindowConstructorOptions = { this.window = new BrowserWindow({
icon: path.join(__dirname, process.env.STATIC!, "icon.png"), icon: path.join(__dirname, process.env.STATIC!, "icon.png"),
...OVERLAY_WINDOW_OPTS, ...OVERLAY_WINDOW_OPTS,
width: 800, width: 800,
@@ -43,9 +43,7 @@ export class OverlayWindow {
webviewTag: true, webviewTag: true,
spellcheck: false, spellcheck: false,
}, },
}; });
this.window = new BrowserWindow(windowOpts);
this.window.setMenu( this.window.setMenu(
Menu.buildFromTemplate([ Menu.buildFromTemplate([
@@ -65,7 +63,6 @@ export class OverlayWindow {
this.window.webContents.setWindowOpenHandler((details) => { this.window.webContents.setWindowOpenHandler((details) => {
shell.openExternal(details.url); shell.openExternal(details.url);
return { action: "deny" }; return { action: "deny" };
}); });
} }
@@ -90,10 +87,6 @@ export class OverlayWindow {
assertOverlayActive = () => { assertOverlayActive = () => {
if (!this.isInteractable) { if (!this.isInteractable) {
this.isInteractable = true; this.isInteractable = true;
// Linux needs explicit focus management
if (process.platform === "linux" && this.window) {
this.window.focus();
}
OverlayController.activateOverlay(); OverlayController.activateOverlay();
this.poeWindow.isActive = false; this.poeWindow.isActive = false;
} }
@@ -102,10 +95,6 @@ export class OverlayWindow {
assertGameActive = () => { assertGameActive = () => {
if (this.isInteractable) { if (this.isInteractable) {
this.isInteractable = false; this.isInteractable = false;
// Linux needs to release focus explicitly
if (process.platform === "linux" && this.window) {
this.window.blur();
}
OverlayController.focusTarget(); OverlayController.focusTarget();
this.poeWindow.isActive = true; this.poeWindow.isActive = true;
} }
@@ -164,11 +153,11 @@ export class OverlayWindow {
private handleOverlayAttached = (hasAccess?: boolean) => { private handleOverlayAttached = (hasAccess?: boolean) => {
if (hasAccess === false) { if (hasAccess === false) {
this.logger.write( this.logger.write(
"error [Overlay] PoE is running with administrator rights", "error [Overlay] PoE2 is running with administrator rights",
); );
dialog.showErrorBox( dialog.showErrorBox(
"PoE window - No access", "PoE2 window - No access",
// ---------------------- // ----------------------
"Path of Exile 2 is running with administrator rights.\n" + "Path of Exile 2 is running with administrator rights.\n" +
"\n" + "\n" +

View File

@@ -90,6 +90,7 @@
"mod_explicit": "隨機詞墜", "mod_explicit": "隨機詞墜",
"mod_crafted": "工藝", "mod_crafted": "工藝",
"mod_scourge": "災厄", "mod_scourge": "災厄",
"mod_rune": "Augment",
"unidentified": "未鑑定", "unidentified": "未鑑定",
"veiled": "隱匿", "veiled": "隱匿",
"foil_unique": "貼模傳奇", "foil_unique": "貼模傳奇",

File diff suppressed because one or more lines are too long

View File

@@ -90,6 +90,7 @@
"mod_explicit": "Explizit", "mod_explicit": "Explizit",
"mod_crafted": "Hergestellt", "mod_crafted": "Hergestellt",
"mod_scourge": "Plage", "mod_scourge": "Plage",
"mod_rune": "Augmentations",
"unidentified": "Nicht identifiziert", "unidentified": "Nicht identifiziert",
"veiled": "Verschleiert", "veiled": "Verschleiert",
"foil_unique": "Foil Unique", "foil_unique": "Foil Unique",
@@ -207,8 +208,8 @@
"tag_explicit_delve": "Delve", "tag_explicit_delve": "Delve",
"tag_explicit_veiled": "Verschleiert", "tag_explicit_veiled": "Verschleiert",
"tag_explicit_incursion": "Incursion", "tag_explicit_incursion": "Incursion",
"tag_rune": "Rune", "tag_rune": "Augmentations",
"tag_added_rune": "Rune", "tag_added_rune": "Augmentations",
"tag_sanctum": "Sanctum", "tag_sanctum": "Sanctum",
"tag_desecrated": "Entweihtes", "tag_desecrated": "Entweihtes",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -91,6 +91,7 @@
"mod_explicit": "Explicit", "mod_explicit": "Explicit",
"mod_crafted": "Crafted", "mod_crafted": "Crafted",
"mod_scourge": "Scourge", "mod_scourge": "Scourge",
"mod_rune": "Augment",
"unidentified": "Unidentified", "unidentified": "Unidentified",
"veiled": "Veiled", "veiled": "Veiled",
"foil_unique": "Foil Unique", "foil_unique": "Foil Unique",
@@ -208,8 +209,8 @@
"tag_explicit_delve": "Delve", "tag_explicit_delve": "Delve",
"tag_explicit_veiled": "Veiled", "tag_explicit_veiled": "Veiled",
"tag_explicit_incursion": "Incursion", "tag_explicit_incursion": "Incursion",
"tag_rune": "Rune", "tag_rune": "Augment",
"tag_added_rune": "Rune", "tag_added_rune": "Augment",
"tag_sanctum": "Sanctum", "tag_sanctum": "Sanctum",
"tag_desecrated": "Desecrated", "tag_desecrated": "Desecrated",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -90,6 +90,7 @@
"mod_explicit": "Explícito", "mod_explicit": "Explícito",
"mod_crafted": "Fabricado", "mod_crafted": "Fabricado",
"mod_scourge": "Calamidad", "mod_scourge": "Calamidad",
"mod_rune": "mejora",
"unidentified": "No identificado", "unidentified": "No identificado",
"veiled": "Velado", "veiled": "Velado",
"foil_unique": "Único Brillante", "foil_unique": "Único Brillante",
@@ -207,8 +208,8 @@
"tag_explicit_delve": "Excursión", "tag_explicit_delve": "Excursión",
"tag_explicit_veiled": "Velado", "tag_explicit_veiled": "Velado",
"tag_explicit_incursion": "Incursión", "tag_explicit_incursion": "Incursión",
"tag_rune": "Runa", "tag_rune": "mejora",
"tag_added_rune": "Runa", "tag_added_rune": "mejora",
"tag_sanctum": "Sanctum", "tag_sanctum": "Sanctum",
"tag_desecrated": "profanado", "tag_desecrated": "profanado",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -462,6 +462,30 @@
], ],
"items": [] "items": []
}, },
{
"query": [
"ITEM::Regal Shard"
],
"items": [
"ITEM::Regal Orb"
]
},
{
"query": [
"ITEM::Artificer's Shard"
],
"items": [
"ITEM::Artificer's Orb"
]
},
{
"query": [
"ITEM::Chance Shard"
],
"items": [
"ITEM::Orb of Chance"
]
},
{ {
"query": [ "query": [
"ITEM::Inscribed Ultimatum" "ITEM::Inscribed Ultimatum"

View File

@@ -468,6 +468,30 @@
], ],
"items": [] "items": []
}, },
{
"query": [
"ITEM::Regal Shard"
],
"items": [
"ITEM::Regal Orb"
]
},
{
"query": [
"ITEM::Artificer's Shard"
],
"items": [
"ITEM::Artificer's Orb"
]
},
{
"query": [
"ITEM::Chance Shard"
],
"items": [
"ITEM::Orb of Chance"
]
},
// Trials // Trials
{ {
"query": [ "query": [

View File

@@ -90,6 +90,7 @@
"mod_explicit": "明示", "mod_explicit": "明示",
"mod_crafted": "クラフト", "mod_crafted": "クラフト",
"mod_scourge": "スカージ", "mod_scourge": "スカージ",
"mod_rune": "オーグメント",
"unidentified": "未鑑定", "unidentified": "未鑑定",
"veiled": "ヴェール", "veiled": "ヴェール",
"foil_unique": "フォイルユニーク", "foil_unique": "フォイルユニーク",
@@ -203,8 +204,8 @@
"tag_explicit_delve": "デルヴ", "tag_explicit_delve": "デルヴ",
"tag_explicit_veiled": "ヴェール", "tag_explicit_veiled": "ヴェール",
"tag_explicit_incursion": "インカージョン", "tag_explicit_incursion": "インカージョン",
"tag_rune": "ルーン", "tag_rune": "オーグメント",
"tag_added_rune": "ルーン", "tag_added_rune": "オーグメント",
"tag_sanctum": "Sanctum", "tag_sanctum": "Sanctum",
"tag_desecrated": "冒涜", "tag_desecrated": "冒涜",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -87,6 +87,7 @@
"mod_explicit": "부여된 속성", "mod_explicit": "부여된 속성",
"mod_crafted": "제작된 속성", "mod_crafted": "제작된 속성",
"mod_scourge": "스컬지", "mod_scourge": "스컬지",
"mod_rune": "증강물",
"unidentified": "미확인", "unidentified": "미확인",
"veiled": "장막 속성", "veiled": "장막 속성",
"foil_unique": "반짝이", "foil_unique": "반짝이",
@@ -200,8 +201,8 @@
"tag_explicit_delve": "탐광", "tag_explicit_delve": "탐광",
"tag_explicit_veiled": "장막", "tag_explicit_veiled": "장막",
"tag_explicit_incursion": "기습", "tag_explicit_incursion": "기습",
"tag_rune": "", "tag_rune": "증강물",
"tag_added_rune": "", "tag_added_rune": "증강물",
"tag_sanctum": "성역", "tag_sanctum": "성역",
"tag_desecrated": "훼손된", "tag_desecrated": "훼손된",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -89,6 +89,7 @@
"mod_explicit": "Explícito", "mod_explicit": "Explícito",
"mod_crafted": "Fabricado", "mod_crafted": "Fabricado",
"mod_scourge": "Flagelo", "mod_scourge": "Flagelo",
"mod_rune": "aprimoramento",
"unidentified": "Não identificado", "unidentified": "Não identificado",
"veiled": "Velado", "veiled": "Velado",
"foil_unique": "Único Brilhante", "foil_unique": "Único Brilhante",
@@ -201,7 +202,7 @@
"tag_explicit_delve": "Exploração", "tag_explicit_delve": "Exploração",
"tag_explicit_veiled": "Velado", "tag_explicit_veiled": "Velado",
"tag_explicit_incursion": "Incursão", "tag_explicit_incursion": "Incursão",
"tag_rune": "Runa", "tag_rune": "aprimoramento",
"tag_desecrated": "Profanado" "tag_desecrated": "Profanado"
}, },
"online_filter": { "online_filter": {

File diff suppressed because one or more lines are too long

View File

@@ -106,6 +106,7 @@
"mod_explicit": "Свойство", "mod_explicit": "Свойство",
"mod_crafted": "Мастерский", "mod_crafted": "Мастерский",
"mod_scourge": "Преображённое", "mod_scourge": "Преображённое",
"mod_rune": "усилителей",
"unidentified": "Неопознанный", "unidentified": "Неопознанный",
"veiled": "Завуалирован", "veiled": "Завуалирован",
"foil_unique": "Реликвия", "foil_unique": "Реликвия",
@@ -219,8 +220,8 @@
"tag_explicit_delve": "Спуск", "tag_explicit_delve": "Спуск",
"tag_explicit_veiled": "Завуалирован", "tag_explicit_veiled": "Завуалирован",
"tag_explicit_incursion": "Вмешательство", "tag_explicit_incursion": "Вмешательство",
"tag_rune": "Руна", "tag_rune": "усилителей",
"tag_added_rune": "Руна", "tag_added_rune": "усилителей",
"tag_sanctum": "Святилище", "tag_sanctum": "Святилище",
"tag_desecrated": "Очернённый", "tag_desecrated": "Очернённый",
"tag_skill": "Skill", "tag_skill": "Skill",

File diff suppressed because one or more lines are too long

View File

@@ -302,8 +302,8 @@ export function createFilters(
if ( if (
!item.isUnmodifiable && !item.isUnmodifiable &&
// Ignore tablet since only corrupted are rares, and we want to compare to them // Ignore waystones now(prev tablets) since if there is one that is corrupted with right mods buyer wont care
item.category !== ItemCategory.Tablet && item.category !== ItemCategory.Map &&
(item.rarity === ItemRarity.Normal || (item.rarity === ItemRarity.Normal ||
item.rarity === ItemRarity.Magic || item.rarity === ItemRarity.Magic ||
item.rarity === ItemRarity.Rare || item.rarity === ItemRarity.Rare ||

View File

@@ -25,7 +25,6 @@ export class Cache {
if (!currency || this.currency === currency) return; if (!currency || this.currency === currency) return;
this.currency = currency; this.currency = currency;
this.cached.clear(); this.cached.clear();
console.log("Purged cache");
} }
static deriveTtl(...limits: RateLimiter[]): number { static deriveTtl(...limits: RateLimiter[]): number {