From 364beb66bd5d9c1aa9489bb4ee3400e9a6c924e0 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 3 Jan 2020 18:32:38 +0100 Subject: [PATCH 01/65] Initial commit --- config.toml | 55 ++++++++++++++++++++++++++++++++ content/about.md | 11 +++++++ content/authors/jubalh/_index.md | 9 ++++++ content/post/intro.md | 10 ++++++ 4 files changed, 85 insertions(+) create mode 100644 config.toml create mode 100644 content/about.md create mode 100644 content/authors/jubalh/_index.md create mode 100644 content/post/intro.md diff --git a/config.toml b/config.toml new file mode 100644 index 0000000..480b3d6 --- /dev/null +++ b/config.toml @@ -0,0 +1,55 @@ +baseURL = "https://profanity-im.github.io/blog" +languageCode = "en-us" +title = "profanity" +theme = "profanity-hugo-theme-ezhil" + +# Enable syntax highlighting. +pygmentsstyle = "vs" +pygmentscodefences = true +pygmentscodefencesguesssyntax = true + +[params] + # Blog subtitle which appears below blog title. Supports markdown. + subtitle = "development blog" + # Number of posts to show in recent posts list (Optional). Defaults to 10. + recentPostsCount = 10 + # Content types which are excluded from recent posts and archive page (Optional). Defaults to ["page"] + excludedTypes = ["page"] + # If social media links are enabled then enable this to fetch icons from CDN instead of hosted on your site. + featherIconsCDN = true + +# Main menu which appears below site header. +[[menu.main]] +name = "Home" +url = "/" +weight = 1 + +[[menu.main]] +name = "All posts" +url = "/post" +weight = 2 + +[[menu.main]] +name = "About" +url = "/about" +weight = 3 + +# Social media links which shows up on site header. +# Uses feather icons for icons. You can [search icon names from here](https://feathericons.com/). +[[params.social]] +name = "Github" +icon = "github" +url = "https://profanity-im.github.io/" + +[[params.social]] +name = "Twitter" +icon = "twitter" +url = "https://twitter.com/ProfanityIM" + +[[params.social]] +name = "RSS" +icon = "rss" +url = "/index.xml" + +[taxonomies] + author = "authors" diff --git a/content/about.md b/content/about.md new file mode 100644 index 0000000..a78a2d8 --- /dev/null +++ b/content/about.md @@ -0,0 +1,11 @@ +--- +title: "About" +date: 2019-07-30T17:05:33+02:00 +type: "page" +--- + +Development blog for Profanity. + +Blog article authors: + + * [jubalh](https://github.com/jubalh) diff --git a/content/authors/jubalh/_index.md b/content/authors/jubalh/_index.md new file mode 100644 index 0000000..63fe46f --- /dev/null +++ b/content/authors/jubalh/_index.md @@ -0,0 +1,9 @@ +--- +name: jubalh +photo: 'https://upload.wikimedia.org/wikipedia/commons/6/6d/Ursula_K_Le_Guin.JPG' +twitter: ursulaleguin + +--- +Ursula Kroeber Le Guin (October 21, 1929 – January 22, 2018) was an American +novelist. The New York Times described her as “America’s greatest science fiction writer”, although she said that she would prefer to be known as an “American novelist”. + diff --git a/content/post/intro.md b/content/post/intro.md new file mode 100644 index 0000000..405074e --- /dev/null +++ b/content/post/intro.md @@ -0,0 +1,10 @@ +--- +title: "Intro" +date: 2020-01-03T17:16:59+02:00 +authors: + - jubalh +--- + +Hello folks! +Now with the 0.8.0 release around the corner we would like to start a development blog. +We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. From 58320f5356edd570b06c992fbd954328a0ea6a29 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 3 Jan 2020 18:35:03 +0100 Subject: [PATCH 02/65] Add link to theme --- config.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/config.toml b/config.toml index 480b3d6..cb60d28 100644 --- a/config.toml +++ b/config.toml @@ -1,6 +1,7 @@ baseURL = "https://profanity-im.github.io/blog" languageCode = "en-us" title = "profanity" +# https://github.com/profanity-im/profanity-hugo-theme-ezhil theme = "profanity-hugo-theme-ezhil" # Enable syntax highlighting. From dc5c71abc56ad371cbf15b6a1bbccf2e59d55a17 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 3 Jan 2020 18:53:45 +0100 Subject: [PATCH 03/65] Fix baseURL --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index cb60d28..702f25c 100644 --- a/config.toml +++ b/config.toml @@ -1,4 +1,4 @@ -baseURL = "https://profanity-im.github.io/blog" +baseURL = "https://profanity-im.github.io/blog/" languageCode = "en-us" title = "profanity" # https://github.com/profanity-im/profanity-hugo-theme-ezhil From d2b4a9264322329f00b4e5256b6ba3276f432567 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 3 Jan 2020 19:27:47 +0100 Subject: [PATCH 04/65] Fix RSS link --- config.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config.toml b/config.toml index 702f25c..c138c24 100644 --- a/config.toml +++ b/config.toml @@ -50,7 +50,7 @@ url = "https://twitter.com/ProfanityIM" [[params.social]] name = "RSS" icon = "rss" -url = "/index.xml" +url = "/blog/index.xml" [taxonomies] author = "authors" From 8b440b11a3b8ec4e595dcaecbd82d3cb44a2c44f Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 3 Jan 2020 19:30:25 +0100 Subject: [PATCH 05/65] Add README --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..fc0a48d --- /dev/null +++ b/README.md @@ -0,0 +1,10 @@ +# profanity development blog + +Download latest [hugo](https://github.com/gohugoio/hugo/releases) release. +Extract it in `~`. +`git clone https://github.com/profanity-im/blog` +`~/hugo` + +Copy the `public` folder to the `blog` folder in https://github.com/profanity-im/profanity-im.github.io. + +The theme is located at https://github.com/profanity-im/profanity-hugo-theme-ezhil and is a fork of https://github.com/vividvilla/ezhil. From 40359b6825716fe23e1d3f223d0a93ddf21907c7 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sun, 26 Jan 2020 16:22:04 +0100 Subject: [PATCH 06/65] Add blogpost on how to get a backtrace --- content/post/how-to-get-a-backtrace.md | 46 ++ public/about/index.html | 87 ++++ public/authors/index.html | 88 ++++ public/authors/index.xml | 33 ++ public/authors/jubalh/index.html | 75 ++++ public/authors/jubalh/index.xml | 24 ++ public/authors/mdosch/index.html | 75 ++++ public/authors/mdosch/index.xml | 30 ++ public/css/dark.css | 60 +++ public/css/main.css | 402 ++++++++++++++++++ public/css/normalize.css | 1 + public/index.html | 105 +++++ public/index.xml | 50 +++ public/js/feather.min.js | 13 + public/js/main.js | 0 public/page/1/index.html | 1 + public/post/how-to-get-a-backtrace/index.html | 149 +++++++ public/post/index.html | 77 ++++ public/post/index.xml | 39 ++ public/post/intro/index.html | 81 ++++ public/sitemap.xml | 45 ++ 21 files changed, 1481 insertions(+) create mode 100644 content/post/how-to-get-a-backtrace.md create mode 100644 public/about/index.html create mode 100644 public/authors/index.html create mode 100644 public/authors/index.xml create mode 100644 public/authors/jubalh/index.html create mode 100644 public/authors/jubalh/index.xml create mode 100644 public/authors/mdosch/index.html create mode 100644 public/authors/mdosch/index.xml create mode 100644 public/css/dark.css create mode 100644 public/css/main.css create mode 100644 public/css/normalize.css create mode 100644 public/index.html create mode 100644 public/index.xml create mode 100644 public/js/feather.min.js create mode 100644 public/js/main.js create mode 100644 public/page/1/index.html create mode 100644 public/post/how-to-get-a-backtrace/index.html create mode 100644 public/post/index.html create mode 100644 public/post/index.xml create mode 100644 public/post/intro/index.html create mode 100644 public/sitemap.xml diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md new file mode 100644 index 0000000..69449d9 --- /dev/null +++ b/content/post/how-to-get-a-backtrace.md @@ -0,0 +1,46 @@ +--- +title: "How to get a backtrace" +date: 2020-01-03T17:16:59+02:00 +authors: + - mdosch +--- + +When you're running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new features are added. If this happens it +is helpful to provide a backtrace for the developers to find and fix the +bug. + +I will explain one possibility how to get a backtrace of profanity +(or any other TUI application): + + +### Preparation + +The following requirements must be installed: + +* [gdb][10] +* gdbserver +* debug symbols (depending on your distribution they might already be included) + * e.g. profanity-dbgsym (for debian) + * e.g. libstrophe0-dbgsym (for debian) + * e.g. libexpat1-dbgsym (for debian) + + +### Run profanity + +* Open terminal #1 + * Run `gdbserver localhost:1234 /usr/bin/profanity` +* Open terminal #2 + * Run `gdb /usr/bin/profanity` + * Enter `target remote localhost:1234` + * Enter `c` +* Profanity opens in terminal #1 + * Reproduce crash +* A *gdb* command line opens in terminal #2 + * Enter `bt` or `bt full` [^1] +* Create an issue in the [bugtracker][20] and include the output of the previous step + +[^1]: `bt full` gives a much more detailled output but in most cases `bt` is enough for the dev to know what's going on. + +[10]:https://www.gnu.org/software/gdb/ +[20]:https://github.com/profanity-im/profanity/issues diff --git a/public/about/index.html b/public/about/index.html new file mode 100644 index 0000000..2e7cd33 --- /dev/null +++ b/public/about/index.html @@ -0,0 +1,87 @@ + + + + + About - profanity + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + +
+

About

+
Posted at — Jul 30, 2019
+
+ +
+

Development blog for Profanity.

+ +

Blog article authors:

+ + + +
+ + +
+ + + + + + + diff --git a/public/authors/index.html b/public/authors/index.html new file mode 100644 index 0000000..3c5d1e2 --- /dev/null +++ b/public/authors/index.html @@ -0,0 +1,88 @@ + + + + + Authors - profanity + + + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + +

All tags

+ + + + + + + + +
+ + + + jubalh + + + + mdosch + +
+
+ + + + + + + + + diff --git a/public/authors/index.xml b/public/authors/index.xml new file mode 100644 index 0000000..0c13d15 --- /dev/null +++ b/public/authors/index.xml @@ -0,0 +1,33 @@ + + + + Authors on profanity + https://profanity-im.github.io/blog/authors/ + Recent content in Authors on profanity + Hugo -- gohugo.io + en-us + Fri, 03 Jan 2020 17:16:59 +0200 + + + + + + + https://profanity-im.github.io/blog/authors/jubalh/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/authors/jubalh/ + Ursula Kroeber Le Guin (October 21, 1929 – January 22, 2018) was an American novelist. The New York Times described her as “America’s greatest science fiction writer”, although she said that she would prefer to be known as an “American novelist”. + + + + mdosch + https://profanity-im.github.io/blog/authors/mdosch/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/authors/mdosch/ + + + + + \ No newline at end of file diff --git a/public/authors/jubalh/index.html b/public/authors/jubalh/index.html new file mode 100644 index 0000000..a9f259b --- /dev/null +++ b/public/authors/jubalh/index.html @@ -0,0 +1,75 @@ + + + + + - profanity + + + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + + +

Entries tagged - ""

+ + + +
+ + + + + + + + + diff --git a/public/authors/jubalh/index.xml b/public/authors/jubalh/index.xml new file mode 100644 index 0000000..9c6a6e3 --- /dev/null +++ b/public/authors/jubalh/index.xml @@ -0,0 +1,24 @@ + + + + profanity + https://profanity-im.github.io/blog/authors/jubalh/ + Recent content on profanity + Hugo -- gohugo.io + en-us + Fri, 03 Jan 2020 17:16:59 +0200 + + + + + + Intro + https://profanity-im.github.io/blog/post/intro/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/intro/ + Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. + + + + \ No newline at end of file diff --git a/public/authors/mdosch/index.html b/public/authors/mdosch/index.html new file mode 100644 index 0000000..803f363 --- /dev/null +++ b/public/authors/mdosch/index.html @@ -0,0 +1,75 @@ + + + + + mdosch - profanity + + + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + + +

Entries tagged - "mdosch"

+ + + +
+ + + + + + + + + diff --git a/public/authors/mdosch/index.xml b/public/authors/mdosch/index.xml new file mode 100644 index 0000000..3eda58b --- /dev/null +++ b/public/authors/mdosch/index.xml @@ -0,0 +1,30 @@ + + + + mdosch on profanity + https://profanity-im.github.io/blog/authors/mdosch/ + Recent content in mdosch on profanity + Hugo -- gohugo.io + en-us + Fri, 03 Jan 2020 17:16:59 +0200 + + + + + + How to get a backtrace + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + <p>When you&rsquo;re running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new features are added. If this happens it +is helpful to provide a backtrace for the developers to find and fix the +bug.</p> + +<p>I will explain one possibility how to get a backtrace of profanity +(or any other TUI application):</p> + + + + \ No newline at end of file diff --git a/public/css/dark.css b/public/css/dark.css new file mode 100644 index 0000000..6841161 --- /dev/null +++ b/public/css/dark.css @@ -0,0 +1,60 @@ +body { + color: #ddd; + background-color: #000; +} + +::-moz-selection { + background: #666; + text-shadow: none +} + +::selection { + background: #666; + text-shadow: none +} + +hr { + border-color: #333; +} + +blockquote { + border-color: #ddd; +} + +h1,h2,h3,h4,h5,h6 { + color: #ddd; +} + +a,a:hover { + color: #ff7979; + text-decoration: none; +} + +.site-description a, +.site-description a:hover { + color: #ddd; + text-decoration: underline; +} + +a:hover { + opacity: 0.8; +} + +.post-tags .tags a { + border: 1px solid #ddd; + color: #ddd; +} + +.site-title a { + color: #ddd; + text-decoration: none !important; +} + +.header nav, +.footer { + border-color: #333; +} + +.highlight { + background-color: #333; +} diff --git a/public/css/main.css b/public/css/main.css new file mode 100644 index 0000000..4d3fe19 --- /dev/null +++ b/public/css/main.css @@ -0,0 +1,402 @@ +body { + font-family: "ubuntu", sans-serif; + font-weight: 400; + color: #333; + line-height: 1.6; + font-size: 16px; +} + +a, a:hover { + color: #a00; + text-decoration: none; + word-break: break-word; +} + +html,button,input,select,textarea { + color: #333; +} + +::-moz-selection { + background: #b3d4fc; + text-shadow: none; +} + +::selection { + background: #b3d4fc; + text-shadow: none; +} + +hr { + display: block; + height: 1px; + border: 0; + border-top: 1px solid #ccc; + margin: 1rem 0; + padding: 0; +} + +img { + margin: 10px auto 10px auto; + max-width: 100%; + display: block; +} + +a img { + border:none; +} + +figure { + margin: 0; + text-align: center; +} + +fieldset { + border: 0; + margin: 0; + padding: 0; +} + +textarea { + resize: vertical; +} + +blockquote { + margin-left: 1rem; + font-style: italic; + font-size: 1.4rem; + font-family: Georgia,bitstream charter,serif; + border-left: 3px solid; + border-color: #a00; + padding-left: 20px; +} + +blockquote cite { + font-size: 70%; + opacity: .8; +} + +blockquote em { + font-weight: 600; +} + +a,a:hover { + color: #a00; + text-decoration: none +} + +a:hover { + text-decoration: underline +} + +h1,h2,h3,h4,h5,h6 { + font-family: raleway,sans-serif; + line-height: 1.2; + color: #333; + font-weight: 200; +} + +h1 { + font-size: 2.75rem; +} + +h2 { + font-size: 2rem; +} + +h3 { + font-size: 1.6rem; +} + +h4 { + font-size: 1.2rem; +} + +h5 { + font-size: 1rem; +} + +h6 { + font-size: .9rem; +} + +.align-center { + text-align: center; +} + +.align-left { + text-align: left; +} + +.align-right { + text-align: right; +} + +.container { + max-width: 800px; +} + +ul { + padding-left: 15px; +} + +ul.flat { + margin: 0; + padding: 0; +} + +ul.flat li { + display: inline-block; + list-style: none; + margin-left: 0; +} + +.prevent-collapse { + min-height: .1rem +} + +.page-title { + margin: 0; +} + +.smaller { + font-size: 70%; +} + +ul { + list-style: disc inside; +} + +.site-title a { + color: #333; + text-decoration: none !important; +} + +.post ul li { + margin-bottom: 10px; +} + +.post ul li p { + display: inline; +} + +.highlight pre { + margin-bottom: 0; + margin-top: 0; + padding: 20px; + background-color: transparent !important; +} + +.highlight { + background: 0 0; + background-color: #FAFAFA; +} + +.wrapper { + max-width: 760px; + margin: 0 auto; +} + +.container { + margin-top: 50px; +} + +.header { + margin-bottom: 20px; + padding-bottom: 20px; +} + +.header h1, +.header h2 { + margin: 0; + padding: 0; + font-size: 2rem; + line-height: 1.3em; +} + +.header h2 { + font-size: 1.125rem; +} + +.header nav { + margin-top: 20px; + border-top: 1px solid #f4f4f4; +} + +.header nav ul, +.header nav li { + margin: 0; +} + +.header nav ul.flat { + padding: 0; +} + +.header nav ul.flat li { + display: inline-block; + list-style: none; + margin-left: 0; + margin-right: 10px; + margin-top: 10px; + text-transform: capitalize; +} + +.header .site-description { + display: flex; + justify-content: space-between; +} + +.header .site-description nav { + margin: 0; + padding: 0; + border: none; + min-width: 50px; + margin-left: 15px; +} + +.header .site-description nav ul svg { + max-height: 15px; +} + +.section .section-header { + font-size: 0.75rem; + font-weight: 600; + text-transform: uppercase; + color: #999; + margin-bottom: 20px; + letter-spacing: 1px; +} + +.recent-posts .posts .post { + margin-bottom: 30px; +} + +.recent-posts .posts .post .meta, +.post .post-header .meta, +.list .posts .post .meta { + font-size: 0.725rem; + color: #999; + margin-bottom: 4px; +} + +.post .post-header { + margin-bottom: 30px; +} + +.post .post-header .title { + margin: 0; +} + +.post-tags a { + margin-right: 5px; +} + +.post .post-header .meta { + padding-left: 5px; + margin-top: 10px; +} + +.post .draft-label { + color: #a00; + text-decoration: none; + padding: 2px 4px; + border-radius: 4px; + margin-left: 6px; + background-color: #f9f2f4; +} + +.post-tags .tags li { + margin-bottom: 0; + margin-top: 20px; +} + +.post-tags .tags a { + display: inline-block; + border: 1px solid #a00; + border-radius: 4px; + padding: 0px 6px; + color: #a00; + line-height: 20px; + font-size: 12px; + text-decoration: none; + margin: 0 1px; +} + +.list .posts .post .meta { + margin-bottom: 0; + margin-left: 5px; +} + +.footer { + text-align: right; + font-size: 0.75em; + color: #999; + border-top: 1px solid #f4f4f4; + padding: 20px 0; + margin-top: 40px; +} + +.page-title { + margin-bottom: 0; +} + +.tag-cloud { + margin-top: 20px; +} + +.tag-cloud a { + margin-right: 15px; +} + +.pagination { + margin: 0; + padding: 0; + text-align: left; + display: flex; + justify-content: space-between; +} + +.pagination li { + list-style: none; + display: inline-block; + margin: 0; + padding: 0; +} + +.pagination .page-prev { + margin-right: 20px; + padding-right: 20px; +} + +.pagination .page-item.page-prev { + text-align: left; +} + +.pagination .page-item.page-next { + text-align: right; +} + +@media (max-width: 767px) { + body { + padding: 20px; + } + + h1 { + font-size: 1.8rem; + } + + h2 { + font-size: 1.6rem; + } + + h3 { + font-size: 1.2rem; + } + + h4 { + font-size: 1rem; + } + + .container { + margin-top: 10px; + } +} diff --git a/public/css/normalize.css b/public/css/normalize.css new file mode 100644 index 0000000..08ac354 --- /dev/null +++ b/public/css/normalize.css @@ -0,0 +1 @@ +/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/public/index.html b/public/index.html new file mode 100644 index 0000000..5618a23 --- /dev/null +++ b/public/index.html @@ -0,0 +1,105 @@ + + + + + + profanity - development blog + + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + +
+

+ Recent posts +

+
+ + + +
+
Jan 3, 2020
+ How to get a backtrace — + + + + +When you're running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new feat... + + +
+ +
+
Jan 3, 2020
+ Intro — + + + +Hello folks! +Now with the 0.8.0 release around the corner we would like to start a development blog. +We hope to give yo... + + +
+ + + + +
+
+
+ + + + + + + diff --git a/public/index.xml b/public/index.xml new file mode 100644 index 0000000..85c8835 --- /dev/null +++ b/public/index.xml @@ -0,0 +1,50 @@ + + + + profanity + https://profanity-im.github.io/blog/ + Recent content on profanity + Hugo -- gohugo.io + en-us + Fri, 03 Jan 2020 17:16:59 +0200 + + + + + + How to get a backtrace + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + <p>When you&rsquo;re running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new features are added. If this happens it +is helpful to provide a backtrace for the developers to find and fix the +bug.</p> + +<p>I will explain one possibility how to get a backtrace of profanity +(or any other TUI application):</p> + + + + Intro + https://profanity-im.github.io/blog/post/intro/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/intro/ + Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. + + + + About + https://profanity-im.github.io/blog/about/ + Tue, 30 Jul 2019 17:05:33 +0200 + + https://profanity-im.github.io/blog/about/ + Development blog for Profanity. +Blog article authors: + jubalh + + + + \ No newline at end of file diff --git a/public/js/feather.min.js b/public/js/feather.min.js new file mode 100644 index 0000000..d229492 --- /dev/null +++ b/public/js/feather.min.js @@ -0,0 +1,13 @@ +!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(l){if(n[l])return n[l].exports;var t=n[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=n,i.d=function(e,n,l){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:l})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=61)}([function(e,n,i){var l=i(20)("wks"),t=i(11),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:t)("Symbol."+e))}).store=l},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){var i=e.exports={version:"2.5.6"};"number"==typeof __e&&(__e=i)},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){e.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n,i){var l=i(13);e.exports=function(e){if(!l(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var l=i(5),t=i(56),r=i(55),o=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(e,n,i){if(l(e),n=r(n,!0),l(i),t)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var l=i(6),t=i(12);e.exports=i(4)?function(e,n,i){return l.f(e,n,t(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=o(i(35)),t=o(i(33)),r=o(i(32));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(t.default).map(function(e){return new l.default(e,t.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){var l=i(20)("keys"),t=i(11);e.exports=function(e){return l[e]||(l[e]=t(e))}},function(e,n){e.exports={}},function(e,n){var i=0,l=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+l).toString(36))}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,l=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?l:i)(e)}},function(e,n,i){var l; +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +/*! + Copyright (c) 2016 Jed Watson. + Licensed under the MIT License (MIT), see + http://jedwatson.github.io/classnames +*/ +!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,l=0;l0?t(l(e),9007199254740991):0}},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var l=i(48),t=i(14);e.exports=function(e){return l(t(e))}},function(e,n,i){var l=i(54);e.exports=function(e,n,i){if(l(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,l){return e.call(n,i,l)};case 3:return function(i,l,t){return e.call(n,i,l,t)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){var l=i(1),t=i(7),r=i(3),o=i(11)("src"),a=Function.toString,c=(""+a).split("toString");i(2).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||t(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||t(i,o,e[n]?""+e[n]:c.join(String(n)))),e===l?e[n]=i:a?e[n]?e[n]=i:t(e,n,i):(delete e[n],t(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var l=i(13),t=i(1).document,r=l(t)&&l(t.createElement);e.exports=function(e){return r?t.createElement(e):{}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var l=i(1),t=i(2),r=i(7),o=i(25),a=i(24),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,d=e&c.S,f=e&c.P,v=e&c.B,g=u?l:d?l[n]||(l[n]={}):(l[n]||{}).prototype,m=u?t:t[n]||(t[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,l):f&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),f&&M[y]!=h&&(M[y]=h)};l.core=t,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n){e.exports=!1},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(l({},n,i,{class:(0,t.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l,t=i(8),r=(l=t)&&l.__esModule?l:{default:l};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning"],"alert-octagon":["warning"],"alert-triangle":["warning"],"at-sign":["mention"],award:["achievement","badge"],aperture:["camera","photo"],bell:["alarm","notification"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read"],book:["read","dictionary","booklet","magazine"],bookmark:["read","clip","marker","tag"],briefcase:["work","bag","baggage","folder"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],command:["keyboard","cmd"],compass:["navigation","safari","travel"],copy:["clone","duplicate"],"corner-down-left":["arrow"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch"],"external-link":["outbound"],facebook:["logo"],"fast-forward":["music"],figma:["logo","design","tool"],film:["movie","video"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],global:["world","browser","language","translate"],"hard-drive":["computer","server"],hash:["hashtag","number","pound"],headphones:["music","audio"],heart:["like","love"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication"],"life-bouy":["help","life ring","support"],linkedin:["logo"],lock:["security","password"],"log-in":["sign in","arrow"],"log-out":["sign out","arrow"],mail:["email"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record"],mic:["record"],minimize:["exit fullscreen"],"minimize-2":["exit fullscreen","arrows"],monitor:["tv"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","stop"],"pen-tool":["vector","drawing"],play:["music","start"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],radio:["signal"],rewind:["music"],rss:["feed","subscribe"],save:["floppy disk"],search:["find","magnifier","magnifying glass"],send:["message","mail","paper airplane"],settings:["cog","edit","gear","preferences"],shield:["security"],"shield-off":["security"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slash:["ban","no"],sliders:["settings","controls"],smile:["emoji","face","happy","good","emotion"],speaker:["music"],star:["bookmark","favorite","like"],sun:["brightness","weather","light"],sunrise:["weather"],sunset:["weather"],tag:["label"],target:["bullseye"],terminal:["code","command line"],"thumbs-down":["dislike","bad"],"thumbs-up":["like","good"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],trash:["garbage","delete","remove"],"trash-2":["garbage","delete","remove"],triangle:["delta"],truck:["delivery","van","shipping"],twitter:["logo"],umbrella:["rain","weather"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times"],"x-octagon":["delete","stop","alert","warning","times"],"x-square":["cancel","close","delete","remove","times"],x:["cancel","close","delete","remove","times"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"dollar-sign":'',"download-cloud":'',download:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=t,this.attrs=l({},o.default,{class:"feather feather-"+n})}return t(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var l=o(i(8)),t=o(i(31)),r=o(i(30));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:l.default,toSvg:t.default,replace:r.default}},function(e,n,i){var l=i(0)("iterator"),t=!1;try{var r=[7][l]();r.return=function(){t=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!t)return!1;var i=!1;try{var r=[7],o=r[l]();o.next=function(){return{done:i=!0}},r[l]=function(){return o},e(r)}catch(e){}return i}},function(e,n,i){var l=i(22),t=i(0)("toStringTag"),r="Arguments"==l(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),t))?i:r?l(n):"Object"==(o=l(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var l=i(38),t=i(0)("iterator"),r=i(10);e.exports=i(2).getIteratorMethod=function(e){if(void 0!=e)return e[t]||e["@@iterator"]||r[l(e)]}},function(e,n,i){"use strict";var l=i(6),t=i(12);e.exports=function(e,n,i){n in e?l.f(e,n,t(0,i)):e[n]=i}},function(e,n,i){var l=i(10),t=i(0)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||r[t]===e)}},function(e,n,i){var l=i(5);e.exports=function(e,n,i,t){try{return t?n(l(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&l(r.call(e)),n}}},function(e,n,i){"use strict";var l=i(24),t=i(28),r=i(17),o=i(42),a=i(41),c=i(21),y=i(40),p=i(39);t(t.S+t.F*!i(37)(function(e){Array.from(e)}),"Array",{from:function(e){var n,i,t,h,x=r(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,v=0,g=p(x);if(f&&(d=l(d,u>2?arguments[2]:void 0,2)),void 0==g||s==Array&&a(g))for(i=new s(n=c(x.length));n>v;v++)y(i,v,f?d(x[v],v):x[v]);else for(h=g.call(x),i=new s;!(t=h.next()).done;v++)y(i,v,f?o(h,d,[t.value,v],!0):t.value);return i.length=v,i}})},function(e,n,i){var l=i(3),t=i(17),r=i(9)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=t(e),l(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,n,i){var l=i(1).document;e.exports=l&&l.documentElement},function(e,n,i){var l=i(15),t=Math.max,r=Math.min;e.exports=function(e,n){return(e=l(e))<0?t(e+n,0):r(e,n)}},function(e,n,i){var l=i(23),t=i(21),r=i(46);e.exports=function(e){return function(n,i,o){var a,c=l(n),y=t(c.length),p=r(o,y);if(e&&i!=i){for(;y>p;)if((a=c[p++])!=a)return!0}else for(;y>p;p++)if((e||p in c)&&c[p]===i)return e||p||0;return!e&&-1}}},function(e,n,i){var l=i(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==l(e)?e.split(""):Object(e)}},function(e,n,i){var l=i(3),t=i(23),r=i(47)(!1),o=i(9)("IE_PROTO");e.exports=function(e,n){var i,a=t(e),c=0,y=[];for(i in a)i!=o&&l(a,i)&&y.push(i);for(;n.length>c;)l(a,i=n[c++])&&(~r(y,i)||y.push(i));return y}},function(e,n,i){var l=i(49),t=i(19);e.exports=Object.keys||function(e){return l(e,t)}},function(e,n,i){var l=i(6),t=i(5),r=i(50);e.exports=i(4)?Object.defineProperties:function(e,n){t(e);for(var i,o=r(n),a=o.length,c=0;a>c;)l.f(e,i=o[c++],n[i]);return e}},function(e,n,i){var l=i(5),t=i(51),r=i(19),o=i(9)("IE_PROTO"),a=function(){},c=function(){var e,n=i(26)("iframe"),l=r.length;for(n.style.display="none",i(45).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write(" + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + +
+

How to get a backtrace

+
Posted at — Jan 3, 2020
+
+ +
+

When you’re running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new features are added. If this happens it +is helpful to provide a backtrace for the developers to find and fix the +bug.

+ +

I will explain one possibility how to get a backtrace of profanity +(or any other TUI application):

+ +

Preparation

+ +

The following requirements must be installed:

+ +
    +
  • gdb
  • +
  • gdbserver
  • +
  • debug symbols (depending on your distribution they might already be included) + +
      +
    • e.g. profanity-dbgsym (for debian)
    • +
    • e.g. libstrophe0-dbgsym (for debian)
    • +
    • e.g. libexpat1-dbgsym (for debian)
    • +
  • +
+ +

Run profanity

+ +
    +
  • Open terminal #1 + +
      +
    • Run gdbserver localhost:1234 /usr/bin/profanity
    • +
  • +
  • Open terminal #2 + +
      +
    • Run gdb /usr/bin/profanity
    • +
    • Enter target remote localhost:1234
    • +
    • Enter c
    • +
  • +
  • Profanity opens in terminal #1 + +
      +
    • Reproduce crash
    • +
  • +
  • A gdb command line opens in terminal #2 + +
      +
    • Enter bt or bt full 1
    • +
  • +
  • Create an issue in the bugtracker and include the output of the previous step
  • +
+
+ +
+ +
    +
  1. bt full gives a much more detailled output but in most cases bt is enough for the dev to know what’s going on. + [return]
  2. +
+
+
+ + +
+ + + + + + + diff --git a/public/post/index.html b/public/post/index.html new file mode 100644 index 0000000..b67b4b8 --- /dev/null +++ b/public/post/index.html @@ -0,0 +1,77 @@ + + + + + Posts - profanity + + + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + + +

All articles

+ + + +
+ + + + + + + + + diff --git a/public/post/index.xml b/public/post/index.xml new file mode 100644 index 0000000..b7c2526 --- /dev/null +++ b/public/post/index.xml @@ -0,0 +1,39 @@ + + + + Posts on profanity + https://profanity-im.github.io/blog/post/ + Recent content in Posts on profanity + Hugo -- gohugo.io + en-us + Fri, 03 Jan 2020 17:16:59 +0200 + + + + + + How to get a backtrace + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + <p>When you&rsquo;re running profanity master it may occur that profanity crashes +with SIGSEGV or SIGABRT when new features are added. If this happens it +is helpful to provide a backtrace for the developers to find and fix the +bug.</p> + +<p>I will explain one possibility how to get a backtrace of profanity +(or any other TUI application):</p> + + + + Intro + https://profanity-im.github.io/blog/post/intro/ + Fri, 03 Jan 2020 17:16:59 +0200 + + https://profanity-im.github.io/blog/post/intro/ + Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. + + + + \ No newline at end of file diff --git a/public/post/intro/index.html b/public/post/intro/index.html new file mode 100644 index 0000000..cc4d91c --- /dev/null +++ b/public/post/intro/index.html @@ -0,0 +1,81 @@ + + + + + Intro - profanity + + + + + + + + + + + + + + + + + + + +
+
+

profanity

+

development blog

+
+ + +
+ + +
+

Intro

+
Posted at — Jan 3, 2020
+
+ +
+

Hello folks! +Now with the 0.8.0 release around the corner we would like to start a development blog. +We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute.

+ +
+ + +
+ + + + + + + diff --git a/public/sitemap.xml b/public/sitemap.xml new file mode 100644 index 0000000..150399c --- /dev/null +++ b/public/sitemap.xml @@ -0,0 +1,45 @@ + + + + + https://profanity-im.github.io/blog/authors/jubalh/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/authors/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/post/intro/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/authors/mdosch/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/post/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/ + 2020-01-03T17:16:59+02:00 + + + + https://profanity-im.github.io/blog/about/ + 2019-07-30T17:05:33+02:00 + + + \ No newline at end of file From ea768ec14d8db622527482b1c376596ceafd7c1c Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sun, 26 Jan 2020 16:59:00 +0100 Subject: [PATCH 07/65] Remove unwanted folder public --- public/about/index.html | 87 ---- public/authors/index.html | 88 ---- public/authors/index.xml | 33 -- public/authors/jubalh/index.html | 75 ---- public/authors/jubalh/index.xml | 24 -- public/authors/mdosch/index.html | 75 ---- public/authors/mdosch/index.xml | 30 -- public/css/dark.css | 60 --- public/css/main.css | 402 ------------------ public/css/normalize.css | 1 - public/index.html | 105 ----- public/index.xml | 50 --- public/js/feather.min.js | 13 - public/js/main.js | 0 public/page/1/index.html | 1 - public/post/how-to-get-a-backtrace/index.html | 149 ------- public/post/index.html | 77 ---- public/post/index.xml | 39 -- public/post/intro/index.html | 81 ---- public/sitemap.xml | 45 -- 20 files changed, 1435 deletions(-) delete mode 100644 public/about/index.html delete mode 100644 public/authors/index.html delete mode 100644 public/authors/index.xml delete mode 100644 public/authors/jubalh/index.html delete mode 100644 public/authors/jubalh/index.xml delete mode 100644 public/authors/mdosch/index.html delete mode 100644 public/authors/mdosch/index.xml delete mode 100644 public/css/dark.css delete mode 100644 public/css/main.css delete mode 100644 public/css/normalize.css delete mode 100644 public/index.html delete mode 100644 public/index.xml delete mode 100644 public/js/feather.min.js delete mode 100644 public/js/main.js delete mode 100644 public/page/1/index.html delete mode 100644 public/post/how-to-get-a-backtrace/index.html delete mode 100644 public/post/index.html delete mode 100644 public/post/index.xml delete mode 100644 public/post/intro/index.html delete mode 100644 public/sitemap.xml diff --git a/public/about/index.html b/public/about/index.html deleted file mode 100644 index 2e7cd33..0000000 --- a/public/about/index.html +++ /dev/null @@ -1,87 +0,0 @@ - - - - - About - profanity - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - -
-

About

-
Posted at — Jul 30, 2019
-
- -
-

Development blog for Profanity.

- -

Blog article authors:

- - - -
- - -
- - - - - - - diff --git a/public/authors/index.html b/public/authors/index.html deleted file mode 100644 index 3c5d1e2..0000000 --- a/public/authors/index.html +++ /dev/null @@ -1,88 +0,0 @@ - - - - - Authors - profanity - - - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - -

All tags

- - - - - - - - -
- - - - jubalh - - - - mdosch - -
-
- - - - - - - - - diff --git a/public/authors/index.xml b/public/authors/index.xml deleted file mode 100644 index 0c13d15..0000000 --- a/public/authors/index.xml +++ /dev/null @@ -1,33 +0,0 @@ - - - - Authors on profanity - https://profanity-im.github.io/blog/authors/ - Recent content in Authors on profanity - Hugo -- gohugo.io - en-us - Fri, 03 Jan 2020 17:16:59 +0200 - - - - - - - https://profanity-im.github.io/blog/authors/jubalh/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/authors/jubalh/ - Ursula Kroeber Le Guin (October 21, 1929 – January 22, 2018) was an American novelist. The New York Times described her as “America’s greatest science fiction writer”, although she said that she would prefer to be known as an “American novelist”. - - - - mdosch - https://profanity-im.github.io/blog/authors/mdosch/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/authors/mdosch/ - - - - - \ No newline at end of file diff --git a/public/authors/jubalh/index.html b/public/authors/jubalh/index.html deleted file mode 100644 index a9f259b..0000000 --- a/public/authors/jubalh/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - - profanity - - - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - - -

Entries tagged - ""

- - - -
- - - - - - - - - diff --git a/public/authors/jubalh/index.xml b/public/authors/jubalh/index.xml deleted file mode 100644 index 9c6a6e3..0000000 --- a/public/authors/jubalh/index.xml +++ /dev/null @@ -1,24 +0,0 @@ - - - - profanity - https://profanity-im.github.io/blog/authors/jubalh/ - Recent content on profanity - Hugo -- gohugo.io - en-us - Fri, 03 Jan 2020 17:16:59 +0200 - - - - - - Intro - https://profanity-im.github.io/blog/post/intro/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/intro/ - Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. - - - - \ No newline at end of file diff --git a/public/authors/mdosch/index.html b/public/authors/mdosch/index.html deleted file mode 100644 index 803f363..0000000 --- a/public/authors/mdosch/index.html +++ /dev/null @@ -1,75 +0,0 @@ - - - - - mdosch - profanity - - - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - - -

Entries tagged - "mdosch"

- - - -
- - - - - - - - - diff --git a/public/authors/mdosch/index.xml b/public/authors/mdosch/index.xml deleted file mode 100644 index 3eda58b..0000000 --- a/public/authors/mdosch/index.xml +++ /dev/null @@ -1,30 +0,0 @@ - - - - mdosch on profanity - https://profanity-im.github.io/blog/authors/mdosch/ - Recent content in mdosch on profanity - Hugo -- gohugo.io - en-us - Fri, 03 Jan 2020 17:16:59 +0200 - - - - - - How to get a backtrace - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - <p>When you&rsquo;re running profanity master it may occur that profanity crashes -with SIGSEGV or SIGABRT when new features are added. If this happens it -is helpful to provide a backtrace for the developers to find and fix the -bug.</p> - -<p>I will explain one possibility how to get a backtrace of profanity -(or any other TUI application):</p> - - - - \ No newline at end of file diff --git a/public/css/dark.css b/public/css/dark.css deleted file mode 100644 index 6841161..0000000 --- a/public/css/dark.css +++ /dev/null @@ -1,60 +0,0 @@ -body { - color: #ddd; - background-color: #000; -} - -::-moz-selection { - background: #666; - text-shadow: none -} - -::selection { - background: #666; - text-shadow: none -} - -hr { - border-color: #333; -} - -blockquote { - border-color: #ddd; -} - -h1,h2,h3,h4,h5,h6 { - color: #ddd; -} - -a,a:hover { - color: #ff7979; - text-decoration: none; -} - -.site-description a, -.site-description a:hover { - color: #ddd; - text-decoration: underline; -} - -a:hover { - opacity: 0.8; -} - -.post-tags .tags a { - border: 1px solid #ddd; - color: #ddd; -} - -.site-title a { - color: #ddd; - text-decoration: none !important; -} - -.header nav, -.footer { - border-color: #333; -} - -.highlight { - background-color: #333; -} diff --git a/public/css/main.css b/public/css/main.css deleted file mode 100644 index 4d3fe19..0000000 --- a/public/css/main.css +++ /dev/null @@ -1,402 +0,0 @@ -body { - font-family: "ubuntu", sans-serif; - font-weight: 400; - color: #333; - line-height: 1.6; - font-size: 16px; -} - -a, a:hover { - color: #a00; - text-decoration: none; - word-break: break-word; -} - -html,button,input,select,textarea { - color: #333; -} - -::-moz-selection { - background: #b3d4fc; - text-shadow: none; -} - -::selection { - background: #b3d4fc; - text-shadow: none; -} - -hr { - display: block; - height: 1px; - border: 0; - border-top: 1px solid #ccc; - margin: 1rem 0; - padding: 0; -} - -img { - margin: 10px auto 10px auto; - max-width: 100%; - display: block; -} - -a img { - border:none; -} - -figure { - margin: 0; - text-align: center; -} - -fieldset { - border: 0; - margin: 0; - padding: 0; -} - -textarea { - resize: vertical; -} - -blockquote { - margin-left: 1rem; - font-style: italic; - font-size: 1.4rem; - font-family: Georgia,bitstream charter,serif; - border-left: 3px solid; - border-color: #a00; - padding-left: 20px; -} - -blockquote cite { - font-size: 70%; - opacity: .8; -} - -blockquote em { - font-weight: 600; -} - -a,a:hover { - color: #a00; - text-decoration: none -} - -a:hover { - text-decoration: underline -} - -h1,h2,h3,h4,h5,h6 { - font-family: raleway,sans-serif; - line-height: 1.2; - color: #333; - font-weight: 200; -} - -h1 { - font-size: 2.75rem; -} - -h2 { - font-size: 2rem; -} - -h3 { - font-size: 1.6rem; -} - -h4 { - font-size: 1.2rem; -} - -h5 { - font-size: 1rem; -} - -h6 { - font-size: .9rem; -} - -.align-center { - text-align: center; -} - -.align-left { - text-align: left; -} - -.align-right { - text-align: right; -} - -.container { - max-width: 800px; -} - -ul { - padding-left: 15px; -} - -ul.flat { - margin: 0; - padding: 0; -} - -ul.flat li { - display: inline-block; - list-style: none; - margin-left: 0; -} - -.prevent-collapse { - min-height: .1rem -} - -.page-title { - margin: 0; -} - -.smaller { - font-size: 70%; -} - -ul { - list-style: disc inside; -} - -.site-title a { - color: #333; - text-decoration: none !important; -} - -.post ul li { - margin-bottom: 10px; -} - -.post ul li p { - display: inline; -} - -.highlight pre { - margin-bottom: 0; - margin-top: 0; - padding: 20px; - background-color: transparent !important; -} - -.highlight { - background: 0 0; - background-color: #FAFAFA; -} - -.wrapper { - max-width: 760px; - margin: 0 auto; -} - -.container { - margin-top: 50px; -} - -.header { - margin-bottom: 20px; - padding-bottom: 20px; -} - -.header h1, -.header h2 { - margin: 0; - padding: 0; - font-size: 2rem; - line-height: 1.3em; -} - -.header h2 { - font-size: 1.125rem; -} - -.header nav { - margin-top: 20px; - border-top: 1px solid #f4f4f4; -} - -.header nav ul, -.header nav li { - margin: 0; -} - -.header nav ul.flat { - padding: 0; -} - -.header nav ul.flat li { - display: inline-block; - list-style: none; - margin-left: 0; - margin-right: 10px; - margin-top: 10px; - text-transform: capitalize; -} - -.header .site-description { - display: flex; - justify-content: space-between; -} - -.header .site-description nav { - margin: 0; - padding: 0; - border: none; - min-width: 50px; - margin-left: 15px; -} - -.header .site-description nav ul svg { - max-height: 15px; -} - -.section .section-header { - font-size: 0.75rem; - font-weight: 600; - text-transform: uppercase; - color: #999; - margin-bottom: 20px; - letter-spacing: 1px; -} - -.recent-posts .posts .post { - margin-bottom: 30px; -} - -.recent-posts .posts .post .meta, -.post .post-header .meta, -.list .posts .post .meta { - font-size: 0.725rem; - color: #999; - margin-bottom: 4px; -} - -.post .post-header { - margin-bottom: 30px; -} - -.post .post-header .title { - margin: 0; -} - -.post-tags a { - margin-right: 5px; -} - -.post .post-header .meta { - padding-left: 5px; - margin-top: 10px; -} - -.post .draft-label { - color: #a00; - text-decoration: none; - padding: 2px 4px; - border-radius: 4px; - margin-left: 6px; - background-color: #f9f2f4; -} - -.post-tags .tags li { - margin-bottom: 0; - margin-top: 20px; -} - -.post-tags .tags a { - display: inline-block; - border: 1px solid #a00; - border-radius: 4px; - padding: 0px 6px; - color: #a00; - line-height: 20px; - font-size: 12px; - text-decoration: none; - margin: 0 1px; -} - -.list .posts .post .meta { - margin-bottom: 0; - margin-left: 5px; -} - -.footer { - text-align: right; - font-size: 0.75em; - color: #999; - border-top: 1px solid #f4f4f4; - padding: 20px 0; - margin-top: 40px; -} - -.page-title { - margin-bottom: 0; -} - -.tag-cloud { - margin-top: 20px; -} - -.tag-cloud a { - margin-right: 15px; -} - -.pagination { - margin: 0; - padding: 0; - text-align: left; - display: flex; - justify-content: space-between; -} - -.pagination li { - list-style: none; - display: inline-block; - margin: 0; - padding: 0; -} - -.pagination .page-prev { - margin-right: 20px; - padding-right: 20px; -} - -.pagination .page-item.page-prev { - text-align: left; -} - -.pagination .page-item.page-next { - text-align: right; -} - -@media (max-width: 767px) { - body { - padding: 20px; - } - - h1 { - font-size: 1.8rem; - } - - h2 { - font-size: 1.6rem; - } - - h3 { - font-size: 1.2rem; - } - - h4 { - font-size: 1rem; - } - - .container { - margin-top: 10px; - } -} diff --git a/public/css/normalize.css b/public/css/normalize.css deleted file mode 100644 index 08ac354..0000000 --- a/public/css/normalize.css +++ /dev/null @@ -1 +0,0 @@ -/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */img,legend{border:0}legend,td,th{padding:0}html{font-family:serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,optgroup,strong{font-weight:700}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-.5em}sub{bottom:-.25em}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre,textarea{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type=button],input[type=reset],input[type=submit]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{height:auto}input[type=search]{-webkit-appearance:textfield;box-sizing:content-box}input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid silver;margin:0 2px;padding:.35em .625em .75em}table{border-collapse:collapse;border-spacing:0} \ No newline at end of file diff --git a/public/index.html b/public/index.html deleted file mode 100644 index 5618a23..0000000 --- a/public/index.html +++ /dev/null @@ -1,105 +0,0 @@ - - - - - - profanity - development blog - - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - -
-

- Recent posts -

-
- - - -
-
Jan 3, 2020
- How to get a backtrace — - - - - -When you're running profanity master it may occur that profanity crashes -with SIGSEGV or SIGABRT when new feat... - - -
- -
-
Jan 3, 2020
- Intro — - - - -Hello folks! -Now with the 0.8.0 release around the corner we would like to start a development blog. -We hope to give yo... - - -
- - - - -
-
-
- - - - - - - diff --git a/public/index.xml b/public/index.xml deleted file mode 100644 index 85c8835..0000000 --- a/public/index.xml +++ /dev/null @@ -1,50 +0,0 @@ - - - - profanity - https://profanity-im.github.io/blog/ - Recent content on profanity - Hugo -- gohugo.io - en-us - Fri, 03 Jan 2020 17:16:59 +0200 - - - - - - How to get a backtrace - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - <p>When you&rsquo;re running profanity master it may occur that profanity crashes -with SIGSEGV or SIGABRT when new features are added. If this happens it -is helpful to provide a backtrace for the developers to find and fix the -bug.</p> - -<p>I will explain one possibility how to get a backtrace of profanity -(or any other TUI application):</p> - - - - Intro - https://profanity-im.github.io/blog/post/intro/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/intro/ - Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. - - - - About - https://profanity-im.github.io/blog/about/ - Tue, 30 Jul 2019 17:05:33 +0200 - - https://profanity-im.github.io/blog/about/ - Development blog for Profanity. -Blog article authors: - jubalh - - - - \ No newline at end of file diff --git a/public/js/feather.min.js b/public/js/feather.min.js deleted file mode 100644 index d229492..0000000 --- a/public/js/feather.min.js +++ /dev/null @@ -1,13 +0,0 @@ -!function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n():"function"==typeof define&&define.amd?define([],n):"object"==typeof exports?exports.feather=n():e.feather=n()}("undefined"!=typeof self?self:this,function(){return function(e){var n={};function i(l){if(n[l])return n[l].exports;var t=n[l]={i:l,l:!1,exports:{}};return e[l].call(t.exports,t,t.exports,i),t.l=!0,t.exports}return i.m=e,i.c=n,i.d=function(e,n,l){i.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:l})},i.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},i.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return i.d(n,"a",n),n},i.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},i.p="",i(i.s=61)}([function(e,n,i){var l=i(20)("wks"),t=i(11),r=i(1).Symbol,o="function"==typeof r;(e.exports=function(e){return l[e]||(l[e]=o&&r[e]||(o?r:t)("Symbol."+e))}).store=l},function(e,n){var i=e.exports="undefined"!=typeof window&&window.Math==Math?window:"undefined"!=typeof self&&self.Math==Math?self:Function("return this")();"number"==typeof __g&&(__g=i)},function(e,n){var i=e.exports={version:"2.5.6"};"number"==typeof __e&&(__e=i)},function(e,n){var i={}.hasOwnProperty;e.exports=function(e,n){return i.call(e,n)}},function(e,n,i){e.exports=!i(27)(function(){return 7!=Object.defineProperty({},"a",{get:function(){return 7}}).a})},function(e,n,i){var l=i(13);e.exports=function(e){if(!l(e))throw TypeError(e+" is not an object!");return e}},function(e,n,i){var l=i(5),t=i(56),r=i(55),o=Object.defineProperty;n.f=i(4)?Object.defineProperty:function(e,n,i){if(l(e),n=r(n,!0),l(i),t)try{return o(e,n,i)}catch(e){}if("get"in i||"set"in i)throw TypeError("Accessors not supported!");return"value"in i&&(e[n]=i.value),e}},function(e,n,i){var l=i(6),t=i(12);e.exports=i(4)?function(e,n,i){return l.f(e,n,t(1,i))}:function(e,n,i){return e[n]=i,e}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=o(i(35)),t=o(i(33)),r=o(i(32));function o(e){return e&&e.__esModule?e:{default:e}}n.default=Object.keys(t.default).map(function(e){return new l.default(e,t.default[e],r.default[e])}).reduce(function(e,n){return e[n.name]=n,e},{})},function(e,n,i){var l=i(20)("keys"),t=i(11);e.exports=function(e){return l[e]||(l[e]=t(e))}},function(e,n){e.exports={}},function(e,n){var i=0,l=Math.random();e.exports=function(e){return"Symbol(".concat(void 0===e?"":e,")_",(++i+l).toString(36))}},function(e,n){e.exports=function(e,n){return{enumerable:!(1&e),configurable:!(2&e),writable:!(4&e),value:n}}},function(e,n){e.exports=function(e){return"object"==typeof e?null!==e:"function"==typeof e}},function(e,n){e.exports=function(e){if(void 0==e)throw TypeError("Can't call method on "+e);return e}},function(e,n){var i=Math.ceil,l=Math.floor;e.exports=function(e){return isNaN(e=+e)?0:(e>0?l:i)(e)}},function(e,n,i){var l; -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -/*! - Copyright (c) 2016 Jed Watson. - Licensed under the MIT License (MIT), see - http://jedwatson.github.io/classnames -*/ -!function(){"use strict";var i=function(){function e(){}function n(e,n){for(var i=n.length,l=0;l0?t(l(e),9007199254740991):0}},function(e,n){var i={}.toString;e.exports=function(e){return i.call(e).slice(8,-1)}},function(e,n,i){var l=i(48),t=i(14);e.exports=function(e){return l(t(e))}},function(e,n,i){var l=i(54);e.exports=function(e,n,i){if(l(e),void 0===n)return e;switch(i){case 1:return function(i){return e.call(n,i)};case 2:return function(i,l){return e.call(n,i,l)};case 3:return function(i,l,t){return e.call(n,i,l,t)}}return function(){return e.apply(n,arguments)}}},function(e,n,i){var l=i(1),t=i(7),r=i(3),o=i(11)("src"),a=Function.toString,c=(""+a).split("toString");i(2).inspectSource=function(e){return a.call(e)},(e.exports=function(e,n,i,a){var y="function"==typeof i;y&&(r(i,"name")||t(i,"name",n)),e[n]!==i&&(y&&(r(i,o)||t(i,o,e[n]?""+e[n]:c.join(String(n)))),e===l?e[n]=i:a?e[n]?e[n]=i:t(e,n,i):(delete e[n],t(e,n,i)))})(Function.prototype,"toString",function(){return"function"==typeof this&&this[o]||a.call(this)})},function(e,n,i){var l=i(13),t=i(1).document,r=l(t)&&l(t.createElement);e.exports=function(e){return r?t.createElement(e):{}}},function(e,n){e.exports=function(e){try{return!!e()}catch(e){return!0}}},function(e,n,i){var l=i(1),t=i(2),r=i(7),o=i(25),a=i(24),c=function(e,n,i){var y,p,h,x,s=e&c.F,u=e&c.G,d=e&c.S,f=e&c.P,v=e&c.B,g=u?l:d?l[n]||(l[n]={}):(l[n]||{}).prototype,m=u?t:t[n]||(t[n]={}),M=m.prototype||(m.prototype={});for(y in u&&(i=n),i)h=((p=!s&&g&&void 0!==g[y])?g:i)[y],x=v&&p?a(h,l):f&&"function"==typeof h?a(Function.call,h):h,g&&o(g,y,h,e&c.U),m[y]!=h&&r(m,y,x),f&&M[y]!=h&&(M[y]=h)};l.core=t,c.F=1,c.G=2,c.S=4,c.P=8,c.B=16,c.W=32,c.U=64,c.R=128,e.exports=c},function(e,n){e.exports=!1},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n0&&void 0!==arguments[0]?arguments[0]:{};if("undefined"==typeof document)throw new Error("`feather.replace()` only works in a browser environment.");var n=document.querySelectorAll("[data-feather]");Array.from(n).forEach(function(n){return function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=function(e){return Array.from(e.attributes).reduce(function(e,n){return e[n.name]=n.value,e},{})}(e),o=i["data-feather"];delete i["data-feather"];var a=r.default[o].toSvg(l({},n,i,{class:(0,t.default)(n.class,i.class)})),c=(new DOMParser).parseFromString(a,"image/svg+xml").querySelector("svg");e.parentNode.replaceChild(c,e)}(n,e)})}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l,t=i(8),r=(l=t)&&l.__esModule?l:{default:l};n.default=function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(console.warn("feather.toSvg() is deprecated. Please use feather.icons[name].toSvg() instead."),!e)throw new Error("The required `key` (icon name) parameter is missing.");if(!r.default[e])throw new Error("No icon matching '"+e+"'. See the complete list of icons at https://feathericons.com");return r.default[e].toSvg(n)}},function(e){e.exports={activity:["pulse","health","action","motion"],airplay:["stream","cast","mirroring"],"alert-circle":["warning"],"alert-octagon":["warning"],"alert-triangle":["warning"],"at-sign":["mention"],award:["achievement","badge"],aperture:["camera","photo"],bell:["alarm","notification"],"bell-off":["alarm","notification","silent"],bluetooth:["wireless"],"book-open":["read"],book:["read","dictionary","booklet","magazine"],bookmark:["read","clip","marker","tag"],briefcase:["work","bag","baggage","folder"],clipboard:["copy"],clock:["time","watch","alarm"],"cloud-drizzle":["weather","shower"],"cloud-lightning":["weather","bolt"],"cloud-rain":["weather"],"cloud-snow":["weather","blizzard"],cloud:["weather"],codepen:["logo"],codesandbox:["logo"],coffee:["drink","cup","mug","tea","cafe","hot","beverage"],command:["keyboard","cmd"],compass:["navigation","safari","travel"],copy:["clone","duplicate"],"corner-down-left":["arrow"],"corner-down-right":["arrow"],"corner-left-down":["arrow"],"corner-left-up":["arrow"],"corner-right-down":["arrow"],"corner-right-up":["arrow"],"corner-up-left":["arrow"],"corner-up-right":["arrow"],"credit-card":["purchase","payment","cc"],crop:["photo","image"],crosshair:["aim","target"],database:["storage"],delete:["remove"],disc:["album","cd","dvd","music"],"dollar-sign":["currency","money","payment"],droplet:["water"],edit:["pencil","change"],"edit-2":["pencil","change"],"edit-3":["pencil","change"],eye:["view","watch"],"eye-off":["view","watch"],"external-link":["outbound"],facebook:["logo"],"fast-forward":["music"],figma:["logo","design","tool"],film:["movie","video"],"folder-minus":["directory"],"folder-plus":["directory"],folder:["directory"],frown:["emoji","face","bad","sad","emotion"],gift:["present","box","birthday","party"],"git-branch":["code","version control"],"git-commit":["code","version control"],"git-merge":["code","version control"],"git-pull-request":["code","version control"],github:["logo","version control"],gitlab:["logo","version control"],global:["world","browser","language","translate"],"hard-drive":["computer","server"],hash:["hashtag","number","pound"],headphones:["music","audio"],heart:["like","love"],"help-circle":["question mark"],hexagon:["shape","node.js","logo"],home:["house"],image:["picture"],inbox:["email"],instagram:["logo","camera"],key:["password","login","authentication"],"life-bouy":["help","life ring","support"],linkedin:["logo"],lock:["security","password"],"log-in":["sign in","arrow"],"log-out":["sign out","arrow"],mail:["email"],"map-pin":["location","navigation","travel","marker"],map:["location","navigation","travel"],maximize:["fullscreen"],"maximize-2":["fullscreen","arrows"],meh:["emoji","face","neutral","emotion"],menu:["bars","navigation","hamburger"],"message-circle":["comment","chat"],"message-square":["comment","chat"],"mic-off":["record"],mic:["record"],minimize:["exit fullscreen"],"minimize-2":["exit fullscreen","arrows"],monitor:["tv"],moon:["dark","night"],"more-horizontal":["ellipsis"],"more-vertical":["ellipsis"],"mouse-pointer":["arrow","cursor"],move:["arrows"],navigation:["location","travel"],"navigation-2":["location","travel"],octagon:["stop"],package:["box"],paperclip:["attachment"],pause:["music","stop"],"pause-circle":["music","stop"],"pen-tool":["vector","drawing"],play:["music","start"],"play-circle":["music","start"],plus:["add","new"],"plus-circle":["add","new"],"plus-square":["add","new"],pocket:["logo","save"],power:["on","off"],radio:["signal"],rewind:["music"],rss:["feed","subscribe"],save:["floppy disk"],search:["find","magnifier","magnifying glass"],send:["message","mail","paper airplane"],settings:["cog","edit","gear","preferences"],shield:["security"],"shield-off":["security"],"shopping-bag":["ecommerce","cart","purchase","store"],"shopping-cart":["ecommerce","cart","purchase","store"],shuffle:["music"],"skip-back":["music"],"skip-forward":["music"],slash:["ban","no"],sliders:["settings","controls"],smile:["emoji","face","happy","good","emotion"],speaker:["music"],star:["bookmark","favorite","like"],sun:["brightness","weather","light"],sunrise:["weather"],sunset:["weather"],tag:["label"],target:["bullseye"],terminal:["code","command line"],"thumbs-down":["dislike","bad"],"thumbs-up":["like","good"],"toggle-left":["on","off","switch"],"toggle-right":["on","off","switch"],trash:["garbage","delete","remove"],"trash-2":["garbage","delete","remove"],triangle:["delta"],truck:["delivery","van","shipping"],twitter:["logo"],umbrella:["rain","weather"],"video-off":["camera","movie","film"],video:["camera","movie","film"],voicemail:["phone"],volume:["music","sound","mute"],"volume-1":["music","sound"],"volume-2":["music","sound"],"volume-x":["music","sound","mute"],watch:["clock","time"],wind:["weather","air"],"x-circle":["cancel","close","delete","remove","times"],"x-octagon":["delete","stop","alert","warning","times"],"x-square":["cancel","close","delete","remove","times"],x:["cancel","close","delete","remove","times"],youtube:["logo","video","play"],"zap-off":["flash","camera","lightning"],zap:["flash","camera","lightning"]}},function(e){e.exports={activity:'',airplay:'',"alert-circle":'',"alert-octagon":'',"alert-triangle":'',"align-center":'',"align-justify":'',"align-left":'',"align-right":'',anchor:'',aperture:'',archive:'',"arrow-down-circle":'',"arrow-down-left":'',"arrow-down-right":'',"arrow-down":'',"arrow-left-circle":'',"arrow-left":'',"arrow-right-circle":'',"arrow-right":'',"arrow-up-circle":'',"arrow-up-left":'',"arrow-up-right":'',"arrow-up":'',"at-sign":'',award:'',"bar-chart-2":'',"bar-chart":'',"battery-charging":'',battery:'',"bell-off":'',bell:'',bluetooth:'',bold:'',"book-open":'',book:'',bookmark:'',box:'',briefcase:'',calendar:'',"camera-off":'',camera:'',cast:'',"check-circle":'',"check-square":'',check:'',"chevron-down":'',"chevron-left":'',"chevron-right":'',"chevron-up":'',"chevrons-down":'',"chevrons-left":'',"chevrons-right":'',"chevrons-up":'',chrome:'',circle:'',clipboard:'',clock:'',"cloud-drizzle":'',"cloud-lightning":'',"cloud-off":'',"cloud-rain":'',"cloud-snow":'',cloud:'',code:'',codepen:'',codesandbox:'',coffee:'',columns:'',command:'',compass:'',copy:'',"corner-down-left":'',"corner-down-right":'',"corner-left-down":'',"corner-left-up":'',"corner-right-down":'',"corner-right-up":'',"corner-up-left":'',"corner-up-right":'',cpu:'',"credit-card":'',crop:'',crosshair:'',database:'',delete:'',disc:'',"dollar-sign":'',"download-cloud":'',download:'',droplet:'',"edit-2":'',"edit-3":'',edit:'',"external-link":'',"eye-off":'',eye:'',facebook:'',"fast-forward":'',feather:'',figma:'',"file-minus":'',"file-plus":'',"file-text":'',file:'',film:'',filter:'',flag:'',"folder-minus":'',"folder-plus":'',folder:'',frown:'',gift:'',"git-branch":'',"git-commit":'',"git-merge":'',"git-pull-request":'',github:'',gitlab:'',globe:'',grid:'',"hard-drive":'',hash:'',headphones:'',heart:'',"help-circle":'',hexagon:'',home:'',image:'',inbox:'',info:'',instagram:'',italic:'',key:'',layers:'',layout:'',"life-buoy":'',"link-2":'',link:'',linkedin:'',list:'',loader:'',lock:'',"log-in":'',"log-out":'',mail:'',"map-pin":'',map:'',"maximize-2":'',maximize:'',meh:'',menu:'',"message-circle":'',"message-square":'',"mic-off":'',mic:'',"minimize-2":'',minimize:'',"minus-circle":'',"minus-square":'',minus:'',monitor:'',moon:'',"more-horizontal":'',"more-vertical":'',"mouse-pointer":'',move:'',music:'',"navigation-2":'',navigation:'',octagon:'',package:'',paperclip:'',"pause-circle":'',pause:'',"pen-tool":'',percent:'',"phone-call":'',"phone-forwarded":'',"phone-incoming":'',"phone-missed":'',"phone-off":'',"phone-outgoing":'',phone:'',"pie-chart":'',"play-circle":'',play:'',"plus-circle":'',"plus-square":'',plus:'',pocket:'',power:'',printer:'',radio:'',"refresh-ccw":'',"refresh-cw":'',repeat:'',rewind:'',"rotate-ccw":'',"rotate-cw":'',rss:'',save:'',scissors:'',search:'',send:'',server:'',settings:'',"share-2":'',share:'',"shield-off":'',shield:'',"shopping-bag":'',"shopping-cart":'',shuffle:'',sidebar:'',"skip-back":'',"skip-forward":'',slack:'',slash:'',sliders:'',smartphone:'',smile:'',speaker:'',square:'',star:'',"stop-circle":'',sun:'',sunrise:'',sunset:'',tablet:'',tag:'',target:'',terminal:'',thermometer:'',"thumbs-down":'',"thumbs-up":'',"toggle-left":'',"toggle-right":'',"trash-2":'',trash:'',trello:'',"trending-down":'',"trending-up":'',triangle:'',truck:'',tv:'',twitter:'',type:'',umbrella:'',underline:'',unlock:'',"upload-cloud":'',upload:'',"user-check":'',"user-minus":'',"user-plus":'',"user-x":'',user:'',users:'',"video-off":'',video:'',voicemail:'',"volume-1":'',"volume-2":'',"volume-x":'',volume:'',watch:'',"wifi-off":'',wifi:'',wind:'',"x-circle":'',"x-octagon":'',"x-square":'',x:'',youtube:'',"zap-off":'',zap:'',"zoom-in":'',"zoom-out":''}},function(e){e.exports={xmlns:"http://www.w3.org/2000/svg",width:24,height:24,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":2,"stroke-linecap":"round","stroke-linejoin":"round"}},function(e,n,i){"use strict";Object.defineProperty(n,"__esModule",{value:!0});var l=Object.assign||function(e){for(var n=1;n2&&void 0!==arguments[2]?arguments[2]:[];!function(e,n){if(!(e instanceof n))throw new TypeError("Cannot call a class as a function")}(this,e),this.name=n,this.contents=i,this.tags=t,this.attrs=l({},o.default,{class:"feather feather-"+n})}return t(e,[{key:"toSvg",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return""+this.contents+""}},{key:"toString",value:function(){return this.contents}}]),e}();n.default=c},function(e,n,i){"use strict";var l=o(i(8)),t=o(i(31)),r=o(i(30));function o(e){return e&&e.__esModule?e:{default:e}}e.exports={icons:l.default,toSvg:t.default,replace:r.default}},function(e,n,i){var l=i(0)("iterator"),t=!1;try{var r=[7][l]();r.return=function(){t=!0},Array.from(r,function(){throw 2})}catch(e){}e.exports=function(e,n){if(!n&&!t)return!1;var i=!1;try{var r=[7],o=r[l]();o.next=function(){return{done:i=!0}},r[l]=function(){return o},e(r)}catch(e){}return i}},function(e,n,i){var l=i(22),t=i(0)("toStringTag"),r="Arguments"==l(function(){return arguments}());e.exports=function(e){var n,i,o;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(i=function(e,n){try{return e[n]}catch(e){}}(n=Object(e),t))?i:r?l(n):"Object"==(o=l(n))&&"function"==typeof n.callee?"Arguments":o}},function(e,n,i){var l=i(38),t=i(0)("iterator"),r=i(10);e.exports=i(2).getIteratorMethod=function(e){if(void 0!=e)return e[t]||e["@@iterator"]||r[l(e)]}},function(e,n,i){"use strict";var l=i(6),t=i(12);e.exports=function(e,n,i){n in e?l.f(e,n,t(0,i)):e[n]=i}},function(e,n,i){var l=i(10),t=i(0)("iterator"),r=Array.prototype;e.exports=function(e){return void 0!==e&&(l.Array===e||r[t]===e)}},function(e,n,i){var l=i(5);e.exports=function(e,n,i,t){try{return t?n(l(i)[0],i[1]):n(i)}catch(n){var r=e.return;throw void 0!==r&&l(r.call(e)),n}}},function(e,n,i){"use strict";var l=i(24),t=i(28),r=i(17),o=i(42),a=i(41),c=i(21),y=i(40),p=i(39);t(t.S+t.F*!i(37)(function(e){Array.from(e)}),"Array",{from:function(e){var n,i,t,h,x=r(e),s="function"==typeof this?this:Array,u=arguments.length,d=u>1?arguments[1]:void 0,f=void 0!==d,v=0,g=p(x);if(f&&(d=l(d,u>2?arguments[2]:void 0,2)),void 0==g||s==Array&&a(g))for(i=new s(n=c(x.length));n>v;v++)y(i,v,f?d(x[v],v):x[v]);else for(h=g.call(x),i=new s;!(t=h.next()).done;v++)y(i,v,f?o(h,d,[t.value,v],!0):t.value);return i.length=v,i}})},function(e,n,i){var l=i(3),t=i(17),r=i(9)("IE_PROTO"),o=Object.prototype;e.exports=Object.getPrototypeOf||function(e){return e=t(e),l(e,r)?e[r]:"function"==typeof e.constructor&&e instanceof e.constructor?e.constructor.prototype:e instanceof Object?o:null}},function(e,n,i){var l=i(1).document;e.exports=l&&l.documentElement},function(e,n,i){var l=i(15),t=Math.max,r=Math.min;e.exports=function(e,n){return(e=l(e))<0?t(e+n,0):r(e,n)}},function(e,n,i){var l=i(23),t=i(21),r=i(46);e.exports=function(e){return function(n,i,o){var a,c=l(n),y=t(c.length),p=r(o,y);if(e&&i!=i){for(;y>p;)if((a=c[p++])!=a)return!0}else for(;y>p;p++)if((e||p in c)&&c[p]===i)return e||p||0;return!e&&-1}}},function(e,n,i){var l=i(22);e.exports=Object("z").propertyIsEnumerable(0)?Object:function(e){return"String"==l(e)?e.split(""):Object(e)}},function(e,n,i){var l=i(3),t=i(23),r=i(47)(!1),o=i(9)("IE_PROTO");e.exports=function(e,n){var i,a=t(e),c=0,y=[];for(i in a)i!=o&&l(a,i)&&y.push(i);for(;n.length>c;)l(a,i=n[c++])&&(~r(y,i)||y.push(i));return y}},function(e,n,i){var l=i(49),t=i(19);e.exports=Object.keys||function(e){return l(e,t)}},function(e,n,i){var l=i(6),t=i(5),r=i(50);e.exports=i(4)?Object.defineProperties:function(e,n){t(e);for(var i,o=r(n),a=o.length,c=0;a>c;)l.f(e,i=o[c++],n[i]);return e}},function(e,n,i){var l=i(5),t=i(51),r=i(19),o=i(9)("IE_PROTO"),a=function(){},c=function(){var e,n=i(26)("iframe"),l=r.length;for(n.style.display="none",i(45).appendChild(n),n.src="javascript:",(e=n.contentWindow.document).open(),e.write(" - - - - -
-
-

profanity

-

development blog

-
- - -
- - -
-

How to get a backtrace

-
Posted at — Jan 3, 2020
-
- -
-

When you’re running profanity master it may occur that profanity crashes -with SIGSEGV or SIGABRT when new features are added. If this happens it -is helpful to provide a backtrace for the developers to find and fix the -bug.

- -

I will explain one possibility how to get a backtrace of profanity -(or any other TUI application):

- -

Preparation

- -

The following requirements must be installed:

- -
    -
  • gdb
  • -
  • gdbserver
  • -
  • debug symbols (depending on your distribution they might already be included) - -
      -
    • e.g. profanity-dbgsym (for debian)
    • -
    • e.g. libstrophe0-dbgsym (for debian)
    • -
    • e.g. libexpat1-dbgsym (for debian)
    • -
  • -
- -

Run profanity

- -
    -
  • Open terminal #1 - -
      -
    • Run gdbserver localhost:1234 /usr/bin/profanity
    • -
  • -
  • Open terminal #2 - -
      -
    • Run gdb /usr/bin/profanity
    • -
    • Enter target remote localhost:1234
    • -
    • Enter c
    • -
  • -
  • Profanity opens in terminal #1 - -
      -
    • Reproduce crash
    • -
  • -
  • A gdb command line opens in terminal #2 - -
      -
    • Enter bt or bt full 1
    • -
  • -
  • Create an issue in the bugtracker and include the output of the previous step
  • -
-
- -
- -
    -
  1. bt full gives a much more detailled output but in most cases bt is enough for the dev to know what’s going on. - [return]
  2. -
-
-
- - -
- - - - - - - diff --git a/public/post/index.html b/public/post/index.html deleted file mode 100644 index b67b4b8..0000000 --- a/public/post/index.html +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Posts - profanity - - - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - - -

All articles

- - - -
- - - - - - - - - diff --git a/public/post/index.xml b/public/post/index.xml deleted file mode 100644 index b7c2526..0000000 --- a/public/post/index.xml +++ /dev/null @@ -1,39 +0,0 @@ - - - - Posts on profanity - https://profanity-im.github.io/blog/post/ - Recent content in Posts on profanity - Hugo -- gohugo.io - en-us - Fri, 03 Jan 2020 17:16:59 +0200 - - - - - - How to get a backtrace - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - <p>When you&rsquo;re running profanity master it may occur that profanity crashes -with SIGSEGV or SIGABRT when new features are added. If this happens it -is helpful to provide a backtrace for the developers to find and fix the -bug.</p> - -<p>I will explain one possibility how to get a backtrace of profanity -(or any other TUI application):</p> - - - - Intro - https://profanity-im.github.io/blog/post/intro/ - Fri, 03 Jan 2020 17:16:59 +0200 - - https://profanity-im.github.io/blog/post/intro/ - Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. - - - - \ No newline at end of file diff --git a/public/post/intro/index.html b/public/post/intro/index.html deleted file mode 100644 index cc4d91c..0000000 --- a/public/post/intro/index.html +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Intro - profanity - - - - - - - - - - - - - - - - - - - -
-
-

profanity

-

development blog

-
- - -
- - -
-

Intro

-
Posted at — Jan 3, 2020
-
- -
-

Hello folks! -Now with the 0.8.0 release around the corner we would like to start a development blog. -We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute.

- -
- - -
- - - - - - - diff --git a/public/sitemap.xml b/public/sitemap.xml deleted file mode 100644 index 150399c..0000000 --- a/public/sitemap.xml +++ /dev/null @@ -1,45 +0,0 @@ - - - - - https://profanity-im.github.io/blog/authors/jubalh/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/authors/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/post/how-to-get-a-backtrace/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/post/intro/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/authors/mdosch/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/post/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/ - 2020-01-03T17:16:59+02:00 - - - - https://profanity-im.github.io/blog/about/ - 2019-07-30T17:05:33+02:00 - - - \ No newline at end of file From 1f6ad53eddb33c5db0a5fa48aaab2acf39467824 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sun, 26 Jan 2020 18:45:52 +0100 Subject: [PATCH 08/65] Add a link to an example issue and to the blogpost where the howto was first published --- content/post/how-to-get-a-backtrace.md | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md index 69449d9..bf4a18d 100644 --- a/content/post/how-to-get-a-backtrace.md +++ b/content/post/how-to-get-a-backtrace.md @@ -11,7 +11,7 @@ is helpful to provide a backtrace for the developers to find and fix the bug. I will explain one possibility how to get a backtrace of profanity -(or any other TUI application): +(or any other TUI application)[^1]: ### Preparation @@ -37,10 +37,13 @@ The following requirements must be installed: * Profanity opens in terminal #1 * Reproduce crash * A *gdb* command line opens in terminal #2 - * Enter `bt` or `bt full` [^1] -* Create an issue in the [bugtracker][20] and include the output of the previous step + * Enter `bt` or `bt full` [^2] +* Create an issue in the [bugtracker][20] and include the output of the previous step (see [this example][30]) -[^1]: `bt full` gives a much more detailled output but in most cases `bt` is enough for the dev to know what's going on. +[^1]: This explanation was first published [on my personal blog][40]. +[^2]: `bt full` gives a much more detailled output but in most cases `bt` is enough for the dev to know what's going on. [10]:https://www.gnu.org/software/gdb/ [20]:https://github.com/profanity-im/profanity/issues +[30]:https://github.com/profanity-im/profanity/issues/1159 +[40]:https://blog.mdosch.de/2019/09/20/how-to-debug-a-tui-application/ From 4d0102a032c57c985adbc58478f6382d7f6fc98f Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 28 Jan 2020 11:34:11 +0100 Subject: [PATCH 09/65] Add gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 .gitignore diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..a6dcbcc --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +public/ +themes/ From f2d2d0d9f2573ff9759b111f16cce6961948865a Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 28 Jan 2020 11:34:21 +0100 Subject: [PATCH 10/65] Add authors to posts Should be taken from metadata. Don't know how yet. --- content/post/how-to-get-a-backtrace.md | 2 ++ content/post/intro.md | 2 ++ 2 files changed, 4 insertions(+) diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md index bf4a18d..607aa5e 100644 --- a/content/post/how-to-get-a-backtrace.md +++ b/content/post/how-to-get-a-backtrace.md @@ -4,6 +4,8 @@ date: 2020-01-03T17:16:59+02:00 authors: - mdosch --- + +**Written by Martin Dosch** When you're running profanity master it may occur that profanity crashes with SIGSEGV or SIGABRT when new features are added. If this happens it diff --git a/content/post/intro.md b/content/post/intro.md index 405074e..c56461a 100644 --- a/content/post/intro.md +++ b/content/post/intro.md @@ -5,6 +5,8 @@ authors: - jubalh --- +**Written by Michael Vetter** + Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. From 6512d4d234d22524696439b3ebda3eb593f2dc30 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 28 Jan 2020 11:35:19 +0100 Subject: [PATCH 11/65] Adjust date for Martins post --- content/post/how-to-get-a-backtrace.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md index 607aa5e..e20ba8b 100644 --- a/content/post/how-to-get-a-backtrace.md +++ b/content/post/how-to-get-a-backtrace.md @@ -1,6 +1,6 @@ --- title: "How to get a backtrace" -date: 2020-01-03T17:16:59+02:00 +date: 2020-01-26T17:16:59+02:00 authors: - mdosch --- From e14b981773c9cfb5df9b9f672bd25ee5082173a8 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 28 Jan 2020 11:40:49 +0100 Subject: [PATCH 12/65] Dont use bold for author --- content/post/how-to-get-a-backtrace.md | 2 +- content/post/intro.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md index e20ba8b..2b3c1e6 100644 --- a/content/post/how-to-get-a-backtrace.md +++ b/content/post/how-to-get-a-backtrace.md @@ -5,7 +5,7 @@ authors: - mdosch --- -**Written by Martin Dosch** +*Written by Martin Dosch* When you're running profanity master it may occur that profanity crashes with SIGSEGV or SIGABRT when new features are added. If this happens it diff --git a/content/post/intro.md b/content/post/intro.md index c56461a..fb135d4 100644 --- a/content/post/intro.md +++ b/content/post/intro.md @@ -5,7 +5,7 @@ authors: - jubalh --- -**Written by Michael Vetter** +*Written by Michael Vetter* Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. From ae1fc9b01ab3c3648c0dc722bac1ce4190ae43d2 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Fri, 31 Jan 2020 16:53:28 +0100 Subject: [PATCH 13/65] Add full content to the RSS feeds. --- layouts/rss.xml | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 layouts/rss.xml diff --git a/layouts/rss.xml b/layouts/rss.xml new file mode 100644 index 0000000..56b6b9c --- /dev/null +++ b/layouts/rss.xml @@ -0,0 +1,34 @@ +{{- $pctx := . -}} +{{- if .IsHome -}}{{ $pctx = .Site }}{{- end -}} +{{- $pages := $pctx.RegularPages -}} +{{- $limit := .Site.Config.Services.RSS.Limit -}} +{{- if ge $limit 1 -}} +{{- $pages = $pages | first $limit -}} +{{- end -}} +{{- printf "" | safeHTML }} + + + {{ if eq .Title .Site.Title }}{{ .Site.Title }}{{ else }}{{ with .Title }}{{.}} on {{ end }}{{ .Site.Title }}{{ end }} + {{ .Permalink }} + Recent content {{ if ne .Title .Site.Title }}{{ with .Title }}in {{.}} {{ end }}{{ end }}on {{ .Site.Title }} + Hugo -- gohugo.io{{ with .Site.LanguageCode }} + {{.}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Author.email }} + {{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}}{{ with .Site.Copyright }} + {{.}}{{end}}{{ if not .Date.IsZero }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }}{{ end }} + {{ with .OutputFormats.Get "RSS" }} + {{ printf "" .Permalink .MediaType | safeHTML }} + {{ end }} + {{ range $pages }} + + {{ .Title }} + {{ .Permalink }} + {{ .Date.Format "Mon, 02 Jan 2006 15:04:05 -0700" | safeHTML }} + {{ with .Site.Author.email }}{{.}}{{ with $.Site.Author.name }} ({{.}}){{end}}{{end}} + {{ .Permalink }} + {{ .Content | html }} + + {{ end }} + + From af71bd65d7a221dd443d368a4b057098a3358683 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sat, 1 Feb 2020 19:32:57 +0100 Subject: [PATCH 14/65] Add a little helper script for creating blogposts --- blog-post.sh | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100755 blog-post.sh diff --git a/blog-post.sh b/blog-post.sh new file mode 100755 index 0000000..0e6f34c --- /dev/null +++ b/blog-post.sh @@ -0,0 +1,34 @@ +#! /bin/bash + +HUGODATE=$(date --iso-8601=seconds) +USERNAME=$(whoami) + +# Stolen from https://stackoverflow.com/questions/833227/whats-the-easiest-way-to-get-a-users-full-name-on-a-linux-posix-system +USER_RECORD="$(getent passwd $USERNAME)" +USER_GECOS_FIELD="$(echo "$USER_RECORD" | cut -d ':' -f 5)" +USER_FULL_NAME="$(echo "$USER_GECOS_FIELD" | cut -d ',' -f 1)" + +echo "Please insert the blog posts title and press ENTER." +read -r TITLEINPUT +TITLE=${TITLEINPUT,,} # To lower case +TITLE=${TITLE//ä/ae} +TITLE=${TITLE//ö/oe} +TITLE=${TITLE//ü/ue} +TITLE=${TITLE//ß/ss} +TITLE=${TITLE//\ -\ /\ } # Replace " - " with space +TITLE=${TITLE//[@-.:,;?!\/]/} # Remove special characters +TITLE=${TITLE//\ /-} # Replace spaces with - + +cat > ./content/post/"$TITLE".md << EOF +--- +title: "$TITLEINPUT" +date: $HUGODATE +authors: + - $USERNAME +--- + +*Written by $USER_FULL_NAME* + +EOF + +editor ./content/post/"$TITLE".md From c11e59a9d0eabe621edfafa544fa2b84e0893b5e Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sat, 1 Feb 2020 19:58:08 +0100 Subject: [PATCH 15/65] Update author pages and make authors shown in blogposts --- content/about.md | 4 +--- content/authors/jubalh/_index.md | 7 +++---- content/authors/mdosch/_index.md | 6 ++++++ layouts/authors/list.html | 20 ++++++++++++++++++++ 4 files changed, 30 insertions(+), 7 deletions(-) create mode 100644 content/authors/mdosch/_index.md create mode 100644 layouts/authors/list.html diff --git a/content/about.md b/content/about.md index a78a2d8..6a57335 100644 --- a/content/about.md +++ b/content/about.md @@ -6,6 +6,4 @@ type: "page" Development blog for Profanity. -Blog article authors: - - * [jubalh](https://github.com/jubalh) +Contribute by creating pull requests to [https://github.com/profanity-im/blog](https://github.com/profanity-im/blog). diff --git a/content/authors/jubalh/_index.md b/content/authors/jubalh/_index.md index 63fe46f..cabb356 100644 --- a/content/authors/jubalh/_index.md +++ b/content/authors/jubalh/_index.md @@ -1,9 +1,8 @@ --- name: jubalh -photo: 'https://upload.wikimedia.org/wikipedia/commons/6/6d/Ursula_K_Le_Guin.JPG' -twitter: ursulaleguin +photo: 'https://avatars0.githubusercontent.com/u/1658215?s=460&v=4' +twitter: jubalh_ --- -Ursula Kroeber Le Guin (October 21, 1929 – January 22, 2018) was an American -novelist. The New York Times described her as “America’s greatest science fiction writer”, although she said that she would prefer to be known as an “American novelist”. +jubalh is currently the main developer of Profanity. diff --git a/content/authors/mdosch/_index.md b/content/authors/mdosch/_index.md new file mode 100644 index 0000000..2f2be9b --- /dev/null +++ b/content/authors/mdosch/_index.md @@ -0,0 +1,6 @@ +--- +name: mdosch + +--- + +Martin can write something here :-) diff --git a/layouts/authors/list.html b/layouts/authors/list.html new file mode 100644 index 0000000..fa42381 --- /dev/null +++ b/layouts/authors/list.html @@ -0,0 +1,20 @@ +

{{ .Params.name }}

+ + +

Bio

+{{ .Content }} +{{ with .Params.twitter }} +

+ + Follow {{ $.Params.name }} on Twitter + +

+{{ end }} + +

Articles

+ + From 31ad7788d012651e9acee631c505bd7c705b506d Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sat, 1 Feb 2020 19:58:43 +0100 Subject: [PATCH 16/65] Remove manual authorship from posts --- content/post/how-to-get-a-backtrace.md | 2 -- content/post/intro.md | 2 -- 2 files changed, 4 deletions(-) diff --git a/content/post/how-to-get-a-backtrace.md b/content/post/how-to-get-a-backtrace.md index 2b3c1e6..2cdacd6 100644 --- a/content/post/how-to-get-a-backtrace.md +++ b/content/post/how-to-get-a-backtrace.md @@ -5,8 +5,6 @@ authors: - mdosch --- -*Written by Martin Dosch* - When you're running profanity master it may occur that profanity crashes with SIGSEGV or SIGABRT when new features are added. If this happens it is helpful to provide a backtrace for the developers to find and fix the diff --git a/content/post/intro.md b/content/post/intro.md index fb135d4..405074e 100644 --- a/content/post/intro.md +++ b/content/post/intro.md @@ -5,8 +5,6 @@ authors: - jubalh --- -*Written by Michael Vetter* - Hello folks! Now with the 0.8.0 release around the corner we would like to start a development blog. We hope to give you some insights here about ongoing work, our problems, goals and where you could contribute. From 71791f1abdcd3847f39353a20d564b2f8aa8a83e Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sat, 1 Feb 2020 19:59:28 +0100 Subject: [PATCH 17/65] Add TODO --- TODO | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 TODO diff --git a/TODO b/TODO new file mode 100644 index 0000000..1ed7d2a --- /dev/null +++ b/TODO @@ -0,0 +1,2 @@ +Add styling to author pages +Make a list of the authors under about? From 03d4e67ff2218a75aab1052f8de7880b2bdf4682 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sat, 1 Feb 2020 20:11:54 +0100 Subject: [PATCH 18/65] Fix editor --- blog-post.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/blog-post.sh b/blog-post.sh index 0e6f34c..9930186 100755 --- a/blog-post.sh +++ b/blog-post.sh @@ -31,4 +31,4 @@ authors: EOF -editor ./content/post/"$TITLE".md +$EDITOR ./content/post/"$TITLE".md From 931fd39306aba3c5b8c7e2533af415cee40bb776 Mon Sep 17 00:00:00 2001 From: Martin Dosch Date: Sat, 1 Feb 2020 20:26:12 +0100 Subject: [PATCH 19/65] Update mdoschs author page. --- content/authors/mdosch/_index.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/authors/mdosch/_index.md b/content/authors/mdosch/_index.md index 2f2be9b..907b49e 100644 --- a/content/authors/mdosch/_index.md +++ b/content/authors/mdosch/_index.md @@ -1,6 +1,7 @@ --- name: mdosch - +photo: 'https://avatars3.githubusercontent.com/u/5103003?s=460&v=4' --- -Martin can write something here :-) +Martin is a profanity user, usually running and testing the profanity +master branch. He also created the `solarized` themes. From cbc3d2ffcf7c98b1adb5389a4f7d10a65ef75290 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 3 Feb 2020 12:14:22 +0100 Subject: [PATCH 20/65] Add first version of 0.8.0 blogpost --- content/post/release-080.md | 134 ++++++++++++++++++++++++++++++++++++ 1 file changed, 134 insertions(+) create mode 100644 content/post/release-080.md diff --git a/content/post/release-080.md b/content/post/release-080.md new file mode 100644 index 0000000..5687e09 --- /dev/null +++ b/content/post/release-080.md @@ -0,0 +1,134 @@ +--- +title: "Profanity 0.8.0" +date: 2020-02-03T20:12:16+01:00 +authors: + - jubalh +--- + +On 2012-02-02 the first commit to Profanity was done by [@boothj5](https://github.com/boothj5). +So now Profanity is already 7 years old! Happy Birthday! + +As a present we release today the next version: 0.8.0! +It's released five months after 0.7.0 and has 295 commits since then. + +Also more and more people contribute to Profanitys development. A big thanks to: +[@paulfariello](https://github.com/paulfariello), [@svensp](https://github.com/svensp), [@aaptel](https://github.com/aaptel), [@aszlig](https://github.com/), [@mdosch](https://github.com/mdosch), [@pasis](https://github.com/pasis), [@mzagozen](https://github.com/mzagozen), [@quite](https://github.com/quite), [@weiss](https://github.com/weiss), [@Misaflo](https://github.com/Misaflo) and [@jubalh](https://github.com/). + +## New features +We got fingerprint autocompletion for the `/omemo trust` command. +We got a gruvbox and solarized theme. + +## MUC name display +You can now decide whether you want to have the MUCs name or JID displayed in the titlebar and roster: +See `/titlebar use [name|jid]` and `/roster room use name`. + +## Avatars +Profanity is now able to download user avatars via XEP-0084 [#1240](https://github.com/profanity-im/profanity/issues/1240). +Use the `/avatar ` command. And open it with `xdg-open ~/.local/share/profanity/avatars/.png` from your terminal. + +## Trackbar +A trackbar was added so you can easily see where you last left off reading. [#1238](https://github.com/profanity-im/profanity/issues/1238) + +## Consistent Color Generation for nicks +We gained support for XEP-0392 Consistent Color Generation for nicks [#1191](https://github.com/profanity-im/profanity/issues/1191) +See `/color`, `/occupants color`, `/roster color`. + +## Save current line +Add option to store current line in history (like irssi down arrow behaviour) [#200](https://github.com/profanity-im/profanity/issues/200). +Imagine you write a long line of text, only to find out someone else wrote something where you want to reply first. +Now you can press alt+down-arrow to save the current line. Write a new one. Send it. And press arrow-up to get the saved line back from history. + +## Hilight unread messages +You can now highlight unread messages with a different color in /wins [#895](https://github.com/profanity-im/profanity/issues/895). +New theming option is `cmd.wins.unread`. + +## Switch to unread messages +A keyboard shortcut to select the next window with unread messages has been added: alt+a [#1114](https://github.com/profanity-im/profanity/issues/1114). + +## Switch to windows +You can now switch to the first 20 open windows with alt + 1234567890qwertyuio instead of only the first 10 [#1114](https://github.com/profanity-im/profanity/issues/1114). + +## Reload command +A command to reload your config has been added: `/reload`. + +## Alternative config file +A possibility to specify an alternative config file has been added: Use `profanity -c ~/path/to/other/config`. + +## Changes + +### Preferences +Preferences are not immediately saved once you change them. You will need to issue the `/save` command from now on. This has the advantage that you can experiment with different settings and themes and only if you are happy with your changes you save them. If everything will stay as it was. + +### Themes +We changed the theme handling in Profanity. +So far if you loaded a theme with `/theme load bios` it loaded new colors but also other settings the theme makes. Like changing the OMEMO char to `X`. +If you decided you prefer `#` as your indication of OMEMO encrypted messages you set this in your preferences via `/omemo char #`. But if you later tried out different themes because you were set up with your current one it might have happened that you lost some settings [#1077](https://github.com/profanity-im/profanity/issues/1077). + +For this reason `/theme load bios` will now only load the colors of a theme. +We have `/theme full-load bios` to load the complete theme. + +### Error message in settings commands +Profanity has functions that display settings of a certain command. Like `/logging` displays the settings for group and chat logging. +So you know what value they have before you change them. +So far if you issued a setting command it displayed the information, but also informed you that the command was not valid `Invalid usage, see '/help logging' for details.`. This has been fixed. [#1237](https://github.com/profanity-im/profanity/issues/1237). + +### XEP-0092 +XEP-0092 Software Version, sends now the name of your operating system too. +You can switch this off with `/os off`. + +### Standardize comamnds +In an attempt to standardize commands some functionality got reorganized in different/new commands: + * `/tls show on|of -> `/titlebar show|hide tls` + * `/encwarn on|off` -> `/titlebar show|hide encwarn` + * `/titlebar show|hide resource` additionally to `/resource titlebar on` + * `/titlebar show|hide presence` additionally to `/presence titlebar on` + * `/invite ` -> `/invite send + * `/invites` -> `/invite list` + * `/decline` -> `/invite decline` + * `/online`, `/away`, `/dnd`, `/chat`, `/xa` -> `/status set online` etc. + * `/status` -> `/status get` + * `/chlog on` -> `/logging chat on` + * `/grlog on` -> `/logging group on` + * `/group` -> `/roster group` + +Read [#1116](https://github.com/profanity-im/profanity/issues/1116), [#1224](https://github.com/profanity-im/profanity/issues/1224), [#1229](https://github.com/profanity-im/profanity/issues/1229) if you want to know more. + +## MUC PM Messages +Log MUC PM messages [#1184](https://github.com/profanity-im/profanity/issues/1184), [#1214](https://github.com/profanity-im/profanity/issues/1214), so far this was actually not done. + +## MUC Messages +We now use XEP-0359: Unique and Stable Stanza IDs to detect if MUC messages come from us or not [#1207](https://github.com/profanity-im/profanity/issues/1207). + +## Clear command +Add `/clear` autocompletion and improve it's documentation [#855](https://github.com/profanity-im/profanity/issues/855). + +## Subscribed message +Don't print subscribed message if contact is already in roster [#1166](https://github.com/profanity-im/profanity/issues/1166). + +## Fixes + +### Timestamps +So far we just displayed the timestamp of the first tag we found. Now we fixed this to actually check for the oldest timestamp. Meaning that the time a message was send should now be when it was first delayed not the last or any other delay [#1254](https://github.com/profanity-im/profanity/issues/1254). + +### OMEMO +Several OMEMO related bugs were fixed by @paulfarielle, @svensp, @aszlig. + +### Occupants and roster chars +Occupants and roster chars have never actually been saved! +Seems noone discovered this for years until recently [#1244](https://github.com/profanity-im/profanity/issues/1244). + +### Status messages +Allow setting of status message (which actually never worked before) (b846c49) +`/status set online "This is my text"` +`/status set away bye` +`/status set away` + +### Date +If you configure Profanity to load the last few lines from the history in a chat window. It always displayed a date of `01-01-00` as this was hardcoded. +Now it acually uses the right one. Seems this got unnoticed for years too [#922](https://github.com/profanity-im/profanity/issues/922). + +### Memory leaks +We fixed many memory leaks. Profanity should be much nicer now if you plan to never quit it. + +### Log message carbons +Carbon copied messages get now logged to your log files too [#1181](https://github.com/profanity-im/profanity/issues/1181). From 627b418b554075c84eaa7a399f464b7bc0529a94 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 3 Feb 2020 13:48:37 +0100 Subject: [PATCH 21/65] Improve release-080 post Thanks pep and debacle! --- content/post/release-080.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/post/release-080.md b/content/post/release-080.md index 5687e09..e2cbc5c 100644 --- a/content/post/release-080.md +++ b/content/post/release-080.md @@ -6,12 +6,12 @@ authors: --- On 2012-02-02 the first commit to Profanity was done by [@boothj5](https://github.com/boothj5). -So now Profanity is already 7 years old! Happy Birthday! +So now Profanity is already 8 years old! Happy Birthday! As a present we release today the next version: 0.8.0! It's released five months after 0.7.0 and has 295 commits since then. -Also more and more people contribute to Profanitys development. A big thanks to: +Also more and more people contribute to Profanity's development. A big thanks to: [@paulfariello](https://github.com/paulfariello), [@svensp](https://github.com/svensp), [@aaptel](https://github.com/aaptel), [@aszlig](https://github.com/), [@mdosch](https://github.com/mdosch), [@pasis](https://github.com/pasis), [@mzagozen](https://github.com/mzagozen), [@quite](https://github.com/quite), [@weiss](https://github.com/weiss), [@Misaflo](https://github.com/Misaflo) and [@jubalh](https://github.com/). ## New features @@ -78,11 +78,11 @@ You can switch this off with `/os off`. ### Standardize comamnds In an attempt to standardize commands some functionality got reorganized in different/new commands: - * `/tls show on|of -> `/titlebar show|hide tls` + * `/tls show on|of` -> `/titlebar show|hide tls` * `/encwarn on|off` -> `/titlebar show|hide encwarn` * `/titlebar show|hide resource` additionally to `/resource titlebar on` * `/titlebar show|hide presence` additionally to `/presence titlebar on` - * `/invite ` -> `/invite send + * `/invite ` -> `/invite send ` * `/invites` -> `/invite list` * `/decline` -> `/invite decline` * `/online`, `/away`, `/dnd`, `/chat`, `/xa` -> `/status set online` etc. @@ -100,7 +100,7 @@ Log MUC PM messages [#1184](https://github.com/profanity-im/profanity/issues/118 We now use XEP-0359: Unique and Stable Stanza IDs to detect if MUC messages come from us or not [#1207](https://github.com/profanity-im/profanity/issues/1207). ## Clear command -Add `/clear` autocompletion and improve it's documentation [#855](https://github.com/profanity-im/profanity/issues/855). +Add `/clear` autocompletion and improve its documentation [#855](https://github.com/profanity-im/profanity/issues/855). ## Subscribed message Don't print subscribed message if contact is already in roster [#1166](https://github.com/profanity-im/profanity/issues/1166). @@ -131,4 +131,4 @@ Now it acually uses the right one. Seems this got unnoticed for years too [#922] We fixed many memory leaks. Profanity should be much nicer now if you plan to never quit it. ### Log message carbons -Carbon copied messages get now logged to your log files too [#1181](https://github.com/profanity-im/profanity/issues/1181). +Carbon copied messages now get logged too [#1181](https://github.com/profanity-im/profanity/issues/1181). From ca46ddcdbc4fa83b2357f7da3bb711b0f584b055 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 3 Feb 2020 14:59:47 +0100 Subject: [PATCH 22/65] Add image --- content/post/release-080.md | 9 +++++++-- static/img/profanity-rel-080.jpeg | Bin 0 -> 113185 bytes 2 files changed, 7 insertions(+), 2 deletions(-) create mode 100644 static/img/profanity-rel-080.jpeg diff --git a/content/post/release-080.md b/content/post/release-080.md index e2cbc5c..2da31ab 100644 --- a/content/post/release-080.md +++ b/content/post/release-080.md @@ -1,6 +1,6 @@ --- title: "Profanity 0.8.0" -date: 2020-02-03T20:12:16+01:00 +date: 2020-02-03T14:46:08+01:00 authors: - jubalh --- @@ -8,12 +8,17 @@ authors: On 2012-02-02 the first commit to Profanity was done by [@boothj5](https://github.com/boothj5). So now Profanity is already 8 years old! Happy Birthday! -As a present we release today the next version: 0.8.0! +As a present we release today the next version: [0.8.0](https://github.com/profanity-im/profanity/releases/tag/0.8.0)! It's released five months after 0.7.0 and has 295 commits since then. Also more and more people contribute to Profanity's development. A big thanks to: [@paulfariello](https://github.com/paulfariello), [@svensp](https://github.com/svensp), [@aaptel](https://github.com/aaptel), [@aszlig](https://github.com/), [@mdosch](https://github.com/mdosch), [@pasis](https://github.com/pasis), [@mzagozen](https://github.com/mzagozen), [@quite](https://github.com/quite), [@weiss](https://github.com/weiss), [@Misaflo](https://github.com/Misaflo) and [@jubalh](https://github.com/). +![Profanity](/static/img/profanity-rel-080.jpeg) + +{{< figure src="/static/img/profanity-rel-080.jpeg" title="prof" >}} +![Example image](/img/profanity-rel-080.jpeg) + ## New features We got fingerprint autocompletion for the `/omemo trust` command. We got a gruvbox and solarized theme. diff --git a/static/img/profanity-rel-080.jpeg b/static/img/profanity-rel-080.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..89446c0f7a4b1b8631f154298f4909c1b31795c5 GIT binary patch literal 113185 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

-`Bo(c|%^oi8jS$zs!X}Lxae|?Gj=FMS>rig^jS?n@|J%Ng2L7#C{bL-_R&a)}D-1&IB2W7reuw$&`fHfMp*Ifs~uCk6H2?_1m2??ADhQ zuAAvEy}4a3<&j8!H6!L)1qkyR>wW=ptP^E$z;26|h@;6~`gsZX^elnHVd|T;#6tT;6k6xymRbKdPW8b^VNbP&Sl+P9KO!}jxk}XPv&%rE*t?Gg_ znTvteO9hVP0~Eb%<8lJ*kv5k$?FuNOVlt+-P_?ioH7zDg zZI*Ov*K|mJnP+T`%lAfRb9w#M*_izr7ELZJzw;ei%0yzRHXyVWD%VB$H7*e&_#E8`I@~s1maDj@F?xM=VxQ5bS~{B;cF^V) z;jT=xxs$(8!lVwRp`6qo|Vz28MQX1zb#;L(lZthaxfgG zzH4;pDw9c@j0+HXr%^`GJc`fs6BQUB-0EQ6B)rMmc==^~3>B|)cChmt*mFpaiZhPC z`>Q8^B*A{b66hD3p=->k1y_AQAOHG`c_sLTO_xN#xWh+IqcAw1CqOj)1FQ!|%k~uH zv}eI6R{jZ)M${-obpZ!rUy;Yr?XXU79pi>@z8yBM3v`}reV*=gwCi)DbjxRtM*L!9 zvG!+hU2iAz0pqE~7Gj$8nrCAb=Eq-({>fy$p|QGCi)XP}?~AK{BUW;t^0oJpXFyI4 zW#<$Ddf`MYXBTYkW2EC%+SE?qW7(dFe}AalkboswbM90gmwR*Zs#fi0)HaMNcKW&4 zmUBMo-twALu|50dii=M|ay?J8YOSix{T;EQh4}#oPU+Ymi-TWyPx*Vz$BX- zLiIvy>MF6(V1}r(0%g7Lgq!*5#uTG5^ArJUjhY^fR}3K5_ES4#lVDl@^n7cXC~#OS zh$llvtx8eq#UC{q&YWm}%Q0gGKEOGWL|3Adq8}wvPnMEMHM$KU>{2?l zz<6qpB91bxK7WH8dK-vTWBEi!3Dotx6B7$t~}5i061kE9XYEofJ|Vd+Y;iaTIzLUtlgod=Z`@GpcmG@_*;A_6c$C|7Kl3f0+9`>?1UkxIHIw9(!jUh$EZIHS#C*1B~tZbLMFVi|GwISMjL{NXdk-%LdEl3bY;P%p1^Bjdl{-Q}UU;Q^gu z%bc>knFA>NGj8~Q=AjOCv*K2t5Wq@IgYo>43JaYu`9Gf!Kf8=LRpZvwc0LS;mXX{C z^SOT<`%3+PUJ+EH-RKLsA)K+Fhnkx$9pwgpiVi@fo?N!ul`f@Quj32orR&c~$z-h_ zGMCR=o7~3Ok2kTd()s@kEdT&fqgIR4A~4BCi^0XG4+J*)^nuSC_T!(SOa?!ln%Qn? zi=BVl(rFaPB_$jy zEmbEhrsCCVyx$SSHQ*zD_GfqvVC4icU-UK`-`x`Tl!r~e!dJ008+ZOQMi%UdNikke zL6+IrjG-ARzD^!Y!JlH$Uqb)#z+WEt%L9LT;4csS<$?be9w0iEdNY3$-;^Tcn0>*0 z1948S8-C68sw!Y=rnjPTK65HfHTmY;ONOQqqG_FG8m(!frilj@`&R+V8l|oEwF>G6 zvyO)8%DfiJhrFGXv^*-c8;?d4+nrg&;hf@o?yBFp?*L6$Q_@~A$ek8dPbgaF?S@vBZD(x!sRE#L-PLS%}uA=k@q*vwqHNueVBjY-8TQtPuj2U zr?=1B+(`qD(nEw@r$Ro0U&lPmIP$QRF<`2_eaJnZf(&fooD_J$ja z5}Hl>jTI?_GyAb6>@ewE;N2b3 zIf%Dw{Nb$V{5k(NbOQ-pjXf7U+wn$Pc^4&kcF+npmIQ51J}2`!V}ar*Cr-8|wn@F~ zGu_whr-$C$C2T?7JpsZeB7lF^XoRj}0z#+fVc`I01F2L55UGjz{SFR zk4H|)`ig>05RrY7Y#^c_{&5_-!U-9=?g<6~Rs)F-juUO1L$G@mf1uDv3(vbbM`@;-jkpc;Tt_A&Xk3xIEqXT-fk5m9?T z0C|Br$-v6bxO5E*ttBR%{HW$G#_AQ-xMMF=U(C49e@yn>DIeF{EQx*s5RyR>QRW4< zig`U<1Xwj=wgm6>%!uVGb)Cp$G7bU~04ZTwdE)~^vm6J#(FT;TZZ+lhQQbb#FxkKJu?RI1>Z9vOKD;cRN#;V%EV>`$7a zISp?Fl`+UAXbgk|YS*tL)R^U(RxFnVvuwO5k8k;#rsNC{?k`*(sVeJ7+~wh#`ziai zt4T}3ytPCbg3^4u=ag)`ULo6;^e|~c>Xt7BLs05$I31%NgpqkrRalZV)Dd6NRH7MR z`X>uZ*)Y>mSl1=ZE6+QG$Ilty>6_|@L86JcAXb%^^=$=QCBr%uhE7Dol?ZS93iZ>q z*tlyM3}sYTK3p(>tIgD@@BEdhFZ>gu_A`fro&fNoW5@k*&&LBlv4K3Ye0lD)DHH@c zC=|FwDD>OcUnuauYa`g`WAup^HYEFWQtAu(TxVCsSN__>>G6y`9K|(Djo)gR@cJgs zqm8Iq&1JLpXypk|R{c6jJK6c(_%p_^mnO15O#$FNF!|tRY4WERa~kX1$E7)gA5BOo zF-Q0vy?wjFvZnhA8HPGZq;u_!g2ZY;TNroRx1@nH2<-HJHPbO=PXIN#$KbEuR6Qk1 zec3D$cUM}qW?_(!t2FmDYnCB=4Hr}PX;veE_p&IOwM%@3Tk(r1Z#1^AG{EpJtt#wF z=Wk<~-ZnF~WH2?4;}|Da3`E>U%SKtwB`Z_E#pSrcSAwTzrBbHoicQsR#6!sIV&qO^ zv?OY+^Hg2bpQ@!xcqr8^#ES$AjpSX}h5~~^17js)-!6LRi{2p4#p)kXH1b#oy&=t# zI%P)E`BcOpV~{197^A5rq)wUFK~h%e^nu-$x21%iR?8*HazI_GB1URh)^L`*DEYJ} z)kCx+Ja?psZH2&bpgR%~>?{0jo<^^6f z3tj$P?cEH{zUJ+-{)7u9SnDSMy2>S3Q0U>6NJvSjuj(tB_G9dR_2>s(0Hfo8EcKW2 zCxD#}8kpQ$`&{eWH0r$X+=rZZYhUX)2Ku+YJPL=^`J$Z65NE~NwoJZNYsn%-CA?-JuVq?TP>(XXeHldw~{n`UJ?BG%PLE zZ_kvLv{CW3eiWVGFAgO%F-M`LEuH}eKvhDRO_Z8`7o9|`Q|GnuCVNog4CgIz8G3$5K zoN59OO=(#IX2n7@%2fJylgSKZ2L)joc=#mtGz1Ya&rIkt2xUSm127jq)@qyrGGmGg zU6r@?5nM9jtv>EZ2hW_iK>A+CA$S|q%_|hC<1HoY$VGL`m zz1y6SB(_$=p>!e_i!5g#9n4v{PAV&vKta9u1KSek39J!M(V|vrrsx@?YQ!Fh^JrAn)wXRd zc?jHlcNk9eum)*QLRzaE6%u;M|hZFSWTPB+;*XVaiP9f_|V7 zN)F?w^vDCSVjwmY*w_OynbyUoAB_a{RWG@}VRPIHe^!T85>TZseSA$3ayx(Vu`QJ8hFF!Qh#eX7v6RK zm=ZFQ;zo>QJs=B)DTFvCVa{*UoiTpAXO{F9z-Tjj_4p{{Z&xEMCVQnG6*bLH$vSJ+ z^MRyrc)*B5uK{^3QF9i7*{J@`r8ZClbLI?(M{_87i3hKz48PSdBbeqz9E7OOQ26%# zZb{+9#etOUI;ZKSW z_zGCkmXk_^1X(Te+F=)A2q;Cl!tV}D!jBSjr}xE7n7=}(xT)>#$gpsfOtcNd^|eX9 zCL8Xljt>CX*@ap|FdS>{kTIuXzNMg&w27>U#XJEF@t6Ei(eYh&O!pJse)pwb@|aB6 zHc*1Uv-|KeKjs93GnTPoX{&aAzO5-DZtzkk!bxuO3V5o{_yrCP?wVn6Hr%lMZM`e- z6aP@94RwOZ07bMhdTeOj1wi9H+lX-#%|TM!yklUPB-o_dHi46`{!A|6wPa4HnYFPk zU%2Y0QVS<+GbPiAs-G-#ZqC0^#&s!^2S58nLdT_(iHd>Wm^ay9Z-k!$l04KUH0_<$ zbP9^#GAd~lHWBwV-Ut)20j>fA#W>iR4L)MQFb+6&Q6^DDR~v-%3}b;)H=-p|5=FkZ zlU1t1{wPZ{mODV4=lzhFl^KQ--shP=})uclEup=GxB1v6cCeSLSNzJP$* z_8t15k(p(;QE{2dW=zUOpsZh+VHGt(rZsR8P&>RKI*Qpp5Q;R;Ks(EONQ_8@kUBqM zWlaH}V3=k%ypHIm~*1k?~qq>CJ&;CMB*yv@iFWSkjpRTE`^G1or zDZ>MsPjsBWd{@1CTusL_C4r3=m*ius5C&4&z!V!73NJhV9i=@($hRDnaxM&)34}tv zKt56>xhH@Y1E@<$t8nTxU!r@9+XedrU&0{g0QUu~hYF>t|0$7WtP$m6k<^^%&V&B#weUVyDO{Acs79@%nV128ajY=&m1pO4Yu;wKMgA>#+JV4!F#m_ zxAoC|$?>q~lCOOY?h8DN~c7R=Q?=O4f2a>tyKUfPug&-f|%S!~x3q z%vA&n226KWYFJ_)KG?sP3Ieqj6l?=$LSgRccR{o1&H~fbn4^JncpN85!Z| zlfgq6GK`I@bYP@nrHinA0+g5eu0xE7lJiO@=)$X?WX&Oom@%3F{=VHyl+v040 zKyAq)y{nqXOsoM$&k$+%yaBsUx7XI#*4fSdqdw2sjqljl)>SefkJb36ljcog;y_eX zLEqRBW3gc1>{4F4_=r0peR9cPwZA;^UporER~2UD-1qx3ub)7Cflq)FG*Lg_;x(%L zv*+8!#3(+dSK&t2k4a|&92`7n0sP$@;YAuCw6k#BW)IEQJ z8jr>H5Iua;X_khE`6zrBIJPv5F0kj%!P_4CB`ch64VC$Re(n0<(L_ z{>pf_-PHlqiJ`ADEpY!~y_M!BJA!bJC`Zg9GqgV@;?65DVz@+BLAleKVq#VG{eR6oE+ z%qyviOjnN5#aj9k*;oVBQ9M!>&$yROMC!-iaR<5u!GUL9{#q+!8?M$<_9CPi~s zL$S&*jzKPey7Hn0ET{n?23>xX+`5FG?~O(z z3N7z+le(@^KFQqPJ>Pl)G=@Y+hr)RK(CY7d89zhnOX$2$+>Dwmkfl6c2A1!fKt>=E zwVP<4eV5G?4VkB<`$jYa1jyK<)VtKIMwB)*Pghd*2WjMbOc)5o^k2aicVLRn05EJR z8j+Wb$lKwd_td1#DBZR>vcnjau+-(lzKkSK03G)V8|v5RlR22J(t7U3YJ+)suT?b| zfR?3>+x{&H2^VYAGx}blc{Gy&C)%|=LUH5SsM4!u1x#QRl0C90Nh75wIV)xH!61l9tgrA)1hdAl+R1jP9g-5?*&C2L2ADVbuxlI@onGKM%nQ> zFK%g73zFc#s@b|dw{qWf?UaM?@0($)$TkrK z-uiMTY_{BY42z$gwcHPQ^+|n86Q^A>KTEBc^z=w5*WF01SaWX8S-+aEtO?~J0(pOm zUA|*q_2l_*l+B34#6BGJo(VIrOX_IIRnts<^S!ZnEeJXvUH_`^!XvtNRC zRQaNIH)E2{r3Xs-UdQubah#Kd(iX&w)s&(?zhl7-PF2D0b>|^DCF@sI8(Zb)&30Cb ztWTD(nvE0bFcv_FQ-RFCZ);DehRq<=>sxK3i*HglRV7H++IN3${Gr(VID_oI(vOu2 z;`dq6m{*OEca><~9;5=lM%OzY8JD6=)2!?I4YpE69OelyaHx5-{n(;0hA+<8KEw5{ zLz_c^Rg8)1x}3nYa>MSLl3o7EM$ z(RuQbTsDYfoz8)a)rj~#ele*aF1xBK^Ptzm$Fl0vQiYdv3b$>{O>?_DyDL(KxE{*S%5^y&wXy zFyc#>(loieI&462a>b?^tg7e+B=I&AZe)r9=hf8kiVEW~UP(8F9t7denrdp$*Ca1g zDdV$BY*;fl+f6MD7E6^DQ?vg&9$Qi!xM9O)uG$7#Z=D`znj zZPC@6XLU}Baqh$V%OSZWJKrHgLe)%j*&teoT#4WSbw*qrNYx7F*ki70NsXk5lp&41 z;@4FPy7*Lvy%PcWYP<&;8UaIjtM*nfyZR+F<<{OwG>$+QSq4NvphRM9Qb6G7-uVeY zJ2mhGXuW03)M{u80#YY=Fm!K%i^snUt%o(xUwo4W4Zra8wSilEPr+K-d3}BJAP_aA zaRcGH&+&cDGKjSHCTgHPE~?urxckSwLEo;AlE8A-;ui#Vv0%fz0>jSS{IPjoH_io( zW@fE{Pcq^5yIZw$L(E2xa}t};0)!7H)sL_8*DXi#w;s7z@`tyEH-<-{FKoTO7Z<%Z zn>yp*xCbgQKim0)9(PKo-eV-#L%$=#7Vyd*M5814^>eD|rfIk?UY=be49dnRKYz)h z2Uyl+TFk9cRyNXong$A5ycdsFTsFISN2Ui3FVFe|!gYEs`jJ{FIK zsntwU>%LsNJA*IEm_b5aGox~{$Qz@U2yB4TFFjUubm612KVO*!VN>7vu=&R8erpLJ z589w1Uot-)BQ3y#sLjet_e4>&PZ8`8N>c5=b#a%G#muFAlM?9}~{u!63J zrZMUS`1QPPPU(8EI?qKz^FtN6V@0w)p&n%t8JAYjvGtmyX8GsG_Lgeu>Rm)3vX$pw z8YsHB2$pP0=HA^8xM-XnWz<>;m0^hi}9C- zO0UkuBKj!nTlMFd3KW9+SaVXniQs7Dgi4&&_&GDu1X9*d`>$_dB+23gvaAD{7swNO z!4N_nK1*t!mx`*=(R=kF&?`QBgU4VlI;fmIUJ=}Opj66zK1Jjp+HXoPQx?@1{p*(a zxg1-*c3+ADXZXU00`vV{g*>I2+_7jEDcx`sEr-EEymucW(ws$v2MzV-lszzCNq!={ z<6>qfHlHiqRj&$y6v&{$P`1`*cHrZ~#LLN;22+D|j^l>lW(qxeT*aCd)NR=(p!bI2 zg9)K-(C8d#GjAo)w-I`KxK1Vr!8izPV`U6RX@p;GEdA(OTUFg-_Pg%3QdTc7W)37o6|sesp*+Y@gVX&dXxlS)B!zwL)gjqhFI% zb!P{$qS)Mi8;+V`04E$?uUx2*uWwvnwcZ+&U4}7S$A@Y)+NPDieuxDCp!p@aU+k$h}7>JTl*%@Lc5QlQuTqFM0x` zCq4W5!@+damy}=pMN{PKTxBH#DUFH~xLmB<?hC8;0QzL7G*W!A&o! zuRYNc#~hc7YfTO6zw~3laE*XNd2(JP0NMLm10ihHjTY1tGRFAgq9$e%v5p&^2bvm$ zSP8TCn;jWHZ!&&hllN2jZI7JNu1OtH`oAVUnz1no>5s@Vqb_su`67l{4U9_~qA@c^ zD8;0Rd7Tt$ow^jvOHgS6FDPsLLe?qiC1F$grg+Z@l`^`ucDNIm!bHHdj&a)?C4!QR z75a1q4hY^l!(pR=kh<7q^&&f)k8XYHC3UsSaQpELIwJw`@eyG1fkiYYcx-%ZchB>U z{jd~%X3{JA1bDSq66eYimGJ~{L9m3s{RTf%z|nsajw9c0Wi7+@Oj&DLU%(xFgDKN4 zH$pR{&lu&9Cfr+q-=DBtS3oY{p}Ox8O~$qLSOT`r2FPY!<;++4T<+ai3-CTV3M4F- z4?(Bj*fPLgz3t$3PeXHt{`<#sQEHb+)Zk|XT+eU^SMr>9ncfv7KLIc;Q9#QU)eJ?9 zZ1y6%v$d6o3N;!qWxdd6JJxd5SBZi{Jk^e{*hYyh@mxr=6lD~mqVQBM%P^S-Y-|YF z99JRGQ&Hiu#-&ebfj;7B0@B7#__P}QpuHB(#ZX2qNP;P!(R|sQU2E(s77X#6@t66) zhjlp%PPGzHoH~_0XD~_uYd0i7uy|9iQi>Cs%@(kzI;&HJ-|W36BILe*UulOhhiDaL ze!oD3+Fy-rYURN>#kT(hND(oBzlgc(fnyi&w5rHT8XoZ8hhwEkqPv?LoGP{kIm#eJ zh^XNxbqjxiAm;|!Di-;isn>ih#aCZid^GB?d)&Jh0uh$fKh`fNg@%rWUf)et9>y9F zFTowosQ~WbXC%l}4I2Fw4o?)MsCc|LWI`1`&C?S52xAypnS4SuF-cW2eT&O)`~=wi z0jo~lq1o}lC6LBS6bZo`!DJ?cOKFP)FF*tNQ$;kM0pX99A0>a~fA>Jk|L%`C7H$S^ z=*H)ApQeEZrTjOKK}(`+N~n7^JKX=a{epkbzgm9fU#0tR``_#Txc?2eR}K~bduI8i z<~L>k2K`p!bJ>Fab6aJE{})le*nd-CY5*v|T)%w+$To9uQ`I$6W8rqP4-b|n`l&DQ z*^>}q8v&Retut~4Y{(KH0y6fV0D&eZK2A>nvV>tTZ(39uN=nMxh%d2^!fg|KYHVRH zezLt{b`U}LM!#LbQkUX>2Vf`;xUdw;AT=;HwDrgzbp8a0+TnO`dV~|$dX(npSmXC) zi3%CG9vc#1ylz^u~WPqQa5B$QPM37xb z+~%*ZuT!qCKl%t{oL*n|-|9R8Y=I@xn%J@UA7gEYL`w%?_njiU_%fzV%cA#vLU;kQ z#z}0)onV$XX!Guf4I^D|(3Uvf|IaSiHClFg#yP&43yo%{No*Bt361)t!SQ|;A^7sG zrwzY%afh^TyQq(cSgXqBK84AS+)9wZN{zo)EF} z(DV0Vdr$inS!;ZIH;J{ob=yNmYX)>7AqN(85h2{~s|bHBBZMXxSS)N@I7N6IayB6Y z!($4;%*qMB=#EuPR)-UIj*8!w5kfz&CIGWLx7#AkdtoG(Q8?=uvDYYNr+7$T8Rr=Z zTz|yVm|AK~VE?Hzl;p&0I{g0u*hl9Zr1eY*H)m5g%CYrxb8>>18)r%@NeCqGo$QCi z6Sgd7QkvhPHRJBS(87FV@t-4-mYq!Xi;qLjp5HHsrXsENKKoBiIp;JdPOxPei}r>_ z;t3nVs&2Pc{PUkm-i}Lo$&=12c=$QOIp#+`BC8OP+_*~J1j`JSuQ!?Y=7;pV1 ztjOa0K?i}`?{9C37I>>0X(t}(uBfw1)*l|izh(t9kv^9d(0Y78jsH{=FH4?;p#oMN1@o`0}7uQEeOUMvW7A8c z3D(Wdk4WW(3$6VpT4CyMrW+USgTV!wlezrrp+UEHoP~v*jrFtbYk>`Kv!x&SyU&@+ z^*(0^6LBd|w(Bz;FNDjhn$-4mx7D6JJ^?6ZUGxGQ;#r>CDhyp03(Ifm$3T>wYr>~h z^zJZjX%&}K@-y-8C1;1U5}a$MemW~%O`S^HVTJAM7EkLrO+`*-4qn?8)MTsc`wCe| zMG4C^oWE|49(UPm#gIAXagiw;*x8$XI86?AkmK)~4m%v0Sd!06505F8>gbrbF{-;@ zIi}{l;Hg^r`DTqzihsXNJ9WT?#aV>~`~)~kPtI_#@JMY7ONXzS&Nw)yL=`QtwC)j~ zS3d{V^28LKcBwLvSSi#f-0)GQS&3QH#jM=W+JD>;+Z?fwR;dY_`DFx0*4`zFxjIPr zjjJymvW{`IzI`rnM%0Xt}f#h8+LSn!YxZlK*#6q&ZWE5=!>n zZNF17X*RjAfHzN<{#KV!vQ*1U-PmY~SyetEc)n|Vn>ge|Hr=Nk6(k4Aakky>>zbLV zCbTnV8a8c=sAmKJWMAslhSL0tG%@3`;QV7(sNC4@>7hnE<_Q!=L9Gc7lIiY_a>77l zl+_3i3}Z9m#}oJu4D3tYpZ{)?QE5+S?%KZ@OZkr$I~*5YM~^GIob^FNsW-ocQqWim z4gm?__wUQX!eHSl!eK)rDR?0RXe4FGu4Gi%fq*CM;Fmdp$r`VyO; zd4+ZNNz$l#eNNn7Kg9HtwmJ3Kb`63X-%KWwfieAeUn7b}u8 zYRo|gsCP21$Pf8CWGw>GcfAZ);}7eTwf^tChNm)JuYWTQwf@^9-2$D!VNN&DL|4-v zX!b7h3{ysZ%091LuBT`+{Z9Fmwu|v1V|*=4)r>SBlrUMJc z@_`xN{nKFs7&T!J;_-VRxf+#h+?cpSQIOP)9CxTiD2{XulwzXfOC={Y-DB-}Z>ngG zXlSk$sBOanBB_y#j++rTRqF99X41y^b4_NQ@sx-3hyV(&EfS6k_f{qw+oX@Oyu}QG zVzUrY^~M?1L9$16KJ?kHBXjJPvHi{MB3}y11sr=jhXrMY9|$PLdM)Sm#@Nxp|*~u|lorH6UdrZ`9Pbe6g%D zaE&ACQE(?z&~ZW_eRIil#p~4Mn?RyvNj(hqjxSD7~zjNhC1o2~cfxp2*cL zLKH3Sl`2%RV8fN-4J^%MTeEYRW36N*o{QpfYu{}-RQgI6+v}Zkel#y1?Ji4jenu1cJDs9Y zG$@c3VbMoyIK;Ym} z?6|t=jcX~Yd-|k!yrIVxZP&ekUi)JC;C1z9|y+S7F;)Ea0r(~B=be1;Y7;@|B z&AQk0T0W2y;(ddj-9)G4yr;xz$p$3o>g<8OPp9T)cLiak`rw+V5hXBtPxK{L;Q20) zt1q8w@AOv7bMKsSD@Xmi1%F(*kyr@o$;4r| zGfMiEo!5lap0~3gWmD)_sV}h`+f%HqzHhZIM(51zE6jMHlq;|?2Zx^F(~(xYChp6Z zblEb~1apXaJps;tCU=vZ$xTz#?Cs%ykgwuzVlp01)8*fyPl?X?DXx)p>oEW(qNBx* z&8t>&2AkzrGP-hu<1S)G`0UF@E3y6g%Psx2m0oSk?2U)r+>R+LN0p>j>s4+ziFV79 zeBXN+0trnP$}fDr2$8LrkfJt{oYDxx$*U5kzr-W=^gV5e9Tu2m(T+N`FD%6`uE61>aA{uf>^PP9f{_=GiKep<- zxV((-+*3$I2J4_Ehx}h4>E9aEr_4=*J_nA*aWa-W0M9e3eDw8?ne)OyVpr0SB3v<( zu1^5_Q>vY6+r^B7@pV}u=ft$3Y4Bw5V*TlxonbYC(X?Q1&hM%RvhK+a`323HavCZj zSy%YjMip(MR@;MJ!spQx#ERMWlH60U5*{UzcZzwHxFO}n84`8}8PVu@Q*0=UH>idA zQ>%SoIiAVsQe4QCMu&xX;uyCequ+}VriwK<${VcQyD`}|hnQqrI z?VY-h*hj|+)&7@IyHMvlJh`FR{U5EVIBR?N)U&I^s%9BzsO8Tl7d;}^>b-Mux^4Dz zH-1E6Vc{;q?{>G{;*@V<345t}7LqcjeYMAHqNCUK!S)gbx%mI`6lz)A0w^Rjd9Z_b zPoM+V+Q!ntfA2Va&Cq8sYHbr7N5N+g4ZEbEufjrSu;367;E~~w;NYQCQ_zVlENpUi z9JXk93L(WzOiDwC4q+p|O59f*O7EQ}CRqg?sYLu^R*z5clnoF#6{_hM>J=A)3#12S<6C$xG@k!2qCqr26y)Uc% z4W~_zYoizccQ7un$gQV0E^i_=I5_AZFmyHM zx1({c^|huTBwuO}nJ-zs9R-9=a<>&>SsZ23bh~T?j13dK7OPG^FN>jp$ zrX5>LOqe(au)uEZt_;{Z$R>1r+K@t~#vn#)7ymQ$mqs34`)hS8wgM-@!+_Ev8jETC z&~T=j4a+ffnAPm1=fn`KtZeuhJwA8$DTAE<#ok*+#TjgQzd#a5(BK-Zf#4Qg0|bZQ z+Ko$qMuKb5;53>>g9UeO+@;Y#kRXi(8VRn!A-B(*nKNhBz4!b3t~H-}Evl%epQ^5^ zU3>rbzc#oX>_6gkp_0C&Lyh!%`_-oXI{#i%X7H_BOUnLASHdxs;3e$vvo*rMy&Pi7jbF+=M zZJ$j1X`gQP(?3>O*#&lTco#WeRINh)_fP*9^u&J*zp1E^M&AX_#DOBmYWw*c;KZM{ ze~zZfO-7e@WlL3B4lG$o_a>&*KXWo>(Rbeu5ak%af&a#8tE$4&`J#gDw5);Owk{Ru zHeHkns*OkR@T&t9l;h<`Tqcs`0#+cAJ(}6L8K->Uvn^$sua-x1M~MF08Rp|?7^k-r z+D5>=12?`;hei9(*S0#ZUy)=zq*%B~#?uOo&ZZ+c>=;^)t1rGws-lZP1T3D@Xs{>wM+s2->kPFn0 zGdmvNN!J$)%nW$4I^AZNS95xdKamff@|{&>yfUq~nb|S2Dyo?%!sPP=M$AtX)vttC z>AO0hSCw|xV}*;48}f0vq>0)66d!B51@6eQXjb}~gtyJU9Uy@&GmS~wN5|TA^NrR} zLDa(+aB|@>g4Gg`zi8n(Xw(2jM zc#4u>47ArsMLocSZ2gd`X>~;r=@YF<7zcwqZT8G)C?M`Wo0rxEE|+~I=E)F<1ng-lhkUZ znSQ6{tj+rwZEZT1_UE7#EyFu6iK?weXzP6V(v8)lR z#oVL;`k~$?vR@b%z@vo*j_#_a#cDPFKxCC{-d^5X6+SiDjETgjM1_Zf2u;{s;d%93 zz9(ErnzE^{WSGk|2Hf{t7NcBb$% z`6=KU6cu>@b%u%USTH;lEGKju4Gvusvzt>J`RE(4A63to<+cu=FFY?&INDr?c5cgtiP#)PpQKJ#7%( zna>l8vj>xBf6;XLbgYJN?qt~CI-Aki6lA``>NWo9e$S07Q@0tU%ZE9XbZOZWDnW3A zKlSRam|O}fj4vPW?nsdp@TZiCv+|fOpeDMN6qlCk7cLSRARuP2md0Hn+ zCJ_GU8K>HL_pOTZXmDAhul-G3D=)$LY!pk>r4C^)&*)g7Db^yToK+&pHqdI&IiRMh zY^_lxSt%J;$+1!R^qv*1W@t=j-65>;qe)ymr|XpdZKjrGLUt5m$)i=EN5?Zyin#jo zvP`clk&Rd<{%cK*X?+sR%cj3*k&g~Ckpvz7U1r#5wKCfd`zQ(XU-?}Hi=>Z(OY?ux zNSXWTpbF?m-SC)d`H-D;tt+~r!=UM^H9V_Q2QTndKp7>EEvj=rfT!p?YQC*xK?cOS5QjASmWhet9f*tsnh!HS=2&U-aS9hTMoB1afJ|-^i0o8s~$^K8xOCky;LfEN) z+3Q~V=n$G4aGThDlP9qW&-mh?*dRruyam131vx)eadCTg;P)erQ6YGZ7=H=U{r(&h0m4sEtRc=%a=G&2{>D|>y$**GoQ z&etkkT5;F7S^o7VM$Te+>)p-VGri!gAnaiso@4ErqaQ68eF%S|H@N&ynW|+Az2Wb< zPnIEEeWhA9dYkO5->WEU_x&Ci$5KV^MU9h%e-TwGZ$w_e(|evL^w6!lDOg7LIq;JL z1PeD@@P?QbHROTmBu%rvqZ}&lMTW{OC4?|#Kf z(!CiIM^9vs)LJGEddP}Uvpq6XV0J306LD== z3=yI!%L;X#7Gh`|rm`EyB=beb{_ZvX7j5oK8ePGu0Pvy0z$Qwf{9e0~HdR$PK_baLi{J!wW)~%s+t?{R#kbvvsbz@xOvM*;RPeeu z2gaEcEbu_BL4J6J3 zkyXmKrbe!*i|(7N6EjqM$9P|S_t-)ul7s*SPh(&WI-iJxWK``6gUFiGu|9q(F9BWKkiFlo@y62o;MX)R+F44(jF2 zI5Blq?d+Qq*hd|U@w^KYV4-}Acb!4YP2EKo?p2(~=1NSw<@fn==)24vsI+n=$946n zqyC9Y>K7lA9D8vd0#zlEfG*H}eL4`s=nv{&>TsF%6x)St=KI?Dylrh~BVVmgW~&d1 zS}*M9+bBR4?wy_t)1nvIwc0{Acu|tlK!-w?nwdpb{0c}jgw~3-D zZ3e0q!;PReu*O8Zo}CFynq=tjemES*#h*Qr~ZqU(vq-h7`ycsZJQ;Q`jo2%ns5!0qjeNi_rQ#OrTiCd z$D8nOj4+^kY@&u%4PdK3233DEG_Z~sJ3lSW*35(Q4_xb7C-^dO{Y4|-*_V}1pnRI1 zI+g>a;aY5oJG69@`Z5|xj~8-Y{n8{DYd+(&R88v_E&YJ$A08VeyeWR7<^7^t|Cg$? z4(e6@I$obX;v)zm!)d1zKe`5Jh|@N*Y!n+=^`G9%Iw77RKRmCvgJ+4fOo(FB!Qs?8yzT!rTkH|3zSU0>Nyj_?uyYju_bcXKoll=3%sG{^UG=1$}cAhK- z+OdczSb}Gb+O3h3=9VQLP~Rdc{J>SBeEmn38TGyno8D2;kcU}%S<`C2&UzJ|947fw z&4!9)GmQ^~{?fbr*6tvf))^^-sv^~%YIb8Crd)EWez!*m3T?6%N#aGL-93>KbVP0d zxnJF_4w(<<3zG@bfaAWZ$Cbz_$ft_xQVU^03BLxsZKXI~g)vnL@Kq#ZDx@@w(Ab`R z{y0nxZ_$FN8fqok#Oq;x57{~(YOI47F1mHW5WVXwvR4TaFd7H__pEKCVpJQPNu$9F zUnC&P&*qu5hfc_=XQ-L1nT(zUcb?G-3^B{Ak1vONne)zZBzH+7RnjoF5kJVNzV~*o z7I3>(TGVl>lS+OgOo;AGC{m`0poll#z-LTnI?ei&?Q)~nkPz+I;(hE-HC|rIJ-$j( z3m;){mVXZ&Fakh%EH%#rBgt?!b-WR0`2b}a75G@j4(P>-W({984BM44TY0W$Y1V)| znmX9kQTnxkLI>aLTFm`tNqNOa=@Z>(w z^XsP^12aKca3n%=32c^mZ@=MeHz(a=n1x)s(J5s>I~S<<=(Y*g2i|BmlL~fcg9NM> zu8c2~=z-b49iEGYN)L-dw?`6-py)f-Glar+GM6UL5_YuYY4sOcU%l^`GeL@r48VteG}YhSePDkG*t z{DqD3owhWpyC-TB7+G=psI7gYKs{DSu??LT)@P8Z3R~RTDPef~EKtfg7e|+J!xGYs z+Coh;ou~00hYbg7&ZZlbnG%~SO`QG|{o*Jcuu02)Zs|MgE_L9Yg{=v^_j&*o)nXJ-NETNC3Rf+g->^rgRk{=uY zBuc2oyZy0_Nd*p)Hs}7JOmeOov`{@WsGyr&e{`e|InQ zZLRRK(X#DZv)ALq{JH3kQpx$%3#y`Id5aG1eqvI|>GPs0CSK0? zpmW+sWwd`{6V+ip<{PvO&thZU%ET4;PnqJ%s0@jk%Jf0CNxUNGw9+b>SQ{S;>u@o@ z{lp%iohp_*&bZ|3J5K}RGF)K@V zIF!tB*8-j-BeaIq+)CJHMFPC8_>MT_WLqGR=~`iiua9=mhr^e@)Z-Mh@qa81^IXOk z>T2ghp}s3`rL)yvbiE%{To2mUk#$L_Pr5d{o#n$>!7)3nUgXDWfS|qoK6w>j|EkE= zmfD1m+dR9Ut z`*4!9d!H2dt;A67-ZM@|Q39S>g8)}6bG`mRU0aY!Y3p%pLVs?vaqnQ(A7jnVL7~@w zPGgAzVnc3zc86wgI`@wg{H%}7bx0O)HbY*94U`c0` z6%wz|l3jU8t{&G*7{;G$X)E1-uBu6sw14=EMm2-04r!%6&-;ph>Ams5(a-Jj}Nbl{fM|Y8is2^MVA{hAs^-G{IL(R@^9%F9! zfhS9Zb@(a0Y3FQx!>8Xpw|62=MA-y>+xO-A06kbmeWEbeWR-ZO4+&r>n_`jF4ChFA zOXn{d&mMa~_+UgXM3IqOw1x+sI`#3cGf-;q;H)EYF_ts>4=JMX5D+)TOE#7vC5Ss! zjiJ{iyj4}E8e8>;wCW;DE9eSk;;Y2l;~FGp({!c&MN=0EuaAG2QHFQpKkWM&5V5ZJ z2-ZVJ_V5IFn2foP9=)4Kf0ERv$10(Cj$N0F7*`w{lnWpUgS>Ui-!#*3z~T4$dt43i zoBMK}o$gK8k~B(P^VZCqGh`^K?4=A(`k;pR}%;D1YYqkAsJ z9u4Lob_z6}rl3?G^5HrlKps5Mg=7qv%EGT0^OKc);J}A(oIDQkFP+Ie@Ao6FU?W1; zU~P3831VvW0wTOU9@nf68OXw}aa5)wjHu2;itbN|0!T@yIqgK2$cAt+YjRy%HGKY< zT36&SC7n*pZdyvwbC2g^=GwsSK1e9~ePpM5pdM2^|8r4IMtZEMR@l3}5PrVY*#Gj+=7E3?k1C=j_+({Toil4 z4<}o=rc>Wf8x7vAvHJqEsONE3EVg>hc4bM~f`#iK8r$qfhW>qpT;aj5AHPr-Bgaic zNBV2G>}Ef4M3}WB&7VDFC_)}tsn7E{NXLCXV+4Esa6>cHJh-{5U9>taO2W%f?=4w} z9{-+y8zk1g{ud4V*?pN>O_JU~KxtV@dYurtG(?Q8*46gGlr05FdszC*_q-_JZftmt z)8huU?clgoYYG4htG1VZk7XCap8{X$ny!iUQdmt4%Fs3%!Cq&-Agr?( zo`R&CtDj<{6;RdoT))J#p*BP;*T`pOT>JBSJq;=}t8#6)N`)Ps!2Z4M&q-OlTj~^& zb9I3K`jFRZF9DK1^_%)4I?{UYaO~0pT#WETx5#Uu6C0#cUDL#?h)$Zg>V|(VYDXq% zVr?0=+xst|Nwb5#pMn%e>-5QJ>NTC_V(XaW3sKsY7-lk~@vn0w*$iQ$XWum57-Ddp zl2?9N`1u3Tz6NDa`F2+P{GktR%P?YQYcyvka8K{G{FY%I*2!E|THob-%{6}xH)j-( z#ut&J7yx*0J1@}WI5p4g!l%mT^xa&lQCxN`X_BbrZ2F6|UGKsIF3(&Bb!HZoE>D>z zP`$bIG$ra4e`l2jMdtap&5;C?Pa(ALDWrrtX~!w-2CM^V1>q5Q-jf{vw25THGTAG;H8*mpAa|;2b+~1 z8gqp1NisE%d_HC9T}lp_r8S`0wf?1Ab-XO5U7)75Sf@#JVKBUOEjW;>Mv{fct!|n9 z7mWkoGelu*6!Bx5?6R}f01N2KJNk23-^r1a-SP^Lf+|qp#Z$Ain-`!F?1<=lTJ14|hXp1IKaSpa2`*atEPhPnb7l^|pZGF~qmU~3^GjG@ zo3@b3w8b%>Fz}vD8u9d@w^TfkWTgP*U=3ZDnzM0oc&Chv3f5MeTx9vfSpmyZ!R2z@ z<}s{|3Mytc8}=u`q20X~EPHRYzFI4YSy3WR2N7x}FKpnNyK1dcZwM#N1dg$LbGf+ zgYL15*`qq3s8eqRxF+{x&chDr;sM`u5Gcz45RG$%CI#g{aekFfGcPKJbe1#Me!tti z7sc+z=N)6EL@%2z_$-5i;lGu7`-!#EfWFzQRvsvC^A}BvW)IVFivKea32-8Z0Rw-s zpGA~wqVK9Zp^iK1N~i&6MxpoPhF~Pa3CZ+#jDAKDDsExSN4jv#4O$`NqDGh;({H+H zdR;l>wq1E4b9`7d7{5&u9pfvePyDVlw&~MwIDjM8aJKrSxBtaTk9Y6+`MzeOWR7UH z21RXWcabX5nE}0~7C85f!$_Rs1Aj%J;^GQ4Rh6#Jbu>ry5a#9nX#;g1C?z0;Q$0&n zi*+-Rr{O(J%-WUktb0KB%27U|8^WePVhEzvT(5HyoEciEi5iQO|BHtHUcoSLo^<%4 z^ty@>zH!C3*rrqY{szbU<4o0W=Cs&Bmdm-hYH{%pXnWF@OD>d}`p0-;7Zc9BEu$5a z4L-S=Qz16HVH#DgB`zP(1GxUwc0DflU~RM{R;O3UksNT1t-AGr zoRa%>NxkXhz(Zz(>GA;&$jkc)hc{q!O`1JZ6GcV>`m^^itf%!xFHs`qDh~{lqg&CV z5)Ndk3hrHcza~Fm(O*oefW*jS%H9#E3bJqU$a=<#wlO-K|CF2#ecuGHrnTX+tv#Kxr;`~r1Wha7l^)H;mzPNwrAmxHb1EIrhzrSV7yD;DQ z7(BV~^|lG*fppI(u!M{_jn^9^$Dk6(HUK4KihB_DvtA3NmBZUarMTEA7S-M9tT0S| z{td&7 z14#}MgvDIQT)#wi^Q3Ba9zPu#Mh;fYp^WolyLKTWerT6B#y`xGJ1J+pp&*R`9i{C9 z_|6}ZK_^2juScjy;Yu={k@?9pYId~=WjtEs2yoVkYu%c>M_6sndbTLV`&T1m>#P@gn zvJo6ZQk!G@rhEKh8}pa{?6_e#t?l2*P+%3iO6T+I&jMS%O-_C0}piF5!4q{Kp6$hP}REQ`VsKG zsJ<4%OUMnaitqCLE`xKqf5piryP@lX;Ztww=(z>TSL5dxAhCO z<|2%`QQ`s0XSayXS?!8XyXd$2iIZvPikI^pG5Rioi3CMLuA>GAA@pPydHSNVK4J9T zK!dgzJ(o^;X_aZpvq!r}#8r~Y_w9Q0i{c4Um4`$ojMXpLL#!Gvt;zQtuC!FDt_rbs zjpd}wzSAw4p0OEq%)OQRvN*(MR{t~@I2~fR^-ZBKUzr>BHDf!5w&2 zoy-%UTcsA9LQ9Qt9Nxt~Yh zpul4#g6YPHfbLA`rq2KE(*Nz!|NWKz@5KM#weor8*b&gnO1Vis;j-mCeBZhV&Mt|l>t)XOb{zehC#;G zou@)Y@rQXd8o3bp-bwN}VZXwIQETM4l%RS?ZpAu%&?(Cb!g-t`9Jdc;ax3_}K?joI zyT~=}hB%@aIa3bOSo&s~5h)U%WmyRfpXtwBwr}U0t=3hTntkPP=&+ORDI)s?%))zG zi#F;E>v3GiQ`T?mcwcw;&klc$%zg&Y8LjSHgK(I5-u2Z)SvVUZ;u$Y1c=Mq!@=Grx zJ;BgJzo?bg2Fm&7=wA7dJqK}42BECqpq)qeed^~w7`h1;QQYd7|*xa zYRL!Pq}g9%aAxdp?Wi3R2^DnJhb8=C|M;U?Yben_>xeEAqDWF(8LEg=CgxF0M}^%n zQk&QD#_eAEx}*Ge8aeD(UUFqVds7QVIWr0`n57}rS7i&1V=pSN{eT=G(^apXgQNA5 zV-YjdIgui2%Ms`7-rgXbQlyM$upM;IGqw<~=y^FK7x_sTJo;J0d$?sjo6>0+izra4 z=XdtprYgETXI}NMBl7d&P?3+0m4MO9dvMgQO=s(wV4@zzqIaQI$;PL25IS-d<6Dd) zCGZMFH`)@P3S7zs7@b@+>9=%t98P?WC7q28bKP;^8|Lg!zhq5b*}~-vU~A`8&|(Fa zSw45-`HME1@jdEEs{S|9x6Mh@bpYdb0%JBOc@UnIXYAU^x5BS7`HVIbh&d~cEvrWX z$ZLBDKO}iT_@YGbQ0d!Ts~WT$N0(1QEj%uuDcMP zo%g$y!yBal;OQneME)ruyMm2|TVV?#Yjw!is?_)LNstPszX55SPdMSiSyRbE71J1n zHh$jzbjy@izOCD0spJYcn1v`cAf7EI25&&Z5vFSIa4^EjXF*h}LL#EpR+|D}(dgcsSEiNe?Y2BzA<&l&;k^Hk?M@}c2a zJ(?btm7*`flpmn;BVThZ%O7`9;hTBXbqe;HS2YQeTu8O$BYT+um9@U=<;o!TL^B<* z?pyaKrj5Lo9`lPdu7rWqfZfsUcD3;N&O0F+k$D>*>-K?;KC5blWY$I^{|$+n;h?o_ zVMn90BSRLJO{6oFMnb8;Zsehm;W(&grd`N7#|yU03YqM^B*E+RjnIY+INuRxF|C@)zKL0o_+ycJ=e`5E2xne9UQauP=9RW zG%vhC4NA#vYx;m19j1ifWC^!sE}2_hH#0$H^p?|t{&XdRM8;~i%3ENZc*$iODn3Bd zz6`25X|A^i24ybm-xZi{rF{bLBiHG;#Uk4-c&an>0tP zIO!5(kyq4q$`d}k><(~!wR|!&`=kpB7&7)Dat36OHfles{FI#*EsfLh7tK1CJ=vU- zVpp+o=cpxZ^rwXNRYqdSS?5Q~+f5mFSxFL#;$^~d1y-&D7 z8&v`%(UrbsdNPT83=l)0LKm^^)H&*|2)0(2v1ma_PpFA2HPMt*iPurv7PCJGJ?Q3o9Q#l7F1NR&a;?yZ<_urL5 z?GkMGXo&7Bo40;_O8O!sivHfFNkV^T^cInQ_pXd7ntmW+OfHD7FZiF~+EQ`FXA8p{ zL$63(%8F64pNdxbwp0mK3_CtUsF7U0o<1R+wd5b0XwmcgojBMwBaw+Y-V^*j(S(v`jC8j&m{8H{!W%DuhEPu5VZs=vVk2WJ` zUR3h@CoUHbt!dqq2oRY$PtlEgsclw_JCl*qy7nMz(g_#?k}zGQjGN5r3A>jYcv%BIeG zToU|_Jtda_ir8tU!ty%Uec387a>Kk}YjRgXI1vk{J1(_5Rbu}lI^!aR#$ZS#H!_`_ z|E)$O%sPY<_;-6&iZ6P95~^P*5C^dyh(9; zg?HeWUKvSey9XSMoAjbXr_!z0h<5YDl@c5BJNV@vSkT2!^|EEU5SZ9y*_=HNK3x#M z#GeBAAc=C)0z~m1rT_ULuQKI2Lk0|E?%g>l z%+v`uwiwiHHa-*`HDZ9p06VK>ScxbKfygu;u(K!Q5KYVmVw-Dhbgk$850x&Eltoq1 zP+ws?e|f%(m|nC^b3$}AyEQf}rs0V?n*Ez0`T$YWyc4|-oPN3s*4S}hh}V%?=i}At zC}}kMw+AP!^r1j*6Z@u>ykC9c{{(TLvDwHE%3jHr)y0t5l5tm5 z;m8s5&c4BuC$n<%eas`H(mL%HYeCbid}g-p@ML&3`aCb7d=8@(XG%U*u7k|1EF=~(8Q)YgI3v8{Q;NXD2p9vMKMzjtfL}UGq;T`vT7NM-rFlry&r_Zja{q95{ z-~~J>jMYB<0p110W!E`Yf#G)%Yy za(7oomgt=@mf38S1}>29 zj}Hp5?Mt|m=!W4n_tSdben8*UlN{9RQoPkCUU_ej{7B1^0agCsL}KvaLxjB6^QX{F zXNULm(zfdcaxAG;qY~3u0hq;()p%n6a>ys3wzV=3b&i?7z-Yl`)MhL%o-FQa?B7B zOX~?@IYAWPP@+q>cj)XizEt&>b_LgEE@hV=&mH-kcuLqaNK6`qs)z9!HOh(~06B7z zL3djU!XqgWoOD&GbEv;de zlqmh%-}~pqZqv=SLhLRpTMCqKeBxM!-e$SvomLi1T_c2}roUvQyAt?pO+@YnfI38= z@BV-NFY3f__fmL`cv77H5h^u`cbxs^vRy^jEKl_U&gcs5rQUJ(Gxo5=I zLWRPOgr(1BDuz;?FGB0Lbkt5yMZD_o?;T$2vNEgHNs&?lR+UtP`p0g6Bw4{_SeWZ~ ziWG6YoB`s7UlWS>^M{|92kd_)H%I@o9pFGr;)4~%N8YKrsQtu4?Q^r(ZeY#;(NJaz z*mQO!7xbhlY<*p^v5R*T8VDb5-*9Ta< z>BYlR?yfdGoKardZq{{0gJ_|4({6{!H?014RvUkY6oHaEuPHJy#aL)|?LE8EskK2D z-L!We?G68#mUQ{Try^Cqe`x1`1MuYxY=1q+Ed|(+Ofu*CqB6AOKqQbfQ0ds3|$+?o%?xnn>OO10&L)GNf2*nX7<6)5ZQdZW*S-;It5rhTvC@xuXu*i z0gY)Ndl}%?cRO3(YzI+U%D$N2LZv92k^q39n;DH__FligXdBgM19UXCU5!lkfM~-- zcZuBsS6dw`8P)OtbzWtp(4E-YS;@KphczystKIWo%%?haEPoaiVO4d&ZpjR(d1uh+ ze|{O`=p!y3_GI#80lwrHuT|uZR*}p?BTD!7&-FmxWKjz`-G8h*ogwZMIU=LUq4yU> zG6EWDQDWE|(SRhLXjWe;UjvwoHL&SWl3i4QQ8mOxEaOeW^0DxA0YqhFfL!+9a9WeC zC@E2kPj)KPLsTg?qqkFZJ$6i?SZ;2^rQHy(&j}P8kk+~%+Rd)j+{KG*MGSf_M8r|e z;WQ=T&q1SE%lKbj6~+sSaev5`5TeX$oeL%^%-u!p@7o4hEV8M(Sh+~GcPsf=iymas z+43a5K+8=}v2#iL+J(;98*E$Yx)l4F?_b{;S|&Kw#MY%yzJu}y zx)8hiC(Cr9c4mW12kzpF)@&T|?3gOiZ#6BrvVbtv)B}?Xj>__Kv2dnpy%TjKF;(Ck z8n^>+o>y=>G!cdh(1{u1K76BjQ5SWdkDwNP_Bb^gLqnDnxd!ydCd-t8e0D~Ea(d~l zo0+Q3uf@>WrgQ1zQ+$Rw(oMx`Y>z2K*z%MBUK9bUOGec2If#I2!grZ1K8nT!P7;u; zzFibX%Hych!~2BMLawL(#cjUX{O|C*XrW=&yLZj#7sS1S}dHT+_p2c65u84%%SYMtG45TcP`m6zoz&h#guypHXE zO(qlQDH*nL3N=>j?PxoDO0*CI&7=<8S^2j+!F<+<9Wg?o7eJ zv(lY*LiT*{_|@@T`+J#d9U)_PQX1E=&z61n-vPJ-As9(c0(oDR0cvPGeH3me0+QWO zZRH#1KL(&|F}9fyJJeG;0X5}ExhFYlGV=xWLY}%~hH_O0e6M(chB^OZHS-_vCQGWU zc%>57)@@o*V*LK<>Pk?L1e*!ZBw6##6s1>>8*ukt;?QhZI{k9+pC+^bK zJm3=16R`Kf>Ya5GKYV+6_+~bW9`Zi>m-U$h7z7!gnv@b8Kj0j*cV{6%`pX(0mj-s zL$7tzb3ZlPPgGytKkNJ|XpxYl>7+_2IonyT{H9&GYwx*qI1lOBfT2EqPr^m)pGV65 zx4wGivw?y^>@fFBx`bxxpT`H?`zk&y^$dljjozt}_<2N44( zLiSPjUTW$~R7O%nw!PeC+$%_M--A6W!K&`z{Ujso`a7hm+1LlrQKS*PW5~}N!~r%+ zU*_RhQZW)C+V{W0hYr|%u&eYRhOKC?F&MV-=Q2uubtJ&Q977(gr&v?fm2sglN>crH zQC<>fkRU%fd!!gEI3;xJGIlSvb<`5gGEM!ST-%oU4C#pl9ds3Oi980Xq$zGNZUr>% zXe)n8o!QZnJRTr#Mmk(2wFL}TME3_s`ymWGDQk*D>&#_nvF?@s4`#ZcyuXy~1)i#w zzGA}_en5$#2G#$I=ptouQ(qisR?+E@qG>8AR_!8QS}gNi7>y~?HGs>nLq0#E7r^QD-H z1MfZm!K)7K@#;7ZCfwY=+phQG446D+{6CGSvR_qaNYHxBWW6EIwvnpR3r)`5{2^$HrI>VX5mhLwDLQw7hk7Ra&`)$3MT>ua*@T;#U}|UL5g=bhfAD!h2y?&-veH10e^vT7#3&jm>Pn5{OO*kz^@z-3 z1mz|ccImsiCU5xp)4OsuJHpo8|5PUR($MleNa9&>P86~?dx`JK-|y+=X#211ytpVa z%swMSg&Bae_{^z?sU6&bjSaNiocvDJOog=B{sBN~)~2d9nH}BS&bxUlySiMN$D4^IA=I9F zb$y9T$W&^^oI}}0i*kSlHtlz*KORXIWyd2EC$+8-1*Qi|oUzq0Y}sCCW@+Icr4`e> z3^uNp9t14yXi}HQn5!jPbtc5W@g=hf3!mhH$Y_Ox3ST^p8g2=-?#gCs;k5#AGsmv& zxY)WWOghQutf?TM8)7(*nqFO0_eg1i zHkSKF%gf~f)*e*)7j2>79`)LLc3x#JeQ|%$#sk99JotsWvAv&Y)JsH$dzo#bv=CN` zl5JR6#tBzmtyu@{lLCGLSEa&oAyN|WFA9h@RxvLMK8r}G)4g)pGRf9yRABPOdiipG z=i6EJRGd|#f&!;!v-kr$neO^2F=LMLY=F<_4-tIz2;@Ze+GPq0dzb3=zdimCGSHnT-|&lGs^!4v{uRTs&kNPHzzT*Et=n-Wb?pCw+AlgA+hF z=g^^H#&bp9aicgUi6~n{ic%gNIEG0(F^4f!=sm|9_@jCTA!2t{RoU`e;(JA%CLwQQedEaT_S`>!AOtJ`_D2o2Wd-Wxo7f4g;}xGY|GO>Hp2!A(g67KwP}A3A zkSUSGS1?B3BPqf*Nx=af-3rg;4aCc4FxYAJ7`LOblef1eq)`I>RTs_f-D?c`2#&+K zYtsvoJVo2plWpqtlj_y#C?ig;^|p56Mmv$xMfTqmp-$SWoNUB^;35O+o0x+EMZzxg zJLuz=Z2_*}k*+7#Tm&DakDpjQR_vO<7EHeEu8a+h<`0UNbs`6Z*WVwcN@$`t_sru9 z=$dC%4ApS^>aOeI3vCBq&wl4LN1(2%({%vEJQ^-&r4V|4j-+DeRo6q#r%818!nvo| zd6HX6tcjIq&K+Sz$ua}Spiti#rKR-cIq4#e1P)g`3p%?D@)1xB6mbkF14W>5zyf}w4q)X8*L60?_{||d_9URA# zbqluGR*RX@lEusnmSmB|EVY=KnJs2!W@ct)W+sa*uvoGrZ_mtc-n{wty^Y<7-EaSy z$cT=ryjhu9H?ym=>z+I(bbehyeh~JE?_7Y~_}JS!h2Vr&mQ;TwLGnn;dN9YV*g>N>brO z#Zu$tSS${t2sCsqCMdh?2CLB@9p-CC4?NfF#c8(nmKAw<-4i?@C3Sia6F?3793a=_ zDuR0OyDI0ZFGg0I_s3E|d`5bA`Tfx=8x8z9^+PAPR7A_Uq0rX4y5mu#(pwX^%(`pLb?C~GAnR^+j6hcWXtm`u1pfxJcX#8VinwJ|PgDdAx1J2UmNt1kIGtF zqlpOOOmu!G*WfQ~x!&1cQ-6{uEEQi7hk;P$AUc%yoB2d_$ToD zfk;1B;W~jS!6=jt(Lqznw*zoUw9Q%c=DIYOvzs&Fwu!Hd7$J{{v+GO(rJMy58~W9p z=!^4kIk-aE*nJVfNJ%43(lG#?UlCB9A-`tAHkrR;HKB zSQ5IdA-o)3E$izgvCKNJ?AX~o%e%D{W&Gb0=Q}3`P&WvgHpZ7AKb-`r#{<_pRB9hH z99v;KSk_7Xf5S22)l=IY=l{+Cvy|X+RZdxMw5Mqu%SDZsfa8xv!k%kwMy=^ABMfdCoGy!V z_E(hL5HbDtLnfA>t;O*jo@AM3)V=9k6;76j*QOd*4%0V|5=dS5p#F_93pH1}{>}J@ z`+~4fUJ}0|(eZ!qsr)LF&ZT8I#8Z?eFqzoZ%96xviM73{79ciR?%8UBH1rAy?`G#j z};cXTbX4g;4w!j zAoBW3OQFN9ouNb`8h?vv+M)&a!oE1qVZ`YJ`+L*6xDZ`P`w$DB7Y+V+WU0@%0c;cb z_M?H>M2aI&_Z_Gxk!hy*dw={riMKJm9tE+=_dq4I?g7llB6y%I`lyS3Bluwc!`aZW zm~zq3lw*7-N}D_;st@CkE5d*QXl9`}IvC+#5ic4mcHP~C^=a?3LKTMg1k_A_z0lQG zw@}Q))A*kCHr4~~SFHq3Eva6zT*{+uwz1vid^#LXCiBXQ2uEFb)mj{DA`JDX^ve+( zODz(?KY$d!!kQrK`>G_9$eQT}re*<;_2!r59nIdsHFryo&R8DgP%>}^E$-)0)xUpG zvLGi}S9LeFEdRaS#<`ZarEL|shW}*!-}Z#D)&JI8symv^m^)!9#~xtM(*EVx`sSAf zCRyz4e>i;{Z27--x$64=Zdk1UHq_wiz$5%$iY$+>{h#{3riJ*wE)T9@Y0+)|wW}7* z#!d8Gkt?NrF8i>}ToJ@TvGT4P#rA!~dA+h%dr^r$y$>nM7eZWl(qNf1>Vy%f-SS35 zsT#v+@AK4(U3Mctn+*H5aV}428xzB;y&lq#6IG$R%XpyOqqzJ)yxbm-+@Fli=~XZ2 z5^&u#;X7a4NwwUVNH4{Phw`wZ{U0KdL$B9DOR~gmQpMQ=;zpXl7ZmH4S?6UN@ z|Ht9>e-8idlK+qWptVwE3u@}}01wjt`cQaYto3lbat3?1oHl3(2lUWI@JYx0hD}>4 zH`}XJ5L1|-N?$z0WZ)J1zBIM!5hzX#|z%&UuS+bbNPPh{($u=_o6s8u(!tCboFWtrh{fcfdD{4 zLO{YoLPCP6pdlat5CBxLl9_@%ioSo`^{>1-yFQXRCZRn&dB1;hK0^qS8qgIB)cqqt zhp6pJKug5?qMxImqouK7SLljRPcJe5&B_G1COcCp_isrIk7<)$u&mpxoY7VCKI|Xq z?`L1XQ#kdj$)Er2N({3ByT!za)RT#h!m)K|v+JnTyuXaum5aIjEjQ4&NT7}o@ANa6 z96+8`<)pnxxsT>!=t>&>hdv2$W}>*^(fcm)J$)Y$R{F@(7P@QZH?h>@8uXUypz7|5h%`$zZQbKM+3UB|+p0~gX?u=#=krJ2k-Mw@b2|2J5g{>9B@tfOY zGJ}M#gSc5H@W?E@1xhklvM1XDNFI$krUZw_wlDmstLDmilJob6#)rLA(MlT67g*$WCPu((8 zLQuhYB85^FGGo$RJDu`D4y8jimwx~O2mlO-F|KSiCEi4Q6qX=q@l;%qq5_!<<^}5h zFG!|pVHpjbn!(%8au< zJB&wqncpWIV?hBV{+|EMkIBjD0!W;sy0opNf1mI-1G+M^f}Ov7xrV9aW_?%$$m`iu;=G+UVVY)T`~f(?%9oifK*+rQ0rWwEC9DN7q1PN1Ibb_k`;&*B75Q(T6#`Xdxe$aMjE&F*fi&UDehodIm#HUtz`>u=!_O7XLP8Qm}#X| zSLNa}JM9D#!4zM39i}6(9D1K5!l6Zwh5FA$AliMl^2gFBhdCUN zOq4jpdGcx%kSpOZh6JTu-om_UY_rKN%({E5;!sL*P=u*Azs4i;t4;%MJJ!OpbS7eM z!PKI7E0yWoGWs}`E~X)2*bg0yfhwC~*D5tVlv;kY7#-1JTDkz&MV!)V)AdVITQ_ir z&P+X)Tp*AQ=gjUGOM930h*w@+?_%evLq3#B5>reZ`V30JuEc&r0-EtaYsll5HJojn zBi`WIZPo~wjQWvf4c$2Mt~=-@WH4|j^D6}gQt)}vC)|52-|Pej_uMU-G;SgLLGYdwFa|3jy)prdx7dh~KFx=lKSD7Z;*Mir{Pn-HR zY5bK=RTV0oLA&s#vD62rdbNSGyrbWTNq=dJ9d3&wk~8P(sr?81HeS=4&(RfAQgmmp zJ`Rz!OKS|5WDuO1oBxKJw2Hc~Lowmijq>Fg3o%cK&>T`lm_CfFM&z>;MCq2xe2of? z{`MaL#kbEYpvFY04fxNazK2%UX5fAU;@RLj1n<@ezx1`cb%FOlu}zGE!QO!G0gNrT zsFUVIWJVa?$=Kgt@@X!7BmCfhBe1`dz<3Aa`CH>h)vm$Iy+C-CDx^$N1 z?7Y8j$TJAR#xP*Xz^c1x55Z)P#i9;B=~VuaxG_@w`0438o zBaHD5+f4}f%5ZuOhOzJFRIA(z#!ESide_xmG|1+KKPXv!OIh&yHJ98`ay<}DYw^)7 zdH^avtt#$Op8k#EV{I{^yMN0IbJ3Fcq@UMXhP=h3zU+o9(@tsB0`R31Q zmB{KvZJJbUDJtjk*w|)A3V}GS>>E2lEYY6(3~bAgs(t5&RsBE}7P+jsmv;v9FU$zs ztT~HryLw=v8cG$KjEQ>-ll4Ik%{X2Q)fHlvvtxpYNThU=eYc*w_lVJRnd&Fr20*D?7sUk6JfE_p%j5P;JiC;V?ye#Lz zWJ02cFev3N>l52X$4k@$J@ceY_;}|w)21gJN4|nXV`CYrDa%ghHOWu!1&rkC$3-3; z$)Xnl+b(qw?YUcz$~mbbnqPN@go8|2vy%tbD(DDPbpz)F^+egK&d zdFTe@ITiXtTf$*kcgL0eERYb@o8fB;W{}^qwhR<#^ca@_FrVOhe;_O;ZZfCvv8x}i zS8`yXR!ePRDs_hea^$L15bf+qjqs(N?oDP_*9?AjeJLMsJ)XCa#ZK^1#lPn z?mmF9)x`ty&u+2b>2v&|s!ZWu!3VCwbrv`#F87NEdGV@06f0t4UUNv*e>qEdm!|!~?nF?j=e;{A+MRV_ zAdO!~H#GL@UM2Wyrf@NxrfNg?PFWs9JpGCYwk{Bf;Sdo->CRj$g+@q(5WlSVjY{fLIF`5CTIDPWfkIa5U^lZ1Au^YD1UP1z--*{mWu zQapz_wONZv!%iW{uoAy7k+Do`vDQ|59d_2`Fk41|q5nAVLmpHf64Et6!7ARa!9N-S zj(&teEfHOruy3cj)c}FyC#H7f>RBf6J3?-_ zq)u81)Dy=jh`Hw+z6$#^mlgyyoQN#w!leb;d?uz6HanUzWC2qnmDYMHWqZ<^pCg`E{?lPMBszZIGZTsJ6~>z2|fdYarOZ{N(-*;DL)Nvpwdip=E*wNwMK6 z96mxV1WlAKSjoF-tqZa!q{@?n2<-=~qp> z#M4<0bN{Xo3xa!eI0|6E4nQ_yD6PhD$_0;@Cf4fWS~s6;9r(^~mRLMJ^g^-4b6BGopN%XzU(qq{(IrQtnFFy!0;thriNKOBiWJVqc! z^^Bzrw)IO%6~l$u^>w9hC=vF|eEpR&Z*;E$`R2vrnB3}BaSLZNQEjX;Q@lEsWB#SW zs3p@z&~5G|1(BYKsQEcL3x=7nYxn7^r+P_DO5iV8aV2UN&dld8&clfeFbG{?gW=oZ z$4jkSW9!vb>~7~w4Bc1o-AT?vJO0+c@*ylp*=?cE)60u5AtcF6&VKS(B?C(B=U-Ho zEiQQ>u~}RMd9tPU)7cF{34#oWLe!sRwsb;dvw;~uZ<0KSijTg>9y%7hw{VRJM|`s= z&zh`;LzeoO=%?(H)@IYtwucxn>Io||#P9E8MVcgw@<{O^LrCr+tmET0-aE`EjPjMm z<6jKx9q8g{C5S@|{Dp0PwEPlQ(w&fmgypc|F|90~y-6vI#*28h-l4|}YS2z zMk(3xvqFv!1e7uI47x0&$IEe)nVaaRYcWQP5M}^5S@FMq~s^LXgN=* zRl0ma$=$Y_?ikUhqVL^(m0l7-J=TjDXp5OjKiINu3AUB?c!hf;2+Je`75(VIqISrh zi)2R&DuwX4vK+`sg^aJ7Kbsf|>jiH6L{GY0Ws%0vU3t z3_l55&Tj3HR|Eqe*8=(Ald&g+b48mcJUy88ua{!EKYMOK?&*ZdG5YFS2>8?9dgTdU z&5xF5GP{tyPCWkX=J0So2-<@=$_=Aq&Gcz2Ho37K%y(Pm1Y>blsapt7A0^nI?PgSH zw{ReU(ducV_R8A8(_cMrpY7XS&`2~P#9UfOi^ z7^y>&Xyt#*I%=RNGD8ti)`%>S%4YUSL9z!`sB>tE*Y>*Q!B-sg=`<#(GMEa7VXeUx z_{45Vk-+r!?RGk)YQi*7cpv@RLusV^11RX6snWBhR4AwTmhFu2YOgSB19^LOPGw*^ zls0V*1*KF8Xl#XR4W)19sI5OgAWHT*Y#z$9Y<=aR^6|@V8f-eynO{CcAlhGjFXE?Y z5P$UA2ZbR?C(jUNW3w$bm+vNp(=VbDJcI`csrffI#Wr`OuhAMa8?%pX8QzF12TbYf zbsEq>AaflVToNvdrW{|fskTF?U^wnfph_o8d}vrUN=G}?L+H<) z$ZKG@RG}-?EgI(15<8seU>v8t3MvQ~&N6OOa0Kl9^NyB;!ejv(HC+A_mnd>lu1_~f zu<*h2m0;RN%)5=B?S-lN*zuy96evU;`2nc@j8EDl6BU%EGQK(c`e$ayg~3= zhAs+OELCXSM1SNKdwVw?Li#8}p3FH(-t>~o#FpDVa)EyKb!qNHExU?(iB@!@A=dhp zLJhykEI63;;@iI@jM^k&++12lNYG>KL;AfWdam!3b9N>1ckhyJ#xxrcR`WKVDABYR zE6V81luqO8gFW6S2xFuG&HM&+APKvf*7@G~e))xXZede$%XH++0K9XV2Tla30WYRQ z`j+M?8P(#NsSJ)$0EX`uvP4o4Y?#@BVs#Y#W1_!aRe)eESlLBHGDs&McZGRLjEW?t z0Mnwl92_;<#5Cd*VqL*EA(o$?uV7^5_+Enb*@OyD#R6es7Lq8fbv(^oc$c8jio#uq zC@!seHO+&76=zOHo)FOMM!#}bRx`cN3vAXgzk)v32N_blS1a67 z`gL+@in5(B|6dhrIObSX7fFL6tScVIle@4s)God+Pk_M9rV-{9`R}pCq8Cy@!x<7m zI<6+4z^i+VM>7K@6esyh+Tn88kPp_Y?t3Rm*mkY&g;S>Oq4j6yklL5|F~##Ew2;)E zgvF8zimvXNLyMrvPp0K1G^YkF=GT^m^GYlimr+tS%aWIrj)ceYdI88HAU`Unsi|E5 zKxGZjQlDC@K2IWYi;ZnqM~6EI(PA4YfP(YFjJ>J2v{J|+n1$}9ZFLd!lzOpV&EPkZ z)7Xaxtp?j_B^d*A{uAL{_=-jDh=fB2v? z=ghUJp&mj}tR{S*VlJg5#cB9XW`#LX3=C<(GK&iQTO@rQ@SlFbh@dYWB(_ zlD?6%Q!wzDX&sHOo>%0yY16J4QQAgFs5q|gf10{Q2J|;rZMC#iZ z3Sp>g%gbcTbes*J$vWHAq>g@=a$tFzKV9eqK|lC^_#A!GvtRMx;zUML!HW`s=Wej1mF{^kYl%b&?2nE5fUA4 zvP^M6o0V-tf5&3urmMjBVy@O1rJ=oMFH^z-u4!S}DRGXpu@J{}4jWI86i2_nXhV}

}t|Ga8 z5yivs`YHJgga3T)ODtc}zL8xD&MLokkE9FETJ-_(-L49Q^71#SRGFD{(Q*3+`FaNC;y-&q| z<*PxE@S4AlC1=#|`fq*v2_9OaOA5Xe4P+xP);_}`tfLoqS=nyPj*NuabMlweYd@|U z$;IF?wdA6bbm|(rMSiMp8hG0H!%w_b9#W5J>q(>6tAY6GOAf_LoHr-1d$`}JFe4k^ zCiI0J5QyOuv#m~O7>hQi($vH>MvL_!bGbbFC3I2l>Men=p@aR~Hoj$&N!tH3d#kT2 zyP7Kjp{SJB-2P{a;lTK(ck>$6JV1qs`DLRmkT;y1v^{82Fccvz$Vi`%0%nG7_FvWokE}xm z3ra)t+pTF(t(xBE!MozJ*v5`&t_TW%Br${E9oN{F0U9yfU(T~#==WfRWKQNwo1?Tw znDx+ohPXsy@xBJLsNv^&9N!3Q_p($u+^qNg!mF=($=iTIg||qlSfA{rGV4P49e)J9 zrS?i+%F15%J8|GJD8Q151VSr=_H9x~k(0fk@hHuM!GDk_fN%Km6w_Ty7s{tW*{bPs z;cYk`2Fm4pPcpaH3dVXKaTo!w(Ql^^LYStq+x1Hetm1?ihCKeJAT4pK&i6X& ztB_v`$|f7IKh-`0wGn;!?B%G%<15fhJ)##@C=doEJBURyg;1-Juk;M_?N_Zr~*v7bfoQTHfH zar5X8Yt9^~mhY{8XxupSnFuob(IL&?@`)gZPa&$qVGkDPaH>)eEpb|U_=)5>e<^R` zJO|b$(|29J)2M%KGP(*8j2D=NS+hK{K@MF?vR!&bgNJTkJZ0*IK>VVIN$c9Ay2~UT zsQMW~;T!z@y9of+IiXMH;`)G9?Uagc%}7k7&WGmYq~{iudso-^eK!u&dui)4sF2Xf zu7{e7j@IE9;FU7H1GvBcf?83bGp=gn{8p$ z(Gub?IPHPu1In&HPp}afkN=*dLZZMDLxn29!rO`MlAfPhRYu-1KvyRa*4gr8o!Xtb zd7k_?NW(vi;7LflGJGf*)yf$_;a4+T$;_kIvN>W08N8M7sJyLZ#-wAlXk|TT%O_FL zO|2oZ!DbBXxifT#`+0noNzhYM>_bVfPNezibY|ojw65cmCMq>$S3YOgF}ZsWT_ZA7 z2kat^i!S4J==Uwt(BGt#o7ZA=E8-t=U+m}fQNimbMCq@9hAM9*bG=kJZCG|9gpLtk z^_(Ql7oq^sPaO6@Bmo%uvmBZB%(R>(+h(26`0@3xXmqkYMK1VW6&p^tO>*^Q@2rFW z2WWzrF2Ph}v#Z!`Yei^Cu@RvX0a6`fUBCL{jieUSZ7GbRAD)!4T9-twmbm_~ngXw( z+-DW7yNo>;QYYb&$|hR{6eZJgJC6XhJcHGs?by+2p~`lA6FVUf6aQy)k%6g{Aj0Rn zRPn3v0=0pB>|>fzO^cBu6xk0XvL?XFTFJu6Jo+~U#IW3thu!>oOPblCn*34jPs*G4pi}S`ks#9TlQ8yO zj65~N!a=D0pAHyr0w@#~2AY4}Z8A(!{w#<_@LD8l^#nRxNYf?^h683`Z$Xwr)Et94! zg^wvG2P7oJtUs8}nc$X2q@N1*MawNu2ara`9b#?>esApn3~Wi%M1B!h_fy%c^}X?J zE;Ysrt94_*03Q$sF8XmIoTBmu~^20#4*zFvOPQYBU}VSurXm_6jj;uJT$ z6s@dD#w$vy4*q3SsRt+hm_}(FN0SqWpT@vIU0~sT|dFgR?!mXgy{zBIcRs%1C;5H9A6O_1M?^jYT>D2AL6x1 z;b5;*e(1M!wMw!T^~$n*4>YtC`}_nQm&?EQ2T%?_tM#te&Nz|>UFgXb{mhYb@LSBs zhtreUtOpIOhGY�}aSjRs@;^c< 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 Date: Mon, 3 Feb 2020 15:15:55 +0100 Subject: [PATCH 23/65] Remove image for now --- content/post/release-080.md | 5 ----- 1 file changed, 5 deletions(-) diff --git a/content/post/release-080.md b/content/post/release-080.md index 2da31ab..158cadf 100644 --- a/content/post/release-080.md +++ b/content/post/release-080.md @@ -14,11 +14,6 @@ It's released five months after 0.7.0 and has 295 commits since then. Also more and more people contribute to Profanity's development. A big thanks to: [@paulfariello](https://github.com/paulfariello), [@svensp](https://github.com/svensp), [@aaptel](https://github.com/aaptel), [@aszlig](https://github.com/), [@mdosch](https://github.com/mdosch), [@pasis](https://github.com/pasis), [@mzagozen](https://github.com/mzagozen), [@quite](https://github.com/quite), [@weiss](https://github.com/weiss), [@Misaflo](https://github.com/Misaflo) and [@jubalh](https://github.com/). -![Profanity](/static/img/profanity-rel-080.jpeg) - -{{< figure src="/static/img/profanity-rel-080.jpeg" title="prof" >}} -![Example image](/img/profanity-rel-080.jpeg) - ## New features We got fingerprint autocompletion for the `/omemo trust` command. We got a gruvbox and solarized theme. From 37ffecbb94bcdcb6a13119d96a9caa2970340feb Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 3 Feb 2020 15:49:37 +0100 Subject: [PATCH 24/65] More corrections Thanks to mdosch and pep! --- content/post/release-080.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/content/post/release-080.md b/content/post/release-080.md index 158cadf..5ee4eb7 100644 --- a/content/post/release-080.md +++ b/content/post/release-080.md @@ -30,7 +30,7 @@ Use the `/avatar ` command. And open it with `xdg-open ~/.local/share/profa A trackbar was added so you can easily see where you last left off reading. [#1238](https://github.com/profanity-im/profanity/issues/1238) ## Consistent Color Generation for nicks -We gained support for XEP-0392 Consistent Color Generation for nicks [#1191](https://github.com/profanity-im/profanity/issues/1191) +We gained support for XEP-0392 Consistent Color Generation for nicks [#1191](https://github.com/profanity-im/profanity/issues/1191). See `/color`, `/occupants color`, `/roster color`. ## Save current line @@ -38,7 +38,7 @@ Add option to store current line in history (like irssi down arrow behaviour) [# Imagine you write a long line of text, only to find out someone else wrote something where you want to reply first. Now you can press alt+down-arrow to save the current line. Write a new one. Send it. And press arrow-up to get the saved line back from history. -## Hilight unread messages +## Highlight unread messages You can now highlight unread messages with a different color in /wins [#895](https://github.com/profanity-im/profanity/issues/895). New theming option is `cmd.wins.unread`. @@ -57,7 +57,7 @@ A possibility to specify an alternative config file has been added: Use `profani ## Changes ### Preferences -Preferences are not immediately saved once you change them. You will need to issue the `/save` command from now on. This has the advantage that you can experiment with different settings and themes and only if you are happy with your changes you save them. If everything will stay as it was. +Preferences are not immediately saved once you change them. You will need to issue the `/save` command from now on. This has the advantage that you can experiment with different settings and themes and only if you are happy with your changes you save them. If not everything will stay as it was. ### Themes We changed the theme handling in Profanity. @@ -118,14 +118,14 @@ Occupants and roster chars have never actually been saved! Seems noone discovered this for years until recently [#1244](https://github.com/profanity-im/profanity/issues/1244). ### Status messages -Allow setting of status message (which actually never worked before) (b846c49) +Allow setting of status message (which actually never worked before) [b846c49](https://github.com/profanity-im/profanity/commit/b846c4970bb8054ca2bacb8cebdbe4d9302f4cb6). `/status set online "This is my text"` `/status set away bye` `/status set away` ### Date If you configure Profanity to load the last few lines from the history in a chat window. It always displayed a date of `01-01-00` as this was hardcoded. -Now it acually uses the right one. Seems this got unnoticed for years too [#922](https://github.com/profanity-im/profanity/issues/922). +Now it acually uses the right one. Seems this has gone unnoticed for years too [#922](https://github.com/profanity-im/profanity/issues/922). ### Memory leaks We fixed many memory leaks. Profanity should be much nicer now if you plan to never quit it. From 82a8f7de5eb0eb969f7f3293464d95614904c217 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 6 Feb 2020 11:18:28 +0100 Subject: [PATCH 25/65] Adapt helper script to not use fullname We have fixed the author page now so it gets actually displayed in the post from the metadata. And one can click on it to get more information on the author. --- blog-post.sh | 3 --- 1 file changed, 3 deletions(-) diff --git a/blog-post.sh b/blog-post.sh index 9930186..c30ca05 100755 --- a/blog-post.sh +++ b/blog-post.sh @@ -6,7 +6,6 @@ USERNAME=$(whoami) # Stolen from https://stackoverflow.com/questions/833227/whats-the-easiest-way-to-get-a-users-full-name-on-a-linux-posix-system USER_RECORD="$(getent passwd $USERNAME)" USER_GECOS_FIELD="$(echo "$USER_RECORD" | cut -d ':' -f 5)" -USER_FULL_NAME="$(echo "$USER_GECOS_FIELD" | cut -d ',' -f 1)" echo "Please insert the blog posts title and press ENTER." read -r TITLEINPUT @@ -27,8 +26,6 @@ authors: - $USERNAME --- -*Written by $USER_FULL_NAME* - EOF $EDITOR ./content/post/"$TITLE".md From 3ddd450a0abb7d9c324f877bc8e0cbcddd25ae95 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 14 Feb 2020 11:58:34 +0100 Subject: [PATCH 26/65] Add LMC post --- content/post/lmc.md | 30 ++++++++++++++++++++++++++++++ static/img/prof-lmc-corrected.png | Bin 0 -> 30862 bytes static/img/prof-lmc-wrong.png | Bin 0 -> 30372 bytes 3 files changed, 30 insertions(+) create mode 100644 content/post/lmc.md create mode 100644 static/img/prof-lmc-corrected.png create mode 100644 static/img/prof-lmc-wrong.png diff --git a/content/post/lmc.md b/content/post/lmc.md new file mode 100644 index 0000000..467ae15 --- /dev/null +++ b/content/post/lmc.md @@ -0,0 +1,30 @@ +--- +title: "Last Message Correction" +date: 2020-02-14T11:34:38+01:00 +authors: + - jubalh +--- + +From 10th to 14th February 2020 we had [Hackweek 19](https://hackweek.suse.com/19/projects) at SUSE. +Part of that time I used to finally implement the long (since 2016!) [sought after](https://github.com/profanity-im/profanity/issues/805) Last Message Correction feature, aka [XEP-0308](https://xmpp.org/extensions/xep-0308.html). + +See my [Hackweek project](https://hackweek.suse.com/projects/implement-xep-0308-last-message-correction-in-profanity) and the corresponding [pull request](https://github.com/profanity-im/profanity/pull/1267). + +## Usage +To enable incoming and outcoing corrections users need to enable it with `/correction on`, see `/help correction` for more details. + +Now we write a message to a friend `/msg Martin Hey therr!`. + +Ouch! Already a typo. + +Let's make this right: `/corr ` will autocomplete to `/correct Hey therr!` which then can easily be fixed and re-send. + +![mistake](/static/img/prof-lmc-wrong.png) +![corrected](/static/img/prof-lmc-corrected.png) + +## Details +The feature is only available in the development version of Profanity. + +We also need to rewrite more of our UI code. We can't yet compare the `from` field of the old and new message until we have done the rewrite because we don't save this in the UI buffer. +So it's possible that someone could take a look at the IDs and "correct" the messages of other people. Keep this in mind if you choose to the enable this feature. +We plan to rewrite the UI soon so we can properly check the messages origin. diff --git a/static/img/prof-lmc-corrected.png b/static/img/prof-lmc-corrected.png new file mode 100644 index 0000000000000000000000000000000000000000..1c36587c01c4d61121e1d034aeff0a1840503493 GIT binary patch literal 30862 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≷(K4R?;{fAmM$9LK%UHK^cWB`ulThI5(erxK1 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 literal 0 HcmV?d00001 diff --git a/static/img/prof-lmc-wrong.png b/static/img/prof-lmc-wrong.png new file mode 100644 index 0000000000000000000000000000000000000000..0511cec15ad6d37bb3e6a961c97f40b52d448ed5 GIT binary patch literal 30372 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 Oe(B0jq<`Q1^?w0}9t`vV literal 0 HcmV?d00001 From 7a9fbea8f898f2d77ef78e7e5c5b84c3cd8e9768 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 14 Feb 2020 12:28:13 +0100 Subject: [PATCH 27/65] Update LMC post --- content/post/lmc.md | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/content/post/lmc.md b/content/post/lmc.md index 467ae15..c624f8e 100644 --- a/content/post/lmc.md +++ b/content/post/lmc.md @@ -23,8 +23,12 @@ Let's make this right: `/corr ` will autocomplete to `/correct Hey the ![corrected](/static/img/prof-lmc-corrected.png) ## Details -The feature is only available in the development version of Profanity. +The feature is only available in the development version of Profanity. In the master branch on git. +So it's not yet ready for release. -We also need to rewrite more of our UI code. We can't yet compare the `from` field of the old and new message until we have done the rewrite because we don't save this in the UI buffer. -So it's possible that someone could take a look at the IDs and "correct" the messages of other people. Keep this in mind if you choose to the enable this feature. -We plan to rewrite the UI soon so we can properly check the messages origin. +Master branch corresponds always to our development and doesn't guarantee anything. It's where we develop test and experiment. + +The LMC feature is in there. But for the correct behaviour we need to rewrite the UI code. We could hack a 'from' field in there but we want to think more carefully how to implement it nicely. +For this reason in the current state we don't check the 'from' attribute of the sender. Because at the time of drawing so far we don't have this information. + +Since LMC is off by default noone is at harm. But people who choose to enable it need to be aware that in theory it would be possible for other users to send special messages where they could "correct" a message of someone else. We think the damage and likeliness from this is quite low. And once again, this is only in our development version of Profanity. From 132e5a169104b5828eb5109455054f165147545d Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 17 Feb 2020 11:54:11 +0100 Subject: [PATCH 28/65] Edit lmc post --- content/post/lmc.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/post/lmc.md b/content/post/lmc.md index c624f8e..241d820 100644 --- a/content/post/lmc.md +++ b/content/post/lmc.md @@ -11,7 +11,7 @@ Part of that time I used to finally implement the long (since 2016!) [sought aft See my [Hackweek project](https://hackweek.suse.com/projects/implement-xep-0308-last-message-correction-in-profanity) and the corresponding [pull request](https://github.com/profanity-im/profanity/pull/1267). ## Usage -To enable incoming and outcoing corrections users need to enable it with `/correction on`, see `/help correction` for more details. +To enable incoming and outgoing corrections users need to enable it with `/correction on`, see `/help correction` for more details. Now we write a message to a friend `/msg Martin Hey therr!`. @@ -27,8 +27,9 @@ The feature is only available in the development version of Profanity. In the ma So it's not yet ready for release. Master branch corresponds always to our development and doesn't guarantee anything. It's where we develop test and experiment. +We write these blogposts from time to time to inform our users and sponsors about what we are currently working on. -The LMC feature is in there. But for the correct behaviour we need to rewrite the UI code. We could hack a 'from' field in there but we want to think more carefully how to implement it nicely. +The LMC feature is in there. But for the correct behaviour we need to rewrite the UI code. We could hack a 'from' field in but we want to think more carefully how to implement it nicely. For this reason in the current state we don't check the 'from' attribute of the sender. Because at the time of drawing so far we don't have this information. Since LMC is off by default noone is at harm. But people who choose to enable it need to be aware that in theory it would be possible for other users to send special messages where they could "correct" a message of someone else. We think the damage and likeliness from this is quite low. And once again, this is only in our development version of Profanity. From 35b4470183d4478c605ea9c876b0dbfa5d612565 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 17 Feb 2020 15:17:32 +0100 Subject: [PATCH 29/65] Add correct picture path --- content/post/lmc.md | 4 ++-- content/post/release-080.md | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/content/post/lmc.md b/content/post/lmc.md index 241d820..eba3f40 100644 --- a/content/post/lmc.md +++ b/content/post/lmc.md @@ -19,8 +19,8 @@ Ouch! Already a typo. Let's make this right: `/corr ` will autocomplete to `/correct Hey therr!` which then can easily be fixed and re-send. -![mistake](/static/img/prof-lmc-wrong.png) -![corrected](/static/img/prof-lmc-corrected.png) +![mistake](/blog/img/prof-lmc-wrong.png) +![corrected](/blog/img/prof-lmc-corrected.png) ## Details The feature is only available in the development version of Profanity. In the master branch on git. diff --git a/content/post/release-080.md b/content/post/release-080.md index 5ee4eb7..604f647 100644 --- a/content/post/release-080.md +++ b/content/post/release-080.md @@ -14,6 +14,8 @@ It's released five months after 0.7.0 and has 295 commits since then. Also more and more people contribute to Profanity's development. A big thanks to: [@paulfariello](https://github.com/paulfariello), [@svensp](https://github.com/svensp), [@aaptel](https://github.com/aaptel), [@aszlig](https://github.com/), [@mdosch](https://github.com/mdosch), [@pasis](https://github.com/pasis), [@mzagozen](https://github.com/mzagozen), [@quite](https://github.com/quite), [@weiss](https://github.com/weiss), [@Misaflo](https://github.com/Misaflo) and [@jubalh](https://github.com/). +![Profanity](/blog/img/profanity-rel-080.jpeg) + ## New features We got fingerprint autocompletion for the `/omemo trust` command. We got a gruvbox and solarized theme. From c3951cf1636a3e19749f97c0b4deccbdad4665db Mon Sep 17 00:00:00 2001 From: DebXWoody Date: Tue, 3 Mar 2020 15:13:40 +0100 Subject: [PATCH 30/65] tmux and profanity --- ...-to-run-profanity-instances-within-tmux.md | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 content/post/how-to-run-profanity-instances-within-tmux.md diff --git a/content/post/how-to-run-profanity-instances-within-tmux.md b/content/post/how-to-run-profanity-instances-within-tmux.md new file mode 100644 index 0000000..6c6ac14 --- /dev/null +++ b/content/post/how-to-run-profanity-instances-within-tmux.md @@ -0,0 +1,36 @@ +--- +title: "How to run profanity instances within tmux" +date: 2020-03-03T14:49:55+01:00 +authors: + - debxwoody +--- + +If you have more than one XMPP account, you may run one profanity process per +account. For example `profanity -a AccountName`. + +It's possible to start a tmux session with one window for each +profanity instance. + +Create a tmux configuration file, e.g. in `~/.config/tmux`. + + mkdir ~/.config/tmux + touch ~/.config/tmux/profanity.conf + +Within the configuration file, you create a tmux session named `Profanity`. +Followed by one window per XMPP Account. Each window will run a profanity +followed by `-a accountname`. + + session-name Profanity + neww -n "Private" profanity -a private + neww -n "Work" profanity -a work + neww -n "Movim" profanity -a Movim + +If you are using bash, you may like to define a alias in `~/.bash_aliases`. + + alias profanitymux='tmux new-session "tmux source-file ~/.config/tmux/profanity.conf"' + +Done! You can start your profanity instances within a tmux session by running +`profanitymux`. tmux will create one window for each profanity instance. You can +switch the +tmux windows with CTRL-B + 1 or CTRL-B + 2,... + From 28a702c0685e9b04d372f7740db9c3a03838d375 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 9 Mar 2020 13:41:51 +0100 Subject: [PATCH 31/65] Complete LMC --- content/post/lmc.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/content/post/lmc.md b/content/post/lmc.md index eba3f40..10f97c0 100644 --- a/content/post/lmc.md +++ b/content/post/lmc.md @@ -33,3 +33,6 @@ The LMC feature is in there. But for the correct behaviour we need to rewrite th For this reason in the current state we don't check the 'from' attribute of the sender. Because at the time of drawing so far we don't have this information. Since LMC is off by default noone is at harm. But people who choose to enable it need to be aware that in theory it would be possible for other users to send special messages where they could "correct" a message of someone else. We think the damage and likeliness from this is quite low. And once again, this is only in our development version of Profanity. + +## Done! +Today, on 2020-03-09, we were able to finish LMC properly. So if you use master from [a23d4e4af7c10f6762577940a12983903bf4428d](https://github.com/profanity-im/profanity/commit/a23d4e4af7c10f6762577940a12983903bf4428d) you are good. From e39cf73e918acf0e20f85b27f065258f09dfac86 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 24 Mar 2020 12:04:03 +0100 Subject: [PATCH 32/65] add debxwoody stub author page --- content/authors/debxwoody/_index.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 content/authors/debxwoody/_index.md diff --git a/content/authors/debxwoody/_index.md b/content/authors/debxwoody/_index.md new file mode 100644 index 0000000..8a78ace --- /dev/null +++ b/content/authors/debxwoody/_index.md @@ -0,0 +1,6 @@ +--- +name: debxwoody + +--- + +debxwoody is a Profanity contributor From 04f06838aaf9f6f9e8e5017c05fe47d39c3568a8 Mon Sep 17 00:00:00 2001 From: Dmitry Podgorny Date: Thu, 9 Apr 2020 22:51:04 +0300 Subject: [PATCH 33/65] Post: XML console in Profanity --- content/post/xml-console-in-profanity.md | 64 ++++++++++++++++++++++++ 1 file changed, 64 insertions(+) create mode 100644 content/post/xml-console-in-profanity.md diff --git a/content/post/xml-console-in-profanity.md b/content/post/xml-console-in-profanity.md new file mode 100644 index 0000000..974aa39 --- /dev/null +++ b/content/post/xml-console-in-profanity.md @@ -0,0 +1,64 @@ +--- +title: "XML console in Profanity" +date: 2020-04-09T21:16:34+03:00 +authors: + - pasis +--- + +Profanity is an XMPP client that allows you to chat with friends. But one +feature makes it more than just a client. The name is XML console. + +It has been implemented for a long time now, but hasn't found wide spread within +Profanity community. I still believe that the XML console is unpopular because +users haven't chance to find it and to try it out. And Profanity community has +a number of experts who use XMPP in their projects. If you're one of them, +Profanity can make life easier for you. + +XMPP clients implement an XML console mostly for debugging purpose. To see XMPP +stream and analyze issues post factum. But Profanity has gone further and +implemented XML console with ability to send any data. One this small property +turned Profanity into a powerful developer tool. Let's see how to use it: + +To open the XML console, simply run command: `/xmlconsole`. It opens a new +window with content of XMPP stream. Profanity starts displaying only new XMPP +stanzas. You won't see the part of XMPP stream before you open the window. +Format of the content is as follows: + +``` +21:24 - SENT: +21:24 - +21:24 - +21:24 - RECV: +21:24 - +21:24 - + +``` + +Any text you send in the window is inserted into XMPP stream as is. So, you can +simply type a stanza, press enter and observe server behaviour. Why is it so +cool? Because you don't have to write any code while you learn a XEP or server +behaviour. + +For example, you've decided to implement roster support with a low-level +library like libstrophe. Instead of debugging with writing code, printing +text to terminal or logs, you can connect to your server with Profanity and +type in the XML console: + +``` + +``` +Now, you can observe what server replies in practice. In this way, you can +debug process which requires multiple iterations. + +Hint: if you type a stanza without child element, don't forget to close the tag! +Pay attention to the "query" stanza in the above example - it has '/' before +closing tag. + +And even you send something wrong, server will close connection and Profanity +will reconnect automatically. So, this is much faster than rewriting your code. + +To demonstrate a different usecase, let's refer to XEP-0363. After requesting +a slot with an IQ stanza, you can upload file using curl command-line tool. +Again, no need to write any code for debugging. + +Hope you will find this feature useful for you! From ffb20ce8689c5f6ecef971aa2e5dd0db7619d50a Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 13 Apr 2020 11:11:36 +0200 Subject: [PATCH 34/65] add pasis authors page --- content/authors/pasis/_index.md | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 content/authors/pasis/_index.md diff --git a/content/authors/pasis/_index.md b/content/authors/pasis/_index.md new file mode 100644 index 0000000..2167114 --- /dev/null +++ b/content/authors/pasis/_index.md @@ -0,0 +1,6 @@ +--- +name: pasis + +--- + +pasis is a Profanity contributor and maintainer of libstrophe. From f515a6d668129db09875140a0a5cdb8937842e36 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 15 Apr 2020 14:13:42 +0200 Subject: [PATCH 35/65] Add contrib via gh post --- .../post/contributing-a-patch-via-github.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 content/post/contributing-a-patch-via-github.md diff --git a/content/post/contributing-a-patch-via-github.md b/content/post/contributing-a-patch-via-github.md new file mode 100644 index 0000000..ff62008 --- /dev/null +++ b/content/post/contributing-a-patch-via-github.md @@ -0,0 +1,47 @@ +--- +title: "Contributing a Patch via GitHub" +date: 2020-04-15T13:50:25+02:00 +authors: + - jubalh +--- + +Several people mentioned in our MUC that they have problems contributing code to the Profanity repo on GitHub because "forking all the time is cumbersome". + +Let me show you an example workflow. Since I don't think it's cumversome at all. +I assume you have an account on [GitHub](https://github.com) and are logged in. +First thing we do is fork the repo. So go to https://github.com/profanity-im/profanity and click on "Fork". +Now you should be at your fork, in my case this is: https://github.com/jubalh/profanity/ + +Let's go into our developtment directory: `cd dev` + +Now you clone our repo: `https://github.com/profanity-im/profanity/` + +Change to the directory and check out a branch: `cd profanity; git checkout -b fix/typo-in-readme` + +Add our own fork: `git remote add mine https://github.com/jubalh/profanity` + +Make a change: `$EDITOR README.md`. + +Commit your change: `git add README.md ; git commit` + +And push the change to our forked repo: `git push mine` + +In the browser go to https://github.com/jubalh/profanity again and click on "Pull Request". + +Write some nice text there. + +A couple of days later you want to contribute something else. + +So we go to our sources: `cd dev/profanity` + +Pull the latest changes from master, hopefully including our own changes in case they got merged: + +`git checkout master; git pull` + + +And then we do the same like before. We check out a new branch, we do our commits there. We push them. +So this is the same like one wouldn't use GitHub but git in general. +The only thing that is "more work" is to go to the website and create a pull request. +The "forking" actually only happens once. + +If you don't like browsers, you can use something like [hub](https://hub.github.com/). From bef860f798913d857ef78c0cca0d24100c04211c Mon Sep 17 00:00:00 2001 From: Martin Date: Wed, 15 Apr 2020 14:36:02 +0200 Subject: [PATCH 36/65] Fix typo cum_v_sersome -> cumbersome --- content/post/contributing-a-patch-via-github.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/contributing-a-patch-via-github.md b/content/post/contributing-a-patch-via-github.md index ff62008..cd4d779 100644 --- a/content/post/contributing-a-patch-via-github.md +++ b/content/post/contributing-a-patch-via-github.md @@ -7,7 +7,7 @@ authors: Several people mentioned in our MUC that they have problems contributing code to the Profanity repo on GitHub because "forking all the time is cumbersome". -Let me show you an example workflow. Since I don't think it's cumversome at all. +Let me show you an example workflow. Since I don't think it's cumbersome at all. I assume you have an account on [GitHub](https://github.com) and are logged in. First thing we do is fork the repo. So go to https://github.com/profanity-im/profanity and click on "Fork". Now you should be at your fork, in my case this is: https://github.com/jubalh/profanity/ From b9407834e205da703964150f78cb414015485092 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Sun, 19 Apr 2020 22:53:19 +0200 Subject: [PATCH 37/65] New mailing list --- content/post/new-mailing-list.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 content/post/new-mailing-list.md diff --git a/content/post/new-mailing-list.md b/content/post/new-mailing-list.md new file mode 100644 index 0000000..6d83747 --- /dev/null +++ b/content/post/new-mailing-list.md @@ -0,0 +1,12 @@ +--- +title: "New mailing list" +date: 2020-04-19T22:50:18+02:00 +authors: + - jubalh +--- + +I would like to announce that thanks to [toogley](https://github.com/toogley) we have a new mailing list. +You can register on https://lists.notraces.net/mailman/listinfo/profanity + +The list is hosted by [datenkollektiv](https://www.datenkollektiv.net/). + From 27279082a230602b3b74307fe7db0f871428e9a8 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 9 Jun 2020 18:50:00 +0200 Subject: [PATCH 38/65] Add 0.9.0 release post --- content/post/release-090.md | 124 ++++++++++++++++++++++++++++++++++++ static/img/prof-rel-090.png | Bin 0 -> 96416 bytes 2 files changed, 124 insertions(+) create mode 100644 content/post/release-090.md create mode 100644 static/img/prof-rel-090.png diff --git a/content/post/release-090.md b/content/post/release-090.md new file mode 100644 index 0000000..8d42c82 --- /dev/null +++ b/content/post/release-090.md @@ -0,0 +1,124 @@ +--- +title: "Profanity 0.9.0" +date: 2020-05-09T14:46:08+01:00 +authors: + - jubalh +--- + +Four months and 350 commits after 0.8.1 we are happy to release 0.9.0. + +7 people contributed code to it: [pasis](https://github.com/pasis), [wstrm](https://github.com/wstrm), [DebXWoody](https://github.com/DebXWoody), [toogley](https://github.com/toogley), [pmaziere](https://github.com/pmaziere), [moppman](https://github.com/moppman) and [jubalh](https://github.com/jubalh). + +Thanks to everybody who was involved, be it testing, writing documentation, updating the website or whatever you did! +I also would like to express my gratitude to my sponsors [mdosch](https://github.com/mdosch) and [wstrm](https://github.com/wstrm)! + +![Profanity](/blog/img/profanity-rel-090.png) + +## LMC +We support [XEP-0308: Last Message Correction](https://xmpp.org/extensions/xep-0308.html) now. +Enable it with `/correction on`. If you mistyped a word just type `/correct` and hit tab to autocomplete the last sent message, then fix it and press enter. + +## Slashguard +In our MUC we often see messages like "q/uit" or people having whitespaces before a command " /quit". +To help you not make such mistakes we introduce slashguard. +Once enabled (`/slashguard on`) Profanity won't send messages that contain a backslash in the first four letters. + +## New parameters +You can specify a logfile upon startup via the new `-f` option: +`profanity -f TEST` will log to `~/.local/share/profanity/logs/TEST.log`. + +Hopefully this is useful for our testers! + +The new `-t` option will let you select a theme right at startup: `/profanity -t bios`. +This is useful if you run multiple instances of Profanity. Maybe you have multiple accounts and want to visually destinguish between them. + +Did you know we have a [blogpost](https://profanity-im.github.io/blog/post/how-to-run-profanity-instances-within-tmux/) that should help you create such a setup with tmux? + +## Titlebar +Previously you could choose whether to display the MUC name or MUC title in the titlebar. Now you can choose to do both or neither. +`/titlebar use name|jid` became `/titlebar show|hide name|jid`. + +## What software is this server running? +You can now use XEP-0092 not just to request client software information but also server software information. +Use `/serversoftware domain.org`. + +## Themeing +You can now colourize your trackbar by using `main.trackbar` in your theme. + +And you can use UTF-8 symbols as your OMEMO char. + +You can now choose not to colorize your own nick if you enabled XEP-0392. +Use `/color own off` if you want consistent color generation for everybody else but not for yourself. + +MUC history messages were colored in one uniform color (grey by default). Many users would just get the same coloring and hilighting for like they do for freshly received messages. So we removed the uniform color feature [#1261](https://github.com/profanity-im/profanity/issues/1261). + +And there is a new theme based on default: jubalian. Check it out ;) + +## Avatars +Avatars can not only be downloaded but also opened automatically now. +In 0.8.x you used `/avatar odin@valhalla.org`. +Now you can either just download it `/avatar get odin@valhalla.org` or open it: `/avatar open odin@valhalla.org`. + +By default we rely on xdg-open, so your default image viewer will be used. +But you can choose to configure it yourself. For example to use `feh` instead: `/executable avatar feh` + +## Open URLs +People often had issues that URLs are too long and then broken into several lines. If they were in a MUC and had the occupants panel enabled, this made it impossible to click on the URL to open it because it was not one consecutive string. + +If you run Profanity locally (not on a remote machine where you log in via ssh) you can use use `/urlopen` to open an URL in your browser. + +By we use xdg-open again. But you can configure it like `/executable urlopen firefox`. + +## OMEMO +OMEMO autocompletion had some quirks. We fixed them! +We also stopped requesting the device list in non anon MUCs. + +## Scrolling +Sometimes it happened that you scroll up a window to read up on something. Then switch you application and later forget that you actually scrolled up. Why is noone saying anything in this MUC anymore? + +In this version of Profanity we display a hint in the titlebar if a window is scrolled. Use `titlebar.scrolled` to theme it. + +## Legacy authentication +Some servers still only allow legacy authentication [#1236](https://github.com/profanity-im/profanity/issues/1236). +If you want to connect to them you will need libstrophe 0.9.3 and Profanity 0.9.0. + +Use `/connect [auth default|legacy]` or `/account set auth default|legacy`. + +## Too many tabs +In case you have many windows open you might want to only display the ones that have something going on in them. +Use `/statusbar show|hide read` to configure this to your liking. + +## Bookmarks +We now print the boomark names when using `/bookmark list`. You calso now add a name when using `/bookmark add`. + +Gajim uses a custom way to save whether (autojoined) bookmarks should be minimized. When we manipulated at bookmark from Profanity we didn't respect this flag and it was overwritten. Now Profanity works nicer with Gajim [#1326](https://github.com/profanity-im/profanity/issues/1326). + +When you use multiple clients you probalby have some MUCs that you want to join on all devices. You use the autojoin flag for these cases. +If you want to ignore the autojoin flag in a Profanity instance you can use `/bookmark ignore`. + +## Narrow terminals +We can't support all edge cases and users will need to have a reasonable window size to use Profanity properly. +We fixed a bug about a messed up titlebar if a user had a very long resource name [#715](https://github.com/profanity-im/profanity/issues/715). + +## Change in default settings +To give a better experience to new users we changed the default settings for some popular features. + +* Allow message correction +* Send receipts +* Enable carbons +* Enable type/chat states + +## Under the hood +Plenty of memory leaks where discovered and fixed. Profanity should run a lot smoother now. +The UI and message functions were cleaned up in preparation to add MAM support. + +Messages are now logged in an sqlite database which is located at `~/.local/share/profanity/database/accountname/chatlog.db`. +All later retrieval (history) is done using this database from now on. We still output regular chat logs in `~/.local/share/profanity/chatlogs` if the user enabled it (`/loggin chat|group on`) but don't rely on them anymore. They are just for the users convenience. + +This will also benefit us when implementing message searching [#206](https://github.com/profanity-im/profanity/issues/206) or MAM [#660](https://github.com/profanity-im/profanity/issues/660) for example. + +We always send delivery receipts and not just if the other client advertises it [#1268](https://github.com/profanity-im/profanity/issues/1268). + +Some users experienced connectivity problems. Several things were done by DebXWoody to improve this. + +We also had an edge case where the roster only displayed offline contacts because we received the presence after the roster. diff --git a/static/img/prof-rel-090.png b/static/img/prof-rel-090.png new file mode 100644 index 0000000000000000000000000000000000000000..637940bf82367880344ae0513213a1dfa4db5b14 GIT binary patch literal 96416 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 H-@5;Q^kIP@ literal 0 HcmV?d00001 From f36b6d9dd2a3286ff635e9db5526c8f274a7d4ba Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 9 Jun 2020 21:14:08 +0200 Subject: [PATCH 39/65] apply proofreading by peetah --- content/post/release-090.md | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/content/post/release-090.md b/content/post/release-090.md index 8d42c82..b8582ec 100644 --- a/content/post/release-090.md +++ b/content/post/release-090.md @@ -20,7 +20,7 @@ Enable it with `/correction on`. If you mistyped a word just type `/correct` and ## Slashguard In our MUC we often see messages like "q/uit" or people having whitespaces before a command " /quit". -To help you not make such mistakes we introduce slashguard. +To help you to avoid such mistakes we introduce slashguard. Once enabled (`/slashguard on`) Profanity won't send messages that contain a backslash in the first four letters. ## New parameters @@ -42,15 +42,15 @@ Previously you could choose whether to display the MUC name or MUC title in the You can now use XEP-0092 not just to request client software information but also server software information. Use `/serversoftware domain.org`. -## Themeing -You can now colourize your trackbar by using `main.trackbar` in your theme. +## Theming +You can now colorize your trackbar by using `main.trackbar` in your theme. And you can use UTF-8 symbols as your OMEMO char. You can now choose not to colorize your own nick if you enabled XEP-0392. Use `/color own off` if you want consistent color generation for everybody else but not for yourself. -MUC history messages were colored in one uniform color (grey by default). Many users would just get the same coloring and hilighting for like they do for freshly received messages. So we removed the uniform color feature [#1261](https://github.com/profanity-im/profanity/issues/1261). +MUC history messages were colored in one uniform color (grey by default). Many users would just like to get the same coloring and hilighting for freshly received messages. So we removed the uniform color feature [#1261](https://github.com/profanity-im/profanity/issues/1261). And there is a new theme based on default: jubalian. Check it out ;) @@ -63,18 +63,18 @@ By default we rely on xdg-open, so your default image viewer will be used. But you can choose to configure it yourself. For example to use `feh` instead: `/executable avatar feh` ## Open URLs -People often had issues that URLs are too long and then broken into several lines. If they were in a MUC and had the occupants panel enabled, this made it impossible to click on the URL to open it because it was not one consecutive string. +People often had issues with URLs that were too long and then broken into several lines. If they were in a MUC and had the occupants panel enabled, this made it impossible to click on the URL to open it because it was not one consecutive string. If you run Profanity locally (not on a remote machine where you log in via ssh) you can use use `/urlopen` to open an URL in your browser. -By we use xdg-open again. But you can configure it like `/executable urlopen firefox`. +We use xdg-open again. But you can configure it with `/executable urlopen firefox`. ## OMEMO OMEMO autocompletion had some quirks. We fixed them! We also stopped requesting the device list in non anon MUCs. ## Scrolling -Sometimes it happened that you scroll up a window to read up on something. Then switch you application and later forget that you actually scrolled up. Why is noone saying anything in this MUC anymore? +Sometimes it happened that you scroll up a window to read up on something. Then switch to another application and later forget that you actually scrolled up. Why is noone saying anything in this MUC anymore? In this version of Profanity we display a hint in the titlebar if a window is scrolled. Use `titlebar.scrolled` to theme it. @@ -85,13 +85,13 @@ If you want to connect to them you will need libstrophe 0.9.3 and Profanity 0.9. Use `/connect [auth default|legacy]` or `/account set auth default|legacy`. ## Too many tabs -In case you have many windows open you might want to only display the ones that have something going on in them. +In case you many opened windows you might want to only display the ones that have something going on in them. Use `/statusbar show|hide read` to configure this to your liking. ## Bookmarks -We now print the boomark names when using `/bookmark list`. You calso now add a name when using `/bookmark add`. +We now print the boomark names when using `/bookmark list`. You can also now add a name when using `/bookmark add`. -Gajim uses a custom way to save whether (autojoined) bookmarks should be minimized. When we manipulated at bookmark from Profanity we didn't respect this flag and it was overwritten. Now Profanity works nicer with Gajim [#1326](https://github.com/profanity-im/profanity/issues/1326). +Gajim uses a custom way to save whether (autojoined) bookmarks should be minimized. When we updated a bookmark in Profanity we didn't respect this flag and it was overwritten. Now Profanity works nicer with Gajim [#1326](https://github.com/profanity-im/profanity/issues/1326). When you use multiple clients you probalby have some MUCs that you want to join on all devices. You use the autojoin flag for these cases. If you want to ignore the autojoin flag in a Profanity instance you can use `/bookmark ignore`. From 47f1807689d2f85624b4518125a8b4a42323fcee Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 9 Jun 2020 21:51:10 +0200 Subject: [PATCH 40/65] fix 090 screenshot --- .../img/{prof-rel-090.png => profanity-rel-090.png} | Bin 1 file changed, 0 insertions(+), 0 deletions(-) rename static/img/{prof-rel-090.png => profanity-rel-090.png} (100%) diff --git a/static/img/prof-rel-090.png b/static/img/profanity-rel-090.png similarity index 100% rename from static/img/prof-rel-090.png rename to static/img/profanity-rel-090.png From d433397ea8ce280d214b915d2bffc6be504f6382 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Tue, 9 Jun 2020 22:02:54 +0200 Subject: [PATCH 41/65] link release --- content/post/release-090.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/release-090.md b/content/post/release-090.md index b8582ec..58a13b0 100644 --- a/content/post/release-090.md +++ b/content/post/release-090.md @@ -5,7 +5,7 @@ authors: - jubalh --- -Four months and 350 commits after 0.8.1 we are happy to release 0.9.0. +Four months and 350 commits after 0.8.1 we are happy to release [0.9.0](https://github.com/profanity-im/profanity/releases/tag/0.9.0). 7 people contributed code to it: [pasis](https://github.com/pasis), [wstrm](https://github.com/wstrm), [DebXWoody](https://github.com/DebXWoody), [toogley](https://github.com/toogley), [pmaziere](https://github.com/pmaziere), [moppman](https://github.com/moppman) and [jubalh](https://github.com/jubalh). From 3877dacc44ff759a4f86dfac0960cfeb3af18d63 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 10 Jun 2020 09:45:51 +0200 Subject: [PATCH 42/65] fix date --- content/post/release-090.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/release-090.md b/content/post/release-090.md index 58a13b0..eb4b510 100644 --- a/content/post/release-090.md +++ b/content/post/release-090.md @@ -1,6 +1,6 @@ --- title: "Profanity 0.9.0" -date: 2020-05-09T14:46:08+01:00 +date: 2020-06-09T14:46:08+01:00 authors: - jubalh --- From 1cebda111970b8937c1aaade433bd5cc6be53af6 Mon Sep 17 00:00:00 2001 From: Martin Date: Mon, 6 Jul 2020 14:15:45 +0200 Subject: [PATCH 43/65] Fix typo backslash -> slash --- content/post/release-090.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/release-090.md b/content/post/release-090.md index 58a13b0..6fd958e 100644 --- a/content/post/release-090.md +++ b/content/post/release-090.md @@ -21,7 +21,7 @@ Enable it with `/correction on`. If you mistyped a word just type `/correct` and ## Slashguard In our MUC we often see messages like "q/uit" or people having whitespaces before a command " /quit". To help you to avoid such mistakes we introduce slashguard. -Once enabled (`/slashguard on`) Profanity won't send messages that contain a backslash in the first four letters. +Once enabled (`/slashguard on`) Profanity won't send messages that contain a slash in the first four letters. ## New parameters You can specify a logfile upon startup via the new `-f` option: From b121c66fbb010b88313a0a6c92fd6fb686001053 Mon Sep 17 00:00:00 2001 From: DebXWoody Date: Fri, 27 Nov 2020 21:31:11 +0100 Subject: [PATCH 44/65] OMEMO Post --- content/post/omemo.md | 73 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 content/post/omemo.md diff --git a/content/post/omemo.md b/content/post/omemo.md new file mode 100644 index 0000000..db93dbc --- /dev/null +++ b/content/post/omemo.md @@ -0,0 +1,73 @@ +--- +title: "OMEMO" +date: 2020-11-27T17:14:07+01:00 +authors: + - debxwoody +--- + +OMEMO with profanity. + +### Hello OMEMO! + +OMEMO needs crytographic materials. You can generated this crytographic +materials via `/omemo gen`. If you have more than one device, make sure you are +trusting your other devices. Check your fingerprints via `/omemo fingerprint`. +You may wont trust all your devices: + +``` +/omemo trust +``` + +Check the fingerprint of your buddy. List the fingerprints of your buddy via + +``` +/omemo fingerprint +``` + +Check the fingerprints with you buddy over a secure medium (phone or singed OpenPGP message) +and trust the buddy's fingerprint via the command: + +``` +/omemo trust +``` + +You can start a OMEMO Session via the omemo-start command `/omemo start `. + +### Debugging +Get the device list of your Buddy. Change the `to` and the `from` tag of the +line shown below. + +``` + +``` + +Use the `/xmlconsole` to open the XMP Console Window and sent those line to your +server. + +The Server should return a result of the `iq` with id `getOmemoDeviceList`. +There should be a `item`-Tag with the id `current` followed by a list of device +id. + +``` + + + + + + + + + +``` + +The known devices and fingerprints are stored in `~/.local/share/profanity/omemo//known_devices.txt`. +The trust information are stored in `~/.local/share/profanity/omemo//trust.txt`. + +### QR Code +If you need a QR Code of you Fingerprint, check xmppc. +xmppc is a XMPP Command Line Tool which can be used to [generate a QR +Code](https://codeberg.org/Anoxinon_e.V./xmppc/wiki/Usage#user-content-omemo). + + + From d46c513fa4538c6c35bf6325b8dfddf00570522e Mon Sep 17 00:00:00 2001 From: Stefan Date: Sat, 5 Jun 2021 15:46:20 +0200 Subject: [PATCH 45/65] Attention flag --- content/post/attention-attention.md | 37 +++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 content/post/attention-attention.md diff --git a/content/post/attention-attention.md b/content/post/attention-attention.md new file mode 100644 index 0000000..2456103 --- /dev/null +++ b/content/post/attention-attention.md @@ -0,0 +1,37 @@ +--- +title: "Attention, attention!" +date: 2021-06-05T15:07:30+02:00 +authors: + - debxwoody +--- + +Hello folks, + +we have implemented an attention flag in profanity. + +The attention flag can be used to mark chat and groupchat where you would like +pay particular attention. + +# How it works + +Open the chat or groupchat window and press shortcut `ALT+F`. Profanity will +display a line to inform you when the attention flag has been activated and +deactivated. + + 05/06/21 15:25:49 - Staff restaurant: Lunch recommendations: + 05/06/21 15:27:04 ! Attention flag has been activated + 05/06/21 15:27:04 ! Attention flag has been deactivated + +You can use the shortcut `ALT+F` to toggle the flag. + +The `/wins attention` command can be used to display all windows with you pay +attention. + + 15:38:19 - 3: Room roomA@conference.domain.tld + 15:38:19 - 15: Room roomB@conference.server.tld, 1 unread + 15:38:19 - 28: Room roomC@chat.server.tld + 15:38:19 - 29: Room roomD@chat.server.tld, 3 unread + +You can just circle around the marked windows with shortcut `ALT+M`. + + From c411f8bb2e8dbef2873f060e7feaa0c1c401a176 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 7 Jun 2021 09:58:37 +0200 Subject: [PATCH 46/65] Add note about master --- content/post/attention-attention.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/post/attention-attention.md b/content/post/attention-attention.md index 2456103..e682b1f 100644 --- a/content/post/attention-attention.md +++ b/content/post/attention-attention.md @@ -9,9 +9,11 @@ Hello folks, we have implemented an attention flag in profanity. -The attention flag can be used to mark chat and groupchat where you would like +The attention flag can be used to mark chats and groupchats where you would like to pay particular attention. +This is only available on master, but will be in the next release (0.11.0). + # How it works Open the chat or groupchat window and press shortcut `ALT+F`. Profanity will From 17c1424b5ccfa13a32f145ccd04ca3675655dc7c Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 7 Jun 2021 10:00:40 +0200 Subject: [PATCH 47/65] jubalh twitter link --- content/authors/jubalh/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/authors/jubalh/_index.md b/content/authors/jubalh/_index.md index cabb356..209e2ce 100644 --- a/content/authors/jubalh/_index.md +++ b/content/authors/jubalh/_index.md @@ -1,7 +1,7 @@ --- name: jubalh photo: 'https://avatars0.githubusercontent.com/u/1658215?s=460&v=4' -twitter: jubalh_ +twitter: 'jubalh_' --- From 1da04831ea324a9b2927ec670e2ca0d555e4dfa1 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 2 Feb 2022 20:56:02 +0100 Subject: [PATCH 48/65] Add pinephone post by karcio --- content/authors/karcio/_index.md | 5 ++ content/post/profanity-on-pinephone.md | 59 ++++++++++++++++++ static/img/profanity-on-pinephone-screen1.png | Bin 0 -> 67090 bytes static/img/profanity-on-pinephone-screen2.png | Bin 0 -> 92358 bytes 4 files changed, 64 insertions(+) create mode 100644 content/authors/karcio/_index.md create mode 100644 content/post/profanity-on-pinephone.md create mode 100644 static/img/profanity-on-pinephone-screen1.png create mode 100644 static/img/profanity-on-pinephone-screen2.png diff --git a/content/authors/karcio/_index.md b/content/authors/karcio/_index.md new file mode 100644 index 0000000..1b0a826 --- /dev/null +++ b/content/authors/karcio/_index.md @@ -0,0 +1,5 @@ +--- +name: karcio +--- + +karcio is a profanity user. diff --git a/content/post/profanity-on-pinephone.md b/content/post/profanity-on-pinephone.md new file mode 100644 index 0000000..d14ec28 --- /dev/null +++ b/content/post/profanity-on-pinephone.md @@ -0,0 +1,59 @@ +--- +title: "Profanity on Pinephone" +date: 2022-02-02T20:47:44+01:00 +authors: + - karcio +--- + +Hi all, + +So far, in my pinephone I used mainly GUI applications, because I was using a touch screen. Terminal applications are not user-friendly when it comes to one-handed operation. + +I tested different distributions on my pinephone (mobian, manjaro, archarm), but usually most based on Phosh. In my opinion it is currently the best mobile graphics environment and stable as well. + +In Phosh I tested few xmpp clients: +- the default application installed with Phosh is chatty, a combine that supports sms / mms / xmpp (OMEMO) +- Dino from [repo: handy](https://github.com/dino/dino/tree/feature/handy) +- Gajim + +I know there are KDE plasma applications as well, but during my testing, plasma was unusable and I even gave up installing it. My pinephone comes with preinstalled Plasma factory image but I could not even upgrade to latest Plasma version, So I gave up KDE :( + +In my opinion, `Dino` works the best on PinePhone with Phosh. + +Recently I ordered keyboard dedicated to pinephone(pro), so I decided that I will also test terminal xmpp client. + +I also decided to check profanity as I use it on my home server and it works perfectly, but I was curious how it would handle on pinephone. I installed it and everything worked well. Just one thing: pinephone terminal is small to read more than 2 lines. I wanted to scroll window Up to be able see previous content. Well, first I changed the resolution in Phosh from 200% to 150%, and I could see more than two lines. + +But, I still had a trouble scrolling the main window in profanity + +[video: ppkb keyboard issue](https://kraut.zone/w/6jG9F41Z7nNUZLFdHE43cN) + +I looked at [profanity keybindings](http://www.profanity.im/keybindings.html) and in the `User Interface Navigation` section I found that I should use `PageUp/PageDown` keys, but looking at [Pinephone wiki](https://wiki.pine64.org/wiki/PinePhone_(Pro)_Keyboard#Keyboard_layout) this keyboard does not have `PageUp/PageDown` keys. + +I had to do key mapping in profanity. Using following url [profanity keybindings](http://www.profanity.im/keybindings.html) quickly I found solution. + +Basicaly, I created a file ```~/.config/profanity/inputrc``` with content + +``` +$ if profanity +"\ C-p": prof_win_prev +"\ C-n": prof_win_next +"\ C-j": prof_win_pageup +"\ C-k": prof_win_pagedown +"\ C-h": prof_subwin_pageup +"\ C-l": prof_subwin_pagedown +"\ C-y": prof_win_clear +$ endif +``` + +After starting profanity, I was able to scroll window with content using following shortcuts +- `C-j` - scroll up +- `C-k` - to scroll down + +[video: ppkb keyboard scroll](https://kraut.zone/w/fA2LeeRRmonkHVB5d3NMYe) + +Here you can see some photos. + +![Profanity screeen 1](/blog/img/profanity-on-pinephone-screen2.png) +![Profanity screeen 2](/blog/img/profanity-on-pinephone-screen2.png) + diff --git a/static/img/profanity-on-pinephone-screen1.png b/static/img/profanity-on-pinephone-screen1.png new file mode 100644 index 0000000000000000000000000000000000000000..9afc0dca82c7848debc067eb17d419b6ff753d68 GIT binary patch literal 67090 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 Date: Thu, 24 Mar 2022 21:07:10 +0100 Subject: [PATCH 49/65] Add OX post from debxwoody --- content/post/openpgp-for-xmpp-ox.md | 109 ++++++++++++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 content/post/openpgp-for-xmpp-ox.md diff --git a/content/post/openpgp-for-xmpp-ox.md b/content/post/openpgp-for-xmpp-ox.md new file mode 100644 index 0000000..842cd9f --- /dev/null +++ b/content/post/openpgp-for-xmpp-ox.md @@ -0,0 +1,109 @@ +--- +title: "Profanity and OpenPGP for XMPP (OX)" +date: 2022-03-24T15:07:30+02:00 +authors: + - debxwoody +--- + +We have been to implement OX in profanity. OX is +[XEP-0374: OpenPGP for XMPP Instant Messaging](https://xmpp.org/extensions/xep-0374.html) which +may replace [XEP-0027: Current Jabber OpenPGP Usage](https://xmpp.org/extensions/xep-0027.html). + +Feel free to try and test the implementation. Let us know, if you have some +issues and support the development via testing and reporting bugs. + +How does it works? There are some parts which will be done directly with +GnuPG. You will see those `gpg` commands which needs to be executed in the +shell. The commands within profanity are the `/ox` commands. + +# Generate OpenPGP key materials +The first step is to create a OpenPGP key pair. The key pair generation +will be done with the `gpg` command of GnuPG. + +``` +gpg --quick-generate-key xmpp:alice@domain.tld future-default default 3y +``` + +This command will generated a OpenPGP key with a UID +`xmpp:alice@domain.tld`. The option `future-default` has been used to +generate a ed25519/cv25519 key. The expiration date will be in three +years. Replace the Jabber ID with your JID and do **not** forget the URI +`xmpp:` prefix. + +``` +pub ed25519 2021-09-21 [SC] [verfällt: 2024-09-20] + 583BAE703A801095B6B71A56BD801174B1A0B84A +uid xmpp:alice@domain.tld +sub cv25519 2021-09-21 [E] +``` + +# Export your public key +You need to export your public key to share this public key with your +buddy. Use the command below to export public key: + +``` +gpg --export \ + --export-options export-minimal \ + --export-filter 'keep-uid=uid =~ xmpp:alice@domain.tld' \ + --export-filter 'drop-subkey=usage =~ a' \ + 583BAE703A801095B6B71A56BD801174B1A0B84A \ + > /tmp/pep-key.gpg +``` + +The key will be exported to `/tmp/pep-key.gpg`. You may check the key with +the command below: + +`gpg --show-key --with-sig-list /tmp/pep-key.gpg` + +Keep in mind: Public keys may have some information (signatures, name, +e-mail address). Be careful which data will be exported. The +`export-options` and `export-filter` option of GnuPG will help you to +filter the data. + +# Publish your key +You can use profanity to publish your exported key into your account (PEP). +The `/ox announce` command will publish your key. + +``` +/ox announce /tmp/pep-key.gpg +Annonuce OpenPGP Key for OX /tmp/pep-key.gpg ... +``` + +The command will create two PEP node records to store the key. + +# Discover keys +The `/ox discover` command will be used to discover keys. + +``` +/ox discover buddy@domain.tld +Discovering Public Key for buddy@domain.tld +1234567890ABCDEF1234567890ABCDEF12345678 +``` + +To request and import a key, you can use the `/ox request` command. + +``` +/ox request buddy@domain.tld 1234567890ABCDEF1234567890ABCDEF12345678 +Requesting Public Key 1234567890ABCDEF1234567890ABCDEF12345678 for buddy@domain.tld +Public Key imported +``` + +The key will be imported into your gnupg keyring. + +# Sign the imported key + +The key can been shown via gpg `gpg -k xmpp:buddy@domain.tld`. +Make sure the key is the key of your buddy and sign the key with your key. + +``` +gpg --ask-cert-level --default-key 583BAE703A801095B6B71A56BD801174B1A0B84A --sign-key 1234567890ABCDEF1234567890ABCDEF12345678 +``` + +The command `/ox contacts` will show the keys with XMPP-UID. +The command `/ox keys` will show all known OpenPGP keys. + +# Use OX +Within a chat window you can start OX via `/ox start` and stop it via `/ox end`. + +Messages will be send signed and encrypted. + From 9d74ad607ce0a4dcbc1bd25cd9016ae570185cf8 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 24 Mar 2022 21:08:08 +0100 Subject: [PATCH 50/65] Add ox note --- content/post/openpgp-for-xmpp-ox.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/content/post/openpgp-for-xmpp-ox.md b/content/post/openpgp-for-xmpp-ox.md index 842cd9f..5a8c56f 100644 --- a/content/post/openpgp-for-xmpp-ox.md +++ b/content/post/openpgp-for-xmpp-ox.md @@ -9,6 +9,8 @@ We have been to implement OX in profanity. OX is [XEP-0374: OpenPGP for XMPP Instant Messaging](https://xmpp.org/extensions/xep-0374.html) which may replace [XEP-0027: Current Jabber OpenPGP Usage](https://xmpp.org/extensions/xep-0027.html). +It is part of Profanity since version 0.10 but got some fixes since then. + Feel free to try and test the implementation. Let us know, if you have some issues and support the development via testing and reporting bugs. From 1d7dcf7f13329ff7a7a3897d5913c1a9ea5ba0cf Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 8 Jul 2022 13:54:46 +0200 Subject: [PATCH 51/65] Add 0.10.0 blogpost --- content/post/release-0100.md | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100755 content/post/release-0100.md diff --git a/content/post/release-0100.md b/content/post/release-0100.md new file mode 100755 index 0000000..7cf35ab --- /dev/null +++ b/content/post/release-0100.md @@ -0,0 +1,32 @@ +--- +title: "Profanity 0.10.0" +date: 2021-01-09T00:00:00+01:00 +authors: + - jubalh +--- + +Six months and 270 commits after 0.9.5 we are happy to release [0.10.0](https://github.com/profanity-im/profanity/releases/tag/0.10.0). + +10 people contributed code to it: @wstrm, @DebXWoody, @pasis, @Niacat, @kaffeekanne, +@timgates42, @spth, @licaon-kter, @misaflo and @jubalh. + +Thanks to everybody who was involved, be it testing, writing documentation, updating the website or whatever you did! +I also would like to express my gratitude to my sponsors [mdosch](https://github.com/mdosch), [wstrm](https://github.com/wstrm) and [huhndev](https://github.com/huhndev). + +## Dependencies +This release bumped a few dependencies. Namely: libstrophe/libmesode >= 0.10.0, glib >= 2.62 sqlite >= 3.22 and gtk3 >= 3.24 (or gtk2 >= 2.24.10). + +## Roadmap +The roadmap for 0.10.0 was announced on our [mailing list](https://lists.notraces.net/pipermail/profanity/2020/000018.html). The goal was mainly cleanupg and fixes. + +## Contributing to Profanity +To make it easier for newcomers to contribue to Profanity we added a [Contributing](https://github.com/profanity-im/profanity/blob/master/CONTRIBUTING.md) file which has, as we hope, some quite important information on how to get started. And about our workflow. + +## NetBSD +It is also the first official Proanity release that got NetBSD support. + +## OMEMO +You can now sent OMEMO encrypted files via `/sendfile`. + +## Details +For details look at the [changelog](https://github.com/profanity-im/profanity/releases/tag/0.10.0). From 86f371b7940a001412ca340b9f40df7f9f74d6a2 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 8 Jul 2022 14:14:33 +0200 Subject: [PATCH 52/65] add 0.11.0 release blogpost --- content/post/release-0100.md | 0 content/post/release-0110.md | 60 ++++++++++++++++++++++++++++++++++++ 2 files changed, 60 insertions(+) mode change 100755 => 100644 content/post/release-0100.md create mode 100644 content/post/release-0110.md diff --git a/content/post/release-0100.md b/content/post/release-0100.md old mode 100755 new mode 100644 diff --git a/content/post/release-0110.md b/content/post/release-0110.md new file mode 100644 index 0000000..70a8f2d --- /dev/null +++ b/content/post/release-0110.md @@ -0,0 +1,60 @@ +--- +title: "Profanity 0.11.0" +date: 2021-07-14T00:00:00+01:00 +authors: + - jubalh +--- + +Six months and 242 commits after 0.10.0 we are happy to release 0.11.0. + +10 people contributed code to it: @DebXWoody, @xenrox, @mwuttke97, @dustinlagoy, @kaffeekanne, @CIacademic, @rjc, @raspbeguy, @Mic92 and @jubalh. + +Thanks to everybody who was involved, be it testing, writing documentation, updating the website or whatever you did! +I also would like to express my gratitude to my sponsors [mdosch](https://github.com/mdosch), [wstrm](https://github.com/wstrm), [huhndev](https://github.com/huhndev), [matteobin](https://github.com/matteobin) and [jamesponddotco](https://github.com/jamesponddotco). + +## MAM +This release has experimental support for [XEP-0313: Message Archive Management](https://xmpp.org/extensions/xep-0313.html). +It is not quite usable yet and we recommend that you only enable it (`/mam on`) if you are a developer or know what you are doing. + +See [issue 660](https://github.com/profanity-im/profanity/issues/660) for details. + +## MUC +You can now display offline members in the occupants panel: ` /occupants default show|hide [jid|offline]`. + +Via `/affiliation request` you can request *voice* in MUCs. + +And `/affiliation register` lets you register a nickname with a MUC. + +From now on Profanity will use direct messages instead of MUC Private Messages for non-anonymous MUCs. + +## Files +We updated [XEP-0363: HTTP File Upload](https://xmpp.org/extensions/xep-0363.html) to version 1.0.0 and Profanity can now also handle paths containing the `file://` prefix. + +## Account +Via the freshly introduced `/changepassword` command you can change your account password. + +## Multiline messages +You can now write multiline messages via `/editor`. This is generally handy since it will give you all the capabilities of your favourite editor. Like spell checking etc. + +## OMEMO +We introduced an omemo trustmode `/omemo trustmode manual|firstusage|blind`. Read more about it in the manual. + +## Marking windows +With alt-a we can jump to all unread windows. +However sometimes we read something but don't have time to reply. For such situations we added the ability to mark windows with an attention flag. +Press alt-f to toggle the flag and use alt-m to switch to marked windows. Use `/wins attention` to list them in the console. + +## Call notice +When someone tries to call via [XEP-0353: Jingle Message Initiation](https://xmpp.org/extensions/xep-0353.html) we now display a message in the console. + +## Server contact information +We now implement the lookup of server contact information according to [XEP-0157](https://xmpp.org/extensions/xep-0157.html). Use `/disco info`. + +## Spam +You can now report spam according to [XEP-0377: Spam Reporting](https://xmpp.org/extensions/xep-0377.html) via `/blocked report abuse|spam ` to your server admin. + +In case you just don't want to get ANY messages at all from people that you don't have subscribed to in your roster then you can use `/silence on`. +Use this with care though since generally we want people to be able to contact us in instant messaging :-). + +## Details +We also added plenty of fixes. To read up on those and further details, please check the [changelog](https://github.com/profanity-im/profanity/releases/tag/0.11.0). From 272e7d55d55bdcd2c19e08566907288d6a1ef5fd Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 11 Jul 2022 15:46:09 +0200 Subject: [PATCH 53/65] Add release 0.12.0 post --- content/post/release-0120.md | 78 ++++++++++++++++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 content/post/release-0120.md diff --git a/content/post/release-0120.md b/content/post/release-0120.md new file mode 100644 index 0000000..463fdc2 --- /dev/null +++ b/content/post/release-0120.md @@ -0,0 +1,78 @@ +--- +title: "Profanity 0.12.0" +date: 2021-03-30T00:00:00+01:00 +authors: + - jubalh +--- + +Eight months and 207 commits after 0.11.0 we are happy to release 0.12.0. + +16 people contributed code to it: @sjaeckel, @MarcoPolo-PasTonMolo, @paulfertser, +@DebXWoody, @trofi, @nandesu-utils, @carlocab, @binex-dsk, @nlfx, @JurajMlich, +@wstrm, @arya-pratap-singh, @a02c1175-5220-4e75-b7a1-18e20548305f, +@mdosch, @jugendhacker and @jubalh. + +That certainly is one of our records! + +Thanks to everybody who was involved, be it testing, writing documentation, updating the website or whatever you did! +I also would like to express my gratitude to my sponsors [mdosch](https://github.com/mdosch), [wstrm](https://github.com/wstrm), [jamesponddotco](https://github.com/jamesponddotco) and [LeSpocky](https://github.com/LeSpocky). + +## libmesode +libmesode has finally been deprecated. +We now depend on libstrophe >= 0.11.0. +All the functionality from libmesode has been brought to libstrophe. + +## Plugins +We tried to make it easier to use (Python) plugins. + +In the process the `sourcepath` setting got removed see [here](https://github.com/profanity-im/profanity/commit/3b3a6b7a756e0f162d212249750524b7ce045cea) for more details. + +And we finally support a global installation path for plugins. +So now we have to ways to install a plugins. Either by using the full path: + +``` +/plugins install ~/src/profanity-plugins/my.py +``` + +Or by using: + +``` +`/plugins install my.py` +``` + +The latter will check two location. Which are the local one `~/.local/share/profanity/plugins` and the global `/usr/local/share/profanity/plugins/`. + +So distributions could actually create a `profanity-plugins` package that install to the global path. Users could then install/active it by running the above mentioned install command. + +For more details see [here](https://github.com/profanity-im/profanity/pull/1598). + +## In-band registration +We now support [XEP-0077: In-Band Registration](https://xmpp.org/extensions/xep-0077.html). +Learn to use it via `/help register`. + +## UI +We got a new color theme, check it out: `/theme load snicket`. + +You can now set UTF-8 signs not only for your OTR/OMEMO/PGP indicators but also for your: roster header char, roster contact char, roster resource char, roster private char, occupants char, occupants header char. + +## User Mood +We now support [XEP-0107: User Mood](https://xmpp.org/extensions/xep-0107.html). +Try it out: `/mood set happy`. + +## Editor +Additionally to `/editor` we now have: `/subject editor` and `/correct-editor`. + +You can also always press alt-c to open the external editor and the result will be used in the inputwindow. +This works with every command. + +## Quoting +If you want to quote someone just type `>` and then use TAB completion to cycle through the last messages. Type your reply and hit enter! + +## Contributing +We reworked our contributions guide. New developers should now have it a lot easier. +See the [PR](https://github.com/profanity-im/profanity/pull/1640) and [CONTRIBUTING.md](https://github.com/profanity-im/profanity/blob/master/CONTRIBUTING.md). + +## Details +We also got several important fixes in. +For all the details please see the [changelog](https://github.com/profanity-im/profanity/releases/tag/0.12.0). + From fecbc5c2898cabf05b40642bc48145d23365dca1 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Mon, 11 Jul 2022 15:53:39 +0200 Subject: [PATCH 54/65] Fix date for 012 release --- content/post/release-0120.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/post/release-0120.md b/content/post/release-0120.md index 463fdc2..479f4ec 100644 --- a/content/post/release-0120.md +++ b/content/post/release-0120.md @@ -1,6 +1,6 @@ --- title: "Profanity 0.12.0" -date: 2021-03-30T00:00:00+01:00 +date: 2022-03-30T00:00:00+01:00 authors: - jubalh --- From 640c56df3f82d7f191ab2039c0e379d40cfe0a2e Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 13 Oct 2022 13:59:46 +0200 Subject: [PATCH 55/65] Add 0.13.1 post --- content/post/release-0131.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/post/release-0131.md diff --git a/content/post/release-0131.md b/content/post/release-0131.md new file mode 100644 index 0000000..8ab1f63 --- /dev/null +++ b/content/post/release-0131.md @@ -0,0 +1,17 @@ +--- +title: "Profanity 0.13.1" +date: 2022-10-13T00:00:00+01:00 +authors: + - jubalh +--- + +One month ago we released Profanity 0.13.0 and yesterday the minor release 0.13.1. + +18 people contributed code to this release: @binex-dsk, @cockroach, @DebXWoody, @MarcoPolo-PasTonMolo, @mdosch, @nandesu-utils, @netboy3, @paulfertser, @sjaeckel, @Zash, @omar-polo, @wahjava, @vinegret, @sgn, Max Wuttke, @tran-h-trung, @techmetx11 and @jubalh. +Also a big thanks to our sponsors: @mdosch, @wstrm, @LeSpocky, @jamesponddotco and one anonymous person. + +We would also like to thank our testers, packagers and users. + +The release already landed several major distributions. + +For a list of changes please see the [0.13.0](https://github.com/profanity-im/profanity/releases/tag/0.13.0) and [0.13.1](https://github.com/profanity-im/profanity/releases/tag/0.13.1) release notes. From 13a1d3e94d8593b25758468da23a602164151b83 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Wed, 22 Feb 2023 12:35:14 +0100 Subject: [PATCH 56/65] Add distrobox post --- content/post/distrobox.md | 167 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 167 insertions(+) create mode 100644 content/post/distrobox.md diff --git a/content/post/distrobox.md b/content/post/distrobox.md new file mode 100644 index 0000000..47320ee --- /dev/null +++ b/content/post/distrobox.md @@ -0,0 +1,167 @@ +--- +title: "New Profanity Old System" +date: 2023-02-22T12:03:36+01:00 +authors: + - jubalh +--- + +Occasionally people visit our MUC asking how to run the latest profanity release on years old systems. +For some distributions people maintain a backports project, so you can get it from there if available. + +Here we want to describe another methods, using containers, more specifically [distrobox](https://github.com/89luca89/distrobox). + +# What's Distrobox? +It's basically a tool that let's you run another distribution on your system. It uses docker/podman to create containers that are well integrated into your host system. +This means all your Profanity config files etc will be in the usual place in `~/.config/profanity` and `~/.local/share/profanity`. + +Be aware: +Profanitys configuration files might change with new versions. Usually we transform old config files into the new format. If you however use distrobox to run the latest Profanity and then want to go back to your old version it might be that your old Profanity doesn't understand the new or changed config options. + +# Setup +You need to have docker/podman installed. And the daemon should be running. +Install distrobox preferably via your distribution package manager. Alternatively you can use the infamous line `curl -s https://raw.githubusercontent.com/89luca89/distrobox/main/install | sudo sh`. + +In this guide we will use an openSUSE Tumbleweed maintainer, since it's a rolling release distribution that will always have the latest Profanity available. + +``` +host$ distrobox-create --name profanity-on-tw --image opensuse/tumbleweed +Using default tag: latest +latest: Pulling from opensuse/tumbleweed +f7cda0ba8b2c: Pull complete +Digest: sha256:8d4c43253942e84737681ee8307c79be4ca9ec9011b6616d40b2ef204143ab88 +Status: Downloaded newer image for opensuse/tumbleweed:latest +docker.io/opensuse/tumbleweed:latest +Creating 'profanity-on-tw' using image opensuse/tumbleweed [ OK ] +Distrobox 'profanity-on-tw' successfully created. +To enter, run: + +distrobox enter profanity-on-tw + +profanity-on-tw +``` + +We can now enter this container and install profanity in it via: +``` +host$ distrobox-enter profanity-on-tw +Container profanity-on-tw is not running. +Starting container profanity-on-tw +run this command to follow along: + + docker logs -f profanity-on-tw + + Starting container... [ OK ] + Installing basic packages... [ OK ] + Setting up read-only mounts... [ OK ] + Setting up read-write mounts... [ OK ] + Setting up host's sockets integration... [ OK ] + Integrating host's themes, icons, fonts... [ OK ] + Setting up package manager exceptions... [ OK ] + Setting up rpm exceptions... [ OK ] + Setting up sudo... [ OK ] + Setting up groups... [ OK ] + Integrating host's themes, icons, fonts... [ OK ] + Setting up package manager exceptions... [ OK ] + Setting up rpm exceptions... [ OK ] + Setting up sudo... [ OK ] + Setting up groups... [ OK ] + Setting up users... [ OK ] + Executing init hooks... [ OK ] + +Container Setup Complete! +profanity-on-tw$ sudo zypper in profanity +Loading repository data... +Reading installed packages... +Resolving package dependencies... + +The following 4 recommended packages were automatically selected: + python310 python310-curses python310-dbm python310-pip + +The following 16 NEW packages are going to be installed: + libgdbm6 libgdbm_compat4 libmpdec3 libotr5 libpython3_10-1_0 libsignal-protocol-c2 libstrophe0 profanity + profanity-mini python310 python310-base python310-curses python310-dbm python310-pip python310-setuptools + shared-python-startup + +16 new packages to install. +Overall download size: 15.7 MiB. Already cached: 0 B. After the operation, additional 60.1 MiB will be used. +Continue? [y/n/v/...? shows all options] (y): y +Retrieving: libgdbm6-1.23-1.10.x86_64 (openSUSE-Tumbleweed-Oss) (1/16), 53.0 KiB +Retrieving: libgdbm6-1.23-1.10.x86_64.rpm ........................................................[done (303.6 KiB/s)] +Retrieving: libmpdec3-2.5.1-2.12.x86_64 (openSUSE-Tumbleweed-Oss) (2/16), 82.8 KiB +Retrieving: libmpdec3-2.5.1-2.12.x86_64.rpm ......................................................[done (466.2 KiB/s)] +Retrieving: libotr5-4.1.1-4.1.x86_64 (openSUSE-Tumbleweed-Oss) (3/16), 60.7 KiB +Retrieving: libotr5-4.1.1-4.1.x86_64.rpm .........................................................[done (624.3 KiB/s)] +Retrieving: libsignal-protocol-c2-2.3.3-1.15.x86_64 (openSUSE-Tumbleweed-Oss) (4/16), 163.7 KiB +Retrieving: libsignal-protocol-c2-2.3.3-1.15.x86_64.rpm ..........................................[done (773.8 KiB/s)] +Retrieving: libstrophe0-0.12.2-1.3.x86_64 (openSUSE-Tumbleweed-Oss) (5/16), 89.5 KiB +Retrieving: libstrophe0-0.12.2-1.3.x86_64.rpm ....................................................[done (548.6 KiB/s)] +Retrieving: shared-python-startup-0.1-6.9.noarch (openSUSE-Tumbleweed-Oss) (6/16), 12.9 KiB +Retrieving: shared-python-startup-0.1-6.9.noarch.rpm ...........................................................[done] +Retrieving: libgdbm_compat4-1.23-1.10.x86_64 (openSUSE-Tumbleweed-Oss) (7/16), 27.7 KiB +Retrieving: libgdbm_compat4-1.23-1.10.x86_64.rpm ...................................................[done (1.2 KiB/s)] +Retrieving: libpython3_10-1_0-3.10.9-2.2.x86_64 (openSUSE-Tumbleweed-Oss) (8/16), 1.3 MiB +Retrieving: libpython3_10-1_0-3.10.9-2.2.x86_64.rpm ..............................................[done (882.1 KiB/s)] +Retrieving: python310-base-3.10.9-2.2.x86_64 (openSUSE-Tumbleweed-Oss) (9/16), 9.1 MiB +Retrieving: python310-base-3.10.9-2.2.x86_64.rpm .................................................[done (975.5 KiB/s)] +Retrieving: python310-setuptools-65.6.3-1.2.noarch (openSUSE-Tumbleweed-Oss) (10/16), 1.3 MiB +Retrieving: python310-setuptools-65.6.3-1.2.noarch.rpm ...........................................[done (913.8 KiB/s)] +Retrieving: python310-pip-22.3.1-1.2.noarch (openSUSE-Tumbleweed-Oss) (11/16), 2.5 MiB +Retrieving: python310-pip-22.3.1-1.2.noarch.rpm ..................................................[done (958.3 KiB/s)] +Retrieving: python310-3.10.9-2.2.x86_64 (openSUSE-Tumbleweed-Oss) (12/16), 168.5 KiB +Retrieving: python310-3.10.9-2.2.x86_64.rpm ......................................................[done (738.3 KiB/s)] +Retrieving: python310-dbm-3.10.9-2.2.x86_64 (openSUSE-Tumbleweed-Oss) (13/16), 141.2 KiB +Retrieving: python310-dbm-3.10.9-2.2.x86_64.rpm ..................................................[done (806.6 KiB/s)] +Retrieving: python310-curses-3.10.9-2.2.x86_64 (openSUSE-Tumbleweed-Oss) (14/16), 171.6 KiB +Retrieving: python310-curses-3.10.9-2.2.x86_64.rpm ...............................................[done (910.2 KiB/s)] +Retrieving: profanity-0.13.1-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (15/16), 104.8 KiB +Retrieving: profanity-0.13.1-1.2.x86_64.rpm ......................................................[done (744.9 KiB/s)] +Retrieving: profanity-mini-0.13.1-1.2.x86_64 (openSUSE-Tumbleweed-Oss) (16/16), 446.4 KiB +Retrieving: profanity-mini-0.13.1-1.2.x86_64.rpm .................................................[done (934.5 KiB/s)] + +Checking for file conflicts: ...................................................................................[done] +( 1/16) Installing: libgdbm6-1.23-1.10.x86_64 ..................................................................[done] +( 2/16) Installing: libmpdec3-2.5.1-2.12.x86_64 ................................................................[done] +( 3/16) Installing: libotr5-4.1.1-4.1.x86_64 ...................................................................[done] +( 4/16) Installing: libsignal-protocol-c2-2.3.3-1.15.x86_64 ....................................................[done] +( 5/16) Installing: libstrophe0-0.12.2-1.3.x86_64 ..............................................................[done] +( 6/16) Installing: shared-python-startup-0.1-6.9.noarch .......................................................[done] +( 7/16) Installing: libgdbm_compat4-1.23-1.10.x86_64 ...........................................................[done] +( 8/16) Installing: libpython3_10-1_0-3.10.9-2.2.x86_64 ........................................................[done] +( 9/16) Installing: python310-base-3.10.9-2.2.x86_64 ...........................................................[done] +(10/16) Installing: python310-setuptools-65.6.3-1.2.noarch .....................................................[done] +(11/16) Installing: python310-pip-22.3.1-1.2.noarch ............................................................[done] +(12/16) Installing: python310-3.10.9-2.2.x86_64 ................................................................[done] +(13/16) Installing: python310-dbm-3.10.9-2.2.x86_64 ............................................................[done] +(14/16) Installing: python310-curses-3.10.9-2.2.x86_64 .........................................................[done] +(15/16) Installing: profanity-0.13.1-1.2.x86_64 ................................................................[done] +update-alternatives: using /usr/bin/profanity-mini to provide /usr/bin/profanity (profanity) in auto mode +(16/16) Installing: profanity-mini-0.13.1-1.2.x86_64 ...........................................................[done] +``` + +Notice how the bash prompt changed from `host$` to `profanity-on-tw$`, which is the name we gave our container. +So the call to zypper happened inside that container. You can now start profanity. And on your host system you will then see the usual files in `~/.config/profanity`. +Type `exit` to get out. + +# Usage +Each time you want to start profanity you now have to do enter the container and start it there: +``` +host$ distrobox-enter profanity-on-tw +profanity-on-tw$ profanity +``` + +You have however also the option to "export" profanity to your host system. +Some people have a `~/bin`, `~/.local/bin` or another directory where they put binaries or scripts which they make available via the `$PATH` variable. +Here we will use the `~/.local/bin` folder. + +``` +profanity-on-tw$ distrobox-export --bin /usr/bin/profanity --export-path $HOME/.local/bin +``` + +Now you can call `profanity` even from the host system. It will be the latest version of Profanity and all its dependencies, running inside a container. With full access to your usual environment. + +# Uninstall + +``` +host$ distrobox-stop profanity-on-tw +host$ distrobox-rm profanity-on-tw +``` + From 067989cff9bfb096e8bfc30761730d2377febb2c Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 6 Apr 2023 16:11:51 +0200 Subject: [PATCH 57/65] Expand readme --- README.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index fc0a48d..8ee3039 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,23 @@ # profanity development blog +Everybod is welcome to write articles for the profanity blog. + Download latest [hugo](https://github.com/gohugoio/hugo/releases) release. Extract it in `~`. `git clone https://github.com/profanity-im/blog` -`~/hugo` + +Run `~/hugo` to create the pages. +Run `~/hugo server` to test the pages locally. + +## How to create a new post +Go to the `content/post` subdirectory, copy an old post and use it as a template. +Or run the `blog-post.sh` helper script. + +If you are a new author you could create some information about you in the `content/authors` directory. + +## How to release to the website + +* Usually team members do this part* Copy the `public` folder to the `blog` folder in https://github.com/profanity-im/profanity-im.github.io. From fe41746ff3bec5600faffd202cfdca78594ce517 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Fri, 7 Apr 2023 21:25:56 +0200 Subject: [PATCH 58/65] Fix typo --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 8ee3039..c8971b8 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # profanity development blog -Everybod is welcome to write articles for the profanity blog. +Everybody is welcome to write articles for the profanity blog. Download latest [hugo](https://github.com/gohugoio/hugo/releases) release. Extract it in `~`. From c7481851cc679f1368f8e0bbdf86b782757fae58 Mon Sep 17 00:00:00 2001 From: Michael Vetter Date: Thu, 17 Aug 2023 13:30:35 +0200 Subject: [PATCH 59/65] Add 0.14.0 release post --- content/post/release-0140.md | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 content/post/release-0140.md diff --git a/content/post/release-0140.md b/content/post/release-0140.md new file mode 100644 index 0000000..72f37b9 --- /dev/null +++ b/content/post/release-0140.md @@ -0,0 +1,23 @@ +--- +title: "Profanity 0.14.0" +date: 2023-08-16T00:00:00+01:00 +authors: + - jubalh +--- + +Apologies for the late blog post. +We have good news though! Two weeks ago we released Profanity 0.14.0! + +13 people contributed to this release: Daniel Santos, @DebXWoody, @H3rnand3zzz, @ike08, @MarcoPolo-PasTonMolo, @mdosch, @pasis, @paulfertser, @shahab-vahedi, @sjaeckel, @techmetx11, @thexhr and @jubalh. + +Also a big thanks to our sponsors: @mdosch, @LeSpocky, @jamesponddotco and one anonymous sponsor! + +We introduced a new `/privacy` command which should make it easier to find all privacy related settings and we introduced vCard support (XEP-0054)! + +With `/plugins install` we have now a more convenient way to directly install plugins from the web. + +Sharing of PGP keys got easier with the `/pgp sendpub` and `/pgp autoimport` commands. This is compatible with PSI and Pidgin, but doesn't have an official XEP. + +You can configure libstrophe internal related settings via the new `/strophe` command. + +There are plenty of more fixes and improvements. For a list of changes please see the 0.14.0 [release notes](https://github.com/profanity-im/profanity/releases/tag/0.14.0) or [git history](https://github.com/profanity-im/profanity/releases/tag/0.14.0). From 2c1eb490dd24731a6c4aa2308265021e06f84c34 Mon Sep 17 00:00:00 2001 From: Benson Muite Date: Sun, 1 Mar 2026 11:53:03 +0300 Subject: [PATCH 60/65] Generate top level files with static site generator --- Makefile | 25 ++++ README.md | 2 + accounts.html | 24 ++-- accounts.xml | 51 ++++++++ donate.html | 27 +++-- donate.xml | 15 +++ faq.html | 80 ++++++------- faq.xml | 280 +++++++++++++++++++++++++++++++++++++++++++ gallery-template.xml | 31 +++++ helpout.html | 31 ++--- helpout.xml | 57 +++++++++ index.html | 93 +++++++------- index.xml | 75 ++++++++++++ issues.html | 49 ++++---- issues.xml | 116 ++++++++++++++++++ landing-template.xml | 27 +++++ manual-template.xml | 29 +++++ plugins.html | 98 ++++++--------- plugins.xml | 239 ++++++++++++++++++++++++++++++++++++ themegallery.html | 20 ++-- themegallery.xml | 8 ++ userguide.html | 18 +-- userguide.xml | 25 ++++ xeps.html | 20 ++-- xeps.xml | 175 +++++++++++++++++++++++++++ 25 files changed, 1375 insertions(+), 240 deletions(-) create mode 100644 Makefile create mode 100644 accounts.xml create mode 100644 donate.xml create mode 100644 faq.xml create mode 100644 gallery-template.xml create mode 100644 helpout.xml create mode 100644 index.xml create mode 100644 issues.xml create mode 100644 landing-template.xml create mode 100644 manual-template.xml create mode 100644 plugins.xml create mode 100644 themegallery.xml create mode 100644 userguide.xml create mode 100644 xeps.xml diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..4f28c76 --- /dev/null +++ b/Makefile @@ -0,0 +1,25 @@ +SBLG = sblg +PAGES = accounts.xml \ + donate.xml \ + faq.xml \ + helpout.xml \ + issues.xml \ + plugins.xml \ + userguide.xml \ + xeps.xml + +PAGES_OUT = $(PAGES:.xml=.html) + +all: index.html $(PAGES_OUT) themegallery.html + +index.html: landing-template.xml + $(SBLG) -o $@ -t landing-template.xml -c index.xml + +$(PAGES_OUT): manual-template.xml + $(SBLG) -o $@ -t manual-template.xml -c $(subst .html,.xml,$@) + +themegallery.html: gallery-template.xml + $(SBLG) -o $@ -t gallery-template.xml -c themegallery.xml + +clean: + rm -f index.html $(PAGES_OUT) themegallery.html diff --git a/README.md b/README.md index 6e4eb51..fa069e5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ Sources for https://profanity-im.github.io Most site are edited by hand. +Top level pages are generated from xml sources using [sblg](https://kristaps.bsd.lv/sblg/), +type `make` after updating the xml files. Command references (main_fragment.html, toc_fragment.html), and apidocs are generated via `profanity docgen`. See the [release guide](https://github.com/profanity-im/profanity/blob/master/RELEASE_GUIDE.md) for details. diff --git a/accounts.html b/accounts.html index 7df1842..c420a1e 100644 --- a/accounts.html +++ b/accounts.html @@ -1,18 +1,17 @@ - - + Profanity, a console based XMPP client - Account Configuration - - - - - + + + + + - Profanity Illustration + Profanity Illustration

@@ -21,12 +20,12 @@

Account Configuration

- - \ No newline at end of file + + diff --git a/accounts.xml b/accounts.xml new file mode 100644 index 0000000..13b2ec5 --- /dev/null +++ b/accounts.xml @@ -0,0 +1,51 @@ + + +
+
+

Contents

+ + +
+
+ +

Configuring Accounts

+ +

The /account command should be used to modify the + settings below.

+

The following is an example account configuration file with two configured accounts.

+
[jabber]
+enabled=true
+priority.online=10
+priority.chat=20
+priority.away=0
+priority.xa=0
+priority.dnd=-10
+jid=someone@jabber.org
+resource=laptop
+presence.last=xa
+presence.login=online
+muc.service=conference.jabber.org
+muc.nick=aperson
+
+[work]
+enabled=true
+priority.online=2
+priority.chat=1
+priority.away=0
+priority.xa=-5
+priority.dnd=-10
+jid=bob.smith@mycompany.org
+server=talk.mycompany.org
+resource=office
+presence.last=online
+presence.login=away
+muc.service=rooms.mycompany.org
+muc.nick=smithy
+
+
+
diff --git a/donate.html b/donate.html index c1f6c6f..80ad8b9 100644 --- a/donate.html +++ b/donate.html @@ -1,16 +1,17 @@ - + Profanity, a console based XMPP client - User Guide - - - - - - + + + + + + + - Profanity Illustration + Profanity Illustration

@@ -19,15 +20,15 @@

User Guide

-
+

Donating

Yes, the rumors are true. Developers also have to eat. They also have limited time.

And yet some of them decide to use their free time to develop free software.

-

You can help the development of Profanity and show your appreciation by donating.
+

You can help the development of Profanity and show your appreciation by donating.
There are several ways to do so:

-

1. Become a sponsor on GitHub Sponsors
- 2. Write an email to jubalh@iodoru.org to ask for bank details
+

1. Become a sponsor on GitHub Sponsors
+ 2. Write an email to jubalh@iodoru.org to ask for bank details
3. Send Bitcoin to: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x

@@ -35,4 +36,6 @@

Donating

site designed by Matthew Balaam

+ + diff --git a/donate.xml b/donate.xml new file mode 100644 index 0000000..5105a20 --- /dev/null +++ b/donate.xml @@ -0,0 +1,15 @@ +
+
+

Donating

+

Yes, the rumors are true. Developers also have to eat. They also have limited time.

+

And yet some of them decide to use their free time to develop free software.

+

You can help the development of Profanity and show your appreciation by donating.
+ There are several ways to do so:

+

1. Become a sponsor on GitHub Sponsors
+ 2. Write an email to jubalh@iodoru.org to ask for bank details
+ 3. Send Bitcoin to: bc1qx265eat7hfasqkqmk9qf38delydnrnuvzhzy0x

+
+
diff --git a/faq.html b/faq.html index bd05d20..4a22629 100644 --- a/faq.html +++ b/faq.html @@ -1,18 +1,17 @@ - - + Profanity, a console based XMPP client - FAQ - - - - - + + + + + - Profanity Illustration + Profanity Illustration

@@ -21,23 +20,22 @@

Frequently Asked Questions

-
+

Contents

- -
@@ -76,7 +74,7 @@
back to top
-

Will Profanity run on <some platform>?

+

Will Profanity run on <some platform>?

Profanity should run on any POSIX system, see the install guide for specifics.

@@ -87,8 +85,8 @@
back to top

Will Profanity work with Google Talk?

Profanity was able to work with Google Talk. But in 2013 after Google merged it's messenger products - Google Talk, Google+ Messenger and Hangouts together XMPP support was dropped. + Google Talk, Google+ Messenger and Hangouts together XMPP support was dropped. +

back to top
@@ -105,8 +103,7 @@
back to top

Will Profanity work with Slack?

-

Provided the XMPP gateway has been enabled for your team, Profanity will work. See the +

Provided the XMPP gateway has been enabled for your team, Profanity will work. See the Slack page on gateways.

back to top
@@ -125,9 +122,7 @@
back to top

Can Profanity use my keychain/keyring to retrieve my password?

Yes, the /account command includes an eval_password property which can be used to execute a script to retrieve your password.

-

For example on Ubuntu using gnome-keyring and secret-tool:

+

For example on Ubuntu using gnome-keyring and secret-tool:

To add the password:

secret-tool store --label="Bobs account" xmpp bob@server.org

You will be prompted to enter the password.

@@ -135,8 +130,7 @@

Can Profanity use my keychain/keyring to retrieve my password?

secret-tool lookup xmpp bob@server.org

On OS X, use the following command for the eval_password property:

security find-generic-password -s bob@server.org -w
-

You can also use Profanity together with pass, see this guide +

You can also use Profanity together with pass, see this guide

back to top
@@ -202,11 +196,9 @@
back to top

I've found a bug/have a feature request who do I tell?

-

If you have a github account, you can log an issue on the issue +

If you have a github account, you can log an issue on the issue tracker.

-

Alternatively you are welcome to post on the mailing +

Alternatively you are welcome to post on the mailing list.

back to top
@@ -216,8 +208,7 @@
back to top

I'd like to contribute, what should I do?

A page has been written with some ideas for how to help out. - Any contributions/ideas are very welcome. Also see the CONTRIBUTING.md + Any contributions/ideas are very welcome. Also see the CONTRIBUTING.md file on GitHub.

back to top
@@ -229,12 +220,10 @@

I'd like to donate to Profanity

If you want to pay the developers and maintainers of Profanity a coffee there are various ways to do so.

On GitHub there is a Sponsor button - linking to relevant pages. If you want to send the money directly you can ask for an IBAN via email.

+ linking to relevant pages. If you want to send the money directly you can ask for an IBAN via email.

We also got selected for GitHub Sponsors. You can find the link also on the Sponsor button on GitHub.

-

There is also the possibility to set a bounty for certain issues via Bountysource. So in case you want to see a +

There is also the possibility to set a bounty for certain issues via Bountysource. So in case you want to see a certain feature implemented or bug fixed you can set a bounty there and the person doing the work gets the reward.

@@ -244,10 +233,7 @@
back to top

Are there more clients like this?

-

Yes, there are several commandline clients: freetalk, mcabber, poezio and more clients.

+

Yes, there are several commandline clients: freetalk, mcabber, poezio and more clients.

back to top
@@ -266,7 +252,7 @@
back to top

How to connect to an onion XMPP server

An onion XMPP server is a server which is providing an onion address to reach it inside the Tor network. You can specify the onion address with the /account command in Profanity.

-
/account set account_name server address.onion
+
/account set account_name server address.onion
back to top
@@ -282,8 +268,16 @@
back to top

How do I automatically open chat windows with contacts?

- To the right side you can see your roster. It contains all your contacts and rooms (MUCs). MUCs can be automatically joined via bookmarks. If you want to open a chat window to a user automatically upon the start of profanity you can write a script to do that. Put /msg theusersnickname into ~/.local/share/profanity/scripts/myautoscript. And configure your account to automatically launch that script /account set startscript myautoscript. -

+

To the right side you can see your roster. It contains all your contacts and + rooms (MUCs). MUCs can be automatically joined via bookmarks. If you want to + open a chat window to a user automatically upon the start of profanity you can + write a script to do that. Put + /msg theusersnickname + into + ~/.local/share/profanity/scripts/myautoscript. + And configure your account to automatically launch that script + /account set <account> startscript myautoscript. +

back to top
diff --git a/faq.xml b/faq.xml new file mode 100644 index 0000000..d833d73 --- /dev/null +++ b/faq.xml @@ -0,0 +1,280 @@ + +
+
+

Contents

+ +
+
+ +

How do I connect with multiple accounts?

+

Profanity only supports one account per instance. But you certainly can run several instances of Profanity! Run Profanity in multiple terminals or use a terminal multiplexer like screen or tmux. An example setup can be seen in this blogpost. +

+ +
back to top
+
+
+
+ +

OMEMO doesn't work for me

+

OMEMO support was added in 0.7.0. Version 0.11.1 fixed a lot of common bugs. But please make sure to run the latest version of Profanity.

+

A common error is that the PEP nodes are wrongly configured. It could be that your server isn't configured the right way or that some client configured + this the wrong way in the past. Profanity tries to correct this but might fail. See issue 1538 for details.

+ +
back to top
+
+
+
+ +

Will Profanity run on <some platform>?

+

Profanity should run on any POSIX system, see the install guide for specifics. +

+ +
back to top
+
+
+
+ +

Will Profanity work with Google Talk?

+

Profanity was able to work with Google Talk. But in 2013 after Google merged it's messenger products + Google Talk, Google+ Messenger and Hangouts together XMPP support was dropped. +

+ +
back to top
+
+
+
+ +

Will Profanity work with Facebook Chat?

+

Facebook have recently announced that they will no longer support the open XMPP chat protocol, so + Profanity will no longer work with Facebook Chat.

+ +
back to top
+
+
+
+ +

Will Profanity work with Slack?

+

Provided the XMPP gateway has been enabled for your team, Profanity will work. See the + Slack page on gateways.

+ +
back to top
+
+
+
+ +

Will Profanity work with MSN/Yahoo/AIM/IRC etc?

+

No, Profanity is purely an XMPP chat client.

+ +
back to top
+
+
+
+ +

Can Profanity use my keychain/keyring to retrieve my password?

+

Yes, the /account command includes an + eval_password property which can be used to execute a script to retrieve your password.

+

For example on Ubuntu using gnome-keyring and secret-tool:

+

To add the password:

+
secret-tool store --label="Bobs account" xmpp bob@server.org
+

You will be prompted to enter the password.

+

Command to use for the account eval_password property:

+
secret-tool lookup xmpp bob@server.org
+

On OS X, use the following command for the eval_password property:

+
security find-generic-password -s bob@server.org -w
+

You can also use Profanity together with pass, see this guide

+ +
back to top
+
+
+ +
+ +

Can I connect to more than one account at a time?

+

No, the recommended way is to use multiple terminal windows, or a terminal multiplexer like GNU Screen or + tmux.

+ +
back to top
+
+
+
+ +

Why are my settings not persistent?

+

Because you did not use /save.

+ +
back to top
+
+
+
+ +

Where is the profrc file format described?

+

Nowhere. Well, actually you cold read the source code. + But you should not edit the profrc file yourself anyways. Just use the commands to manipulate the settings. + And don't forget to /save before exiting.

+ +
back to top
+
+
+
+ +

Why does the F1 key open terminal help rather than going back to the main console window?

+

Some terminals have a key binding for F1 to open help. You can use the alt-num keys to change windows, or + if you prefer to use the F keys, you'll need to change the terminal setting to open help with another + key.

+ +
back to top
+
+
+
+ +

Why can I not type anything in the input bar?

+

Profanity uses the ncursesw library to support wide characters, which requires a UTF-8 encoding. Try + running the following (or the equivalent for your language's UTF-8 encoding) in the terminal before + running profanity.

+
export LANG=en_US.UTF-8
+ +
back to top
+
+
+
+ +

How can I hide join/leave messages in MUCs?

+

You can deactivate those messages with the following command: +

/presence chat none

+ +
back to top
+
+
+
+ +

I've found a bug/have a feature request who do I tell?

+

If you have a github account, you can log an issue on the issue + tracker.

+

Alternatively you are welcome to post on the mailing + list.

+ +
back to top
+
+
+
+ +

I'd like to contribute, what should I do?

+

A page has been written with some ideas for how to help out. + Any contributions/ideas are very welcome. Also see the CONTRIBUTING.md + file on GitHub.

+ +
back to top
+
+
+
+ +

I'd like to donate to Profanity

+

If you want to pay the developers and maintainers of Profanity a coffee there are various ways to do so. +

+

On GitHub there is a Sponsor button + linking to relevant pages. If you want to send the money directly you can ask for an IBAN via email.

+

We also got selected for GitHub Sponsors. You can find the link also on the Sponsor button on + GitHub.

+

There is also the possibility to set a bounty for certain issues via Bountysource. So in case you want to see a + certain feature implemented or bug fixed you can set a bounty there and the person doing the work gets + the reward.

+ +
back to top
+
+
+
+ +

Are there more clients like this?

+

Yes, there are several commandline clients: freetalk, mcabber, poezio and more clients.

+ +
back to top
+
+
+
+ +

How to connect to XMPP server using Tor

+

To connect to the XMPP server by the Tor network, you must launch Profanity with a tool called "proxychains-ng". +

+ +
back to top
+
+
+
+ +

How to connect to an onion XMPP server

+

An onion XMPP server is a server which is providing an onion address to reach it inside the Tor network. + You can specify the onion address with the /account command in Profanity.

+
/account set account_name server address.onion
+ +
back to top
+
+
+
+ +

How to run the latest version on old distributions?

+

Some distributions, like Debian, have backports repositories. You can also run Profanity in a container via distrobox. See our blogpost

+ +
back to top
+
+
+
+ +

How do I automatically open chat windows with contacts?

+

To the right side you can see your roster. It contains all your contacts and + rooms (MUCs). MUCs can be automatically joined via bookmarks. If you want to + open a chat window to a user automatically upon the start of profanity you can + write a script to do that. Put + /msg theusersnickname + into + ~/.local/share/profanity/scripts/myautoscript. + And configure your account to automatically launch that script + /account set <account> startscript myautoscript. +

+ +
back to top
+
+
+
diff --git a/gallery-template.xml b/gallery-template.xml new file mode 100644 index 0000000..7f260e8 --- /dev/null +++ b/gallery-template.xml @@ -0,0 +1,31 @@ + + + + ${sblg-get|title} + + + + + + + + + + + Profanity Illustration +
+

+ + Profanity + +

+

${sblg-get|subtitle}

+
+
Content
+ + + + + diff --git a/helpout.html b/helpout.html index 6f5c8a5..df5ab54 100644 --- a/helpout.html +++ b/helpout.html @@ -1,16 +1,17 @@ - + Profanity, a console based XMPP client - Helping Out - - - - - - + + + + + + + - Profanity Illustration + Profanity Illustration

@@ -19,15 +20,15 @@

Helping Out

-
+

Contents

@@ -51,7 +52,7 @@

Contribute code

Code contributions are always very welcome. From the small (spelling fixes) to the large (new XMPP features).

If you would like to get involved, you can submit a pull request, or if you just want to get involved but don't know how, email jubalh@iodoru.org.

-

Also make sure to read the CONTRIBUTING document on GitHub. +

Also make sure to read the CONTRIBUTING document on GitHub.

To find a first issue to work on check out the various repositories: