You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
return oapi.UploadExtensionsAndRestart500JSONResponse{InternalErrorJSONResponse: oapi.InternalErrorJSONResponse{Message: "failed to chown extension dir"}}, nil
159
159
}
160
160
161
-
// Check if the zip contains update.xml and .crx files (for policy-installed extensions)
162
-
// If they exist, they'll be extracted; if not, they need to be generated separately
163
-
updateXMLPath:=filepath.Join(dest, "update.xml")
164
-
crxPath:=filepath.Join(dest, p.name+".crx")
165
-
hasUpdateXML:=false
166
-
hasCRX:=false
167
-
168
-
if_, err:=os.Stat(updateXMLPath); err==nil {
169
-
hasUpdateXML=true
170
-
log.Info("found update.xml in extension zip", "name", p.name)
171
-
}
172
-
if_, err:=os.Stat(crxPath); err==nil {
173
-
hasCRX=true
174
-
log.Info("found .crx file in extension zip", "name", p.name)
175
-
}
176
-
177
-
if!hasUpdateXML||!hasCRX {
178
-
log.Info("extension zip missing update.xml or .crx - these files should be included for policy-installed extensions", "name", p.name, "hasUpdateXML", hasUpdateXML, "hasCRX", hasCRX)
Message: fmt.Sprintf("extension %s requires enterprise policy (ExtensionInstallForcelist) but is missing required files: update.xml (present: %v), .crx file (present: %v). These files are required for Chrome to install the extension.", p.name, hasUpdateXML, hasCRX),
211
+
},
212
+
}, nil
213
+
}
202
214
} else {
203
215
// Only add --load-extension flags for non-policy extensions
0 commit comments