New Upstream Release - purple-matrix
Ready changes
Summary
Merged new upstream version: 0.1.0 (was: 0.0.0+git20191228).
Resulting package
Built on 2022-03-16T09:46 (took 2m7s)
The resulting binary packages can be installed (if you have the apt repository enabled) by running one of:
apt install -t fresh-releases purple-matrix-dbgsymapt install -t fresh-releases purple-matrix
Lintian Result
Diff
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..96395d6
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,38 @@
+# Object files
+*.o
+*.ko
+*.obj
+*.elf
+
+# dependency files
+*.d
+
+# Precompiled Headers
+*.gch
+*.pch
+
+# Libraries
+*.lib
+*.a
+*.la
+*.lo
+
+# Shared objects (inc. Windows DLLs)
+*.dll
+*.so
+*.so.*
+*.dylib
+
+# Executables
+*.exe
+*.out
+*.app
+*.i*86
+*.x86_64
+*.hex
+
+# Debug files
+*.dSYM/
+
+# ignore eclipse noise
+/.cproject
diff --git a/.project b/.project
new file mode 100644
index 0000000..fb83354
--- /dev/null
+++ b/.project
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>purple-matrix</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
+ <triggers>clean,full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
+ <triggers>full,incremental,</triggers>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.cdt.core.cnature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
+ <nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
+ </natures>
+</projectDescription>
diff --git a/.settings/language.settings.xml b/.settings/language.settings.xml
new file mode 100644
index 0000000..09ded53
--- /dev/null
+++ b/.settings/language.settings.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+ <configuration id="cdt.managedbuild.toolchain.gnu.base.1440008524" name="Default">
+ <extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
+ <provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
+ <provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
+ <provider class="org.eclipse.cdt.managedbuilder.language.settings.providers.GCCBuildCommandParser" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser" keep-relative-paths="false" name="CDT GCC Build Output Parser" parameter="(gcc)|([gc]\+\+)|(clang)" prefer-non-shared="true"/>
+ <provider-reference id="org.eclipse.cdt.managedbuilder.core.GCCBuiltinSpecsDetector" ref="shared-provider"/>
+ <provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
+ </extension>
+ </configuration>
+</project>
diff --git a/.settings/org.eclipse.cdt.codan.core.prefs b/.settings/org.eclipse.cdt.codan.core.prefs
new file mode 100644
index 0000000..ff135cf
--- /dev/null
+++ b/.settings/org.eclipse.cdt.codan.core.prefs
@@ -0,0 +1,71 @@
+eclipse.preferences.version=1
+org.eclipse.cdt.codan.checkers.errnoreturn=Warning
+org.eclipse.cdt.codan.checkers.errnoreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.checkers.errreturnvalue=Error
+org.eclipse.cdt.codan.checkers.errreturnvalue.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.nocommentinside=-Error
+org.eclipse.cdt.codan.checkers.nocommentinside.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.nolinecomment=-Error
+org.eclipse.cdt.codan.checkers.nolinecomment.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.checkers.noreturn=Error
+org.eclipse.cdt.codan.checkers.noreturn.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},implicit\=>false}
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation=Error
+org.eclipse.cdt.codan.internal.checkers.AbstractClassCreation.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AmbiguousProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.AssignmentInConditionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem=Error
+org.eclipse.cdt.codan.internal.checkers.AssignmentToItselfProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.CaseBreakProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},no_break_comment\=>"no break",last_case_param\=>false,empty_case_param\=>false}
+org.eclipse.cdt.codan.internal.checkers.CatchByReference=Warning
+org.eclipse.cdt.codan.internal.checkers.CatchByReference.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},unknown\=>false,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem=Error
+org.eclipse.cdt.codan.internal.checkers.CircularReferenceProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization=Warning
+org.eclipse.cdt.codan.internal.checkers.ClassMembersInitialization.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},skip\=>true}
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FieldResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.FunctionResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidArguments.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem=Error
+org.eclipse.cdt.codan.internal.checkers.InvalidTemplateArgumentsProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.LabelStatementNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MemberDeclarationNotFoundProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.MethodResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker=-Info
+org.eclipse.cdt.codan.internal.checkers.NamingConventionFunctionChecker.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},pattern\=>"^[a-z]",macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.NonVirtualDestructorProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem=Error
+org.eclipse.cdt.codan.internal.checkers.OverloadProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.RedefinitionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ReturnStyleProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem=-Warning
+org.eclipse.cdt.codan.internal.checkers.ScanfFormatStringSecurityProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.StatementHasNoEffectProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>()}
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuggestedParenthesisProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},paramNot\=>false}
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.SuspiciousSemicolonProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},else\=>false,afterelse\=>false}
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.TypeResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedFunctionDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedStaticFunctionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true}
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem=Warning
+org.eclipse.cdt.codan.internal.checkers.UnusedVariableDeclarationProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true},macro\=>true,exceptions\=>("@(\#)","$Id")}
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem=Error
+org.eclipse.cdt.codan.internal.checkers.VariableResolutionProblem.params={launchModes\=>{RUN_ON_FULL_BUILD\=>true,RUN_ON_INC_BUILD\=>true,RUN_ON_FILE_OPEN\=>false,RUN_ON_FILE_SAVE\=>false,RUN_AS_YOU_TYPE\=>true,RUN_ON_DEMAND\=>true}}
diff --git a/CHANGES.md b/CHANGES.md
index c222df4..1228e5d 100644
--- a/CHANGES.md
+++ b/CHANGES.md
@@ -1,10 +1,52 @@
-Changes in purple-matrix 0.0.1 (unreleased)
+Changes in purple-matrix 0.1.0 (2021-10-26)
===========================================
- * Fix a number of incompatibilities with Cygwin builds:
- * https://github.com/matrix-org/purple-matrix/pull/2
- * https://github.com/matrix-org/purple-matrix/pull/3 (add Makefile.mingw)
- * Allow user to set their online status (PR #5)
+Features
+--------
+ * Allow user to set their online status. ([#5](https://github.com/matrix-org/purple-matrix/pull/5))
+ * Add Emote support ([#12](https://github.com/matrix-org/purple-matrix/pull/12))
+ * Send images ([#14](https://github.com/matrix-org/purple-matrix/pull/14), ([#46](https://github.com/matrix-org/purple-matrix/pull/46))
+ * Allow building on libpurple 2.10.x ([#17](https://github.com/matrix-org/purple-matrix/pull/17))
+ * Receive images ([#21](https://github.com/matrix-org/purple-matrix/pull/21), [#44](https://github.com/matrix-org/purple-matrix/pull/44))
+ * Use thumbnails for big images ([#23](https://github.com/matrix-org/purple-matrix/pull/23))
+ * Enable room invites when matrix handle is known ([#24](https://github.com/matrix-org/purple-matrix/pull/24))
+ * Join by alias or id ([#29](https://github.com/matrix-org/purple-matrix/pull/29))
+ * Typing notifications ([#38](https://github.com/matrix-org/purple-matrix/pull/38))
+ * Support display of room topics ([#39](https://github.com/matrix-org/purple-matrix/pull/39))
+ * Support HTML formatting on sending/receiving messages ([#47](https://github.com/matrix-org/purple-matrix/pull/47))
+ * Handle media messages (m.video, m.audio, m.file) ([#62](https://github.com/matrix-org/purple-matrix/pull/62))
+ * Support decryption of encrypted events. ([#70](https://github.com/matrix-org/purple-matrix/pull/70), [#84](https://github.com/matrix-org/purple-matrix/pull/84), [#87](https://github.com/matrix-org/purple-matrix/pull/87), [#90](https://github.com/matrix-org/purple-matrix/pull/90), [#97](https://github.com/matrix-org/purple-matrix/pull/97))
+ * api: Handle chunked messages ([#73](https://github.com/matrix-org/purple-matrix/pull/73))
+ * Add an option to get markdown, not HTML ([#117](https://github.com/matrix-org/purple-matrix/pull/117))
+
+Bugfixes
+--------
+
+ * Fix a number of incompatibilities with Cygwin builds. ([#2](https://github.com/matrix-org/purple-matrix/pull/2), [#3](https://github.com/matrix-org/purple-matrix/pull/3))
+ * Ignore empty m.room.name ([#11](https://github.com/matrix-org/purple-matrix/pull/11))
+ * Unescape the HTML-escaped HTML. ([#19](https://github.com/matrix-org/purple-matrix/pull/19))
+ * Escape incoming message bodies ([#25](https://github.com/matrix-org/purple-matrix/pull/25))
+ * Re-use the device-id provided by the server ([#40](https://github.com/matrix-org/purple-matrix/pull/40))
+ * bump up max reply size ([#56](https://github.com/matrix-org/purple-matrix/pull/56))
+ * typing: Fix crash on typing notification to someone not present ([#69](https://github.com/matrix-org/purple-matrix/pull/69))
+ * turn off deprecation warnings to workaround GParameter ([#103](https://github.com/matrix-org/purple-matrix/pull/103))
+ * Login updates: Avoid the outdated login API and store access tokens ([#104](https://github.com/matrix-org/purple-matrix/pull/104))
+ * matrix-connection: Only change state and progress if we're not already connected ([#111](https://github.com/matrix-org/purple-matrix/pull/111))
+ * matrix-api: use a non-fatal error code on HTTP 429 and >500 ([#113](https://github.com/matrix-org/purple-matrix/pull/113))
+ * Build failure workaround: `_on_typing` ([#118](https://github.com/matrix-org/purple-matrix/pull/118))
+
+Documentation
+------------
+ * mention OLM in readme ([#53](https://github.com/matrix-org/purple-matrix/pull/53))
+ * [README] Add xenial-specific libglib package ([#60](https://github.com/matrix-org/purple-matrix/pull/60))
+ * [README] Add Ubuntu pre-built binaries. Fixes ([#58](https://github.com/matrix-org/purple-matrix/pull/58)) ([#66](https://github.com/matrix-org/purple-matrix/pull/66))
+ * README: Remove unimplemented item from now implemented feature ([#79](https://github.com/matrix-org/purple-matrix/pull/79))
+ * Add badge to README with link to room ([#91](https://github.com/matrix-org/purple-matrix/pull/91))
+
+Internal changes
+----------------
+ * [Makefile] Change fixed pkg-config into variable PKG_CONFIG ([#68](https://github.com/matrix-org/purple-matrix/pull/68))
+ * Small improvements to make installation easier ([#94](https://github.com/matrix-org/purple-matrix/pull/94))
Changes in purple-matrix 0.0.0 (2016-01-02)
===========================================
diff --git a/debian/changelog b/debian/changelog
index daa074b..13d49b7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+purple-matrix (0.1.0-1) UNRELEASED; urgency=low
+
+ * New upstream release.
+
+ -- Debian Janitor <janitor@jelmer.uk> Wed, 16 Mar 2022 09:44:25 -0000
+
purple-matrix (0.0.0+git20191228-1) unstable; urgency=medium
* New upstream snapshot.
diff --git a/libmatrix.c b/libmatrix.c
index 4783056..a422e0f 100644
--- a/libmatrix.c
+++ b/libmatrix.c
@@ -372,6 +372,10 @@ static void matrixprpl_init(PurplePlugin *plugin)
_("On reconnect, skip messages which were received in a "
"previous session"),
PRPL_ACCOUNT_OPT_SKIP_OLD_MESSAGES, FALSE));
+ protocol_options = g_list_append(protocol_options,
+ purple_account_option_bool_new(
+ _("Prefer Markdown over HTML"),
+ PRPL_ACCOUNT_OPT_PREFER_MARKDOWN, FALSE));
prpl_info.protocol_options = protocol_options;
}
diff --git a/libmatrix.h b/libmatrix.h
index 852d5f8..73ba79e 100644
--- a/libmatrix.h
+++ b/libmatrix.h
@@ -100,7 +100,7 @@
#define N_(a) (a)
/* data for our 'about' box */
-#define DISPLAY_VERSION "1.0"
+#define DISPLAY_VERSION "0.1.0"
#define MATRIX_WEBSITE "http://matrix.org"
/* our protocol ID string */
@@ -115,6 +115,7 @@
#define PRPL_ACCOUNT_OPT_HOME_SERVER "home_server"
#define PRPL_ACCOUNT_OPT_NEXT_BATCH "next_batch"
#define PRPL_ACCOUNT_OPT_SKIP_OLD_MESSAGES "skip_old_messages"
+#define PRPL_ACCOUNT_OPT_PREFER_MARKDOWN "prefer_markdown"
/* Pickled account info from olm_pickle_account */
#define PRPL_ACCOUNT_OPT_OLM_ACCOUNT_KEYS "olm_account_keys"
/* Access token, after a login */
diff --git a/matrix-api.c b/matrix-api.c
index 2eae2a9..0884c93 100644
--- a/matrix-api.c
+++ b/matrix-api.c
@@ -66,6 +66,7 @@ void matrix_api_bad_response(MatrixConnectionData *ma, gpointer user_data,
JsonObject *json_obj;
const gchar *errcode = NULL, *error = NULL;
gchar *error_message;
+ PurpleConnectionError error_reason = PURPLE_CONNECTION_ERROR_OTHER_ERROR;
if(json_root != NULL) {
json_obj = matrix_json_node_get_object(json_root);
@@ -81,8 +82,13 @@ void matrix_api_bad_response(MatrixConnectionData *ma, gpointer user_data,
_("Error from home server"), http_response_code);
}
+ /* Use a non-fatal error reason on HTTP 429 and 500 to allow auto-reconnection */
+ if (http_response_code == 429 || http_response_code > 500) {
+ error_reason = PURPLE_CONNECTION_ERROR_NETWORK_ERROR;
+ }
+
purple_connection_error_reason(ma->pc,
- PURPLE_CONNECTION_ERROR_OTHER_ERROR,
+ error_reason,
error_message);
g_free(error_message);
diff --git a/matrix-connection.c b/matrix-connection.c
index 1b071db..9d1bac6 100644
--- a/matrix-connection.c
+++ b/matrix-connection.c
@@ -122,8 +122,11 @@ static void _sync_complete(MatrixConnectionData *ma, gpointer user_data,
return;
}
- purple_connection_update_progress(pc, _("Connected"), 2, 3);
- purple_connection_set_state(pc, PURPLE_CONNECTED);
+ // Only update progress and set state if we're not already connected
+ if (purple_connection_get_state(pc) != PURPLE_CONNECTED) {
+ purple_connection_update_progress(pc, _("Connected"), 2, 3);
+ purple_connection_set_state(pc, PURPLE_CONNECTED);
+ }
matrix_sync_parse(pc, body, &next_batch);
diff --git a/matrix-room.c b/matrix-room.c
index b26d036..040ab38 100644
--- a/matrix-room.c
+++ b/matrix-room.c
@@ -210,6 +210,7 @@ static void _on_typing(PurpleConversation *conv,
old_user_ids = matrix_json_object_get_array_member(old_state->content, "user_ids");
old_len = json_array_get_length(old_user_ids);
} else {
+ old_user_ids = NULL; /* Work around gcc 10.3.1 false uninit warn */
old_len = 0;
}
@@ -1094,8 +1095,14 @@ void matrix_room_handle_timeline_event(PurpleConversation *conv,
}
flags = PURPLE_MESSAGE_RECV;
- if (purple_strequal(matrix_json_object_get_string_member(json_content_obj, "format"), "org.matrix.custom.html")) {
- escaped_body = g_strdup(matrix_json_object_get_string_member(json_content_obj, "formatted_body"));
+ gboolean prefer_markdown = purple_account_get_bool(conv->account,
+ PRPL_ACCOUNT_OPT_PREFER_MARKDOWN, FALSE);
+ if (!prefer_markdown) {
+ if (purple_strequal(matrix_json_object_get_string_member(json_content_obj, "format"), "org.matrix.custom.html")) {
+ escaped_body = g_strdup(matrix_json_object_get_string_member(json_content_obj, "formatted_body"));
+ } else {
+ escaped_body = purple_markup_escape_text(tmp_body ? tmp_body : msg_body, -1);
+ }
} else {
escaped_body = purple_markup_escape_text(tmp_body ? tmp_body : msg_body, -1);
}
Debdiff
[The following lists of changes regard files as different if they have different names, permissions or owners.]
Files in second set of .debs but not in first
-rw-r--r-- root/root /usr/lib/debug/.build-id/fa/a814347990698b24a7f2a52b9b53ddd0735be6.debug
Files in first set of .debs but not in second
-rw-r--r-- root/root /usr/lib/debug/.build-id/97/232a087ab6a0f8ce09594086510805b57dbf14.debug
No differences were encountered between the control files of package purple-matrix
Control files of package purple-matrix-dbgsym: lines which differ (wdiff format)
Build-Ids: 97232a087ab6a0f8ce09594086510805b57dbf14 faa814347990698b24a7f2a52b9b53ddd0735be6