view .lua-format @ 13903:4af7d00a2966

MUC: occupant: refactor to allow storing more than just presence for a session Previously a "session" (i.e. a full JID joined to a MUC) was stored as simply a mapping of full JIDs->presence, contained within occupant objects (an occupant object groups all sessions behind a certain nick in the MUC). To enable developing GC3 and other features, it would be helpful if we can store additional metadata when a client joins a room, for example, whether it has opted out of receiving presence stanzas (a GC3 feature). This changes the internal data structure, which shouldn't be used outside this module, it adds a new :get_session() method, and modifies the :each_session() iterator to return the session as an additional result (which should be backwards compatible with code that just consumes the existing two results).
author Matthew Wild <mwild1@gmail.com>
date Mon, 11 Nov 2024 12:47:01 +0000
parents 81ae5e12550f
children
line wrap: on
line source

align_args: false
align_parameter: false
align_table_field: true
break_after_functioncall_lp: false
break_after_functiondef_lp: false
break_after_operator: false
break_after_table_lb: true
break_before_functioncall_rp: false
break_before_functiondef_rp: false
break_before_table_rb: true
chop_down_kv_table: true
chop_down_parameter: false
chop_down_table: true
column_limit: 150
column_table_limit: 120
continuation_indent_width: 1
double_quote_to_single_quote: false
extra_sep_at_table_end: true
indent_width: 1
keep_simple_control_block_one_line: true
keep_simple_function_one_line: true
line_breaks_after_function_body: 1
line_separator: input
single_quote_to_double_quote: false
spaces_around_equals_in_field: true
spaces_before_call: 1
spaces_inside_functioncall_parens: false
spaces_inside_functiondef_parens: false
spaces_inside_table_braces: true
tab_width: 1
table_sep: ";"
use_tab: true