BigPizzaV3/CodexPlusPlus · error · anyhow::Error
不是 Codex++ 会话导入链接
Error message
不是 Codex++ 会话导入链接
What it means
Thrown by save_pending_session_share_from_protocol_url when a codexpp://-style protocol URL does not carry the marker that identifies a Codex++ session import link. The URL parsed successfully but is some other protocol payload; the offending input is the protocol URL's identifying fields, and the handler refuses to treat foreign links as session shares.
Source
Thrown at crates/codex-plus-core/src/session_share.rs:18
use aes_gcm::{Aes256Gcm, KeyInit, Nonce, aead::Aead};
use anyhow::{Context, bail};
use base64::Engine;
use rusqlite::Connection;
use serde_json::{Value, json};
use std::fs::{self, OpenOptions};
use std::io::Write;
use std::path::{Path, PathBuf};
use std::time::{SystemTime, UNIX_EPOCH};
use uuid::Uuid;
const MAX_ROLLOUT_BYTES: usize = 16 * 1024 * 1024;
const SHARE_HOSTS: &[&str] = &["share.codexpp.cc", "codexpp-share.pages.dev"];
pub fn save_pending_session_share_from_protocol_url(url: &str) -> anyhow::Result<String> {
let parsed = reqwest::Url::parse(url).context("会话导入链接格式无效")?;
if parsed.scheme() != "codexplusplus" || parsed.host_str() != Some("session") {
bail!("不是 Codex++ 会话导入链接");
}
let share_url = parsed
.query_pairs()
.find(|(key, _)| key == "url")
.map(|(_, value)| value.into_owned())
.context("会话导入链接缺少分享 URL")?;
validate_share_url(&share_url)?;
let path = crate::paths::default_pending_session_share_path();
if let Some(parent) = path.parent() {
fs::create_dir_all(parent)?;
}
fs::write(&path, format!("{share_url}\n"))?;
Ok(share_url)
}
pub fn load_pending_session_share() -> anyhow::Result<Option<String>> {
let path = crate::paths::default_pending_session_share_path();
if !path.exists() {View on GitHub (pinned to f2074595a2)
Solutions
- 使用 Codex++ 生成的导入协议链接
- 检查链接是否被截断或改写
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/session_share.rs:18 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/f828d7398401168a.
Report an issue: GitHub.