Compare commits

..
Author SHA1 Message Date
Bendik Aagaard Lynghaug 7b54c4c6d7 Release 0.6.16
Test / test (push) Successful in 1m8s
Publish release / publish (push) Successful in 1m56s
2026-10-01 21:46:45 +02:00
bl 951fac9aec Merge pull request 'Test fixtures get the action the lint now requires' (#28) from fixture-action into main
Test / test (push) Successful in 1m10s
2026-10-01 19:46:29 +00:00
Bendik Aagaard LynghaugandClaude Fable 5.1 738dbac7fe Test fixtures: every form has the action the lint now requires
Test / test (pull_request) Successful in 21s
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01GT37Z1Xtfd9pUuQtMTg6Yt
2026-10-01 21:46:24 +02:00
bl 98f93f5ad5 Merge pull request 'A form with no action is refused; portal iris' (#27) from form-needs-action into main
docs / deploy (push) Successful in 3s
Test / test (push) Failing after 1m7s
2026-10-01 19:42:03 +00:00
3 changed files with 8 additions and 5 deletions
Generated
+1 -1
View File
@@ -3357,7 +3357,7 @@ dependencies = [
[[package]] [[package]]
name = "portal" name = "portal"
version = "0.6.15" version = "0.6.16"
dependencies = [ dependencies = [
"anyhow", "anyhow",
"arc-swap", "arc-swap",
+1 -1
View File
@@ -1,6 +1,6 @@
[package] [package]
name = "portal" name = "portal"
version = "0.6.15" version = "0.6.16"
edition = "2021" edition = "2021"
[lib] [lib]
+6 -3
View File
@@ -1323,6 +1323,7 @@ alternatives:
public: true public: true
source: {{ kind: kv, bucket: things }} source: {{ kind: kv, bucket: things }}
- name: Object - name: Object
action: /object
record_as: things record_as: things
features: features:
- name: Yours - name: Yours
@@ -1420,6 +1421,7 @@ id: /t
name: Where is it? name: Where is it?
alternatives: alternatives:
- name: A - name: A
action: /t
features: features:
- name: Where - name: Where
requirements: requirements:
@@ -1523,6 +1525,7 @@ id: /b
name: B name: B
alternatives: alternatives:
- name: A - name: A
action: /b
features: features:
- name: "" - name: ""
requirements: requirements:
@@ -1564,7 +1567,7 @@ alternatives:
fn question_with_requirement(req_yaml: &str) -> std::collections::HashMap<String, Question> { fn question_with_requirement(req_yaml: &str) -> std::collections::HashMap<String, Question> {
let question: Question = serde_yaml::from_str(&format!( let question: Question = serde_yaml::from_str(&format!(
"id: /g\nname: G\nalternatives:\n - name: A\n features:\n - name: \"\"\n requirements:\n{req_yaml}\n" "id: /g\nname: G\nalternatives:\n - name: A\n action: /g\n features:\n - name: \"\"\n requirements:\n{req_yaml}\n"
)) ))
.unwrap(); .unwrap();
std::collections::HashMap::from([(question.id.clone(), question)]) std::collections::HashMap::from([(question.id.clone(), question)])
@@ -1835,7 +1838,7 @@ alternatives:
fn recorded_buckets_must_be_attended() { fn recorded_buckets_must_be_attended() {
let write_only = vec![( let write_only = vec![(
"index.yaml".to_string(), "index.yaml".to_string(),
"name: Home\nalternatives:\n - name: send\n record_as: black_hole\n".to_string(), "name: Home\nalternatives:\n - name: send\n action: /\n record_as: black_hole\n".to_string(),
)]; )];
let questions = build_questions(&write_only).unwrap(); let questions = build_questions(&write_only).unwrap();
let err = validate_questions(&questions, &Default::default()).unwrap_err(); let err = validate_questions(&questions, &Default::default()).unwrap_err();
@@ -1846,7 +1849,7 @@ alternatives:
let with_desk = vec![ let with_desk = vec![
( (
"index.yaml".to_string(), "index.yaml".to_string(),
"name: Home\nalternatives:\n - name: send\n record_as: inbox\n".to_string(), "name: Home\nalternatives:\n - name: send\n action: /\n record_as: inbox\n".to_string(),
), ),
( (
"review/index.yaml".to_string(), "review/index.yaml".to_string(),