lift-free.openapps.xyz

Source

This app’s code and revision history are public. Download a copy or explore the files below.

Public
The app’s code and revision history are public.
Owned app · rev f9f4e37d6945
Run it yourself
Take the whole tree and run it on your own machine. The download needs no account. Cloning needs a sign-in.
Download .zip
bounded clone 23e397d8a5d5bf7756362640
A copy you download is not bounded. The guarantees this app runs under - declared egress, proven invariants, writes that fail closed - live in the runtime serving this page, not in the files. What you get is auditable source you can read and run, with no runtime guarantees attached.
← All files
policy-tests/server-time.json
{
 "version": "1",
 "name": "routine and workout times (at) are never later than the server's now, so another device reading changes since its newest time never skips later ones",
 "actors": {
  "Ann": "ann_user"
 },
 "steps": [
  {
   "op": "setTime",
   "epoch": 1800000000
  },
  {
   "op": "as",
   "who": "Ann"
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000600
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "data": {
    "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push\",\"items\":[],\"at\":1}",
    "at": 1800000600
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000
   }
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "data": {
    "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push\",\"items\":[],\"at\":1}",
    "at": 1800000000
   }
  },
  {
   "op": "advanceTime",
   "seconds": 60
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push day\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000060
   }
  },
  {
   "op": "set",
   "path": "lifters/ann_user/workouts/wk0001abcdef",
   "data": {
    "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Push day 2\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
    "at": 1800000000000
   },
   "shouldFail": true
  },
  {
   "op": "set",
   "path": "lifters/ann_user/routines/rt0001abcdef",
   "data": {
    "data": "{\"id\":\"rt0001abcdef\",\"name\":\"Push A\",\"items\":[],\"at\":1}",
    "at": 1800003600
   },
   "shouldFail": true
  },
  {
   "op": "setMany",
   "writes": [
    {
     "path": "lifters/ann_user/workouts/wk0002abcdef",
     "data": {
      "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Legs\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
      "at": 1800000060
     }
    },
    {
     "path": "lifters/ann_user/workouts/wk0003abcdef",
     "data": {
      "data": "{\"id\":\"wk0001abcdef\",\"name\":\"Pull\",\"start\":1800000000000,\"end\":1800003600000,\"items\":[],\"at\":1}",
      "at": 1800000061
     }
    }
   ],
   "shouldFail": true
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/workouts/wk0001abcdef).at == 1800000060"
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/routines/rt0001abcdef).at == 1800000000"
  },
  {
   "op": "expect",
   "expr": "get(/lifters/ann_user/workouts/wk0002abcdef) == null"
  }
 ]
}

Change history

Point OpenApps store links to openapps.free
f9f4e37d69 · 17 hours ago
Add favicon.ico, local share image and openapi.json for links and guides
2796c0063c · 17 hours ago
Bind agent address in policy constants
cf80a3ca66 · 19 hours ago
Add OpenApp contribution strip and OpenApps source links
5e4cc2b9f3 · 19 hours ago
Bounded source sync
ca4a3d3631 · 1 day ago
Bounded source sync
7351063f4d · 1 day ago
Bounded source sync
0ce3238c46 · 1 day ago