Development issueshttps://lab.civicrm.org/groups/dev/-/issues2019-10-05T13:56:40Zhttps://lab.civicrm.org/dev/core/-/issues/1294Unreleased regression: Advanced Search ignores search parameters and always r...2019-10-05T13:56:40ZPatrick Figelpfigel@greenpeace.orgUnreleased regression: Advanced Search ignores search parameters and always returns all contactsIn master, Advanced Search currently seems to ignore all search parameters and always returns all contacts.
5.18 is **not** affected.In master, Advanced Search currently seems to ignore all search parameters and always returns all contacts.
5.18 is **not** affected.5.19.0eileeneileenhttps://lab.civicrm.org/dev/core/-/issues/1292Contact Export has fatal error if you check the box 'Exclude contacts with "d...2019-10-05T13:57:10ZDaveDContact Export has fatal error if you check the box 'Exclude contacts with "do not mail" privacy' AND the selected fields include "Do Not Mail"Gives "Error: Cannot unset string offsets".
I think this would also apply if you selected to export the fields is_deceased or street_address.
See https://civicrm.stackexchange.com/questions/33245/error-cannot-unset-string-offsets-expor...Gives "Error: Cannot unset string offsets".
I think this would also apply if you selected to export the fields is_deceased or street_address.
See https://civicrm.stackexchange.com/questions/33245/error-cannot-unset-string-offsets-exporting-using-custom-field-mapping
To reproduce:
1. Do contact search. For the purposes here make sure the search results have at least one contact with a street address, otherwise you'll trigger another issue which I'll post separately.
2. Select a couple or all just include at least one with a street address.
3. Choose export from the dropdown.
4. Choose selected fields.
5. Check the box that says `Exclude contacts with "do not mail" privacy etc...`.
6. On the next screen choose "Do Not Mail" as one of the fields.
7. When you export you get the fatal error.
Seems like a typo [here](https://github.com/civicrm/civicrm-core/blob/51d84eca30b49b72af285ef1435c7087c6c6cb7c/CRM/Export/BAO/ExportProcessor.php#L162). $fields is missing an "s".
Looks like it was introduced in 5.17.x. I marked as regression but I know people are busy at the sprint and this is an easy fix for anyone to make themselves.
https://github.com/civicrm/civicrm-core/pull/15392
~regression5.18.1DaveDDaveDhttps://lab.civicrm.org/dev/user-interface/-/issues/4Enhancement - Quick search contact lookup2019-10-07T13:26:00ZrebeccatregennaEnhancement - Quick search contact lookupAllow quick search to be used with full names rather than by leading last name; e.g. allow users to search for Oliver Gibson.Allow quick search to be used with full names rather than by leading last name; e.g. allow users to search for Oliver Gibson.https://lab.civicrm.org/dev/user-interface/-/issues/7Ability to exclude activities that appear on the actions button on a contact ...2019-10-07T13:29:15ZHeatherOliverAbility to exclude activities that appear on the actions button on a contact recordAll activity types that are added to CiviCRM are included in the Actions button when you view a contact record. For sites with a lot of activities (particularly those which are used in connection with Drupal webforms andnot normally trig...All activity types that are added to CiviCRM are included in the Actions button when you view a contact record. For sites with a lot of activities (particularly those which are used in connection with Drupal webforms andnot normally triggered in CiviCRM directly) this becomes a bit frustrating to manage.
Adding / filtering activities in other places uses the look up function, meaning the the length of the list in those places isn't really an issue.
See two attached images as an example. This isn't even all the activities for this site.
![image-1](/uploads/9b605ca4b8c666484a20ffb6be744651/image-1.PNG)![image-2](/uploads/56b30fe891eeaa9bbab310c74328cfb5/image-2.PNG)https://lab.civicrm.org/dev/core/-/issues/1283exported data truncated to 255 when alphanumeric field value2019-10-07T13:57:26ZStoobexported data truncated to 255 when alphanumeric field value* appears unrelated to #877 and to labels, this issue pertains to data itself
* this regression appeared sometime after 5.10 and persists in 5.17
Steps to reproduce:
1. create a Custom Data field of type Alphanumeric and set the field l...* appears unrelated to #877 and to labels, this issue pertains to data itself
* this regression appeared sometime after 5.10 and persists in 5.17
Steps to reproduce:
1. create a Custom Data field of type Alphanumeric and set the field length to 1000
2. fill the data in a test record *well beyond 255* characters in length
3. Export the contact with Custom Data field, observe the field **in CSV** has been truncated to 2555.19.0eileeneileenhttps://lab.civicrm.org/dev/core/-/issues/1284Ajax error, "field description unset or not existing"2019-10-07T20:19:20ZCésarAjax error, "field description unset or not existing"Hi all,
I found a error in CiviCRM 5.16.2,
If you create a custom group, set in custom group settings, display style: "tab with table" add create a new custom field type "file", this reproduce this error:
![image](/uploads/8d42ad12ef06...Hi all,
I found a error in CiviCRM 5.16.2,
If you create a custom group, set in custom group settings, display style: "tab with table" add create a new custom field type "file", this reproduce this error:
![image](/uploads/8d42ad12ef068d484f369dbb2a41da0b/image.png)
Specifically, the browser console error message is:
![image](/uploads/bb723674e2c68f8d6e1435db1f6f15ee/image.png)https://lab.civicrm.org/dev/core/-/issues/1281Undefined variable isLiveMode when using print/merge document action from sea...2019-10-08T09:47:07ZDaveDUndefined variable isLiveMode when using print/merge document action from search results`Notice: Undefined variable: isLiveMode in CRM_Contact_Form_Task_PDFLetterCommon::postProcess() (line 183 of .../web/sites/all/modules/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php)`
Because it's a page where a pdf gets downloaded, ...`Notice: Undefined variable: isLiveMode in CRM_Contact_Form_Task_PDFLetterCommon::postProcess() (line 183 of .../web/sites/all/modules/civicrm/CRM/Contact/Form/Task/PDFLetterCommon.php)`
Because it's a page where a pdf gets downloaded, you don't see the warning until you visit another page. Also in order to notice any missing functionality you'd have to have the setting at admin - system settings - misc - record generated letters set to "one combined activity plus one attachment", which isn't the default.
Not sure yet what it should be. There's a call to self::isLiveMode() earlier, so maybe that.5.18.2https://lab.civicrm.org/dev/user-interface/-/issues/9Can't add / edit Name Badge Template Options2019-10-08T15:58:20ZHeatherOliverCan't add / edit Name Badge Template OptionsThrough the UI, you can add / edit Mailing Label format options, but not options for Event Labels. This means unless you are using one of the four pre-configured options, you need to go to the SQL to change between Mailing Label and Name...Through the UI, you can add / edit Mailing Label format options, but not options for Event Labels. This means unless you are using one of the four pre-configured options, you need to go to the SQL to change between Mailing Label and Name badge to test and use.
/civicrm/admin/labelFormats?reset=1
![mailing-labels](/uploads/9b6e6dcd428fd100daddb4aacf6aefeb/mailing-labels.PNG)https://lab.civicrm.org/dev/core/-/issues/1302Fatal error in export when using "Merge All Contacts with the Same Address" a...2019-10-08T17:27:07ZDaveDFatal error in export when using "Merge All Contacts with the Same Address" and Selected Fields instead of Primary FieldsSee https://civicrm.stackexchange.com/questions/33272/fatal-error-on-export-in-5-18-1/33273#33273
1. Do a contact search.
2. Select some results.
3. Choose Export from the Actions dropdown.
4. Choose Selected Fields.
5. Choose the optio...See https://civicrm.stackexchange.com/questions/33272/fatal-error-on-export-in-5-18-1/33273#33273
1. Do a contact search.
2. Select some results.
3. Choose Export from the Actions dropdown.
4. Choose Selected Fields.
5. Choose the option "Merge All Contacts with the Same Address".
6. Pick your selected fields.
7. Export.
Db error, because there's an extra comma being added at the end of the field list or possibly a field name is supposed to be there but comes out blank. Then it's followed by a php notice when you go to another page.
```
Database Error Code: You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near ' PRIMARY KEY ( id ), INDEX index_street_address( street_address ) , INDEX i' at line 15, 1064
Additional Details:
Array
(
[callback] => Array
(
[0] => CRM_Core_Error
[1] => handle
)
[code] => -2
[message] => DB Error: syntax error
[mode] => 16
[debug_info] => CREATE TABLE `civicrm_tmp_d_export_4fa32a2a24bde72ebb683e1e36771419` ( id int unsigned NOT NULL AUTO_INCREMENT, display_name varchar(128),
addressee varchar(255),
postal_greeting varchar(255),
email_greeting varchar(255),
street_name varchar(64),
household_name varchar(128),
street_address varchar(96),
city varchar(64),
state_province varchar(64),
civicrm_primary_id varchar(16),
master_id varchar(128),
state_province_id varchar(255),
postal_greeting_id varchar(16),
addressee_id varchar(16),
,
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX index_household_name( household_name )
,
INDEX index_civicrm_primary_id( civicrm_primary_id )
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX i' at line 15]
[type] => DB_Error
[user_info] => CREATE TABLE `civicrm_tmp_d_export_4fa32a2a24bde72ebb683e1e36771419` ( id int unsigned NOT NULL AUTO_INCREMENT, display_name varchar(128),
addressee varchar(255),
postal_greeting varchar(255),
email_greeting varchar(255),
street_name varchar(64),
household_name varchar(128),
street_address varchar(96),
city varchar(64),
state_province varchar(64),
civicrm_primary_id varchar(16),
master_id varchar(128),
state_province_id varchar(255),
postal_greeting_id varchar(16),
addressee_id varchar(16),
,
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX index_household_name( household_name )
,
INDEX index_civicrm_primary_id( civicrm_primary_id )
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX i' at line 15]
[to_string] => [db_error: message="DB Error: syntax error" code=-2 mode=callback callback=CRM_Core_Error::handle prefix="" info="CREATE TABLE `civicrm_tmp_d_export_4fa32a2a24bde72ebb683e1e36771419` ( id int unsigned NOT NULL AUTO_INCREMENT, display_name varchar(128),
addressee varchar(255),
postal_greeting varchar(255),
email_greeting varchar(255),
street_name varchar(64),
household_name varchar(128),
street_address varchar(96),
city varchar(64),
state_province varchar(64),
civicrm_primary_id varchar(16),
master_id varchar(128),
state_province_id varchar(255),
postal_greeting_id varchar(16),
addressee_id varchar(16),
,
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX index_household_name( household_name )
,
INDEX index_civicrm_primary_id( civicrm_primary_id )
) ENGINE=InnoDB DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci [nativecode=1064 ** You have an error in your SQL syntax; check the manual that corresponds to your MariaDB server version for the right syntax to use near '
PRIMARY KEY ( id ),
INDEX index_street_address( street_address )
,
INDEX i' at line 15]"]
)
```
`Notice: Undefined index: sql_columns in CRM_Export_BAO_ExportProcessor->getSQLColumns() (line 927 of .../web/sites/all/modules/civicrm/CRM/Export/BAO/ExportProcessor.php`
@eileen @seamuslee5.18.2https://lab.civicrm.org/dev/core/-/issues/1305Fatal error when sorting on a custom field in a profile listing2019-10-09T09:07:07ZDaveDFatal error when sorting on a custom field in a profile listingFollow on from https://lab.civicrm.org/dev/core/issues/1269#note_24297 and https://lab.civicrm.org/dev/core/issues/1269#note_24382 I'm able to reproduce the following on dmaster.demo and also a recent PR test site, but my local master se...Follow on from https://lab.civicrm.org/dev/core/issues/1269#note_24297 and https://lab.civicrm.org/dev/core/issues/1269#note_24382 I'm able to reproduce the following on dmaster.demo and also a recent PR test site, but my local master seems ok, but since it's been reported on [stackexchange](https://civicrm.stackexchange.com/questions/33226/cant-sort-search-result-table-by-column-when-the-column-shows-a-custom-field) and seems a problem on two official builds I'm ignoring my local install.
To reproduce:
1. Create a profile used for listings.
2. Include a custom field, e.g. the stock "Marital Status" one.
3. Use the profile in listings mode.
4. Try to sort by the custom field.
`Error: Class name must be a valid object or a string in CRM_Contact_BAO_Query->prepareOrderBy() (line 6422 of .../CRM/Contact/BAO/Query.php).`
It seems like the same thing as #1269, where fieldspec bao isn't defined for custom fields. I'll put up a PR that does the same thing as that ticket, just that because there seems to be something weird (or not weird) on my install I'm just guessing if it works.5.18.2https://lab.civicrm.org/dev/core/-/issues/1293Blank screen with no errors if you choose "Exclude contacts with "do not mail...2019-10-09T09:49:13ZDaveDBlank screen with no errors if you choose "Exclude contacts with "do not mail" privacy" during export where that causes it to have zero contactsFirst, to even see this you have to first apply the fix in #1292.
This seems low priority and is more likely to come up on a testing site just it's kind of confusing and sends you hunting to find the error message when there really isn'...First, to even see this you have to first apply the fix in #1292.
This seems low priority and is more likely to come up on a testing site just it's kind of confusing and sends you hunting to find the error message when there really isn't any. To reproduce:
1. Do a contact search.
2. Select contacts so that none of them have a street address, the Do Not Mail choice, or deceased. E.g. pick a couple contacts where all they have is name and/or email.
3. Choose export from the dropdown.
4. Choose selected fields.
5. Check the box that says `Exclude contacts with "do not mail" privacy, no street address, or who are deceased`.
6. On the next page choose a field like Do Not Mail.
7. When you export you just get a blank screen and there's no errors anywhere. It's because there is no actual error, it's just that there are now zero contacts to export, but it also doesn't give you a zero-length file to download.
I thought it might be browser-specific but it's the same in firefox and chrome.5.18.2https://lab.civicrm.org/dev/core/-/issues/1269Error during "Import Contribution" and not able to import2019-10-09T11:47:08ZtapashError during "Import Contribution" and not able to importReceiving following error in drupal when importing contribution from a csv. Is there a quick fix for this?
`Error: Class name must be a valid object or a string in CRM_Import_Parser->parsePseudoConstantField() (line 565 of /home/webadmi...Receiving following error in drupal when importing contribution from a csv. Is there a quick fix for this?
`Error: Class name must be a valid object or a string in CRM_Import_Parser->parsePseudoConstantField() (line 565 of /home/webadmin/public_html/cmm/sites/all/modules/civicrm/CRM/Import/Parser.php).`
`Notice: Undefined index: bao in CRM_Import_Parser->parsePseudoConstantField() (line 563 of /home/webadmin/public_html/cmm/sites/all/modules/civicrm/CRM/Import/Parser.php).
`5.19.0https://lab.civicrm.org/dev/financial/-/issues/70Enabling more than one payment methods for checks2019-10-09T12:32:48ZJoeMurrayEnabling more than one payment methods for checksSome organizations have more than one bank account that they deposit checks into. It would be appropriate to configure one payment method / payment instrument for each of these bank accounts so that a different Financial Account can be c...Some organizations have more than one bank account that they deposit checks into. It would be appropriate to configure one payment method / payment instrument for each of these bank accounts so that a different Financial Account can be created for each.
Unfortunately, there are a number of places in core that bake in the idea that there is only ever a single payment method for checks. While we have worked around this with an extension that uses an override (specifically of this line: https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Payment/Manual.php#L95), JMA would like to remove this deficiency, or at least limitation, or core.
Here are some notes from Monish on implementation ideas. We'd like to get approval here, potentially after refinement, before we start.
1. Add hook to add/override payment fields against respective payment instrument.
https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Payment.php#L609 this would be the place to add the new hook say:
CRM_Utils_Hook::extendPaymentFields($paymentInstrumentID, &$paymentFields);
Another place to extend metadata via hook https://github.com/civicrm/civicrm-core/blob/master/CRM/Core/Payment.php#L724
2. Change the hardcoded name ‘Check’ in various places, on basis of which check number information is fetched. In order to generalise it, we need to have a UI where we can define payment fields against each payment instrument. In that way it will be easy to gather payment information for a given payment instrument otherwise it will be a problem when the existing PI (payment instrument) name or value is changed like it occurred in case of Check PI whose name was changed to cheque.
Places where Check name was explicitly called (found using grep -irn "'Check'" CRM/ ):
`
CRM//Financial/Page/AJAX.php:371: if ($row[$financialItem->id][$columnKey] == 'Check') {
CRM//Financial/Form/PaymentEdit.php:178: elseif ($paymentInstrumentName == 'Check') {
CRM//Contribute/BAO/Contribution.php:4140: if ($paidByName == 'Check') {
CRM//Contribute/Form/Contribution.php:649: $checkPaymentID = array_search('Check', CRM_Contribute_PseudoConstant::paymentInstrument('name'));
CRM//Contribute/BAO/Contribution.php:185: if ($params['payment_instrument_id'] != array_search('Check', $paymentInstruments)) {
And there are various other places (that hard to find using grep) which have an exclusive condition on payment instrument type where that is using in fetching particular payment field(s) for them.
In order to generalise the flow, we should have
2.1. a separate UI to say 'New Payment Instrument' form
2.2. This UI should have basic payment instrument fields, label, value and a section called payment fields where one can add multiple payment fields against that payment instrument and also select the html type. Say for CC, pan_truncation and card_type_id is text and select field respectively. It could be pretty much similar to the 'New Custom field' form where we can choose name, html type and data type.
3. Upon submission it will save the data in uf_join.module_data as
INSERT INTO `civicrm_uf_join` ( `is_active`, `module`, `entity_table`, `entity_id`, `weight`, `uf_group_id`, `module_data`)
VALUES ( '1', 'payment_instrument', 'civicrm_option_value', '17', '1', '', {"check_number":"ABC123"})
4. After declaring the payment fields, it will render them in backoffice contribution/membership/event forms when the appropriate payment method is selected.
5. To avoid a schema change, on submit the payment information could be stored in civicrm_financial_trxn.payment_data in serialised format. Obviously there are alternatives, such as doing the work to support custom fields on civicrm_financial_trxn, even though much of the existing custom field code would be problematic when applied to a table never exposed through search or directly through forms (closest is payments).
6. Handle install and upgrade to adapt this new change
7. Make changes across financial core files to fetch payment field
8. Add UTs
So main objective: enable more than one payment method to be of type check, and thus prompt the display on view and create/edit of the check number field.
@eileen @monish.debhttps://lab.civicrm.org/dev/core/-/issues/1200CiviCRM Dashboard does not respect multiple domains2019-10-09T13:54:34ZhaystackCiviCRM Dashboard does not respect multiple domainsWhen I create a new Domain (conveniently done via the API as provided by the `org.civicrm.multisite` Extension but not limited to that method, the same happens when this is done manually) I have noticed a couple of problems:
1. When I v...When I create a new Domain (conveniently done via the API as provided by the `org.civicrm.multisite` Extension but not limited to that method, the same happens when this is done manually) I have noticed a couple of problems:
1. When I visit the CiviCRM Dashboard, I see duplicate Dashlets (FYI "Call Next" is mine):
![civicrm-duplicate-dashlets](/uploads/b17c00208f74665e341977179938fbf5/civicrm-duplicate-dashlets.png)
2. When I try to create a new Dashlet on the new Domain:
```php
$params = array(
'domain_id' => CRM_Core_Config::domainID(),
'name' => 'blah',
'label' => E::ts( 'Blah' ),
'url' => 'civicrm/blah',
'fullscreen_url' => 'civicrm/blah?context=dashletFullscreen',
'permission' => 'access CiviCRM',
'is_active' => 1,
'cache_minutes' => 1,
);
// Create dashlet.
$dashlet = civicrm_api3( 'Dashboard', 'create', $params );
```
What happens with the above code is that the API updates the existing Dashlet with the new `domain_id` instead of creating a new Dashlet for that Domain.
The result of this is that it's impossible for a Contact to have different Dashlets per Domain.
PR to follow.5.18.0haystackhaystackhttps://lab.civicrm.org/dev/core/-/issues/1270Email Processor drops the other attachments if there's more than 32019-10-09T22:37:52ZDaveDEmail Processor drops the other attachments if there's more than 3Technically it's not "3" it's whatever number you have on the system settings - misc page, but that's obviously meant to be a limit for activities created through the UI, not to limit what people can email you. It comes up mostly from pe...Technically it's not "3" it's whatever number you have on the system settings - misc page, but that's obviously meant to be a limit for activities created through the UI, not to limit what people can email you. It comes up mostly from people who have a large number of graphics in their signatures - you just get their logos and miss the important attachment.
And just to clarify, it's not a display issue, it's actually dropping the attachments and not storing them anywhere.
Will see what I can do...
This goes back to early 4.x at least, maybe earlier, so it's not recent.
As an aside, if anyone knows of a good mail server plugin that strips out graphics in signatures without any false positive removal of real attachments please let me know.5.20.0https://lab.civicrm.org/dev/user-interface/-/issues/5Replace the basic find contacts search2019-10-10T09:22:10ZgibsonoliverReplace the basic find contacts searchjaapjansmajaapjansmahttps://lab.civicrm.org/dev/core/-/issues/933Flash-based charts missing in Chrome because the "click to enable" button is ...2019-10-10T18:48:37ZjohnkFlash-based charts missing in Chrome because the "click to enable" button is not visible on the pageJust go to Contributions Dashboard in Chrome. Charts do not show up. The issue is that in the default mode for Chrome, there should be a "click to enable" button coming up, but this chart or its javascript is in some way not compatible.
...Just go to Contributions Dashboard in Chrome. Charts do not show up. The issue is that in the default mode for Chrome, there should be a "click to enable" button coming up, but this chart or its javascript is in some way not compatible.
There is a well known workaround of manually enabling Flash for the site, which I've instructed our staff on. I still thought I'd open it as an issue. This Chrome-specific regression may be due to the use of SWFObject; see #270.
The Contributions chart is one of the best ways of showcasing all the hard work of setting up and importing data into ones fancy new CRM! So it's kind of a bummer to have the Chrome bug right there, is all.5.20.0https://lab.civicrm.org/dev/core/-/issues/1309Contribution Dashboard still uses broken Open Flash Charts2019-10-12T16:11:35ZeileenContribution Dashboard still uses broken Open Flash ChartsReplacement chart not rendering on Contribution Dashboard @artfulrobot promised to make it beautiful againReplacement chart not rendering on Contribution Dashboard @artfulrobot promised to make it beautiful again5.20.0RichRichhttps://lab.civicrm.org/dev/user-interface/-/issues/6Remove print icon2019-10-13T18:19:26ZnicolRemove print iconThis was raised by @smaen123 at #Summit19. There is an open #PR needing concept approval [on GH](https://github.com/civicrm/civicrm-core/pull/15322). @Kilakwabt mentioned another issue related to this he might want to elaborate on here o...This was raised by @smaen123 at #Summit19. There is an open #PR needing concept approval [on GH](https://github.com/civicrm/civicrm-core/pull/15322). @Kilakwabt mentioned another issue related to this he might want to elaborate on here or via security@civicrm.org depending on its current status.5.20.0https://lab.civicrm.org/dev/core/-/issues/764"This site can't be reached" error message2019-10-13T18:21:24Zteshale.wesene"This site can't be reached" error messageHi there,
I'm getting the above error message whenever I try to print mailing labels for clients. I've attached here a picture of the error message and I'd greatly appreciate it if you could please help me resolve this issue.
![Print_Ma...Hi there,
I'm getting the above error message whenever I try to print mailing labels for clients. I've attached here a picture of the error message and I'd greatly appreciate it if you could please help me resolve this issue.
![Print_Mailing_List_Error_Message](/uploads/eb69f6f7c98cb1395c906e4449e8831d/Print_Mailing_List_Error_Message.jpg)