Which version of recognize are you using?
11
Enabled Modes
Face recognition
TensorFlow mode
WASM mode
Downstream App
Memories App
Which Nextcloud version do you have installed?
33.0.2
Which Operating system do you have installed?
Ubuntu 24.04
Which database are you running Nextcloud on?
Mariadb Ver 15.1 Distrib 10.11.14-MariaDB
Which Docker container are you using to run Nextcloud? (if applicable)
No response
How much RAM does your server have?
4
What processor Architecture does your CPU have?
ARM64
Describe the Bug
Hello, I installed Recognize app and my photos were succesfully indexed.
When I try to merge or assign a photo with/to a person. I always get an error message "unable to move pic123.jpg to JohnDoe"
I installed Memories app as suggested in this topic this topic
but it did not solved the problem...
Here are highlighteds lines related to the error (in the browser console)
`.concat(e.stack)),o)}log(e,n,r){var o,i;if(!(typeof((o=this.context)==null?void 0:o.level)=="number"&&e<((i=this.context)==null?void 0:i.level)))switch(typeof n=="object"&&r?.error===void 0&&(r.error=n),e){case it.Debug:console.debug(this.formatMessage(n,it.Debug,r),r);break;case it.Info:console.info(this.formatMessage(n,it.Info,r),r);break;case it.Warn:console.warn(this.formatMessage(n,it.Warn,r),r);break;case it.Error:console.error(this.formatMessage(n,it.Error,r),r);break;case it.Fatal:default:console.error(this.formatMessage(n,it.Fatal,r),r);break}}debug(e,n){this.log(it.Debug,e,Object.assign({},this.context,n))}info(e,n){this.log(it.Info,e,Object.assign({},this.context,n))}warn(e,n){this.log(it.Warn,e,Object.assign({},this.context,n))}error(e,n){this.log(it.Error,e,Object.assign({},this.context,n))}fatal(e,n){this.log(it.Fatal,e,Object.assign({},this.context,n))}}function op(t){return new rp(t)}var ip=Object.defineProperty,sp=(t,e,n)=>e in t?ip(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n,Qs=(t,e,n)=>(sp(t,typeof e!="symbol"?e+"":e,n),n);class ap{constructor(e){Qs(this,"context"),Qs(this,"factory"),this.context={},this.factory=e}setApp(e){return this.context.app=e,this}setLogLevel(e){return this.context.level=e,this}setUid(e){return this.context.uid=e,this}detectUser(){const e=Rr();return e!==null&&(this.context.uid=e.uid),this}detectLogLevel(){const e=this,n=()=>{var r,o;document.readyState==="complete"||document.readyState==="interactive"?(e.context.level=(o=(r=window._oc_config)==null?void 0:r.loglevel)!=null?o:it.Warn,window._oc_debug&&(e.context.level=it.Debug),document.removeEventListener("readystatechange",n)):document.addEventListener("readystatechange",n)};return n(),this}build(){return this.context.level===void 0&&this.detectLogLevel(),this.factory(this.context)}}function up(){return new ap(op)}var go,ta;function cp(){if(ta)return go;ta=1;function t(o){if(typeof o!="string")throw new TypeError("Path must be a string. Received "+JSON.stringify(o))}function e(o,i){for(var s="",u=0,c=-1,l=0,a,p=0;p<=o.length;++p){if(p<o.length)a=o.charCodeAt(p);else{if(a===47)break;a=47}if(a===47){if(!(c===p-1||l===1))if(c!==p-1&&l===2){if(s.length<2||u!==2||s.charCodeAt(s.length-1)!==46||s.charCodeAt(s.length-2)!==46){if(s.length>2){var f=s.lastIndexOf("/");if(f!==s.length-1){f===-1?(s="",u=0):(s=s.slice(0,f),u=s.length-1-s.lastIndexOf("/")),c=p,l=0;continue}}else if(s.length===2||s.length===1){s="",u=0,c=p,l=0;continue}}i&&(s.length>0?s+="/..":s="..",u=2)}else s.length>0?s+="/"+o.slice(c+1,p):s=o.slice(c+1,p),u=p-c-1;c=p,l=0}else a===46&&l!==-1?++l:l=-1}return s}function n(o,i){var s=i.dir||i.root,u=i.base||(i.name||"")+(i.ext||"");return s?s===i.root?s+u:s+o+u:u}var r={resolve:function(){for(var o="",i=!1,s,u=arguments.length-1;u>=-1&&!i;u--){var c;u>=0?c=arguments[u]:(s===void 0&&(s=Ze.cwd()),c=s),t(c),c.length!==0&&(o=c+"/"+o,i=c.charCodeAt(0)===47)}return o=e(o,!i),i?o.length>0?"/"+o:"/":o.length>0?o:"."},normalize:function(o){if(t(o),o.length===0)return".";var i=o.charCodeAt(0)===47,s=o.charCodeAt(o.length-1)===47;return o=e(o,!i),o.length===0&&!i&&(o="."),o.length>0&&s&&(o+="/"),i?"/"+o:o},isAbsolute:function(o){return t(o),o.length>0&&o.charCodeAt(0)===47},join:function(){if(arguments.length===0)return".";for(var o,i=0;i<arguments.length;++i){var s=arguments[i];t(s),s.length>0&&(o===void 0?o=s:o+="/"+s)}return o===void 0?".":r.normalize(o)},relative:function(o,i){if(t(o),t(i),o===i||(o=r.resolve(o),i=r.resolve(i),o===i))return"";for(var s=1;s<o.length&&o.charCodeAt(s)===47;++s);for(var u=o.length,c=u-s,l=1;l<i.length&&i.charCodeAt(l)===47;++l);for(var a=i.length,p=a-l,f=c<p?c:p,h=-1,d=0;d<=f;++d){if(d===f){if(p>f){if(i.charCodeAt(l+d)===47)return i.slice(l+d+1);if(d===0)return i.slice(l+d)}else c>f&&(o.charCodeAt(s+d)===47?h=d:d===0&&(h=0));break}var g=o.charCodeAt(s+d),v=i.charCodeAt(l+d);if(g!==v)break;g===47&&(h=d)}var O="";for(d=s+h+1;d<=u;++d)(d===u||o.charCodeAt(d)===47)&&(O.length===0?O+="..":O+="/..");return O.length>0?O+i.slice(l+h):(l+=h,i.charCodeAt(l)===47&&++l,i.slice(l))},_makeLong:function(o){return o},dirname:function(o){if(t(o),o.length===0)return".";for(var i=o.charCodeAt(0),s=i===47,u=-1,c=!0,l=o.length-1;l>=1;--l)if(i=o.charCodeAt(l),i===47){if(!c){u=l;break}}else c=!1;return u===-1?s?"/":".":s&&u===1?"//":o.slice(0,u)},basename:function(o,i){if(i!==void 0&&typeof i!="string")throw new TypeError('"ext" argument must be a string');t(o);var s=0,u=-1,c=!0,l;if(i!==void 0&&i.length>0&&i.length<=o.length){if(i.length===o.length&&i===o)return"";var a=i.length-1,p=-1;for(l=o.length-1;l>=0;--l){var f=o.charCodeAt(l);if(f===47){if(!c){s=l+1;break}}else p===-1&&(c=!1,p=l+1),a>=0&&(f===i.charCodeAt(a)?--a===-1&&(u=l):(a=-1,u=p))}return s===u?u=p:u===-1&&(u=o.length),o.slice(s,u)}else{for(l=o.length-1;l>=0;--l)if(o.charCodeAt(l)===47){if(!c){s=l+1;break}}else u===-1&&(c=!1,u=l+1);return u===-1?"":o.slice(s,u)}},extname:function(o){t(o);for(var i=-1,s=0,u=-1,c=!0,l=0,a=o.length-1;a>=0;--a){var p=o.charCodeAt(a);if(p===47){if(!c){s=a+1;break}continue}u===-1&&(c=!1,u=a+1),p===46?i===-1?i=a:l!==1&&(l=1):i!==-1&&(l=-1)}return i===-1||u===-1||l===0||l===1&&i===u-1&&i===s+1?"":o.slice(i,u)},format:function(o){if(o===null||typeof o!="object")throw new TypeError('The "pathObject" argument must be of type Object. Received type '+typeof o);return n("/",o)},parse:function(o){t(o);var i={root:"",dir:"",base:"",ext:"",name:""};if(o.length===0)return i;var s=o.charCodeAt(0),u=s===47,c;u?(i.root="/",c=1):c=0;for(var l=-1,a=0,p=-1,f=!0,h=o.length-1,d=0;h>=c;--h){if(s=o.charCodeAt(h),s===47){if(!f){a=h+1;break}continue}p===-1&&(f=!1,p=h+1),s===46?l===-1?l=h:d!==1&&(d=1):l!==-1&&(d=-1)}return l===-1||p===-1||d===0||d===1&&l===p-1&&l===a+1?p!==-1&&(a===0&&u?i.base=i.name=o.slice(1,p):i.base=i.name=o.slice(a,p)):(a===0&&u?(i.name=o.slice(1,l),i.base=o.slice(1,p)):(i.name=o.slice(a,l),i.base=o.slice(a,p)),i.ext=o.slice(l,p)),a>0?i.dir=o.slice(0,a-1):u&&(i.dir="/"),i},sep:"/",delimiter:":",win32:null,posix:null};return r.posix=r,go=r,go}var Te=cp();function lp(t){return t&&t.split("/").map(encodeURIComponent).join("/")}function bm(t){return t.replace(/\\/g,"/").replace(/.*\//,"")}function _m(...t){if(arguments.length<1)return"";const e=t.filter(c=>c.length>0);if(e.length<1)return"";const n=e[e.length-1],r=e[0].charAt(0)==="/",o=n.charAt(n.length-1)==="/",i=e.reduce((c,l)=>c.concat(l.split("/")),[]);let s=!r;const u=i.reduce((c,l)=>l===""?c:s?(s=!1,c+l):c+"/"+l,"");return o?u+"/":u}const ar=up().setApp("@nextcloud/files").detectUser().build();var Ti=(t=>(t.Folder="folder",t.File="file",t))(Ti||{}),Vt=(t=>(t[t.NONE=0]="NONE",t[t.CREATE=4]="CREATE",t[t.READ=1]="READ",t[t.UPDATE=2]="UPDATE",t[t.DELETE=8]="DELETE",t[t.SHARE=16]="SHARE",t[t.ALL=31]="ALL",t))(Vt||{});const Mu=function(t,e){return t.match(e)!==null},fe=(t,e)=>{if(t.id&&typeof t.id!="number")throw new Error("Invalid id type of value");if(!t.source)throw new Error("Missing mandatory source");try{new URL(t.source)}catch{throw new Error("Invalid source format, source must be a valid URL")}if(!t.source.startsWith("http"))throw new Error("Invalid source format, only http(s) is supported");if(t.displayname&&typeof t.displayname!="string")throw new Error("Invalid displayname type");if(t.mtime&&!(t.mtime instanceof Date))throw new Error("Invalid mtime type");if(t.crtime&&!(t.crtime instanceof Date))throw new Error("Invalid crtime type");if(!t.mime||typeof t.mime!="string"||!t.mime.match(/^[-\w.]+\/[-+\w.]+$/gi))throw new Error("Missing or invalid mandatory mime");if("size"in t&&typeof t.size!="number"&&t.size!==void 0)throw new Error("Invalid size type");if("permissions"in t&&t.permissions!==void 0&&!(typeof t.permissions=="number"&&t.permissions>=Vt.NONE&&t.permissions<=Vt.ALL))throw new Error("Invalid permissions");if(t.owner&&t.owner!==null&&typeof t.owner!="string")throw new Error("Invalid owner type");if(t.attributes&&typeof t.attributes!="object")throw new Error("Invalid attributes type");if(t.root&&typeof t.root!="string")throw new Error("Invalid root type");if(t.root&&!t.root.startsWith("/"))throw new Error("Root must start with a leading slash");if(t.root&&!t.source.includes(t.root))throw new Error("Root must be part of the source");if(t.root&&Mu(t.source,e)){const n=t.source.match(e)[0];if(!t.source.includes(Te.join(n,t.root)))throw new Error("The root must be relative to the service. e.g /files/emma")}if(t.status&&!Object.values(Ni).includes(t.status))throw new Error("Status must be a valid NodeStatus")};var Ni=(t=>(t.NEW="new",t.FAILED="failed",t.LOADING="loading",t.LOCKED="locked",t))(Ni||{});class Dr{_data;_attributes;_knownDavService=/(remote|public)\.php\/(web)?dav/i;readonlyAttributes=Object.entries(Object.getOwnPropertyDescriptors(Dr.prototype)).filter(e=>typeof e[1].get=="function"&&e[0]!=="__proto__").map(e=>e[0]);handler={set:(e,n,r)=>this.readonlyAttributes.includes(n)?!1:Reflect.set(e,n,r),deleteProperty:(e,n)=>this.readonlyAttributes.includes(n)?!1:Reflect.deleteProperty(e,n),get:(e,n,r)=>this.readonlyAttributes.includes(n)?(ar.warn(`Accessing "Node.attributes.${n}" is deprecated, access it directly on the Node instance.`),Reflect.get(this,n)):Reflect.get(e,n,r)};constructor(e,n){e.mime||(e.mime="application/octet-stream"),fe(e,n||this._knownDavService),this._data={displayname:e.attributes?.displayname,...e,attributes:{}},this._attributes=new Proxy(this._data.attributes,this.handler),this.update(e.attributes??{}),n&&(this._knownDavService=n)}get source(){return this._data.source.replace(/\/$/i,"")}get encodedSource(){const{origin:e}=new URL(this.source);return e+lp(this.source.slice(e.length))}get basename(){return Te.basename(this.source)}get displayname(){return this._data.displayname||this.basename}set displayname(e){fe({...this._data,displayname:e},this._knownDavService),this._data.displayname=e}get extension(){return Te.extname(this.source)}get dirname(){if(this.root){let n=this.source;this.isDavResource&&(n=n.split(this._knownDavService).pop());const r=n.indexOf(this.root),o=this.root.replace(/\/$/,"");return Te.dirname(n.slice(r+o.length)||"/")}const e=new URL(this.source);return Te.dirname(e.pathname)}get mime(){return this._data.mime||"application/octet-stream"}set mime(e){e??="application/octet-stream",fe({...this._data,mime:e},this._knownDavService),this._data.mime=e}get mtime(){return this._data.mtime}set mtime(e){fe({...this._data,mtime:e},this._knownDavService),this._data.mtime=e}get crtime(){return this._data.crtime}get size(){return this._data.size}set size(e){fe({...this._data,size:e},this._knownDavService),this.updateMtime(),this._data.size=e}get attributes(){return this._attributes}get permissions(){return this.owner===null&&!this.isDavResource?Vt.READ:this._data.permissions!==void 0?this._data.permissions:Vt.NONE}set permissions(e){fe({...this._data,permissions:e},this._knownDavService),this.updateMtime(),this._data.permissions=e}get owner(){return this.isDavResource?this._data.owner:null}get isDavResource(){return Mu(this.source,this._knownDavService)}get isDavRessource(){return this.isDavResource}get root(){return this._data.root?this._data.root.replace(/^(.+)\/$/,"$1"):this.isDavResource&&Te.dirname(this.source).split(this._knownDavService).pop()||null}get path(){if(this.root){let e=this.source;this.isDavResource&&(e=e.split(this._knownDavService).pop());const n=e.indexOf(this.root),r=this.root.replace(/\/$/,"");return e.slice(n+r.length)||"/"}return(this.dirname+"/"+this.basename).replace(/\/\//g,"/")}get fileid(){return this._data?.id}get status(){return this._data?.status}set status(e){fe({...this._data,status:e},this._knownDavService),this._data.status=e}get data(){return structuredClone(this._data)}move(e){fe({...this._data,source:e},this._knownDavService);const n=this.basename;this._data.source=e,this.displayname===n&&this.basename!==n&&(this.displayname=this.basename)}rename(e){if(e.includes("/"))throw new Error("Invalid basename");this.move(Te.dirname(this.source)+"/"+e)}updateMtime(){this._data.mtime&&(this._data.mtime=new Date)}update(e){for(const[n,r]of Object.entries(e))try{r===void 0?delete this.attributes[n]:this.attributes[n]=r}catch(o){if(o instanceof TypeError)continue;throw o}}}class Ai extends Dr{get type(){return Ti.File}clone(){return new Ai(this.data)}}class Si extends Dr{constructor(e){super({...e,mime:"httpd/unix-directory"})}get type(){return Ti.Folder}get extension(){return null}get mime(){return"httpd/unix-directory"}clone(){return new Si(this.data)}}const fp=function(t=""){let e=Vt.NONE;return t&&((t.includes("C")||t.includes("K"))&&(e|=Vt.CREATE),t.includes("G")&&(e|=Vt.READ),(t.includes("W")||t.includes("N")||t.includes("V"))&&(e|=Vt.UPDATE),t.includes("D")&&(e|=Vt.DELETE),t.includes("R")&&(e|=Vt.SHARE)),e},Fu=["d:getcontentlength","d:getcontenttype","d:getetag","d:getlastmodified","d:creationdate","d:displayname","d:quota-available-bytes","d:resourcetype","nc:has-preview","nc:is-encrypted","nc:mount-type","oc:comments-unread","oc:favorite","oc:fileid","oc:owner-display-name","oc:owner-id","oc:permissions","oc:size"],Uu={d:"DAV:",nc:"http://nextcloud.org/ns",oc:"http://owncloud.org/ns",ocs:"http://open-collaboration-services.org/ns"},wm=function(t,e={nc:"http://nextcloud.org/ns"}){typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...Fu],window._nc_dav_namespaces={...Uu});const n={...window._nc_dav_namespaces,...e};if(window._nc_dav_properties.find(o=>o===t))return ar.warn(`${t} already registered`,{prop:t}),!1;if(t.startsWith("<")||t.split(":").length!==2)return ar.error(`${t} is not valid. See example: 'oc:fileid'`,{prop:t}),!1;const r=t.split(":")[0];return n[r]?(window._nc_dav_properties.push(t),window._nc_dav_namespaces=n,!0):(ar.error(`${t} namespace unknown`,{prop:t,namespaces:n}),!1)},Ci=function(){return typeof window._nc_dav_properties>"u"&&(window._nc_dav_properties=[...Fu]),window._nc_dav_properties.map(t=>`<${t} />`).join(" ")},$i=function(){return typeof window._nc_dav_namespaces>"u"&&(window._nc_dav_namespaces={...Uu}),Object.keys(window._nc_dav_namespaces).map(t=>`xmlns:${t}="${window._nc_dav_namespaces?.[t]}"`).join(" ")},Em=function(){return`<?xml version="1.0"?>
import{f as n,t as i,V as c}from"./preload-helper-DadE4qT2.chunk.mjs";import{N as l}from"./NcActionButton-DykQxmXJ-BQWCX8rI.chunk.mjs";import{j as r,i as f,y as d,x as h,l as s,C as a}from"./index-CP7j5eJN.chunk.mjs";import{N as u}from"./NcEmptyContent--pYG7aSD.chunk.mjs";import{g as p,h as m,f as F,i as v,j as g,A as _,e as y,k as N,S as w,a as C,c as M,n as k}from"./icons-CFZwNZD8.chunk.mjs";import{F as S}from"./FaceMergeForm-B335Pla_.chunk.mjs";import{F as I}from"./FileComponent-CeO_wawf.chunk.mjs";import{F as A,a as $}from"./FilesSelectionMixin-DCdPp1le.chunk.mjs";import{F as x}from"./FaceCover-CsQ3hCig.chunk.mjs";import{F as R}from"./FetchFilesMixin-BooETt60.chunk.mjs";import"./index-BCevi9E9.chunk.mjs";import"./createElementId-DhjFt1I9-B2HCdIOx.chunk.mjs";import"./NcCheckboxRadioSwitch-DAPHFb0L-BhQ4Gz0m.chunk.mjs";import"./useModelMigration-EhAWvqDD-Zhby4giX.chunk.mjs";import"./fileFetcher-Dgdh_mFl.chunk.mjs";import"./AbortControllerMixin-Bb5X6Yae.chunk.mjs";import"./PhotoSearch-DG75KrdK.chunk.mjs";const B={name:"FaceContent",components:{PencilOutline:M,Star:C,StarOutline:w,Download:N,Close:y,AlertCircleOutline:_,SendOutline:g,Merge:v,ArrowLeft:F,AccountBoxMultipleOutline:m,FaceMergeForm:S,FilesListViewer:$,FileComponent:I,NcLoadingIcon:h,NcEmptyContent:u,NcActions:d,NcActionButton:l,NcDialog:f,NcButton:r,AccountSwitchOutline:p},directives:{focus(e){c.nextTick(()=>e.focus())}},mixins:[x,R,A],props:{faceName:{type:String,default:"/"}},data(){return{showMoveModal:!1,showMergeModal:!1,showRenameModal:!1,loadingCount:0,appContent:document.getElementById("app-content-vue")}},computed:{files(){return this.$store.state.files.files},facesFiles(){return this.$store.state.faces.facesFiles},face(){return this.faces[this.faceName]},faceFileIds(){return this.facesFiles[this.faceName]||[]},shouldFavoriteSelection(){return this.selectedFileIds.some(e=>this.$store.state.files.files[e].attributes.favorite===0)}},watch:{face(){this.face&&this.fetchFaceContent(this.faceName)}},mounted(){this.fetchFaceContent(this.faceName)},methods:{openViewer(e){window.OCA.Viewer.open({fileInfo:a(this.files[e]),list:this.faceFileIds.map(t=>a(this.files[t]))})},async handleRemoveFilesFromFace(e){try{this.loadingCount++,await this.$store.dispatch("removeFilesFromFace",{faceName:this.faceName,fileIdsToRemove:e}),this.resetSelection()}catch(t){s.error(t)}finally{this.loadingCount--}},async handleDeleteFace(){try{this.loadingCount++,await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.$router.push("/faces")}catch(e){s.error(e)}finally{this.loadingCount--}},async handleRenameFace(e){try{this.loadingCount++,this.showRenameModal=!1;const t=this.faceName;await this.$store.dispatch("renameFace",{oldName:t,faceName:e}),this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMerge(e){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:this.facesFiles[this.faceName]}),await this.$store.dispatch("deleteFace",{faceName:this.faceName}),this.showMergeModal=!1,this.$router.push({name:"facecontent",params:{faceName:e}})}catch(t){s.error(t)}finally{this.loadingCount--}},async handleMove(e,t){try{this.loadingCount++,await this.$store.dispatch("moveFilesToFace",{oldFace:this.faceName,faceName:e,fileIdsToMove:t}),this.showMoveModal=!1}catch(o){s.error(o)}finally{this.loadingCount--}},async favoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!0})}catch(e){s.error(e)}finally{this.loadingCount--}},async unFavoriteSelection(){try{this.loadingCount++,await this.$store.dispatch("toggleFavoriteForFiles",{fileIds:this.selectedFileIds,favoriteState:!1})}catch(e){s.error(e)}finally{this.loadingCount--}},async downloadSelection(){try{this.loadingCount++,await this.$store.dispatch("downloadFiles",this.selectedFileIds)}catch(e){s.error(e)}finally{this.loadingCount--}},t:i,n}};var O=function(){var e=this,t=e._self._c;return e.face===void 0&&!e.loadingFiles&&!e.loadingFaces?t("NcEmptyContent",{staticClass:"empty-content-with-illustration",scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountBoxMultipleOutline")]},proxy:!0}],null,!1,2861705255)},[e._v(" "+e._s(e.t("photos","This person could not be found"))+" ")]):e.errorFetchingFiles||e.errorFetchingFaces?t("NcEmptyContent",{scopedSlots:e._u([{key:"icon",fn:function(){return[t("AlertCircleOutline")]},proxy:!0}])},[e._v(" "+e._s(e.t("photos","An error occurred"))+" ")]):t("div",{staticClass:"face"},[t("div",{staticClass:"face__header"},[t("div",{staticClass:"face__header__left"},[t("NcActions",[t("NcActionButton",{on:{click:function(o){return e.$router.push("/faces/")}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("ArrowLeft")]},proxy:!0}])},[e._v(e._s(e.t("photos","Back"))+" ")])],1),t("div",{staticClass:"face__header__title"},[e.face!==void 0?t("h2",{staticClass:"face-name",class:{"hidden-visually":e.face.basename.match(/^[0-9]+$/)}},[e._v(" "+e._s(e.face.basename)+" ")]):e._e()]),e.loadingCount>0||e.loadingFaces?t("NcLoadingIcon"):e._e()],1),e.face!==void 0?t("div",{staticClass:"face__header__actions"},[t("NcActions",[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Rename person")},on:{click:function(o){e.showRenameModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("PencilOutline")]},proxy:!0}],null,!1,347985790)},[e._v(" "+e._s(e.t("photos","Rename person"))+" ")])],1),t("NcActions",{attrs:{"force-menu":!0}},[Object.keys(e.faces).length>1?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Merge with different person")},on:{click:function(o){e.showMergeModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Merge")]},proxy:!0}],null,!1,3117189691)},[e._v(" "+e._s(e.t("photos","Merge with different person"))+" ")]):e._e(),e.selectedFileIds.length?[t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Download selected files")},on:{click:e.downloadSelection}},[t("Download",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Download selected photos"))+" ")],1),e.shouldFavoriteSelection?t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Mark selection as favorite")},on:{click:e.favoriteSelection}},[t("StarOutline",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Favorite"))+" ")],1):t("NcActionButton",{attrs:{"close-after-click":!0,"aria-label":e.t("photos","Remove selection from favorites")},on:{click:e.unFavoriteSelection}},[t("Star",{attrs:{slot:"icon"},slot:"icon"}),e._v(" "+e._s(e.t("photos","Remove from favorites"))+" ")],1),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){e.showMoveModal=!0}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("AccountSwitchOutline")]},proxy:!0}],null,!1,1476410576)},[e._v(" "+e._s(e.n("photos","Move photo to a different person","Move photos to a different person",e.selectedFileIds.length))+" ")]),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:function(o){return e.handleRemoveFilesFromFace(e.selectedFileIds)}},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.n("photos","Remove photo from person","Remove photos from person",e.selectedFileIds.length))+" ")])]:e._e(),t("NcActionButton",{attrs:{"close-after-click":!0},on:{click:e.handleDeleteFace},scopedSlots:e._u([{key:"icon",fn:function(){return[t("Close")]},proxy:!0}],null,!1,1051939733)},[e._v(" "+e._s(e.t("photos","Remove person"))+" ")])],2)],1):e._e()]),e.face!==void 0?t("FilesListViewer",{staticClass:"face__photos",attrs:{"container-element":e.appContent,"file-ids":e.faceFileIds,loading:e.loadingFiles||e.loadingFaces},scopedSlots:e._u([{key:"default",fn:function({file:o}){return t("FileComponent",{attrs:{file:e.files[o.id],"allow-selection":!0,selected:e.selection[o.id]===!0},on:{click:e.openViewer,"select-toggled":e.onFileSelectToggle}})}}],null,!1,3208665420)}):e._e(),e.showRenameModal?t("NcDialog",{attrs:{name:e.t("photos","Rename person"),"close-on-click-outside":"",size:"small"},on:{closing:function(o){e.showRenameModal=!1}},scopedSlots:e._u([{key:"actions",fn:function(){return[t("NcButton",{attrs:{"aria-label":e.t("photos","Save."),variant:"primary",disabled:e.$refs.nameInput&&e.$refs.nameInput.value.trim()===""},on:{click:function(o){return e.handleRenameFace(e.$refs.nameInput.value)}},scopedSlots:e._u([{key:"icon",fn:function(){return[e.loadingCount?t("NcLoadingIcon"):t("SendOutline")]},proxy:!0}],null,!1,4093389955)},[e._v(" "+e._s(e.t("photos","Save"))+" ")])]},proxy:!0}],null,!1,1503261394)},[t("div",{staticClass:"rename-form"},[t("input",{directives:[{name:"focus",rawName:"v-focus"}],ref:"nameInput",attrs:{type:"text",name:"name",required:"",placeholder:e.t("photos","Name of this person")},domProps:{value:e.faceName},on:{keydown:function(o){return!o.type.indexOf("key")&&e._k(o.keyCode,"enter",13,o.key,"Enter")?null:e.handleRenameFace(e.$refs.nameInput.value)}}})])]):e._e(),e.showMergeModal?t("NcDialog",{attrs:{name:e.t("photos","Merge person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMergeModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMerge(o)}}})],1):e._e(),e.showMoveModal?t("NcDialog",{attrs:{name:e.t("photos","Move to different person"),"close-on-click-outside":"",size:"normal"},on:{closing:function(o){e.showMoveModal=!1}}},[t("FaceMergeForm",{attrs:{"first-face":e.faceName},on:{select:function(o){return e.handleMove(o,e.selectedFileIds)}}})],1):e._e()],1)},b=[],D=k(B,O,b,!1,null,"e7556087");const Z=D.exports;export{Z as default};
Expected Behavior
Pictures moved/merge to same selected/same person
To Reproduce
Select one or more pics and then select merge or assign with/to an existing a person.
Debug log
No response
Which version of recognize are you using?
11
Enabled Modes
Face recognition
TensorFlow mode
WASM mode
Downstream App
Memories App
Which Nextcloud version do you have installed?
33.0.2
Which Operating system do you have installed?
Ubuntu 24.04
Which database are you running Nextcloud on?
Mariadb Ver 15.1 Distrib 10.11.14-MariaDB
Which Docker container are you using to run Nextcloud? (if applicable)
No response
How much RAM does your server have?
4
What processor Architecture does your CPU have?
ARM64
Describe the Bug
Hello, I installed Recognize app and my photos were succesfully indexed.
When I try to merge or assign a photo with/to a person. I always get an error message "unable to move pic123.jpg to JohnDoe"
I installed Memories app as suggested in this topic this topic
but it did not solved the problem...
Here are highlighteds lines related to the error (in the browser console)
Expected Behavior
Pictures moved/merge to same selected/same person
To Reproduce
Select one or more pics and then select merge or assign with/to an existing a person.
Debug log
No response