Skip to content

Remove all Qiqochat references #1163

Description

@marlonkeating

Remove all Qiqochat references

Summary

Qiqochat was a third-party live event / breakout room service previously integrated into DemocracyLab. This integration is no longer in use. All references to Qiqochat should be removed to eliminate dead code, unused environment variables, and stale DB columns.

The event_live_id field on the Event model will be retained (renamed label only) for potential future use with a different live event provider.


Tasks

Files to delete

  • common/helpers/qiqo_chat.py — delete entire file (iframe URL builder, SubscribeUserToQiqoChat, activate_zoom_rooms, get_zoom_room_info)

Backend — Python

democracylab/models.py

  • Remove qiqo_uuid field
  • Remove qiqo_signup_time field
  • Generate a new Django migration to drop both columns from the DB

democracylab/admin.py

  • Remove 'qiqo_uuid' from contributor_text_fields

democracylab/forms.py

  • Remove from common.helpers.qiqo_chat import SubscribeUserToQiqoChat
  • Remove SubscribeUserToQiqoChat(user) call

democracylab/views.py

  • Remove from common.helpers.qiqo_chat import SubscribeUserToQiqoChat
  • Remove active and commented-out SubscribeUserToQiqoChat(contributor) calls

democracylab/settings.py

  • Remove "*.qiqochat.com" and "qiqocableeu.herokuapp.com" from CSP settings
  • Remove all QIQO_* settings: QIQO_IFRAME_URL, QIQO_API_BASE_URL, QIQO_USERS_ENDPOINT, QIQO_API_KEY, QIQO_API_SECRET, QIQO_CIRCLE_UUID, QIQO_SIGNUP_TIMEOUT_SECONDS, QIQO_IMPERSONATION_ENABLED

civictechprojects/views.py

  • Remove from common.helpers.qiqo_chat import get_user_qiqo_iframe
  • Remove context['QIQO_IFRAME_URL'] = get_user_qiqo_iframe(contributor, request)
  • Remove qiqo_webhook view function and its TODO comment

civictechprojects/urls.py

  • Remove qiqo_webhook URL pattern (api/v1/qiqo/webhooks/zoom_presences)

civictechprojects/models.py

  • Remove from common.helpers.qiqo_chat import activate_zoom_rooms, get_zoom_room_info
  • Remove activate_zoom_rooms and get_zoom_room_info calls (the event_live_id field itself is kept)

common/management/commands/activate_event.py

  • Remove Qiqochat TODO comment and dead qiqo_event_id variable usage

Frontend — React/JSX

common/components/controllers/LiveEventController.jsx

  • Remove window.QIQO_IFRAME_URL reference and any iframe embedding logic that depends on it

common/components/componentsBySection/CreateEvent/EventDescriptionForm.jsx

  • Update label "QiqoChat Live Event ID (Optional)" to "Live Event ID (Optional)" (field itself is kept)

Templates

civictechprojects/templates/new_index.html

  • Remove window.QIQO_IFRAME_URL = '{{QIQO_IFRAME_URL}}';

Environment / Config

democracylab_environment_variables.sh

  • Remove QIQO_IFRAME_URL, QIQO_API_KEY, QIQO_API_SECRET, QIQO_USERS_ENDPOINT, QIQO_CIRCLE_UUID exports
  • Remove qiqochat.com entries from CSP_FRAME_SRC and CSP_FRAME_ANCESTORS

Fixtures

  • common/fixtures/testdata.json — remove qiqo_uuid / qiqo_signup_time values from contributor records
  • common/fixtures/testdata_pre_migrate.json — same

Notes

  • Historical migrations (0006_auto_20200427_2336.py, 0008_contributor_qiqo_signup_time.py) should be left in place. A new migration must be added to drop the columns.
  • event_live_id on the Event model is retained; only the Qiqochat-specific API calls that used it are removed.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions