diff --git a/buildconfig/BuildConfig.cpp.in b/buildconfig/BuildConfig.cpp.in
index 9e449aec..8c04dd4d 100644
--- a/buildconfig/BuildConfig.cpp.in
+++ b/buildconfig/BuildConfig.cpp.in
@@ -57,7 +57,7 @@ QString Config::printableVersionString() const
QString vstr = QString("%1.%2.%3").arg(QString::number(VERSION_MAJOR), QString::number(VERSION_MINOR), QString::number(VERSION_HOTFIX));
// If the build is not a main release, append the channel
- if(VERSION_CHANNEL != "stable")
+ if(VERSION_CHANNEL != "develop")
{
vstr += "-" + VERSION_CHANNEL;
}
diff --git a/launcher/Application.cpp b/launcher/Application.cpp
index 475b05a1..b471f469 100644
--- a/launcher/Application.cpp
+++ b/launcher/Application.cpp
@@ -627,7 +627,6 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
{
m_settings.reset(new INISettingsObject(BuildConfig.LAUNCHER_CONFIGFILE, this));
// Updates
- m_settings->registerSetting("UpdateChannel", BuildConfig.VERSION_CHANNEL);
m_settings->registerSetting("AutoUpdate", true);
// Theming
@@ -812,7 +811,7 @@ Application::Application(int &argc, char **argv) : QApplication(argc, argv)
auto platform = getIdealPlatform(BuildConfig.BUILD_PLATFORM);
auto channelUrl = BuildConfig.UPDATER_BASE + platform + "/channels.json";
qDebug() << "Initializing updater with platform: " << platform << " -- " << channelUrl;
- m_updateChecker.reset(new UpdateChecker(m_network, channelUrl, BuildConfig.VERSION_CHANNEL, BuildConfig.VERSION_BUILD));
+ m_updateChecker.reset(new UpdateChecker(m_network, channelUrl, BuildConfig.VERSION_BUILD));
qDebug() << "<> Updater started.";
}
diff --git a/launcher/notifications/NotificationChecker.cpp b/launcher/notifications/NotificationChecker.cpp
index c08bcdcb..d91465c6 100644
--- a/launcher/notifications/NotificationChecker.cpp
+++ b/launcher/notifications/NotificationChecker.cpp
@@ -10,7 +10,7 @@
#include "Application.h"
NotificationChecker::NotificationChecker(QObject *parent)
- : QObject(parent)
+ : QObject(parent), m_appVersionChannel("develop")
{
}
@@ -19,11 +19,6 @@ void NotificationChecker::setNotificationsUrl(const QUrl ¬ificationsUrl)
m_notificationsUrl = notificationsUrl;
}
-void NotificationChecker::setApplicationChannel(QString channel)
-{
- m_appVersionChannel = channel;
-}
-
void NotificationChecker::setApplicationFullVersion(QString version)
{
m_appFullVersion = version;
diff --git a/launcher/notifications/NotificationChecker.h b/launcher/notifications/NotificationChecker.h
index 0f305f33..4049e55b 100644
--- a/launcher/notifications/NotificationChecker.h
+++ b/launcher/notifications/NotificationChecker.h
@@ -14,7 +14,6 @@ public:
void setNotificationsUrl(const QUrl ¬ificationsUrl);
void setApplicationPlatform(QString platform);
- void setApplicationChannel(QString channel);
void setApplicationFullVersion(QString version);
struct NotificationEntry
diff --git a/launcher/ui/MainWindow.cpp b/launcher/ui/MainWindow.cpp
index a3f31f5f..44cb504b 100644
--- a/launcher/ui/MainWindow.cpp
+++ b/launcher/ui/MainWindow.cpp
@@ -849,14 +849,13 @@ MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new MainWindow
// if automatic update checks are allowed, start one.
if (APPLICATION->settings()->get("AutoUpdate").toBool() && updatesAllowed)
{
- updater->checkForUpdate(APPLICATION->settings()->get("UpdateChannel").toString(), false);
+ updater->checkForUpdate(false);
}
}
{
auto checker = new NotificationChecker();
checker->setNotificationsUrl(QUrl(BuildConfig.NOTIFICATION_URL));
- checker->setApplicationChannel(BuildConfig.VERSION_CHANNEL);
checker->setApplicationPlatform(BuildConfig.BUILD_PLATFORM);
checker->setApplicationFullVersion(BuildConfig.FULL_VERSION_STR);
m_notificationChecker.reset(checker);
@@ -1639,7 +1638,7 @@ void MainWindow::checkForUpdates()
if(BuildConfig.UPDATER_ENABLED)
{
auto updater = APPLICATION->updateChecker();
- updater->checkForUpdate(APPLICATION->settings()->get("UpdateChannel").toString(), true);
+ updater->checkForUpdate(true);
}
else
{
diff --git a/launcher/ui/dialogs/UpdateDialog.cpp b/launcher/ui/dialogs/UpdateDialog.cpp
index c2189c2b..f949ebe6 100644
--- a/launcher/ui/dialogs/UpdateDialog.cpp
+++ b/launcher/ui/dialogs/UpdateDialog.cpp
@@ -11,14 +11,13 @@
UpdateDialog::UpdateDialog(bool hasUpdate, QWidget *parent) : QDialog(parent), ui(new Ui::UpdateDialog)
{
ui->setupUi(this);
- auto channel = APPLICATION->settings()->get("UpdateChannel").toString();
if(hasUpdate)
{
- ui->label->setText(tr("A new %1 update is available!").arg(channel));
+ ui->label->setText(tr("A new update is available!"));
}
else
{
- ui->label->setText(tr("No %1 updates found. You are running the latest version.").arg(channel));
+ ui->label->setText(tr("No updates found. You are running the latest version."));
ui->btnUpdateNow->setHidden(true);
ui->btnUpdateLater->setText(tr("Close"));
}
@@ -33,19 +32,10 @@ UpdateDialog::~UpdateDialog()
void UpdateDialog::loadChangelog()
{
- auto channel = APPLICATION->settings()->get("UpdateChannel").toString();
dljob = new NetJob("Changelog", APPLICATION->network());
QString url;
- if(channel == "stable")
- {
- url = QString("https://raw.githubusercontent.com/MultiMC/Launcher/%1/changelog.md").arg(channel);
- m_changelogType = CHANGELOG_MARKDOWN;
- }
- else
- {
- url = QString("https://api.github.com/repos/MultiMC/Launcher/compare/%1...%2").arg(BuildConfig.GIT_COMMIT, channel);
- m_changelogType = CHANGELOG_COMMITS;
- }
+ url = QString("https://api.github.com/repos/MultiMC/Launcher/compare/%1...develop").arg(BuildConfig.GIT_COMMIT);
+ m_changelogType = CHANGELOG_COMMITS;
dljob->addNetAction(Net::Download::makeByteArray(QUrl(url), &changelogData));
connect(dljob.get(), &NetJob::succeeded, this, &UpdateDialog::changelogLoaded);
connect(dljob.get(), &NetJob::failed, this, &UpdateDialog::changelogFailed);
@@ -65,7 +55,6 @@ QString reprocessMarkdown(QByteArray markdown)
QString reprocessCommits(QByteArray json)
{
- auto channel = APPLICATION->settings()->get("UpdateChannel").toString();
try
{
QString result;
@@ -119,7 +108,7 @@ QString reprocessCommits(QByteArray json)
if(status == "identical")
{
- return QObject::tr("
There are no code changes between your current version and latest %1.
").arg(channel);
+ return QObject::tr("There are no code changes between your current version and the latest.
");
}
else if(status == "ahead")
{
diff --git a/launcher/ui/pages/global/LauncherPage.cpp b/launcher/ui/pages/global/LauncherPage.cpp
index 2eb73e44..1f986c19 100644
--- a/launcher/ui/pages/global/LauncherPage.cpp
+++ b/launcher/ui/pages/global/LauncherPage.cpp
@@ -56,23 +56,12 @@ LauncherPage::LauncherPage(QWidget *parent) : QWidget(parent), ui(new Ui::Launch
m_languageModel = APPLICATION->translations();
loadSettings();
- if(BuildConfig.UPDATER_ENABLED)
- {
- QObject::connect(APPLICATION->updateChecker().get(), &UpdateChecker::channelListLoaded, this, &LauncherPage::refreshUpdateChannelList);
-
- if (APPLICATION->updateChecker()->hasChannels())
- {
- refreshUpdateChannelList();
- }
- else
- {
- APPLICATION->updateChecker()->updateChanList(false);
- }
- }
- else
+ // Updater
+ if(!BuildConfig.UPDATER_ENABLED)
{
ui->updateSettingsBox->setHidden(true);
}
+
// Analytics
if(BuildConfig.ANALYTICS_ID.isEmpty())
{
@@ -163,78 +152,6 @@ void LauncherPage::on_migrateDataFolderMacBtn_clicked()
qApp->quit();
}
-void LauncherPage::refreshUpdateChannelList()
-{
- // Stop listening for selection changes. It's going to change a lot while we update it and
- // we don't need to update the
- // description label constantly.
- QObject::disconnect(ui->updateChannelComboBox, SIGNAL(currentIndexChanged(int)), this,
- SLOT(updateChannelSelectionChanged(int)));
-
- QList channelList = APPLICATION->updateChecker()->getChannelList();
- ui->updateChannelComboBox->clear();
- int selection = -1;
- for (int i = 0; i < channelList.count(); i++)
- {
- UpdateChecker::ChannelListEntry entry = channelList.at(i);
-
- // When it comes to selection, we'll rely on the indexes of a channel entry being the
- // same in the
- // combo box as it is in the update checker's channel list.
- // This probably isn't very safe, but the channel list doesn't change often enough (or
- // at all) for
- // this to be a big deal. Hope it doesn't break...
- ui->updateChannelComboBox->addItem(entry.name);
-
- // If the update channel we just added was the selected one, set the current index in
- // the combo box to it.
- if (entry.id == m_currentUpdateChannel)
- {
- qDebug() << "Selected index" << i << "channel id" << m_currentUpdateChannel;
- selection = i;
- }
- }
-
- ui->updateChannelComboBox->setCurrentIndex(selection);
-
- // Start listening for selection changes again and update the description label.
- QObject::connect(ui->updateChannelComboBox, SIGNAL(currentIndexChanged(int)), this,
- SLOT(updateChannelSelectionChanged(int)));
- refreshUpdateChannelDesc();
-
- // Now that we've updated the channel list, we can enable the combo box.
- // It starts off disabled so that if the channel list hasn't been loaded, it will be
- // disabled.
- ui->updateChannelComboBox->setEnabled(true);
-}
-
-void LauncherPage::updateChannelSelectionChanged(int index)
-{
- refreshUpdateChannelDesc();
-}
-
-void LauncherPage::refreshUpdateChannelDesc()
-{
- // Get the channel list.
- QList channelList = APPLICATION->updateChecker()->getChannelList();
- int selectedIndex = ui->updateChannelComboBox->currentIndex();
- if (selectedIndex < 0)
- {
- return;
- }
- if (selectedIndex < channelList.count())
- {
- // Find the channel list entry with the given index.
- UpdateChecker::ChannelListEntry selected = channelList.at(selectedIndex);
-
- // Set the description text.
- ui->updateChannelDescLabel->setText(selected.description);
-
- // Set the currently selected channel ID.
- m_currentUpdateChannel = selected.id;
- }
-}
-
void LauncherPage::applySettings()
{
auto s = APPLICATION->settings();
@@ -246,7 +163,6 @@ void LauncherPage::applySettings()
// Updates
s->set("AutoUpdate", ui->autoUpdateCheckBox->isChecked());
- s->set("UpdateChannel", m_currentUpdateChannel);
auto original = s->get("IconTheme").toString();
//FIXME: make generic
switch (ui->themeComboBox->currentIndex())
@@ -333,7 +249,6 @@ void LauncherPage::loadSettings()
auto s = APPLICATION->settings();
// Updates
ui->autoUpdateCheckBox->setChecked(s->get("AutoUpdate").toBool());
- m_currentUpdateChannel = s->get("UpdateChannel").toString();
//FIXME: make generic
auto theme = s->get("IconTheme").toString();
if (theme == "pe_dark")
diff --git a/launcher/ui/pages/global/LauncherPage.h b/launcher/ui/pages/global/LauncherPage.h
index 4d0cf3c9..d5ea2353 100644
--- a/launcher/ui/pages/global/LauncherPage.h
+++ b/launcher/ui/pages/global/LauncherPage.h
@@ -69,31 +69,14 @@ slots:
void on_iconsDirBrowseBtn_clicked();
void on_migrateDataFolderMacBtn_clicked();
- /*!
- * Updates the list of update channels in the combo box.
- */
- void refreshUpdateChannelList();
-
- /*!
- * Updates the channel description label.
- */
- void refreshUpdateChannelDesc();
-
/*!
* Updates the font preview
*/
void refreshFontPreview();
- void updateChannelSelectionChanged(int index);
-
private:
Ui::LauncherPage *ui;
- /*!
- * Stores the currently selected update channel.
- */
- QString m_currentUpdateChannel;
-
// default format for the font preview...
QTextCharFormat *defaultFormat;
diff --git a/launcher/ui/pages/global/LauncherPage.ui b/launcher/ui/pages/global/LauncherPage.ui
index 62a66d73..d1728fed 100644
--- a/launcher/ui/pages/global/LauncherPage.ui
+++ b/launcher/ui/pages/global/LauncherPage.ui
@@ -58,33 +58,6 @@
- -
-
-
- Up&date Channel:
-
-
- updateChannelComboBox
-
-
-
- -
-
-
- false
-
-
-
- -
-
-
- No channel selected.
-
-
- true
-
-
-
@@ -555,7 +528,6 @@
tabWidget
autoUpdateCheckBox
- updateChannelComboBox
instDirTextBox
instDirBrowseBtn
modsDirTextBox
diff --git a/launcher/updater/UpdateChecker.cpp b/launcher/updater/UpdateChecker.cpp
index efdb6093..c0505908 100644
--- a/launcher/updater/UpdateChecker.cpp
+++ b/launcher/updater/UpdateChecker.cpp
@@ -26,11 +26,11 @@
#include "BuildConfig.h"
#include "sys.h"
-UpdateChecker::UpdateChecker(shared_qobject_ptr nam, QString channelUrl, QString currentChannel, int currentBuild)
+UpdateChecker::UpdateChecker(shared_qobject_ptr nam, QString channelUrl, int currentBuild)
{
m_network = nam;
m_channelUrl = channelUrl;
- m_currentChannel = currentChannel;
+ m_currentChannel = "develop";
m_currentBuild = currentBuild;
}
@@ -44,9 +44,10 @@ bool UpdateChecker::hasChannels() const
return !m_channels.isEmpty();
}
-void UpdateChecker::checkForUpdate(QString updateChannel, bool notifyNoUpdate)
+void UpdateChecker::checkForUpdate(bool notifyNoUpdate)
{
qDebug() << "Checking for updates.";
+ QString updateChannel = "develop";
// If the channel list hasn't loaded yet, load it and defer checking for updates until
// later.
@@ -54,7 +55,6 @@ void UpdateChecker::checkForUpdate(QString updateChannel, bool notifyNoUpdate)
{
qDebug() << "Channel list isn't loaded yet. Loading channel list and deferring update check.";
m_checkUpdateWaiting = true;
- m_deferredUpdateChannel = updateChannel;
updateChanList(notifyNoUpdate);
return;
}
@@ -67,13 +67,13 @@ void UpdateChecker::checkForUpdate(QString updateChannel, bool notifyNoUpdate)
// Find the desired channel within the channel list and get its repo URL. If if cannot be
// found, error.
- QString stableUrl;
+ QString developUrl;
m_newRepoUrl = "";
for (ChannelListEntry entry : m_channels)
{
qDebug() << "channelEntry = " << entry.id;
- if(entry.id == "stable") {
- stableUrl = entry.url;
+ if(entry.id == "develop") {
+ developUrl = entry.url;
}
if (entry.id == updateChannel) {
m_newRepoUrl = entry.url;
@@ -88,8 +88,8 @@ void UpdateChecker::checkForUpdate(QString updateChannel, bool notifyNoUpdate)
qDebug() << "m_repoUrl = " << m_newRepoUrl;
if (m_newRepoUrl.isEmpty()) {
- qWarning() << "m_repoUrl was empty. defaulting to 'stable': " << stableUrl;
- m_newRepoUrl = stableUrl;
+ qWarning() << "m_repoUrl was empty. defaulting to 'develop': " << developUrl;
+ m_newRepoUrl = developUrl;
}
// If nothing applies, error
@@ -255,7 +255,7 @@ void UpdateChecker::chanListDownloadFinished(bool notifyNoUpdate)
// If we're waiting to check for updates, do that now.
if (m_checkUpdateWaiting) {
- checkForUpdate(m_deferredUpdateChannel, notifyNoUpdate);
+ checkForUpdate(notifyNoUpdate);
}
emit channelListLoaded();
diff --git a/launcher/updater/UpdateChecker.h b/launcher/updater/UpdateChecker.h
index 13ee4efd..6fe41807 100644
--- a/launcher/updater/UpdateChecker.h
+++ b/launcher/updater/UpdateChecker.h
@@ -23,8 +23,8 @@ class UpdateChecker : public QObject
Q_OBJECT
public:
- UpdateChecker(shared_qobject_ptr nam, QString channelUrl, QString currentChannel, int currentBuild);
- void checkForUpdate(QString updateChannel, bool notifyNoUpdate);
+ UpdateChecker(shared_qobject_ptr nam, QString channelUrl, int currentBuild);
+ void checkForUpdate(bool notifyNoUpdate);
/*!
* Causes the update checker to download the channel list from the URL specified in config.h (generated by CMake).
@@ -107,11 +107,6 @@ private:
*/
bool m_checkUpdateWaiting = false;
- /*!
- * if m_checkUpdateWaiting, this is the last used update channel
- */
- QString m_deferredUpdateChannel;
-
int m_currentBuild = -1;
QString m_currentChannel;
QString m_currentRepoUrl;
diff --git a/launcher/updater/UpdateChecker_test.cpp b/launcher/updater/UpdateChecker_test.cpp
index ec55a40e..845ed993 100644
--- a/launcher/updater/UpdateChecker_test.cpp
+++ b/launcher/updater/UpdateChecker_test.cpp
@@ -42,38 +42,32 @@ slots:
void tst_ChannelListParsing_data()
{
- QTest::addColumn("channel");
QTest::addColumn("channelUrl");
QTest::addColumn("hasChannels");
QTest::addColumn("valid");
QTest::addColumn >("result");
QTest::newRow("garbage")
- << QString()
<< findTestDataUrl("data/garbageChannels.json")
<< false
<< false
<< QList();
QTest::newRow("errors")
- << QString()
<< findTestDataUrl("data/errorChannels.json")
<< false
<< true
<< QList();
QTest::newRow("no channels")
- << QString()
<< findTestDataUrl("data/noChannels.json")
<< false
<< true
<< QList();
QTest::newRow("one channel")
- << QString("develop")
<< findTestDataUrl("data/oneChannel.json")
<< true
<< true
<< (QList() << UpdateChecker::ChannelListEntry{"develop", "Develop", "The channel called \"develop\"", "http://example.org/stuff"});
QTest::newRow("several channels")
- << QString("develop")
<< findTestDataUrl("data/channels.json")
<< true
<< true
@@ -84,15 +78,13 @@ slots:
}
void tst_ChannelListParsing()
{
-
- QFETCH(QString, channel);
QFETCH(QString, channelUrl);
QFETCH(bool, hasChannels);
QFETCH(bool, valid);
QFETCH(QList, result);
shared_qobject_ptr nam = new QNetworkAccessManager();
- UpdateChecker checker(nam, channelUrl, channel, 0);
+ UpdateChecker checker(nam, channelUrl, 0);
QSignalSpy channelListLoadedSpy(&checker, SIGNAL(channelListLoaded()));
QVERIFY(channelListLoadedSpy.isValid());
@@ -116,12 +108,11 @@ slots:
void tst_UpdateChecking()
{
- QString channel = "develop";
QString channelUrl = findTestDataUrl("data/channels.json");
int currentBuild = 2;
shared_qobject_ptr nam = new QNetworkAccessManager();
- UpdateChecker checker(nam, channelUrl, channel, currentBuild);
+ UpdateChecker checker(nam, channelUrl, currentBuild);
QSignalSpy updateAvailableSpy(&checker, SIGNAL(updateAvailable(GoUpdate::Status)));
QVERIFY(updateAvailableSpy.isValid());
@@ -133,7 +124,7 @@ slots:
qDebug() << "CWD:" << QDir::current().absolutePath();
checker.m_channels[0].url = findTestDataUrl("data/");
- checker.checkForUpdate(channel, false);
+ checker.checkForUpdate(false);
QVERIFY(updateAvailableSpy.wait());