Mattermost-server: Mattermost not available after Upgrade to 4.0.0

Created on 17 Jul 2017  Â·  34Comments  Â·  Source: mattermost/mattermost-server

Summary

Mattermost not available after Upgrade to 4.0.0 via Browser and Mattermost Desktop

Steps to reproduce

Upgrade to 4.0.0 and access the main page

Expected behavior

Show Mattermost welcome page

Observed behavior (that appears unintentional)

The browser loads the welcome page partly and then produces alot of errors in the console:

emoji_store.jsx?559d****:78 Uncaught (in promise) TypeError: (0 , O.getCustomEmojisByName) is not a function
    at new t (emoji_store.jsx?559d****:78)
    at Object.1252 (emoji_store.jsx?559d****:209)
    at t (bootstrap cab80c7…:49)
    at Object.1248 (text_formatting.jsx?2a1c***:6)
    at t (bootstrap cab80c7…:49)
    at Object.<anonymous> (login_controller.jsx:15)
    at Object.1189 (19.b5aa715….js:743)
    at t (bootstrap cab80c7…:49)
    at <anonymous>

Android and iOS native Apps are note affected.

All 34 comments

Which Mattermost version did you upgrade from?

Which OS and DB version do you have? Any errors in the logs?

Upgraded from 3.10.0.
OS: (Arch) Linux with kernel 4.12.2
DB: postgres 9.6.3

No error on the console, even when running with debug output.
The requests that are send to the server are alle successful (200).

Hi @freswa,

I just downloaded a fresh copy of 4.0 and it seems fine to me. Are you running Mattermost behind a proxy? It sounds like something is partially caching the old client-side code. Alternatively, you could try clearing the browser cache in either the desktop app or browser to see if that helps

Yes, I am running Mattermost behind a (not caching) proxy – nginx.
This is the config:

location / {
        proxy_pass          http://localhost:8065;

        proxy_read_timeout                      300;
        proxy_connect_timeout                   300;

        proxy_http_version                      1.1;
        proxy_set_header    Upgrade             $http_upgrade;
        proxy_set_header    Connection          "upgrade";

        proxy_set_header    X-Forwarded-Proto   https;
        proxy_set_header    X-Forwarded-Ssl     on;

        proxy_set_header    Host                $http_host;
        proxy_set_header    X-Real-IP           $remote_addr;
        proxy_set_header    X-Forwarded-For     $proxy_add_x_forwarded_for;
    }

I already tried deleting my browser cache - that did not fix it.
This installation has been upgraded at least since 3.6.2. Never had this issue before.
The served jsx file I can see in my browser is the same as the one available in the repository. So that seems correct to me.

This is my current config:

{
    "ServiceSettings": {
        "SiteURL": "<removed>",
        "LicenseFileLocation": "",
        "ListenAddress": ":8065",
        "ConnectionSecurity": "",
        "TLSCertFile": "",
        "TLSKeyFile": "",
        "UseLetsEncrypt": false,
        "LetsEncryptCertificateCacheFile": "./config/letsencrypt.cache",
        "Forward80To443": false,
        "ReadTimeout": 300,
        "WriteTimeout": 300,
        "MaximumLoginAttempts": 10,
        "GoroutineHealthThreshold": -1,
        "GoogleDeveloperKey": "",
        "EnableOAuthServiceProvider": false,
        "EnableIncomingWebhooks": true,
        "EnableOutgoingWebhooks": false,
        "EnableCommands": true,
        "EnableOnlyAdminIntegrations": true,
        "EnablePostUsernameOverride": true,
        "EnablePostIconOverride": true,
        "EnableAPIv3": true,
        "EnableLinkPreviews": true,
        "EnableTesting": false,
        "EnableDeveloper": false,
        "EnableSecurityFixAlert": true,
        "EnableInsecureOutgoingConnections": false,
        "EnableMultifactorAuthentication": false,
        "EnforceMultifactorAuthentication": false,
        "AllowCorsFrom": "",
        "SessionLengthWebInDays": 30,
        "SessionLengthMobileInDays": 30,
        "SessionLengthSSOInDays": 30,
        "SessionCacheInMinutes": 30,
        "WebsocketSecurePort": 443,
        "WebsocketPort": 80,
        "WebserverMode": "gzip",
        "EnableCustomEmoji": false,
        "EnableEmojiPicker": true,
        "RestrictCustomEmojiCreation": "all",
        "RestrictPostDelete": "all",
        "AllowEditPost": "always",
        "PostEditTimeLimit": 60,
        "TimeBetweenUserTypingUpdatesMilliseconds": 5000,
        "EnablePostSearch": true,
        "EnableUserTypingMessages": true,
        "EnableUserStatuses": true,
        "EnableChannelViewedMessages": true,
        "ClusterLogTimeoutMilliseconds": 2000
    },
    "ElasticSearchSettings": {
        "ConnectionUrl": "http://dockerhost:9200",
        "Username": "elastic",
        "Password": "changeme",
        "EnableIndexing": false,
        "EnableSearching": false,
        "Sniff": true
    },
    "TeamSettings": {
        "SiteName": "<removed>",
        "MaxUsersPerTeam": 50,
        "EnableTeamCreation": false,
        "EnableUserCreation": true,
        "EnableOpenServer": false,
        "RestrictCreationToDomains": "",
        "EnableCustomBrand": false,
        "CustomBrandText": "",
        "CustomDescriptionText": "",
        "RestrictDirectMessage": "team",
        "RestrictTeamInvite": "all",
        "RestrictPublicChannelManagement": "all",
        "RestrictPrivateChannelManagement": "all",
        "RestrictPublicChannelCreation": "all",
        "RestrictPrivateChannelCreation": "all",
        "RestrictPublicChannelDeletion": "all",
        "RestrictPrivateChannelDeletion": "all",
        "RestrictPrivateChannelManageMembers": "all",
        "UserStatusAwayTimeout": 300,
        "MaxChannelsPerTeam": 2000,
        "MaxNotificationsPerChannel": 1000
    },
    "SqlSettings": {
        "DriverName": "postgres",
        "DataSource": "postgres://mattermost:<removed>@localhost:5432/mattermostdb?sslmode=disable\u0026connect_timeout=10",
        "DataSourceReplicas": [],
        "DataSourceSearchReplicas": [],
        "MaxIdleConns": 20,
        "MaxOpenConns": 300,
        "Trace": false,
        "AtRestEncryptKey": "<removed>",
        "QueryTimeout": 30
    },
    "LogSettings": {
        "EnableConsole": true,
        "ConsoleLevel": "ERROR",
        "EnableFile": false,
        "FileLevel": "INFO",
        "FileFormat": "",
        "FileLocation": "",
        "EnableWebhookDebugging": true,
        "EnableDiagnostics": true
    },
    "PasswordSettings": {
        "MinimumLength": 8,
        "Lowercase": true,
        "Number": true,
        "Uppercase": true,
        "Symbol": true
    },
    "FileSettings": {
        "EnableFileAttachments": true,
        "MaxFileSize": 52428800,
        "DriverName": "local",
        "Directory": "/var/lib/mattermost/",
        "EnablePublicLink": false,
        "PublicLinkSalt": "<removed>",
        "InitialFont": "luximbi.ttf",
        "AmazonS3AccessKeyId": "",
        "AmazonS3SecretAccessKey": "",
        "AmazonS3Bucket": "",
        "AmazonS3Region": "us-east-1",
        "AmazonS3Endpoint": "s3.amazonaws.com",
        "AmazonS3SSL": true,
        "AmazonS3SignV2": false
    },
    "EmailSettings": {
        "EnableSignUpWithEmail": true,
        "EnableSignInWithEmail": true,
        "EnableSignInWithUsername": true,
        "SendEmailNotifications": true,
        "RequireEmailVerification": true,
        "FeedbackName": "<removed>",
        "FeedbackEmail": "<removed>",
        "FeedbackOrganization": "",
        "SMTPUsername": "<removed>",
        "SMTPPassword": "<removed>",
        "SMTPServer": "<removed>",
        "SMTPPort": "465",
        "ConnectionSecurity": "TLS",
        "InviteSalt": "<removed>",
        "SendPushNotifications": true,
        "PushNotificationServer": "http://push-test.mattermost.com",
        "PushNotificationContents": "generic",
        "EnableEmailBatching": false,
        "EmailBatchingBufferSize": 256,
        "EmailBatchingInterval": 30,
        "SkipServerCertificateVerification": false
    },
    "RateLimitSettings": {
        "Enable": true,
        "PerSec": 10,
        "MaxBurst": 100,
        "MemoryStoreSize": 10000,
        "VaryByRemoteAddr": true,
        "VaryByHeader": ""
    },
    "PrivacySettings": {
        "ShowEmailAddress": false,
        "ShowFullName": true
    },
    "SupportSettings": {
        "TermsOfServiceLink": "https://about.mattermost.com/default-terms/",
        "PrivacyPolicyLink": "https://about.mattermost.com/default-privacy-policy/",
        "AboutLink": "https://about.mattermost.com/default-about/",
        "HelpLink": "https://about.mattermost.com/default-help/",
        "ReportAProblemLink": "https://about.mattermost.com/default-report-a-problem/",
        "SupportEmail": "[email protected]"
    },
    "AnnouncementSettings": {
        "EnableBanner": false,
        "BannerText": "",
        "BannerColor": "#f2a93b",
        "BannerTextColor": "#333333",
        "AllowBannerDismissal": true
    },
    "GitLabSettings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "",
        "AuthEndpoint": "",
        "TokenEndpoint": "",
        "UserApiEndpoint": ""
    },
    "GoogleSettings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "profile email",
        "AuthEndpoint": "https://accounts.google.com/o/oauth2/v2/auth",
        "TokenEndpoint": "https://www.googleapis.com/oauth2/v4/token",
        "UserApiEndpoint": "https://www.googleapis.com/plus/v1/people/me"
    },
    "Office365Settings": {
        "Enable": false,
        "Secret": "",
        "Id": "",
        "Scope": "User.Read",
        "AuthEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/authorize",
        "TokenEndpoint": "https://login.microsoftonline.com/common/oauth2/v2.0/token",
        "UserApiEndpoint": "https://graph.microsoft.com/v1.0/me"
    },
    "LdapSettings": {
        "Enable": false,
        "LdapServer": "",
        "LdapPort": 389,
        "ConnectionSecurity": "",
        "BaseDN": "",
        "BindUsername": "",
        "BindPassword": "",
        "UserFilter": "",
        "FirstNameAttribute": "",
        "LastNameAttribute": "",
        "EmailAttribute": "",
        "UsernameAttribute": "",
        "NicknameAttribute": "",
        "IdAttribute": "",
        "PositionAttribute": "",
        "SyncIntervalMinutes": 60,
        "SkipCertificateVerification": false,
        "QueryTimeout": 60,
        "MaxPageSize": 0,
        "LoginFieldName": ""
    },
    "ComplianceSettings": {
        "Enable": false,
        "Directory": "/var/lib/mattermost/",
        "EnableDaily": false
    },
    "LocalizationSettings": {
        "DefaultServerLocale": "en",
        "DefaultClientLocale": "en",
        "AvailableLocales": "en,es,fr,ja,pt-BR,de,nl,ko,zh-CN,zh-TW,ru"
    },
    "SamlSettings": {
        "Enable": false,
        "Verify": false,
        "Encrypt": false,
        "IdpUrl": "",
        "IdpDescriptorUrl": "",
        "AssertionConsumerServiceURL": "",
        "IdpCertificateFile": "",
        "PublicCertificateFile": "",
        "PrivateKeyFile": "",
        "FirstNameAttribute": "",
        "LastNameAttribute": "",
        "EmailAttribute": "",
        "UsernameAttribute": "",
        "NicknameAttribute": "",
        "LocaleAttribute": "",
        "PositionAttribute": "",
        "LoginButtonText": "With SAML"
    },
    "NativeAppSettings": {
        "AppDownloadLink": "https://about.mattermost.com/downloads/",
        "AndroidAppDownloadLink": "https://about.mattermost.com/mattermost-android-app/",
        "IosAppDownloadLink": "https://about.mattermost.com/mattermost-ios-app/"
    },
    "ClusterSettings": {
        "Enable": false,
        "ClusterName": "",
        "OverrideHostname": "",
        "UseIpAddress": true,
        "UseExperimentalGossip": false,
        "ReadOnlyConfig": true,
        "GossipPort": 8074,
        "StreamingPort": 8075
    },
    "MetricsSettings": {
        "Enable": false,
        "BlockProfileRate": 0,
        "ListenAddress": ":8067"
    },
    "AnalyticsSettings": {
        "MaxUsersForStatistics": 2500
    },
    "WebrtcSettings": {
        "Enable": false,
        "GatewayWebsocketUrl": "",
        "GatewayAdminUrl": "",
        "GatewayAdminSecret": "",
        "StunURI": "",
        "TurnURI": "",
        "TurnUsername": "",
        "TurnSharedKey": ""
    },
    "DataRetentionSettings": {
        "Enable": false
    }
}

@freswa Can you help post your NGINX configuration file? Or is that the entire file you posted above?

Note that 4.0 requires a change to proxy configuration (https://docs.mattermost.com/administration/upgrade.html#important-notices), so make sure you have reflected those changes.

Recommended NGINX config settings can be found here

@jasonblais thx, will try that

Cool, let me know if that doesn't fix it

@jasonblais Nope, copied the config from here: https://docs.mattermost.com/install/install-ubuntu-1604.html#configuring-nginx-as-a-proxy-for-mattermost-server

I am still getting the same js error. I don't think it's about the nginx config since the native (iOS/Android) apps work pretty well (and they also use websockets).

Yeah that's true. You'd get the same error message on the apps..hmm.

@prixone wondering if you'd have any thoughts on this?

@freswa There's something else you could check that might be helpful. Can you open Mattermost in Chrome, open the Chrome Developer Tools (probably ctrl+shift+I, although I'm not sure the exact hotkey on Arch Linux), and then enter mm_config.BuildHash and mm_config.BuildHashEnterprise into the console? That way we can pinpoint exactly what version of the code you're on in case you got a bad build
image

mm_config.BuildHash
"none"
mm_config.BuildHashEnterprise
"none"

Oh, of course it's not getting far enough to actually get that data on the client. What if you use the CLI and run bin/platform version?

Version: 4.0.0
Build Number: 4.0.0-1
Build Date: Mon Jul 17 15:12:06 UTC 2017
Build Hash: none
Build Enterprise Ready: false
DB Version: 4.0.0

@hmhealey what I don't understand is why its loading the emoji store at the login/welcome page rather than after its logged in.

@freswa When you upgraded, the guide asks u to keep a copy of the config, and then restore it.

But mattermost tends to change (and adds/removes configs), even though I doubt this may be the issue, could you grab the original config file from 4.0 replace it and change the configs inside of it rather than copy your old one and see if any changes?

Also you said early you copied the missing configs from the installation guide, have u disabled the cache from it?

Last but not least could you reset the nginx cache with:

find /var/cache/nginx/ -type f -delete
service nginx restart

The last command above may changing depending on your OS version but its simple to either reload or restart nginx.

This doesn't look like an official release version of Mattermost:

Version: 4.0.0
Build Number: 4.0.0-1
Build Date: Mon Jul 17 15:12:06 UTC 2017
Build Hash: none
Build Enterprise Ready: false
DB Version: 4.0.0

The 4.0.0 team edition from the Mattermost download page looks like this:

Version: 4.0.0
Build Number: 4.0.0
Build Date: Sat Jul 15 21:57:49 UTC 2017
Build Hash: 9a23519d07664f252fe5a568034abf6b720511d0
Build Enterprise Ready: false
DB Version: 4.0.0

Did you build it from source yourself?

@JeffSchering freswa is on Arch Linux, so they're using this version from the Arch User Repository. Looking through their code, that also matches up with the Build Hash being set to "none". It's possible their package doesn't have the updated JS code or has incorrect JS code downloaded. Do you know if we've contacted the maintainer of that package before? I think it might be an issue on their end

I have the same error here. Built from source on linux alpine and migrated from 3.10.1 to 4.0.0 or 4.0.1 with the same error.

I have first in the webconsole

jQuery.Deferred exception: v.Client4.setAcceptLanguage is not a function

then

Unhandled promise rejection TypeError: T.getCustomEmojisByName is not a function

Could it be a pb during webpack ?

/home/git/gitlab/node_modules/.bin/webpack --config /home/git/gitlab/config/webpack.config.js --bail
Hash: 29ab84055c28d848d160
Version: webpack 2.6.1
Time: 524444ms
                                                         Asset       Size                    Chunks                    Chunk Names
                      users.2fbd5fa21db161cb22c1.bundle.js.map    25.6 kB                     users  [emitted]         users
                           7f6c63f374471c4da264a31dca499ed2.js     1.3 MB                            [emitted]  [big]  
                           blob.0051a361f2a0188b534a.bundle.js    19.5 kB                      blob  [emitted]         blob
                         boards.53ed39fa8a2f4213f457.bundle.js    65.6 kB                    boards  [emitted]         boards
               commit_pipelines.cc8662c8ae506b9ce9cd.bundle.js    52.6 kB          commit_pipelines  [emitted]         commit_pipelines
                         common.41122b43917d87d4aeee.bundle.js     321 kB                    common  [emitted]  [big]  common
                      common_d3.b4197edc2ba75db756fe.bundle.js     152 kB                 common_d3  [emitted]         common_d3
                     common_vue.827faa4afb9a70074af0.bundle.js     129 kB                common_vue  [emitted]         common_vue
                cycle_analytics.2504f74bcd8a45842d6b.bundle.js    25.8 kB           cycle_analytics  [emitted]         cycle_analytics
                    deploy_keys.9478d5b336aed8872240.bundle.js    12.7 kB               deploy_keys  [emitted]         deploy_keys
                     diff_notes.e3bfe77d00b2c044ee8f.bundle.js    21.5 kB                diff_notes  [emitted]         diff_notes
                   environments.784adb76c68af26beec0.bundle.js    43.5 kB              environments  [emitted]         environments
            environments_folder.8769e0e983345aead375.bundle.js    41.9 kB       environments_folder  [emitted]         environments_folder
                filtered_search.98115e13b5ad2cf8e347.bundle.js      57 kB           filtered_search  [emitted]         filtered_search
                         graphs.d87cfdb825cec025c55f.bundle.js    63.3 kB                    graphs  [emitted]         graphs
                          group.3ea9ecffec5b98286585.bundle.js  104 bytes                     group  [emitted]         group
                         groups.8687b47d7df0a1080b65.bundle.js    18.5 kB                    groups  [emitted]         groups
                    groups_list.a375c472e33147c11143.bundle.js  122 bytes               groups_list  [emitted]         groups_list
                   integrations.81a5b362e2adcd49d8a5.bundle.js    2.81 kB              integrations  [emitted]         integrations
                     issue_show.987a114f6353a077e157.bundle.js    40.7 kB                issue_show  [emitted]         issue_show
                         locale.a4527fba639e41727fdf.bundle.js    91.1 kB                    locale  [emitted]         locale
                           main.9888f2181323bba415a7.bundle.js     845 kB                      main  [emitted]  [big]  main
                merge_conflicts.c7f2ef9cce11ab77b621.bundle.js    13.9 kB           merge_conflicts  [emitted]         merge_conflicts
                     monitoring.bae54c8bb07d02ee3abe.bundle.js    13.1 kB                monitoring  [emitted]         monitoring
                        network.f9ea9850ef8e0d4b4f10.bundle.js     101 kB                   network  [emitted]         network
                notebook_viewer.df896fcf7b225a6c4bca.bundle.js    77.6 kB           notebook_viewer  [emitted]         notebook_viewer
                   pdf.worker.js.4ed3c668d6e580d8883f.chunk.js     606 kB             pdf.worker.js  [emitted]  [big]  
                     pdf_viewer.1afbb1f0eea0ca29cd46.bundle.js     203 kB                pdf_viewer  [emitted]         pdf_viewer
                           peek.4144cd5b25140ac2cc01.bundle.js    5.13 kB                      peek  [emitted]         peek
                      pipelines.60b6ad4de8f976920ab3.bundle.js    57.6 kB                 pipelines  [emitted]         pipelines
              pipelines_details.bf6e94efd20ac050c9b4.bundle.js    45.9 kB         pipelines_details  [emitted]         pipelines_details
                        profile.52358687f8cae25cd721.bundle.js      36 kB                   profile  [emitted]         profile
             protected_branches.3be451b434ad96744302.bundle.js    7.16 kB        protected_branches  [emitted]         protected_branches
                 protected_tags.125529bbbd7cf32016c3.bundle.js  137 bytes            protected_tags  [emitted]         protected_tags
                          raven.61375d9168165e89d174.bundle.js      30 kB                     raven  [emitted]         raven
                        runtime.5b702f87f955c5e16890.bundle.js    4.11 kB                   runtime  [emitted]         runtime
                  schedule_form.9de5cf0fc3ea60961ae3.bundle.js    7.66 kB             schedule_form  [emitted]         schedule_form
                schedules_index.d2f041bf01f2fe41546e.bundle.js    7.46 kB           schedules_index  [emitted]         schedules_index
                        sidebar.5dd479d8a8f60a7d189a.bundle.js    24.3 kB                   sidebar  [emitted]         sidebar
                  sketch_viewer.74cd7716c0b778a68422.bundle.js     176 kB             sketch_viewer  [emitted]         sketch_viewer
                        snippet.1eaa24c808c836339ee8.bundle.js  411 bytes                   snippet  [emitted]         snippet
                     stl_viewer.84c8b7ba509587dd9a28.bundle.js     538 kB                stl_viewer  [emitted]  [big]  stl_viewer
                       terminal.28bdb2b6ff16c5c8037b.bundle.js     604 kB                  terminal  [emitted]  [big]  terminal
                           test.9c03af23058cb3a4b9bb.bundle.js  213 bytes                      test  [emitted]         test
                            u2f.1c9ea099fa8b0b3f0c82.bundle.js    6.83 kB                       u2f  [emitted]         u2f
                          users.2fbd5fa21db161cb22c1.bundle.js    5.25 kB                     users  [emitted]         users
       vue_merge_request_widget.5e86ac6c32fd88802af3.bundle.js    87.5 kB  vue_merge_request_widget  [emitted]         vue_merge_request_widget
            balsamiq_viewer.41494fd1247c58920377.bundle.js.map    9.37 MB           balsamiq_viewer  [emitted]         balsamiq_viewer
                       blob.0051a361f2a0188b534a.bundle.js.map    82.1 kB                      blob  [emitted]         blob
                     boards.53ed39fa8a2f4213f457.bundle.js.map     263 kB                    boards  [emitted]         boards
           commit_pipelines.cc8662c8ae506b9ce9cd.bundle.js.map     212 kB          commit_pipelines  [emitted]         commit_pipelines
                     common.41122b43917d87d4aeee.bundle.js.map    2.03 MB                    common  [emitted]         common
                  common_d3.b4197edc2ba75db756fe.bundle.js.map     967 kB                 common_d3  [emitted]         common_d3
                 common_vue.827faa4afb9a70074af0.bundle.js.map     914 kB                common_vue  [emitted]         common_vue
            cycle_analytics.2504f74bcd8a45842d6b.bundle.js.map    90.2 kB           cycle_analytics  [emitted]         cycle_analytics
                deploy_keys.9478d5b336aed8872240.bundle.js.map    59.2 kB               deploy_keys  [emitted]         deploy_keys
                 diff_notes.e3bfe77d00b2c044ee8f.bundle.js.map    99.5 kB                diff_notes  [emitted]         diff_notes
               environments.784adb76c68af26beec0.bundle.js.map     230 kB              environments  [emitted]         environments
        environments_folder.8769e0e983345aead375.bundle.js.map     223 kB       environments_folder  [emitted]         environments_folder
            filtered_search.98115e13b5ad2cf8e347.bundle.js.map     259 kB           filtered_search  [emitted]         filtered_search
                     graphs.d87cfdb825cec025c55f.bundle.js.map     372 kB                    graphs  [emitted]         graphs
                      group.3ea9ecffec5b98286585.bundle.js.map  326 bytes                     group  [emitted]         group
                     groups.8687b47d7df0a1080b65.bundle.js.map    93.9 kB                    groups  [emitted]         groups
                groups_list.a375c472e33147c11143.bundle.js.map  358 bytes               groups_list  [emitted]         groups_list
               integrations.81a5b362e2adcd49d8a5.bundle.js.map    14.1 kB              integrations  [emitted]         integrations
                 issue_show.987a114f6353a077e157.bundle.js.map     205 kB                issue_show  [emitted]         issue_show
                     locale.a4527fba639e41727fdf.bundle.js.map     300 kB                    locale  [emitted]         locale
                       main.9888f2181323bba415a7.bundle.js.map    4.04 MB                      main  [emitted]         main
            merge_conflicts.c7f2ef9cce11ab77b621.bundle.js.map    69.1 kB           merge_conflicts  [emitted]         merge_conflicts
                 monitoring.bae54c8bb07d02ee3abe.bundle.js.map    64.7 kB                monitoring  [emitted]         monitoring
                    network.f9ea9850ef8e0d4b4f10.bundle.js.map     854 kB                   network  [emitted]         network
            notebook_viewer.df896fcf7b225a6c4bca.bundle.js.map     414 kB           notebook_viewer  [emitted]         notebook_viewer
               pdf.worker.js.4ed3c668d6e580d8883f.chunk.js.map    3.37 MB             pdf.worker.js  [emitted]         
                 pdf_viewer.1afbb1f0eea0ca29cd46.bundle.js.map    1.13 MB                pdf_viewer  [emitted]         pdf_viewer
                       peek.4144cd5b25140ac2cc01.bundle.js.map    24.8 kB                      peek  [emitted]         peek
                  pipelines.60b6ad4de8f976920ab3.bundle.js.map     226 kB                 pipelines  [emitted]         pipelines
          pipelines_details.bf6e94efd20ac050c9b4.bundle.js.map     200 kB         pipelines_details  [emitted]         pipelines_details
                    profile.52358687f8cae25cd721.bundle.js.map     240 kB                   profile  [emitted]         profile
         protected_branches.3be451b434ad96744302.bundle.js.map    31.9 kB        protected_branches  [emitted]         protected_branches
             protected_tags.125529bbbd7cf32016c3.bundle.js.map  379 bytes            protected_tags  [emitted]         protected_tags
                      raven.61375d9168165e89d174.bundle.js.map     245 kB                     raven  [emitted]         raven
                    runtime.5b702f87f955c5e16890.bundle.js.map    22.5 kB                   runtime  [emitted]         runtime
              schedule_form.9de5cf0fc3ea60961ae3.bundle.js.map    28.8 kB             schedule_form  [emitted]         schedule_form
            schedules_index.d2f041bf01f2fe41546e.bundle.js.map    21.2 kB           schedules_index  [emitted]         schedules_index
                    sidebar.5dd479d8a8f60a7d189a.bundle.js.map    88.9 kB                   sidebar  [emitted]         sidebar
              sketch_viewer.74cd7716c0b778a68422.bundle.js.map     1.4 MB             sketch_viewer  [emitted]         sketch_viewer
                    snippet.1eaa24c808c836339ee8.bundle.js.map    1.78 kB                   snippet  [emitted]         snippet
                 stl_viewer.84c8b7ba509587dd9a28.bundle.js.map    2.94 MB                stl_viewer  [emitted]         stl_viewer
                   terminal.28bdb2b6ff16c5c8037b.bundle.js.map    1.65 MB                  terminal  [emitted]         terminal
                       test.9c03af23058cb3a4b9bb.bundle.js.map  838 bytes                      test  [emitted]         test
                        u2f.1c9ea099fa8b0b3f0c82.bundle.js.map    54.7 kB                       u2f  [emitted]         u2f
                balsamiq_viewer.41494fd1247c58920377.bundle.js     2.5 MB           balsamiq_viewer  [emitted]  [big]  balsamiq_viewer
   vue_merge_request_widget.5e86ac6c32fd88802af3.bundle.js.map     311 kB  vue_merge_request_widget  [emitted]         vue_merge_request_widget
                        blob.0051a361f2a0188b534a.bundle.js.gz    3.96 kB                            [emitted]         
                      boards.53ed39fa8a2f4213f457.bundle.js.gz    15.5 kB                            [emitted]         
            commit_pipelines.cc8662c8ae506b9ce9cd.bundle.js.gz    14.1 kB                            [emitted]         
                   common_d3.b4197edc2ba75db756fe.bundle.js.gz    51.4 kB                            [emitted]         
                      common.41122b43917d87d4aeee.bundle.js.gz    88.3 kB                            [emitted]         
             cycle_analytics.2504f74bcd8a45842d6b.bundle.js.gz    5.74 kB                            [emitted]         
                  common_vue.827faa4afb9a70074af0.bundle.js.gz    38.3 kB                            [emitted]         
                 deploy_keys.9478d5b336aed8872240.bundle.js.gz    2.84 kB                            [emitted]         
                  diff_notes.e3bfe77d00b2c044ee8f.bundle.js.gz    6.22 kB                            [emitted]         
                environments.784adb76c68af26beec0.bundle.js.gz    8.91 kB                            [emitted]         
             filtered_search.98115e13b5ad2cf8e347.bundle.js.gz    11.7 kB                            [emitted]         
                      graphs.d87cfdb825cec025c55f.bundle.js.gz    13.9 kB                            [emitted]         
                      groups.8687b47d7df0a1080b65.bundle.js.gz     4.7 kB                            [emitted]         
                integrations.81a5b362e2adcd49d8a5.bundle.js.gz    1.08 kB                            [emitted]         
                  issue_show.987a114f6353a077e157.bundle.js.gz    7.74 kB                            [emitted]         
         environments_folder.8769e0e983345aead375.bundle.js.gz    8.46 kB                            [emitted]         
                      locale.a4527fba639e41727fdf.bundle.js.gz    20.8 kB                            [emitted]         
             merge_conflicts.c7f2ef9cce11ab77b621.bundle.js.gz    3.95 kB                            [emitted]         
                  monitoring.bae54c8bb07d02ee3abe.bundle.js.gz    3.89 kB                            [emitted]         
                     network.f9ea9850ef8e0d4b4f10.bundle.js.gz    33.5 kB                            [emitted]         
             notebook_viewer.df896fcf7b225a6c4bca.bundle.js.gz    20.7 kB                            [emitted]         
                        main.9888f2181323bba415a7.bundle.js.gz     235 kB                            [emitted]         
                        7f6c63f374471c4da264a31dca499ed2.js.gz     232 kB                            [emitted]         
                        peek.4144cd5b25140ac2cc01.bundle.js.gz    1.93 kB                            [emitted]         
                pdf.worker.js.4ed3c668d6e580d8883f.chunk.js.gz     178 kB                            [emitted]         
                   pipelines.60b6ad4de8f976920ab3.bundle.js.gz      15 kB                            [emitted]         
                     profile.52358687f8cae25cd721.bundle.js.gz    10.8 kB                            [emitted]         
          protected_branches.3be451b434ad96744302.bundle.js.gz    1.76 kB                            [emitted]         
                       raven.61375d9168165e89d174.bundle.js.gz    10.3 kB                            [emitted]         
                  pdf_viewer.1afbb1f0eea0ca29cd46.bundle.js.gz      58 kB                            [emitted]         
               schedule_form.9de5cf0fc3ea60961ae3.bundle.js.gz    1.99 kB                            [emitted]         
                     runtime.5b702f87f955c5e16890.bundle.js.gz    1.88 kB                            [emitted]         
           pipelines_details.bf6e94efd20ac050c9b4.bundle.js.gz    10.5 kB                            [emitted]         
                     sidebar.5dd479d8a8f60a7d189a.bundle.js.gz    5.31 kB                            [emitted]         
                     snippet.1eaa24c808c836339ee8.bundle.js.gz  264 bytes                            [emitted]         
             schedules_index.d2f041bf01f2fe41546e.bundle.js.gz    2.22 kB                            [emitted]         
               sketch_viewer.74cd7716c0b778a68422.bundle.js.gz    46.8 kB                            [emitted]         
                         u2f.1c9ea099fa8b0b3f0c82.bundle.js.gz    2.24 kB                            [emitted]         
                       users.2fbd5fa21db161cb22c1.bundle.js.gz    1.79 kB                            [emitted]         
    vue_merge_request_widget.5e86ac6c32fd88802af3.bundle.js.gz    17.6 kB                            [emitted]         
                  stl_viewer.84c8b7ba509587dd9a28.bundle.js.gz     128 kB                            [emitted]         
                    terminal.28bdb2b6ff16c5c8037b.bundle.js.gz     142 kB                            [emitted]         
             balsamiq_viewer.41494fd1247c58920377.bundle.js.gz     558 kB                            [emitted]  [big]  
                    blob.0051a361f2a0188b534a.bundle.js.map.gz      15 kB                            [emitted]         
                  boards.53ed39fa8a2f4213f457.bundle.js.map.gz    58.7 kB                            [emitted]         
        commit_pipelines.cc8662c8ae506b9ce9cd.bundle.js.map.gz    47.2 kB                            [emitted]         
              common_vue.827faa4afb9a70074af0.bundle.js.map.gz     222 kB                            [emitted]         
               common_d3.b4197edc2ba75db756fe.bundle.js.map.gz     215 kB                            [emitted]         
             deploy_keys.9478d5b336aed8872240.bundle.js.map.gz    9.58 kB                            [emitted]         
         cycle_analytics.2504f74bcd8a45842d6b.bundle.js.map.gz    15.7 kB                            [emitted]         
              diff_notes.e3bfe77d00b2c044ee8f.bundle.js.map.gz    22.5 kB                            [emitted]         
            environments.784adb76c68af26beec0.bundle.js.map.gz    43.7 kB                            [emitted]         
                  common.41122b43917d87d4aeee.bundle.js.map.gz     478 kB                            [emitted]  [big]  
     environments_folder.8769e0e983345aead375.bundle.js.map.gz    42.1 kB                            [emitted]         
         filtered_search.98115e13b5ad2cf8e347.bundle.js.map.gz    53.7 kB                            [emitted]         
                   group.3ea9ecffec5b98286585.bundle.js.map.gz  205 bytes                            [emitted]         
             groups_list.a375c472e33147c11143.bundle.js.map.gz  212 bytes                            [emitted]         
                  groups.8687b47d7df0a1080b65.bundle.js.map.gz    19.7 kB                            [emitted]         
                  graphs.d87cfdb825cec025c55f.bundle.js.map.gz    75.9 kB                            [emitted]         
            integrations.81a5b362e2adcd49d8a5.bundle.js.map.gz    3.65 kB                            [emitted]         
              issue_show.987a114f6353a077e157.bundle.js.map.gz    37.3 kB                            [emitted]         
                  locale.a4527fba639e41727fdf.bundle.js.map.gz    67.8 kB                            [emitted]         
         merge_conflicts.c7f2ef9cce11ab77b621.bundle.js.map.gz    12.6 kB                            [emitted]         
              monitoring.bae54c8bb07d02ee3abe.bundle.js.map.gz    12.9 kB                            [emitted]         
         notebook_viewer.df896fcf7b225a6c4bca.bundle.js.map.gz    92.7 kB                            [emitted]         
                 network.f9ea9850ef8e0d4b4f10.bundle.js.map.gz     181 kB                            [emitted]         
              pdf_viewer.1afbb1f0eea0ca29cd46.bundle.js.map.gz     247 kB                            [emitted]         
                    peek.4144cd5b25140ac2cc01.bundle.js.map.gz    4.94 kB                            [emitted]         
               pipelines.60b6ad4de8f976920ab3.bundle.js.map.gz    50.1 kB                            [emitted]         
       pipelines_details.bf6e94efd20ac050c9b4.bundle.js.map.gz    39.4 kB                            [emitted]         
                 profile.52358687f8cae25cd721.bundle.js.map.gz    51.6 kB                            [emitted]         
      protected_branches.3be451b434ad96744302.bundle.js.map.gz    5.69 kB                            [emitted]         
          protected_tags.125529bbbd7cf32016c3.bundle.js.map.gz  221 bytes                            [emitted]         
                    main.9888f2181323bba415a7.bundle.js.map.gz     911 kB                            [emitted]  [big]  
                   raven.61375d9168165e89d174.bundle.js.map.gz    64.3 kB                            [emitted]         
           schedule_form.9de5cf0fc3ea60961ae3.bundle.js.map.gz    5.48 kB                            [emitted]         
                 runtime.5b702f87f955c5e16890.bundle.js.map.gz     4.5 kB                            [emitted]         
                 sidebar.5dd479d8a8f60a7d189a.bundle.js.map.gz    17.2 kB                            [emitted]         
         schedules_index.d2f041bf01f2fe41546e.bundle.js.map.gz    3.51 kB                            [emitted]         
                 snippet.1eaa24c808c836339ee8.bundle.js.map.gz  692 bytes                            [emitted]         
            pdf.worker.js.4ed3c668d6e580d8883f.chunk.js.map.gz     633 kB                            [emitted]  [big]  
           sketch_viewer.74cd7716c0b778a68422.bundle.js.map.gz     323 kB                            [emitted]  [big]  
                    test.9c03af23058cb3a4b9bb.bundle.js.map.gz  424 bytes                            [emitted]         
                     u2f.1c9ea099fa8b0b3f0c82.bundle.js.map.gz    7.62 kB                            [emitted]         
                   users.2fbd5fa21db161cb22c1.bundle.js.map.gz    5.41 kB                            [emitted]         
vue_merge_request_widget.5e86ac6c32fd88802af3.bundle.js.map.gz      59 kB                            [emitted]         
                terminal.28bdb2b6ff16c5c8037b.bundle.js.map.gz     379 kB                            [emitted]  [big]  
              stl_viewer.84c8b7ba509587dd9a28.bundle.js.map.gz     576 kB                            [emitted]  [big]  
         balsamiq_viewer.41494fd1247c58920377.bundle.js.map.gz    1.97 MB                            [emitted]  [big]  
                                                 manifest.json      52 kB                            [emitted]         
[./issue_show/index.js] ./issue_show/index.js 2.04 kB {issue_show} [built]
[./pipeline_schedules/pipeline_schedules_index_bundle.js] ./pipeline_schedules/pipeline_schedules_index_bundle.js 426 bytes {schedules_index} [built]
[./pipelines/index.js] ./pipelines/index.js 522 bytes {pipelines} [built]
[./pipelines/pipeline_details_bundle.js] ./pipelines/pipeline_details_bundle.js 2.02 kB {pipelines_details} [built]
[./profile/profile_bundle.js] ./profile/profile_bundle.js 39 bytes {profile} [built]
[./protected_branches/protected_branches_bundle.js] ./protected_branches/protected_branches_bundle.js 191 bytes {protected_branches} [built]
[./protected_tags/index.js] ./protected_tags/index.js 148 bytes {main} [built]
[./raven/index.js] ./raven/index.js 381 bytes {raven} [built]
[./sidebar/sidebar_bundle.js] ./sidebar/sidebar_bundle.js 798 bytes {sidebar} [built]
[./snippet/snippet_bundle.js] ./snippet/snippet_bundle.js 347 bytes {snippet} [built]
[./terminal/terminal_bundle.js] ./terminal/terminal_bundle.js 265 bytes {terminal} [built]
[./test.js] ./test.js 16 bytes {test} [built]
[./users/users_bundle.js] ./users/users_bundle.js 20 bytes {users} [built]
[./vue_merge_request_widget/index.js] ./vue_merge_request_widget/index.js 268 bytes {vue_merge_request_widget} [built]
[multi vue ./vue_shared/common_vue.js] multi vue ./vue_shared/common_vue.js 40 bytes {common_vue} [built]
    + 1062 hidden modules
Fixing public/assets/print-87b4ace0db1f79d91e4fe6e74435b66b71d70fee57ffbb72d0fade17374fcc6b.css
Fixing public/assets/print-87b4ace0db1f79d91e4fe6e74435b66b71d70fee57ffbb72d0fade17374fcc6b.css.gz
Fixing public/assets/notify-abfe30822d82207505a29881cc27c46d0cf2f8bf68481bd421ba1ce23ca7c508.css
Fixing public/assets/notify-abfe30822d82207505a29881cc27c46d0cf2f8bf68481bd421ba1ce23ca7c508.css.gz
Fixing public/assets/katex-e46cafe9c3fa73920a7c2c063ee8bb0613e0cf85fd96a3aea25f8419c4bfcfba.css
Fixing public/assets/katex-e46cafe9c3fa73920a7c2c063ee8bb0613e0cf85fd96a3aea25f8419c4bfcfba.css.gz
Fixing public/assets/peek-0c941cf7d9f7b4b5cb8b9a605c4f57d388418eed401d30daf35a90b18a4c1ee1.css
Fixing public/assets/peek-0c941cf7d9f7b4b5cb8b9a605c4f57d388418eed401d30daf35a90b18a4c1ee1.css.gz
Fixing public/assets/test-aa9d3a8fa713fc541df6d49265a203cee717a14b26aab178183c0c72cdfdb463.css
Fixing public/assets/test-aa9d3a8fa713fc541df6d49265a203cee717a14b26aab178183c0c72cdfdb463.css.gz
Fixing public/assets/application-fd9999c1034268d73b77e16ff3a0fb021712b07a39461b2ebf33a6115dca6bac.css
Fixing public/assets/application-fd9999c1034268d73b77e16ff3a0fb021712b07a39461b2ebf33a6115dca6bac.css.gz

for those interested this is the APKBUILD file. Perhaps I'm missing something during the packaging process

# Contributor: Eric BURGHARD <[email protected]>
# Maintainer: Eric BURGHARD <[email protected]>
pkgname=mattermost-platform
_pkgname=platform
pkgver=4.0.1
pkgrel=0
pkgdesc="Open source Slack-alternative in Golang and React - Mattermost"
url="https://mattermost.com/"
arch="all"
license="ASL 2.0"
depends=""
makedepends="go>=1.8 nodejs-npm sassc libtool autoconf automake nasm libpng-dev yarn"
install=""
subpackages="$pkgname-doc"
#options="!strip"
source="$pkgname-$pkgver.tar.gz::https://github.com/mattermost/$_pkgname/archive/v$pkgver.tar.gz"

_gopath="$srcdir"/$_pkgname-$pkgver
_builddir="$_gopath"/src/github.com/mattermost
prepare() {
    cd "$_gopath"

    local i
    for i in $source; do
        case $i in
        *.patch) msg $i; patch -p1 -i "$srcdir"/$i || return 1;;
        esac
    done

    GOPATH="$_gopath" go get -u github.com/Masterminds/glide/... || return 1
    # glide install will fail for local dependencies if source is not a git repo
    GOPATH="$_gopath" ./bin/glide install || return 0
}

build() {
    mkdir -p "$_builddir"
    ln -s "$srcdir"/$_pkgname-$pkgver "$_builddir"/$_pkgname
    cd "$_builddir"/$_pkgname
    GOPATH="$_gopath" make BUILD_NUMBER=$pkgver build-linux || return 1
    # clear the yarn cache
    cd webapp
    make clean
    cd ..
    make build-client || return 1
}

package() {
    cd "$_builddir"/$_pkgname
    install -Dm755 ./bin/$_pkgname "$pkgdir"/usr/bin/$_pkgname || return 1

    mkdir -p "$pkgdir"/usr/share/$pkgname/webapp
    cp -a config fonts templates i18n "$pkgdir"/usr/share/$pkgname/ || return 1
    cp -a webapp/dist "$pkgdir"/usr/share/$pkgname/webapp/ || return 1

    mkdir -p "$pkgdir"/usr/share/doc/$pkgname
    for file in CHANGELOG.md CONTRIBUTING.md LICENSE.txt NOTICE.txt README.md; do
        mv $file "$pkgdir"/usr/share/doc/$pkgname/ || return 1
    done
}

sha512sums="fb1b0d647b749bb508228b0bfe41376897ce7477da0f65699a2778c1ecd179314f3d8df28425f54569ad2a21081090547f74e8b265554cb510ff194353c7d2b1  mattermost-platform-4.0.1.tar.gz"

@wget Do you know how to reach out to the maintainer of https://aur.archlinux.org/packages/mattermost/?

Thought to ask since you're maintaining some of the other ArchLinux packages

@jasonblais

# Maintainer: Massimiliano Torromeo <[email protected]>

@prixone I always have the following "workflow":

  1. shutdown mattermost
  2. upgrade (there is a config.pacnew created in arch if there are config changes)
  3. merge the new and the old config
  4. start mattermost

I also tried a vanilla config - no luck

I'm not too familiar with either the Arch or Alpine Linux pipelines, but is it possible for you to manually edit the PKGBUILD/APKBUILD files? It's not grabbing the updated version of mattermost/mattermost-redux for some reason.

@freswa If it's possible to change your PKGBUILD, could you try adding

build() {
  cd "$srcdir"/src/github.com/mattermost/platform
+ cd webapp
+ make clean
+ cd ..
  GOPATH="$srcdir" BUILD_NUMBER=$_pkgver-$pkgrel make package
}

@eburghar Same thing with your APKBUILD,

build() {
    mkdir -p "$_builddir"
    ln -s "$srcdir"/$_pkgname-$pkgver "$_builddir"/$_pkgname
    cd "$_builddir"/$_pkgname
    GOPATH="$_gopath" make BUILD_NUMBER=$pkgver build-linux || return 1
+   cd webapp
+   make clean
+   cd ..
    make build-client || return 1
}

If those work, we could possibly get them added back into the different repos so that we can get them upgrading smoothly as well

@hmhealey Works, thx

Excellent. We should submit that back to the owner of the repo then, or find if there's a better way to force it to update the JS dependencies on upgrade since it's not currently doing that

May I propose a binary, gpg signed release?
The larger the project the troublesome the build process. So a binary release might be helpful to avoid mistakes there and also to avoid issues like this one.

We do have a linux binary available on https://about.mattermost.com/download/, but I don't know if it's compatible with Arch. We don't officially support Arch (although one of our core developers uses it, so it should always run fine 😛), so I don't know if we'd ship one ourselves

The fix also works for me.

@hmhealey Just to understand the issue, is it a problem with yarn cache ? The package is built by agitlab-runner and actually /tmp is not cleaned between builds. By cleaning the cache in the build script we lost the cache functionality of yarn, but at least it's the guarantee of a fully reproducible build.

yarn on alpine 3.6 is 0.23 perhaps an upgrade to 0.27 would also work ?

Thanks for the help.

@jasonblais I'll integrate the fix in the PKGBUILD, thanks

Thanks @mtorromeo! 🎉

@mtorromeo Hi there. I actually fixed this issue ages ago in the mattermost-git package. I asked you an access to the AUR mattermost package a few months ago, but you never answered to me :-( Could you please add me as additional maintainer? Since I'm packaging the git version, I'm always in contact with core Mattermost devs when I have issues building Mattermost.

@mtorromeo I see you have just defined me as a co maintainer. Thanks.

I think we can close this issue now.

Thx to everyone who contributed :)

Was this page helpful?
0 / 5 - 0 ratings

Related issues

phillip-white-sociomantic picture phillip-white-sociomantic  Â·  37Comments

faljse picture faljse  Â·  36Comments

esethna picture esethna  Â·  35Comments

proximiteclient picture proximiteclient  Â·  36Comments

esethna picture esethna  Â·  36Comments