Skip to content

fix: Pass the all-day flag of an event to the conferencing provider EXO-90984 - #417

Merged
rdenarie merged 1 commit into
feature/maintenancefrom
fix/EXO-90984-pexip-all-day
Oct 12, 2026
Merged

rdenarie merged 1 commit into
feature/maintenancefrom
fix/EXO-90984-pexip-all-day

Conversation

@rdenarie

@rdenarie rdenarie commented Oct 8, 2026

Copy link
Copy Markdown
Member

Symptom: a conferencing provider cannot schedule the conference of an all-day agenda event as all-day: the space event call context it receives on creation carries the dates and the recurrence, not the all-day flag.

Cause: spaceEventContext in webconferencing.js builds a fixed context from its arguments, and addCall passes it callInfo.startDate, endDate and recurrence only, so an allDay in the call info is dropped. updateCall already hands the provider the call info as is.

Fix: spaceEventContext and createSpaceEventContext take a trailing allDay argument and set allDay on the context. addCall passes callInfo.allDay. The trailing argument keeps existing callers working, and the CometD create/update handlers read named keys only, so the extra field is ignored server side.

Goes with exo-addons/pexip and exoplatform/agenda PRs of EXO-90984.

Knowledge: Meeds-io/eng-standards#334

This change is classified N2 (computed at 808101d) — its approver must be an Archi/Dev who knows it is N2, not an approval on AI review alone.

…XO-90984

The space event call context carries allDay, read from the call info of
addCall and from createSpaceEventContext, so that a provider can schedule
the conference of an all-day event as all-day.
@github-actions github-actions Bot added the partialCIBuild Perform Partial CI Build label Oct 8, 2026
@rdenarie

rdenarie commented Oct 8, 2026

Copy link
Copy Markdown
Member Author

Self-review close-out — EXO-90984 (web-conferencing @ 808101d)

The review loop covered the whole delivery: this PR, exo-addons/pexip#2 and exoplatform/agenda#1209. It ran 4 rounds, independent reviewers each time. The closing round was clean. No finding on this PR.

Verified conform

  • addCall builds the space-event context with callInfo.allDay. spaceEventContext and createSpaceEventContext take it as a trailing argument, so existing callers keep working.
  • updateCall already hands the call info to the provider as is.
  • The CometD create/update handlers read named keys only (CometdWebConferencingService), so the extra allDay field changes nothing server side.
  • Without the agenda or pexip PR, the flag is simply unused.

Tests

  • No JS unit test, per the org norm. The webapp builds.
  • Covered by the local functional test of the delivery, all OK: creation (all-day, timed, quick form, multi-day, recurrent), full-form switches, drag and drop.

This change is classified N2 (computed at 808101d) — its approver must be an Archi/Dev who knows it is N2, not an approval on AI review alone.

@sonarqubecloud

sonarqubecloud Bot commented Oct 8, 2026

Copy link
Copy Markdown

@ahamdi ahamdi left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

AI review — Round #1 (final)

Reviewed at 808101dd, the whole diff (webapp/src/main/webapp/js/webconferencing.js). No findings.

Verified conform

  • spaceEventContext and createSpaceEventContext are the only definitions, and addCall's space_event branch is the only internal caller. All of them pass the new trailing allDay, so existing external callers of createSpaceEventContext keep their behaviour (allDay: false).
  • !!allDay makes the context field a strict boolean, as VisioMerge.js already does for the drawer. agenda#1209's getConferenceSchedule hands addCall/updateCall a boolean allDay too.
  • The body's claim about updateCall holds: updateCall calls provider.updateCall(id, stateInfo) with the call info unchanged, so allDay already reached the provider on update.
  • Server side: processAddCall already sent the whole callInfo through cometdParams. CometdWebConferencingService's create and update branches read named keys only (owner, ownerType, provider, title, participants, spaces, start, startDate, endDate…), so they ignore allDay. There is no server or schema change.
  • The ledger pitfall core provider lookups never settle without the provider script does not apply. The PR adds no new caller of getProvider, findCallId or the id-less addCall, it only changes the context the existing id-less path builds.
  • Knowledge: Meeds-io/eng-standards#334 is open and a draft, as it should be while the code is not on develop. It carries this delivery's pitfalls (agenda and pexip ledger files plus the change fragment).

The change is small and backward compatible. The trailing optional argument extends the provider-facing context without touching any existing call site's meaning. The body states exactly where the flag was lost and why the update path did not need fixing.

Nothing outstanding from the AI review side.

This change is classified N2 (it extends the shared webConferencing context contract that the provider connectors consume, and touches no REST/DAO/schema/ACL surface). Its approver must be an Architect or Developer who knows it is N2. It must not be auto-merged on AI review alone.

🤖 Generated with Claude Code

@rdenarie
rdenarie merged commit 2ab6d8c into feature/maintenance Oct 12, 2026
21 checks passed
@rdenarie
rdenarie deleted the fix/EXO-90984-pexip-all-day branch October 12, 2026 12:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

partialCIBuild Perform Partial CI Build

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants