diff --git a/appinfo/info.xml b/appinfo/info.xml index 38208a16919..7dea0aa366c 100644 --- a/appinfo/info.xml +++ b/appinfo/info.xml @@ -18,7 +18,7 @@ * 🌉 **Sync with other chat solutions** With [Matterbridge](https://github.com/42wim/matterbridge/) being integrated in Talk, you can easily sync a lot of other chat solutions to Nextcloud Talk and vice-versa. ]]> - 25.0.1 + 25.0.2 AGPL-3.0-or-later Christian Lorang diff --git a/docs/changelogs/changelog-25.md b/docs/changelogs/changelog-25.md index 653de841c5b..a1e03fc6b4a 100644 --- a/docs/changelogs/changelog-25.md +++ b/docs/changelogs/changelog-25.md @@ -5,6 +5,11 @@ # Changelog All notable changes to this project will be documented in this file. +## 25.0.2 – 2026-09-25 +### Fixed +- fix(migration): Correctly check for Index rather than Constraint + [#19540](https://github.com/nextcloud/spreed/pull/19540) + ## 25.0.1 – 2026-09-24 ### Changed - Update dependencies diff --git a/lib/Migration/Version22001Date20250927174738.php b/lib/Migration/Version22001Date20250927174738.php index ef752867382..6d9af18647a 100644 --- a/lib/Migration/Version22001Date20250927174738.php +++ b/lib/Migration/Version22001Date20250927174738.php @@ -14,6 +14,7 @@ /** * Due to a missing return the migration content was never executed. * The changes are reapplied in @see Version25000Date20260923155555 + * and then again by @see Version25000Date20260925166666 */ class Version22001Date20250927174738 extends SimpleMigrationStep { } diff --git a/lib/Migration/Version25000Date20260923155555.php b/lib/Migration/Version25000Date20260923155555.php index e8447c01ccf..3723fd876bb 100644 --- a/lib/Migration/Version25000Date20260923155555.php +++ b/lib/Migration/Version25000Date20260923155555.php @@ -9,35 +9,11 @@ namespace OCA\Talk\Migration; -use Closure; -use OCP\DB\ISchemaWrapper; -use OCP\Migration\IOutput; use OCP\Migration\SimpleMigrationStep; -use Override; +/** + * Replacing @see Version22001Date20250927174738 + * Replaced by @see Version25000Date20260925166666 + */ class Version25000Date20260923155555 extends SimpleMigrationStep { - /** - * @param IOutput $output - * @param Closure(): ISchemaWrapper $schemaClosure - * @param array $options - * @return null|ISchemaWrapper - */ - #[Override] - public function changeSchema(IOutput $output, Closure $schemaClosure, array $options): ?ISchemaWrapper { - /** @var ISchemaWrapper $schema */ - $schema = $schemaClosure(); - - $changed = false; - $table = $schema->getTable('talk_thread_attendees'); - if ($table->hasUniqueConstraint('tta_thread_attendee')) { - $table->removeUniqueConstraint('tta_thread_attendee'); - $changed = true; - } - if (!$table->hasUniqueConstraint('tta_throom_attendee')) { - $table->addUniqueIndex(['thread_id', 'room_id', 'actor_type', 'actor_id'], 'tta_throom_attendee'); - $changed = true; - } - - return $changed ? $schema : null; - } } diff --git a/lib/Migration/Version25000Date20260925166666.php b/lib/Migration/Version25000Date20260925166666.php new file mode 100644 index 00000000000..550610c1d2b --- /dev/null +++ b/lib/Migration/Version25000Date20260925166666.php @@ -0,0 +1,47 @@ +getTable('talk_thread_attendees'); + if ($table->hasIndex('tta_thread_attendee')) { + $table->dropIndex('tta_thread_attendee'); + $changed = true; + } + if (!$table->hasIndex('tta_throom_attendee')) { + $table->addUniqueIndex(['thread_id', 'room_id', 'actor_type', 'actor_id'], 'tta_throom_attendee'); + $changed = true; + } + + return $changed ? $schema : null; + } +} diff --git a/package-lock.json b/package-lock.json index f0b937a7885..d757f777d96 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "talk", - "version": "25.0.1", + "version": "25.0.2", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "talk", - "version": "25.0.1", + "version": "25.0.2", "license": "agpl", "dependencies": { "@matrix-org/olm": "^3.2.15", diff --git a/package.json b/package.json index 0bef2f86a07..e73a6a6080b 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "talk", - "version": "25.0.1", + "version": "25.0.2", "private": true, "description": "", "license": "agpl",