* main: (48 commits)
Improve layout and truncation
This is annoying
Fix summary
Remove index columns
Same treatment for the events index
New menu filters and navigates
Don't test for _Added by_ events
Indention
@collection is always available when card scoped
Style
Remove check for _Added by..._ line
The placeholder attribute is on the `house-md` element
Duh, no before destroy commit, but this is still not right!
No long transactions!
Don't display published event in threads
But feels more essentially part of the User, so list first
Not related to the other two
Missing controller
Style
Errant `bubbles` => `cards` replacement
...
# Conflicts:
# app/models/card.rb
# app/models/user.rb
# db/schema.rb
# db/schema_cache.yml
If you intend to deactivate someone, and the process fails mid process,
so you only delete some sessions, or some accesses, you are actually
fine. The system is never left in an incomplete state. And that's really
the only time we should be using transactions with sqlite3 -- to prevent
actual data integrity issues.
The rest of the time, we should optimize for each transaction to be as
quick as possible. The sqlite3 writer lock is the one bottleneck that we
cant afford to overload.
With a single database this problem is not as bad, but it feels
safer to do things right. Also, not everyone in an account has access
to all the bubbles.
Generally I am wary of including global state checks in the belly of
models. It is one thing to do it as a default parameter, but I think it
is too far to do it inside an actual method.
This provides a way to set the level of involvement that a user has with
a collection, and from which we determine the level of notifications to
send. Users can be access-only, watching, or being notified about
everything.
If you're access-only, you won't get an notifications. If you're
watching, you'll only get notifications for the items you're watching
(which includes the items you've been assigned, have commented on, etc).
If you're set to everything you'll get notifications about all activity
in that collection.
This change replaces our previous concept of subscriptions. Where
previously you'd subscribe to a collection to get notifications in it,
now you'll simply set the notification level on your access.