Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for "shared with you" photos on Ventura #1054

Closed
RhetTbull opened this issue Apr 11, 2023 · 8 comments
Closed

Add support for "shared with you" photos on Ventura #1054

RhetTbull opened this issue Apr 11, 2023 · 8 comments
Labels
feature request New feature or request

Comments

@RhetTbull
Copy link
Owner

On Ventura, photos shared via Messages and other apps are shown in Photos library even if they've not been imported. osxphotos should have a way to show these and also to export them. Currently they show up as missing with no path info. The previews and originals appear to be in the scopes/syndication folder:

./scopes/syndication/resources/derivatives/masters/C/C2841912-B96B-4115-B0F9-68AF5A889BC9_4_5005_c.jpeg
./scopes/syndication/resources/derivatives/C/C2841912-B96B-4115-B0F9-68AF5A889BC9_1_102_o.jpeg
./scopes/syndication/originals/C/C2841912-B96B-4115-B0F9-68AF5A889BC9.heic

Need to look at the database to see how these can be identified. ZADDITIONALASSETATTRIBUTES has a coupe of syndication columns such as ZSYNDICATIONIDENTIFIER VARCHAR,

@RhetTbull RhetTbull added the feature request New feature or request label Apr 11, 2023
@RhetTbull RhetTbull changed the title Add support for shared photos on Ventura Add support for "shared with you" photos on Ventura Apr 13, 2023
@RhetTbull
Copy link
Owner Author

It should also be possible to extract how these were shared (e.g. Messages) and by whom:

Screenshot 2023-04-13 at 8 48 16 AM

@RhetTbull
Copy link
Owner Author

RhetTbull commented Apr 13, 2023

A few observations:

In Photos, the "Shared with You" album shows all photos that have been shared in Messages (and possibly other apps) whether or not they have been saved to the library (big privacy issue there if you have photos in Messages you don't want to appear in your library...). However, photos that have been saved are treated differently than those not yet saved.

When a photo has not yet been saved, the originals and derivatives appear to be in:

./scopes/syndication/resources/derivatives/8/8A0A2F23-1FDC-41A5-B615-79ABB2470A51_1_102_o.jpeg
./scopes/syndication/resources/derivatives/masters/8/8A0A2F23-1FDC-41A5-B615-79ABB2470A51_4_5005_c.jpeg
./scopes/syndication/originals/8/8A0A2F23-1FDC-41A5-B615-79ABB2470A51.jpeg
./scopes/syndication/originals/8/8A0A2F23-1FDC-41A5-B615-79ABB2470A51_3.mov

Once saved, the photo gets moved to the normal folders and given a new UUUD:

./resources/derivatives/masters/5/59FF811C-9E7E-4B0C-A5BC-574FEC4712BC_4_5005_c.jpeg
./originals/5/59FF811C-9E7E-4B0C-A5BC-574FEC4712BC_3.mov
./originals/5/59FF811C-9E7E-4B0C-A5BC-574FEC4712BC.jpeg

The old photo still appears (with the old UUID) in the "Shared with you" view but the files are gone and all references to the old UUID in the database disappear and are deleted from the database.

UPDATE ZADDITIONALASSETATTRIBUTES SET Z_OPT=4, ZDESTINATIONASSETCOPYSTATE=2 WHERE Z_PK=36733;
UPDATE ZADDITIONALASSETATTRIBUTES SET Z_OPT=4, ZDESTINATIONASSETCOPYSTATE=2 WHERE Z_PK=36735;
DELETE FROM ZADDITIONALASSETATTRIBUTES WHERE Z_PK=36748;
DELETE FROM ZADDITIONALASSETATTRIBUTES WHERE Z_PK=36751;
UPDATE ZADDITIONALASSETATTRIBUTES SET Z_OPT=5, ZALLOWEDFORANALYSIS=1, ZDATECREATEDSOURCE=1, ZINFERREDTIMEZONEOFFSET=-14400, ZSYNDICATIONHISTORY=1, ZEXIFTIMESTAMPSTRING='2023:04:08 14:59:25', ZSOURCEASSETFORDUPLICATIONIDENTIFIER=NULL, ZSOURCEASSETFORDUPLICATIONSCOPEIDENTIFIER=NULL WHERE Z_PK=36789;
INSERT INTO ZADDITIONALASSETATTRIBUTES(Z_PK,Z_ENT,Z_OPT,ZALLOWEDFORANALYSIS,ZCAMERACAPTUREDEVICE,ZCLOUDAVALANCHEPICKTYPE,ZCLOUDKINDSUBTYPE,ZCLOUDRECOVERYSTATE,ZCLOUDSTATERECOVERYATTEMPTSCOUNT,ZDATECREATEDSOURCE,ZDEFERREDPROCESSINGCANDIDATEOPTIONS,ZDESTINATIONASSETCOPYSTATE,ZEMBEDDEDTHUMBNAILHEIGHT,ZEMBEDDEDTHUMBNAILLENGTH,ZEMBEDDEDTHUMBNAILOFFSET,ZEMBEDDEDTHUMBNAILWIDTH,ZFACEANALYSISVERSION,ZIMPORTEDBY,ZINFERREDTIMEZONEOFFSET,ZLOCATIONHASH,ZORIGINALFILESIZE,ZORIGINALHEIGHT,ZORIGINALORIENTATION,ZORIGINALRESOURCECHOICE,ZORIGINALWIDTH,ZPENDINGPLAYCOUNT,ZPENDINGSHARECOUNT,ZPENDINGVIEWCOUNT,ZPLAYCOUNT,ZPTPTRASHEDSTATE,ZREVERSELOCATIONDATAISVALID,ZSCENEANALYSISISFROMPREVIEW,ZSCENEANALYSISVERSION,ZSHARECOUNT,ZSHARETYPE,ZSHIFTEDLOCATIONISVALID,ZSYNDICATIONHISTORY,ZTIMEZONEOFFSET,ZUPLOADATTEMPTS,ZVARIATIONSUGGESTIONSTATES,ZVIDEOCPDISPLAYTIMESCALE,ZVIDEOCPDISPLAYVALUE,ZVIDEOCPDURATIONTIMESCALE,ZVIEWCOUNT,ZASSET,ZASSETDESCRIPTION,ZEDITEDIPTCATTRIBUTES,ZMEDIAMETADATA,ZSCENEPRINT,ZUNMANAGEDADJUSTMENT,ZALTERNATEIMPORTIMAGEDATE,ZGPSHORIZONTALACCURACY,ZLASTUPLOADATTEMPTDATE,ZSCENEANALYSISTIMESTAMP,ZACCESSIBILITYDESCRIPTION,ZADJUSTEDFINGERPRINT,ZDEFERREDPHOTOIDENTIFIER,ZEDITORBUNDLEID,ZEXIFTIMESTAMPSTRING,ZIMPORTSESSIONID,ZIMPORTEDBYBUNDLEIDENTIFIER,ZIMPORTEDBYDISPLAYNAME,ZMASTERFINGERPRINT,ZMEDIAMETADATATYPE,ZMONTAGE,ZORIGINALASSETSUUID,ZORIGINALFILENAME,ZORIGINATINGASSETIDENTIFIER,ZPHOTOSTREAMTAGID,ZPUBLICGLOBALUUID,ZSHAREORIGINATOR,ZSNOWDAYSNOWPLOWIDENTIFIER,ZSOURCEASSETFORDUPLICATIONIDENTIFIER,ZSOURCEASSETFORDUPLICATIONSCOPEIDENTIFIER,ZSPATIALOVERCAPTUREGROUPIDENTIFIER,ZSYNDICATIONIDENTIFIER,ZTIMEZONENAME,ZTITLE,ZLIBRARYSCOPEASSETCONTRIBUTORSTOUPDATE,ZDISTANCEIDENTITY,ZFACEREGIONS,ZOBJECTSALIENCYRECTSDATA,ZORIGINALHASH,ZPLACEANNOTATIONDATA,ZREVERSELOCATIONDATA,ZSHIFTEDLOCATIONDATA) VALUES(36790,1,5,1,0,0,0,0,0,1,0,0,0,0,0,0,0,7,-14400,1634454304,1584184,3024,6,0,4032,0,0,0,0,0,0,0,0,0,1,0,1,-14400,0,0,0,0,0,0,36790,NULL,NULL,NULL,NULL,NULL,NULL,12.5678411274824,NULL,NULL,NULL,NULL,NULL,NULL,'2023:04:08 11:26:54',NULL,NULL,NULL,'ARXn70u+HTVxf5zHqnRogKT7iqnJ',NULL,NULL,NULL,'IMG_7595.HEIC',NULL,NULL,NULL,'_238940a961d940040c883ba6f9114e21',NULL,NULL,NULL,NULL,'at_1_39A9241E-8527-40CF-BA39-B018760FF165','GMT-0400',NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL);
UPDATE ZASSET SET Z_OPT=7, ZMODIFICATIONDATE=703100404.327452 WHERE Z_PK=36725;
UPDATE ZASSET SET Z_OPT=7, ZMODIFICATIONDATE=703100404.327743 WHERE Z_PK=36733;
DELETE FROM ZASSET WHERE Z_PK=36748;
DELETE FROM ZASSET WHERE Z_PK=36751;
UPDATE ZASSET SET Z_OPT=4, ZCLOUDPLACEHOLDERKIND=3, ZSAVEDASSETTYPE=6, ZTHUMBNAILINDEX=28641, ZEXTENDEDATTRIBUTES=36783, ZHIGHLIGHTBEINGASSETS=3572, ZHIGHLIGHTBEINGEXTENDEDASSETS=3572, ZHIGHLIGHTBEINGSUMMARYASSETS=3572, ZMOMENT=3972, ZHDRGAIN=0.5, ZMODIFICATIONDATE=703100404.327978, ZORIGINALCOLORSPACE='Display P3', ZIMAGEREQUESTHINTS=x'd0710940f81b0000c06b0948f81b00006964094cf81b000069540c030ca8719200' WHERE Z_PK=36789;
INSERT INTO ZASSET(Z_PK,Z_ENT,Z_OPT,ZACTIVELIBRARYSCOPEPARTICIPATIONSTATE,ZAVALANCHEPICKTYPE,ZBUNDLESCOPE,ZCAMERAPROCESSINGADJUSTMENTSTATE,ZCLOUDDELETESTATE,ZCLOUDDOWNLOADREQUESTS,ZCLOUDHASCOMMENTSBYME,ZCLOUDHASCOMMENTSCONVERSATION,ZCLOUDHASUNSEENCOMMENTS,ZCLOUDISDELETABLE,ZCLOUDISMYASSET,ZCLOUDLOCALSTATE,ZCLOUDPLACEHOLDERKIND,ZCOMPLETE,ZDEFERREDPROCESSINGNEEDED,ZDEPTHTYPE,ZDERIVEDCAMERACAPTUREDEVICE,ZDUPLICATEASSETVISIBILITYSTATE,ZFACEAREAPOINTS,ZFAVORITE,ZHASADJUSTMENTS,ZHDRTYPE,ZHEIGHT,ZHIDDEN,ZHIGHFRAMERATESTATE,ZISMAGICCARPET,ZKIND,ZKINDSUBTYPE,ZLIBRARYSCOPESHARESTATE,ZMONOSKITYPE,ZORIENTATION,ZPACKEDACCEPTABLECROPRECT,ZPACKEDBADGEATTRIBUTES,ZPACKEDPREFERREDCROPRECT,ZPLAYBACKSTYLE,ZPLAYBACKVARIATION,ZSAVEDASSETTYPE,ZSEARCHINDEXREBUILDSTATE,ZSYNDICATIONSTATE,ZTHUMBNAILINDEX,ZTRASHEDSTATE,ZVIDEOCPDURATIONVALUE,ZVIDEOCPVISIBILITYSTATE,ZVIDEODEFERREDPROCESSINGNEEDED,ZVIDEOKEYFRAMETIMESCALE,ZVIDEOKEYFRAMEVALUE,ZVISIBILITYSTATE,ZWIDTH,ZADDITIONALATTRIBUTES,ZCLOUDFEEDASSETSENTRY,ZCOMPUTEDATTRIBUTES,ZCONVERSATION,ZDAYGROUPHIGHLIGHTBEINGASSETS,ZDAYGROUPHIGHLIGHTBEINGEXTENDEDASSETS,ZDAYGROUPHIGHLIGHTBEINGKEYASSETPRIVATE,ZDAYGROUPHIGHLIGHTBEINGKEYASSETSHARED,ZDAYGROUPHIGHLIGHTBEINGSUMMARYASSETS,ZDUPLICATEMETADATAMATCHINGALBUM,ZDUPLICATEPERCEPTUALMATCHINGALBUM,ZEXTENDEDATTRIBUTES,ZHIGHLIGHTBEINGASSETS,ZHIGHLIGHTBEINGEXTENDEDASSETS,ZHIGHLIGHTBEINGKEYASSETPRIVATE,ZHIGHLIGHTBEINGKEYASSETSHARED,ZHIGHLIGHTBEINGSUMMARYASSETS,ZIMPORTSESSION,ZLIBRARYSCOPE,ZMASTER,ZMEDIAANALYSISATTRIBUTES,ZMOMENT,ZMOMENTSHARE,ZMONTHHIGHLIGHTBEINGKEYASSETPRIVATE,ZMONTHHIGHLIGHTBEINGKEYASSETSHARED,ZPHOTOANALYSISATTRIBUTES,ZTRASHEDBYPARTICIPANT,ZYEARHIGHLIGHTBEINGKEYASSETPRIVATE,ZYEARHIGHLIGHTBEINGKEYASSETSHARED,Z_FOK_CLOUDFEEDASSETSENTRY,ZADDEDDATE,ZADJUSTMENTTIMESTAMP,ZANALYSISSTATEMODIFICATIONDATE,ZCLOUDBATCHPUBLISHDATE,ZCLOUDLASTVIEWEDCOMMENTDATE,ZCLOUDSERVERPUBLISHDATE,ZCURATIONSCORE,ZDATECREATED,ZDURATION,ZFACEADJUSTMENTVERSION,ZHDRGAIN,ZHIGHLIGHTVISIBILITYSCORE,ZLASTSHAREDDATE,ZLATITUDE,ZLONGITUDE,ZMODIFICATIONDATE,ZOVERALLAESTHETICSCORE,ZPROMOTIONSCORE,ZSORTTOKEN,ZTRASHEDDATE,ZAVALANCHEUUID,ZCLOUDASSETGUID,ZCLOUDBATCHID,ZCLOUDCOLLECTIONGUID,ZCLOUDOWNERHASHEDPERSONID,ZDELETEREASON,ZDIRECTORY,ZFILENAME,ZMEDIAGROUPUUID,ZORIGINALCOLORSPACE,ZUNIFORMTYPEIDENTIFIER,ZUUID,ZIMAGEREQUESTHINTS,ZLOCATIONDATA) VALUES(36790,3,5,0,0,0,0,0,0,NULL,NULL,NULL,NULL,NULL,1,3,1,0,0,0,0,0,0,0,0,4032,0,0,0,0,0,0,0,6,0,0,0,1,0,6,0,0,28642,0,0,0,0,0,0,0,3024,36790,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,NULL,36784,3572,3572,NULL,NULL,3572,NULL,NULL,29736,29865,3972,NULL,NULL,NULL,29901,NULL,NULL,NULL,NULL,703100366.486967,NULL,703100366.493108,NULL,NULL,NULL,0.0,702660413.780963,0.0,NULL,0.5,0.0,NULL,36.0099611166667,-79.160575,703100404.327664,0.5,0.0,702660413.780963,NULL,NULL,'F5863146-131E-45F5-8CF5-1E339D53BA69',NULL,NULL,NULL,NULL,'F','F5863146-131E-45F5-8CF5-1E339D53BA69.heic',NULL,'Display P3','public.heic','F5863146-131E-45F5-8CF5-1E339D53BA69',x'd0710980f81b0000c06b0988f81b00006964098cf81b000069540c030ca8719200',x'5128e7674601424088635ddc46ca53c00aaededf97fb6a40a1b87f12bc22294000000000000000000e6612805175764000000000000000009eef279fdff0c441');
DELETE FROM ZCHARACTERRECOGNITIONATTRIBUTES WHERE Z_PK=28185;
DELETE FROM ZCHARACTERRECOGNITIONATTRIBUTES WHERE Z_PK=28188;
UPDATE ZCLOUDMASTER SET Z_OPT=3, ZCLOUDLOCALSTATE=3, ZPLACEHOLDERSTATE=0, ZSOURCEMASTERFORDUPLICATIONIDENTIFIER=NULL, ZSOURCEMASTERFORDUPLICATIONSCOPEIDENTIFIER=NULL WHERE Z_PK=29735;
INSERT INTO ZCLOUDMASTER(Z_PK,Z_ENT,Z_OPT,ZCLOUDLOCALSTATE,ZFULLSIZEJPEGSOURCE,ZIMPORTEDBY,ZORIGINALORIENTATION,ZPLACEHOLDERSTATE,ZVIDEOFRAMERATE,ZMEDIAMETADATA,ZMOMENTSHARE,ZCREATIONDATE,ZIMPORTDATE,ZCLOUDMASTERGUID,ZCODECNAME,ZIMPORTSESSIONID,ZIMPORTEDBYBUNDLEIDENTIFIER,ZIMPORTEDBYDISPLAYNAME,ZMEDIAMETADATATYPE,ZORIGINALFILENAME,ZORIGINATINGASSETIDENTIFIER,ZSOURCEMASTERFORDUPLICATIONIDENTIFIER,ZSOURCEMASTERFORDUPLICATIONSCOPEIDENTIFIER,ZUNIFORMTYPEIDENTIFIER) VALUES(29736,11,3,3,0,7,6,0,0,30994,NULL,702660413.780963,702674408.552772,'ARXn70u+HTVxf5zHqnRogKT7iqnJ',NULL,NULL,NULL,NULL,'CGImageProperties','IMG_7595.HEIC',NULL,NULL,NULL,'public.heic');
INSERT INTO ZCLOUDMASTERMEDIAMETADATA(Z_PK,Z_ENT,Z_OPT,ZADDITIONALASSETATTRIBUTES,ZCLOUDMASTER,ZDATA) VALUES(30994,12,1,NULL,29736,x'really-long-string');
DELETE FROM ZCOMPUTEDASSETATTRIBUTES WHERE Z_PK=30627;
DELETE FROM ZCOMPUTEDASSETATTRIBUTES WHERE Z_PK=30630;
DELETE FROM ZEXTENDEDATTRIBUTES WHERE Z_PK=36741;
DELETE FROM ZEXTENDEDATTRIBUTES WHERE Z_PK=36744;
INSERT INTO ZEXTENDEDATTRIBUTES(Z_PK,Z_ENT,Z_OPT,ZFLASHFIRED,ZFOCALLENGTHIN35MM,ZISO,ZMETERINGMODE,ZSAMPLERATE,ZSLUSHPRESET,ZSLUSHVERSION,ZTIMEZONEOFFSET,ZTRACKFORMAT,ZWHITEBALANCE,ZASSET,ZAPERTURE,ZBITRATE,ZDATECREATED,ZDIGITALZOOMRATIO,ZDURATION,ZEXPOSUREBIAS,ZFOCALLENGTH,ZFPS,ZLATITUDE,ZLONGITUDE,ZSHUTTERSPEED,ZSLUSHSCENEBIAS,ZSLUSHWARMTHBIAS,ZCAMERAMAKE,ZCAMERAMODEL,ZCODEC,ZLENSMODEL,ZTIMEZONENAME) VALUES(36783,23,1,0,26,160,5,NULL,NULL,NULL,-14400,NULL,0,36789,1.8,NULL,702673165.308,NULL,NULL,0.0,4.25,NULL,36.0100416666667,-79.1605611666667,0.01666667,NULL,NULL,'Apple','iPhone 11',NULL,'iPhone 11 back dual wide camera 4.25mm f/1.8','GMT-0400');
INSERT INTO ZEXTENDEDATTRIBUTES(Z_PK,Z_ENT,Z_OPT,ZFLASHFIRED,ZFOCALLENGTHIN35MM,ZISO,ZMETERINGMODE,ZSAMPLERATE,ZSLUSHPRESET,ZSLUSHVERSION,ZTIMEZONEOFFSET,ZTRACKFORMAT,ZWHITEBALANCE,ZASSET,ZAPERTURE,ZBITRATE,ZDATECREATED,ZDIGITALZOOMRATIO,ZDURATION,ZEXPOSUREBIAS,ZFOCALLENGTH,ZFPS,ZLATITUDE,ZLONGITUDE,ZSHUTTERSPEED,ZSLUSHSCENEBIAS,ZSLUSHWARMTHBIAS,ZCAMERAMAKE,ZCAMERAMODEL,ZCODEC,ZLENSMODEL,ZTIMEZONENAME) VALUES(36784,23,1,0,26,250,5,NULL,NULL,NULL,-14400,NULL,0,36790,1.8,NULL,702660414.312,NULL,NULL,0.0,4.25,NULL,36.0099611166667,-79.160575,0.01666667,NULL,NULL,'Apple','iPhone 11',NULL,'iPhone 11 back dual wide camera 4.25mm f/1.8','GMT-0400');
UPDATE ZGENERICALBUM SET Z_OPT=3 WHERE Z_PK=1953;
UPDATE ZGENERICALBUM SET Z_OPT=2 WHERE Z_PK=1956;
DELETE FROM ZINTERNALRESOURCE WHERE Z_PK=148851;
DELETE FROM ZINTERNALRESOURCE WHERE Z_PK=148852;
DELETE FROM ZINTERNALRESOURCE WHERE Z_PK=148857;
DELETE FROM ZINTERNALRESOURCE WHERE Z_PK=148858;
DELETE FROM ZINTERNALRESOURCE WHERE Z_PK=149076;
UPDATE ZINTERNALRESOURCE SET Z_OPT=2 WHERE Z_PK=149133;
UPDATE ZINTERNALRESOURCE SET Z_OPT=3, ZCLOUDPREFETCHCOUNT=1, ZCLOUDLASTPREFETCHDATE=703100405.632735 WHERE Z_PK=149134;
UPDATE ZINTERNALRESOURCE SET Z_OPT=3, ZCLOUDPREFETCHCOUNT=1, ZCLOUDLASTPREFETCHDATE=703100413.520093 WHERE Z_PK=149135;
INSERT INTO ZINTERNALRESOURCE(Z_PK,Z_ENT,Z_OPT,ZCLOUDDELETESTATE,ZCLOUDLOCALSTATE,ZCLOUDPREFETCHCOUNT,ZCLOUDSOURCETYPE,ZDATALENGTH,ZDATASTORECLASSID,ZDATASTORESUBTYPE,ZFILEID,ZLOCALAVAILABILITY,ZLOCALAVAILABILITYTARGET,ZORIENTATION,ZPTPTRASHEDSTATE,ZQUALITYSORTVALUE,ZRECIPEID,ZREMOTEAVAILABILITY,ZREMOTEAVAILABILITYTARGET,ZRESOURCETYPE,ZSIDECARINDEX,ZTRASHEDSTATE,ZUNORIENTEDHEIGHT,ZUNORIENTEDWIDTH,ZUTICONFORMANCEHINT,ZVERSION,ZASSET,ZFILESYSTEMBOOKMARK,ZFILESYSTEMVOLUME,ZTRANSIENTCLOUDMASTER,ZCLOUDLASTONDEMANDDOWNLOADDATE,ZCLOUDLASTPREFETCHDATE,ZCLOUDMASTERDATECREATED,ZCLOUDPRUNEDAT,ZTRASHEDDATE,ZCLOUDDELETEASSETUUIDWITHRESOURCETYPE,ZCODECFOURCHARCODENAME,ZCOMPACTUTI,ZFINGERPRINT,ZDATASTOREKEYDATA) VALUES(149136,39,3,0,3,1,1,1584184,0,1,-1,-1,0,6,0,2147418120,0,1,0,0,NULL,0,3024,4032,1,0,36790,NULL,NULL,NULL,702679838.7029,703100413.520107,702660413.780963,NULL,NULL,NULL,NULL,'3','ARXn70u+HTVxf5zHqnRogKT7iqnJ',NULL);
INSERT INTO ZINTERNALRESOURCE(Z_PK,Z_ENT,Z_OPT,ZCLOUDDELETESTATE,ZCLOUDLOCALSTATE,ZCLOUDPREFETCHCOUNT,ZCLOUDSOURCETYPE,ZDATALENGTH,ZDATASTORECLASSID,ZDATASTORESUBTYPE,ZFILEID,ZLOCALAVAILABILITY,ZLOCALAVAILABILITYTARGET,ZORIENTATION,ZPTPTRASHEDSTATE,ZQUALITYSORTVALUE,ZRECIPEID,ZREMOTEAVAILABILITY,ZREMOTEAVAILABILITYTARGET,ZRESOURCETYPE,ZSIDECARINDEX,ZTRASHEDSTATE,ZUNORIENTEDHEIGHT,ZUNORIENTEDWIDTH,ZUTICONFORMANCEHINT,ZVERSION,ZASSET,ZFILESYSTEMBOOKMARK,ZFILESYSTEMVOLUME,ZTRANSIENTCLOUDMASTER,ZCLOUDLASTONDEMANDDOWNLOADDATE,ZCLOUDLASTPREFETCHDATE,ZCLOUDMASTERDATECREATED,ZCLOUDPRUNEDAT,ZTRASHEDDATE,ZCLOUDDELETEASSETUUIDWITHRESOURCETYPE,ZCODECFOURCHARCODENAME,ZCOMPACTUTI,ZFINGERPRINT,ZDATASTOREKEYDATA) VALUES(149137,39,3,0,3,1,5,56854,0,5,-1,-1,0,1,0,255590400,65743,1,0,0,NULL,0,480,360,1,0,36790,NULL,NULL,NULL,NULL,703100405.632749,702660413.780963,NULL,NULL,NULL,NULL,'1','Ac6RQ/TVjxysbwJSorgM8iwQiN01',NULL);
INSERT INTO ZINTERNALRESOURCE(Z_PK,Z_ENT,Z_OPT,ZCLOUDDELETESTATE,ZCLOUDLOCALSTATE,ZCLOUDPREFETCHCOUNT,ZCLOUDSOURCETYPE,ZDATALENGTH,ZDATASTORECLASSID,ZDATASTORESUBTYPE,ZFILEID,ZLOCALAVAILABILITY,ZLOCALAVAILABILITYTARGET,ZORIENTATION,ZPTPTRASHEDSTATE,ZQUALITYSORTVALUE,ZRECIPEID,ZREMOTEAVAILABILITY,ZREMOTEAVAILABILITYTARGET,ZRESOURCETYPE,ZSIDECARINDEX,ZTRASHEDSTATE,ZUNORIENTEDHEIGHT,ZUNORIENTEDWIDTH,ZUTICONFORMANCEHINT,ZVERSION,ZASSET,ZFILESYSTEMBOOKMARK,ZFILESYSTEMVOLUME,ZTRANSIENTCLOUDMASTER,ZCLOUDLASTONDEMANDDOWNLOADDATE,ZCLOUDLASTPREFETCHDATE,ZCLOUDMASTERDATECREATED,ZCLOUDPRUNEDAT,ZTRASHEDDATE,ZCLOUDDELETEASSETUUIDWITHRESOURCETYPE,ZCODECFOURCHARCODENAME,ZCOMPACTUTI,ZFINGERPRINT,ZDATASTOREKEYDATA) VALUES(149138,39,2,0,3,0,4,692695,0,4,-1,-1,0,1,0,1090715648,65741,1,0,0,NULL,0,2048,1536,1,0,36790,NULL,NULL,NULL,NULL,0,702660413.780963,NULL,NULL,NULL,NULL,'1','AQWeL/BvJgrUK7qegL5ekEbUAyUi',NULL);
DELETE FROM ZMEDIAANALYSISASSETATTRIBUTES WHERE Z_PK=29826;
DELETE FROM ZMEDIAANALYSISASSETATTRIBUTES WHERE Z_PK=29829;
INSERT INTO ZMEDIAANALYSISASSETATTRIBUTES(Z_PK,Z_ENT,Z_OPT,ZAUDIOCLASSIFICATION,ZBESTVIDEORANGEDURATIONTIMESCALE,ZBESTVIDEORANGEDURATIONVALUE,ZBESTVIDEORANGESTARTTIMESCALE,ZBESTVIDEORANGESTARTVALUE,ZFACECOUNT,ZMEDIAANALYSISVERSION,ZPACKEDBESTPLAYBACKRECT,ZPROBABLEROTATIONDIRECTION,ZSCREENTIMEDEVICEIMAGESENSITIVITY,ZSYNDICATIONPROCESSINGVALUE,ZSYNDICATIONPROCESSINGVERSION,ZASSET,ZCHARACTERRECOGNITIONATTRIBUTES,ZVISUALSEARCHATTRIBUTES,ZACTIVITYSCORE,ZAUDIOSCORE,ZAUTOPLAYSUGGESTIONSCORE,ZBLURRINESSSCORE,ZEXPOSURESCORE,ZMEDIAANALYSISTIMESTAMP,ZPROBABLEROTATIONDIRECTIONCONFIDENCE,ZVIDEOSCORE,ZWALLPAPERSCORE,ZCOLORNORMALIZATIONDATA) VALUES(29865,43,1,0,0,0,0,0,0,0,0,0,0,0,0,36790,NULL,NULL,0.5,0.5,0.5,0.5,0.5,703100366.480969,0.0,0.5,0.5,NULL);
UPDATE ZMOMENT SET Z_OPT=14, ZMODIFICATIONDATE=703100405.796887 WHERE Z_PK=3968;
UPDATE ZMOMENT SET Z_OPT=12, ZMODIFICATIONDATE=703100405.796899 WHERE Z_PK=3969;
UPDATE ZMOMENT SET Z_OPT=9, ZMODIFICATIONDATE=703100405.796863 WHERE Z_PK=3970;
UPDATE ZMOMENT SET Z_OPT=6, ZMODIFICATIONDATE=703100405.796893 WHERE Z_PK=3971;
UPDATE ZMOMENT SET Z_OPT=11, ZMODIFICATIONDATE=703100405.79692, ZREPRESENTATIVEDATE=702660413.780963, ZSTARTDATE=702660413.780963 WHERE Z_PK=3972;
UPDATE ZMOMENT SET Z_OPT=10, ZMODIFICATIONDATE=703100405.796906 WHERE Z_PK=3974;
UPDATE ZMOMENT SET Z_OPT=7, ZMODIFICATIONDATE=703100405.796879 WHERE Z_PK=3975;
UPDATE ZMOMENT SET Z_OPT=6, ZMODIFICATIONDATE=703100405.796928 WHERE Z_PK=3976;
DELETE FROM ZPHOTOANALYSISASSETATTRIBUTES WHERE Z_PK=29860;
DELETE FROM ZPHOTOANALYSISASSETATTRIBUTES WHERE Z_PK=29863;
INSERT INTO ZPHOTOANALYSISASSETATTRIBUTES(Z_PK,Z_ENT,Z_OPT,ZWALLPAPERPROPERTIESVERSION,ZASSET,ZWALLPAPERPROPERTIESTIMESTAMP,ZWALLPAPERPROPERTIESDATA) VALUES(29901,49,1,0,36790,NULL,NULL);
UPDATE ZPHOTOSHIGHLIGHT SET Z_OPT=51, ZASSETSCOUNT=10, ZEXTENDEDCOUNT=10, ZHIGHLIGHTVERSION=2, ZSUMMARYCOUNT=8, ZSTARTDATE=702660413.780963, ZTITLEMIXED='Saturday' WHERE Z_PK=3572;

@RhetTbull
Copy link
Owner Author

ZADDITIONALASSETATTRIBUTES.ZIMPORTEDBYBUNDLEIDENTIFIER = 'com.apple.MobileSMS'

@RhetTbull
Copy link
Owner Author

The "shared by" name is not in the database -- this must be coming from an integration with Messages thus it will be more difficult to figure out.

@RhetTbull
Copy link
Owner Author

ZADDITIONALASSETATTRIBUTES.ZSYNDICATIONIDENTIFIER: 'at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3'

This points to the file in Messages:

~/Library/Messages
❯ find . | grep at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3
./Attachments/dc/12/at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3
./Attachments/dc/12/at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3/IMG_9128.jpeg

And this is referenced in chat.db:

~/Library/Messages
❯ sqlgrep "FC2417F5-C841-4BF5-A752-A6EDA13808B3" chat.db
chat.db: message, associated_message_guid, 1107, p:0/FC2417F5-C841-4BF5-A752-A6EDA13808B3
chat.db: message, guid, 1177, FC2417F5-C841-4BF5-A752-A6EDA13808B3
chat.db: message, attributedBody, 1177,
b'\x04\x0bstreamtyped\x81\xe8\x03\x84\x01@\x84\x84\x84\x19NSMutableAttributedString\x00\x84\x84\x12NSAttributedString\x00\x84\x84\x08NSObject\x00\x85\x92\x84\
x84\x84\x0fNSMutableString\x01\x84\x84\x08NSString\x01\x95\x84\x01+K\xef\xbf\xbcSpiff is carrying a bottle of bull sauce powered by bubbles of 1s & 0s.
\x86\x84\x02iI\x01\x01\x92\x84\x84\x84\x0cNSDictionary\x00\x95\x84\x01i\x03\x92\x84\x98\x98&__kIMBaseWritingDirectionAttributeName\x86\x92\x84\x84\x84\x08NSNu
mber\x00\x84\x84\x07NSValue\x00\x95\x84\x01*\x84\x84\x01q\x9f\xff\x86\x92\x84\x98\x98\x1d__kIMMessagePartAttributeName\x86\x92\x84\x9d\x9e\x9f\x9f\x01\x86\x92
\x84\x98\x98"__kIMFileTransferGUIDAttributeName\x86\x92\x84\x98\x98)at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3\x86\x86\x99\x02H\x92\x84\x9a\x9b\x02\x92\x84\x98
\x98&__kIMBaseWritingDirectionAttributeName\x86\x92\x9c\x92\x84\x98\x98\x1d__kIMMessagePartAttributeName\x86\x92\x84\x9d\x9e\x9f\x9f\x02\x86\x86\x86'
chat.db: attachment, guid, 189, at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3
chat.db: attachment, filename, 189, ~/Library/Messages/Attachments/dc/12/at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3/IMG_9128.jpeg
chat.db: attachment, original_guid, 189, at_0_FC2417F5-C841-4BF5-A752-A6EDA13808B3

@RhetTbull
Copy link
Owner Author

Get all syndicated photos:

syndicated = [p for p in photos if p.tables().ZADDITIONALASSETATTRIBUTES.ZSYNDICATIONIDENTIFIER[0] is not None]

Some of these will be present in library because they were imported ("save photo"), others won't be because they've not yet been imported.

>>> for p in syndicated:
...     print(p.uuid, p.ismissing, p.iscloudasset, p.path, p.tables().ZADDITIONALASSETATTRIBUTES.ZSYNDICATIONHISTORY)

Shows that those that have not been saved have history of 0 whereas those that have been saved have history of 1 or 2.

Additionally, syndicated photos that have not been saved show iscloudasset = False

@RhetTbull
Copy link
Owner Author

Implemented -- test now and will release hopefully later today. Added new PhotoInfo.syndicated and PhotoInfo.saved_to_library (for syndicated photos saved to the library) properties as well as --syndicated, --not-syndicated, --saved-to-library, --not-saved-to-library query options.

RhetTbull added a commit that referenced this issue Jun 18, 2023
* Added find() to repl

* Added find() to repl

* Added support for syndicated photos #1054
@RhetTbull
Copy link
Owner Author

Added in v0.60.3. This does not yet support getting the identify of the person who shared the syndicated photo nor how it was shared (e.g. Messages) but provides access to the photos and derivatives. I'm not sure I want to spend the time to also reverse engineer the chat.db.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant