Fix python error in lens solver about missing attribute when launching with -game.
#jira UE-218022
#jira UE-218023
#rb jason.walter
[CL 34373772 by geoffrey douglas in ue5-main branch]
v5.5.3
- Feature: New 'workspaces' service which allows a user to share a local folder via zenserver. A workspace can have mulitple workspace shares and they provie an HTTP API that is compatible with the project oplog HTTP API. Workspaces and shares are preserved between runs. Workspaces feature is disabled by default - enable with `--workspaces-enabled` option when launching zenserver.
- New http service endpoint `/ws`
- `/ws/{workspace_id}` - manage workspaces. {workspace_id} is a Object Id
- PUT - add a workspace. Set `{workspace_id}` to `000000000000000000000000` to automatically generate id from `root_path`
- Parameter: `root_path` the root local file path of the workspace.
- GET - get information about a workspace
- DELETE - removes a workspace (does not affect the files on disk). Remove all shares inside the workspace
- `/ws/{workspace_id}/{share_id}` - manage folder shares within a workspaces. {share_id} is a Object Id
- PUT - add a workspace. Set `{share_id}` to `000000000000000000000000` to automatically generate id from `share_path`
- Parameter: `share_path` the relative local file path to the workspace root path.
- Parameter: `alias` a names alias for the share to be used with the `/ws/share/{alias}` url
- GET - get information about a workspace share
- DELETE -removes a workspace share (does not affect the files on disk)
- `/ws/{workspace_id}/{share_id}/files`
- GET - get the files in the workspace share
- Parameter: `fieldnames` is a parameter to filter which fields to include in the response. Default fields are: `id`, `clientpath` and `serverpath` (translates to `?fieldnames=id,clientpath,serverpath`). Use `?fieldnames=*` to get all the fields.
- Parameter: `filter` only applies if `fieldnames` is not given as a parameter. Use `?filter=client` to exclude the `serverpath`
- `/ws/{workspace_id}/{share_id}/entries`
- GET - get share as oplog entries
- Parameter: `fieldfilter` is a parameter to filter which fields to include in the response. Default fields are: `id`, `clientpath`, `serverpath` (translates to `?fieldnames=id,clientpath,serverpath`). Use `?fieldfilter=*` to get all the fields
- Parameter: `filter` only applies if `fieldfilter` is not given as a parameter. Use `?filter=client` to exclude the `serverpath`
- Parameter: `opkey` limits which ops to include, for a workspace share the only valid value for this parameter is `file_manifest`
- `/ws/{workspace_id}/{share_id}/{chunk}`
- GET - get the content of a file in a file share
- Parameter: `offset` the start of the range of the chunk - Defaults to zero
- Parameter: `size` the size of the range of the chunk - Defaults to entire size
- `/ws/{workspace_id}/{share_id}/{chunk}/info`
- GET - get properties of the chunk. Currently only includes the size of the chunk.
- `/ws/{workspace_id}/{share_id}/batch`
- POST - do a batch request for multiple chunks in a workspace share
- `/ws/share/{alias}/` - a shortcut to `/ws/{workspace_id}/{share_id}/` based endpoints using the alias for a workspace share.
- New `zen workspace {subcommand}` command to manage workspaces
- `create` - creates a new workspace
- `--root-path` - the root local file path of the workspace
- `--workspace` - the object id identity of the workspace, omit to automatically generate an id from the `--root-path` parameter
- `info` - gets information about a workspace
- `--workspace` - the object id identity of the workspace
- `remove` - removes an existing workspace
- `--workspace` - the object id identity of the workspace
- New `zen workspace-share {subcommand}` command to manage workspace shares
- `create` - creates a new workspace
- `--workspace` - the object id identity of the workspace to add the share to
- `--root-path` - the root local file path of the workspace - if given it will automatically create the workspace before creating the share. If `--workspace` is omitted, an id will be generated from the `--root-path` parameter
- `--share-path` - the relative local file path to the workspace root path
- `--share` - the object id identity of the workspace share, omit to automatically generate an id from the `--share-path` parameter
- `--alias` - a name for the workspace share that can be accessed via the `/ws/share/<alias>` endpoint
- `info` - gets information about a workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `remove` - removes an existing workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `files` - get a list of files in a workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `--filter` - a list of comma separated fields to include in the response
- `--refresh` - for a refresh by re-reading the content of the local folder for the share
- `entries` - get ops for a workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `--opkey` - filter the entries using an opkey
- `--filter` - a list of comma separated fields to include in the response
- `--refresh` - for a refresh by re-reading the content of the local folder for the share
- `get` - get a chunk from a workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `--chunk` - the chunk id for the chunk or the share local path for the chunk
- `--offset` the start of the range of the chunk - Defaults to zero
- `--size` the size of the range of the chunk - Defaults to entire size
- `batch` - get multiple chunks from a workspace share
- `--workspace` - the object id identity of the workspace to add the share to
- `--share` - the object id identity of the workspace share
- `--alias` - alias name of the share - replaces `--workspace` and `--share` options
- `--chunks` - the chunk ids for the chunk or the share local paths for the chunk
- Bugfix: Removed test data added at current folder when running test
- Bugfix: Make sure we monitor and include new project/oplogs created during GCv2
- Bugfix: Make sure we monitor and include new namespaces/cache buckets created during GCv2
- Improvement: Various minor optimizations in cache package formatting
- Improvement: Add batch fetch of cache values in the GetCacheValues request
- Improvement: Use a smaller thread pool for network operations when doing oplog import to reduce risk of NIC/router failure
- Improvement: Medium worker pool now uses a minimum of 2 threads (up from 1)
- Improvement: Don't try to cache process handles on Windows if we don't have a session id
#jira UE-215560
[CL 34356093 by dan engelbrecht in ue5-main branch]
- Support for unicode (wchar instead of char)
- Get Total duraction function
- Use of named events
#jira UE-217485
[CL 34341460 by tgraupmann in ue5-main branch]
#rb Ben.Marsh
#tests Built new server architectures & installer locally, short confidence test on osx-arm64
#rnx
[CL 34337212 by patrick finegan in ue5-main branch]
- Can read from USceneComponent / USkeletalMesh / UStaticMesh
#rb rob.krajcarski
#jira UE-215781
#virtualized
[CL 34321338 by stu mckenna in ue5-main branch]