From aa66c18650dba65a808194a6e63acb69ad38ccb0 Mon Sep 17 00:00:00 2001 From: Carlos Date: Mon, 4 Mar 2019 15:17:37 +0100 Subject: [PATCH 01/18] works --- client/package-lock.json | 26 +++++++++++++++++++------- mvis/client/package-lock.json | 13 +++++++++---- setup/functions | 16 ++++++++-------- 3 files changed, 36 insertions(+), 19 deletions(-) diff --git a/client/package-lock.json b/client/package-lock.json index 6b9ea835..7b6681a0 100644 --- a/client/package-lock.json +++ b/client/package-lock.json @@ -4470,7 +4470,8 @@ }, "ansi-regex": { "version": "2.1.1", - "bundled": true + "bundled": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -4488,11 +4489,13 @@ }, "balanced-match": { "version": "1.0.0", - "bundled": true + "bundled": true, + "optional": true }, "brace-expansion": { "version": "1.1.11", "bundled": true, + "optional": true, "requires": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -4505,15 +4508,18 @@ }, "code-point-at": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "concat-map": { "version": "0.0.1", - "bundled": true + "bundled": true, + "optional": true }, "console-control-strings": { "version": "1.1.0", - "bundled": true + "bundled": true, + "optional": true }, "core-util-is": { "version": "1.0.2", @@ -4616,7 +4622,8 @@ }, "inherits": { "version": "2.0.3", - "bundled": true + "bundled": true, + "optional": true }, "ini": { "version": "1.3.5", @@ -4626,6 +4633,7 @@ "is-fullwidth-code-point": { "version": "1.0.0", "bundled": true, + "optional": true, "requires": { "number-is-nan": "^1.0.0" } @@ -4638,6 +4646,7 @@ "minimatch": { "version": "3.0.4", "bundled": true, + "optional": true, "requires": { "brace-expansion": "^1.1.7" } @@ -4743,7 +4752,8 @@ }, "number-is-nan": { "version": "1.0.1", - "bundled": true + "bundled": true, + "optional": true }, "object-assign": { "version": "4.1.1", @@ -4858,6 +4868,7 @@ "string-width": { "version": "1.0.2", "bundled": true, + "optional": true, "requires": { "code-point-at": "^1.0.0", "is-fullwidth-code-point": "^1.0.0", @@ -4875,6 +4886,7 @@ "strip-ansi": { "version": "3.0.1", "bundled": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } diff --git a/mvis/client/package-lock.json b/mvis/client/package-lock.json index 288e5623..1e1d59cd 100644 --- a/mvis/client/package-lock.json +++ b/mvis/client/package-lock.json @@ -3887,7 +3887,8 @@ "ansi-regex": { "version": "2.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "aproba": { "version": "1.2.0", @@ -4302,7 +4303,8 @@ "safe-buffer": { "version": "5.1.1", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "safer-buffer": { "version": "2.1.2", @@ -4358,6 +4360,7 @@ "version": "3.0.1", "bundled": true, "dev": true, + "optional": true, "requires": { "ansi-regex": "^2.0.0" } @@ -4401,12 +4404,14 @@ "wrappy": { "version": "1.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true }, "yallist": { "version": "3.0.2", "bundled": true, - "dev": true + "dev": true, + "optional": true } } }, diff --git a/setup/functions b/setup/functions index fd84ea7e..d4fae92e 100644 --- a/setup/functions +++ b/setup/functions @@ -46,9 +46,9 @@ EOF exit 1 fi - installPrerequisities + #installPrerequisities installMailtrain http://localhost:3000 http://localhost:3003 http://localhost:3004 0.0.0.0 false - installService + #installService echo echo "Success!" @@ -155,11 +155,11 @@ function installMailtrain { mysqlRoPassword=`pwgen 12 -1` # Setup MySQL user for Mailtrain - mysql -u root -e "CREATE USER 'mailtrain'@'localhost' IDENTIFIED BY '$mysqlPassword';" - mysql -u root -e "GRANT ALL PRIVILEGES ON mailtrain.* TO 'mailtrain'@'localhost';" - mysql -u root -e "CREATE USER 'mailtrain_ro'@'localhost' IDENTIFIED BY '$mysqlRoPassword';" - mysql -u root -e "GRANT SELECT ON mailtrain.* TO 'mailtrain_ro'@'localhost';" - mysql -u mailtrain --password="$mysqlPassword" -e "CREATE database mailtrain;" + #mysql -u root -e "CREATE USER 'mailtrain'@'localhost' IDENTIFIED BY '$mysqlPassword';" + #mysql -u root -e "GRANT ALL PRIVILEGES ON mailtrain.* TO 'mailtrain'@'localhost';" + #mysql -u root -e "CREATE USER 'mailtrain_ro'@'localhost' IDENTIFIED BY '$mysqlRoPassword';" + #mysql -u root -e "GRANT SELECT ON mailtrain.* TO 'mailtrain_ro'@'localhost';" + #mysql -u mailtrain --password="$mysqlPassword" -e "CREATE database mailtrain;" # Add new user for the mailtrain daemon to run as useradd mailtrain || true @@ -206,7 +206,7 @@ mysql: password: "$mysqlRoPassword" EOT - reinstallModules + #reinstallModules (cd client && npm run build) From 38e277cb7ca61e38eff7f5afdd298a7ae2e192d5 Mon Sep 17 00:00:00 2001 From: Carlos Date: Mon, 4 Mar 2019 15:44:52 +0100 Subject: [PATCH 02/18] Spanish lang without translation added --- =/Cache/cbc42e4c979f69f0_0 | Bin 0 -> 7752 bytes =/Cache/index-dir/the-real-index | Bin 0 -> 144 bytes client/src/lib/i18n.js | 3 + locales/es-ES/common.json | 963 ++++++++++++++++++ server/config/default.yaml | 1 + server/lib/translate.js | 1 + .../workers/reports/config/default.yaml | 1 + setup/functions | 2 +- 8 files changed, 970 insertions(+), 1 deletion(-) create mode 100644 =/Cache/cbc42e4c979f69f0_0 create mode 100644 =/Cache/index-dir/the-real-index create mode 100644 locales/es-ES/common.json diff --git a/=/Cache/cbc42e4c979f69f0_0 b/=/Cache/cbc42e4c979f69f0_0 new file mode 100644 index 0000000000000000000000000000000000000000..04b2d04024639025771a97f00f99242cd4bff5f5 GIT binary patch literal 7752 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 literal 0 HcmV?d00001 diff --git a/=/Cache/index-dir/the-real-index b/=/Cache/index-dir/the-real-index new file mode 100644 index 0000000000000000000000000000000000000000..169b852bcba504e76f4c16a95bfb43da55da61c8 GIT binary patch literal 144 zcmeBRU|?9?pt>QyQlTidBrlZ%$Y%j!FmPc9Q%peeSnh&TsvTKD4j!EcZa>sxVEDiW zmP>u-QI#6#!PHP82N72Q3p0GkoIl-1@5t!}mZj`>Kerror and <3>data properties. If the response <5>error has a value set then the request failed.", + "youNeedToDefineProperContentTypeWhen": "You need to define proper <1>Content-Type when making a request. You can either use <3>application/x-www-form-urlencoded for normal form data or <5>application/json for a JSON payload. Using <7>multipart/form-data is not supported.", + "emailMustNotBeEmpty": "Email must not be empty.", + "invalidEmailAddress": "Invalid email address.", + "theEmailIsAlreadyAssociatedWithAnother": "The email is already associated with another user in the system.", + "validationIsInProgress": "Validation is in progress...", + "fullNameMustNotBeEmpty": "Full name must not be empty", + "currentPasswordMustNotBeEmpty": "Current password must not be empty.", + "incorrectPassword": "Incorrect password.", + "passwordsMustMatch": "Passwords must match", + "updatingUserProfile": "Updating user profile ...", + "userProfileUpdated": "User profile updated", + "thereAreErrorsInTheFormPleaseFixThemAnd": "There are errors in the form. Please fix them and submit again.", + "yourUpdatesCannotBeSaved": "Your updates cannot be saved.", + "thePasswordIsIncorrectPossiblyJust": "The password is incorrect (possibly just changed in another window / session). Enter correct password and try again.", + "theEmailIsAlreadyAssignedToAnotherUser": "The email is already assigned to another user. Enter another email and try again.", + "account": "Account", + "generalSettings": "General Settings", + "fullName": "Full Name", + "email": "Email", + "thisAddressIsUsedForAccountRecoveryIn": "This address is used for account recovery in case you loose your password", + "passwordChange": "Password Change", + "youOnlyNeedToFillOutThisFormIfYouWantTo": "You only need to fill out this form if you want to change your current password", + "currentPassword": "Current Password", + "newPassword": "New Password", + "confirmPassword": "Confirm Password", + "update": "Update", + "accountManagementIsNotPossibleBecause": "Account management is not possible because Mailtrain is configured to use externally managed users.", + "ifYouWantToChangeThePasswordUseThisLink": "If you want to change the password, use <1>this link.", + "usernameOrEmailMustNotBeEmpty": "Username or email must not be empty", + "processing": "Processing ...", + "ifTheUsernameEmailExistsInTheSystem": "If the username / email exists in the system, password reset link will be sent to the registered email.", + "pleaseEnterYourUsernameEmailAndTryAgain": "Please enter your username / email and try again.", + "passwordReset": "Password Reset", + "pleaseProvideTheUsernameOrEmailAddress": "Please provide the username or email address that is registered with your Mailtrain account.", + "weWillSendYouAnEmailThatWillAllowYouTo": "We will send you an email that will allow you to reset your password.", + "usernameOrEmail": "Username or email", + "sendEmail": "Send email", + "userNameMustNotBeEmpty": "User name must not be empty", + "passwordMustNotBeEmpty": "Password must not be empty", + "verifyingCredentials": "Verifying credentials ...", + "pleaseEnterYourCredentialsAndTryAgain": "Please enter your credentials and try again.", + "invalidUsernameOrPassword": "Invalid username or password.", + "forgotYourPassword?": "Olvidaste tu contraseña?", + "signIn": "Iniciar sesión", + "username": "Usuario", + "password": "Contraseña", + "rememberMe": "Recuérdame", + "resettingPassword": "Resetting password ...", + "passwordReset-1": "Password reset", + "yourPasswordCannotBeReset": "Your password cannot be reset.", + "thePasswordResetTokenHasExpired": "The password reset token has expired.", + "clickHereToRequestANewPasswordResetLink": "Click here to request a new password reset link.", + "validatingPasswordResetToken": "Validating password reset token ...", + "thePasswordCannotBeReset": "The password cannot be reset", + "setNewPasswordFor": "Set new password for", + "resetPassword": "Reset password", + "emailMustNotBeEmpty-1": "Email must not be empty", + "theEmailIsAlreadyOnBlacklist": "The email is already on blacklist.", + "saving": "Saving ...", + "thereAreErrorsInTheFormPleaseFixThemAnd-1": "There are errors in the form. Please fix them and try again.", + "removeFromBlacklist": "Remove from blacklist", + "confirmRemovalFromBlacklist": "Confirm Removal From Blacklist", + "areYouSureYouWantToRemoveEmailFromThe": "Are you sure you want to remove {{email}} from the blacklist?", + "removingEmailFromTheBlacklist": "Removing {{email}} from the blacklist", + "emailRemovedFromTheBlacklist": "{{email}} removed from the blacklist", + "blacklist": "Blacklist", + "addEmailToBlacklist-1": "Add Email to Blacklist", + "addToBlacklist": "Add to Blacklist", + "blacklistedEmails": "Blacklisted Emails", + "createRegularCampaign": "Create Regular Campaign", + "createRssCampaign": "Create RSS Campaign", + "createTriggeredCampaign": "Create Triggered Campaign", + "editRegularCampaign": "Edit Regular Campaign", + "editRssCampaign": "Edit RSS Campaign", + "editTriggeredCampaign": "Edit Triggered Campaign", + "template": "Template", + "template_plural": "Templates", + "customContentClonedFromTemplate": "Custom content cloned from template", + "customContentClonedFromAnotherCampaign": "Custom content cloned from another campaign", + "customContent": "Custom content", + "url": "URL", + "nameMustNotBeEmpty": "Name must not be empty", + "sendConfigurationMustBeSelected": "Send configuration must be selected", + "fromEmailMustNotBeEmpty": "\"From\" email must not be empty", + "templateMustBeSelected": "Template must be selected", + "campaignMustBeSelected": "Campaign must be selected", + "typeMustBeSelected": "Type must be selected", + "urlMustNotBeEmpty": "URL must not be empty", + "rssFeedUrlMustBeGiven": "RSS feed URL must be given", + "listMustBeSelected": "List must be selected", + "segmentMustBeSelected": "Segment must be selected", + "campaignSaved": "Campaign saved", + "rssFeedUrl": "RSS Feed Url", + "name": "Name", + "id": "ID", + "subscribers": "Subscribers", + "description": "Description", + "namespace": "Namespace", + "namespace_plural": "Namespaces", + "remove": "Remove", + "insertNewEntryBeforeThisOne": "Insert new entry before this one", + "moveUp": "Move up", + "moveDown": "Move down", + "list": "List", + "list_plural": "Lists", + "segment": "Segment", + "useAParticularSegment": "Use a particular segment", + "lists": "Listas", + "addList": "Add list", + "type": "Type", + "created": "Created", + "override": "Override", + "fromName": "\"From\" name", + "fromEmailAddress": "\"From\" email address", + "replytoEmailAddress": "\"Reply-to\" email address", + "subjectLine": "\"Subject\" line", + "loadingSendConfiguration": "Loading send configuration ...", + "contentSource": "Content source", + "selectingATemplateCreatesACampaign": "Selecting a template creates a campaign specific copy from it.", + "campaign": "Campaña", + "campaign_plural": "Campañas", + "contentOfTheSelectedCampaignWillBeCopied": "Content of the selected campaign will be copied into this campaign.", + "renderUrl": "Render URL", + "ifAMessageIsSentThenThisUrlWillBePosTed": "If a message is sent then this URL will be POSTed to using Merge Tags as POST body. Use this if you want to generate the HTML message yourself.", + "save": "Save", + "saveAndEditContent": "Save and edit content", + "saveCampaignAndGoToStatus": "Save campaign and go to status", + "deletingCampaign": "Deleting campaign ...", + "campaignDeleted": "Campaign deleted", + "formCannotBeEditedBecauseTheCampaignIs": "Form cannot be edited because the campaign is currently being sent out. Wait till the sending is finished and refresh.", + "thisIsTheCampaignIdDisplayedToThe": "This is the campaign ID displayed to the subscribers", + "sendConfiguration": "Send configuration", + "sendConfiguration_plural": "Send configurations", + "customUnsubscribeUrl": "Custom unsubscribe URL", + "disableOpenedTracking": "Disable opened tracking", + "disableClickedTracking": "Disable clicked tracking", + "delete": "Delete", + "editCustomContent": "Edit Custom Content", + "customTemplateEditor": "Custom template editor", + "testSend": "Test send", + "status": "Status", + "sendingScheduled": "Sending scheduled", + "sending": "Sending", + "statistics": "Statistics", + "edit": "Edit", + "content": "Content", + "files": "Files", + "attachments": "Attachments", + "triggers": "Triggers", + "share": "Share", + "createCampaign": "Create Campaign", + "regular": "Regular", + "rss": "RSS", + "triggered": "Triggered", + "campaigns": "Campañas", + "campaignStatistics": "Campaign Statistics", + "total": "Total", + "delivered": "Delivered", + "blacklisted": "Blacklisted", + "bounced": "Bounced", + "complaints": "Complaints", + "unsubscribed": "Unsubscribed", + "opened": "Opened", + "clicked": "Clicked", + "uniqueVisitors": "Unique visitors", + "totalClicks": "Total clicks", + "campaignLinks": "Campaign links", + "subscriptionId": "Subscription ID", + "listId": "List ID", + "listNamespace": "List namespace", + "opensCount": "Opens count", + "countries": "Countries", + "devices": "Devices", + "desktop": "Desktop", + "tv": "TV", + "tablet": "Tablet", + "phone": "Phone", + "bot": "Bot", + "car": "Car", + "console": "Console", + "distributionByDeviceType": "Distribution by device type", + "loadingChart": "Loading chart", + "deviceType": "Device type", + "count": "Count", + "unknown": "Unknown", + "distributionByCountry": "Distribution by country", + "country": "Country", + "detailedStatistics": "Detailed Statistics", + "listOfSubscribersThatOpenedTheCampaign": "List of subscribers that opened the campaign", + "subscriptionHasToBeSelectedToShowThe": "Subscription has to be selected to show the campaign for a test user.", + "previewCampaignAs": "Preview campaign as", + "preview": "Preview", + "dateMustNotBeEmpty": "Date must not be empty", + "dateIsInvalid": "Date is invalid", + "timeMustNotBeEmpty": "Time must not be empty", + "timeIsInvalid": "Time is invalid", + "confirmReset": "Confirm reset", + "doYouWantToResetTheCampaign?All": "Do you want to reset the campaign? All statistics and the track of delivered messages will be lost.", + "no": "No", + "yes": "Yes", + "subscribers-1": "subscribers", + "sendStatus": "Send status", + "campaignIsScheduledForDelivery": "Campaign is scheduled for delivery.", + "campaignIsReadyToBeSentOut": "Campaign is ready to be sent out.", + "sendLater": "Send later", + "scheduleDeliveryAtAParticularDatetime": "Schedule delivery at a particular date/time", + "date": "Date", + "time": "Time", + "enter24hourTimeInFormatHhmmEg1348": "Enter 24-hour time in format HH:MM (e.g. 13:48)", + "rescheduleSend": "Reschedule send", + "scheduleSend": "Schedule send", + "send": "Send", + "viewStatistics": "View statistics", + "campaignIsBeingSentOut": "Campaign is being sent out.", + "stop": "Stop", + "allMessagesSent!HitContinueIfYouYouWant": "All messages sent! Hit \"Continue\" if you you want to send this campaign to new subscribers.", + "continue": "Continue", + "reset": "Reset", + "yourCampaignIsCurrentlyDisabledClick": "Your campaign is currently disabled. Click Enable button to start enable it.", + "enable": "Enable", + "yourCampaignIsEnabledAndSendingMessages": "Your campaign is enabled and sending messages.", + "disable": "Disable", + "campaignStatus": "Campaign Status", + "targetListssegments": "Target lists/segments", + "ifANewEntryIsFoundFromCampaignFeedANew": "If a new entry is found from campaign feed a new subcampaign is created of that entry and it will be listed here", + "sendingTestEmail": "Sending test email", + "subscriptionHasToBeSelected": "Subscription has to be selected.", + "sendTestEmail": "Send Test Email", + "cancel": "Cancel", + "subscription": "Subscription", + "idle": "Idle", + "scheduled": "Scheduled", + "paused": "Paused", + "finished": "Finished", + "inactive": "Inactive", + "active": "Active", + "campaignName": "Campaign \"{{name}}\"", + "deliveredEmails": "Delivered Emails", + "complained": "Complained", + "subscribersThatComplained": "Subscribers that Complained", + "emailsThatBounced": "Emails that Bounced", + "subscribersThatUnsubscribed": "Subscribers that Unsubscribed", + "clicks": "Clicks", + "theseFilesArePubliclyAvailableViaHttpSo": "These files are publicly available via HTTP so that they can be linked to from the content of the campaign.", + "theseFilesWillBeAttachedToTheCampaign": "These files will be attached to the campaign emails as proper attachments. This means they count towards to the eventual size of the email.", + "triggerName": "Trigger \"{{name}}\"", + "create": "Create", + "valuesMustNotBeEmpty": "Values must not be empty", + "valueMustBeANonnegativeNumber": "Value must be a non-negative number", + "sourceCampaignMustNotBeEmpty": "Source campaign must not be empty", + "triggerSaved": "Trigger saved", + "deletingTrigger": "Deleting trigger ...", + "triggerDeleted": "Trigger deleted", + "editTrigger": "Edit Trigger", + "createTrigger": "Create Trigger", + "entity": "Entity", + "selectTheTypeOfTheTriggerRule": "Select the type of the trigger rule.", + "triggerFires": "Trigger fires", + "event": "Event", + "selectTheEventThatTriggersSendingThe": "Select the event that triggers sending the campaign.", + "enabled": "Enabled", + "daysAfter": "Days after", + "latestOpen": "Latest open", + "latestClick": "Latest click", + "notOpened": "Not opened", + "notClicked": "Not clicked", + "close": "Close", + "countFileAdded": "{{count}} file added", + "countFileAdded_plural": "{{count}} files added", + "countFileReplaced": "{{count}} file replaced", + "countFileReplaced_plural": "{{count}} files replaced", + "countFileIgnored": "{{count}} file ignored", + "countFileIgnored_plural": "{{count}} files ignored", + "countFileUploaded": "{{count}} file uploaded", + "countFileUploaded_plural": "{{count}} files uploaded", + "uploadingCountFile": "Uploading {{count}} file", + "uploadingCountFile_plural": "Uploading {{count}} files", + "fileUploadFailed": "File upload failed:", + "noFilesToUpload": "No files to upload", + "deletingFile": "Deleting file ...", + "fileDeleted": "File deleted", + "deleteFileFailed": "Delete file failed:", + "size": "Size", + "download": "Download", + "confirmFileDeletion": "Confirm file deletion", + "filesareYouSureToDeleteFile": "Are you sure you want to delete the file?", + "dropCountFile": "Drop {{count}} file", + "dropCountFile_plural": "Drop {{count}} files", + "dropFilesHere": "Drop files here", + "loading": "Loading ...", + "openCalendar": "Open calendar", + "select": "Select", + "someoneElseHasIntroducedModificationIn": "Someone else has introduced modification in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe": "It seems that someone else has deleted the target namespace in the meantime. Refresh your page to start anew with fresh data. Please note that your changes will be lost.", + "itSeemsThatSomeoneElseHasDeletedThe-1": "It seems that someone else has deleted the entity in the meantime.", + "customForms": "Custom forms", + "report": "Report", + "report_plural": "Reports", + "reportTemplate": "Report template", + "reportTemplate_plural": "Report templates", + "mosaicoTemplate": "Mosaico template", + "mosaicoTemplate_plural": "Mosaico templates", + "cannoteDeleteNameDueToTheFollowing": "Cannote delete \"{{name}}\" due to the following dependencies:", + "andMore": "... and more", + "confirmDeletion": "Confirm Deletion", + "areYouSureYouWantToDeleteName?": "Are you sure you want to delete \"{{name}}\"?", + "namespacemustBeSelected": "Namespace must be selected", + "mjml": "MJML", + "html": "HTML", + "countEntriesSelected": "{{ count }} entries selected.", + "loading-1": "Loading ...", + "customFormMustBeSelected": "Custom form must be selected", + "listSaved": "List saved", + "onestepIeNoEmailWithConfirmationLink": "One-step (i.e. no email with confirmation link)", + "onestepWithUnsubscriptionFormIeNoEmail": "One-step with unsubscription form (i.e. no email with confirmation link)", + "twostepIeAnEmailWithConfirmationLinkWill": "Two-step (i.e. an email with confirmation link will be sent)", + "twostepWithUnsubscriptionFormIeAnEmail": "Two-step with unsubscription form (i.e. an email with confirmation link will be sent)", + "manualIeUnsubscriptionHasToBePerformedBy": "Manual (i.e. unsubscription has to be performed by the list administrator)", + "defaultMailtrainForms": "Default Mailtrain Forms", + "customFormsSelectFormBelow": "Custom Forms (select form below)", + "deletingList": "Deleting list ...", + "listDeleted": "List deleted", + "editList": "Edit List", + "createList": "Create List", + "thisIsTheListIdDisplayedToTheSubscribers": "This is the list ID displayed to the subscribers", + "contactEmail": "Contact email", + "contactEmailUsedInSubscriptionFormsAnd": "Contact email used in subscription forms and emails that are sent out. If not filled in, the admin email from the global settings will be used.", + "homepage": "Homepage", + "homepageUrlUsedInSubscriptionFormsAnd": "Homepage URL used in subscription forms and emails that are sent out. If not filled in, the default homepage from global settings will be used.", + "recipientsNameTemplate": "Recipients name template", + "specifyUsingMergeTagsOfThisListHowTo": "Specify using merge tags of this list how to construct full name of the recipient. This full name is used as \"To\" header when sending emails.", + "sendConfigurationThatWillBeUsedFor": "Send configuration that will be used for sending out subscription-related emails.", + "forms": "Forms", + "webAndEmailFormsAndTemplatesUsedIn": "Web and email forms and templates used in subscription management process.", + "allowPublicUsersToSubscribeThemselves": "Allow public users to subscribe themselves", + "unsubscription": "Unsubscription", + "selectHowAnUnsuscriptionRequestBy": "Select how an unsuscription request by subscriber is handled.", + "unsubscribeHeader": "Unsubscribe header", + "doNotSendListUnsubscribeHeaders": "Do not send List-Unsubscribe headers", + "theCustomFormUsedForThisListYouCanCreate": "The custom form used for this list. You can create a form <1>here.", + "fields": "Fields", + "segments": "Segments", + "imports": "Imports", + "customForms-1": "Custom Forms", + "mergeTagIsInvalidMayMustBeUppercaseAnd": "Merge tag is invalid. May must be uppercase and contain only characters A-Z, 0-9, _. It must start with a letter.", + "anotherFieldWithTheSameMergeTagExists": "Another field with the same merge tag exists. Please choose another merge tag.", + "groupHasToBeSelected": "Group has to be selected", + "defaultValueIsNotIntegerNumber": "Default value is not integer number", + "defaultValueIsNotAProperlyFormattedDate": "Default value is not a properly formatted date", + "defaultValueIsNotAProperlyFormatted": "Default value is not a properly formatted birthday date", + "defaultValueIsNotOneOfTheAllowedOptions": "Default value is not one of the allowed options", + "errrorOnLineLine": "Errror on line {{ line }}", + "fieldSaved": "Field saved", + "notVisible": "Not visible", + "endOfList": "End of list", + "fieldSettings": "Field settings", + "defaultValue": "Default value", + "defaultValueUsedWhenTheFieldIsEmpty": "Default value used when the field is empty.", + "options": "Options", + "dateFormat": "Date format", + "mmddyyyy": "MM/DD/YYYY", + "ddmmyyyy": "DD/MM/YYYY", + "mmdd": "MM/DD", + "ddmm": "DD/MM", + "mergeTag": "Merge Tag", + "group": "Group", + "selectGroupToWhichTheOptionsShouldBelong": "Select group to which the options should belong.", + "deletingField": "Deleting field ...", + "fieldDeleted": "Field deleted", + "editField": "Edit Field", + "createField": "Create Field", + "mergeTag-1": "Merge tag", + "fieldOrder": "Field order", + "listingsBefore": "Listings (before)", + "selectTheFieldBeforeWhichThisFieldShould": "Select the field before which this field should appear in listings. To exclude the field from listings, select \"Not visible\".", + "subscriptionFormBefore": "Subscription form (before)", + "selectTheFieldBeforeWhichThisFieldShould-1": "Select the field before which this field should appear in new subscription form. To exclude the field from the new subscription form, select \"Not visible\".", + "managementFormBefore": "Management form (before)", + "selectTheFieldBeforeWhichThisFieldShould-2": "Select the field before which this field should appear in subscription management. To exclude the field from the subscription management form, select \"Not visible\".", + "youCanControlTheAppearanceOfTheMergeTag": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array, for\n example <3>{'{{#each values}} {{this}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "specifyTheOptionsToSelectFromInThe": "<0>Specify the options to select from in the following format:<1>key|label. For example:\n <2><0>au|Australia<3><0>at|Austria", + "defaultKeyEgAuUsedWhenTheFieldIsEmpty": "Default key (e.g. <1>au used when the field is empty.')", + "youCanControlTheAppearanceOfTheMergeTag-1": "You can control the appearance of the merge tag with this template. The template\n uses handlebars syntax and you can find all values from <1>{'{{values}}'} array.\n Each entry in the array is an object with attributes <3>key and <5>label.\n For example <7>{'{{#each values}} {{this.value}} {{/each}}'}. If template is not defined then\n multiple values are joined with commas.", + "youCanUseThisTemplateToRenderJsonValues": "You can use this template to render JSON values (if the JSON is an array then the array is\n exposed as <1>values, otherwise you can access the JSON keys directly).", + "text": "Text", + "website": "Website", + "multilineText": "Multi-line text", + "gpgPublicKey": "GPG Public Key", + "number": "Number", + "checkboxesFromOptionFields": "Checkboxes (from option fields)", + "radioButtonsFromOptionFields": "Radio Buttons (from option fields)", + "dropDownFromOptionFields": "Drop Down (from option fields)", + "radioButtonsEnumerated": "Radio Buttons (enumerated)", + "dropDownEnumerated": "Drop Down (enumerated)", + "birthday": "Birthday", + "jsonValueForCustomRendering": "JSON value for custom rendering", + "option": "Option", + "thePlaintextVersionForThisEmail": "The plaintext version for this email", + "layout": "Layout", + "formInputStyle": "Form Input Style", + "thisCssStylesheetDefinesTheAppearanceOf": "This CSS stylesheet defines the appearance of form input elements and alerts", + "webSubscribe": "Web - Subscribe", + "webConfirmSubscriptionNotice": "Web - Confirm Subscription Notice", + "mailConfirmSubscriptionMjml": "Mail - Confirm Subscription (MJML)", + "mailConfirmSubscriptionText": "Mail - Confirm Subscription (Text)", + "mailAlreadySubscribedMjml": "Mail - Already Subscribed (MJML)", + "mailAlreadySubscribedText": "Mail - Already Subscribed (Text)", + "webSubscribedNotice": "Web - Subscribed Notice", + "mailSubscriptionConfirmedMjml": "Mail - Subscription Confirmed (MJML)", + "mailSubscriptionConfirmedText": "Mail - Subscription Confirmed (Text)", + "webManagePreferences": "Web - Manage Preferences", + "webManageAddress": "Web - Manage Address", + "mailConfirmAddressChangeMjml": "Mail - Confirm Address Change (MJML)", + "mailConfirmAddressChangeText": "Mail - Confirm Address Change (Text)", + "webUpdatedNotice": "Web - Updated Notice", + "webUnsubscribe": "Web - Unsubscribe", + "webConfirmUnsubscriptionNotice": "Web - Confirm Unsubscription Notice", + "mailConfirmUnsubscriptionMjml": "Mail - Confirm Unsubscription (MJML)", + "mailConfirmUnsubscriptionText": "Mail - Confirm Unsubscription (Text)", + "webUnsubscribedNotice": "Web - Unsubscribed Notice", + "mailUnsubscriptionConfirmedMjml": "Mail - Unsubscription Confirmed (MJML)", + "mailUnsubscriptionConfirmedText": "Mail - Unsubscription Confirmed (Text)", + "webManualUnsubscribeNotice": "Web - Manual Unsubscribe Notice", + "privacyPolicy": "Privacy policy", + "general": "General", + "subscribe": "Subscribe", + "manage": "Manage", + "unsubscribe": "Unsubscribe", + "dataProtection": "Data protection", + "listOfErrorsInTemplates": "List of errors in templates", + "formsSaved": "Forms saved", + "deletingForm": "Deleting form ...", + "formDeleted": "Form deleted", + "editCustomForms": "Edit Custom Forms", + "createCustomForms": "Create Custom Forms", + "formsPreview": "Forms Preview", + "listToPreviewOn": "List To Preview On", + "selectListWhoseFieldsWillBeUsedToPreview": "Select list whose fields will be used to preview the forms.", + "noteTheseLinksAreSolelyForAQuickPreview": "Note: These links are solely for a quick preview. To get the address of the subscription form, go to the list's subscribers and click on \"Subscription Form\".", + "formPreview": "Form preview:", + "templates": "Templates", + "customFormsUseMjmlForFormattingSeeThe": "Custom forms use MJML for formatting. See the MJML documentation <1>here", + "createCustomForm": "Create Custom Form", + "fileMustBeSelected": "File must be selected", + "csvDelimiterMustNotBeEmpty": "CSV delimiter must not be empty", + "emailMappingHasToBeProvided": "Email mapping has to be provided", + "importSaved": "Import saved", + "file": "File", + "delimiter": "Delimiter", + "preparationInProgressPleaseWaitTillItIs": "Preparation in progress. Please wait till it is done or visit this page later.", + "––Select ––": "–– Select ––", + "eg": "e.g.:", + "checkImportedEmails": "Check imported emails", + "mapping": "Mapping", + "saveAndEditSettings": "Save and edit settings", + "saveAndRun": "Save and Run", + "deletingImport": "Deleting import ...", + "importDeleted": "Import deleted", + "editImport": "Edit Import", + "createImport": "Create Import", + "source": "Source", + "lastRun": "Last run", + "detailedStatus": "Detailed status", + "row": "Row", + "reason": "Reason", + "importRunStatus": "Import Run Status", + "importName": "Import name", + "importSource": "Import source", + "runStarted": "Run started", + "runFinished": "Run finished", + "runStatus": "Run status", + "processedEntries": "Processed entries", + "newEntries": "New entries", + "failedEntries": "Failed entries", + "error": "Error", + "failedRows": "Failed Rows", + "started": "Started", + "processed": "Processed", + "new": "New", + "failed": "Failed", + "importStatus": "Import Status", + "actions": "Actions", + "start": "Start", + "importRuns": "Import Runs", + "csvFile": "CSV file", + "preparing": "Preparing", + "stopping": "Stopping", + "ready": "Ready", + "preparationFailed": "Preparation failed", + "running": "Running", + "starting": "Starting", + "basicImportOfSubscribers": "Basic import of subscribers", + "unsubscribeEmails": "Unsubscribe emails", + "listName": "List \"{{name}}\"", + "fieldName-1": "Field \"{{name}}\"", + "segmentName": "Segment \"{{name}}\"", + "importName-1": "Import \"{{name}}\"", + "run": "Run", + "customFormsName": "Custom Forms \"{{name}}\"", + "newRule": "New rule", + "segmentSaved": "Segment saved", + "deletingSegment": "Deleting segment ...", + "segmentDeleted": "Segment deleted", + "editSegment": "Edit Segment", + "createSegment": "Create Segment", + "saveAndStay": "Save and Stay", + "saveAndLeave": "Save and Leave", + "segmentOptions": "Segment Options", + "toplevelMatchType": "Toplevel match type", + "addCompositeRule": "Add Composite Rule", + "addRule": "Add Rule", + "rules": "Rules", + "fieldMustBeSelected": "Field must be selected", + "field": "Field", + "select-1": "-- Select --", + "ruleOptions": "Rule Options", + "ok": "OK", + "allRulesMustMatch": "All rules must match", + "atLeastOneRuleMustMatch": "At least one rule must match", + "noRuleMayMatch": "No rule may match", + "equalTo": "Equal to", + "valueInColumnColNameIsEqualToValue": "Value in column \"{{colName}}\" is equal to \"{{value}}\"", + "matchWithSqlLike": "Match (with SQL LIKE)", + "valueInColumnColNameMatchesWithSqlLike": "Value in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "matchWithRegularExpressions": "Match (with regular expressions)", + "valueInColumnColNameMatchesWithRegular": "Value in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "alphabeticallyBefore": "Alphabetically before", + "valueInColumnColNameIsAlphabetically": "Value in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "alphabeticallyBeforeOrEqualTo": "Alphabetically before or equal to", + "valueInColumnColNameIsAlphabetically-1": "Value in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "alphabeticallyAfter": "Alphabetically after", + "valueInColumnColNameIsAlphabetically-2": "Value in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "alphabeticallyAfterOrEqualTo": "Alphabetically after or equal to", + "valueInColumnColNameIsAlphabetically-3": "Value in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "valueInColumnColNameIsEqualToValue-1": "Value in column \"{{colName}}\" is equal to {{value}}", + "lessThan": "Less than", + "valueInColumnColNameIsLessThanValue": "Value in column \"{{colName}}\" is less than {{value}}", + "lessThanOrEqualTo": "Less than or equal to", + "valueInColumnColNameIsLessThanOrEqualTo": "Value in column \"{{colName}}\" is less than or equal to {{value}}", + "greaterThan": "Greater than", + "valueInColumnColNameIsGreaterThanValue": "Value in column \"{{colName}}\" is greater than {{value}}", + "greaterThanOrEqualTo": "Greater than or equal to", + "valueInColumnColNameIsGreaterThanOrEqual": "Value in column \"{{colName}}\" is greater than or equal to {{value}}", + "on": "On", + "dateInColumnColNameIsValue": "Date in column \"{{colName}}\" is {{value}}", + "before": "Before", + "dateInColumnColNameIsBeforeValue": "Date in column \"{{colName}}\" is before {{value}}", + "beforeOrOn": "Before or on", + "dateInColumnColNameIsBeforeOrOnValue": "Date in column \"{{colName}}\" is before or on {{value}}", + "after": "After", + "dateInColumnColNameIsAfterValue": "Date in column \"{{colName}}\" is after {{value}}", + "afterOrOn": "After or on", + "dateInColumnColNameIsAfterOrOnValue": "Date in column \"{{colName}}\" is after or on {{value}}", + "onXthDayBeforeafterCurrentDate": "On x-th day before/after current date", + "dateInColumnColNameIsTheCurrentDate": "Date in column \"{{colName}}\" is the current date", + "dateInColumnColNameIsTheValuethDayAfter": "Date in column \"{{colName}}\" is the {{value}}-th day after the current date", + "dateInColumnColNameIsTheValuethDayBefore": "Date in column \"{{colName}}\" is the {{value}}-th day before the current date", + "beforeXthDayBeforeafterCurrentDate": "Before x-th day before/after current date", + "dateInColumnColNameIsBeforeTheCurrent": "Date in column \"{{colName}}\" is before the current date", + "dateInColumnColNameIsBeforeTheValuethDay": "Date in column \"{{colName}}\" is before the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeTheValuethDay-1": "Date in column \"{{colName}}\" is before the {{value}}-th day before the current date", + "beforeOrOnXthDayBeforeafterCurrentDate": "Before or on x-th day before/after current date", + "dateInColumnColNameIsBeforeOrOnThe": "Date in column \"{{colName}}\" is before or on the current date", + "dateInColumnColNameIsBeforeOrOnThe-1": "Date in column \"{{colName}}\" is before or on the {{value}}-th day after the current date", + "dateInColumnColNameIsBeforeOrOnThe-2": "Date in column \"{{colName}}\" is before or on the {{value}}-th day before the current date", + "afterXthDayBeforeafterCurrentDate": "After x-th day before/after current date", + "dateInColumnColNameIsAfterTheCurrentDate": "Date in column \"{{colName}}\" is after the current date", + "dateInColumnColNameIsAfterTheValuethDay": "Date in column \"{{colName}}\" is after the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterTheValuethDay-1": "Date in column \"{{colName}}\" is after the {{value}}-th day before the current date", + "afterOrOnXthDayBeforeafterCurrentDate": "After or on x-th day before/after current date", + "dateInColumnColNameIsAfterOrOnTheCurrent": "Date in column \"{{colName}}\" is after or on the current date", + "dateInColumnColNameIsAfterOrOnTheValueth": "Date in column \"{{colName}}\" is after or on the {{value}}-th day after the current date", + "dateInColumnColNameIsAfterOrOnTheValueth-1": "Date in column \"{{colName}}\" is after or on the {{value}}-th day before the current date", + "isSelected": "Is selected", + "valueInColumnColNameIsSelected": "Value in column \"{{colName}}\" is selected", + "isNotSelected": "Is not selected", + "valueInColumnColNameIsNotSelected": "Value in column \"{{colName}}\" is not selected", + "keyEqualTo": "Key equal to", + "theSelectedKeyInColumnColNameIsEqualTo": "The selected key in column \"{{colName}}\" is equal to \"{{value}}\"", + "keyMatchWithSqlLike": "Key match (with SQL LIKE)", + "theSelectedKeyInColumnColNameMatchesWith": "The selected key in column \"{{colName}}\" matches (with SQL LIKE) \"{{value}}\"", + "keyMatchWithRegularExpressions": "Key match (with regular expressions)", + "theSelectedKeyInColumnColNameMatchesWith-1": "The selected key in column \"{{colName}}\" matches (with regular expressions) \"{{value}}\"", + "keyAlphabeticallyBefore": "Key alphabetically before", + "theSelectedKeyInColumnColNameIs": "The selected key in column \"{{colName}}\" is alphabetically before \"{{value}}\"", + "keyAlphabeticallyBeforeOrEqualTo": "Key alphabetically before or equal to", + "theSelectedKeyInColumnColNameIs-1": "The selected key in column \"{{colName}}\" is alphabetically before or equal to \"{{value}}\"", + "keyAlphabeticallyAfter": "Key alphabetically after", + "theSelectedKeyInColumnColNameIs-2": "The selected key in column \"{{colName}}\" is alphabetically after \"{{value}}\"", + "keyAlphabeticallyAfterOrEqualTo": "Key alphabetically after or equal to", + "theSelectedKeyInColumnColNameIs-3": "The selected key in column \"{{colName}}\" is alphabetically after or equal to \"{{value}}\"", + "value": "Value", + "valueMustNotBeEmpty": "Value must not be empty", + "valueMustBeANumber": "Value must be a number", + "numberOfDays": "Number of days", + "beforeAfter": "Before/After", + "beforeCurrentDate": "Before current date", + "afterCurrentDate": "After current date", + "numberOfDaysMustNotBeEmpty": "Number of days must not be empty", + "numberOfDaysMustBeANumber": "Number of days must be a number", + "emailAddress-1": "Email address", + "signupCountry": "Signup country", + "signUpDate": "Sign up date", + "anotherSubscriptionWithTheSameEmail": "Another subscription with the same email already exists.", + "susbscriptionSaved": "Susbscription saved", + "itSeemsThatAnotherSubscriptionWithThe": "It seems that another subscription with the same email has been created in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "notSelected": "Not selected", + "areYouSureYouWantToDeleteSubscriptionFor": "Are you sure you want to delete subscription for \"{{email}}\"?", + "deletingSubscription": "Deleting subscription ...", + "subscriptionDeleted": "Subscription deleted", + "editSubscription": "Edit Subscription", + "createSubscription": "Create Subscription", + "timezone": "Timezone", + "subscriptionStatus": "Subscription status", + "testUser?": "Test user?", + "ifCheckedThenThisSubscriptionCanBeUsed": "If checked then this subscription can be used for previewing campaign messages", + "erased": "[ERASED]", + "confirmUnsubscription": "Confirm Unsubscription", + "areYouSureYouWantToUnsubscribeEmail?": "Are you sure you want to unsubscribe {{email}}?", + "unsubscribingEmail": "Unsubscribing {{email}}", + "emailUnsubscribed": "{{email}} unsubscribed", + "confirmEmailBlacklisting": "Confirm Email Blacklisting", + "areYouSureYouWantToBlacklistEmail?": "Are you sure you want to blacklist {{email}}?", + "blacklistingEmail": "Blacklisting {{email}}", + "emailBlacklisted": "{{email}} blacklisted", + "allSubscriptions": "All subscriptions", + "subscriptionForm": "Subscription Form", + "exportAsCsv": "Export as CSV", + "addSubscriber": "Add Subscriber", + "subscribed": "Subscribed", + "unubscribed": "Unubscribed", + "parentNamespaceMustBeSelected": "Parent Namespace must be selected", + "namespaceSaved": "Namespace saved", + "thereHasBeenALoopDetectedInTheAssignment": "There has been a loop detected in the assignment of the parent namespace. This is most likely because someone else has changed the parent of some namespace in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "itSeemsThatTheParentNamespaceHasBeen": "It seems that the parent namespace has been deleted in the meantime. Refresh your page to start anew. Please note that your changes will be lost.", + "deletingNamespace": "Deleting namespace ...", + "namespaceDeleted": "Namespace deleted", + "editNamespace": "Edit Namespace", + "createNamespace": "Create Namespace", + "parentNamespace": "Parent Namespace", + "namespaces": "Namespaces", + "namespaceName": "Namespace \"{{name}}\"", + "reportTemplateMustBeSelected": "Report template must be selected", + "exactlyOneItemHasToBeSelected": "Exactly one item has to be selected", + "atLeastCountItemsHaveToBeSelected": "At least {{ count }} item(s) have to be selected", + "atMostCountItemsCanToBeSelected": "At most {{ count }} item(s) can to be selected", + "reportParametersAreNotSelectedWaitFor": "Report parameters are not selected. Wait for them to get displayed and then fill them in.", + "reportSaved": "Report saved", + "unknownFieldTypeType": "Unknown field type \"{{type}}\"", + "deletingReport": "Deleting report ...", + "reportDeleted": "Report deleted", + "editReport": "Edit Report", + "createReport": "Create Report", + "reportTemplate-1": "Report Template", + "reportParameters": "Report parameters", + "loadingReportTemplate": "Loading report template...", + "processing-1": "Processing", + "view": "View", + "refreshReport": "Refresh report", + "reportGenerationFailed": "Report generation failed", + "regenerateReport": "Regenerate report", + "viewConsoleOutput": "View console output", + "reportTemplates": "Report Templates", + "reports": "Reports", + "reportName": "Report {{name}}", + "loadingReport": "Loading report ...", + "outputForReportName": "Output for report {{name}}", + "loadingReportOutput": "Loading report output ...", + "reportIsBeingGenerated": "Report is being generated", + "reportNotGenerated": "Report not generated", + "refresh": "Refresh", + "reportName-1": "Report \"{{name}}\"", + "output": "Output", + "templateName": "Template \"{{name}}\"", + "mimeTypeMustBeSelected": "MIME Type must be selected", + "syntaxErrorInTheUserFieldsSpecification": "Syntax error in the user fields specification", + "reportTemplateSaved": "Report template saved", + "deletingReportTemplate": "Deleting report template ...", + "reportTemplateDeleted": "Report template deleted", + "editReportTemplate": "Edit Report Template", + "createReportTemplate": "Create Report Template", + "csv": "CSV", + "userSelectableFields": "User selectable fields", + "jsonSpecificationOfUserSelectableFields": "JSON specification of user selectable fields.", + "dataProcessingCode": "Data processing code", + "renderingTemplate": "Rendering template", + "writeTheBodyOfTheJavaScriptFunctionWith": "Write the body of the JavaScript function with signature <1>function(inputs, callback) that returns an object to be rendered by the Handlebars template below.", + "useHtmlWithHandlebarsSyntaxSee": "Use HTML with Handlebars syntax. See documentation <1>here.", + "blank": "Blank", + "openCounts": "Open counts", + "openCountsAsCsv": "Open counts as CSV", + "aggregatedOpenCounts": "Aggregated open counts", + "current": "(current)", + "toggleNavigation": "Toggle navigation", + "administration": "Administracion", + "users": "Users", + "globalSettings": "Global Settings", + "sendConfigurations": "Send configurations", + "logOut": "Log out", + "home": "Home", + "sourceOnGitHub": "Source on GitHub", + "mailerTypeMustBeSelected": "Mailer type must be selected", + "verpHostnameMustNotBeEmpty": "VERP hostname must not be empty", + "sendConfigurationSaved": "Send configuration saved", + "deletingSendConfiguration": "Deleting send configuration ...", + "sendConfigurationDeleted": "Send configuration deleted", + "editSendConfiguration": "Edit Send Configuration", + "createSendConfiguration": "Create Send Configuration", + "emailHeader": "Email Header", + "defaultFromEmail": "Default \"from\" email", + "overridable": "Overridable", + "defaultFromName": "Default \"from\" name", + "defaultReplytoEmail": "Default \"reply-to\" email", + "subject": "Subject", + "xMailer": "X-Mailer", + "verpBounceHandling": "VERP Bounce Handling", + "verpStatus": "VERP status", + "serverHostname": "Server hostname", + "theVerpServerHostnameEgBouncesexamplecom": "The VERP server hostname, eg. bounces.example.com", + "verpBounceHandlingServerHostnameThis": "VERP bounce handling server hostname. This hostname is used in the SMTP envelope FROM address and the MX DNS records should point to this server", + "disableSenderHeader": "Disable sender header", + "withDmarcTheReturnPathAndFromAddressMust": "With DMARC, the Return-Path and From address must match the same domain. By default we get around this by using the VERP address in the Sender header, with the side effect that some email clients diplay an ugly on behalf of message. You can safely disable this Sender header if you're not using DMARC or your VERP hostname is in the same domain as the From address.", + "mailtrainIsAbleToUseVerpBasedRoutingTo": "<0>Mailtrain is able to use VERP based routing to detect bounces. In this case the message is sent to the recipient using a custom VERP address as the return path of the message. If the message is not accepted a bounce email is sent to this special VERP address and thus a bounce is detected.", + "toGetVerpWorkingYouNeedToSetUpADnsMx": "<0>To get VERP working you need to set up a DNS MX record that points to your Mailtrain hostname. You must also ensure that Mailtrain VERP interface is available from port 25 of your server (port 25 usually requires root user privileges). This way if anyone tries to send email to someuser@verp-hostname then the email should end up to this server.", + "verpUsuallyOnlyWorksIfYouAreUsingYourOwn": "<0>VERP usually only works if you are using your own SMTP server. Regular relay services (SES, SparkPost, Gmail etc.) tend to remove the VERP address from the message.", + "verpBounceHandlingServerIsNotEnabled": "<0>VERP bounce handling server is not enabled. Modify your server configuration file and restart server to enable it.", + "sendConfigurations-1": "Send Configurations", + "labelMustNotBeEmpty": "{{label}} must not be empty", + "labelMustBeANumber": "{{label}} must be a number", + "genericSmtp": "Generic SMTP", + "zoneMta": "Zone MTA", + "amazonSes": "Amazon SES", + "doNotUseEncryption": "Do not use encryption", + "useTls –UsuallySelectedForPort465": "Use TLS – usually selected for port 465", + "useStarttls –UsuallySelectedForPort587": "Use STARTTLS – usually selected for port 587 and 25", + "useast1": "US-EAST-1", + "uswest2": "US-WEST-2", + "euwest1": "EU-WEST-1", + "builtinZoneMta": "Built-in ZoneMTA", + "dynamicConfigurationOfDkimKeysViaZoneMt": "Dynamic configuration of DKIM keys via ZoneMTA's Mailtrain plugin", + "dynamicConfigurationOfDkimKeysViaZoneMt-1": "Dynamic configuration of DKIM keys via ZoneMTA's HTTP config plugin", + "noDynamicConfigurationOfDkimKeys": "No dynamic configuration of DKIM keys", + "mailerSettings": "Mailer Settings", + "mailerType": "Mailer type", + "hostname": "Hostname", + "hostnameEgSmtpexamplecom": "Hostname, eg. smtp.example.com", + "port": "Port", + "portEg465AutodetectedIfLeftBlank": "Port, eg. 465. Autodetected if left blank", + "encryption": "Encryption", + "enableSmtpAuthentication": "Enable SMTP authentication", + "usernameEgMyaccount@examplecom": "Username, eg. myaccount@example.com", + "advancedMailerSettings": "Advanced Mailer Settings", + "logSmtpTransactions": "Log SMTP transactions", + "allowSelfsignedCertificates": "Allow self-signed certificates", + "maxConnections": "Max connections", + "theCountOfMaxConnectionsEg10": "The count of max connections, eg. 10", + "theCountOfMaximumSimultaneousConnections": "The count of maximum simultaneous connections to make against the SMTP server (defaults to 5). This limit is per sending process.", + "maxMessages": "Max messages", + "theCountOfMaxMessagesEg100": "The count of max messages, eg. 100", + "theNumberOfMessagesToSendThroughASingle": "The number of messages to send through a single connection before the connection is closed and reopened (defaults to 100)", + "throttling": "Throttling", + "messagesPerHourEg1000": "Messages per hour eg. 1000", + "maximumNumberOfMessagesToSendInAnHour": "Maximum number of messages to send in an hour. Leave empty or zero for no throttling. If your provider uses a different speed limit (messages/minute or messages/second) then convert this limit into messages/hour (1m/s => 3600m/h). This limit is per sending process.", + "dynamicConfiguration": "Dynamic configuration", + "dkimSigning": "DKIM Signing", + "zoneMtaDkimApiKey": "ZoneMTA DKIM API key", + "secretValueKnownToZoneMtaForRequesting": "Secret value known to ZoneMTA for requesting DKIM key information. If this value was generated by the Mailtrain installation script then you can keep it as it is.", + "dkimDomain": "DKIM domain", + "leaveBlankToUseTheSenderEmailAddress": "Leave blank to use the sender email address domain.", + "dkimKeySelector": "DKIM key selector", + "signingIsDisabledWithoutAValidSelector": "Signing is disabled without a valid selector value.", + "dkimPrivateKey": "DKIM private key", + "beginsWithBeginRsaPrivateKey": "Begins with \"-----BEGIN RSA PRIVATE KEY-----\"", + "signingIsDisabledWithoutAValidPrivateKey": "Signing is disabled without a valid private key.", + "accessKey": "Access key", + "awsAccessKeyId": "AWS access key ID", + "awsSecretAccessKey": "AWS secret access key", + "region": "Region", + "ifYouAreUsingZoneMtaThenMailtrainCan": "<0>If you are using ZoneMTA then Mailtrain can provide a DKIM key for signing all outgoing messages. Other services usually provide their own means to DKIM sign your messages.", + "doNotUseSensitiveKeysHereThePrivateKeyIs": "<0>Do not use sensitive keys here. The private key is not encrypted in the database.", + "globalSettingsSaved": "Global settings saved", + "adminEmail": "Admin email", + "thisEmailIsUsedAsTheMainContactAndAsA": "This email is used as the main contact and as a default email address if no email address is specified in list settings.", + "defaultHomepageUrl": "Default homepage URL", + "thisUrlWillBeUsedInListSubscriptionForms": "This URL will be used in list subscription forms if no homepage is specified in list settings.", + "trackingId": "Tracking ID", + "uaxxxxxxx": "UA-XXXXX-XX", + "enterGoogleAnalyticsTrackingCode": "Enter Google Analytics tracking code", + "googleMapsApiKey": "Google Maps API Key", + "xxxxxx": "XXXXXX", + "theMapOverviewInCampaignStatistics": "The map overview in campaign statistics requires a Google Maps API key. Please enter it here. If no key is given, Google may throttle map requests, which will result in occassional unavailability of the map in the campaign statistics.", + "frontpageShoutOut": "Frontpage shout out", + "htmlCodeShownInTheFrontPageHeaderSection": "HTML code shown in the front page header section", + "gpgSigning": "GPG Signing", + "privateKeyPassphrase": "Private key passphrase", + "passphraseForTheKeyIfSet": "Passphrase for the key if set", + "onlyFillThisIfYourPrivateKeyIsEncrypted": "Only fill this if your private key is encrypted with a passphrase", + "gpgPrivateKey": "GPG private key", + "beginsWithBeginPgpPrivateKeyBlock": "Begins with '-----BEGIN PGP PRIVATE KEY BLOCK-----'", + "thisValueIsOptionalIfYouDoNotProvideA": "This value is optional. If you do not provide a private key GPG encrypted messages are sent without signing.", + "onlyMessagesThatAreEncryptedCanBeSigned": "<0>Only messages that are encrypted can be signed. Subsribers who have not set up a GPG public key in their profile receive normal email messages. Users with GPG key set receive encrypted messages and if you have signing key also set, the messages are signed with this key.", + "doNotUseSensitiveKeysHereThePrivateKey": "<0>Do not use sensitive keys here. The private key and passphrase are not encrypted in the database.", + "userMustNotBeEmpty": "User must not be empty", + "roleMustBeSelected": "Role must be selected", + "role": "Role", + "addUser": "Add User", + "user": "User", + "existingUsers": "Existing Users", + "sharesForUserUsername": "Shares for user \"{{username}}\"", + "templateSaved": "Template saved", + "deletingTemplate": "Deleting template ...", + "templateDeleted": "Template deleted", + "editTemplate": "Edit Template", + "createTemplate": "Create Template", + "saveAndEditTemplate": "Save and edit template", + "mosaicoTemplates": "Mosaico Templates", + "sendConfigurationHasToBeSelected": "Send configuration has to be selected.", + "listHasToBeSelected": "List has to be selected.", + "mosaico": "Mosaico", + "templateContentHtml": "Template content (HTML)", + "mosaicoTemplateDesigner": "Mosaico Template Designer", + "mosaicoTemplateMustBeSelected": "Mosaico template must be selected", + "mosaicoWithPredefinedTemplates": "Mosaico with predefined templates", + "mosaicoTemplate-1": "Mosaico Template", + "grapesJs": "GrapesJS", + "grapesJsTemplateDesigner": "GrapesJS Template Designer", + "ckEditor4": "CKEditor 4", + "ckEditor4TemplateDesigner": "CKEditor 4 Template Designer", + "codeEditor": "Code Editor", + "codeEditorTemplateDesigner": "Code Editor Template Designer", + "mergeTagReference": "Merge tag reference", + "templateContentPlainText": "Template content (plain text)", + "mergeTagsAreTagsThatAreReplacedBefore": "\n <1>Merge tags are tags that are replaced before sending out the message. The format of the merge tag is the following: <1>[TAG_NAME] or <3>[TAG_NAME/fallback] where <5>fallback is an optional text value used when <7>TAG_NAME is empty.\n ", + "youCanUseAnyOfTheStandardMergeTagsBelow": "\n <1>You can use any of the standard merge tags below. In addition to that every custom field has its own merge tag. Check the fields of the list you are going to send to.\n ", + "urlThatPointsToTheUnsubscribePage": "URL that points to the unsubscribe page", + "urlThatPointsToThePreferencesPageOfThe": "URL that points to the preferences page of the subscriber", + "urlToPreviewTheMessageInABrowser": "URL to preview the message in a browser", + "recipientNameAsItAppearsInEmailsToHeader": "Recipient name as it appears in email's 'To' header", + "uniqueIdThatIdentifiesTheRecipient": "Unique ID that identifies the recipient", + "uniqueIdThatIdentifiesTheListUsedForThis": "Unique ID that identifies the list used for this campaign", + "uniqueIdThatIdentifiesCurrentCampaign": "Unique ID that identifies current campaign", + "forRssCampaignsTheFollowingFurtherTags": "\n <1>For RSS campaigns, the following further tags can be used.\n ", + "rssEntryTitle": "RSS entry title", + "rssEntryDate": "RSS entry date", + "rssEntryLink": "RSS entry link", + "contentOfAnRssEntry": "Content of an RSS entry", + "rssEntrySummary": "RSS entry summary", + "rssEntryImageUrl": "RSS entry image URL", + "toExtractTheTextFromHtmlClickHerePlease": "To extract the text from HTML click <1>here. Please note that your existing plaintext in the field above will be overwritten. This feature uses the <3>Premailer API, a third party service. Their Terms of Service and Privacy Policy apply.", + "mosaicoTemplateSaved": "Mosaico template saved", + "deletingMosaicoTemplate": "Deleting Mosaico template ...", + "mosaicoTemplateDeleted": "Mosaico template deleted", + "editMosaicoTemplate": "Edit Mosaico Template", + "createMosaicoTemplate": "Create Mosaico Template", + "blockThumbnails": "Block thumbnails", + "versafixOne": "Versafix One", + "templateContent": "Template content", + "mosaicoTemplateName": "Mosaico Template \"{{name}}\"", + "theseFilesArePubliclyAvailableViaHttpSo-1": "These files are publicly available via HTTP so that they can be linked to from the Mosaico template.", + "theseFilesWillBeUsedByMosaicoToSearchFor": "These files will be used by Mosaico to search for block thumbnails (the \"edres\" directory). Place here one file per block type that you have defined in the Mosaico template. Each file must have the same name as the block id. The file will be used as the thumbnail of the corresponding block.", + "theUserNameAlreadyExistsInTheSystem": "The user name already exists in the system.", + "userSaved": "User saved", + "theUsernameIsAlreadyAssignedToAnother": "The username is already assigned to another user.", + "theEmailIsAlreadyAssignedToAnotherUser-1": "The email is already assigned to another user.", + "deletingUser": "Deleting user ...", + "userDeleted": "User deleted", + "editUser": "Edit User", + "createUser": "Create User", + "userName": "User Name", + "repeatPassword": "Repeat Password", + "deleteUser": "Delete User", + "userName-1": "User \"{{name}}\"", + "shares": "Shares", + "subscriptionconfirmed": "Subscription Confirmed", + "listEmailAddressAlreadyRegistered": "{{list}}: Email Address Already Registered", + "listPleaseConfirmEmailChangeIn": "{{list}}: Please Confirm Email Change in Subscription", + "pleaseConfirmSubscription": "Please Confirm Subscription", + "listPleaseConfirmUnsubscription": "{{list}}: Please Confirm Unsubscription", + "listUnsubscriptionConfirmed": "{{list}}: Unsubscription Confirmed", + "invalidEmailAddressEmailMxRecordNotFound": "Invalid email address \"{{email}}\": MX record not found for domain", + "invalidEmailAddressEmailAddressDomainNot": "Invalid email address \"{{email}}\": Address domain not found", + "invalidEmailAddressEmailAddressDomain": "Invalid email address \"{{email}}\": Address domain name is required", + "invalidEmailGeneric": "Invalid email address \"{{email}}\"", + "mailerPasswordChangeRequest": "Mailer password change request", + "mailtrain": "Mailtrain", + "emailAddressChanged": "Email address changed", + "emailAddressNotSet": "Email address not set", + "nothingSeemsToBeChanged": "Nothing seems to be changed", + "anEmailWithFurtherInstructionsHasBeen": "An email with further instructions has been sent to the provided address", + "foundAddedMessagesNewCampaignMessages": "Found {{addedMessages}} new campaign messages from feed {{campaignId}}", + "foundNothingNewFromTheFeed": "Found nothing new from the feed", + "missingEmail": "Missing email", + "emailAddress-2": "Email Address", + "wantToChangeIt?": "want to change it?", + "downloadSignatureVerificationKey": "Download signature verification key", + "beginsWithAnd#39BeginPgpPublicKeyBloc": "Begins with '-----BEGIN PGP PUBLIC KEY BLOCK-----'", + "insertYourGpgPublicKeyHereToEncrypt": "Insert your GPG public key here to encrypt messages sent to your address (optional)", + "warning!": "Warning!", + "javaScriptMustBeEnabledInOrderForThis": "JavaScript must be enabled in order for this form to work", + "existingEmailAddress": "Existing Email Address", + "newEmailAddress": "New Email Address", + "youWillReceiveAConfirmationRequestToYour": "You will receive a confirmation request to your new email address that you need to accept before your email is actually changed", + "updateEmailAddress": "Update Email Address", + "updateProfile": "Update Profile", + "subscribeToList": "Subscribe to list", + "thePasswordMustBeAtLeastMinLength": "The password must be at least {{ minLength }} characters long", + "thePasswordMustBeFewerThanMaxLength": "The password must be fewer than {{ maxLength }} characters", + "thePasswordMayNotContainSequencesOfThree": "The password may not contain sequences of three or more repeated characters", + "thePasswordMustContainAtLeastOne": "The password must contain at least one lowercase letter", + "thePasswordMustContainAtLeastOne-1": "The password must contain at least one uppercase letter", + "thePasswordMustContainAtLeastOneNumber": "The password must contain at least one number", + "thePasswordMustContainAtLeastOneSpecial": "The password must contain at least one special character" + } + \ No newline at end of file diff --git a/server/config/default.yaml b/server/config/default.yaml index 7a691032..7e877ca4 100644 --- a/server/config/default.yaml +++ b/server/config/default.yaml @@ -42,6 +42,7 @@ defaultLanguage: en-US # Enabled languages enabledLanguages: - en-US +- es-ES - fk-FK # Inject custom scripts in subscription/layout.mjml.hbs diff --git a/server/lib/translate.js b/server/lib/translate.js index 7d2b6f2a..af9b160d 100644 --- a/server/lib/translate.js +++ b/server/lib/translate.js @@ -13,6 +13,7 @@ function loadLanguage(longCode) { } loadLanguage('en-US'); +resourcesCommon['es-ES'] = convertToFake(resourcesCommon['en-US']); resourcesCommon['fk-FK'] = convertToFake(resourcesCommon['en-US']); const resources = {}; diff --git a/server/services/workers/reports/config/default.yaml b/server/services/workers/reports/config/default.yaml index 3f684680..e56a09a4 100644 --- a/server/services/workers/reports/config/default.yaml +++ b/server/services/workers/reports/config/default.yaml @@ -11,6 +11,7 @@ defaultLanguage: en-US # Enabled languages enabledLanguages: - en-US +- es-ES - fk-FK mysql: diff --git a/setup/functions b/setup/functions index d4fae92e..a9c36b7a 100644 --- a/setup/functions +++ b/setup/functions @@ -181,7 +181,7 @@ www: mysql: - password: "$mysqlPassword" + password: "asdf1234" redis: enabled: true From a43302f3ab168b25378633eb6a3815dfd5cdc973 Mon Sep 17 00:00:00 2001 From: Carlos Date: Mon, 4 Mar 2019 15:57:51 +0100 Subject: [PATCH 03/18] Users list only for admin added --- =/Cache/index-dir/the-real-index | Bin 144 -> 144 bytes client/src/root.js | 2 +- server/config/default.yaml | 2 +- 3 files changed, 2 insertions(+), 2 deletions(-) diff --git a/=/Cache/index-dir/the-real-index b/=/Cache/index-dir/the-real-index index 169b852bcba504e76f4c16a95bfb43da55da61c8..9d93bcc932351df99e2855b6c999af3f0b145b49 100644 GIT binary patch delta 23 ecmbQhIDwI)gMon| {topLevelMenu} - {t('users')} + {mailtrainConfig.globalPermissions.manageUserList && {t('users')}} {t('namespaces')} {mailtrainConfig.globalPermissions.manageSettings && {t('globalSettings')}} {t('sendConfigurations')} diff --git a/server/config/default.yaml b/server/config/default.yaml index 7e877ca4..fb19d54d 100644 --- a/server/config/default.yaml +++ b/server/config/default.yaml @@ -229,7 +229,7 @@ roles: name: Global Master admin: true description: All permissions - permissions: [rebuildPermissions, createJavascriptWithROAccess, manageBlacklist, manageSettings, setupAutomation] + permissions: [rebuildPermissions, createJavascriptWithROAccess, manageUserList, manageBlacklist, manageSettings, setupAutomation] rootNamespaceRole: master campaignsAdmin: name: Campaigns Admin From 25ecd85910d33bc39ad8cec6cb7117d1642c8a66 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 6 Mar 2019 09:47:52 +0100 Subject: [PATCH 04/18] CampaignNamespaceUpdateBugFixed --- =/Cache/cbc42e4c979f69f0_0 | Bin 7752 -> 7752 bytes =/Cache/ead4744930c7d506_0 | Bin 0 -> 5113 bytes =/Cache/index-dir/the-real-index | Bin 144 -> 144 bytes ...hell-cda2bd8beae6fa37524278aa8da79252.code | Bin 0 -> 1336 bytes =/logs/20190304T152045/exthost1/exthost.log | 10 ++++ .../output_logging_20190304T160012/1-Git.log | 14 ++++++ =/logs/20190304T152045/main.log | 43 ++++++++++++++++++ .../output_1_20190304T160011/extensions.log | 0 .../output_1_20190304T160011/tasks.log | 0 =/logs/20190304T152045/renderer1.log | 3 ++ =/storage.json | 34 ++++++++++++++ server/models/campaigns.js | 2 +- 12 files changed, 105 insertions(+), 1 deletion(-) create mode 100644 =/Cache/ead4744930c7d506_0 create mode 100644 =/CachedData/1b8e8302e405050205e69b59abb3559592bb9e60/shell-cda2bd8beae6fa37524278aa8da79252.code create mode 100644 =/logs/20190304T152045/exthost1/exthost.log create mode 100644 =/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log create mode 100644 =/logs/20190304T152045/main.log create mode 100644 =/logs/20190304T152045/output_1_20190304T160011/extensions.log create mode 100644 =/logs/20190304T152045/output_1_20190304T160011/tasks.log create mode 100644 =/logs/20190304T152045/renderer1.log create mode 100644 =/storage.json diff --git a/=/Cache/cbc42e4c979f69f0_0 b/=/Cache/cbc42e4c979f69f0_0 index 04b2d04024639025771a97f00f99242cd4bff5f5..fc017a09f1389c90a838aa143b9d690fe94d76bf 100644 GIT binary patch delta 153 zcmX?MbHZkW29x$tjifVo9_lf8mqO_Cj0_AOAt3?!hI)nyMg|59#U+U)rNvgp1}2k( znG9G`5=&Aivop(2VwPewn=H*dUoOeOB-z-|+*CKkz%W(Uz|hcA*T~G$LN~=IG11g; z@(pJ7$=yuWVyPvG=~f067A|HMMsAj_&dx@LPG(M@ywn6wdI2}0~i1Ro)9g< delta 167 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 ZK6*z^H%z=Md>1IrAP*5w-s=Wd2LKh$8rJ{- delta 78 zcmbQhIDwI)gMon|5{5-Ky09-@bS-r5Ft%#GchZN?1=0tq8b zBQ#Ku@?jwedI*E4-ez}`l8S?)lE0bMCqK&TZER z`xG?Jdl|rr3!wMijzt9o3NnDCJwI`=cK%Brz{qYlj3BdKfOTK5%8xPs)B>$3BZW91 zhBb{J{}0N2*QKf?Yg8Dsi7ZE9-U)6~{OXtcrXJ%2e54Q=KWPyyETQ=d-(>Y>mpb-ua zL}PkFiz829qUN6vo+BOWu6JUnwxntF>y`ydlT77JFYE6eno8(N z4GicefbBTdD9eydH4s)1)WXg#o2IQO%qJQsku8p$`!gja^|zphF&DVJ0m{L&xdDNRik;EEGl)B zTesFMGyvAOv3y1ahH8S;3(%UUf5#=p;W8f0gVV z&ybtm50fPDPRo#^g(QT6xE5F<1eVj>1>${dSP0L7QPn6p5iK;ekJ`z9jQG$f!Pd|k Fegj0g-OT_1 literal 0 HcmV?d00001 diff --git a/=/logs/20190304T152045/exthost1/exthost.log b/=/logs/20190304T152045/exthost1/exthost.log new file mode 100644 index 00000000..2b37dec5 --- /dev/null +++ b/=/logs/20190304T152045/exthost1/exthost.log @@ -0,0 +1,10 @@ +[2019-03-04 16:00:12.165] [exthost] [info] extension host started +[2019-03-04 16:00:12.179] [exthost] [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch {"startup":true,"activationEvent":"*"} +[2019-03-04 16:00:12.179] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/debug-auto-launch/dist/extension +[2019-03-04 16:00:12.181] [exthost] [info] ExtensionService#_doActivateExtension vscode.emmet {"startup":true,"activationEvent":"*"} +[2019-03-04 16:00:12.181] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/emmet/dist/extension +[2019-03-04 16:00:12.192] [exthost] [info] ExtensionService#_doActivateExtension vscode.git {"startup":true,"activationEvent":"*"} +[2019-03-04 16:00:12.192] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/git/dist/main +[2019-03-04 16:00:12.259] [exthost] [info] ExtensionService#_doActivateExtension vscode.merge-conflict {"startup":true,"activationEvent":"*"} +[2019-03-04 16:00:12.259] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/merge-conflict/dist/extension +[2019-03-04 16:00:12.263] [exthost] [info] eager extensions activated diff --git a/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log b/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log new file mode 100644 index 00000000..7b9e21f2 --- /dev/null +++ b/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log @@ -0,0 +1,14 @@ +Looking for git in: git +Using git 2.19.1 from git +> git rev-parse --show-toplevel +> git config --get commit.template +Open repository: /home/carlos/mailtrain +> git status -z -u +> git symbolic-ref --short HEAD +> git rev-parse development +> git rev-parse --symbolic-full-name development@{u} +> git rev-list --left-right development...refs/remotes/origin/development +> git for-each-ref --format %(refname) %(objectname) --sort -committerdate +> git remote --verbose +> git check-ignore -z --stdin +> git rev-parse --show-toplevel diff --git a/=/logs/20190304T152045/main.log b/=/logs/20190304T152045/main.log new file mode 100644 index 00000000..136f60fb --- /dev/null +++ b/=/logs/20190304T152045/main.log @@ -0,0 +1,43 @@ +[2019-03-04 16:00:10.320] [main] [error] [uncaught exception in main]: Failed to watch /root/.config/Code/User for changes (Error: ENOSPC: no space left on device, watch '/root/.config/Code/User') +[2019-03-04 16:00:10.358] [main] [error] [uncaught exception in main]: Error: Unknown channel +[2019-03-04 16:00:10.358] [main] [error] Error: Unknown channel + at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) + at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) + at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 + at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) + at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) + at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) + at Socket.emit (events.js:182:13) + at addChunk (_stream_readable.js:279:12) + at readableAddChunk (_stream_readable.js:264:11) + at Socket.Readable.push (_stream_readable.js:219:10) + at Pipe.onread (net.js:636:20) +[2019-03-04 16:00:10.359] [main] [error] [uncaught exception in main]: Error: Unknown channel +[2019-03-04 16:00:10.359] [main] [error] Error: Unknown channel + at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) + at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) + at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 + at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) + at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) + at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) + at Socket.emit (events.js:182:13) + at addChunk (_stream_readable.js:279:12) + at readableAddChunk (_stream_readable.js:264:11) + at Socket.Readable.push (_stream_readable.js:219:10) + at Pipe.onread (net.js:636:20) +[2019-03-04 16:00:10.359] [main] [error] [uncaught exception in main]: Error: Unknown channel +[2019-03-04 16:00:10.359] [main] [error] Error: Unknown channel + at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) + at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) + at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 + at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) + at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) + at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) + at Socket.emit (events.js:182:13) + at addChunk (_stream_readable.js:279:12) + at readableAddChunk (_stream_readable.js:264:11) + at Socket.Readable.push (_stream_readable.js:219:10) + at Pipe.onread (net.js:636:20) +[2019-03-04 16:00:10.401] [main] [info] [storage] migrating global storage from localStorage into SQLite +[2019-03-04 16:00:10.401] [main] [info] [storage] migrated global storage +[2019-03-04 16:00:10.403] [main] [info] update#setState idle diff --git a/=/logs/20190304T152045/output_1_20190304T160011/extensions.log b/=/logs/20190304T152045/output_1_20190304T160011/extensions.log new file mode 100644 index 00000000..e69de29b diff --git a/=/logs/20190304T152045/output_1_20190304T160011/tasks.log b/=/logs/20190304T152045/output_1_20190304T160011/tasks.log new file mode 100644 index 00000000..e69de29b diff --git a/=/logs/20190304T152045/renderer1.log b/=/logs/20190304T152045/renderer1.log new file mode 100644 index 00000000..ec154ec7 --- /dev/null +++ b/=/logs/20190304T152045/renderer1.log @@ -0,0 +1,3 @@ +[2019-03-04 16:00:11.753] [renderer1] [error] Failed to watch /root/.config/Code/User for changes (Error: ENOSPC: no space left on device, watch '/root/.config/Code/User') +[2019-03-04 16:00:11.818] [renderer1] [error] Failed to watch /home/carlos/mailtrain/=/logs/20190304T152045/output_1_20190304T160011 for changes (Error: ENOSPC: no space left on device, watch '/home/carlos/mailtrain/=/logs/20190304T152045/output_1_20190304T160011') +[2019-03-04 16:00:12.085] [renderer1] [error] Inotify limit reached (ENOSPC) diff --git a/=/storage.json b/=/storage.json new file mode 100644 index 00000000..2762e358 --- /dev/null +++ b/=/storage.json @@ -0,0 +1,34 @@ +{ + "telemetry.machineId": "880d0bd7e6929f7265832035a40fcfff126d2abebc5ac192303038e3ad84e830", + "openedPathsList": { + "workspaces2": [ + "file:///home/carlos/mailtrain" + ], + "files2": [ + "file:///home/carlos/mailtrain/~/.visualcode-root" + ] + }, + "theme": "vs-dark", + "themeBackground": "#1e1e1e", + "pickerWorkingDir": "/home/carlos", + "windowsState": { + "openedWindows": [], + "lastActiveWindow": { + "folderUri": { + "$mid": 1, + "fsPath": "/home/carlos/mailtrain", + "external": "file:///home/carlos/mailtrain", + "path": "/home/carlos/mailtrain", + "scheme": "file" + }, + "backupPath": "/home/carlos/mailtrain/=/Backups/c1d71de0494517f025c5324502e417db", + "uiState": { + "mode": 0, + "x": 0, + "y": 0, + "width": 1920, + "height": 1044 + } + } + } +} \ No newline at end of file diff --git a/server/models/campaigns.js b/server/models/campaigns.js index f2dc5dff..178ad189 100644 --- a/server/models/campaigns.js +++ b/server/models/campaigns.js @@ -543,7 +543,7 @@ async function updateWithConsistencyCheck(context, entity, content) { } else if (content === Content.WITHOUT_SOURCE_CUSTOM) { filteredEntity.data.sourceCustom = existing.data.sourceCustom; - await namespaceHelpers.validateMove(context, filteredEntity, existing, 'campaign', 'createCampaign', 'delete'); + await namespaceHelpers.validateMove(context, entity, existing, 'campaign', 'createCampaign', 'delete'); //Doesn't works with filteredEntity } else if (content === Content.ONLY_SOURCE_CUSTOM) { const data = existing.data; From 4b1b1a380d7d91802d8b7359f53c4f932c619512 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 6 Mar 2019 13:27:53 +0100 Subject: [PATCH 05/18] deleting useless files --- =/Cache/cbc42e4c979f69f0_0 | Bin 7752 -> 0 bytes =/Cache/ead4744930c7d506_0 | Bin 5113 -> 0 bytes =/Cache/index-dir/the-real-index | Bin 144 -> 0 bytes ...hell-cda2bd8beae6fa37524278aa8da79252.code | Bin 1336 -> 0 bytes =/logs/20190304T152045/exthost1/exthost.log | 10 ---- .../output_logging_20190304T160012/1-Git.log | 14 ------ =/logs/20190304T152045/main.log | 43 ------------------ .../output_1_20190304T160011/extensions.log | 0 .../output_1_20190304T160011/tasks.log | 0 =/logs/20190304T152045/renderer1.log | 3 -- =/storage.json | 34 -------------- 11 files changed, 104 deletions(-) delete mode 100644 =/Cache/cbc42e4c979f69f0_0 delete mode 100644 =/Cache/ead4744930c7d506_0 delete mode 100644 =/Cache/index-dir/the-real-index delete mode 100644 =/CachedData/1b8e8302e405050205e69b59abb3559592bb9e60/shell-cda2bd8beae6fa37524278aa8da79252.code delete mode 100644 =/logs/20190304T152045/exthost1/exthost.log delete mode 100644 =/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log delete mode 100644 =/logs/20190304T152045/main.log delete mode 100644 =/logs/20190304T152045/output_1_20190304T160011/extensions.log delete mode 100644 =/logs/20190304T152045/output_1_20190304T160011/tasks.log delete mode 100644 =/logs/20190304T152045/renderer1.log delete mode 100644 =/storage.json diff --git a/=/Cache/cbc42e4c979f69f0_0 b/=/Cache/cbc42e4c979f69f0_0 deleted file mode 100644 index fc017a09f1389c90a838aa143b9d690fe94d76bf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7752 zcmd5hd0Z3s@<|9FmmC2E0g2$nkz^ANAqpyofQll;dLNr)frTU+b~l7WMWUefKy9sB ztcX?XRj*cfT17mb2NtVE(0bxg@3Y>uSl?_Q5RTXPet*2r=NCwJzccfl?|f(GJ2N|r zOd&UWsQzp+XR%mP_UMPc}|zQ6)udaY9ZgFd?Q= zVYE-60hd9bgo+?BH6fItYWQn`$B>CyOsT|3Ax#NTl0?;Mn4|?a0+kao3{@v%6o!)W zbX2W~!Ll(Wp;2LKdeo?BVK&7qB%tIuDy2X}V%a#RYg;f&i>pJ08dRQ%reOjdO3Tw* zkR#DNEfLMgm`0~-Wt3Lcf=EPj;s~0^&cxLqkP;Nof>5OjRcIP6r+^*S0t2~d8BQvU zVvsH47Bq=xs1+!tG@`X6m5!1cBbJa6a*Pm?aLu4{1RA9_4Oh1yX&C`~Q3`dKOoLLi zaX}ha(KuT}^sI#-GLfcmG}Sm3Za@;ekO6CSWk3Co{v$QzY@d2{ht2c$Lk=o|#S-{7qq$G*NLNQ;0AS{YT zX)PrULV{VST#jjIfx%pqRF+F)6ibfE(=maZ02v9TRE6dUK0y}XyUmPM03Y8+E{J6vv7M7#IL4jRRg_=+)K^p=Up}fg2!8~s zZs8a%6^BWKLkt`#jLgPJX>9Z`xtu?MCNe}};Xz_QR*t|RsWd(z1@2XpK&B*Q0y8l7ceB1@JEpXEEvmXBMawA<{(2*qqUsWWoeYkq{=zz~ci_ zGDhhlB3g+IGNKv{96Xc;Mk3}gvM?G=lOj1`F`;3S;o-5-(Gqb~XjJPYaAI(BX>d>& z*xC%fiyT-iMDH*k(RU}x%{XihhsS4eG_|U}LCW&NA0`3`j1W5uEC1s7;=PIZGDV?iuYJNFKxuuBX55G;>_5Zk_iXN;92LR2aTR)S8j1?UhW0Vw(gg?r+AO9 zRoFgfJATPql;rR+Eo*Yr)Pk(LWn%eX+^_P<;dh-9#`Ky&ZA@KSyz6jrrCj32PxL6S z=D%I${mHxdW9K6hckD`jJNB=7%6r#?TCQvDvSKInU};dn?j?)#=Tt27?tyn+{NroI zGf8jt)a}37EFMaGgeEr@yX~G8bUhU<)1rM!{Q9>QARuDQ$lTN6cXZZdNfdIm+k*xyDHdzO@nyR8Y$mroOR2h9+ zK*=b9f>5Ejnli9(^A|!&g_l53A@bk+6nH2W}rE3J2vdn0kqH9xy{cXuG4O46 z8CM*WXDe}VgI0|j*7w07Ib)OnY%b8K+c9c2rmqPN4IE5eqLrwZQmewzbWEwCaSg@z zRQrYa9r0P{-%_Z$;NjDbhk>FK7kdbv5Z1BQo%4W>RCZX)jg%miE<+roB0FIEg4@v~ zhN>Vi3ssl`heSqZ<0ePJaFBfbg#?L1-SIax?r?A*^`QzOl}o|Nz(_R|c?PxHp(;(Y zn;N*el3*7K@}*XR6O>_916hwWTGb^24hM=;*>YiP

iEQy?}l%GVG&jFjO9kgbBT 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 pKNW diff --git a/=/Cache/ead4744930c7d506_0 b/=/Cache/ead4744930c7d506_0 deleted file mode 100644 index c807221acd82ec56b361431555ddd42a9a0ceacb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5113 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 MJVZQsuNzn$03>)S{{R30 diff --git a/=/CachedData/1b8e8302e405050205e69b59abb3559592bb9e60/shell-cda2bd8beae6fa37524278aa8da79252.code b/=/CachedData/1b8e8302e405050205e69b59abb3559592bb9e60/shell-cda2bd8beae6fa37524278aa8da79252.code deleted file mode 100644 index 51a3ed501b62febcb4e82e2ef429b34af4bde5e8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1336 zcmZuxT}TvB6h3!$#&y5{5-Ky09-@bS-r5Ft%#GchZN?1=0tq8b zBQ#Ku@?jwedI*E4-ez}`l8S?)lE0bMCqK&TZER z`xG?Jdl|rr3!wMijzt9o3NnDCJwI`=cK%Brz{qYlj3BdKfOTK5%8xPs)B>$3BZW91 zhBb{J{}0N2*QKf?Yg8Dsi7ZE9-U)6~{OXtcrXJ%2e54Q=KWPyyETQ=d-(>Y>mpb-ua zL}PkFiz829qUN6vo+BOWu6JUnwxntF>y`ydlT77JFYE6eno8(N z4GicefbBTdD9eydH4s)1)WXg#o2IQO%qJQsku8p$`!gja^|zphF&DVJ0m{L&xdDNRik;EEGl)B zTesFMGyvAOv3y1ahH8S;3(%UUf5#=p;W8f0gVV z&ybtm50fPDPRo#^g(QT6xE5F<1eVj>1>${dSP0L7QPn6p5iK;ekJ`z9jQG$f!Pd|k Fegj0g-OT_1 diff --git a/=/logs/20190304T152045/exthost1/exthost.log b/=/logs/20190304T152045/exthost1/exthost.log deleted file mode 100644 index 2b37dec5..00000000 --- a/=/logs/20190304T152045/exthost1/exthost.log +++ /dev/null @@ -1,10 +0,0 @@ -[2019-03-04 16:00:12.165] [exthost] [info] extension host started -[2019-03-04 16:00:12.179] [exthost] [info] ExtensionService#_doActivateExtension vscode.debug-auto-launch {"startup":true,"activationEvent":"*"} -[2019-03-04 16:00:12.179] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/debug-auto-launch/dist/extension -[2019-03-04 16:00:12.181] [exthost] [info] ExtensionService#_doActivateExtension vscode.emmet {"startup":true,"activationEvent":"*"} -[2019-03-04 16:00:12.181] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/emmet/dist/extension -[2019-03-04 16:00:12.192] [exthost] [info] ExtensionService#_doActivateExtension vscode.git {"startup":true,"activationEvent":"*"} -[2019-03-04 16:00:12.192] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/git/dist/main -[2019-03-04 16:00:12.259] [exthost] [info] ExtensionService#_doActivateExtension vscode.merge-conflict {"startup":true,"activationEvent":"*"} -[2019-03-04 16:00:12.259] [exthost] [info] ExtensionService#loadCommonJSModule /usr/share/code/resources/app/extensions/merge-conflict/dist/extension -[2019-03-04 16:00:12.263] [exthost] [info] eager extensions activated diff --git a/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log b/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log deleted file mode 100644 index 7b9e21f2..00000000 --- a/=/logs/20190304T152045/exthost1/output_logging_20190304T160012/1-Git.log +++ /dev/null @@ -1,14 +0,0 @@ -Looking for git in: git -Using git 2.19.1 from git -> git rev-parse --show-toplevel -> git config --get commit.template -Open repository: /home/carlos/mailtrain -> git status -z -u -> git symbolic-ref --short HEAD -> git rev-parse development -> git rev-parse --symbolic-full-name development@{u} -> git rev-list --left-right development...refs/remotes/origin/development -> git for-each-ref --format %(refname) %(objectname) --sort -committerdate -> git remote --verbose -> git check-ignore -z --stdin -> git rev-parse --show-toplevel diff --git a/=/logs/20190304T152045/main.log b/=/logs/20190304T152045/main.log deleted file mode 100644 index 136f60fb..00000000 --- a/=/logs/20190304T152045/main.log +++ /dev/null @@ -1,43 +0,0 @@ -[2019-03-04 16:00:10.320] [main] [error] [uncaught exception in main]: Failed to watch /root/.config/Code/User for changes (Error: ENOSPC: no space left on device, watch '/root/.config/Code/User') -[2019-03-04 16:00:10.358] [main] [error] [uncaught exception in main]: Error: Unknown channel -[2019-03-04 16:00:10.358] [main] [error] Error: Unknown channel - at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) - at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) - at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 - at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) - at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) - at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) - at Socket.emit (events.js:182:13) - at addChunk (_stream_readable.js:279:12) - at readableAddChunk (_stream_readable.js:264:11) - at Socket.Readable.push (_stream_readable.js:219:10) - at Pipe.onread (net.js:636:20) -[2019-03-04 16:00:10.359] [main] [error] [uncaught exception in main]: Error: Unknown channel -[2019-03-04 16:00:10.359] [main] [error] Error: Unknown channel - at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) - at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) - at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 - at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) - at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) - at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) - at Socket.emit (events.js:182:13) - at addChunk (_stream_readable.js:279:12) - at readableAddChunk (_stream_readable.js:264:11) - at Socket.Readable.push (_stream_readable.js:219:10) - at Pipe.onread (net.js:636:20) -[2019-03-04 16:00:10.359] [main] [error] [uncaught exception in main]: Error: Unknown channel -[2019-03-04 16:00:10.359] [main] [error] Error: Unknown channel - at e.onPromise (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:673) - at e.onRawMessage (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:174:363) - at /usr/share/code/resources/app/out/vs/code/electron-main/main.js:173:813 - at e.fire (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:54:578) - at a (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:453) - at Socket._socketDataListener (/usr/share/code/resources/app/out/vs/code/electron-main/main.js:184:674) - at Socket.emit (events.js:182:13) - at addChunk (_stream_readable.js:279:12) - at readableAddChunk (_stream_readable.js:264:11) - at Socket.Readable.push (_stream_readable.js:219:10) - at Pipe.onread (net.js:636:20) -[2019-03-04 16:00:10.401] [main] [info] [storage] migrating global storage from localStorage into SQLite -[2019-03-04 16:00:10.401] [main] [info] [storage] migrated global storage -[2019-03-04 16:00:10.403] [main] [info] update#setState idle diff --git a/=/logs/20190304T152045/output_1_20190304T160011/extensions.log b/=/logs/20190304T152045/output_1_20190304T160011/extensions.log deleted file mode 100644 index e69de29b..00000000 diff --git a/=/logs/20190304T152045/output_1_20190304T160011/tasks.log b/=/logs/20190304T152045/output_1_20190304T160011/tasks.log deleted file mode 100644 index e69de29b..00000000 diff --git a/=/logs/20190304T152045/renderer1.log b/=/logs/20190304T152045/renderer1.log deleted file mode 100644 index ec154ec7..00000000 --- a/=/logs/20190304T152045/renderer1.log +++ /dev/null @@ -1,3 +0,0 @@ -[2019-03-04 16:00:11.753] [renderer1] [error] Failed to watch /root/.config/Code/User for changes (Error: ENOSPC: no space left on device, watch '/root/.config/Code/User') -[2019-03-04 16:00:11.818] [renderer1] [error] Failed to watch /home/carlos/mailtrain/=/logs/20190304T152045/output_1_20190304T160011 for changes (Error: ENOSPC: no space left on device, watch '/home/carlos/mailtrain/=/logs/20190304T152045/output_1_20190304T160011') -[2019-03-04 16:00:12.085] [renderer1] [error] Inotify limit reached (ENOSPC) diff --git a/=/storage.json b/=/storage.json deleted file mode 100644 index 2762e358..00000000 --- a/=/storage.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "telemetry.machineId": "880d0bd7e6929f7265832035a40fcfff126d2abebc5ac192303038e3ad84e830", - "openedPathsList": { - "workspaces2": [ - "file:///home/carlos/mailtrain" - ], - "files2": [ - "file:///home/carlos/mailtrain/~/.visualcode-root" - ] - }, - "theme": "vs-dark", - "themeBackground": "#1e1e1e", - "pickerWorkingDir": "/home/carlos", - "windowsState": { - "openedWindows": [], - "lastActiveWindow": { - "folderUri": { - "$mid": 1, - "fsPath": "/home/carlos/mailtrain", - "external": "file:///home/carlos/mailtrain", - "path": "/home/carlos/mailtrain", - "scheme": "file" - }, - "backupPath": "/home/carlos/mailtrain/=/Backups/c1d71de0494517f025c5324502e417db", - "uiState": { - "mode": 0, - "x": 0, - "y": 0, - "width": 1920, - "height": 1044 - } - } - } -} \ No newline at end of file From 1a61067ff9376335c47c4c72e21f52e3a25b6759 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2019 09:52:02 +0100 Subject: [PATCH 06/18] Campaign status show send settings Bug --- client/src/campaigns/List.js | 24 +++++++++++++++++---- client/src/campaigns/Status.js | 10 +++++++-- client/src/lib/page.js | 19 +++++++++++++++++ locales/en-US/common.json | 1 + locales/es-ES/common.json | 37 +++++++++++++++++---------------- server/models/campaigns.js | 18 ++++++++++++++-- server/models/lists.js | 28 +++++++++++++++++++++++++ server/routes/rest/campaigns.js | 4 ++++ server/routes/rest/lists.js | 4 ++++ 9 files changed, 119 insertions(+), 26 deletions(-) diff --git a/client/src/campaigns/List.js b/client/src/campaigns/List.js index 0fda63aa..8c5b259f 100644 --- a/client/src/campaigns/List.js +++ b/client/src/campaigns/List.js @@ -12,7 +12,8 @@ import { requiresAuthenticatedUser, Title, Toolbar, - withPageHelpers + withPageHelpers, + getNamespaceChooser } from '../lib/page'; import { withAsyncErrorHandler, @@ -75,8 +76,12 @@ export default class List extends Component { } render() { + const t = this.props.t; - + var pathname = window.location.href; + var url = new URL(pathname); + var namespace = url.searchParams.get("namespace"); + const columns = [ { data: 1, title: t('name') }, { data: 2, title: t('id'), render: data => {data} }, @@ -108,6 +113,7 @@ export default class List extends Component { const status = data[5]; const campaignSource = data[7]; + if (perms.includes('viewStats')) { actions.push({ label: , @@ -172,6 +178,7 @@ export default class List extends Component { return (

{tableRestActionDialogRender(this)} + {this.state.createPermitted && @@ -182,10 +189,19 @@ export default class List extends Component { } - {t('campaigns')} + + {getNamespaceChooser(t)} + - this.table = node} withHeader dataUrl="rest/campaigns-table" columns={columns} /> + {t('campaigns')} + {!namespace && +
this.table = node} withHeader dataUrl="rest/campaigns-table" columns={columns} /> + } + {!!namespace && +
this.table = node} withHeader dataUrl={`rest/campaigns-namespace/${namespace}`} columns={columns} /> + } ); + } } \ No newline at end of file diff --git a/client/src/campaigns/Status.js b/client/src/campaigns/Status.js index afa700ea..aa3f5ff3 100644 --- a/client/src/campaigns/Status.js +++ b/client/src/campaigns/Status.js @@ -443,11 +443,17 @@ export default class Status extends Component { let sendSettings; if (this.state.sendConfiguration) { sendSettings = []; - + const addOverridable = (id, label) => { - sendSettings.push({entity[id + '_override'] === null ? this.state.sendConfiguration[id] : entity[id + '_override']}); + if(this.state.sendConfiguration[id + '_overridable'] == 1){ + sendSettings.push({entity[id + '_override']}); + } + else{ + sendSettings.push({this.state.sendConfiguration[id]}); + } }; + addOverridable('from_name', t('fromName')); addOverridable('from_email', t('fromEmailAddress')); addOverridable('reply_to', t('replytoEmailAddress')); diff --git a/client/src/lib/page.js b/client/src/lib/page.js index e05a7d1e..02f920b1 100644 --- a/client/src/lib/page.js +++ b/client/src/lib/page.js @@ -23,6 +23,7 @@ import { Button, DismissibleAlert, DropdownActionLink, + ButtonDropdown, Icon } from "./bootstrap-components"; import mailtrainConfig @@ -696,4 +697,22 @@ export function getLanguageChooser(t) { ); return languageChooser; +} + +export function getNamespaceChooser(t) { + + const namespaceOptions = []; + namespaceOptions.push( + {t('All')}, + {t('Root')} + ) + + + const namespaceChooser = ( + + {namespaceOptions} + + ); + + return namespaceChooser; } \ No newline at end of file diff --git a/locales/en-US/common.json b/locales/en-US/common.json index 002c7882..653d1cb0 100644 --- a/locales/en-US/common.json +++ b/locales/en-US/common.json @@ -198,6 +198,7 @@ "triggers": "Triggers", "share": "Share", "createCampaign": "Create Campaign", + "namespaceFilter": "Namespace filtering", "regular": "Regular", "rss": "RSS", "triggered": "Triggered", diff --git a/locales/es-ES/common.json b/locales/es-ES/common.json index b24dbe56..8ab1b41a 100644 --- a/locales/es-ES/common.json +++ b/locales/es-ES/common.json @@ -1,26 +1,26 @@ { "welcomeToMailtrain": "Bienvenido a Mailtrain...", - "personalAccessToken": "Personal access token", - "accessTokenNotYetGenerated": "Access token not yet generated", + "personalAccessToken": "Token de acceso personal", + "accessTokenNotYetGenerated": "El token de acceso aun no se ha generado", "api": "API", - "resetAccessToken": "Reset Access Token", - "generateAccessToken": "Generate Access Token", - "notesAboutTheApi": "Notes about the API", - "addSubscription": "Add subscription", - "thisApiCallEitherInsertsANewSubscription": "This API call either inserts a new subscription or updates existing. Fields not included are left as is, so if you update only LAST_NAME value, then FIRST_NAME is kept untouched for an existing subscription.", - "arguments": "arguments", - "yourPersonalAccessToken": "your personal access token", - "subscribersEmailAddress": "subscriber's email address", - "required": "required", - "subscribersFirstName": "subscriber's first name", - "subscribersLastName": "subscriber's last name", - "subscribersTimezoneEgEuropeTallinnPstOr": "subscriber's timezone (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). If not set defaults to \"UTC\"", - "customFieldValueUseYesnoForOptionGroup": "custom field value. Use yes/no for option group values (checkboxes, radios, drop downs)", - "additionalPostArguments": "Additional POST arguments", + "resetAccessToken": "Reiniciar token de acceso", + "generateAccessToken": "Generar token de acceso", + "notesAboutTheApi": "Notas sobre la API", + "addSubscription": "Añadir suscripcion", + "thisApiCallEitherInsertsANewSubscription": "Esta llamada a la API inserta una nueva suscripción o actualiza las existentes. Los campos no incluidos se dejan como están, por lo que si actualiza solo el valor de LAST_NAME, FIRST_NAME se mantiene intacto para una suscripción existente.", + "arguments": "argumentos", + "yourPersonalAccessToken": "tu token de acceso personal", + "subscribersEmailAddress": "email del suscriptor", + "required": "requerido", + "subscribersFirstName": "nombre del suscriptor", + "subscribersLastName": "apellidos del suscriptor", + "subscribersTimezoneEgEuropeTallinnPstOr": "zona horaria del suscriptor (eg. \"Europe/Tallinn\", \"PST\" or \"UTC\"). Si no, asigna por defecto a \"UTC\"", + "customFieldValueUseYesnoForOptionGroup": "valor de campo personalizado. Usa si/no para opciones grupales (checkboxes, radios, drop downs)", + "additionalPostArguments": "argumentos POST adicionales", "setToYesIfYouWantToMakeSureTheEmailIs": "set to \"yes\" if you want to make sure the email is marked as subscribed even if it was previously marked as unsubscribed. If the email was already unsubscribed/blocked then subscription status is not changed", "setToYesIfYouWantToSendConfirmationEmail": "set to \"yes\" if you want to send confirmation email to the subscriber before actually marking as subscribed", - "example": "Example", - "removeSubscription": "Remove subscription", + "example": "Ejemplo", + "removeSubscription": "Eliminar suscripción", "thisApiCallMarksASubscriptionAs": "This API call marks a subscription as unsubscribed", "deleteSubscription": "Delete subscription", "thisApiCallDeletesASubscription": "This API call deletes a subscription", @@ -198,6 +198,7 @@ "triggers": "Triggers", "share": "Share", "createCampaign": "Create Campaign", + "namespaceFilter": "Namespace filtering", "regular": "Regular", "rss": "RSS", "triggered": "Triggered", diff --git a/server/models/campaigns.js b/server/models/campaigns.js index 178ad189..bd1f43d3 100644 --- a/server/models/campaigns.js +++ b/server/models/campaigns.js @@ -76,6 +76,19 @@ async function listDTAjax(context, params) { ); } +async function listByNamespaceDTAjax(context, namespaceId, params) { + return await dtHelpers.ajaxListWithPermissions( + context, + [{ entityTypeId: 'campaign', requiredOperations: ['view'] }], + params, + builder => builder.from('campaigns') + .innerJoin('namespaces', 'namespaces.id', 'campaigns.namespace') + .where('namespaces.id', namespaceId) + .whereNull('campaigns.parent'), + ['campaigns.id', 'campaigns.name', 'campaigns.cid', 'campaigns.description', 'campaigns.type', 'campaigns.status', 'campaigns.scheduled', 'campaigns.source', 'campaigns.created', 'namespaces.name'] + ); +} + async function listChildrenDTAjax(context, campaignId, params) { return await dtHelpers.ajaxListWithPermissions( context, @@ -730,9 +743,9 @@ async function changeStatusByCampaignCidAndSubscriptionIdTx(tx, context, campaig ]) .first(); - if (!message) { + //if (!message) { throw new Error('Invalid campaign.') - } + //} await _changeStatusByMessageTx(tx, context, message, subscriptionStatus); } @@ -934,6 +947,7 @@ module.exports.Content = Content; module.exports.hash = hash; module.exports.listDTAjax = listDTAjax; +module.exports.listByNamespaceDTAjax = listByNamespaceDTAjax; module.exports.listChildrenDTAjax = listChildrenDTAjax; module.exports.listWithContentDTAjax = listWithContentDTAjax; module.exports.listOthersWhoseListsAreIncludedDTAjax = listOthersWhoseListsAreIncludedDTAjax; diff --git a/server/models/lists.js b/server/models/lists.js index 32ca4f00..e0705683 100644 --- a/server/models/lists.js +++ b/server/models/lists.js @@ -53,6 +53,33 @@ async function listDTAjax(context, params) { ); } +async function listByNamespaceDTAjax(context, params) { + const campaignEntityType = entitySettings.getEntityType('campaign'); + + return await dtHelpers.ajaxListWithPermissions( + context, + [{ entityTypeId: 'list', requiredOperations: ['view'] }], + params, + builder => builder + .from('lists') + .innerJoin('namespaces', 'namespaces.id', 'lists.namespace'), + ['lists.id', 'lists.name', 'lists.cid', 'lists.subscribers', 'lists.description', 'namespaces.name', + { + name: 'triggerCount', + query: builder => + builder.from('campaigns') + .innerJoin('campaign_lists', 'campaigns.id', 'campaign_lists.campaign') + .innerJoin('triggers', 'campaigns.id', 'triggers.campaign') + .innerJoin(campaignEntityType.permissionsTable, 'campaigns.id', `${campaignEntityType.permissionsTable}.entity`) + .whereRaw('campaign_lists.list = lists.id') + .where(`${campaignEntityType.permissionsTable}.operation`, 'viewTriggers') + .count() + .as('triggerCount') + } + ] + ); +} + async function listWithSegmentByCampaignDTAjax(context, campaignId, params) { return await dtHelpers.ajaxListWithPermissions( context, @@ -260,6 +287,7 @@ async function remove(context, id) { module.exports.UnsubscriptionMode = UnsubscriptionMode; module.exports.hash = hash; module.exports.listDTAjax = listDTAjax; +module.exports.listByNamespaceDTAjax = listByNamespaceDTAjax; module.exports.listWithSegmentByCampaignDTAjax = listWithSegmentByCampaignDTAjax; module.exports.getByIdTx = getByIdTx; module.exports.getById = getById; diff --git a/server/routes/rest/campaigns.js b/server/routes/rest/campaigns.js index 37151e17..57ffb511 100644 --- a/server/routes/rest/campaigns.js +++ b/server/routes/rest/campaigns.js @@ -19,6 +19,10 @@ router.postAsync('/campaigns-others-by-list-table/:campaignId/:listIds', passpor return res.json(await campaigns.listOthersWhoseListsAreIncludedDTAjax(req.context, castToInteger(req.params.campaignId), req.params.listIds.split(';').map(x => castToInteger(x)), req.body)); }); +router.postAsync('/campaigns-namespace/:namespaceId', passport.loggedIn, async (req, res) => { + return res.json(await campaigns.listByNamespaceDTAjax(req.context, castToInteger(req.params.namespaceId), req.body)); +}); + router.postAsync('/campaigns-children/:campaignId', passport.loggedIn, async (req, res) => { return res.json(await campaigns.listChildrenDTAjax(req.context, castToInteger(req.params.campaignId), req.body)); }); diff --git a/server/routes/rest/lists.js b/server/routes/rest/lists.js index 1cb7f11b..09fae2bf 100644 --- a/server/routes/rest/lists.js +++ b/server/routes/rest/lists.js @@ -11,6 +11,10 @@ router.postAsync('/lists-table', passport.loggedIn, async (req, res) => { return res.json(await lists.listDTAjax(req.context, req.body)); }); +router.postAsync('/users-table-byNamespace/:namespaceId', passport.loggedIn, async (req, res) => { + return res.json(await lists.listDTAjax(req.context, 1)); +}); + router.postAsync('/lists-with-segment-by-campaign-table/:campaignId', passport.loggedIn, async (req, res) => { return res.json(await lists.listWithSegmentByCampaignDTAjax(req.context, castToInteger(req.params.campaignId), req.body)); }); From bdacf9291796858291c73cc303926fb80a579f92 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2019 10:22:19 +0100 Subject: [PATCH 07/18] Campaigns: Show override checkbox when Send configuration allows it --- client/src/campaigns/CUD.js | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/client/src/campaigns/CUD.js b/client/src/campaigns/CUD.js index f03561a9..22039c16 100644 --- a/client/src/campaigns/CUD.js +++ b/client/src/campaigns/CUD.js @@ -608,11 +608,20 @@ export default class CUD extends Component { sendSettings = []; const addOverridable = (id, label) => { - sendSettings.push(); - - if (this.getFormValue(id + '_overriden')) { - sendSettings.push(); - } else { + if(this.state.sendConfiguration[id + '_overridable'] == 1){ + sendSettings.push(); + if (this.getFormValue(id + '_overriden')) { + sendSettings.push(); + } else { + sendSettings.push( + + {this.state.sendConfiguration[id]} + + ); + } + } + else{ + sendSettings.push(); sendSettings.push( {this.state.sendConfiguration[id]} From 83267a7e284900923771450213a023af145bd501 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2019 13:09:37 +0100 Subject: [PATCH 08/18] Checkbox text alignment and override checkboxes reorganized --- client/src/campaigns/CUD.js | 9 ++++----- client/src/lib/form.js | 22 ++++++++++++++++++---- client/src/lib/styles.scss | 10 ++++++++++ client/src/send-configurations/CUD.js | 8 ++++---- 4 files changed, 36 insertions(+), 13 deletions(-) diff --git a/client/src/campaigns/CUD.js b/client/src/campaigns/CUD.js index 22039c16..cedecc4b 100644 --- a/client/src/campaigns/CUD.js +++ b/client/src/campaigns/CUD.js @@ -609,21 +609,20 @@ export default class CUD extends Component { const addOverridable = (id, label) => { if(this.state.sendConfiguration[id + '_overridable'] == 1){ - sendSettings.push(); if (this.getFormValue(id + '_overriden')) { - sendSettings.push(); + sendSettings.push(); } else { sendSettings.push( - + {this.state.sendConfiguration[id]} ); } + sendSettings.push(); } else{ - sendSettings.push(); sendSettings.push( - + {this.state.sendConfiguration[id]} ); diff --git a/client/src/lib/form.js b/client/src/lib/form.js index d14b63fd..85c9a2d5 100644 --- a/client/src/lib/form.js +++ b/client/src/lib/form.js @@ -339,7 +339,8 @@ class CheckBox extends Component { text: PropTypes.string.isRequired, label: PropTypes.string, help: PropTypes.oneOfType([PropTypes.string, PropTypes.object]), - format: PropTypes.string + format: PropTypes.string, + overrideFormat: PropTypes.bool } render() { @@ -347,15 +348,28 @@ class CheckBox extends Component { const owner = this.getFormStateOwner(); const id = this.props.id; const htmlId = 'form_' + id; + const overrideFormat = this.props.overrideFormat; const className = owner.addFormValidationClass('form-check-input', id); - return wrapInput(id, htmlId, owner, props.format, '', props.label, props.help, + if(overrideFormat){ + return wrapInput(id, htmlId, owner, props.format, '', props.label, props.help, +
+ owner.updateFormValue(id, !owner.getFormValue(id))}/> + +
+ ); + } + else{ + return wrapInput(id, htmlId, owner, props.format, '', props.label, props.help,
owner.updateFormValue(id, !owner.getFormValue(id))}/> - +
- ); + ); + } + + } } diff --git a/client/src/lib/styles.scss b/client/src/lib/styles.scss index 6a9db9ff..59b6a676 100644 --- a/client/src/lib/styles.scss +++ b/client/src/lib/styles.scss @@ -124,6 +124,16 @@ text-align: right; } +.checkboxText{ + padding-top: 3px; +} +.overrideCheckboxForm{ + position: relative; + margin-top: -15px; + margin-bottom: 30px; + margin-left: 20px; +} + .dropZone{ padding-top: 20px; padding-bottom: 20px; diff --git a/client/src/send-configurations/CUD.js b/client/src/send-configurations/CUD.js index eff2b161..35b7ebec 100644 --- a/client/src/send-configurations/CUD.js +++ b/client/src/send-configurations/CUD.js @@ -231,13 +231,13 @@ export default class CUD extends Component {
- + - + - + - +
From 5d08db67b3f1ad74d881c08abdca3e9691a0b8a0 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2019 13:23:57 +0100 Subject: [PATCH 09/18] Show status bug --- client/src/campaigns/Status.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/client/src/campaigns/Status.js b/client/src/campaigns/Status.js index aa3f5ff3..a3166f9f 100644 --- a/client/src/campaigns/Status.js +++ b/client/src/campaigns/Status.js @@ -445,7 +445,7 @@ export default class Status extends Component { sendSettings = []; const addOverridable = (id, label) => { - if(this.state.sendConfiguration[id + '_overridable'] == 1){ + if(this.state.sendConfiguration[id + '_overridable'] == 1 && entity[id + '_override'] != null){ sendSettings.push({entity[id + '_override']}); } else{ From 75daaa1a6528cea4c8458c524ca94b56847eeadb Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 13 Mar 2019 15:00:49 +0100 Subject: [PATCH 10/18] Confirmation modal when launching campaign --- client/src/campaigns/Status.js | 16 ++++++++++++++-- locales/en-US/common.json | 2 ++ locales/es-ES/common.json | 2 ++ 3 files changed, 18 insertions(+), 2 deletions(-) diff --git a/client/src/campaigns/Status.js b/client/src/campaigns/Status.js index a3166f9f..4af80eca 100644 --- a/client/src/campaigns/Status.js +++ b/client/src/campaigns/Status.js @@ -225,6 +225,18 @@ class SendControls extends Component { await this.refreshEntity(); } + async confirmStart() { + const t = this.props.t; + this.actionDialog( + t('confirmLaunch'), + t('doYouWantToLaunchTheCampaign?All'), + async () => { + await this.startAsync(); + await this.refreshEntity(); + } + ); + } + async resetAsync() { const t = this.props.t; this.actionDialog( @@ -306,7 +318,7 @@ class SendControls extends Component { {this.getFormValue('sendLater') ?
this.table = node} withHeader dataUrl="rest/campaigns-table" columns={columns} /> - } - {!!namespace && -
this.table = node} withHeader dataUrl={`rest/campaigns-namespace/${namespace}`} columns={columns} /> - } + +
this.table = node} withHeader dataUrl="rest/campaigns-table" columns={columns} /> ); - } } \ No newline at end of file diff --git a/client/src/lib/page.js b/client/src/lib/page.js index 02f920b1..7de90d0f 100644 --- a/client/src/lib/page.js +++ b/client/src/lib/page.js @@ -699,20 +699,3 @@ export function getLanguageChooser(t) { return languageChooser; } -export function getNamespaceChooser(t) { - - const namespaceOptions = []; - namespaceOptions.push( - {t('All')}, - {t('Root')} - ) - - - const namespaceChooser = ( - - {namespaceOptions} - - ); - - return namespaceChooser; -} \ No newline at end of file diff --git a/locales/en-US/common.json b/locales/en-US/common.json index ac8264d7..eab42641 100644 --- a/locales/en-US/common.json +++ b/locales/en-US/common.json @@ -148,6 +148,7 @@ "description": "Description", "namespace": "Namespace", "namespace_plural": "Namespaces", + "namespaceFiltering": "Namespace filtering", "remove": "Remove", "insertNewEntryBeforeThisOne": "Insert new entry before this one", "moveUp": "Move up", diff --git a/locales/es-ES/common.json b/locales/es-ES/common.json index 8550055d..bbc52fd9 100644 --- a/locales/es-ES/common.json +++ b/locales/es-ES/common.json @@ -148,6 +148,7 @@ "description": "Descripciçon", "namespace": "Espacio de nombres", "namespace_plural": "Espacios de nombres", + "namespaceFiltering": "Filtrar espacio de nombres", "remove": "Eliminar", "insertNewEntryBeforeThisOne": "Insert new entry before this one", "moveUp": "Move up", From 444717b4d02f36c9a1cc48e89277295a7f590d08 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 20 Mar 2019 08:57:06 +0100 Subject: [PATCH 16/18] Templates namespace filtering & fix --- client/src/campaigns/CUD.js | 22 +++++++++++++++++----- locales/en-US/common.json | 2 +- locales/es-ES/common.json | 2 +- server/models/templates.js | 11 +++++++++++ server/routes/rest/templates.js | 4 ++++ 5 files changed, 34 insertions(+), 7 deletions(-) diff --git a/client/src/campaigns/CUD.js b/client/src/campaigns/CUD.js index 02944ac5..792a17d2 100644 --- a/client/src/campaigns/CUD.js +++ b/client/src/campaigns/CUD.js @@ -238,6 +238,7 @@ export default class CUD extends Component { click_tracking_disabled: false, open_tracking_disabled: false, work_send_config_current_namespace: false, + work_template_current_namespace: false, unsubscribe_url: '', @@ -526,6 +527,7 @@ export default class CUD extends Component { const currentNamespace = this.getFormValue('namespace'); const useNamespaceSendConfig = this.getFormValue('work_send_config_current_namespace'); + const useNamespaceTemplate = this.getFormValue('work_template_current_namespace'); for (const lstUid of lsts) { const prefix = 'lists_' + lstUid + '_'; @@ -569,6 +571,7 @@ export default class CUD extends Component { }
+ {useNamespaceLists && } @@ -581,7 +584,6 @@ export default class CUD extends Component { {selectedList && this.getFormValue(prefix + 'useSegmentation') && } -
} @@ -679,7 +681,13 @@ export default class CUD extends Component { // The "key" property here and in the TableSelect below is to tell React that these tables are different and should be rendered by different instances. Otherwise, React will use // only one instance, which fails because Table does not handle updates in "columns" property - templateEdit = ; + if(useNamespaceTemplate){ + templateEdit = ; + } + else{ + templateEdit = ; + } + } else if (!isEdit && sourceTypeKey === CampaignSource.CUSTOM_FROM_CAMPAIGN) { const campaignsColumns = [ @@ -753,16 +761,18 @@ export default class CUD extends Component { {t('sendSettings')} + + {useNamespaceSendConfig && } {!useNamespaceSendConfig && } - + {sendSettings} - +
@@ -770,10 +780,12 @@ export default class CUD extends Component { - {sourceEdit &&
} + {t('template')} {sourceEdit} + + {templateEdit} diff --git a/locales/en-US/common.json b/locales/en-US/common.json index eab42641..ee60a4de 100644 --- a/locales/en-US/common.json +++ b/locales/en-US/common.json @@ -118,7 +118,7 @@ "blacklistedEmails": "Blacklisted Emails", "createRegularCampaign": "Create Regular Campaign", "sendSettings": "Send settings", - "workWithCurrentNamespace": "Work with current namespace", + "workWithCampaignNamespace": "Work with campaign's namespace", "createRssCampaign": "Create RSS Campaign", "createTriggeredCampaign": "Create Triggered Campaign", "editRegularCampaign": "Edit Regular Campaign", diff --git a/locales/es-ES/common.json b/locales/es-ES/common.json index bbc52fd9..980002e1 100644 --- a/locales/es-ES/common.json +++ b/locales/es-ES/common.json @@ -118,7 +118,7 @@ "blacklistedEmails": "Blacklisted Emails", "createRegularCampaign": "Crear Campaña Regular", "sendSettings": "Configuración de envío", - "workWithCurrentNamespace": "Trabajar con el Espacio de nombres actual", + "workWithCampaignNamespace": "Trabajar con el espacio de nombres de la campaña", "createRssCampaign": "Create RSS Campaign", "createTriggeredCampaign": "Create Triggered Campaign", "editRegularCampaign": "Edit Regular Campaign", diff --git a/server/models/templates.js b/server/models/templates.js index ba7f9334..b351df08 100644 --- a/server/models/templates.js +++ b/server/models/templates.js @@ -46,6 +46,16 @@ async function listDTAjax(context, params) { ); } +async function listByNamespaceDTAjax(context, params, namespaceId) { + return await dtHelpers.ajaxListWithPermissions( + context, + [{ entityTypeId: 'template', requiredOperations: ['view'] }], + params, + builder => builder.from('templates').innerJoin('namespaces', 'namespaces.id', 'templates.namespace').where('namespaces.id', namespaceId), + [ 'templates.id', 'templates.name', 'templates.description', 'templates.type', 'templates.created', 'namespaces.name' ] + ); +} + async function _validateAndPreprocess(tx, entity) { await namespaceHelpers.validateEntity(tx, entity); @@ -135,6 +145,7 @@ module.exports.hash = hash; module.exports.getByIdTx = getByIdTx; module.exports.getById = getById; module.exports.listDTAjax = listDTAjax; +module.exports.listByNamespaceDTAjax = listByNamespaceDTAjax; module.exports.create = create; module.exports.updateWithConsistencyCheck = updateWithConsistencyCheck; module.exports.remove = remove; diff --git a/server/routes/rest/templates.js b/server/routes/rest/templates.js index 216b065f..0483d9c9 100644 --- a/server/routes/rest/templates.js +++ b/server/routes/rest/templates.js @@ -35,6 +35,10 @@ router.postAsync('/templates-table', passport.loggedIn, async (req, res) => { return res.json(await templates.listDTAjax(req.context, req.body)); }); +router.postAsync('/templates-table-byNamespace/:namespaceId', passport.loggedIn, async (req, res) => { + return res.json(await templates.listByNamespaceDTAjax(req.context, req.body, castToInteger(req.params.namespaceId))); +}); + router.postAsync('/template-test-send', passport.loggedIn, passport.csrfProtection, async (req, res) => { const data = req.body; const result = await CampaignSender.testSend(req.context, data.listCid, data.subscriptionCid, data.campaignId, data.sendConfigurationId, data.html, data.text); From b583df7e2f2dc6534cca59ce54cd103630c7c677 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 20 Mar 2019 08:58:46 +0100 Subject: [PATCH 17/18] fix --- d | 706 -------------------------------------------------------------- 1 file changed, 706 deletions(-) delete mode 100644 d diff --git a/d b/d deleted file mode 100644 index e5af7425..00000000 --- a/d +++ /dev/null @@ -1,706 +0,0 @@ -sd-resolv 719 832 systemd-timesync 11r a_inode 0,13 0 10773 inotify -gmain 840 1874 root 6r a_inode 0,13 0 10773 inotify -gmain 856 906 root 10r a_inode 0,13 0 10773 inotify -gmain 856 906 root 12r a_inode 0,13 0 10773 inotify -gdbus 856 908 root 10r a_inode 0,13 0 10773 inotify -gdbus 856 908 root 12r a_inode 0,13 0 10773 inotify -probing-t 856 1068 root 10r a_inode 0,13 0 10773 inotify -probing-t 856 1068 root 12r a_inode 0,13 0 10773 inotify -cleanup 856 1097 root 10r a_inode 0,13 0 10773 inotify -cleanup 856 1097 root 12r a_inode 0,13 0 10773 inotify -gmain 860 898 root 7r a_inode 0,13 0 10773 inotify -gdbus 860 910 root 7r a_inode 0,13 0 10773 inotify -gmain 953 1029 root 8r a_inode 0,13 0 10773 inotify -gmain 953 1029 root 9r a_inode 0,13 0 10773 inotify -gdbus 953 1035 root 8r a_inode 0,13 0 10773 inotify -gdbus 953 1035 root 9r a_inode 0,13 0 10773 inotify -gmain 1121 1144 root 10r a_inode 0,13 0 10773 inotify -gmain 1121 1144 root 11r a_inode 0,13 0 10773 inotify -gdbus 1121 1152 root 10r a_inode 0,13 0 10773 inotify -gdbus 1121 1152 root 11r a_inode 0,13 0 10773 inotify -QXcbEvent 2057 2302 carlos 9r a_inode 0,13 0 10773 inotify -QDBusConn 2057 2311 carlos 9r a_inode 0,13 0 10773 inotify -QXcbEvent 2231 2232 carlos 13r a_inode 0,13 0 10773 inotify -QDBusConn 2231 2233 carlos 13r a_inode 0,13 0 10773 inotify -QXcbEvent 2234 2237 carlos 8r a_inode 0,13 0 10773 inotify -QXcbEvent 2234 2237 carlos 17r a_inode 0,13 0 10773 inotify -QDBusConn 2234 2239 carlos 8r a_inode 0,13 0 10773 inotify -QDBusConn 2234 2239 carlos 17r a_inode 0,13 0 10773 inotify -gmain 2234 2277 carlos 8r a_inode 0,13 0 10773 inotify -gmain 2234 2277 carlos 17r a_inode 0,13 0 10773 inotify -gdbus 2234 2278 carlos 8r a_inode 0,13 0 10773 inotify -gdbus 2234 2278 carlos 17r a_inode 0,13 0 10773 inotify -Qt\x20bea 2234 2480 carlos 8r a_inode 0,13 0 10773 inotify -Qt\x20bea 2234 2480 carlos 17r a_inode 0,13 0 10773 inotify -QXcbEvent 2259 2266 carlos 11r a_inode 0,13 0 10773 inotify -QDBusConn 2259 2267 carlos 11r a_inode 0,13 0 10773 inotify -QThread 2259 2268 carlos 11r a_inode 0,13 0 10773 inotify -QThread 2259 2269 carlos 11r a_inode 0,13 0 10773 inotify -QThread 2259 2270 carlos 11r a_inode 0,13 0 10773 inotify -QXcbEvent 2283 2321 carlos 10r a_inode 0,13 0 10773 inotify -QXcbEvent 2283 2321 carlos 26r a_inode 0,13 0 10773 inotify -QDBusConn 2283 2346 carlos 10r a_inode 0,13 0 10773 inotify -QDBusConn 2283 2346 carlos 26r a_inode 0,13 0 10773 inotify -QQmlThrea 2283 2371 carlos 10r a_inode 0,13 0 10773 inotify -QQmlThrea 2283 2371 carlos 26r a_inode 0,13 0 10773 inotify -kwin_x11 2283 2421 carlos 10r a_inode 0,13 0 10773 inotify -kwin_x11 2283 2421 carlos 26r a_inode 0,13 0 10773 inotify -QDBusConn 2286 2300 carlos 11r a_inode 0,13 0 10773 inotify -QDBusConn 2286 2300 carlos 14r a_inode 0,13 0 10773 inotify -QXcbEvent 2288 2299 carlos 18r a_inode 0,13 0 10773 inotify -QDBusConn 2288 2307 carlos 18r a_inode 0,13 0 10773 inotify -QQmlThrea 2288 2370 carlos 18r a_inode 0,13 0 10773 inotify -QXcbEvent 2290 2308 carlos 9r a_inode 0,13 0 10773 inotify -QXcbEvent 2290 2308 carlos 24r a_inode 0,13 0 10773 inotify -QDBusConn 2290 2345 carlos 9r a_inode 0,13 0 10773 inotify -QDBusConn 2290 2345 carlos 24r a_inode 0,13 0 10773 inotify -QQmlThrea 2290 2368 carlos 9r a_inode 0,13 0 10773 inotify -QQmlThrea 2290 2368 carlos 24r a_inode 0,13 0 10773 inotify -plasmashe 2290 2404 carlos 9r a_inode 0,13 0 10773 inotify -plasmashe 2290 2404 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 2588 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 2588 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 2905 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 2905 carlos 24r a_inode 0,13 0 10773 inotify -QQuickPix 2290 2914 carlos 9r a_inode 0,13 0 10773 inotify -QQuickPix 2290 2914 carlos 24r a_inode 0,13 0 10773 inotify -KCupsConn 2290 3117 carlos 9r a_inode 0,13 0 10773 inotify -KCupsConn 2290 3117 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 3283 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 3283 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 3607 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 3607 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 4001 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 4001 carlos 24r a_inode 0,13 0 10773 inotify -QSGRender 2290 5805 carlos 9r a_inode 0,13 0 10773 inotify -QSGRender 2290 5805 carlos 24r a_inode 0,13 0 10773 inotify -Thread 2290 15889 carlos 9r a_inode 0,13 0 10773 inotify -Thread 2290 15889 carlos 24r a_inode 0,13 0 10773 inotify -alsa-sink 2325 2927 carlos 7r a_inode 0,13 0 10773 inotify -alsa-sink 2325 2927 carlos 14r a_inode 0,13 0 10773 inotify -alsa-sink 2325 2927 carlos 33r a_inode 0,13 0 10773 inotify -alsa-sour 2325 2928 carlos 7r a_inode 0,13 0 10773 inotify -alsa-sour 2325 2928 carlos 14r a_inode 0,13 0 10773 inotify -alsa-sour 2325 2928 carlos 33r a_inode 0,13 0 10773 inotify -snapd-gli 2325 2941 carlos 7r a_inode 0,13 0 10773 inotify -snapd-gli 2325 2941 carlos 14r a_inode 0,13 0 10773 inotify -snapd-gli 2325 2941 carlos 33r a_inode 0,13 0 10773 inotify -QXcbEvent 2361 2363 carlos 15r a_inode 0,13 0 10773 inotify -QXcbEvent 2361 2363 carlos 17r a_inode 0,13 0 10773 inotify -QDBusConn 2361 2364 carlos 15r a_inode 0,13 0 10773 inotify -QDBusConn 2361 2364 carlos 17r a_inode 0,13 0 10773 inotify -gmain 2361 2366 carlos 15r a_inode 0,13 0 10773 inotify -gmain 2361 2366 carlos 17r a_inode 0,13 0 10773 inotify -gdbus 2361 2367 carlos 15r a_inode 0,13 0 10773 inotify -gdbus 2361 2367 carlos 17r a_inode 0,13 0 10773 inotify -QXcbEvent 2365 2369 carlos 14r a_inode 0,13 0 10773 inotify -QDBusConn 2365 2373 carlos 14r a_inode 0,13 0 10773 inotify -Gecko_IOT 2372 2406 carlos 82r a_inode 0,13 0 10773 inotify -Gecko_IOT 2372 2406 carlos 218r a_inode 0,13 0 10773 inotify -Gecko_IOT 2372 2406 carlos 219r a_inode 0,13 0 10773 inotify -Gecko_IOT 2372 2406 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Wat 2372 2408 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Wat 2372 2408 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Wat 2372 2408 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Wat 2372 2408 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2410 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2410 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2410 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2410 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2411 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2411 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2411 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2411 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2412 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2412 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2412 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2412 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2413 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2413 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2413 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2413 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2414 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2414 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2414 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2414 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2415 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2415 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2415 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2415 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2416 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2416 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2416 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2416 carlos 220r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2417 carlos 82r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2417 carlos 218r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2417 carlos 219r a_inode 0,13 0 10773 inotify -JS\x20Hel 2372 2417 carlos 220r a_inode 0,13 0 10773 inotify -Timer 2372 2418 carlos 82r a_inode 0,13 0 10773 inotify -Timer 2372 2418 carlos 218r a_inode 0,13 0 10773 inotify -Timer 2372 2418 carlos 219r a_inode 0,13 0 10773 inotify -Timer 2372 2418 carlos 220r a_inode 0,13 0 10773 inotify -Link\x20M 2372 2419 carlos 82r a_inode 0,13 0 10773 inotify -Link\x20M 2372 2419 carlos 218r a_inode 0,13 0 10773 inotify -Link\x20M 2372 2419 carlos 219r a_inode 0,13 0 10773 inotify -Link\x20M 2372 2419 carlos 220r a_inode 0,13 0 10773 inotify -Socket 2372 2420 carlos 82r a_inode 0,13 0 10773 inotify -Socket 2372 2420 carlos 218r a_inode 0,13 0 10773 inotify -Socket 2372 2420 carlos 219r a_inode 0,13 0 10773 inotify -Socket 2372 2420 carlos 220r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2422 carlos 82r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2422 carlos 218r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2422 carlos 219r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2422 carlos 220r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2423 carlos 82r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2423 carlos 218r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2423 carlos 219r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2423 carlos 220r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2424 carlos 82r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2424 carlos 218r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2424 carlos 219r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2424 carlos 220r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2425 carlos 82r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2425 carlos 218r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2425 carlos 219r a_inode 0,13 0 10773 inotify -AudioIPC 2372 2425 carlos 220r a_inode 0,13 0 10773 inotify -Cache2 2372 2455 carlos 82r a_inode 0,13 0 10773 inotify -Cache2 2372 2455 carlos 218r a_inode 0,13 0 10773 inotify -Cache2 2372 2455 carlos 219r a_inode 0,13 0 10773 inotify -Cache2 2372 2455 carlos 220r a_inode 0,13 0 10773 inotify -Cookie 2372 2456 carlos 82r a_inode 0,13 0 10773 inotify -Cookie 2372 2456 carlos 218r a_inode 0,13 0 10773 inotify -Cookie 2372 2456 carlos 219r a_inode 0,13 0 10773 inotify -Cookie 2372 2456 carlos 220r a_inode 0,13 0 10773 inotify -GMPThread 2372 2467 carlos 82r a_inode 0,13 0 10773 inotify -GMPThread 2372 2467 carlos 218r a_inode 0,13 0 10773 inotify -GMPThread 2372 2467 carlos 219r a_inode 0,13 0 10773 inotify -GMPThread 2372 2467 carlos 220r a_inode 0,13 0 10773 inotify -Worker 2372 2468 carlos 82r a_inode 0,13 0 10773 inotify -Worker 2372 2468 carlos 218r a_inode 0,13 0 10773 inotify -Worker 2372 2468 carlos 219r a_inode 0,13 0 10773 inotify -Worker 2372 2468 carlos 220r a_inode 0,13 0 10773 inotify -Softwar~c 2372 2477 carlos 82r a_inode 0,13 0 10773 inotify -Softwar~c 2372 2477 carlos 218r a_inode 0,13 0 10773 inotify -Softwar~c 2372 2477 carlos 219r a_inode 0,13 0 10773 inotify -Softwar~c 2372 2477 carlos 220r a_inode 0,13 0 10773 inotify -Composito 2372 2478 carlos 82r a_inode 0,13 0 10773 inotify -Composito 2372 2478 carlos 218r a_inode 0,13 0 10773 inotify -Composito 2372 2478 carlos 219r a_inode 0,13 0 10773 inotify -Composito 2372 2478 carlos 220r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2485 carlos 82r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2485 carlos 218r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2485 carlos 219r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2485 carlos 220r a_inode 0,13 0 10773 inotify -ImageIO 2372 2486 carlos 82r a_inode 0,13 0 10773 inotify -ImageIO 2372 2486 carlos 218r a_inode 0,13 0 10773 inotify -ImageIO 2372 2486 carlos 219r a_inode 0,13 0 10773 inotify -ImageIO 2372 2486 carlos 220r a_inode 0,13 0 10773 inotify -gmain 2372 2498 carlos 82r a_inode 0,13 0 10773 inotify -gmain 2372 2498 carlos 218r a_inode 0,13 0 10773 inotify -gmain 2372 2498 carlos 219r a_inode 0,13 0 10773 inotify -gmain 2372 2498 carlos 220r a_inode 0,13 0 10773 inotify -ImageBr~g 2372 2504 carlos 82r a_inode 0,13 0 10773 inotify -ImageBr~g 2372 2504 carlos 218r a_inode 0,13 0 10773 inotify -ImageBr~g 2372 2504 carlos 219r a_inode 0,13 0 10773 inotify -ImageBr~g 2372 2504 carlos 220r a_inode 0,13 0 10773 inotify -IPDL\x20B 2372 2505 carlos 82r a_inode 0,13 0 10773 inotify -IPDL\x20B 2372 2505 carlos 218r a_inode 0,13 0 10773 inotify -IPDL\x20B 2372 2505 carlos 219r a_inode 0,13 0 10773 inotify -IPDL\x20B 2372 2505 carlos 220r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2506 carlos 82r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2506 carlos 218r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2506 carlos 219r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2506 carlos 220r a_inode 0,13 0 10773 inotify -HTML5\x20 2372 2508 carlos 82r a_inode 0,13 0 10773 inotify -HTML5\x20 2372 2508 carlos 218r a_inode 0,13 0 10773 inotify -HTML5\x20 2372 2508 carlos 219r a_inode 0,13 0 10773 inotify -HTML5\x20 2372 2508 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2527 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2527 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2527 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2527 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2528 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2528 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2528 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2528 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2529 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2529 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2529 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2529 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2530 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2530 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2530 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2530 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2531 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2531 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2531 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2531 carlos 220r a_inode 0,13 0 10773 inotify -StyleThre 2372 2532 carlos 82r a_inode 0,13 0 10773 inotify -StyleThre 2372 2532 carlos 218r a_inode 0,13 0 10773 inotify -StyleThre 2372 2532 carlos 219r a_inode 0,13 0 10773 inotify -StyleThre 2372 2532 carlos 220r a_inode 0,13 0 10773 inotify -gdbus 2372 2535 carlos 82r a_inode 0,13 0 10773 inotify -gdbus 2372 2535 carlos 218r a_inode 0,13 0 10773 inotify -gdbus 2372 2535 carlos 219r a_inode 0,13 0 10773 inotify -gdbus 2372 2535 carlos 220r a_inode 0,13 0 10773 inotify -firefox 2372 2544 carlos 82r a_inode 0,13 0 10773 inotify -firefox 2372 2544 carlos 218r a_inode 0,13 0 10773 inotify -firefox 2372 2544 carlos 219r a_inode 0,13 0 10773 inotify -firefox 2372 2544 carlos 220r a_inode 0,13 0 10773 inotify -firefox 2372 2545 carlos 82r a_inode 0,13 0 10773 inotify -firefox 2372 2545 carlos 218r a_inode 0,13 0 10773 inotify -firefox 2372 2545 carlos 219r a_inode 0,13 0 10773 inotify -firefox 2372 2545 carlos 220r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2574 carlos 82r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2574 carlos 218r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2574 carlos 219r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2574 carlos 220r a_inode 0,13 0 10773 inotify -ProcessHa 2372 2582 carlos 82r a_inode 0,13 0 10773 inotify -ProcessHa 2372 2582 carlos 218r a_inode 0,13 0 10773 inotify -ProcessHa 2372 2582 carlos 219r a_inode 0,13 0 10773 inotify -ProcessHa 2372 2582 carlos 220r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2837 carlos 82r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2837 carlos 218r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2837 carlos 219r a_inode 0,13 0 10773 inotify -ImgDecode 2372 2837 carlos 220r a_inode 0,13 0 10773 inotify -DataStora 2372 2904 carlos 82r a_inode 0,13 0 10773 inotify -DataStora 2372 2904 carlos 218r a_inode 0,13 0 10773 inotify -DataStora 2372 2904 carlos 219r a_inode 0,13 0 10773 inotify -DataStora 2372 2904 carlos 220r a_inode 0,13 0 10773 inotify -dconf\x20 2372 2906 carlos 82r a_inode 0,13 0 10773 inotify -dconf\x20 2372 2906 carlos 218r a_inode 0,13 0 10773 inotify -dconf\x20 2372 2906 carlos 219r a_inode 0,13 0 10773 inotify -dconf\x20 2372 2906 carlos 220r a_inode 0,13 0 10773 inotify -URL\x20Cl 2372 2907 carlos 82r a_inode 0,13 0 10773 inotify -URL\x20Cl 2372 2907 carlos 218r a_inode 0,13 0 10773 inotify -URL\x20Cl 2372 2907 carlos 219r a_inode 0,13 0 10773 inotify -URL\x20Cl 2372 2907 carlos 220r a_inode 0,13 0 10773 inotify -Classif~ 2372 2909 carlos 82r a_inode 0,13 0 10773 inotify -Classif~ 2372 2909 carlos 218r a_inode 0,13 0 10773 inotify -Classif~ 2372 2909 carlos 219r a_inode 0,13 0 10773 inotify -Classif~ 2372 2909 carlos 220r a_inode 0,13 0 10773 inotify -Cache\x20 2372 2910 carlos 82r a_inode 0,13 0 10773 inotify -Cache\x20 2372 2910 carlos 218r a_inode 0,13 0 10773 inotify -Cache\x20 2372 2910 carlos 219r a_inode 0,13 0 10773 inotify -Cache\x20 2372 2910 carlos 220r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2926 carlos 82r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2926 carlos 218r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2926 carlos 219r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 2926 carlos 220r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2958 carlos 82r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2958 carlos 218r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2958 carlos 219r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 2958 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 2970 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 2970 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 2970 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 2970 carlos 220r a_inode 0,13 0 10773 inotify -localStor 2372 2998 carlos 82r a_inode 0,13 0 10773 inotify -localStor 2372 2998 carlos 218r a_inode 0,13 0 10773 inotify -localStor 2372 2998 carlos 219r a_inode 0,13 0 10773 inotify -localStor 2372 2998 carlos 220r a_inode 0,13 0 10773 inotify -QuotaMana 2372 3001 carlos 82r a_inode 0,13 0 10773 inotify -QuotaMana 2372 3001 carlos 218r a_inode 0,13 0 10773 inotify -QuotaMana 2372 3001 carlos 219r a_inode 0,13 0 10773 inotify -QuotaMana 2372 3001 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 3021 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 3021 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 3021 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 3021 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 3026 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 3026 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 3026 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 3026 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 3027 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 3027 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 3027 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 3027 carlos 220r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3037 carlos 82r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3037 carlos 218r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3037 carlos 219r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3037 carlos 220r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 3125 carlos 82r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 3125 carlos 218r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 3125 carlos 219r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 3125 carlos 220r a_inode 0,13 0 10773 inotify -SaveScrip 2372 3187 carlos 82r a_inode 0,13 0 10773 inotify -SaveScrip 2372 3187 carlos 218r a_inode 0,13 0 10773 inotify -SaveScrip 2372 3187 carlos 219r a_inode 0,13 0 10773 inotify -SaveScrip 2372 3187 carlos 220r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3879 carlos 82r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3879 carlos 218r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3879 carlos 219r a_inode 0,13 0 10773 inotify -DOM\x20Wo 2372 3879 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 4013 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 4013 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 4013 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 4013 carlos 220r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4028 carlos 82r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4028 carlos 218r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4028 carlos 219r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4028 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 4039 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 4039 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 4039 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 4039 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 4684 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 4684 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 4684 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 4684 carlos 220r a_inode 0,13 0 10773 inotify -VideoCapt 2372 4782 carlos 82r a_inode 0,13 0 10773 inotify -VideoCapt 2372 4782 carlos 218r a_inode 0,13 0 10773 inotify -VideoCapt 2372 4782 carlos 219r a_inode 0,13 0 10773 inotify -VideoCapt 2372 4782 carlos 220r a_inode 0,13 0 10773 inotify -InotifyEv 2372 4783 carlos 82r a_inode 0,13 0 10773 inotify -InotifyEv 2372 4783 carlos 218r a_inode 0,13 0 10773 inotify -InotifyEv 2372 4783 carlos 219r a_inode 0,13 0 10773 inotify -InotifyEv 2372 4783 carlos 220r a_inode 0,13 0 10773 inotify -threaded- 2372 4788 carlos 82r a_inode 0,13 0 10773 inotify -threaded- 2372 4788 carlos 218r a_inode 0,13 0 10773 inotify -threaded- 2372 4788 carlos 219r a_inode 0,13 0 10773 inotify -threaded- 2372 4788 carlos 220r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4793 carlos 82r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4793 carlos 218r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4793 carlos 219r a_inode 0,13 0 10773 inotify -FS\x20Bro 2372 4793 carlos 220r a_inode 0,13 0 10773 inotify -speechd 2372 5779 carlos 82r a_inode 0,13 0 10773 inotify -speechd 2372 5779 carlos 218r a_inode 0,13 0 10773 inotify -speechd 2372 5779 carlos 219r a_inode 0,13 0 10773 inotify -speechd 2372 5779 carlos 220r a_inode 0,13 0 10773 inotify -mozStorag 2372 8044 carlos 82r a_inode 0,13 0 10773 inotify -mozStorag 2372 8044 carlos 218r a_inode 0,13 0 10773 inotify -mozStorag 2372 8044 carlos 219r a_inode 0,13 0 10773 inotify -mozStorag 2372 8044 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14360 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14360 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14360 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14360 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14470 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14470 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14470 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 14470 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15156 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15156 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15156 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15156 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15158 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15158 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15158 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15158 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15187 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15187 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15187 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15187 carlos 220r a_inode 0,13 0 10773 inotify -IndexedDB 2372 15819 carlos 82r a_inode 0,13 0 10773 inotify -IndexedDB 2372 15819 carlos 218r a_inode 0,13 0 10773 inotify -IndexedDB 2372 15819 carlos 219r a_inode 0,13 0 10773 inotify -IndexedDB 2372 15819 carlos 220r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15886 carlos 82r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15886 carlos 218r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15886 carlos 219r a_inode 0,13 0 10773 inotify -DNS\x20Re 2372 15886 carlos 220r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15887 carlos 82r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15887 carlos 218r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15887 carlos 219r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15887 carlos 220r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15888 carlos 82r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15888 carlos 218r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15888 carlos 219r a_inode 0,13 0 10773 inotify -SSL\x20Ce 2372 15888 carlos 220r a_inode 0,13 0 10773 inotify -gmain 2562 2652 whoopsie 4r a_inode 0,13 0 10773 inotify -gdbus 2562 2653 whoopsie 4r a_inode 0,13 0 10773 inotify -sandbox_i 7475 7476 root 51r a_inode 0,13 0 10773 inotify -sandbox_i 7475 7476 root 74r a_inode 0,13 0 10773 inotify -sandbox_i 7475 7476 root 104r a_inode 0,13 0 10773 inotify -code 7475 7478 root 51r a_inode 0,13 0 10773 inotify -code 7475 7478 root 74r a_inode 0,13 0 10773 inotify -code 7475 7478 root 104r a_inode 0,13 0 10773 inotify -code 7475 7479 root 51r a_inode 0,13 0 10773 inotify -code 7475 7479 root 74r a_inode 0,13 0 10773 inotify -code 7475 7479 root 104r a_inode 0,13 0 10773 inotify -code 7475 7480 root 51r a_inode 0,13 0 10773 inotify -code 7475 7480 root 74r a_inode 0,13 0 10773 inotify -code 7475 7480 root 104r a_inode 0,13 0 10773 inotify -code 7475 7481 root 51r a_inode 0,13 0 10773 inotify -code 7475 7481 root 74r a_inode 0,13 0 10773 inotify -code 7475 7481 root 104r a_inode 0,13 0 10773 inotify -code 7475 7482 root 51r a_inode 0,13 0 10773 inotify -code 7475 7482 root 74r a_inode 0,13 0 10773 inotify -code 7475 7482 root 104r a_inode 0,13 0 10773 inotify -code 7475 7483 root 51r a_inode 0,13 0 10773 inotify -code 7475 7483 root 74r a_inode 0,13 0 10773 inotify -code 7475 7483 root 104r a_inode 0,13 0 10773 inotify -code 7475 7484 root 51r a_inode 0,13 0 10773 inotify -code 7475 7484 root 74r a_inode 0,13 0 10773 inotify -code 7475 7484 root 104r a_inode 0,13 0 10773 inotify -code 7475 7485 root 51r a_inode 0,13 0 10773 inotify -code 7475 7485 root 74r a_inode 0,13 0 10773 inotify -code 7475 7485 root 104r a_inode 0,13 0 10773 inotify -Chrome_IO 7475 7486 root 51r a_inode 0,13 0 10773 inotify -Chrome_IO 7475 7486 root 74r a_inode 0,13 0 10773 inotify -Chrome_IO 7475 7486 root 104r a_inode 0,13 0 10773 inotify -NetworkCh 7475 7487 root 51r a_inode 0,13 0 10773 inotify -NetworkCh 7475 7487 root 74r a_inode 0,13 0 10773 inotify -NetworkCh 7475 7487 root 104r a_inode 0,13 0 10773 inotify -D-Bus\x20 7475 7488 root 51r a_inode 0,13 0 10773 inotify -D-Bus\x20 7475 7488 root 74r a_inode 0,13 0 10773 inotify -D-Bus\x20 7475 7488 root 104r a_inode 0,13 0 10773 inotify -CrShutdow 7475 7489 root 51r a_inode 0,13 0 10773 inotify -CrShutdow 7475 7489 root 74r a_inode 0,13 0 10773 inotify -CrShutdow 7475 7489 root 104r a_inode 0,13 0 10773 inotify -inotify_r 7475 7490 root cwd DIR 8,6 4096 3670017 /home/carlos -inotify_r 7475 7490 root rtd DIR 8,7 4096 2 / -inotify_r 7475 7490 root txt REG 8,7 81445432 448945 /usr/share/code/code -inotify_r 7475 7490 root DEL REG 0,25 157 /dev/shm/.org.chromium.Chromium.MDz30g -inotify_r 7475 7490 root DEL REG 0,25 166 /dev/shm/.org.chromium.Chromium.nHrjum -inotify_r 7475 7490 root mem REG 8,7 757076 664208 /usr/share/fonts/truetype/dejavu/DejaVuSans.ttf -inotify_r 7475 7490 root mem REG 8,7 455164 664387 /usr/share/fonts/truetype/noto/NotoSans-Bold.ttf -inotify_r 7475 7490 root mem REG 8,7 455188 664390 /usr/share/fonts/truetype/noto/NotoSans-Regular.ttf -inotify_r 7475 7490 root DEL REG 0,5 2293771 /SYSV00000000 -inotify_r 7475 7490 root mem REG 8,7 26904112 404283 /usr/lib/x86_64-linux-gnu/libicudata.so.60.2 -inotify_r 7475 7490 root mem REG 8,7 1792008 404293 /usr/lib/x86_64-linux-gnu/libicuuc.so.60.2 -inotify_r 7475 7490 root mem REG 8,7 1727736 405206 /usr/lib/x86_64-linux-gnu/libxml2.so.2.9.4 -inotify_r 7475 7490 root mem REG 8,7 239712 403869 /usr/lib/x86_64-linux-gnu/libcroco-0.6.so.3.0.1 -inotify_r 7475 7490 root mem REG 8,7 14256 529788 /lib/x86_64-linux-gnu/libnss_mdns4_minimal.so.2 -inotify_r 7475 7490 root mem REG 8,7 340712 664216 /usr/share/fonts/truetype/dejavu/DejaVuSansMono.ttf -inotify_r 7475 7490 root mem REG 8,7 227448 404821 /usr/lib/x86_64-linux-gnu/librsvg-2.so.2.40.20 -inotify_r 7475 7490 root mem REG 8,7 151084 699411 /usr/share/mime/mime.cache -inotify_r 7475 7490 root DEL REG 0,25 141 /dev/shm/.org.chromium.Chromium.c0i9pm -inotify_r 7475 7490 root mem REG 8,7 26936 529780 /lib/x86_64-linux-gnu/libnss_dns-2.28.so -inotify_r 7475 7490 root mem REG 8,7 55768 529782 /lib/x86_64-linux-gnu/libnss_files-2.28.so -inotify_r 7475 7490 root DEL REG 0,25 49 /dev/shm/.org.chromium.Chromium.FWWJNG -inotify_r 7475 7490 root DEL REG 0,25 48 /dev/shm/.org.chromium.Chromium.uzDSgg -inotify_r 7475 7490 root mem REG 8,7 155496 405204 /usr/lib/x86_64-linux-gnu/libxkbfile.so.1.0.2 -inotify_r 7475 7490 root mem REG 8,7 44712 447965 /usr/share/code/resources/app/node_modules.asar.unpacked/native-keymap/build/Release/keymapping.node -inotify_r 7475 7490 root mem REG 8,6 262512 3804367 /home/carlos/=/GPUCache/index -inotify_r 7475 7490 root mem REG 8,7 1679638 447961 /usr/share/code/resources/app/node_modules.asar.unpacked/vscode-sqlite3/build/Release/sqlite.node -inotify_r 7475 7490 root mem REG 8,7 294459 447969 /usr/share/code/resources/app/node_modules.asar.unpacked/spdlog/build/Release/spdlog.node -inotify_r 7475 7490 root mem REG 8,7 125128 529700 /lib/x86_64-linux-gnu/libudev.so.1.6.11 -inotify_r 7475 7490 root DEL REG 0,25 64 /dev/shm/.org.chromium.Chromium.1JhSrW -inotify_r 7475 7490 root mem REG 8,7 30672 131856 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-png.so -inotify_r 7475 7490 root mem REG 8,6 1019 3670824 /home/carlos/.config/dconf/user -inotify_r 7475 7490 root mem REG 8,6 2 3803222 /home/carlos/.cache/dconf/user -inotify_r 7475 7490 root mem REG 8,7 36733 661064 /usr/share/glib-2.0/schemas/gschemas.compiled -inotify_r 7475 7490 root mem REG 8,7 14208 131859 /usr/lib/x86_64-linux-gnu/gdk-pixbuf-2.0/2.10.0/loaders/libpixbufloader-svg.so -inotify_r 7475 7490 root mem REG 8,7 12764 133063 /usr/share/icons/hicolor/icon-theme.cache -inotify_r 7475 7490 root mem REG 8,7 548600 132050 /usr/lib/x86_64-linux-gnu/nss/libnssckbi.so -inotify_r 7475 7490 root mem REG 8,7 575920 132049 /usr/lib/x86_64-linux-gnu/nss/libfreeblpriv3.so -inotify_r 7475 7490 root DEL REG 0,5 91171 /memfd:pulseaudio -inotify_r 7475 7490 root mem REG 8,7 690288 405055 /usr/lib/x86_64-linux-gnu/libvorbisenc.so.2.0.11 -inotify_r 7475 7490 root mem REG 8,7 174360 405053 /usr/lib/x86_64-linux-gnu/libvorbis.so.0.4.8 -inotify_r 7475 7490 root mem REG 8,7 34624 404624 /usr/lib/x86_64-linux-gnu/libogg.so.0.8.2 -inotify_r 7475 7490 root mem REG 8,7 485312 403068 /usr/lib/x86_64-linux-gnu/libFLAC.so.8.3.0 -inotify_r 7475 7490 root mem REG 8,7 97176 529776 /lib/x86_64-linux-gnu/libnsl-2.28.so -inotify_r 7475 7490 root mem REG 8,7 22368 403724 /usr/lib/x86_64-linux-gnu/libasyncns.so.0.3.1 -inotify_r 7475 7490 root mem REG 8,7 487504 404899 /usr/lib/x86_64-linux-gnu/libsndfile.so.1.0.28 -inotify_r 7475 7490 root mem REG 8,7 39784 529861 /lib/x86_64-linux-gnu/libwrap.so.0.7.6 -inotify_r 7475 7490 root mem REG 8,7 518312 133615 /usr/lib/x86_64-linux-gnu/pulseaudio/libpulsecommon-12.2.so -inotify_r 7475 7490 root mem REG 8,7 326544 404759 /usr/lib/x86_64-linux-gnu/libpulse.so.0.20.3 -inotify_r 7475 7490 root mem REG 8,7 1103160 404922 /usr/lib/x86_64-linux-gnu/libsqlite3.so.0.8.6 -inotify_r 7475 7490 root mem REG 8,6 20480 3804447 /home/carlos/=/Cookies -inotify_r 7475 7490 root DEL REG 0,25 47 /dev/shm/.org.chromium.Chromium.rh83JP -inotify_r 7475 7490 root DEL REG 0,25 117 /dev/shm/.org.chromium.Chromium.SLDDYI -inotify_r 7475 7490 root DEL REG 0,25 108 /dev/shm/.org.chromium.Chromium.FQUF30 -inotify_r 7475 7490 root mem REG 8,6 4202496 3804371 /home/carlos/=/GPUCache/data_3 -inotify_r 7475 7490 root mem REG 8,6 8192 3804370 /home/carlos/=/GPUCache/data_2 -inotify_r 7475 7490 root mem REG 8,6 270336 3804369 /home/carlos/=/GPUCache/data_1 -inotify_r 7475 7490 root mem REG 8,6 45056 3804368 /home/carlos/=/GPUCache/data_0 -inotify_r 7475 7490 root DEL REG 0,25 106 /dev/shm/.org.chromium.Chromium.mWXXtM -inotify_r 7475 7490 root mem REG 8,7 69361 433105 /usr/share/locale-langpack/es/LC_MESSAGES/pulseaudio.mo -inotify_r 7475 7490 root mem REG 8,7 278616 132056 /usr/lib/x86_64-linux-gnu/nss/libsoftokn3.so -inotify_r 7475 7490 root mem REG 8,7 56870 447793 /usr/share/code/views_resources_200_percent.pak -inotify_r 7475 7490 root mem REG 8,7 112102 448950 /usr/share/code/ui_resources_200_percent.pak -inotify_r 7475 7490 root mem REG 8,7 18 449010 /usr/share/code/content_resources_200_percent.pak -inotify_r 7475 7490 root mem REG 8,7 4214 449008 /usr/share/code/blink_image_resources_200_percent.pak -inotify_r 7475 7490 root mem REG 8,7 7474760 449007 /usr/share/code/content_shell.pak -inotify_r 7475 7490 root mem REG 8,7 4407 448998 /usr/share/code/locales/es.pak -inotify_r 7475 7490 root mem REG 8,7 1792 706382 /var/cache/fontconfig/de287bd4-e899-49ad-8f70-2ef391667b8a-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 46128 706342 /var/cache/fontconfig/6177020d-b63c-48e3-934e-b1ec279d7480-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 21032 706339 /var/cache/fontconfig/5af57dc5-c4f9-4bd1-90bc-9461fcbe24ab-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 3520 706335 /var/cache/fontconfig/48287246-e3ba-4dd5-97a1-8679848c4f5d-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 87624 706315 /var/cache/fontconfig/1350392a-9247-4b38-a27b-ba6ece6be33c-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 3200 706363 /var/cache/fontconfig/9602ac2e-8d88-4f70-a86e-7e4c36b23291-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1688 706374 /var/cache/fontconfig/c0d402f4-eeba-4249-aebe-7ce0ed684883-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 4792 706341 /var/cache/fontconfig/616d3f38-39f8-4c55-8976-fd7c81d932e0-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1792 706345 /var/cache/fontconfig/63c3cb3b-7357-4adf-881d-bcdef3e093ec-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1960 706319 /var/cache/fontconfig/1fb97fd5-8c26-44cf-babc-5245b25139c1-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 6280 706313 /var/cache/fontconfig/09ee322c-932a-4637-9735-ebf04e17e1c6-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 5392 706333 /var/cache/fontconfig/3f61fd42-ecad-4336-b593-d3a29d660231-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 2416 678996 /var/cache/fontconfig/733f8c13-c43b-4f37-8600-571f6f63e86b-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 319544 706324 /var/cache/fontconfig/2a19b6a8-b3fe-45fa-bf68-333f99c9c95d-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 18120 706372 /var/cache/fontconfig/bbcf5766-a38c-4548-851b-c99687a6af95-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1864 706364 /var/cache/fontconfig/9ab8762b-623f-430b-bb22-75d3bb4f345e-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1904 706312 /var/cache/fontconfig/04394cb3-22d4-4fa1-9104-2c2005f371b4-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1968 706366 /var/cache/fontconfig/9b9eda0e-c8aa-4d9b-ad06-01b075677694-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1872 706329 /var/cache/fontconfig/38421501-5acc-41fc-8d8c-60a8095d506a-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1784 706356 /var/cache/fontconfig/7e5f268e-ab5d-4938-a6c4-e0981b26648d-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1800 706330 /var/cache/fontconfig/384ae213-996b-4f68-8137-dabe5df3a1b6-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1792 706362 /var/cache/fontconfig/930f6203-97f7-4601-b07e-d0babfcb3dcc-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1880 706354 /var/cache/fontconfig/79bb0b26-94d7-4a9e-b708-b1d732becf4e-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 2128 706348 /var/cache/fontconfig/6d288841-7711-45e3-9c9e-df0a0690df90-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1792 706350 /var/cache/fontconfig/72b1c3da-603b-45cc-86fa-362e5b779785-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1800 706381 /var/cache/fontconfig/dbbcd36e-2fb2-42b0-aeb8-aed6eeecd52f-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 19976 706384 /var/cache/fontconfig/f025da05-0072-40e8-ad0b-40a0149efac9-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 24856 706369 /var/cache/fontconfig/a52db440-8dd7-48f9-b466-20e081cd0a4f-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 29512 706322 /var/cache/fontconfig/255b1ad9-a3f6-4727-9632-51b0cc15c8f9-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1912 706337 /var/cache/fontconfig/52f1ce2e-0063-40c9-8545-b1b7aa6efef8-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 3288 706351 /var/cache/fontconfig/733c33cf-6f49-4fb6-9696-0036478857e4-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 22280 706370 /var/cache/fontconfig/a94de9bc-c8cc-4aa0-a7ce-a83b18618bb3-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 7928 706331 /var/cache/fontconfig/3c43d5b2-65c7-4cdc-aceb-ccdc7d89b6b7-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 29960 706323 /var/cache/fontconfig/28a378fb-5e5b-4493-8986-5f8f7205c9f1-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 3224 706388 /var/cache/fontconfig/fbdc7c15-10d0-4654-9de0-dbdeeb6d6dbf-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1968 706361 /var/cache/fontconfig/8f90d254-c770-4975-849d-46638f95e2bd-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 47336 706355 /var/cache/fontconfig/7bd4e58f-b4ae-4e0c-bccd-62359ac464c5-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1594832 404937 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25 -inotify_r 7475 7490 root mem REG 8,7 137584 404749 /usr/lib/x86_64-linux-gnu/libproxy.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 1824 706373 /var/cache/fontconfig/bffdab10-70e5-4490-8914-a5423b13a61f-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1872 706378 /var/cache/fontconfig/cad1302d-01b3-472c-8110-d1ddec3fb13d-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 8048 706347 /var/cache/fontconfig/666f107a-b625-4dea-b3de-648e11020d28-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 5048 706377 /var/cache/fontconfig/c775e5db-c626-4dde-b77f-1563fec5f60f-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 9696 706380 /var/cache/fontconfig/d74cce32-dd72-4056-b2a4-4ce90751fb2a-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1792 706389 /var/cache/fontconfig/ff9097f2-38e4-4a24-8457-f389d6780296-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 3368 706325 /var/cache/fontconfig/2b8c0e85-4231-4751-b056-6d5cdfe5f06a-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 2488 706340 /var/cache/fontconfig/5f67ba12-445b-4083-9ca8-fabe6c5519e7-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1728 706334 /var/cache/fontconfig/4711f792-02b5-41e9-87b9-006f9b9f72a6-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 2144 706318 /var/cache/fontconfig/1e6ab517-fb09-4e33-8580-e43a1c505176-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1688 706317 /var/cache/fontconfig/15f6c05e-3346-4460-be11-4825a8daa48c-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 2120 706387 /var/cache/fontconfig/f5c30b1a-aa35-445d-8d2c-4a98d6091d85-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1696 706360 /var/cache/fontconfig/8674c7ef-394a-472a-9df1-e3b31e50dbdd-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 58448 706338 /var/cache/fontconfig/5a49759e-d250-4d63-8c9d-09916ccbdc70-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 5432 706344 /var/cache/fontconfig/62b0df2d-48b6-40cb-b03f-d23b4a00616b-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 144471 433054 /usr/share/locale-langpack/es/LC_MESSAGES/libc.mo -inotify_r 7475 7490 root mem REG 8,7 175097 449009 /usr/share/code/natives_blob.bin -inotify_r 7475 7490 root mem REG 8,7 1736668 448946 /usr/share/code/v8_context_snapshot.bin -inotify_r 7475 7490 root mem REG 8,7 10171360 448951 /usr/share/code/icudtl.dat -inotify_r 7475 7490 root mem REG 8,7 8374192 401446 /usr/lib/locale/locale-archive -inotify_r 7475 7490 root mem REG 8,7 18352 529746 /lib/x86_64-linux-gnu/libkeyutils.so.1.5 -inotify_r 7475 7490 root mem REG 8,7 129232 529733 /lib/x86_64-linux-gnu/libgpg-error.so.0.24.3 -inotify_r 7475 7490 root mem REG 8,7 526688 404141 /usr/lib/x86_64-linux-gnu/libgmp.so.10.3.2 -inotify_r 7475 7490 root mem REG 8,7 211704 404241 /usr/lib/x86_64-linux-gnu/libhogweed.so.4.4 -inotify_r 7475 7490 root mem REG 8,7 219304 404599 /usr/lib/x86_64-linux-gnu/libnettle.so.6.4 -inotify_r 7475 7490 root mem REG 8,7 75776 404958 /usr/lib/x86_64-linux-gnu/libtasn1.so.6.5.5 -inotify_r 7475 7490 root mem REG 8,7 1566760 404998 /usr/lib/x86_64-linux-gnu/libunistring.so.2.1.0 -inotify_r 7475 7490 root mem REG 8,7 120752 404297 /usr/lib/x86_64-linux-gnu/libidn2.so.0.3.4 -inotify_r 7475 7490 root mem REG 8,7 1236720 404656 /usr/lib/x86_64-linux-gnu/libp11-kit.so.0.3.0 -inotify_r 7475 7490 root mem REG 8,7 51808 404432 /usr/lib/x86_64-linux-gnu/libkrb5support.so.0.1 -inotify_r 7475 7490 root mem REG 8,7 18344 532286 /lib/x86_64-linux-gnu/libcom_err.so.2.1 -inotify_r 7475 7490 root mem REG 8,7 203200 410061 /usr/lib/x86_64-linux-gnu/libk5crypto.so.3.1 -inotify_r 7475 7490 root mem REG 8,7 885248 404174 /usr/lib/x86_64-linux-gnu/libkrb5.so.3.3 -inotify_r 7475 7490 root mem REG 8,7 88376 529690 /lib/x86_64-linux-gnu/libbsd.so.0.9.1 -inotify_r 7475 7490 root mem REG 8,7 1159864 529731 /lib/x86_64-linux-gnu/libgcrypt.so.20.2.3 -inotify_r 7475 7490 root mem REG 8,7 223296 404494 /usr/lib/x86_64-linux-gnu/liblz4.so.1.8.2 -inotify_r 7475 7490 root mem REG 8,7 153984 529752 /lib/x86_64-linux-gnu/liblzma.so.5.2.2 -inotify_r 7475 7490 root mem REG 8,7 324072 529688 /lib/x86_64-linux-gnu/libblkid.so.1.1.0 -inotify_r 7475 7490 root mem REG 8,7 26544 403892 /usr/lib/x86_64-linux-gnu/libdatrie.so.1.3.5 -inotify_r 7475 7490 root mem REG 8,7 178328 404165 /usr/lib/x86_64-linux-gnu/libgraphite2.so.3.2.1 -inotify_r 7475 7490 root mem REG 8,7 31208 529859 /lib/x86_64-linux-gnu/libuuid.so.1.3.0 -inotify_r 7475 7490 root mem REG 8,7 72568 402157 /usr/lib/x86_64-linux-gnu/libavahi-client.so.3.2.9 -inotify_r 7475 7490 root mem REG 8,7 51984 396271 /usr/lib/x86_64-linux-gnu/libavahi-common.so.3.5.3 -inotify_r 7475 7490 root mem REG 8,7 1678688 394877 /usr/lib/x86_64-linux-gnu/libgnutls.so.30.22.0 -inotify_r 7475 7490 root mem REG 8,7 309552 404351 /usr/lib/x86_64-linux-gnu/libgssapi_krb5.so.2.2 -inotify_r 7475 7490 root mem REG 8,7 14488 404709 /usr/lib/x86_64-linux-gnu/libplds4.so -inotify_r 7475 7490 root mem REG 8,7 18680 404708 /usr/lib/x86_64-linux-gnu/libplc4.so -inotify_r 7475 7490 root mem REG 8,7 468944 529813 /lib/x86_64-linux-gnu/libpcre.so.3.13.3 -inotify_r 7475 7490 root mem REG 8,7 22616 403631 /usr/lib/x86_64-linux-gnu/libXdmcp.so.6.0.0 -inotify_r 7475 7490 root mem REG 8,7 14456 403620 /usr/lib/x86_64-linux-gnu/libXau.so.6.0.0 -inotify_r 7475 7490 root mem REG 8,7 557168 525299 /lib/x86_64-linux-gnu/libsystemd.so.0.23.0 -inotify_r 7475 7490 root mem REG 8,7 202920 403732 /usr/lib/x86_64-linux-gnu/libatspi.so.0.0.1 -inotify_r 7475 7490 root mem REG 8,7 31032 404015 /usr/lib/x86_64-linux-gnu/libffi.so.6.0.4 -inotify_r 7475 7490 root mem REG 8,7 356648 529761 /lib/x86_64-linux-gnu/libmount.so.1.1.0 -inotify_r 7475 7490 root mem REG 8,7 97072 529830 /lib/x86_64-linux-gnu/libresolv-2.28.so -inotify_r 7475 7490 root mem REG 8,7 154832 529834 /lib/x86_64-linux-gnu/libselinux.so.1 -inotify_r 7475 7490 root mem REG 8,7 116960 529863 /lib/x86_64-linux-gnu/libz.so.1.2.11 -inotify_r 7475 7490 root mem REG 8,7 55384 405177 /usr/lib/x86_64-linux-gnu/libxcb-render.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 14408 405181 /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 202672 404713 /usr/lib/x86_64-linux-gnu/libpng16.so.16.34.0 -inotify_r 7475 7490 root mem REG 8,7 673808 404698 /usr/lib/x86_64-linux-gnu/libpixman-1.so.0.34.0 -inotify_r 7475 7490 root mem REG 8,7 112808 404099 /usr/lib/x86_64-linux-gnu/libfribidi.so.0.4.0 -inotify_r 7475 7490 root mem REG 8,7 41000 404971 /usr/lib/x86_64-linux-gnu/libthai.so.0.3.1 -inotify_r 7475 7490 root mem REG 8,7 64648 405383 /usr/lib/x86_64-linux-gnu/libwayland-client.so.0.3.0 -inotify_r 7475 7490 root mem REG 8,7 14216 404925 /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 31104 404901 /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 260520 405202 /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 14496 403643 /usr/lib/x86_64-linux-gnu/libXinerama.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 735704 404097 /usr/lib/x86_64-linux-gnu/libfreetype.so.6.15.0 -inotify_r 7475 7490 root mem REG 8,7 96096 395192 /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0.4200.3 -inotify_r 7475 7490 root mem REG 8,7 729640 404229 /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0.10800.8 -inotify_r 7475 7490 root mem REG 8,7 1250568 403977 /usr/lib/x86_64-linux-gnu/libepoxy.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 42768 403818 /usr/lib/x86_64-linux-gnu/libcairo-gobject.so.2.11512.0 -inotify_r 7475 7490 root mem REG 8,7 18328 404139 /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0.5800.1 -inotify_r 7475 7490 root mem REG 8,7 1996592 529694 /lib/x86_64-linux-gnu/libc-2.28.so -inotify_r 7475 7490 root mem REG 8,7 100712 529729 /lib/x86_64-linux-gnu/libgcc_s.so.1 -inotify_r 7475 7490 root mem REG 8,7 1623216 529755 /lib/x86_64-linux-gnu/libm-2.28.so -inotify_r 7475 7490 root mem REG 8,7 243840 529722 /lib/x86_64-linux-gnu/libexpat.so.1.6.8 -inotify_r 7475 7490 root mem REG 8,7 277456 404059 /usr/lib/x86_64-linux-gnu/libfontconfig.so.1.11.1 -inotify_r 7475 7490 root mem REG 8,7 18656 529715 /lib/x86_64-linux-gnu/libdl-2.28.so -inotify_r 7475 7490 root mem REG 8,7 35776 529832 /lib/x86_64-linux-gnu/librt-2.28.so -inotify_r 7475 7490 root mem REG 8,7 575448 395244 /usr/lib/x86_64-linux-gnu/libcups.so.2 -inotify_r 7475 7490 root mem REG 8,7 1018152 403563 /usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 -inotify_r 7475 7490 root mem REG 8,7 795200 448949 /usr/share/code/libffmpeg.so -inotify_r 7475 7490 root mem REG 8,7 239472 404616 /usr/lib/x86_64-linux-gnu/libnspr4.so -inotify_r 7475 7490 root mem REG 8,7 188752 404215 /usr/lib/x86_64-linux-gnu/libsmime3.so -inotify_r 7475 7490 root mem REG 8,7 195456 404115 /usr/lib/x86_64-linux-gnu/libnssutil3.so -inotify_r 7475 7490 root mem REG 8,7 1330488 393193 /usr/lib/x86_64-linux-gnu/libnss3.so -inotify_r 7475 7490 root mem REG 8,7 1158448 404135 /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0.5800.1 -inotify_r 7475 7490 root mem REG 8,7 14528 403655 /usr/lib/x86_64-linux-gnu/libXss.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 22944 403659 /usr/lib/x86_64-linux-gnu/libXtst.so.6.1.0 -inotify_r 7475 7490 root mem REG 8,7 1281480 403618 /usr/lib/x86_64-linux-gnu/libX11.so.6.3.0 -inotify_r 7475 7490 root mem REG 8,7 39448 403653 /usr/lib/x86_64-linux-gnu/libXrender.so.1.3.0 -inotify_r 7475 7490 root mem REG 8,7 22640 403635 /usr/lib/x86_64-linux-gnu/libXfixes.so.3.1.0 -inotify_r 7475 7490 root mem REG 8,7 73640 403633 /usr/lib/x86_64-linux-gnu/libXext.so.6.4.0 -inotify_r 7475 7490 root mem REG 8,7 10288 403625 /usr/lib/x86_64-linux-gnu/libXcomposite.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 43320 403651 /usr/lib/x86_64-linux-gnu/libXrandr.so.2.2.0 -inotify_r 7475 7490 root mem REG 8,7 10272 403629 /usr/lib/x86_64-linux-gnu/libXdamage.so.1.1.0 -inotify_r 7475 7490 root mem REG 8,7 39240 403627 /usr/lib/x86_64-linux-gnu/libXcursor.so.1.0.2 -inotify_r 7475 7490 root mem REG 8,7 63944 403641 /usr/lib/x86_64-linux-gnu/libXi.so.6.1.0 -inotify_r 7475 7490 root mem REG 8,7 162232 405195 /usr/lib/x86_64-linux-gnu/libxcb.so.1.1.0 -inotify_r 7475 7490 root mem REG 8,7 13968 403616 /usr/lib/x86_64-linux-gnu/libX11-xcb.so.1.0.0 -inotify_r 7475 7490 root mem REG 8,7 317592 529707 /lib/x86_64-linux-gnu/libdbus-1.so.3.19.8 -inotify_r 7475 7490 root mem REG 8,7 202440 403730 /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0.0.0 -inotify_r 7475 7490 root mem REG 8,7 337976 404145 /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0.5800.1 -inotify_r 7475 7490 root mem REG 8,7 1707192 404127 /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0.5800.1 -inotify_r 7475 7490 root mem REG 8,7 149424 404119 /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0.3800.0 -inotify_r 7475 7490 root mem REG 8,7 1171048 403820 /usr/lib/x86_64-linux-gnu/libcairo.so.2.11512.0 -inotify_r 7475 7490 root mem REG 8,7 157616 403728 /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0.23009.1 -inotify_r 7475 7490 root mem REG 8,7 300976 402183 /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0.4200.3 -inotify_r 7475 7490 root mem REG 8,7 55192 395195 /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0.4200.3 -inotify_r 7475 7490 root mem REG 8,7 1020480 451709 /usr/lib/x86_64-linux-gnu/libgdk-3.so.0.2404.0 -inotify_r 7475 7490 root mem REG 8,7 7572288 451710 /usr/lib/x86_64-linux-gnu/libgtk-3.so.0.2404.0 -inotify_r 7475 7490 root mem REG 8,7 149696 529824 /lib/x86_64-linux-gnu/libpthread-2.28.so -inotify_r 7475 7490 root mem REG 8,7 1680 706383 /var/cache/fontconfig/e70bc422-f192-4702-9ade-fb01b96bb91e-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 1776 706327 /var/cache/fontconfig/2fe74d3c-41f5-40a3-9097-4b54cd78c639-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 10336 706371 /var/cache/fontconfig/b7d40fa7-2c7a-4518-93ee-dde2e9e23c09-le64.cache-7 -inotify_r 7475 7490 root mem REG 8,7 63400 131866 /usr/lib/x86_64-linux-gnu/gio/modules/libdconfsettings.so -inotify_r 7475 7490 root mem REG 8,7 26402 131839 /usr/lib/x86_64-linux-gnu/gconv/gconv-modules.cache -inotify_r 7475 7490 root mem REG 8,7 22349672 448948 /usr/share/code/libnode.so -inotify_r 7475 7490 root mem REG 8,7 174936 529668 /lib/x86_64-linux-gnu/ld-2.28.so -inotify_r 7475 7490 root 0r CHR 1,3 0t0 6 /dev/null -inotify_r 7475 7490 root 1u CHR 1,3 0t0 6 /dev/null -inotify_r 7475 7490 root 2u CHR 1,3 0t0 6 /dev/null -inotify_r 7475 7490 root 3r REG 8,7 10171360 448951 /usr/share/code/icudtl.dat -inotify_r 7475 7490 root 4r REG 8,7 1736668 448946 /usr/share/code/v8_context_snapshot.bin -inotify_r 7475 7490 root 5r REG 8,7 175097 449009 /usr/share/code/natives_blob.bin -inotify_r 7475 7490 root 6u a_inode 0,13 0 10773 [eventpoll] -inotify_r 7475 7490 root 7r FIFO 0,12 0t0 86905 pipe -inotify_r 7475 7490 root 8w FIFO 0,12 0t0 86905 pipe -inotify_r 7475 7490 root 9r FIFO 0,12 0t0 86906 pipe -inotify_r 7475 7490 root 10w FIFO 0,12 0t0 86906 pipe -inotify_r 7475 7490 root 11u a_inode 0,13 0 10773 [eventfd] -inotify_r 7475 7490 root 12u a_inode 0,13 0 10773 [eventpoll] -inotify_r 7475 7490 root 13u unix 0xffff9abd532a5400 0t0 86907 type=SEQPACKET -inotify_r 7475 7490 root 14u unix 0xffff9abd532a5000 0t0 86908 type=SEQPACKET -inotify_r 7475 7490 root 15r FIFO 0,12 0t0 86909 pipe -inotify_r 7475 7490 root 16w FIFO 0,12 0t0 86909 pipe -inotify_r 7475 7490 root 17u unix 0xffff9abd532a0000 0t0 86910 @00015 type=SEQPACKET -inotify_r 7475 7490 root 18u unix 0xffff9abd532a6800 0t0 86912 type=STREAM -inotify_r 7475 7490 root 19u a_inode 0,13 0 10773 [eventfd] -inotify_r 7475 7490 root 20r CHR 1,9 0t0 11 /dev/urandom -inotify_r 7475 7490 root 21r REG 8,7 262816 448944 /usr/share/code/resources/electron.asar -inotify_r 7475 7490 root 22r REG 8,7 11235986 447970 /usr/share/code/resources/app/node_modules.asar -inotify_r 7475 7490 root 23r REG 8,7 11235986 447970 /usr/share/code/resources/app/node_modules.asar -inotify_r 7475 7490 root 24u unix 0xffff9abe37eac000 0t0 88594 type=STREAM -inotify_r 7475 7490 root 25r REG 8,7 4407 448998 /usr/share/code/locales/es.pak -inotify_r 7475 7490 root 26r REG 8,7 7474760 449007 /usr/share/code/content_shell.pak -inotify_r 7475 7490 root 27r REG 8,7 4214 449008 /usr/share/code/blink_image_resources_200_percent.pak -inotify_r 7475 7490 root 28r REG 8,7 18 449010 /usr/share/code/content_resources_200_percent.pak -inotify_r 7475 \ No newline at end of file From 53340ad631a0281d1d63db63688332cafcced5b2 Mon Sep 17 00:00:00 2001 From: Carlos Date: Wed, 20 Mar 2019 09:03:06 +0100 Subject: [PATCH 18/18] fix --- server/lib/translate.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/lib/translate.js b/server/lib/translate.js index af9b160d..ba30e325 100644 --- a/server/lib/translate.js +++ b/server/lib/translate.js @@ -13,7 +13,7 @@ function loadLanguage(longCode) { } loadLanguage('en-US'); -resourcesCommon['es-ES'] = convertToFake(resourcesCommon['en-US']); +loadLanguage('es-ES'); resourcesCommon['fk-FK'] = convertToFake(resourcesCommon['en-US']); const resources = {};