Jason Volk
c6a4ab17c7
ircd: Ⓜ️ :dbs: Select room head resolve indexer during event horizon resolve.
2020-03-28 12:17:12 -07:00
Jason Volk
7e99a86512
ircd: Ⓜ️ :dbs: Increase some cache defaults.
2020-03-27 13:44:20 -07:00
Jason Volk
3a73336b2d
ircd: Ⓜ️ :push: Add spec-omitted highlight tweak to .m.rule.contains_user_name.
2020-03-26 17:20:06 -07:00
Jason Volk
5665ae56cf
ircd: Ⓜ️ :user::notifications: Add sorting for any-room queries here.
2020-03-26 17:20:06 -07:00
Jason Volk
9a49104d28
ircd: Ⓜ️ :push: Add undocumented '.m.rule.reaction' server-default rule.
2020-03-26 17:20:06 -07:00
Jason Volk
2ec80d025f
ircd: Ⓜ️ :vm: Ensure error handling semantics throughout eval stack.
2020-03-26 10:24:35 -07:00
Jason Volk
8efeb1a76a
ircd: Ⓜ️ :typing: Create non-existing here before sending to user room for now.
2020-03-25 18:31:10 -07:00
Jason Volk
592eb375f6
ircd: Ⓜ️ :room::head: Throw error on failure to generate any prev_events.
2020-03-25 18:27:40 -07:00
Jason Volk
1b49d001b2
ircd: Ⓜ️ :typing: Log exceptions coming through the vm.eval edu handler.
2020-03-25 18:27:40 -07:00
Jason Volk
1e96e34b54
ircd: Ⓜ️ :vm: Set eval event/event_id members in outer frame.
2020-03-25 18:27:40 -07:00
Jason Volk
b8239d45cd
ircd: Ⓜ️ :dbs: Split dbs unit per column; naming simplifications; major reorg.
2020-03-25 16:08:17 -07:00
Jason Volk
ddbabedf84
ircd: Ⓜ️ :event::conforms: Add type and state_key length limitation conditions.
2020-03-25 14:41:16 -07:00
Jason Volk
629617deb9
ircd: Ⓜ️ :event::conforms: Add missing origin conditions.
2020-03-25 14:41:16 -07:00
Jason Volk
35a18366b4
ircd: Ⓜ️ :user::pushrules: Ensure user-set rules have priority over server-default.
2020-03-24 21:38:58 -07:00
Jason Volk
3472f551eb
ircd: Ⓜ️ :user::notifications: Optimize with non-querying metadata closure overload.
2020-03-24 16:41:16 -07:00
Jason Volk
8f251dc266
ircd: Ⓜ️ :user::notifications: Add unmake_type() inverting tool.
2020-03-24 16:16:16 -07:00
Jason Volk
4c70d8ce08
ircd: Ⓜ️ :user::notifications: Add room_id to opts; prefix keying strategy.
...
modules/m_push: Add room_id to type generation.
2020-03-24 14:56:30 -07:00
Jason Volk
36b1fa6bde
ircd: Ⓜ️ :room::type: Add prefix matching option.
2020-03-24 14:50:41 -07:00
Jason Volk
d1f9b11b4c
ircd: Ⓜ️ :user::notifications: Improve iteration with room::type.
2020-03-24 14:14:39 -07:00
Jason Volk
7a6ba49c34
ircd: Ⓜ️ :room: Add type iteration interface.
2020-03-24 14:14:39 -07:00
Jason Volk
256e5ed960
ircd: Ⓜ️ :dbs: Add room_type column to schema.
2020-03-24 11:49:15 -07:00
Jason Volk
8d6dfa7cd5
ircd: Ⓜ️ Add room_id(event_idx) to convenience suite.
2020-03-23 20:31:21 -07:00
Jason Volk
7861f77015
ircd: Ⓜ️ :push: Add branch to handle other pattern key for content rules.
2020-03-23 19:32:01 -07:00
Jason Volk
93cd2ededc
ircd: Ⓜ️ :user::notifications: Add unit; develop interface; add type generation.
2020-03-23 18:28:39 -07:00
Jason Volk
ab4b31bc13
ircd: Ⓜ️ :user::pushrules: Add event_idx of rule as argument to closures.
...
ircd:Ⓜ️ :user::pushers: Add event_idx of rule as argument to closures.
2020-03-23 13:01:24 -07:00
Jason Volk
98562fe488
ircd: Ⓜ️ :push: Add tool to determine if rule has highlight tweak set.
2020-03-22 20:04:16 -07:00
Jason Volk
c4c1c47351
ircd: Ⓜ️ :push: Add tool to query if an action is notifying or not.
2020-03-22 20:00:14 -07:00
Jason Volk
2a301d6b2a
ircd: Ⓜ️ :push: Search formatted_body for contains_user_mxid.
2020-03-22 18:34:42 -07:00
Jason Volk
edecb8b9ae
ircd: Ⓜ️ :push: Use zero-copy closure to fetch displayname.
2020-03-22 18:34:42 -07:00
Jason Volk
7ca990e1ee
ircd: Ⓜ️ :push: Fix stale assertion.
2020-03-22 18:18:51 -07:00
Jason Volk
fc63e102fa
ircd: Ⓜ️ :push: Add non-spec condition kind 'state_key_user_mxid'.
2020-03-22 18:18:51 -07:00
Jason Volk
f58cfed6e9
ircd: Ⓜ️ :push: Add non-spec condition kind 'contains_user_mxid'.
2020-03-22 18:18:51 -07:00
Jason Volk
aeefb8a155
ircd: Ⓜ️ :push: Fixes for the event_match condition functor.
2020-03-22 18:18:51 -07:00
Jason Volk
822b422dfe
modules: Add preliminary event pushrule evaluation module.
2020-03-22 18:18:50 -07:00
Jason Volk
643efbfad7
ircd: Ⓜ️ :push: Log a debug error for unknown condition kinds.
2020-03-22 18:18:50 -07:00
Jason Volk
6774ac742a
ircd: Ⓜ️ :push: Optimize condition order for some default spec rules.
2020-03-22 18:18:50 -07:00
Jason Volk
a7a67b0689
ircd: Ⓜ️ :user::pushrules: Fix throwing query in nothrow getter.
2020-03-22 18:18:50 -07:00
Jason Volk
55396a9a76
ircd: Ⓜ️ :vm: Move the internal(room) query and indicator to outer scope.
2020-03-22 14:03:28 -07:00
Jason Volk
329982f3f1
ircd: Ⓜ️ :push: Add iteration for all rules of all users.
2020-03-22 14:03:28 -07:00
Jason Volk
8445cbf83a
ircd: Ⓜ️ :push: Add log facility for this namespace.
2020-03-21 20:49:54 -07:00
Jason Volk
27556f2d9c
ircd: Ⓜ️ :vm::eval: Add member which caches the m::internal(room) result.
2020-03-21 20:49:54 -07:00
Jason Volk
592d8a90c2
ircd: Ⓜ️ :vm: Additional sequence barrier for shutdown.
2020-03-21 19:37:23 -07:00
Jason Volk
63be2183f9
ircd: Ⓜ️ :user: Add pushers interface.
2020-03-21 11:35:40 -07:00
Jason Volk
245195488c
ircd: Ⓜ️ :push: Add event type prefix string for pusher.
2020-03-21 11:35:40 -07:00
Jason Volk
435721c971
ircd: Ⓜ️ :push: Add match interface; condition table; exception propagation.
2020-03-20 22:25:14 -07:00
Jason Volk
d1ff1aec74
ircd: Ⓜ️ :push: Implement r0.6.0-13.13.1.5.3 condition kind subroutine logics.
2020-03-20 22:25:14 -07:00
Jason Volk
1d30da7bf3
ircd: Ⓜ️ :vm::eval: Skip any mfetch of keys if verify option deselected.
2020-03-20 14:45:12 -07:00
Jason Volk
8db2bf629e
ircd: Ⓜ️ :vm: Move vm::eval inner-loop logic into vm::execute; fix room_version/event_id.
2020-03-20 14:26:55 -07:00
Jason Volk
3dc679fbb7
ircd: Ⓜ️ :room::bootstrap: Cleanup/Unify a base vm::opts for all evals.
2020-03-20 12:15:40 -07:00
Jason Volk
8ca580362f
ircd: Ⓜ️ :room::bootstrap: Fix loss of room version information during bootstrap.
2020-03-20 12:04:19 -07:00
Jason Volk
fa4160e9a6
ircd::db::dbs: Eliminate strict room::id from event_state tuple; simplify comparator.
2020-03-19 21:54:07 -07:00
Jason Volk
de9f054d97
ircd: Ⓜ️ :push: Add remaining content server-default rule w/o pattern.
2020-03-19 16:25:45 -07:00
Jason Volk
28626f17c1
ircd: Ⓜ️ :user::pushrules: Integrate the default pushrules for the user.
2020-03-19 16:25:45 -07:00
Jason Volk
f8b99ad26e
ircd: Ⓜ️ :user: Remove pre-pushrules highlight counter.
2020-03-19 16:01:32 -07:00
Jason Volk
014b6e9a9b
ircd: Ⓜ️ :typing: Add interruption point before wait in loop.
2020-03-19 16:01:32 -07:00
Jason Volk
abfb106125
ircd: Rename globular classes to indicate case insensitivity.
2020-03-19 16:01:32 -07:00
Jason Volk
bab3f959ac
ircd: Ⓜ️ :push: Move default rules string under rules class; minor reorg.
2020-03-19 16:01:32 -07:00
Jason Volk
4cd625f2e0
ircd: Ⓜ️ :fed: I robbed other churches by receiving support from them so as to serve you. -2 Cor. 11:8 (NIV).
2020-03-18 23:02:35 -07:00
Jason Volk
a3037b7cd4
ircd: Ⓜ️ :user: Add interface definitions for push rule events to user room.
2020-03-18 14:34:29 -07:00
Jason Volk
2aec995edd
ircd: Ⓜ️ :push: Move path tuple; add type string suite.
2020-03-18 14:34:29 -07:00
Jason Volk
5391ba7b76
ircd: Ⓜ️ :push: Add spec-default ruleset object.
2020-03-18 12:27:14 -07:00
Jason Volk
6c807f7e96
ircd: Ⓜ️ :push: Add push ruleset, rule, condition, and pushers structures.
2020-03-18 10:42:48 -07:00
Jason Volk
0bb52f57a3
ircd: Ⓜ️ :user: Add unit and preliminary interface stubs for pushrules.
2020-03-18 10:42:48 -07:00
Jason Volk
0b8b3ee988
ircd: Ⓜ️ :vm: Add an opts.unique bypass option for condition.
2020-03-17 11:48:22 -07:00
Jason Volk
b8c31fe4d3
ircd: Ⓜ️ :vm::eval: Apply missing opts.replays in condition.
2020-03-17 11:42:27 -07:00
Jason Volk
0ad8ccc905
ircd: Ⓜ️ :fed: Take no thought how or what to speak: for it shall be given you in that hour. -Mat. 10:19 (DRB)
2020-03-17 08:57:37 -07:00
Jason Volk
ec5fd98f59
ircd: Ⓜ️ :homeserver: Use central imports map; reorder constructions.
2020-03-16 18:17:52 -07:00
Jason Volk
c1672b280f
ircd: Ⓜ️ :typing: Report error from timeout worker context; minor cleanup.
2020-03-16 16:56:07 -07:00
Jason Volk
990d2346c4
ircd: Ⓜ️ :fetch: Fix context and object destructions; minor cleanup.
2020-03-16 16:56:07 -07:00
Jason Volk
daea5cddef
ircd: Ⓜ️ Replace various runlevel conditions with barrier template.
2020-03-16 16:56:07 -07:00
Jason Volk
c815de3621
ircd::run: Rename level IDLE to LOAD; minor reorg.
2020-03-16 16:56:07 -07:00
Jason Volk
a725ff3521
ircd: Ⓜ️ Remove remaining export macros on central library definitions.
2020-03-16 16:56:06 -07:00
Jason Volk
82bc4be5e1
ircd: Ⓜ️ :fed: Improve conditions to bail before redirect.
2020-03-16 07:53:30 -07:00
Jason Volk
83b7e0b9b1
ircd: Ⓜ️ :homeserver: Add missing alias room to the hs bootstrap for now; related 33f1ce6e09
.
2020-03-14 18:07:45 -07:00
Jason Volk
829516afde
ircd::db: Add compaction priority option to descriptor.
...
ircd:Ⓜ️ :dbs: Tune compaction priority algorithm.
2020-03-13 15:12:22 -07:00
Jason Volk
05131c1bbe
ircd: Ⓜ️ :vm::eval: Wait for duplicate evals instead or before any fault::EXISTS.
2020-03-13 11:57:00 -07:00
Jason Volk
33f1ce6e09
ircd: Ⓜ️ :homeserver: Fix removed !public creation hook w/ create on bootstrap for now.
2020-03-12 21:31:42 -07:00
Jason Volk
f1dca3ee42
ircd: Ⓜ️ :keys: Switch to exclusive use of v2/query endpoint; minor cleanup.
2020-03-12 21:09:56 -07:00
Jason Volk
89db4cfe21
ircd: Ⓜ️ :fed: Support HTTP redirects when fetching well-known.
2020-03-11 20:45:22 -07:00
Jason Volk
dcfa6c9d48
ircd: Ⓜ️ :fed: Add conf item for well-known fetch timeout.
2020-03-11 18:47:17 -07:00
Jason Volk
34a7954b67
ircd: Ⓜ️ :room::bootstrap: Use non-reference for explicit operator cast (GCC 9.2.1).
2020-03-11 15:11:53 -07:00
Jason Volk
59ad4731ae
modules/m_relation: Add hook to discover and fetch events from m_relates_to.
2020-03-10 23:03:14 -07:00
Jason Volk
de4792f539
ircd: Ⓜ️ :room::origins: Optimize origins iteration w/ conditional key regeneration.
2020-03-09 14:41:36 -07:00
Jason Volk
3b2342e001
ircd: Ⓜ️ :room::origins: Simplify callstack; remove unused iteration.
2020-03-09 14:41:36 -07:00
Jason Volk
dad4750971
ircd: Ⓜ️ :fetch: Propagate interrupt through handlers.
2020-03-09 09:48:37 -07:00
Jason Volk
08d9c95401
ircd: Ⓜ️ :fetch: Reduce error log level/verbosity for fetch start failures.
2020-03-09 09:48:36 -07:00
Jason Volk
c4ef486ebd
ircd: Ⓜ️ :fed: Simplify cache record composition; use json::members iov.
2020-03-09 09:10:45 -07:00
Jason Volk
dc1778bce7
ircd: Ⓜ️ :room::bootstrap: Use indirect for fed::opts initialization.
2020-03-08 18:54:47 -07:00
Jason Volk
dcc0aae886
ircd: Ⓜ️ :homeserver: Run conf item update callbacks at construction for now.
2020-03-08 14:29:22 -07:00
Jason Volk
56a8f6494d
ircd: Ⓜ️ :fetch: Fix conf item type.
2020-03-08 14:09:59 -07:00
Jason Volk
1ee5cbdeee
ircd: Ⓜ️ :room::server_acl: Propagate interrupt without critical log.
2020-03-08 13:03:14 -07:00
Jason Volk
97747219a4
ircd: Ⓜ️ :fed: Rename property in well-known cache record.
2020-03-07 23:59:22 -08:00
Jason Volk
44f587714e
ircd: Ⓜ️ Tweak various federation request buffer options; related e3e83a6423fd.
2020-03-07 22:02:14 -08:00
Jason Volk
63aa71ce58
ircd: Ⓜ️ :fed: Implement federation 3.1 well-known for server name resolution.
2020-03-07 21:33:44 -08:00
Jason Volk
55ffdddc6a
ircd: Ⓜ️ :fed: Refactor all interfaces using abstract request.
2020-03-07 21:33:44 -08:00
Jason Volk
c0a5a7a89e
ircd: Ⓜ️ Simplify various interfaces using string rather than net::hostport remotes.
2020-03-07 17:17:46 -08:00
Jason Volk
dddb8e4254
ircd: Ⓜ️ :fed: Mitigate some remaining event_id.host() to derive a remote.
2020-03-07 14:55:50 -08:00
Jason Volk
a068981452
ircd: Ⓜ️ :fed: Simplify and rename well known fetch function.
2020-03-07 14:55:50 -08:00
Jason Volk
bfeceea645
ircd: Ⓜ️ :rooms::summary: Minor cleanup.
2020-03-07 12:16:33 -08:00
Jason Volk
6ab71b8fdc
ircd: Ⓜ️ :fed: Add well-known request for server name resolution w/ console cmd.
2020-03-06 18:28:41 -08:00
Jason Volk
0a90b4d4cc
ircd: Ⓜ️ :fed: Apply the canon service to all remotes without a service string.
2020-03-06 10:37:28 -08:00
Jason Volk
c44d732443
ircd: Ⓜ️ Rename v1/v2 namespace to fed.
2020-03-05 20:06:14 -08:00
Jason Volk
a46bf7dcbe
ircd::net: Eliminate the legacy canon_port/canon_service defaults.
...
ircd:Ⓜ️ Move canon_port/canon_service into matrix lib.
2020-03-05 14:18:55 -08:00
Jason Volk
f3fbcc6ab6
ircd: Ⓜ️ :vm: Eliminate head resolves for type; related c3f50d5bab
.
2020-03-04 12:57:27 -08:00
Jason Volk
9789772307
ircd: Ⓜ️ :feds: Minor simplify.
2020-03-04 11:15:28 -08:00
Jason Volk
c3f50d5bab
ircd: Ⓜ️ :vm: Add special condition disabling room head update based on type.
2020-03-03 21:38:46 -08:00
Jason Volk
0907f5d6f2
ircd: Ⓜ️ :vm: Elaborate eval error handlers; add room_id to error msgs.
2020-03-03 21:38:46 -08:00
Jason Volk
e664ba22d8
ircd: Ⓜ️ :vm: Simplify hook name call for log msgs.
2020-03-03 19:15:02 -08:00
Jason Volk
2896b721ff
ircd: Ⓜ️ :typing: Handle and log exceptions in timeout worker stack.
2020-03-03 14:47:47 -08:00
Jason Volk
c14bef8cd9
ircd: Ⓜ️ :typing: Fix iteration condition in timeout worker loop.
2020-03-03 14:47:07 -08:00
Jason Volk
14b962a695
ircd: Ⓜ️ :vm: Track evaluation hook phase.
2020-03-02 20:55:08 -08:00
Jason Volk
d08a4f6f24
ircd: Ⓜ️ :vm: Simplify call for hook name in debuglog.
2020-03-02 19:51:24 -08:00
Jason Volk
694b90b04e
ircd: Ⓜ️ :room::power: Replace unquote() w/ json::string type.
2020-03-02 16:46:00 -08:00
Jason Volk
61fa79acb8
ircd: Ⓜ️ :room::bootstrap: Log completion with notice level.
2020-03-02 16:46:00 -08:00
Jason Volk
6123040239
ircd: Ⓜ️ :init::backfill: Add conf item for local_joined_only option; default true.
2020-03-02 16:45:50 -08:00
Jason Volk
f471093d3e
ircd: Ⓜ️ :user::rooms: Use _event_state to eliminate the ircd.member type.
2020-03-01 17:13:15 -08:00
Jason Volk
2ee8d7a1fb
ircd: Ⓜ️ :keys: Use dynamic buffer for query.
2020-03-01 16:16:13 -08:00
Jason Volk
257e335dad
ircd: Ⓜ️ :pretty: Relax definedness requirement of fields.
2020-03-01 14:20:05 -08:00
Jason Volk
84a4262a9d
ircd: Ⓜ️ :homeserver: Tweak shutdown order; interrupts first.
2020-03-01 11:26:52 -08:00
Jason Volk
cb0363f13c
ircd: Ⓜ️ :rooms: Add dump to file util w/ console cmd.
2020-02-28 20:19:42 -08:00
Jason Volk
8d9a9eccfb
ircd: Ⓜ️ :rooms: Add prefetch context on iteration.
2020-02-28 20:19:42 -08:00
Jason Volk
d402eddb98
ircd::run: Place out-of-line default ctor/dtor definitions.
...
ircd::http::error: Place out-of-line dtor definition.
ircd:Ⓜ️ :error: Place out-of-line dtor definition.
ircd::exception: Place out-of-line dtor definition.
ircd:Ⓜ️ :vm: Place out-of-line ctor definitions for copts/opts.
2020-02-28 12:36:45 -08:00
Jason Volk
89d8f7cf27
ircd: Ⓜ️ :homeserver: Terminate backfill first on shutdown for now.
2020-02-28 10:56:17 -08:00
Jason Volk
a8a3166936
ircd: Ⓜ️ :typing: Simplify typing context termination.
2020-02-28 10:12:38 -08:00
Jason Volk
e27dd573ad
ircd: Ⓜ️ :homeserver: Consolidate legacy shutdown procedure on primary dtor for now.
2020-02-27 16:25:47 -08:00
Jason Volk
db6b809a2b
ircd: Ⓜ️ :node: Fallback to old_verify_keys after verify_keys.
2020-02-27 13:39:31 -08:00
Jason Volk
1bdf52b7bb
ircd: Ⓜ️ :events: Add preliminary interface to _event_state w/ console cmd.
2020-02-26 18:24:17 -08:00
Jason Volk
df05533c2c
ircd: Ⓜ️ :dbs: Fix partial event_state key constructions.
...
ircd:Ⓜ️ :dbs: Add checks for key part size before integer conversion.
2020-02-26 17:55:23 -08:00
Jason Volk
0c896d7c58
ircd: Ⓜ️ :typing: Ensure termination of timeout worker on unload.
2020-02-26 15:32:06 -08:00
Jason Volk
a48e481a44
ircd: Ⓜ️ :dbs: Fix incorrect constant used.
2020-02-26 14:17:43 -08:00
Jason Volk
b07f8d633e
ircd: Ⓜ️ :homeserver: Move module unload to same unit as load.
2020-02-25 13:31:11 -08:00
Jason Volk
8baaf366c4
ircd: Ⓜ️ :event: Fix signature interface regression; optimize call path.
2020-02-24 11:01:52 -08:00
Jason Volk
b0c0970d69
ircd: Ⓜ️ :fetch: Prevent fetch requests from starting based on global conditions.
2020-02-22 14:00:31 -08:00
Jason Volk
fca41d5e22
ircd: Ⓜ️ :typing: Fix clamp on configured timeout max for typists.
2020-02-21 12:50:58 -08:00
Jason Volk
1765ba8921
ircd: Ⓜ️ :typing: Add conf item for timeout worker interval.
2020-02-21 12:24:17 -08:00
Jason Volk
d7748fb1b3
ircd: Ⓜ️ :typing: Increase stack size for timeout worker; attribute; minor cleanup.
2020-02-21 12:24:06 -08:00
Jason Volk
055fa1ee74
ircd: Ⓜ️ :typing: Remove duplicate.
2020-02-21 12:24:06 -08:00
Jason Volk
e9cc354f01
ircd: Ⓜ️ Fix empty iteration condition.
2020-02-20 19:46:56 -08:00
Jason Volk
50535e89bb
ircd: Ⓜ️ Minor rename.
2020-02-20 18:43:47 -08:00
Jason Volk
a4f48eaab8
ircd: Ⓜ️ :vm::eval: Conduct parallel fetch of new keys for vector eval.
2020-02-20 18:43:47 -08:00
Jason Volk
20bc23abde
ircd: Ⓜ️ :dbs: Replace pairs with tuples for reference lifetime issue w/ clang.
2020-02-20 16:25:51 -08:00
Jason Volk
a13d9282ac
ircd: Ⓜ️ :vm::eval: Add vector_view construction and eval to interface/stack.
2020-02-20 14:49:33 -08:00
Jason Volk
70dd2d7ba6
ircd: Ⓜ️ :init::backfill: Add infolog during iteration; improve warning as per similar msgs.
2020-02-20 12:37:45 -08:00
Jason Volk
4f924bd280
ircd: Ⓜ️ :room::head: Add condition to fix duplicate append.
2020-02-19 13:27:27 -08:00
Jason Volk
ec78085e45
ircd: Ⓜ️ :room::head: Tolerate erroneous/inconsistent entries in head.
2020-02-19 13:27:22 -08:00
Jason Volk
860087b6ce
ircd: Ⓜ️ Rethrow ircd::error to prevent shlib RTTI/personality dependency for m::error.
2020-02-19 13:27:06 -08:00
Jason Volk
c3f0803e49
modules: X-value copy elision hints for clang.
2020-02-12 14:34:26 -08:00
Jason Volk
37eaff3b67
Tweak tls-models.
2020-02-11 15:37:14 -08:00
Jason Volk
b8c26b37b6
ircd: Ⓜ️ Remove unnecessary module attributes.
2020-02-01 22:18:49 -08:00
Jason Volk
5ecffa8481
ircd: Ⓜ️ :init::backfill: Fix structured binding access from closure clang mishap.
2020-02-01 22:18:49 -08:00