pidgin/nest

858f8129d178
Merged in OiYouYeahYou/pidgin-nest (pull request #37)

2d3a5ec35c10

Approved-by: Gary Kramlich
Approved-by: Elliott Sales de Andrade
--- a/community.md Tue Jun 25 04:44:18 2019 +0100
+++ b/community.md Tue Jun 25 04:03:21 2019 +0000
@@ -97,7 +97,7 @@
### What's with the name libpurple, anyway?
-The use of the term purple is another [homonym](http://dictionary.reference.com/browse/homonym) of sorts. Long ago, we started referring to PRotocol PLugins by an abbreviated name "PrPl" which we would pronounce in the same manner as the color. Since libpurple provides primarily an interface for using protocol plugins to access a variety of IM networks, it seemed reasonable that we name the library after the pronounciation.
+The use of the term purple is another [homonym](http://dictionary.reference.com/browse/homonym) of sorts. Long ago, we started referring to PRotocol PLugins by an abbreviated name "PrPl" which we would pronounce in the same manner as the color. Since libpurple provides primarily an interface for using protocol plugins to access a variety of IM networks, it seemed reasonable that we name the library after the pronunciation.
### What's with the name Finch, anyway?
@@ -113,4 +113,4 @@
By the time we receive a request to remove any data from our archives, it already exists in so many places that one more copy of the data can’t possibly cause any additional harm. We also do include a disclaimer on the list info page for each of our mailing lists and in the Help->About box in Pidgin itself that our mailing lists are publicly archived, thus adequate warning exists to inform people that their data will be publicly disclosed.
-We cannot be held accountable for someone else’s failure to read the disclaimer. So, as a policy, we do not remove anything from our mailing list archives.
\ No newline at end of file
+We cannot be held accountable for someone else's failure to read the disclaimer. So, as a policy, we do not remove anything from our mailing list archives.
\ No newline at end of file
--- a/hugo/archetypes/archetypes/default.md Tue Jun 25 04:44:18 2019 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
----
-title: "{{ replace .Name "-" " " | title }}"
-date: {{ .Date }}
-replaces: []
----
-
--- a/hugo/archetypes/default.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/archetypes/default.md Tue Jun 25 04:03:21 2019 +0000
@@ -1,5 +1,6 @@
---
title: "{{ replace .Name "-" " " | title }}"
date: {{ .Date }}
+replaces: []
---
--- a/hugo/config.toml Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/config.toml Tue Jun 25 04:03:21 2019 +0000
@@ -19,7 +19,7 @@
[languages.es]
languageName = "Spanish"
-# Shourtcuts
+# Shortcuts
[[menu.shortcuts]]
name = "<i class='fab fa-fw fa-bitbucket'></i> Bitbucket"
identifier = "bitbucket"
@@ -51,7 +51,7 @@
name = "<i class='fas fa-fw fa-tshirt'></i> Merchandise"
identifier = "merchandise"
url = "https://shop.spreadshirt.com/imfreedom"
- weigth = 900
+ weight = 900
[[menu.shortcuts]]
name = "<i class='fab fa-fw fa-twitter'></i> Twitter"
--- a/hugo/content/_index.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/_index.md Tue Jun 25 04:03:21 2019 +0000
@@ -1,5 +1,9 @@
---
-title: "About"
+title: About
+date: 2019-01-14T18:51:58.000Z
+replaces:
+ - pidgin.im/about/
+lastmod: 2019-06-09T18:01:46.000Z
---
Pidgin is a chat program which lets you log into accounts on multiple chat networks simultaneously. This means that you can be chatting with friends on XMPP and sitting in an IRC channel at the same time.
@@ -8,7 +12,7 @@
Pidgin is compatible with the following chat networks out of the box: Jabber/XMPP, Bonjour, Gadu-Gadu, IRC, Novell GroupWise Messenger, Lotus Sametime, SILC, SIMPLE, and Zephyr. It can support many more with [plugins](/plugins).
-Pidgin supports many features of these chat networks, such as file transfers, away messages, buddy icons, custom smilies, and typing notifications. Numerous plugins also extend Pidgin's functionality above and beyond the standard features.
+Pidgin supports many features of these chat networks, such as file transfers, away messages, buddy icons, custom smileys, and typing notifications. Numerous plugins also extend Pidgin's functionality above and beyond the standard features.
Pidgin is under constant development. Releases are usually frequent and driven by user contributions, such as [bug reports](https://pidgin.im/support/) and [patches](https://developer.pidgin.im/).
--- a/hugo/content/building/2.x.y.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/building/2.x.y.md Tue Jun 25 04:03:21 2019 +0000
@@ -11,7 +11,7 @@
## Packaged Dependencies
-These dependencies are ones that should be found in your distrobutions package manager.
+These dependencies are ones that should be found in your distributions package manager.
### I have the source; how do I build this thing?
Assuming you have all of the necessary libraries and their headers installed (see the next few questions), you compile libpurple, Pidgin and Finch just like most applications:
--- a/hugo/content/contributing/mercurial.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/contributing/mercurial.md Tue Jun 25 04:03:21 2019 +0000
@@ -8,7 +8,7 @@
---
### Configure Mercurial
-Mercurial is configured through serveral rc files. You can override the system-wide settings on a per-user or per-repository basis by changing either `~/.hgrc` or `<repository>/.hg/hgrc`. See `man hgrc` for details.
+Mercurial is configured through several rc files. You can override the system-wide settings on a per-user or per-repository basis by changing either `~/.hgrc` or `<repository>/.hg/hgrc`. See `man hgrc` for details.
You must set your username when working with Mercurial repositories. To do that, add two lines to `~/.hgrc` (or optionally `<repository>/.hg/hgrc`, if you want to use a different username for other Mercurial repositories):
--- a/hugo/content/development/design-guidelines.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/development/design-guidelines.md Tue Jun 25 04:03:21 2019 +0000
@@ -13,7 +13,7 @@
## Uniformity
-While Pidgin is a multiprotocol IM client, the goal is to hide protocols from the user as much as possible. Obviously users have to know about individual protocols when they create or modify accounts, but in day-to-day communication and usage, the intent is that users don't have to think about protocols at all.
+While Pidgin is a multi-protocol IM client, the goal is to hide protocols from the user as much as possible. Obviously users have to know about individual protocols when they create or modify accounts, but in day-to-day communication and usage, the intent is that users don't have to think about protocols at all.
The workflow in Pidgin is intended to be "I would like to chat with Sean about wibbles", not "I would like to create an XMPP conversation with seanegan@pidgin.im".
@@ -38,7 +38,7 @@
Last, but not least, before the user can actually send or receive a file, the UI (Pidgin, Finch, or Adium) must support it. These interfaces know nothing about the protocol, and have only limited contact with the core. This helps to enforce the desire for uniformity explained above. It also makes it easier for the only sort of duplication we encourage: many interfaces. The core implementation cannot assume too much about what the UI will do, because the GTK+ UI (Pidgin) might need to handle a file transfer somewhat differently than the ncurses-based UI (Finch).
-Patches that voilate this layering will be rejected. In practice, this means that there is more work involved to introduce a new class of functionality, say file transfer, white-boarding, voice, or video. On the other hand, it means less work to implement any given class of functionality for a new protocol or for a new UI.
+Patches that violate this layering will be rejected. In practice, this means that there is more work involved to introduce a new class of functionality, say file transfer, white-boarding, voice, or video. On the other hand, it means less work to implement any given class of functionality for a new protocol or for a new UI.
## Living Code
--- a/hugo/content/gsoc/ideas.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/gsoc/ideas.md Tue Jun 25 04:03:21 2019 +0000
@@ -13,7 +13,7 @@
### Encryption for XMPP
-libpurple supports no native end-to-end encryption over XMPP. There are several XEPs for this, and there is absolutely room for a new protocol that is better/easier/more secure/whatever than the existing proposals. See [wiki:EndToEndXMPPCrypto] and talk to [wiki:elb Ethan Blanton]. Note that designing a new protocol would ''absolutely'' require getting some crypto gurus on board!
+libpurple supports no native end-to-end encryption over XMPP. There are several XEP's for this, and there is absolutely room for a new protocol that is better/easier/more secure/whatever than the existing proposals. See [wiki:EndToEndXMPPCrypto] and talk to [wiki:elb Ethan Blanton]. Note that designing a new protocol would **absolutely** require getting some crypto gurus on board!
## XMPP Modernization
@@ -35,7 +35,7 @@
### Update more things to the Modern Way
-We are replacing as many parts of libpurple and Pidgin with modern library-provided functionality as feasible for 3.0. For example, we have ripped out our custom DNS infrastructure and replaced it with GIO DNS that did not exist when our infrastructure was written. There's still a lot left to do here. For example, we do not use the Gtk+ icon infrastructure everywhere. Talk to mmcc about some things he identified during his 2015 Maintenance Hero project ([wiki:mmcco]).
+We are replacing as many parts of libpurple and Pidgin with modern library-provided functionality as feasible for 3.0. For example, we have ripped out our custom DNS infrastructure and replaced it with GIO DNS that did not exist when our infrastructure was written. There's still a lot left to do here. For example, we do not use the Gtk+ icon infrastructure everywhere. Talk to Michael McConville about some things he identified during his 2015 Maintenance Hero project.
### Tests and proof of functionality
@@ -45,13 +45,13 @@
### Better UI
-Pidgin has historically led the way in instant messaging UI design. Several Pidgin behaviors have gone on to become ubiquitous. That said, our UI has stagnated over the years, and it seems like IM UI in general has not done much in recent history. Propose something novel and interesting and convince us people would want it - or at least that it's worth seeing if they will. We're not necessarily looking for crazy or off the wall, but we ''are'' looking for plausibly better.
+Pidgin has historically led the way in instant messaging UI design. Several Pidgin behaviors have gone on to become ubiquitous. That said, our UI has stagnated over the years, and it seems like IM UI in general has not done much in recent history. Propose something novel and interesting and convince us people would want it - or at least that it's worth seeing if they will. We're not necessarily looking for crazy or off the wall, but we **are** looking for plausibly better.
## Internals
### Code hardening
-libpurple has a large amount of network-facing C code, which makes it a big target. Code hardening, security auditing, and elimination of common errors have the potential to be a big win affecting a lot of users. libpurple 3.0 also offers us an interesting opportunity in that it ''should'' make possible protocol plugins written in a VHLL, which would reduce entire classes of vulnerabilities significantly. Propose some specific hardening or auditing activities to improve the code quality of libpurple or a libpurple client.
+libpurple has a large amount of network-facing C code, which makes it a big target. Code hardening, security auditing, and elimination of common errors have the potential to be a big win affecting a lot of users. libpurple 3.0 also offers us an interesting opportunity in that it **should** make possible protocol plugins written in a VHLL, which would reduce entire classes of vulnerabilities significantly. Propose some specific hardening or auditing activities to improve the code quality of libpurple or a libpurple client.
### User Highlighting and Name Completion
--- a/hugo/content/help/irc.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/help/irc.md Tue Jun 25 04:03:21 2019 +0000
@@ -34,7 +34,7 @@
### Can I automatically join channels on login?
-Absolutely. In the Buddy List window, slect _Buddies_ -> _Add Chat_. Use this dialog to add the chat to your buddy list. Once the chat appears in the buddy list, right-click the chat and select "Auto-Join". The channel will autojoin whenever you sign onto your IRC account.
+Absolutely. In the Buddy List window, select _Buddies_ -> _Add Chat_. Use this dialog to add the chat to your buddy list. Once the chat appears in the buddy list, right-click the chat and select "Auto-Join". The channel will autojoin whenever you sign onto your IRC account.
### Is it possible to change the username that appears in username@hostname?
--- a/hugo/content/help/xmpp/_index.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/help/xmpp/_index.md Tue Jun 25 04:03:21 2019 +0000
@@ -107,11 +107,11 @@
If a transport has already been registered in another client, or does not require registration, Pidgin also supports this.
-If you want to use a protocol that Pidgin and libpurple natively support, we recommend using Pidgin's own implementation istead of an XMPP transport.
+If you want to use a protocol that Pidgin and libpurple natively support, we recommend using Pidgin's own implementation instead of an XMPP transport.
### Why do I get a "Server does not use any supported authentication method" error?
-If you get this error, have a look in your debug log (_Help_ -> _Debug Window_ in the Buddy List window) to see if you also get the error mesage `sasl: sasl_state is -1, failing the mech and trying again`. If you are getting this, a possible workaround is to try adding your hostname (from `/etc/hostname`) to your `/etc/hosts` as an alias for `127.0.0.1` then trying to reconnect.
+If you get this error, have a look in your debug log (_Help_ -> _Debug Window_ in the Buddy List window) to see if you also get the error message `sasl: sasl_state is -1, failing the mech and trying again`. If you are getting this, a possible workaround is to try adding your hostname (from `/etc/hostname`) to your `/etc/hosts` as an alias for `127.0.0.1` then trying to reconnect.
## Google Talk
@@ -137,7 +137,7 @@
### What are these DNS SRV records you talk about?
-DNS SRV records are special entries in the domain name system that allow clients such as Pidgin to find sepcific services. In the case of XMPP and Google Talk, these records specify what servers on the Internet provide the XMPP service for a given domain.
+DNS SRV records are special entries in the domain name system that allow clients such as Pidgin to find specific services. In the case of XMPP and Google Talk, these records specify what servers on the Internet provide the XMPP service for a given domain.
Many home routers, especially older ones, are broken and can't handle the SRV record lookups required for Pidgin to automatically determine the server to which to connect. If this is the case, in the debug log (on the Buddy List window, _Help_ -> _Debug Window_), you will see `dnssrv: found 0 SRV entries`. You can confirm this by running `dig +short SRV __xmpp-client._tcp.<server>` on Linux or `nslookup -type=SRV _xmpp-client._tcp.<server>` on Windows, where `<server>` is the domain, such as `gmail.com`. If these commands return no results, then you will need to reconfigure the router to not act as the DNS server for the client computers. Typically, this setting is labeled something along the lines of "Use Router as DNS server" (this should be disabled) in the router's configuration.
--- a/hugo/content/i18n/tips.md Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/content/i18n/tips.md Tue Jun 25 04:03:21 2019 +0000
@@ -46,5 +46,5 @@
### Helpful links
* [Transifex](https://www.transifex.com/projects/p/pidgin/)
-* [Translationn statistics](https://developer.pidgin.im/l10n/)
+* [Translation statistics](https://developer.pidgin.im/l10n/)
* [Our translators mailing list](https://pidgin.im/cgi-bin/mailman/listinfo/translators)
\ No newline at end of file
--- a/hugo/data/i18n_languages.json Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/data/i18n_languages.json Tue Jun 25 04:03:21 2019 +0000
@@ -76,7 +76,7 @@
"Thai",
"Traditional Chinese",
"Turkish",
- "Ukranian",
+ "Ukrainian",
"Urdu",
"Valencian-Catalan",
"Vietnamese",
--- a/hugo/i18n/en.toml Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/i18n/en.toml Tue Jun 25 04:03:21 2019 +0000
@@ -25,8 +25,8 @@
[Info]
other = "Info"
-[Maintaner]
-other = "Maintaner"
+[Maintainer]
+other = "Maintainer"
[Repo]
other = "Repo"
@@ -41,7 +41,7 @@
other = "Community"
[Community-Info]
-other = "Created by the pidgin communtiy"
+other = "Created by the pidgin community"
[Plugin-Info]
other = "This page contains a list of plugins from trusted authors and the community. If you believe a plugin should be on this list, please get in touch with us or open a pull request with the update."
--- a/hugo/layouts/shortcodes/download-now.html Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/layouts/shortcodes/download-now.html Tue Jun 25 04:03:21 2019 +0000
@@ -38,7 +38,7 @@
.download-now .download-btn::after {
content: none !important;
}
- .download-now .dowloand-thing {
+ .download-now .download-thing {
display: table-cell;
text-align: center;
vertical-align: middle;
--- a/hugo/layouts/shortcodes/plugintable.html Tue Jun 25 04:44:18 2019 +0100
+++ b/hugo/layouts/shortcodes/plugintable.html Tue Jun 25 04:03:21 2019 +0000
@@ -52,7 +52,7 @@
<th>{{ T "Name" }}</th>
<th>{{ T "Info" }}</th>
<th>
- {{ T "Maintaner" }}<br />
+ {{ T "Maintainer" }}<br />
{{ T "Repo" }}
</th>
</thead>
@@ -64,11 +64,11 @@
{{ if .logo }}<img src="{{ .logo }}" />{{ else }}&nbsp;{{ end }}
</td>
- <td class="pulgin-heading">
+ <td class="plugin-heading">
{{ .heading }}
</td>
- <td class="pulgin-info">
+ <td class="plugin-info">
{{ if eq true .isTrusted }}
{{ template "trusted" }}
{{ else }}
@@ -78,7 +78,7 @@
<b>{{ .type }}</b> {{ .info | markdownify }}
</td>
- <td class="pulgin-repo">
+ <td class="plugin-repo">
<a href="{{ .repo }}">{{ .maintainer }}</a>
</td>
</tr>
@@ -87,11 +87,11 @@
</table>
<script>
- document.addEventListener("DOMContentLoaded", () => {
+ document.addEventListener("DOMContentLoaded", () => {
const selectorsContainer = document.getElementById("protocol-selector");
const search = document.getElementById("plugin-filter-search");
search.addEventListener("input", debounce(1000 * 0.5, filterRows));
- const [, ...rows] =
+ const [, ...rows] =
document.getElementById("protocol-table").getElementsByTagName("tr");
const types = {};
const typeFilter = new Set();
@@ -105,9 +105,9 @@
return {
elem,
- head: getContents("pulgin-heading", elem),
- info: getContents("pulgin-info", elem),
- repo: getContents("pulgin-repo", elem),
+ head: getContents("plugin-heading", elem),
+ info: getContents("plugin-info", elem),
+ repo: getContents("plugin-repo", elem),
isTrusted: elem.getAttribute('isTrusted') == 'true'
}
})
@@ -166,7 +166,7 @@
// Search box
&& (
!str
- || row.head.includes(str)
+ || row.head.includes(str)
|| row.info.includes(str)
|| row.repo.includes(str)
)
@@ -207,7 +207,7 @@
text-align: right;
display: inline-block;
}
-
+
#protocol-selector input {
margin: 8px;
display: inline-block;
--- a/readme.md Tue Jun 25 04:44:18 2019 +0100
+++ b/readme.md Tue Jun 25 04:03:21 2019 +0000
@@ -4,22 +4,25 @@
## Table of contents
-- [Community](community.md)
-- [Contributing](contributing.md)
-- [Design Guidelines](design-guidelines.md)
-- [Development FAQ](development-faq.md)
-- [Release Process](release-process.md)
+- [Community](community.md)
+- [Contributing](contributing.md)
+- [Design Guidelines](design-guidelines.md)
+- [Development FAQ](development-faq.md)
+- [Release Process](release-process.md)
## Dependencies
-This project uses [hugo](https://gohugo.io/), get it [here](https://gohugo.io/getting-started/installing/)
+This project uses [hugo](https://gohugo.io/), get it
+[here](https://gohugo.io/getting-started/installing/)
## Developing Docs
-To start devleopment server run: `hugo server -s hugo -D --disableFastRender -v --verboseLog --noHTTPCache --i18n-warnings`
+To start development server run:
+`hugo server -s hugo -D --disableFastRender -v --verboseLog --noHTTPCache --i18n-warnings`
- - `--disableFastRender` Disabling fast render is needed because hugo starts to ignore new content in the data dir
- - `-v --verboseLog` Better logging and debugging experience
- - `--noHTTPCache` To prevent caching issues
+- `--disableFastRender` Disabling fast render is needed because hugo starts to
+ ignore new content in the data dir
+- `-v --verboseLog` Better logging and debugging experience
+- `--noHTTPCache` To prevent caching issues
## Docker
@@ -28,7 +31,7 @@
### Formatting
-These are some regexes to quickly format templating
+These are some regex's to quickly format templating
| regex | replace |
| -------------------- | -------- |
@@ -38,10 +41,13 @@
## Hugo config
-To disable **Copy Code to Clipboard** the `disableInlineCopyToClipBoard` switch can be used either in **config** `[params]` **or** in the front matter of the individual page
+To disable **Copy Code to Clipboard** the `disableInlineCopyToClipBoard` switch
+can be used either in **config** `[params]` **or** in the front matter of the
+individual page
## Tools
-* **Visual Regression**
+- **Visual Regression**
1. [Run dev server](#Developing-Docs)
- 1. To run the visual diff tool call `node tools/visual-diff.js` or `npm run regression`
\ No newline at end of file
+ 1. To run the visual diff tool call `node tools/visual-diff.js` or
+ `npm run regression`
--- a/tools/migrate-tracker.js Tue Jun 25 04:44:18 2019 +0100
+++ b/tools/migrate-tracker.js Tue Jun 25 04:03:21 2019 +0000
@@ -48,9 +48,9 @@
replaces,
path,
pathOnSite: path
- // convert to realative file path
+ // convert to relative file path
.replace(filepath, '')
- // remove file extention
+ // remove file extension
.replace(/\.md$/, '')
// remove _index
.replace(/\/_index(\.\w\w)?$/, ''),
@@ -93,7 +93,7 @@
/**
* Retrieves front matter from markdown files
- * @param {string} path path to mardown file
+ * @param {string} path path to markdown file
*/
function getFrontMatter(path) {
try {
@@ -120,8 +120,7 @@
const stat = fs.statSync(item)
if (stat.isDirectory()) {
- const nueveau = fs.readdirSync(item).map(i => path.join(item, i))
- items.push(...nueveau)
+ items.push(...fs.readdirSync(item).map(i => path.join(item, i)))
} else if (stat.isFile() && mdRegex.test(item)) {
output.push(item)
}
--- a/tools/pre-prod.js Tue Jun 25 04:44:18 2019 +0100
+++ b/tools/pre-prod.js Tue Jun 25 04:03:21 2019 +0000
@@ -49,7 +49,7 @@
*****************************************************************************/
/**
- * Format XML and HTML, removing hugo template artefacts,
+ * Format XML and HTML, removing hugo template artifacts,
* like whitespace chasms
* @param {string} path
*/
@@ -59,7 +59,7 @@
fs.writeFile(path, formatted, err => {
if (err) {
- console.log(`Error Tidiyng ${path}`, err)
+ console.log(`Error Tidying ${path}`, err)
}
console.log(`Tidied path: ${path.replace(target, '')}`)
})
--- a/tools/update-lastmod.js Tue Jun 25 04:44:18 2019 +0100
+++ b/tools/update-lastmod.js Tue Jun 25 04:03:21 2019 +0000
@@ -1,7 +1,7 @@
/**
* For each content page:
* * reads last change date form mercurial
- * * writes last edite date to front matter
+ * * writes last edited date to front matter
*/
/*****************************************************************************
@@ -28,7 +28,7 @@
*****************************************************************************/
getMdPaths(path.join(__dirname, '../hugo/content/')).then(paths =>
- paths.map(async function(file) {
+ paths.map(async function (file) {
const [commits, { attributes, body }] = await Promise.all([
getCommits(file),
getFrontMatter(file),
@@ -51,7 +51,7 @@
*****************************************************************************/
/**
- * Get an orderd array commits for a file
+ * Get an ordered array commits for a file
* @param {string} file the file path
*/
function getCommits(file) {
@@ -147,10 +147,9 @@
const stat = await fs.stat(item)
if (stat.isDirectory()) {
- const nueveau = (await fs.readdir(item)).map(i =>
+ items.push(...(await fs.readdir(item)).map(i =>
path.join(item, i)
- )
- items.push(...nueveau)
+ ))
} else if (stat.isFile() && mdRegex.test(item)) {
output.push(item)
}
--- a/tools/visual-diff.js Tue Jun 25 04:44:18 2019 +0100
+++ b/tools/visual-diff.js Tue Jun 25 04:03:21 2019 +0000
@@ -25,7 +25,7 @@
const Differencify = require('differencify')
const differencify = new Differencify()
-// WARNING: Chnaging these values may invalidate previous snapshots
+// WARNING: Changing these values may invalidate previous snapshots
const viewports = Object.freeze({
phone: Object.freeze({ width: 320, height: 1000 }),
tablet: Object.freeze({ width: 768, height: 4000 }),
@@ -131,7 +131,7 @@
/**
* Handles concurrence
- * @param {Function[]} stack The fucntions to be called
+ * @param {Function[]} stack The functions to be called
*/
function concurrence(stack) {
const er = e => console.error(e)