mediagoblin.git
7 years agoPort batchaddmedia command to Python 3
Simen Heggestøyl [Sun, 8 Oct 2017 09:04:10 +0000 (11:04 +0200)]
Port batchaddmedia command to Python 3

7 years agoMake admin panel headers readable in Airy theme
Simen Heggestøyl [Sun, 8 Oct 2017 13:57:38 +0000 (15:57 +0200)]
Make admin panel headers readable in Airy theme

The admin panel headers are white by default, making them almost
unreadable on the light background used in the Airy theme. Make the
headers dark, like text elsewhere in the theme.

7 years agoHandle collection in batchaddmedia command
Simen Heggestøyl [Sun, 15 Oct 2017 11:33:36 +0000 (13:33 +0200)]
Handle collection in batchaddmedia command

Make the batchaddmedia command look for a 'collection-slug' column, that
for each row may specify the slug of a collection that the media should
be added to. This matches the '--collection-slug' argument of the
addmedia command.

7 years agoSupport Unicode characters in configuration values
Simen Heggestøyl [Sat, 14 Oct 2017 21:46:17 +0000 (23:46 +0200)]
Support Unicode characters in configuration values

Prior to this commit, using a Unicode character in a configuration
string would result in a `UnicodeDecodeError` being raised. Supporting
Unicode characters is especially useful in user-facing configuration
strings, such as `html_title`.

7 years agoRemove dead code in batchaddmedia.py
Simen Heggestøyl [Sun, 15 Oct 2017 11:44:17 +0000 (13:44 +0200)]
Remove dead code in batchaddmedia.py

Remove an unused import and an unused local variable from
batchaddmedia.py.

7 years agoUpdate batchaddmedia csv description docs [5458]
Andrew Browning [Sun, 8 Oct 2017 20:19:16 +0000 (16:19 -0400)]
Update batchaddmedia csv description docs [5458]

Commit c0ea2bad changed the expected location column header of csv files
used by the batchaddmedia command from 'media:location' to 'location'.
This change updates the docs to match.

7 years agoFix #5460 - Log IP address for failed login
Andrew Browning [Tue, 15 Aug 2017 06:11:06 +0000 (02:11 -0400)]
Fix #5460 - Log IP address for failed login

This patch logs the remote address when a login attempt fails.

7 years agoFix #5517 - Change docs to clone repo using https
Andrew Browning [Wed, 20 Sep 2017 05:39:46 +0000 (01:39 -0400)]
Fix #5517 - Change docs to clone repo using https

7 years agoAdd unit test for #5524
Andrew Browning [Wed, 20 Sep 2017 05:02:10 +0000 (01:02 -0400)]
Add unit test for #5524

Add a unit test to verify that the change introduced in 07c535c no
longer resulst in a zero divide error when gps data contains no divisor.

This commit includes a test image created by Andrew Browning. Andrew
Browning dedicates this image to the public domain under the CC0 license.

7 years agoFix #5524 Zero division error in exif.py
Andrew Browning [Wed, 20 Sep 2017 04:20:43 +0000 (00:20 -0400)]
Fix #5524 Zero division error in exif.py

This patch implements the safe_gps_ratio_divide function for gps
direction and altitude values to prevent a zero divide error on
malformed GPS data.

7 years agoFix #5514 - Add to Collection causes server error
ayleph [Thu, 29 Jun 2017 04:49:29 +0000 (21:49 -0700)]
Fix #5514 - Add to Collection causes server error

Re-arrange code to check whether a collection has been selected prior
to checking whether an item already exists in the selected collection.
This fixes a regression introduced in 0f3bf8d.

7 years agoProperly escape asterisk in *buntu
Andrew Browning [Tue, 15 Aug 2017 06:29:54 +0000 (02:29 -0400)]
Properly escape asterisk in *buntu

7 years agoFix #5513 - Can't delete blog post drafts
ayleph [Wed, 28 Jun 2017 05:45:42 +0000 (22:45 -0700)]
Fix #5513 - Can't delete blog post drafts

Modify the @get_media_entry_by_id decorator to return media regardless
of processing state. Separately modify all view functions that use the
@get_media_entry_by_id decorator to require that the media be in the
processed state, other than for the media_confirm_delete view. This
allows blog post drafts to be deleted without returning a 404. Further,
it adds the ability to delete unprocessed media in the future, which
would be a nice addition to the user processing panel.

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mediagoblin
Boris Bobrov [Mon, 26 Jun 2017 18:32:56 +0000 (21:32 +0300)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mediagoblin

7 years agoApply button_warning style to blog delete buttons
Andrew Browning [Mon, 19 Jun 2017 04:58:21 +0000 (00:58 -0400)]
Apply button_warning style to blog delete buttons

7 years agoFix #830 - Remove exif from blog posts
Andrew Browning [Mon, 19 Jun 2017 04:11:29 +0000 (00:11 -0400)]
Fix #830 - Remove exif from blog posts

7 years agoRemove mongodb-related stuff
Boris Bobrov [Sun, 18 Jun 2017 14:08:30 +0000 (17:08 +0300)]
Remove mongodb-related stuff

We dropped mongodb a long time ago

7 years agoAdd Robert to AUTHORS
Boris Bobrov [Sun, 18 Jun 2017 10:38:59 +0000 (13:38 +0300)]
Add Robert to AUTHORS

7 years agoRe #5308 added cascade to blog mediatype
Robert Smith [Sat, 17 Jun 2017 06:03:20 +0000 (02:03 -0400)]
Re #5308 added cascade to blog mediatype

7 years agoFix tests to reflect that we've moved to amqp
Boris Bobrov [Sat, 10 Jun 2017 09:22:58 +0000 (12:22 +0300)]
Fix tests to reflect that we've moved to amqp

7 years agomove exifread to other dependencies
Boris Bobrov [Fri, 9 Jun 2017 22:29:19 +0000 (01:29 +0300)]
move exifread to other dependencies

7 years agoMerge branch 'amqp-switch'
Boris Bobrov [Fri, 9 Jun 2017 22:25:24 +0000 (01:25 +0300)]
Merge branch 'amqp-switch'

7 years agoRemove upper cap on celery kombu
Boris Bobrov [Fri, 9 Jun 2017 22:24:29 +0000 (01:24 +0300)]
Remove upper cap on celery kombu

Also remove kombu from requirements, because celery fetches it anyway

7 years agoMerge branch 'master' of git.sv.gnu.org:/srv/git/mediagoblin
Boris Bobrov [Fri, 9 Jun 2017 20:50:33 +0000 (23:50 +0300)]
Merge branch 'master' of git.sv.gnu.org:/srv/git/mediagoblin

7 years agoSwitch to rabbitmq by default and in docs
Boris Bobrov [Fri, 9 Jun 2017 20:49:24 +0000 (23:49 +0300)]
Switch to rabbitmq by default and in docs

7 years agoAdd space between words in blog message
Andrew Browning [Tue, 6 Jun 2017 20:51:05 +0000 (16:51 -0400)]
Add space between words in blog message

7 years agoAdd register_captcha template hook
Andrew Browning [Wed, 1 Mar 2017 07:02:36 +0000 (02:02 -0500)]
Add register_captcha template hook

7 years agoChange all tabs to spaces in js file
Boris Bobrov [Tue, 23 May 2017 08:28:08 +0000 (11:28 +0300)]
Change all tabs to spaces in js file

It's bad to mix them

7 years agoRemove tinymce from dependencies
Boris Bobrov [Wed, 3 May 2017 21:39:19 +0000 (00:39 +0300)]
Remove tinymce from dependencies

I think it was supposed to be used in blogs, but we never got there.
So lets just drop it from requirements in bower.json.

7 years agoChange aria-text when state changes
Boris Bobrov [Sun, 2 Apr 2017 22:52:14 +0000 (01:52 +0300)]
Change aria-text when state changes

7 years agoMake play button a button instead of div
Boris Bobrov [Sun, 2 Apr 2017 21:23:24 +0000 (00:23 +0300)]
Make play button a button instead of div

More attempts to make mg acessible

7 years agoAdd aria attributes to audio player
Boris Bobrov [Sun, 2 Apr 2017 20:25:56 +0000 (23:25 +0300)]
Add aria attributes to audio player

I hope this helps a bit with mediagoblin accessibility

7 years agoMove audio html out of js
Boris Bobrov [Sun, 2 Apr 2017 17:50:33 +0000 (20:50 +0300)]
Move audio html out of js

7 years agoCommit session after alembic updates have finished
Boris Bobrov [Sat, 1 Apr 2017 18:07:01 +0000 (21:07 +0300)]
Commit session after alembic updates have finished

After alembic updates we need to add foundations. The tables to add
foundations to are created as part of dbupdate process. For some reason
Alembic doesn't commit a session in the end. Because the session is not
commited, the tables do not really get created. And because of that,
foundations fail.

The solution is to commit the session after alembic updates.

7 years agoPass connection to EnvironmentContext.configure
Boris Bobrov [Sat, 4 Mar 2017 07:58:48 +0000 (10:58 +0300)]
Pass connection to EnvironmentContext.configure

In https://bitbucket.org/zzzeek/alembic/issues/419/ we were suggested
use connection instead of engine. This should fix an issue reported
via ml.

7 years agoFix trivial spelling and spacing error in cli help
Andrew Browning [Wed, 1 Mar 2017 06:33:38 +0000 (01:33 -0500)]
Fix trivial spelling and spacing error in cli help

7 years agoFix #5500 UnicodeEncodeError in atom feed
Andrew Browning [Tue, 14 Feb 2017 06:01:48 +0000 (01:01 -0500)]
Fix #5500 UnicodeEncodeError in atom feed

This simple fix allows unicode strings in the atom feed thumb and
description fields by forcing the entire atom content string to
unicode.

7 years agoedit_profile.html: Consistency in the width of input fields
vijeth-aradhya [Fri, 20 Jan 2017 03:46:42 +0000 (09:16 +0530)]
edit_profile.html: Consistency in the width of input fields

The width of all the input fields in user profile edit
form (also forms which wtforms render div function) is 100%

Fixes #996

Signed-off-by: Andrew Browning <ayleph@thisshitistemp.com>
7 years agoHeaders for collection items
Boris Bobrov [Sun, 29 Jan 2017 16:29:39 +0000 (19:29 +0300)]
Headers for collection items

Fixes issue #776

7 years agoAdd Stéphane Péchard to authors
Boris Bobrov [Sun, 29 Jan 2017 16:11:59 +0000 (19:11 +0300)]
Add Stéphane Péchard to authors

7 years agoMerge remote-tracking branch 'spechards-mediagoblin/master'
Boris Bobrov [Sun, 29 Jan 2017 16:09:06 +0000 (19:09 +0300)]
Merge remote-tracking branch 'spechards-mediagoblin/master'

Conflicts:
mediagoblin/submit/lib.py -- happened because of creator->actor
                                     change

Fixes issue #915

7 years agooob.html: Removed line breaks around the verifier code
vijeth-aradhya [Fri, 20 Jan 2017 06:26:01 +0000 (11:56 +0530)]
oob.html: Removed line breaks around the verifier code

There was an extra space that was displayed after
the verfication code which caused verification to
fail when just copied. Hence, any line breaks or
spaces has been removed

Fixes #5476

7 years agoAdd Varadhya to AUTHORS
Boris Bobrov [Sun, 29 Jan 2017 14:16:00 +0000 (17:16 +0300)]
Add Varadhya to AUTHORS

7 years agopost_comment.js, media.html: Add AJAX for posting comments
vijeth-aradhya [Sun, 22 Jan 2017 18:27:16 +0000 (23:57 +0530)]
post_comment.js, media.html: Add AJAX for posting comments

Stop reloading the page when a comment is posted which helps
in not stopping the media being played (for example, a song)

Fixes https://issues.mediagoblin.org/ticket/868

7 years agoFix #5484 - Add video icon to collection thumbnail
Andrew Browning [Mon, 17 Oct 2016 16:51:36 +0000 (12:51 -0400)]
Fix #5484 - Add video icon to collection thumbnail

7 years agoAdd media_titleinfo template hook
ayleph [Wed, 3 Feb 2016 04:14:57 +0000 (23:14 -0500)]
Add media_titleinfo template hook

This patch is based on work by cmichi to add a template hook near the
media title section of the page. I rearranged the code in the original
patch to match the current media.html page.

8 years agoMerge branch '975-spanish-translation', fixes #975.
Ben Sturmfels [Mon, 14 Nov 2016 01:46:46 +0000 (12:46 +1100)]
Merge branch '975-spanish-translation', fixes #975.

Thanks to teraflops for this contribution.

8 years agoFix minor grammar issues in contributing docs; add new contributor.
Ben Sturmfels [Sat, 12 Nov 2016 22:48:54 +0000 (09:48 +1100)]
Fix minor grammar issues in contributing docs; add new contributor.

8 years agoAdd links in site-admin documentation foreword
Alexandre Franke [Thu, 3 Nov 2016 19:19:47 +0000 (20:19 +0100)]
Add links in site-admin documentation foreword

Fixes #5490

8 years agoUpdate contributor names.
Ben Sturmfels [Sat, 12 Nov 2016 22:26:54 +0000 (09:26 +1100)]
Update contributor names.

8 years agoMerge branch 'thumbnail', fixes #592.
Ben Sturmfels [Sat, 12 Nov 2016 22:21:05 +0000 (09:21 +1100)]
Merge branch 'thumbnail', fixes #592.

8 years agoMerge `white-space` change into main `.media_thumbnail` class.
Ben Sturmfels [Sat, 12 Nov 2016 22:20:37 +0000 (09:20 +1100)]
Merge `white-space` change into main `.media_thumbnail` class.

8 years agoApply consistency & PEP8 to atom feeds
Andrew Browning [Fri, 4 Nov 2016 06:46:53 +0000 (02:46 -0400)]
Apply consistency & PEP8 to atom feeds

This patch applies the atom feed thumbnail changes from 65d8ca7 to user
atom feeds and rearranges the code in both views for better consistency
with PEP8 and with each other. It also fixes a spacing issue with the
feed title on the main page.

8 years agoAdd thumbnail image to Atom feed.
Ben Sturmfels [Fri, 7 Oct 2016 12:12:25 +0000 (23:12 +1100)]
Add thumbnail image to Atom feed.

Signed-off-by: Andrew Browning <ayleph@thisshitistemp.com>
8 years agoAdd kesara to list of AUTHORS
Andrew Browning [Sun, 23 Oct 2016 19:41:40 +0000 (15:41 -0400)]
Add kesara to list of AUTHORS

The changes applied in 7ee8e6b were written by kesara.

8 years agoFix #664 - Text overflow in media headings
Andrew Browning [Sun, 23 Oct 2016 19:32:25 +0000 (12:32 -0700)]
Fix #664 - Text overflow in media headings

Merge in kesara's changes to fix the media heading overflows on edit
and delete pages for ticket #664.

Signed-off-by: Andrew Browning <ayleph@thisshitistemp.com>
8 years agoFix typo in user processing panel
Andrew Browning [Mon, 17 Oct 2016 00:11:56 +0000 (20:11 -0400)]
Fix typo in user processing panel

Thanks to Storm_dragon for reporting this typo.

8 years agoUpdate maps copyright notice to OSM
Olivier Mehani [Fri, 16 Sep 2016 12:32:51 +0000 (22:32 +1000)]
Update maps copyright notice to OSM

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
8 years agoUse OSM tiles in Geolocation plugin #5466
Olivier Mehani [Wed, 31 Aug 2016 12:20:53 +0000 (22:20 +1000)]
Use OSM tiles in Geolocation plugin #5466

MapQuest recently disabled free-as-in-beer access to their map tiles, so let's
switch to free-as-in-speech images.

Signed-off-by: Olivier Mehani <shtrom@ssji.net>
8 years agoSpell-check the entire documentation.
Ben Sturmfels [Sat, 17 Sep 2016 14:48:32 +0000 (00:48 +1000)]
Spell-check the entire documentation.

8 years agoMerge branch 'panel'
Boris Bobrov [Fri, 16 Sep 2016 06:47:54 +0000 (09:47 +0300)]
Merge branch 'panel'

8 years agoAdd Dealsy to core reviewers
Boris Bobrov [Fri, 16 Sep 2016 06:46:59 +0000 (09:46 +0300)]
Add Dealsy to core reviewers

8 years agoAdded Josh Crompton to authors list
Boris Bobrov [Fri, 16 Sep 2016 06:30:58 +0000 (09:30 +0300)]
Added Josh Crompton to authors list

8 years agoAdd padding around form field labels
Josh Crompton [Mon, 15 Aug 2016 01:34:52 +0000 (11:34 +1000)]
Add padding around form field labels

Fixes #5468

8 years agoExtend Paginator tests to satisfy #55.
Ben Sturmfels [Thu, 15 Sep 2016 09:34:12 +0000 (21:34 +1200)]
Extend Paginator tests to satisfy #55.

8 years agoAdd Python 3 support in pagination.
Ben Sturmfels [Sun, 7 Aug 2016 11:48:52 +0000 (21:48 +1000)]
Add Python 3 support in pagination.

This issue was visible when attempting to view the home page of a MediaGoblin site with more than a single page worth of items, under Python 3.

8 years agoUpdate Spanish translation as reported by "teraflops" in ticket #975.
Ben Sturmfels [Wed, 14 Sep 2016 09:31:19 +0000 (21:31 +1200)]
Update Spanish translation as reported by "teraflops" in ticket #975.

8 years agoAdd documentation for header drop-down open/closed.
Ben Sturmfels [Sun, 11 Sep 2016 23:57:43 +0000 (11:57 +1200)]
Add documentation for header drop-down open/closed.

8 years agoModify setup.py version syntax to address #5464
Andrew Browning [Fri, 26 Aug 2016 15:34:18 +0000 (11:34 -0400)]
Modify setup.py version syntax to address #5464

Some users report that even with version <4.0 specified in setup.py,
the 4.0-rc builds of kombu and celery were still being downloaded.
This patch uses a different version syntax as suggested in a Stack
Overflow thread.

https://stackoverflow.com/a/14405269

8 years agoMake the panel default to open and remember preference in local storage.
Matt [Tue, 16 Aug 2016 04:56:39 +0000 (14:56 +1000)]
Make the panel default to open and remember preference in local storage.

8 years agoRevert "fixed bug #728"
Boris Bobrov [Tue, 16 Aug 2016 00:45:20 +0000 (03:45 +0300)]
Revert "fixed bug #728"

This reverts commit dbb86ffbbf25651330266435752a6a0422cfb6e5.

It caused bug 5469

8 years agochanged css to fix text on thumbnail
Matt [Mon, 15 Aug 2016 05:11:12 +0000 (15:11 +1000)]
changed css to fix text on thumbnail

8 years agoDo not try to get private attributes for comments
Boris Bobrov [Sun, 7 Aug 2016 23:26:25 +0000 (02:26 +0300)]
Do not try to get private attributes for comments

Most probably, they are sqlalchemy's!

8 years agoPass test paths to py.test via tox
Boris Bobrov [Sun, 7 Aug 2016 21:34:08 +0000 (00:34 +0300)]
Pass test paths to py.test via tox

Py.test has an ability to run only tests which match the given
substring expression.

Add an ability to do it via tox.

8 years agoAdding compatibility stuff for themes
Boris Bobrov [Sun, 31 Jul 2016 04:17:03 +0000 (07:17 +0300)]
Adding compatibility stuff for themes

During our migration to federation some interfaces were changed. We
should not have done that so fast.

Provide a compatibility layer so that old themes work

8 years agoFixing themes
Boris Bobrov [Sun, 31 Jul 2016 04:16:48 +0000 (07:16 +0300)]
Fixing themes

8 years agoCap kombu and celery
Boris Bobrov [Mon, 25 Jul 2016 02:23:16 +0000 (05:23 +0300)]
Cap kombu and celery

See issue 5464 for details

8 years agofixed bug #728
Boris Bobrov [Fri, 20 Jun 2014 04:03:29 +0000 (08:03 +0400)]
fixed bug #728

8 years agoMerge branch 'fix-unhelpful-smtp-error-5081'
Boris Bobrov [Mon, 25 Jul 2016 00:59:49 +0000 (03:59 +0300)]
Merge branch 'fix-unhelpful-smtp-error-5081'

8 years agoFix #928 - cleanup to avoid duplicated get_upload_file_limits
Loic Dachary [Thu, 28 Jan 2016 08:10:03 +0000 (15:10 +0700)]
Fix #928 - cleanup to avoid duplicated get_upload_file_limits

Signed-off-by: Loic Dachary <loic@dachary.org>
8 years agoFix #822 - doc typo s/Plugin/PluginManager/
Loic Dachary [Tue, 12 Jan 2016 22:05:43 +0000 (23:05 +0100)]
Fix #822 - doc typo s/Plugin/PluginManager/

Signed-off-by: Loic Dachary <loic@dachary.org>
8 years agoAdd one more contributor
Boris Bobrov [Mon, 25 Jul 2016 00:40:19 +0000 (03:40 +0300)]
Add one more contributor

Thanks, Jonathan Sandoval!

8 years agoUse GLib instead of GObject
Boris Bobrov [Mon, 25 Jul 2016 00:39:23 +0000 (03:39 +0300)]
Use GLib instead of GObject

Thanks mi!

Fixes bug 5399

8 years agoMerge branch 'login-validator-5414'
Boris Bobrov [Mon, 25 Jul 2016 00:23:25 +0000 (03:23 +0300)]
Merge branch 'login-validator-5414'

8 years agoFix #5462 - attempt to change email without login
Andrew Browning [Tue, 19 Jul 2016 04:16:48 +0000 (00:16 -0400)]
Fix #5462 - attempt to change email without login

Require an active login when accessing the form to change an email
address associated with an account. This prevents a server crash when
a user is assumed to be part of the request.

8 years agoPrevent erroring out in some cases of checking video metadata
Christopher Allan Webber [Thu, 14 Jul 2016 15:48:28 +0000 (10:48 -0500)]
Prevent erroring out in some cases of checking video metadata

8 years agoA bit of a documentation update around celery systemd init files
Christopher Allan Webber [Wed, 13 Jul 2016 14:11:40 +0000 (09:11 -0500)]
A bit of a documentation update around celery systemd init files

8 years agouse is_rtl variable to detect rtl locales
Leah Velleman [Tue, 21 Jun 2016 02:08:55 +0000 (22:08 -0400)]
use is_rtl variable to detect rtl locales

8 years agofixed 'older' and 'newer' arrows for rtl locales
Leah Velleman [Mon, 20 Jun 2016 21:06:41 +0000 (17:06 -0400)]
fixed 'older' and 'newer' arrows for rtl locales

8 years agoInclude original error in debug log
Jonathan Sandoval [Fri, 8 Apr 2016 18:21:31 +0000 (13:21 -0500)]
Include original error in debug log

8 years agosquash! Custom exception in mail.
Jonathan Sandoval [Fri, 8 Apr 2016 18:17:26 +0000 (13:17 -0500)]
squash! Custom exception in mail.

8 years agoCustom exception in mail.
Jonathan Sandoval [Fri, 8 Apr 2016 18:12:21 +0000 (13:12 -0500)]
Custom exception in mail.

8 years agoMail tests with no mail server configured.
Jonathan Sandoval [Fri, 8 Apr 2016 18:07:06 +0000 (13:07 -0500)]
Mail tests with no mail server configured.

8 years agoNo length check for login form
Jonathan Sandoval [Thu, 7 Apr 2016 21:34:00 +0000 (16:34 -0500)]
No length check for login form

8 years agoTests for short and long usernames.
Jonathan Sandoval [Thu, 7 Apr 2016 21:29:15 +0000 (16:29 -0500)]
Tests for short and long usernames.

8 years agoTest with short and long username
Jonathan Sandoval [Thu, 7 Apr 2016 16:55:45 +0000 (11:55 -0500)]
Test with short and long username

8 years agoImport messages in blog views
Andrew Browning [Sun, 3 Apr 2016 05:10:22 +0000 (01:10 -0400)]
Import messages in blog views

8 years agoFix #5451 - add_message inconsistencies
Andrew Browning [Sat, 2 Apr 2016 01:14:40 +0000 (21:14 -0400)]
Fix #5451 - add_message inconsistencies

Reformat add_message function calls for consistency and PEP8 line
continuations.

8 years agoReplace raw_input with six.moves.input
Berker Peksag [Sat, 2 Apr 2016 17:48:04 +0000 (20:48 +0300)]
Replace raw_input with six.moves.input

Fixes #5441

8 years agoFix the blog_delete page for admins.
宋文武 [Sat, 2 Apr 2016 03:45:25 +0000 (11:45 +0800)]
Fix the blog_delete page for admins.

* mediagoblin/media_types/blog/views.py: Import WARNING from mediagoblin.messages.