Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion data/devices/ayn/odin2.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# yaml-language-server: $schema=../../../schema/device.json
name: Odin 2
codenames: [odin2]
aliases: [Odin 2]
released: 2023
soc: Qualcomm Dragonwing™ QCS8550 (QCS8550)
type: handheld
Expand Down
1 change: 0 additions & 1 deletion data/devices/ayn/odin2mini.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,6 @@
# yaml-language-server: $schema=../../../schema/device.json
name: Odin2 Mini
codenames: [odin2mini]
aliases: [Odin2 Mini]
released: 2024
soc: Qualcomm Dragonwing™ QCS8550 (QCS8550)
type: handheld
Expand Down
2 changes: 1 addition & 1 deletion data/devices/xiaomi/davinci.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=../../../schema/device.json
name: Mi 9T
codenames: [davinci]
aliases: [Redmi K20 (China), Redmi K20 (India), M1903F10G, M1903F10A, M1903F10C, M1903F10I, Mi 9T, M1903F10T]
aliases: [Redmi K20 (China), Redmi K20 (India), M1903F10G, M1903F10A, M1903F10C, M1903F10I, M1903F10T]
released: 2019
soc: Qualcomm SM7150-AA Snapdragon 730
hardware: [cellular, fingerprint, nfc]
Expand Down
2 changes: 1 addition & 1 deletion data/devices/xiaomi/gauguin.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=../../../schema/device.json
name: Mi 10T Lite 5G
codenames: [gauguin]
aliases: [Mi 10i 5G, Redmi Note 9 Pro 5G, M2007J17G, M2007J17I, M2007J17C, Mi 10i, Mi 10T Lite 5G, Mi 10T Lite]
aliases: [Mi 10i 5G, Redmi Note 9 Pro 5G, M2007J17G, M2007J17I, M2007J17C, Mi 10i, Mi 10T Lite]
released: 2020
soc: Qualcomm SM7225 Snapdragon 750G 5G
hardware: [5g, cellular, fingerprint, nfc]
Expand Down
2 changes: 1 addition & 1 deletion data/devices/xiaomi/haydn.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=../../../schema/device.json
name: Mi 11i
codenames: [haydn]
aliases: [Redmi K40 Pro, Redmi K40 Pro+, Mi 11X Pro, M2012K11G, M2012K11C, M2012K11I, Mi 11i]
aliases: [Redmi K40 Pro, Redmi K40 Pro+, Mi 11X Pro, M2012K11G, M2012K11C, M2012K11I]
released: 2021
soc: Qualcomm SM8350 Snapdragon 888
hardware: [5g, cellular, fingerprint, nfc]
Expand Down
2 changes: 1 addition & 1 deletion data/devices/xiaomi/munch.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=../../../schema/device.json
name: POCO F4
codenames: [munch]
aliases: [Redmi K40S, 22021211RG, 22021211RI, 22021211RC, POCO F4]
aliases: [Redmi K40S, 22021211RG, 22021211RI, 22021211RC]
released: 2022
soc: Qualcomm SM8250-AC Snapdragon 870
hardware: [5g, cellular, fingerprint, nfc]
Expand Down
2 changes: 1 addition & 1 deletion data/devices/xiaomi/peridot.yml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# yaml-language-server: $schema=../../../schema/device.json
name: POCO F6
codenames: [peridot]
aliases: [Redmi Turbo 3, 24069PC21G, 24069PC21I, 24069RA21C, POCO F6]
aliases: [Redmi Turbo 3, 24069PC21G, 24069PC21I, 24069RA21C]
released: 2024
soc: Qualcomm SM8635 Snapdragon 8s Gen3
hardware: [5g, cellular, fingerprint, nfc]
Expand Down
4 changes: 3 additions & 1 deletion scripts/import/store.js
Original file line number Diff line number Diff line change
Expand Up @@ -128,7 +128,9 @@ function fillBootloader(current, { unlock, notes, source }) {
function fillGaps(brand, current, { aliases, bootloader = {}, ...rest }) {
for (const [key, value] of Object.entries(deviceFields(rest))) current[key] ??= value;
fillBootloader(current.bootloader, bootloader);
const newAliases = unclaimed(brand, aliases);
const newAliases = unclaimed(brand, aliases).filter(
(alias) => alias.toLowerCase() !== current.name.toLowerCase(),
);
if (newAliases.length) current.aliases = [...(current.aliases ?? []), ...newAliases];
claim(brand, newAliases);
}
Expand Down
7 changes: 7 additions & 0 deletions tests/import/store.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,13 @@ test('a name that opens with another brand we list goes to that brand', () => {
assert.ok(!existsSync(join(process.env.DATA_DIR, 'devices/tidy/rocket.yml')));
});

test("a device's own name never turns up as one of its aliases", () => {
upsertDevice('Acme', { name: 'Comet', codenames: ['c1'] });
upsertDevice('Acme', { name: 'Comet Max', codenames: ['c1'], aliases: ['COMET', 'Comet Max'] });
const file = join(process.env.DATA_DIR, 'devices/acme/c1.yml');
assert.deepEqual(parse(readFileSync(file, 'utf8')).aliases, ['Comet Max']);
});

test('a source that loses a fifth of its devices fails and leaves the file alone', () => {
writeUpstream('floor', rows(10));
assert.throws(() => writeUpstream('floor', rows(7)), /only 7 active devices, last import had 10/);
Expand Down
Loading