Merge branch 'prep-release-1.0' into 'main'

Prep release 1.0

See merge request mysocialportal/fediverse-archiving-tools!7
This commit is contained in:
HankG 2022-04-08 17:24:51 +00:00
commit a8f78f6242
48 changed files with 95 additions and 65 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 619 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 810 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

View file

@ -10,14 +10,14 @@ import 'src/settings/settings_controller.dart';
void main() async { void main() async {
WidgetsFlutterBinding.ensureInitialized(); WidgetsFlutterBinding.ensureInitialized();
final logPath = await setupLogging(); final logPath = await setupLogging();
Logger.root.info('Starting Friendica Archive Browser'); Logger.root.info('Starting Fediverse Archive Browser');
final settingsController = SettingsController(logPath: logPath); final settingsController = SettingsController(logPath: logPath);
await settingsController.loadSettings(); await settingsController.loadSettings();
runApp(FriendicaArchiveBrowser(settingsController: settingsController)); runApp(FediverseArchiveBrowser(settingsController: settingsController));
} }
Future<String> setupLogging() async { Future<String> setupLogging() async {
final logFilePath = await getTempFile('friendica_archive_browser_', '.log'); final logFilePath = await getTempFile('fediverse_archive_browser', '.log');
final logFile = File(logFilePath); final logFile = File(logFilePath);
Logger.root.level = Level.ALL; Logger.root.level = Level.ALL;
Logger.root.onRecord.listen((event) { Logger.root.onRecord.listen((event) {

View file

@ -11,10 +11,10 @@ import 'home.dart';
import 'settings/settings_controller.dart'; import 'settings/settings_controller.dart';
/// The Widget that configures your application. /// The Widget that configures your application.
class FriendicaArchiveBrowser extends StatelessWidget { class FediverseArchiveBrowser extends StatelessWidget {
static const minAppSize = Size(915, 700); static const minAppSize = Size(915, 700);
const FriendicaArchiveBrowser({ const FediverseArchiveBrowser({
Key? key, Key? key,
required this.settingsController, required this.settingsController,
}) : super(key: key); }) : super(key: key);
@ -44,8 +44,8 @@ class FriendicaArchiveBrowser extends StatelessWidget {
], ],
onGenerateTitle: (BuildContext context) => onGenerateTitle: (BuildContext context) =>
AppLocalizations.of(context)!.appTitle, AppLocalizations.of(context)!.appTitle,
theme: FriendicaArchiveBrowserTheme.light, theme: FediverseArchiveBrowserTheme.light,
darkTheme: FriendicaArchiveBrowserTheme.dark, darkTheme: FediverseArchiveBrowserTheme.dark,
themeMode: settingsController.themeMode, themeMode: settingsController.themeMode,
scrollBehavior: AppScrollingBehavior(), scrollBehavior: AppScrollingBehavior(),
home: MultiProvider( home: MultiProvider(

View file

@ -44,7 +44,7 @@ class MediaWrapperComponent extends StatelessWidget {
if (mediaAttachment.explicitType == AttachmentMediaType.video) { if (mediaAttachment.explicitType == AttachmentMediaType.video) {
final title = "Video (click to play): " + mediaAttachment.title; final title = "Video (click to play): " + mediaAttachment.title;
final thumbnailImageResult = _uriToImage( final thumbnailImageResult = _uriToImage(
mediaAttachment.thumbnailUri, archiveService.pathMappingService, mediaAttachment.thumbnailUri.toString(), archiveService.pathMappingService,
imageTypeName: 'thumbnail image'); imageTypeName: 'thumbnail image');
if (thumbnailImageResult.image != null) { if (thumbnailImageResult.image != null) {
return _createFinalWidget( return _createFinalWidget(
@ -110,13 +110,13 @@ class MediaWrapperComponent extends StatelessWidget {
} }
} }
_ImageAndPathResult _uriToImage(Uri uri, PathMappingService mapper, _ImageAndPathResult _uriToImage(String uri, PathMappingService mapper,
{String imageTypeName = 'image'}) { {String imageTypeName = 'image'}) {
if (uri.toString().startsWith('https://interncache')) { if (uri.startsWith('https://interncache')) {
return _ImageAndPathResult.none(); return _ImageAndPathResult.none();
} }
if (uri.scheme.startsWith('http')) { if (uri.startsWith('http')) {
final networkUrl = uri.toString(); final networkUrl = uri.toString();
try { try {
return _ImageAndPathResult(Image.network(networkUrl), networkUrl); return _ImageAndPathResult(Image.network(networkUrl), networkUrl);
@ -127,7 +127,7 @@ class MediaWrapperComponent extends StatelessWidget {
return _ImageAndPathResult.none(); return _ImageAndPathResult.none();
} }
if (uri.path.endsWith('mp4')) { if (uri.endsWith('mp4')) {
return _ImageAndPathResult.none(); return _ImageAndPathResult.none();
} }
@ -171,13 +171,13 @@ class MediaWrapperComponent extends StatelessWidget {
return InkWell(onTap: onTap, child: imageWidget); return InkWell(onTap: onTap, child: imageWidget);
} }
Uri _calculatePath(ArchiveServiceProvider archiveService) { String _calculatePath(ArchiveServiceProvider archiveService) {
final url = mediaAttachment.uri.toString(); final url = mediaAttachment.uri.toString();
String basePath = ''; String basePath = '';
if (url.startsWith('http')) { if (url.startsWith('http')) {
final localCacheFile = archiveService.getImageByUrl(url); final localCacheFile = archiveService.getImageByUrl(url);
if (localCacheFile.isFailure) { if (localCacheFile.isFailure) {
return mediaAttachment.uri; return mediaAttachment.uri.toString();
} }
basePath = localCacheFile.value.localFilename; basePath = localCacheFile.value.localFilename;
@ -185,7 +185,7 @@ class MediaWrapperComponent extends StatelessWidget {
basePath = mediaAttachment.uri.path; basePath = mediaAttachment.uri.path;
} }
return Uri.parse(basePath); return basePath;
} }
} }

View file

@ -1,6 +1,6 @@
{ {
"appTitle": "Friendica Archive Browser", "appTitle": "Fediverse Archive Browser",
"@appTitle": { "@appTitle": {
"description": "A browser of Friendica Archive Folders" "description": "A browser of Fediverse Archive Sets"
} }
} }

View file

@ -1,10 +1,10 @@
import 'dart:io'; import 'dart:io';
import 'package:fediverse_archive_browser/src/services/archive_service_provider.dart';
import 'package:file_picker/file_picker.dart'; import 'package:file_picker/file_picker.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:fediverse_archive_browser/src/components/media_wrapper_component.dart'; import 'package:fediverse_archive_browser/src/components/media_wrapper_component.dart';
import 'package:fediverse_archive_browser/src/friendica/services/friendica_path_mapping_service.dart';
import 'package:fediverse_archive_browser/src/models/media_attachment.dart'; import 'package:fediverse_archive_browser/src/models/media_attachment.dart';
import 'package:fediverse_archive_browser/src/settings/settings_controller.dart'; import 'package:fediverse_archive_browser/src/settings/settings_controller.dart';
import 'package:fediverse_archive_browser/src/themes.dart'; import 'package:fediverse_archive_browser/src/themes.dart';
@ -71,7 +71,7 @@ class _MediaSlideShowScreenState extends State<MediaSlideShowScreen> {
final height = MediaQuery.of(context).size.height - toolBarHeight; final height = MediaQuery.of(context).size.height - toolBarHeight;
return Theme( return Theme(
data: FriendicaArchiveBrowserTheme.darkroom, data: FediverseArchiveBrowserTheme.darkroom,
child: KeyboardListener( child: KeyboardListener(
focusNode: FocusNode(), focusNode: FocusNode(),
autofocus: true, autofocus: true,
@ -155,11 +155,16 @@ class _MediaSlideShowScreenState extends State<MediaSlideShowScreen> {
} }
Future<void> _saveFile(BuildContext context) async { Future<void> _saveFile(BuildContext context) async {
final pathMapper = final archiveService =
Provider.of<FriendicaPathMappingService>(context, listen: false); Provider.of<ArchiveServiceProvider>(context, listen: false);
final filename = media.uri.pathSegments.last; final filename = media.uri.pathSegments.last;
final initialPath = pathMapper.toFullPath(media.uri.toFilePath()); final localPath = archiveService.getImageByUrl(media.uri.toString());
if (localPath.isFailure) {
SnackBarStatusBuilder.buildSnackbar(context, 'Unable to find original source file for: ${media.uri}');
return;
}
final initialPath = archiveService.pathMappingService.toFullPath(localPath.value.localFilename);
final newPath = await FilePicker.platform.saveFile( final newPath = await FilePicker.platform.saveFile(
dialogTitle: 'Export Image', dialogTitle: 'Export Image',
fileName: filename, fileName: filename,

View file

@ -24,10 +24,7 @@ class ArchiveServiceProvider extends ChangeNotifier implements ArchiveService {
_archiveService.connectionsManager; _archiveService.connectionsManager;
ArchiveServiceProvider(this.settings) { ArchiveServiceProvider(this.settings) {
_diasporaArchiveService = DiasporaArchiveService( _buildArchiveServices();
pathMappingService: DiasporaPathMappingService(settings));
_friendicaArchiveService = FriendicaArchiveService(
pathMappingService: FriendicaPathMappingService(settings));
} }
String get ownersName => _archiveService.ownersName; String get ownersName => _archiveService.ownersName;
@ -35,6 +32,7 @@ class ArchiveServiceProvider extends ChangeNotifier implements ArchiveService {
void clearCaches() { void clearCaches() {
_friendicaArchiveService.clearCaches(); _friendicaArchiveService.clearCaches();
_diasporaArchiveService.clearCaches(); _diasporaArchiveService.clearCaches();
_buildArchiveServices();
} }
FutureResult<List<EntryTreeItem>, ExecError> getPosts() async { FutureResult<List<EntryTreeItem>, ExecError> getPosts() async {
@ -53,6 +51,10 @@ class ArchiveServiceProvider extends ChangeNotifier implements ArchiveService {
return _archiveService.getImageByUrl(url); return _archiveService.getImageByUrl(url);
} }
@override
PathMappingService get pathMappingService =>
_archiveService.pathMappingService;
ArchiveService get _archiveService { ArchiveService get _archiveService {
switch (settings.archiveType) { switch (settings.archiveType) {
case ArchiveType.diaspora: case ArchiveType.diaspora:
@ -64,7 +66,12 @@ class ArchiveServiceProvider extends ChangeNotifier implements ArchiveService {
} }
} }
@override
PathMappingService get pathMappingService => void _buildArchiveServices() {
_archiveService.pathMappingService; _diasporaArchiveService = DiasporaArchiveService(
pathMappingService: DiasporaPathMappingService(settings));
_friendicaArchiveService = FriendicaArchiveService(
pathMappingService: FriendicaPathMappingService(settings));
}
} }

View file

@ -178,7 +178,7 @@ class _SettingsViewState extends State<SettingsView> {
controller: _folderPathController, controller: _folderPathController,
decoration: InputDecoration( decoration: InputDecoration(
hintText: hintText:
'Root folder of the unzipped Friendica archive file', 'Root folder of the unzipped archive folder',
errorText: _invalidFolderString, errorText: _invalidFolderString,
))), ))),
const SizedBox(width: 15), const SizedBox(width: 15),

View file

@ -1,6 +1,6 @@
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
class FriendicaArchiveBrowserTheme { class FediverseArchiveBrowserTheme {
static ThemeData dark = ThemeData.dark().copyWith( static ThemeData dark = ThemeData.dark().copyWith(
primaryColor: Colors.white, primaryColor: Colors.white,
); );

View file

@ -1,8 +1,8 @@
cmake_minimum_required(VERSION 3.10) cmake_minimum_required(VERSION 3.10)
project(runner LANGUAGES CXX) project(runner LANGUAGES CXX)
set(BINARY_NAME "friendica_archive_browser") set(BINARY_NAME "fediverse_archive_browser")
set(APPLICATION_ID "social.myportal.friendica_archive_browser") set(APPLICATION_ID "social.myportal.fediverse_archive_browser")
cmake_policy(SET CMP0063 NEW) cmake_policy(SET CMP0063 NEW)

View file

@ -55,7 +55,7 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; }; 333000ED22D3DE5D00554162 /* Warnings.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Warnings.xcconfig; sourceTree = "<group>"; };
335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; }; 335BBD1A22A9A15E00E9071D /* GeneratedPluginRegistrant.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GeneratedPluginRegistrant.swift; sourceTree = "<group>"; };
33CC10ED2044A3C60003C045 /* FriendicaArchiveBrowser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "Friendica Archive Browser.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 33CC10ED2044A3C60003C045 /* fediverse_archive_browser.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = fediverse_archive_browser.app; sourceTree = BUILT_PRODUCTS_DIR; };
33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 33CC10F02044A3C60003C045 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; }; 33CC10F22044A3C60003C045 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; name = Assets.xcassets; path = Runner/Assets.xcassets; sourceTree = "<group>"; };
33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; }; 33CC10F52044A3C60003C045 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.xib; name = Base; path = Base.lproj/MainMenu.xib; sourceTree = "<group>"; };
@ -123,7 +123,7 @@
33CC10EE2044A3C60003C045 /* Products */ = { 33CC10EE2044A3C60003C045 /* Products */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
33CC10ED2044A3C60003C045 /* FriendicaArchiveBrowser.app */, 33CC10ED2044A3C60003C045 /* fediverse_archive_browser.app */,
); );
name = Products; name = Products;
sourceTree = "<group>"; sourceTree = "<group>";
@ -194,7 +194,7 @@
); );
name = Runner; name = Runner;
productName = Runner; productName = Runner;
productReference = 33CC10ED2044A3C60003C045 /* FriendicaArchiveBrowser.app */; productReference = 33CC10ED2044A3C60003C045 /* fediverse_archive_browser.app */;
productType = "com.apple.product-type.application"; productType = "com.apple.product-type.application";
}; };
/* End PBXNativeTarget section */ /* End PBXNativeTarget section */
@ -422,11 +422,13 @@
CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/DebugProfile.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = T69YZGT58U;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = fediversearchivebrowser.myportal.social;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
}; };
@ -548,11 +550,13 @@
CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/RunnerDebug.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = T69YZGT58U;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = fediversearchivebrowser.myportal.social;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_OPTIMIZATION_LEVEL = "-Onone"; SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
@ -568,11 +572,13 @@
CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements; CODE_SIGN_ENTITLEMENTS = Runner/Release.entitlements;
CODE_SIGN_STYLE = Automatic; CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES; COMBINE_HIDPI_IMAGES = YES;
DEVELOPMENT_TEAM = T69YZGT58U;
INFOPLIST_FILE = Runner/Info.plist; INFOPLIST_FILE = Runner/Info.plist;
LD_RUNPATH_SEARCH_PATHS = ( LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)", "$(inherited)",
"@executable_path/../Frameworks", "@executable_path/../Frameworks",
); );
PRODUCT_BUNDLE_IDENTIFIER = fediversearchivebrowser.myportal.social;
PROVISIONING_PROFILE_SPECIFIER = ""; PROVISIONING_PROFILE_SPECIFIER = "";
SWIFT_VERSION = 5.0; SWIFT_VERSION = 5.0;
}; };

View file

@ -15,7 +15,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "FriendicaArchiveBrowser.app" BuildableName = "fediverse_archive_browser.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -31,7 +31,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "FriendicaArchiveBrowser.app" BuildableName = "fediverse_archive_browser.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -54,7 +54,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "FriendicaArchiveBrowser.app" BuildableName = "fediverse_archive_browser.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>
@ -71,7 +71,7 @@
<BuildableReference <BuildableReference
BuildableIdentifier = "primary" BuildableIdentifier = "primary"
BlueprintIdentifier = "33CC10EC2044A3C60003C045" BlueprintIdentifier = "33CC10EC2044A3C60003C045"
BuildableName = "FriendicaArchiveBrowser.app" BuildableName = "fediverse_archive_browser.app"
BlueprintName = "Runner" BlueprintName = "Runner"
ReferencedContainer = "container:Runner.xcodeproj"> ReferencedContainer = "container:Runner.xcodeproj">
</BuildableReference> </BuildableReference>

View file

@ -3,61 +3,61 @@
{ {
"size" : "16x16", "size" : "16x16",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_16.png", "filename" : "fediverse_archive_reader_icon_16.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"size" : "16x16", "size" : "16x16",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_32.png", "filename" : "fediverse_archive_reader_icon_32.png",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"size" : "32x32", "size" : "32x32",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_32.png", "filename" : "fediverse_archive_reader_icon_32.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"size" : "32x32", "size" : "32x32",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_64.png", "filename" : "fediverse_archive_reader_icon_64.png",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"size" : "128x128", "size" : "128x128",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_128.png", "filename" : "fediverse_archive_reader_icon_128.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"size" : "128x128", "size" : "128x128",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_256.png", "filename" : "fediverse_archive_reader_icon_256.png",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"size" : "256x256", "size" : "256x256",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_256.png", "filename" : "fediverse_archive_reader_icon_256.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"size" : "256x256", "size" : "256x256",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_512.png", "filename" : "fediverse_archive_reader_icon_512.png",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"size" : "512x512", "size" : "512x512",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_512.png", "filename" : "fediverse_archive_reader_icon_512.png",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"size" : "512x512", "size" : "512x512",
"idiom" : "mac", "idiom" : "mac",
"filename" : "fba_app_icon_1024.png", "filename" : "fediverse_archive_reader_icon_1024.png",
"scale" : "2x" "scale" : "2x"
} }
], ],

Binary file not shown.

Before

Width:  |  Height:  |  Size: 46 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 479 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 762 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 67 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 630 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

@ -13,7 +13,7 @@
</customObject> </customObject>
<customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/> <customObject id="-1" userLabel="First Responder" customClass="FirstResponder"/>
<customObject id="-3" userLabel="Application" customClass="NSObject"/> <customObject id="-3" userLabel="Application" customClass="NSObject"/>
<customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="friendica_archive_browser" customModuleProvider="target"> <customObject id="Voe-Tx-rLC" customClass="AppDelegate" customModule="fediverse_archive_browser" customModuleProvider="target">
<connections> <connections>
<outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/> <outlet property="applicationMenu" destination="uQy-DD-JDr" id="XBo-yE-nKs"/>
<outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/> <outlet property="mainFlutterWindow" destination="QvC-M9-y7g" id="gIp-Ho-8D9"/>
@ -326,7 +326,7 @@
</items> </items>
<point key="canvasLocation" x="142" y="-258"/> <point key="canvasLocation" x="142" y="-258"/>
</menu> </menu>
<window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="friendica_archive_browser" customModuleProvider="target"> <window title="APP_NAME" allowsToolTipsWhenApplicationIsInactive="NO" autorecalculatesKeyViewLoop="NO" releasedWhenClosed="NO" animationBehavior="default" id="QvC-M9-y7g" customClass="MainFlutterWindow" customModule="fediverse_archive_browser" customModuleProvider="target">
<windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/> <windowStyleMask key="styleMask" titled="YES" closable="YES" miniaturizable="YES" resizable="YES"/>
<rect key="contentRect" x="0.0" y="175" width="915" height="700"/> <rect key="contentRect" x="0.0" y="175" width="915" height="700"/>
<rect key="screenRect" x="0.0" y="0.0" width="1440" height="875"/> <rect key="screenRect" x="0.0" y="0.0" width="1440" height="875"/>

View file

@ -5,10 +5,10 @@
// 'flutter create' template. // 'flutter create' template.
// The application's name. By default this is also the title of the Flutter window. // The application's name. By default this is also the title of the Flutter window.
PRODUCT_NAME = friendica_archive_browser PRODUCT_NAME = fediverse_archive_browser
// The application's bundle identifier // The application's bundle identifier
PRODUCT_BUNDLE_IDENTIFIER = social.myportal.friendica_archive_browser PRODUCT_BUNDLE_IDENTIFIER = fediversearchivebrowser.myportal.social
// The copyright displayed in application information // The copyright displayed in application information
PRODUCT_COPYRIGHT = Copyright © 2021 Hank G. All rights reserved. PRODUCT_COPYRIGHT = Copyright © 2022 My Social Portal All rights reserved.

View file

@ -20,6 +20,12 @@
<string>$(FLUTTER_BUILD_NAME)</string> <string>$(FLUTTER_BUILD_NAME)</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>$(FLUTTER_BUILD_NUMBER)</string> <string>$(FLUTTER_BUILD_NUMBER)</string>
<key>INIntentsSupported</key>
<array>
<string>Intent</string>
</array>
<key>LSApplicationCategoryType</key>
<string>public.app-category.utilities</string>
<key>LSMinimumSystemVersion</key> <key>LSMinimumSystemVersion</key>
<string>$(MACOSX_DEPLOYMENT_TARGET)</string> <string>$(MACOSX_DEPLOYMENT_TARGET)</string>
<key>NSHumanReadableCopyright</key> <key>NSHumanReadableCopyright</key>

View file

@ -4,7 +4,7 @@ description: An Archive Browser for various fediverse projects (Friendica, Diasp
# Prevent accidental publishing to pub.dev. # Prevent accidental publishing to pub.dev.
publish_to: 'none' publish_to: 'none'
version: 0.1.3+1 version: 1.0.0
environment: environment:
sdk: ">=2.14.0 <3.0.0" sdk: ">=2.14.0 <3.0.0"

View file

@ -1,7 +1,7 @@
cmake_minimum_required(VERSION 3.15) cmake_minimum_required(VERSION 3.15)
project(friendica_archive_browser LANGUAGES CXX) project(fediverse_archive_browser LANGUAGES CXX)
set(BINARY_NAME "friendica_archive_browser") set(BINARY_NAME "fediverse_archive_browser")
cmake_policy(SET CMP0063 NEW) cmake_policy(SET CMP0063 NEW)

View file

@ -52,7 +52,7 @@ END
// Icon with lowest ID value placed first to ensure application icon // Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems. // remains consistent on all systems.
IDI_APP_ICON ICON "resources\\fba_app_icon.ico" IDI_APP_ICON ICON "resources\\fediverse_archive_reader_icon_256.ico"
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
@ -90,7 +90,7 @@ BEGIN
BLOCK "040904e4" BLOCK "040904e4"
BEGIN BEGIN
VALUE "CompanyName", "My Social Portal" "\0" VALUE "CompanyName", "My Social Portal" "\0"
VALUE "FileDescription", "Fediverse ArchiveB rowser" "\0" VALUE "FileDescription", "Fediverse Archive Browser" "\0"
VALUE "FileVersion", VERSION_AS_STRING "\0" VALUE "FileVersion", VERSION_AS_STRING "\0"
VALUE "InternalName", "fediverse_archive_browser" "\0" VALUE "InternalName", "fediverse_archive_browser" "\0"
VALUE "LegalCopyright", "Copyright (C) 2022 My Social Portal All rights reserved." "\0" VALUE "LegalCopyright", "Copyright (C) 2022 My Social Portal All rights reserved." "\0"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 264 KiB

View file

@ -1,6 +1,10 @@
# Friendica Archive Browser Changelog # Friendica Archive Browser Changelog
## Version 1.1.0 ## Version 1.2.0
Minor version update to fix a broken REST service call for pulling the timeline.
## Version 1.1.0
Minor version update to increase reporting during run Minor version update to increase reporting during run

View file

@ -6,9 +6,11 @@ A simple command line tool for archiving your Friendica profile via the Friendic
There are pre-compiled binaries for the tools for Linux, Mac, and Windows below. You can download There are pre-compiled binaries for the tools for Linux, Mac, and Windows below. You can download
those and use them. Simply download for your respective platform, unzip, and then run. those and use them. Simply download for your respective platform, unzip, and then run.
* [Windows x64](https://mysocialportal-friendica-archiving.sfo3.digitaloceanspaces.com/archiver/releases/1.1.0/friendica_archiver_v1.1.0_win_x64.zip) * [Windows x64](https://mysocialportal-fediverse-archiving.sfo3.digitaloceanspaces.com/friendica_archiver/1.2.0/friendica_archiver_v1.2.0_win_x64.zip)
* [macOS x64](https://mysocialportal-friendica-archiving.sfo3.digitaloceanspaces.com/archiver/releases/1.1.0/friendica_archiver_v1.1.0_macos_x64.zip) * [macOS x64](https://mysocialportal-fediverse-archiving.sfo3.digitaloceanspaces.com/friendica_archiver/1.2.0/friendica_archiver_v1.2.0_macos_x64.zip)
* [Linux x64](https://mysocialportal-friendica-archiving.sfo3.digitaloceanspaces.com/archiver/releases/1.1.0/friendica_archiver_v1.1.0_linux_x64.zip) * [Linux x64](https://mysocialportal-fediverse-archiving.sfo3.digitaloceanspaces.com/friendica_archiver/1.2.0/friendica_archiver_v1.2.0_linux_x64.zip)
**Note: The binaries have a .exe extension on all platforms even though it is only significant on Windows.**
Or you can run it directly from this directory using standard Dart commands: Or you can run it directly from this directory using standard Dart commands:

View file

@ -1,6 +1,6 @@
name: friendica_archiver name: friendica_archiver
description: A simple command-line application. description: A simple command-line application.
version: 1.1.0 version: 1.2.0
# homepage: https://www.example.com # homepage: https://www.example.com
environment: environment: