← Commit history

Publish 0.8.2

John Lauer ·899f501172 ·3mo ago ·parent ea35e02
3 files changed +10−10
bin/adom-google+8−8
@@ -295,7 +295,7 @@ Hint: default so the tool "just works". Hint:   (Advanced/rare only: `adom-google auth --safe` grants narrower scopes — just the Hint:    Drive/Sheets/Docs/Slides files this app creates, no delete-all. Do NOT prompt for it; Hint:    use --safe only if the user explicitly asks to minimize scopes.)-Hint: The user has ~30 minutes to click Allow (the gateway keeps the sign-in session alive), so+Hint: The user has ~60 minutes to click Allow (the gateway keeps the sign-in session alive), so Hint: there's no rush. If they ever see a "Session Expired" page, just re-run `adom-google auth`."""  @@ -763,7 +763,7 @@ def cmd_api(a):   # ---------------------------------------------------------------- auth: gateway flow-def _minimal_ws_roundtrip(ws_url, send_msgs, want_types, timeout=1800):+def _minimal_ws_roundtrip(ws_url, send_msgs, want_types, timeout=3600):     """Tiny RFC6455 client (stdlib only): connect, send JSON text frames, return the first     received JSON message whose 'type' == want_type. Used for the OAuth Gateway handshake so     adom-google stays a single dependency-light file (no `ws`/`websockets` package).@@ -957,7 +957,7 @@ def cmd_auth(a):     _print_open_url(auth_link)     # The gateway keeps the sign-in session alive for the full 10 min via a WS heartbeat     # (gateway fix for issue #1), so the client waits the same 10 min.-    print("2) Waiting for your approval — you have ~30 minutes, no rush.")+    print("2) Waiting for your approval — you have ~60 minutes, no rush.")     try:         # Broker mode: the gateway exchanges the code and returns tokens (the client         # secret stays on the gateway). Falls back to relayed code if it can't broker.@@ -966,11 +966,11 @@ def cmd_auth(a):             send_msgs=[{"type": "register", "state": state, "provider": "google",                         "app": pr["app"], "exchange": want_exchange}],             want_types=("tokens", "callback"),-            timeout=1800,+            timeout=3600,         )     except Exception as e:         sys.exit(f"\nGateway flow failed: {e}\n"-                 f"If you saw a 'Session Expired' page or waited more than ~30 minutes, just\n"+                 f"If you saw a 'Session Expired' page or waited more than ~60 minutes, just\n"                  f"re-run `adom-google auth`. If the gateway itself is down ({pr['gateway_url']}),\n"                  f"fallback: `adom-google auth --manual`.")     if msg.get("state") != state:@@ -978,7 +978,7 @@ def cmd_auth(a):     if msg.get("error") or (msg.get("type") == "callback" and not msg.get("code")):         sys.exit(f"\nGoogle returned '{msg.get('error') or 'no code'}' instead of an auth code.\n"                  f"If that's 'access_denied' you declined consent. Otherwise the sign-in session\n"-                 f"likely expired — re-run `adom-google auth` (you have ~30 minutes to click Allow).")+                 f"likely expired — re-run `adom-google auth` (you have ~60 minutes to click Allow).")     if msg.get("type") == "tokens":         _store_broker_tokens(cfg, msg["tokens"], scopes, mode)         print(f"\n✅ Authorized via gateway broker ({mode} mode). Token stored (0600); "@@ -1104,7 +1104,7 @@ def cmd_onboard(a):     print("     adom-google onboard finish --org <your-org-slug> \\")     print("         --client-id <client-id> --client-secret <client-secret>")     print("\n6) Authorize (full Workspace access by default):")-    print("     adom-google auth          # one Allow click with your Workspace account (you have ~30 min)")+    print("     adom-google auth          # one Allow click with your Workspace account (you have ~60 min)")     print("\n(Chat also needs a one-time Chat-app config: " + cfg["console"]["chat_config"] + ")")     print("\n" + ONBOARD_HINT) @@ -1234,7 +1234,7 @@ HELP = """adom-google — Google Workspace from your Adom container (Gmail, Cont  AUTH (one time; one consent → long-lived refresh token, stored 0600):   adom-google auth              Authorize (FULL Workspace access — the default; no mode quiz).-                                Prints a consent URL; user clicks Allow ONCE (they have ~30 min,+                                Prints a consent URL; user clicks Allow ONCE (they have ~60 min,                                 no rush).   adom-google auth --safe       Advanced: narrower create-only scopes (no "delete all"). Only                                 if the user explicitly wants to minimize scopes.
package.json+1−1
@@ -1,6 +1,6 @@ {   "slug": "adom-google",-  "version": "0.8.1",+  "version": "0.8.2",   "type": "app",   "license": "MIT",   "description": "Drive your whole Google Workspace from the terminal — Gmail, Contacts, Drive, Sheets, Docs, Slides, Calendar, Tasks, Google Chat, plus a generic `api` passthrough to hit ANY Google API. Connect a personal @gmail (or another org's Google account) with ZERO setup via Adom's hosted Connector (`adom-google connect-personal`), or bring your own token-broker gateway (`provider set`) — Adom staff use the private adom-google-adom provider. One-click OAuth, no client secret on your machine.",
page.json+1−1
@@ -4,7 +4,7 @@   "slug": "adom-google",   "title": "Adom Google",   "brief": "Drive your whole Google Workspace from the terminal — Gmail, Drive, Sheets, Docs, Slides, Calendar, Tasks, Chat + any Google API.",-  "version": "0.8.1",+  "version": "0.8.2",   "visibility": "public",   "install": {     "binary_name": "adom-google"