profile
viewpoint
QuietMisdreavus QuietMisdreavus denver, co (UTC-6) https://quietmisdreavus.net ghost on the internet [she/her]

egg-mode-rs/egg-mode 200

a twitter api crate for rust

QuietMisdreavus/handler_map 13

map from types to functions that receive them

QuietMisdreavus/init-with-rs 7

initialize a fixed array with a per-element initialization function

hawkw/natatorium 6

"natatorium" is a fancy word for "swimming pool"

QuietMisdreavus/kindlizer 6

sketch: render articles to docx

egg-mode-rs/egg-mode-text 5

egg-mode-text, a port of twitter-text to rust

QuietMisdreavus/haskgit 3

partial haskell implementation of the tool from the book "Building Git"

QuietMisdreavus/dotfiles 2

config files

QuietMisdreavus/movesets-bot 2

pull up random pokemon movesets

Manishearth/rust 1

a safe, concurrent, practical language

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 5883322c61eb88a0dc3723d18b6b6c68d9ade8c5

update spell dict

view details

push time in 14 hours

push eventQuietMisdreavus/links.quietmisdreavus.net

QuietMisdreavus

commit sha 369b0f47967656bcff9c87fe8e2512b983d61fd0

tinywm

view details

push time in 2 days

push eventQuietMisdreavus/fosspride.org

QuietMisdreavus

commit sha 4d1707cc2fd5cfdc68ab7d177117a8ad4128424c

ignore locally-vendored gems

view details

QuietMisdreavus

commit sha 00bc5cac143dd0da58582bada95634e3963f43f6

don't process locally-vendored gems' files

view details

push time in 9 days

issue commentQuietMisdreavus/fosspride.org

the server doesn’t use the jekyll 404 template?

This was because this site is pushed to nearlyfreespeech.net, which needs a .htaccess file to use custom 404 pages. I've got the fix pushed now. Nice catch, thanks for the report!

jasikpark

comment created time in 9 days

push eventQuietMisdreavus/fosspride.org

QuietMisdreavus

commit sha 5df0e69d8319e9ea2ecaa682f89e31d8bed92cab

fix pride-images permalink

view details

QuietMisdreavus

commit sha ce4db4637a3abb275568d55e9ae7de780c6f84ff

add ErrorDocument directive closes #2

view details

push time in 9 days

issue closedQuietMisdreavus/fosspride.org

the server doesn’t use the jekyll 404 template?

image

for https://fosspride.org/pride-images/git-pride

closed time in 9 days

jasikpark

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha 3589c8b16319d7afee42a1b8ca741d4883bc4896

escape special characters in title metadata

view details

push time in 9 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha ac1e5f12b5ae85fe1a82964514ecce5a8b7a4c8d

meet "quiet hyperlinks"

view details

push time in 9 days

create barnchQuietMisdreavus/links.quietmisdreavus.net

branch : master

created branch time in 9 days

created repositoryQuietMisdreavus/links.quietmisdreavus.net

source files for "quiet hyperlinks"

created time in 9 days

push eventQuietMisdreavus/vida

QuietMisdreavus

commit sha 8cf31d1e677c3e7b326c3293af232a9c4f10299f

add a line between article content and footnotes

view details

push time in 11 days

pull request commentrust-lang/rfcs

Edition 2021 and beyond

nikomatsakis

comment created time in 12 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha c9adecaa85bc19895ec4ea5a427ad86f51fc2010

add a line between article content and footnotes

view details

QuietMisdreavus

commit sha 89621cecb01f2d4469bcf290ac03c0e5a2c38040

i'm at the combination funemployment and quarantine

view details

push time in 13 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha ecc40e79084eb1a50ae231f54d6339fd2a3fd8ed

re-introduce the links to category rss feeds

view details

push time in 16 days

push eventQuietMisdreavus/quietmisdreavus.net

QuietMisdreavus

commit sha a4a36d75b4fa23b6dd72f2e2412061ab122d1b72

add custom category rss feed script

view details

push time in 16 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha c21f167e69413fc41842c9c05a4b52b130b641b5

add custom category rss feed script

view details

push time in 16 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha 0515d65182cfb003a9a2ef106ddb58ca16452b04

update about page

view details

push time in 16 days

push eventQuietMisdreavus/quietmisdreavus.net

QuietMisdreavus

commit sha aee4b381e1941e39a4ad45371d75a1ff71439a5b

update about page

view details

push time in 16 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 072d163789bb4d8ed329ce4fa171b5efc17d3a88

update spell dict from "an API quandary"

view details

push time in 16 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha 07ee2593d00e38d768ca7bfd22c2136a872fd7b6

no category-specific feeds, for now

view details

push time in 17 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha d460367a75d042ae9abfdb9c65181945dcdfb4f7

an API quandary

view details

push time in 17 days

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha abd009b890b79c9b542f5254cd235e8f7813eb41

refactor welcome messages' Timeline into ActivityCursorIter

view details

QuietMisdreavus

commit sha 52dfd56824cd7255afe50c6bb62689a696f5a3a4

convert the DM Timeline into ActivityCursorIter

view details

push time in 18 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha bc2917c3b0c219c9651b5ea642dbb10583168acd

add visual-mode mapping for \gg

view details

push time in 20 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha e88794347d7a0a3d4418b7394529dc0323256c43

update misdreavus-mru

view details

push time in 20 days

push eventQuietMisdreavus/misdreavus-mru

QuietMisdreavus

commit sha 4ec02047d890bfc33df57a546b8700f68e5ca5cf

list help files if the window has been a help window

view details

push time in 20 days

push eventQuietMisdreavus/misdreavus-mru

QuietMisdreavus

commit sha 23ce36736235dc659cad244f9b66b4d70df63723

remove buffers from MRU lists when deleted

view details

push time in 20 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 60f25e2c4802b3038514c6db2a21f5c3e93ab9ee

update ghostline

view details

push time in 20 days

push eventQuietMisdreavus/ghostline

QuietMisdreavus

commit sha 3d3c5108ca11c4e45caf94cb2bea18cd6add54cb

misdreavus-mru uses window IDs, not window numbers

view details

push time in 20 days

delete branch QuietMisdreavus/hyper-proxy

delete branch : webpki-roots

delete time in 21 days

push eventegg-mode-rs/egg-mode

Tomoki Aonuma

commit sha dbdecdcb131a729e6177ae0b257bdcbb982e2c4c

Update links to API docs

view details

QuietMisdreavus

commit sha afa24ce3f7940ae515f537bd835ea875e3fd737e

Merge pull request #104 from uasi/update-links Update links to API docs

view details

QuietMisdreavus

commit sha 0b536115319f1e38c67be5e8db2c699f45b9fcab

add sponsor info

view details

QuietMisdreavus

commit sha 4e819a20c9192cc12f9f22c6b0d1f97545f5199d

add ko-fi info to funding file

view details

QuietMisdreavus

commit sha 0d3e173e1e7109195d737ee8b2f7a5cfcc175246

start welcome messages module

view details

QuietMisdreavus

commit sha 903badb6f76c0b793a80cd4555049f82e87302eb

refactor: move the index-translation code into MessageData

view details

QuietMisdreavus

commit sha b060a594f5dfd1fa64050c37851010c813d21a90

add welcome message list fn and Timeline type

view details

QuietMisdreavus

commit sha 602fa18a591ff6fb1c1619d87415b5dc5b428f4b

wip: start adding an ActivityCursorIter

view details

push time in 21 days

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha 7e8468f83d3c7b6102899e2c2c07bd53d74d2b45

wip: start adding an ActivityCursorIter

view details

push time in 21 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 7215185b65a048264e0f38ca8379b0e6550998c8

update spell dict from "sometimes i think about a pokemon romhack"

view details

push time in 21 days

issue openedegg-mode-rs/egg-mode

transitioning to the v2 API

Last week Twitter announced the version 2 of their public API, which looks like a promotion of some of their "Labs" endpoints, plus some reimaginings of their API structure in general, into a new API surface. It seems like the launch of the API itself was delayed due to the security incident that also occurred last week, but it's worth tracking it as it means new work for egg-mode.

The first change i notice when looking at the Labs APIs is that they allow you to specify which fields you want to retrieve in the API call, which is great for extensibility but makes returning a statically-defined data structure (like we have been doing in egg-mode) difficult. On the other hand, this could also allow us to trim down our biggest structures, by (for example) returning only a screen name/ID for the author of a tweet instead of serializing the entire TwitterUser out.

I've yet to do a complete read-through of the current Labs APIs (not to mention whatever it will look like when they properly release the v2 API) but it does seem like there will be some rework that needs to happen to support them properly.

created time in 21 days

push eventQuietMisdreavus/micro.quietmisdreavus.net

QuietMisdreavus

commit sha a5da581ff92eba5b52b0f1ae428ce014fff416e0

sometimes i think about a pokemon romhack

view details

push time in 22 days

delete branch egg-mode-rs/egg-mode

delete branch : futuregeddon

delete time in 23 days

delete branch egg-mode-rs/egg-mode

delete branch : media-refactor

delete time in 23 days

delete branch egg-mode-rs/egg-mode

delete branch : staticify

delete time in 23 days

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha 4e819a20c9192cc12f9f22c6b0d1f97545f5199d

add ko-fi info to funding file

view details

push time in 23 days

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha 0b536115319f1e38c67be5e8db2c699f45b9fcab

add sponsor info

view details

push time in 23 days

delete branch QuietMisdreavus/kindlizer

delete branch : dependabot/npm_and_yarn/lodash-4.17.19

delete time in 23 days

push eventQuietMisdreavus/kindlizer

dependabot[bot]

commit sha bcf3361c7b70f0b47373106f7dc2a7a251a3595f

Bump lodash from 4.17.15 to 4.17.19 Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] <support@github.com>

view details

push time in 23 days

PR merged QuietMisdreavus/kindlizer

Bump lodash from 4.17.15 to 4.17.19 dependencies

Bumps lodash from 4.17.15 to 4.17.19. <details> <summary>Release notes</summary> <p><em>Sourced from <a href="https://github.com/lodash/lodash/releases">lodash's releases</a>.</em></p> <blockquote> <h2>4.17.16</h2> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/lodash/lodash/commit/d7fbc52ee0466a6d248f047b5d5c3e6d1e099056"><code>d7fbc52</code></a> Bump to v4.17.19</li> <li><a href="https://github.com/lodash/lodash/commit/2e1c0f22f425e9c013815b2cd7c2ebd51f49a8d6"><code>2e1c0f2</code></a> Add npm-package</li> <li><a href="https://github.com/lodash/lodash/commit/1b6c282299f4e0271f932b466c67f0f822aa308e"><code>1b6c282</code></a> Bump to v4.17.18</li> <li><a href="https://github.com/lodash/lodash/commit/a370ac81408de2da77a82b3c4b61a01a3b9c2fac"><code>a370ac8</code></a> Bump to v4.17.17</li> <li><a href="https://github.com/lodash/lodash/commit/1144918f3578a84fcc4986da9b806e63a6175cbb"><code>1144918</code></a> Rebuild lodash and docs</li> <li><a href="https://github.com/lodash/lodash/commit/3a3b0fd339c2109563f7e8167dc95265ed82ef3e"><code>3a3b0fd</code></a> Bump to v4.17.16</li> <li><a href="https://github.com/lodash/lodash/commit/c84fe82760fb2d3e03a63379b297a1cc1a2fce12"><code>c84fe82</code></a> fix(zipObjectDeep): prototype pollution (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4759">#4759</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/e7b28ea6cb17b4ca021e7c9d66218c8c89782f32"><code>e7b28ea</code></a> Sanitize sourceURL so it cannot affect evaled code (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4518">#4518</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/0cec225778d4ac26c2bac95031ecc92a94f08bbb"><code>0cec225</code></a> Fix lodash.isEqual for circular references (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4320">#4320</a>) (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4515">#4515</a>)</li> <li><a href="https://github.com/lodash/lodash/commit/94c3a8133cb4fcdb50db72b4fd14dd884b195cd5"><code>94c3a81</code></a> Document matches* shorthands for over* methods (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4510">#4510</a>) (<a href="https://github-redirect.dependabot.com/lodash/lodash/issues/4514">#4514</a>)</li> <li>Additional commits viewable in <a href="https://github.com/lodash/lodash/compare/4.17.15...4.17.19">compare view</a></li> </ul> </details> <details> <summary>Maintainer changes</summary> <p>This version was pushed to npm by <a href="https://www.npmjs.com/~mathias">mathias</a>, a new releaser for lodash since your current version.</p> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+3 -3

0 comment

1 changed file

dependabot[bot]

pr closed time in 23 days

issue commentegg-mode-rs/egg-mode

No proxy support

I have an idea for how to get this to work. There's a decent-looking library hyper-proxy that would allow me to wrap the connection with a proxied one, but there's a feature i want it to have before i commit to integrating it. I've posted an issue (and a PR to add it), so once that's in a released version, it shouldn't be that bad to add.

rdelfin

comment created time in 23 days

push eventegg-mode-rs/egg-mode

Tomoki Aonuma

commit sha dbdecdcb131a729e6177ae0b257bdcbb982e2c4c

Update links to API docs

view details

QuietMisdreavus

commit sha afa24ce3f7940ae515f537bd835ea875e3fd737e

Merge pull request #104 from uasi/update-links Update links to API docs

view details

push time in 23 days

PR merged egg-mode-rs/egg-mode

Update links to API docs

Update links to the old API documentation to point to the correct page.

Closes https://github.com/egg-mode-rs/egg-mode/issues/37

+29 -29

0 comment

9 changed files

uasi

pr closed time in 23 days

issue closedegg-mode-rs/egg-mode

link audit

At some point, Twitter redesigned their API documentation, and changed the URL structure they used for each page. Naturally, this broke every link i put in my docs that pointed to their site.

Fortunately, they made it easy to figure out whether a link is going to be redirected: They also changed the subdomain that the docs are served at. The new domain is developer.twitter.com, whereas the old one was just dev.twitter.com. A quick rg -trust "dev\.twitter\.com" and rg -tmarkdown "dev\.twitter\.com" tells me that a few dozen links to old docs are hanging around somewhere on this repo. It would be worth fixing all these links so they don't get redirected to somewhere mostly unrelated to what i was trying to point at.

closed time in 23 days

QuietMisdreavus

Pull request review commentegg-mode-rs/egg-mode

Update links to API docs

 round_trip! { raw::RawTwitterUser,         /// "Perspectival" items within this tweet that depend on the authenticating user         /// [may not be completely reliable][stale-embed] in this embed.         ///-        /// [stale-embed]: https://dev.twitter.com/docs/faq/basics/why-are-embedded-objects-stale-or-inaccurate+        /// [stale-embed]: https://web.archive.org/web/20160617182407/https://dev.twitter.com/faq#41

Hmm, this is strange. It looks like the status field isn't even mentioned in the documentation any more. I've asked on the Twitter Community forum about this. It may be prudent to just remove this field in the future, if they're not even going to acknowledge it.

uasi

comment created time in 23 days

pull request commenttafia/hyper-proxy

feat: add rustls-webpki feature

I've added a new section to the readme about the features, and added a comment to the Cargo.toml about rustls-base. What do you think?

QuietMisdreavus

comment created time in 25 days

push eventQuietMisdreavus/hyper-proxy

QuietMisdreavus

commit sha 7c630d8f875dfa32b5379ea12faa08342b1d7c76

docs: add comment to Cargo.toml with warning about rustls-base

view details

push time in 25 days

push eventQuietMisdreavus/hyper-proxy

QuietMisdreavus

commit sha 2ca233c8cb56654d6ecc11be83031a17ba4ca799

docs: update readme with feature list

view details

push time in 25 days

Pull request review commentrust-lang/rust

Add `std::io::input` simple input function.

 impl fmt::Debug for StderrLock<'_> {     } } +/// Equivalent to the [`input`] method except that+/// a prompt is printed before capturing input.+///+/// # Note+///+/// This function is not the recommended solution to get user input, it should+/// only be used for simple actions. If you require more explicit control over+/// getting user input, see the [`Stdin::read_line`] method.+///+/// # Panics+///+/// This function currently panics if it does not receive input,+/// or when input is empty without newline+///+/// # Examples+///+/// ```no_run+/// #![feature(prompt)]+/// use std::io::prompt;+///+/// fn main() {+///     let name = prompt("Enter name: ").expect("input failed!");+///+///     println!("Your name is {}!", name);+/// }+/// ```+#[unstable(+    feature = "prompt",+    reason = "this function may be replaced with a \+                     more general mechanism",+    issue = "none"+)]+pub fn prompt(prompt: &str) -> Result<String> {+    stdout().write(prompt.as_bytes()).expect("failed to write to stdout");+    Ok(input()?)+}++/// Constructs a new handle to the standard input of the current+/// process, locks this handle and reads a line of input,+/// returning a `String` containing the input. For automatic+/// prompt handling, see the [`prompt`] method.+///+/// If you need more explicit control over+/// locking, see the [`Stdin::lock`] and [`Stdout::lock`] methods.+///+/// # Note+///+/// This function is not the recommended solution to get user input, it should+/// only be used for simple actions. If you require more explicit control over+/// getting user input, see the [`Stdin::read_line`] method.+///+/// # Panics+///+/// This function currently panics if it does not receive input+/// or when input is empty (end of file / `ctrl + d`).+///+/// # Examples+///+/// ```no_run+/// #![feature(input)]+/// use std::io::input;+///+/// fn main() {+///     print!("Enter name: ");+///+///     let name = input().expect("input failed!");+///+///     println!("Your name is {}!", name);+/// }+/// ```+#[unstable(+    feature = "input",+    reason = "this function may be replaced with a \+                     more general mechanism",+    issue = "none"+)]+pub fn input() -> Result<String> {+    let mut input = String::new();+    stdout().flush().expect("failed to flush stdout");+    match stdin().read_line(&mut input).expect("failed to read from stdin") {+        0 => panic!("unexpected end of file"),+        _ => Ok(String::from(input.trim_end_matches(&['\n', '\r'][..]))),+    }+}

I'm not an active team member any more, so cc @rust-lang/docs to be sure.

For a matter of personal opinion, i'm a fan of mentioning at least some potential error cases in the docs, if not all of them. It helps to be explicit about what's possible.

sHaDoW-54

comment created time in 25 days

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 5f5ba0a0a087c18146c1b0a3ced8da0df782ec25

update misdreavus-mru

view details

push time in a month

push eventQuietMisdreavus/misdreavus-mru

QuietMisdreavus

commit sha 0be86ec20586e4fe06c193b63d27e7769ebc1cd3

use window IDs instead of window numbers

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 6544326983ef65931a4e59886d74c0d8ed44a3fb

swap misdreavus-mru with a submodule

view details

QuietMisdreavus

commit sha 4f121a40889ca31b46bd84436d282e569f0a01a1

replace statusline/tabline files with ghostline submodule

view details

push time in a month

push eventQuietMisdreavus/ghostline

QuietMisdreavus

commit sha ea431a3aa56810b5376c2b01626daf147e21bfff

update readme

view details

push time in a month

create barnchQuietMisdreavus/misdreavus-mru

branch : master

created branch time in a month

created repositoryQuietMisdreavus/misdreavus-mru

a most-recently-used buffer list for vim

created time in a month

push eventQuietMisdreavus/ghostline

QuietMisdreavus

commit sha 43bcfd9803b60639428b291c1b9c561e9d3a6080

fix readme

view details

push time in a month

create barnchQuietMisdreavus/ghostline

branch : master

created branch time in a month

created repositoryQuietMisdreavus/ghostline

my custom statusline/tabline for vim

created time in a month

push eventQuietMisdreavus/vimfiles

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha a7594075011fb0732bc8871c12baecd33ec54741

move custom statusline/tabline into a plugin dir

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 964cb1164edae40c204ee8def6ce327680953d58

add mapping to :grep for the word under the cursor

view details

QuietMisdreavus

commit sha 34cd6e3052de3a2e866e1745f5cfe15c82a117a0

fix quickfix counter never appearing in statusline

view details

push time in a month

PR opened tafia/hyper-proxy

feat: add rustls-webpki feature

Closes #15

This PR adds a new Cargo feature: rustls-webpki. This allows users to use both the rustls TLS stack, as well as the webpki-roots static CA certificates, to enable a truly independent implementation.

The basic idea is that now there are four primary versions of the library:

  1. No TLS support (building with no features)
  2. TLS via native-tls (default, using the tls feature)
  3. TLS via rustls and native CA certificates (using the rustls feature)
  4. TLS via rustls and compiled-in CA certificates from webpki-roots (using the rustls-webpki feature)

The two rustls features build off a new rustls-base feature, which sets up the common code between rustls and rustls-webpki. The two user-facing features then configure the TlsConnector in ProxyConnector::new based on their respective certificate store crates.

One question i have about the initial implementation: Since i introduced a separate cargo feature (rustls-base) to represent the common rustls code, there's a potential situation where someone deliberately sets the rustls-base feature without setting either rustls or rustls-webpki to add certificates to the TLS configuration. This will create a situation where it looks like you can set up a TLS connection to the proxy, but nothing will succeed because there are no certificates loaded into the trust store for the connection. Should we set up a guard in the library code to emit a compile_error!() macro if this happens?

Thanks for setting up this library! I'm looking forward to integrating it with my own. :grin:

+34 -20

0 comment

4 changed files

pr created time in a month

create barnchQuietMisdreavus/hyper-proxy

branch : webpki-roots

created branch time in a month

issue commenttafia/hyper-proxy

webpki-roots support

No worries! I'll try to work it in myself and post a PR.

QuietMisdreavus

comment created time in a month

fork QuietMisdreavus/hyper-proxy

A proxy connector for Hyper-based crates

fork in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 3f44c0e7e78405959e8e28d3f1fc2f44d7460f5b

MRU: don't do anything with the commands if we're disabled

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha ff75a82b429ca6bf479de79ffe6444aa9b8e02c7

add readme to misdreavus-mru

view details

QuietMisdreavus

commit sha d0fee39c02830e467e60b971092bd496476696c9

add MPL license to misdreavus-mru

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 6ff4ba20fe21af0e13c189ef10420fd044e9a052

pad :Mru with a tab character

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha 6cecc41d1d20c6805c42b6c68cd5f7a4eb276c38

add initial MRU buffer list plugin

view details

QuietMisdreavus

commit sha f8336b3bab5514f8524f4c439af480ffa4f1ec6a

add rotate command to MRU plugin

view details

QuietMisdreavus

commit sha a5cbcd936b22863ed72242082de562823f324a8f

show the MRU list in the tabline

view details

QuietMisdreavus

commit sha 721889fabce7eaa4da875b2ec14494be94fd9b9f

track MRU list separately per-window

view details

QuietMisdreavus

commit sha 9f0eac0cd11938472caae1a66395617aa8224e8f

don't duplicate buffers in tabline if they're in the MRU rotate list

view details

QuietMisdreavus

commit sha 13df4454bfec3bc129dd8cfab3c7843a75751bdc

add misdreavus-mru mapping to vimrc

view details

push time in a month

push eventQuietMisdreavus/dotfiles

QuietMisdreavus

commit sha 6e8881f6d231299f2f17d57829fe869fc32c84a1

add ~/.local/bin to PATH

view details

push time in a month

push eventQuietMisdreavus/dotfiles

QuietMisdreavus

commit sha 969e9913333826c975d82f99a4095254d5b16b97

add config for keychain

view details

push time in a month

push eventQuietMisdreavus/vimfiles

QuietMisdreavus

commit sha dacc68675a964de8b751f32dedf51cd2eae53705

show [-] flag on readonly as well as nomodifiable

view details

push time in a month

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha 5b600f18fb1ad95430278b8403b9cea23f813a4a

properly deserialize Relationship in user::relation

view details

Henry de Valence

commit sha 6295e99d1408d524a3a78d091c628aa0ae240576

Add missing Send bounds for CursorIter. This allows using the CursorIter in a Send future.

view details

QuietMisdreavus

commit sha 2d5614a4b4a46c7b368ea45aa4620cab4e446eab

Merge pull request #100 from egg-mode-rs/relationship-wrapper properly deserialize Relationship in user::relation

view details

QuietMisdreavus

commit sha ae644acd70aa1cd511b0aff2caf01b16ba46e7e9

Merge pull request #102 from hdevalence/master Add missing Send bounds for CursorIter.

view details

QuietMisdreavus

commit sha ca9369cc4ff415a1e7e7b23c86015c5bed3a4e5e

update changelog for #102

view details

QuietMisdreavus

commit sha 9382d4010f1d9985c1574c03b75c181a250e5d0c

start welcome messages module

view details

QuietMisdreavus

commit sha beafd3fcf219587e9e5dec14c6cad62ba5e3226c

refactor: move the index-translation code into MessageData

view details

QuietMisdreavus

commit sha 05be063729062a1785f4be08cd0f33cf8d4588e3

add welcome message list fn and Timeline type

view details

QuietMisdreavus

commit sha b705f4745fffe00973ecbca7dbe0fd95d3ec2b06

wip: start adding an ActivityCursorIter

view details

push time in a month

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha ca9369cc4ff415a1e7e7b23c86015c5bed3a4e5e

update changelog for #102

view details

push time in a month

push eventegg-mode-rs/egg-mode

Henry de Valence

commit sha 6295e99d1408d524a3a78d091c628aa0ae240576

Add missing Send bounds for CursorIter. This allows using the CursorIter in a Send future.

view details

QuietMisdreavus

commit sha ae644acd70aa1cd511b0aff2caf01b16ba46e7e9

Merge pull request #102 from hdevalence/master Add missing Send bounds for CursorIter.

view details

push time in a month

PR merged egg-mode-rs/egg-mode

Add missing Send bounds for CursorIter.

This allows using the CursorIter in a Send future.

+2 -2

3 comments

1 changed file

hdevalence

pr closed time in a month

pull request commentegg-mode-rs/egg-mode

Add missing Send bounds for CursorIter.

It feels like a notable enough change (an infrastructure type can be used in more places) that i would like to list it. Personal preference, i guess. :woman_shrugging:

hdevalence

comment created time in a month

issue openedtafia/hyper-proxy

webpki-roots support

I'm looking to integrate hyper-proxy into egg-mode (see egg-mode-rs/egg-mode#101). However, i also recently had an issue reported where a user couldn't use the native certificate store as loaded by rustls-native-certs (see egg-mode-rs/egg-mode#92). I fixed this at the time by exposing a feature from hyper-rustls that made it use statically-linked certificates from the webpki-roots crate instead of rustls-native-certs. Would you be open to exposing a Cargo feature to switch between these certificate stores?

created time in a month

delete branch egg-mode-rs/egg-mode

delete branch : relationship-wrapper

delete time in a month

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha 5b600f18fb1ad95430278b8403b9cea23f813a4a

properly deserialize Relationship in user::relation

view details

QuietMisdreavus

commit sha 2d5614a4b4a46c7b368ea45aa4620cab4e446eab

Merge pull request #100 from egg-mode-rs/relationship-wrapper properly deserialize Relationship in user::relation

view details

push time in a month

PR merged egg-mode-rs/egg-mode

properly deserialize Relationship in user::relation

Closes https://github.com/egg-mode-rs/egg-mode/issues/96

Looks like this was missed in the initial Serde conversion. The relationship info returned by Twitter is wrapped in an object that has a single "relationship" field with the data we actually return. The original FromJson impl accounted for this, but when it was replaced with a straight #[derive(Deserialize)], it broke that endpoint. This PR creates the proper wrapper struct when loading the relationship data.

+8 -1

0 comment

1 changed file

QuietMisdreavus

pr closed time in a month

issue closedegg-mode-rs/egg-mode

"missing field `target`" in user::relation

Consider the code:

let relation = user::relation("twitter", "jack", &token).await;
println!("relation: {:?}", relation);

This outputs:

relation: Err(DeserializeError(Error("missing field `target`", line: 1, column: 531)))

Other functions such as user::show work correctly, I only experience this error with user::relation.

The output of twurl --json-pretty '/1.1/friendships/show.json?source_screen_name=twitter& target_screen_name=jack' is:

{
  "relationship": {
    "source": {
      "id": 783214,
      "id_str": "783214",
      "screen_name": "Twitter",
      "following": false,
      "followed_by": true,
      "live_following": false,
      "following_received": null,
      "following_requested": null,
      "notifications_enabled": null,
      "can_dm": true,
      "blocking": null,
      "blocked_by": null,
      "muting": null,
      "want_retweets": null,
      "all_replies": null,
      "marked_spam": null
    },
    "target": {
      "id": 12,
      "id_str": "12",
      "screen_name": "jack",
      "following": true,
      "followed_by": false,
      "following_received": null,
      "following_requested": null
    }
  }
}

Please let me know if I am doing something incorrectly.

closed time in a month

Muirey03

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha a93f0e13a653de66309842bf2720e0e25b5eccdf

deserialize Tweet via TryFrom

view details

QuietMisdreavus

commit sha 1117511fe1a72201662e01923b1c6d7efcf326c9

wip: impl Serialize for Tweet via round_trip! macro the idea behind the macro is that i want the Deserialize impl to work either with the original Twitter JSON, *or* with the serialization output from the derived Serialize impl. Since i can't attempt an automatic serialization directly into Tweet as-is (it would try to read it as Twitter's JSON) i decided to make a copy of the struct definition and provide a transparent From impl for easy conversion. combine this with an enum labeled with `#[serde(untagged)]` and serde will do the "try either of these" logic for me! i had to leave out Place and User because they had complicated serialization logic that i wanted to parcel out to other commits (and in User's case, since it also contains a Tweet, i would have to apply Serialize to both of them at the same time for it to "fully" work).

view details

QuietMisdreavus

commit sha 02e209753445a92f970d988f37b2f29b54d6dc06

impl Serialize for Place, and add it back to Tweet

view details

QuietMisdreavus

commit sha 05b0368668a7ccc198486cdcc54f5ffd262d171f

impl From<RawTwitterUser> for TwitterUser and deser via that

view details

QuietMisdreavus

commit sha 8427124003955689671c35d2dd06528584c89bc1

impl Serialize for TwitterUser via round_trip! macro

view details

QuietMisdreavus

commit sha d5c2f457e3d2390495700ffcaf9b896a799f565b

add docs to round_trip!

view details

QuietMisdreavus

commit sha e6c34d11a62feb6affa5bfa3229799597134d71f

refactor: turn deserialize_datetime into a serde_datetime module

view details

QuietMisdreavus

commit sha 829ea476f83e108959c4538b5c13ee84d689a3f6

refactor: replace Display/FromStr-based ser/deser with module

view details

QuietMisdreavus

commit sha 98fd442aaeb51b6a2185151f17c33937bef5d717

update `common` module docs

view details

QuietMisdreavus

commit sha d76d34846c87f4f18b5c0148888aa1d031422c07

add error-reporting mechanisms for round_trip! deserialization

view details

QuietMisdreavus

commit sha 22370d1778569a8d074677744d97bf69c6a8e0c9

update changelog

view details

QuietMisdreavus

commit sha de328c9d0a455bde1c756a31133670ba41562147

add roundtrip deserialization tests

view details

Bryan Hitchcock

commit sha d969125482aef4d5ecad108ae398fe98980d384b

Update README to reflect library changes Some function calls are missing their required ::auth module prefix.

view details

QuietMisdreavus

commit sha e234d9cc7d6d9cd7d105c50f5ae4c0516d57d178

review nits

view details

QuietMisdreavus

commit sha e6ed602b421f37207e30b7e527dd7e9c587d3f48

refactor: combine (de)serialize_bounding_box into a module

view details

QuietMisdreavus

commit sha cbc9e5f30680b63772c61560203cfa08bfa25d5c

refactor: combine round-trip deser error message functions into a trait

view details

QuietMisdreavus

commit sha 71a767cadf080d3ed3172538c6acc038120f79b2

Merge pull request #103 from bryanhitc/bryanhitc/update-readme Update README to reflect library changes

view details

QuietMisdreavus

commit sha cad008b8cf37859925e7ff8bf25afc60fb22f2d8

Merge pull request #99 from egg-mode-rs/ser impl Serialize for Tweet/TwitterUser

view details

QuietMisdreavus

commit sha 4203b5b6908f6049df4e91d7aa5ef070f3020ae7

start welcome messages module

view details

QuietMisdreavus

commit sha ada60c8c0e2224ba9a016049b2538b0dfb2684f2

refactor: move the index-translation code into MessageData

view details

push time in a month

delete branch egg-mode-rs/egg-mode

delete branch : ser

delete time in a month

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha a93f0e13a653de66309842bf2720e0e25b5eccdf

deserialize Tweet via TryFrom

view details

QuietMisdreavus

commit sha 1117511fe1a72201662e01923b1c6d7efcf326c9

wip: impl Serialize for Tweet via round_trip! macro the idea behind the macro is that i want the Deserialize impl to work either with the original Twitter JSON, *or* with the serialization output from the derived Serialize impl. Since i can't attempt an automatic serialization directly into Tweet as-is (it would try to read it as Twitter's JSON) i decided to make a copy of the struct definition and provide a transparent From impl for easy conversion. combine this with an enum labeled with `#[serde(untagged)]` and serde will do the "try either of these" logic for me! i had to leave out Place and User because they had complicated serialization logic that i wanted to parcel out to other commits (and in User's case, since it also contains a Tweet, i would have to apply Serialize to both of them at the same time for it to "fully" work).

view details

QuietMisdreavus

commit sha 02e209753445a92f970d988f37b2f29b54d6dc06

impl Serialize for Place, and add it back to Tweet

view details

QuietMisdreavus

commit sha 05b0368668a7ccc198486cdcc54f5ffd262d171f

impl From<RawTwitterUser> for TwitterUser and deser via that

view details

QuietMisdreavus

commit sha 8427124003955689671c35d2dd06528584c89bc1

impl Serialize for TwitterUser via round_trip! macro

view details

QuietMisdreavus

commit sha d5c2f457e3d2390495700ffcaf9b896a799f565b

add docs to round_trip!

view details

QuietMisdreavus

commit sha e6c34d11a62feb6affa5bfa3229799597134d71f

refactor: turn deserialize_datetime into a serde_datetime module

view details

QuietMisdreavus

commit sha 829ea476f83e108959c4538b5c13ee84d689a3f6

refactor: replace Display/FromStr-based ser/deser with module

view details

QuietMisdreavus

commit sha 98fd442aaeb51b6a2185151f17c33937bef5d717

update `common` module docs

view details

QuietMisdreavus

commit sha d76d34846c87f4f18b5c0148888aa1d031422c07

add error-reporting mechanisms for round_trip! deserialization

view details

QuietMisdreavus

commit sha 22370d1778569a8d074677744d97bf69c6a8e0c9

update changelog

view details

QuietMisdreavus

commit sha de328c9d0a455bde1c756a31133670ba41562147

add roundtrip deserialization tests

view details

QuietMisdreavus

commit sha e234d9cc7d6d9cd7d105c50f5ae4c0516d57d178

review nits

view details

QuietMisdreavus

commit sha e6ed602b421f37207e30b7e527dd7e9c587d3f48

refactor: combine (de)serialize_bounding_box into a module

view details

QuietMisdreavus

commit sha cbc9e5f30680b63772c61560203cfa08bfa25d5c

refactor: combine round-trip deser error message functions into a trait

view details

QuietMisdreavus

commit sha cad008b8cf37859925e7ff8bf25afc60fb22f2d8

Merge pull request #99 from egg-mode-rs/ser impl Serialize for Tweet/TwitterUser

view details

push time in a month

PR merged egg-mode-rs/egg-mode

impl Serialize for Tweet/TwitterUser

Closes #90

This PR adds a Serialize impl for various types in the library, most notably Tweet and TwitterUser. Since those types have existing Deserialize impls that load via a "raw" type that mirrors Twitter's JSON representation, i needed to introduce a new mechanism to allow loading via either Twitter's JSON or egg-mode's.

The way i did this for this PR was to introduce a new round_trip! macro that wrapped the structs and added some new items used internally by the macro:

  • SerCopy, a field-for-field copy of the given type,
  • SerEnum, an enum which can either be the "raw" type or SerCopy,
  • and a couple derived Deserialize implementations that leverage the #[serde(untagged)] attribute to drive the deserialization.

One major drawback with this approach is that if the "raw" type gets out-of-sync with Twitter's representation, the only error message you see is "data did not match any variant of untagged enum SerEnum", instead of knowing which field is missing. On the other hand, doing it this way means that there is no overhead of doing the deserialization manually (anyone remember the original FromJson impls?) or loading the whole response into a serde_json::Value first. I'm posting this provisionally to see if this suits people's purposes, and to ask whether this should wrap other public types in egg-mode.

+6358 -421

1 comment

14 changed files

QuietMisdreavus

pr closed time in a month

issue closedegg-mode-rs/egg-mode

Serialize for Tweet?

It seems for Tweet only Deserialize is implemented and not Serialize https://github.com/egg-mode-rs/egg-mode/blob/master/src/tweet/mod.rs#L236

closed time in a month

PSeitz

pull request commentegg-mode-rs/egg-mode

Add missing Send bounds for CursorIter.

I'd like to add a changelog entry for this PR. Would you like to be credited?

hdevalence

comment created time in a month

push eventegg-mode-rs/egg-mode

Bryan Hitchcock

commit sha d969125482aef4d5ecad108ae398fe98980d384b

Update README to reflect library changes Some function calls are missing their required ::auth module prefix.

view details

QuietMisdreavus

commit sha 71a767cadf080d3ed3172538c6acc038120f79b2

Merge pull request #103 from bryanhitc/bryanhitc/update-readme Update README to reflect library changes

view details

push time in a month

PR merged egg-mode-rs/egg-mode

Update README to reflect library changes

Some function calls are missing their required ::auth module prefix.

Great library, by the way! I'm new to Rust, so playing around with it has been a great way for me to learn the language.

+3 -3

1 comment

1 changed file

bryanhitc

pr closed time in a month

pull request commentegg-mode-rs/egg-mode

Update README to reflect library changes

Nice catch, thanks so much!

bryanhitc

comment created time in a month

push eventegg-mode-rs/egg-mode

QuietMisdreavus

commit sha e234d9cc7d6d9cd7d105c50f5ae4c0516d57d178

review nits

view details

QuietMisdreavus

commit sha e6ed602b421f37207e30b7e527dd7e9c587d3f48

refactor: combine (de)serialize_bounding_box into a module

view details

QuietMisdreavus

commit sha cbc9e5f30680b63772c61560203cfa08bfa25d5c

refactor: combine round-trip deser error message functions into a trait

view details

push time in a month

Pull request review commentegg-mode-rs/egg-mode

impl Serialize for Tweet/TwitterUser

 where             serde_json::from_value::<Vec<(f64, f64)>>(inner_arr).map_err(|e| D::Error::custom(e))         }) }++fn serialize_bounding_box<S>(src: &Vec<(f64, f64)>, ser: S) -> Result<S::Ok, S::Error>

nit: should this combine (de)serialize_bounding_box into a single serialize module so you can combine the serde attributes into a single #[serde(with)]? probably, yeah

QuietMisdreavus

comment created time in a month

Pull request review commentegg-mode-rs/egg-mode

impl Serialize for Tweet/TwitterUser

 use crate::{place, user}; use chrono; use serde::Deserialize; +use crate::common::{serde_datetime};

should probably trim the brackets here

QuietMisdreavus

comment created time in a month

Pull request review commentegg-mode-rs/egg-mode

impl Serialize for Tweet/TwitterUser

 where     } } -pub fn deserialize_datetime<'de, D>(ser: D) -> Result<chrono::DateTime<chrono::Utc>, D::Error>-where-    D: Deserializer<'de>,-{-    let s = String::deserialize(ser)?;-    let date = (chrono::Utc)-        .datetime_from_str(&s, "%a %b %d %T %z %Y")-        .map_err(|e| D::Error::custom(e))?;-    Ok(date)-}+pub mod serde_datetime {+    use serde::{Serializer, Deserialize, Deserializer};+    use serde::de::Error;+    use chrono::TimeZone;++    pub fn deserialize<'de, D>(ser: D) -> Result<chrono::DateTime<chrono::Utc>, D::Error>+    where+        D: Deserializer<'de>,+    {+        let s = String::deserialize(ser)?;+        let date = (chrono::Utc)+            .datetime_from_str(&s, "%a %b %d %T %z %Y")+            .map_err(|e| D::Error::custom(e))?;+        Ok(date)+    } -pub fn deserialize_mime<'de, D>(ser: D) -> Result<mime::Mime, D::Error>-where-    D: Deserializer<'de>,-{-    let str = String::deserialize(ser)?;-    str.parse().map_err(|e| D::Error::custom(e))+    pub fn serialize<S>(src: &chrono::DateTime<chrono::Utc>, ser: S) -> Result<S::Ok, S::Error>+    where+        S: Serializer,+    {+        ser.collect_str(&src.format("%a %b %d %T %z %Y"))

tiny nit: might as well combine this date format string into a const

QuietMisdreavus

comment created time in a month

push eventQuietMisdreavus/dotfiles

QuietMisdreavus

commit sha d4a65d97802d61b88ab38ab3d835449cc46b54e8

change default stack template

view details

push time in a month

create barnchQuietMisdreavus/stack-templates

branch : master

created branch time in a month

created repositoryQuietMisdreavus/stack-templates

created time in a month

more