Giter Site home page Giter Site logo

podstash's People

Watchers

 avatar  avatar

podstash's Issues

Get rid of node warnings

Get rid of the following errors on startup:

(node:4403) [DEP0091] DeprecationWarning: crypto.DEFAULT_ENCODING is deprecated.
(node:4403) [DEP0010] DeprecationWarning: crypto.createCredentials is deprecated. Use tls.createSecureContext instead.
(node:4403) [DEP0011] DeprecationWarning: crypto.Credentials is deprecated. Use tls.SecureContext instead.
(node:4403) ExperimentalWarning: The fs.promises API is experimental

Detect multiple concurrent instances

Right now there is the possibility of a race if a user attempts to manually update an archive and a cron instance also becomes active.

A lock file with the pid of the current instance should solve this.

Cleanup mustache templates

The following things should be done to clean up the current HTML templates:

  • Remove readFileSync calls.

    The promise variants of the fs methods cannot be used because nexe does not hook them to read bundled resources. Instead we should use the readFile and manually promise wrap it.

  • Allow reading templates from the archive directory.

    Right now templates are bundled into the binary. This is OK, but it would be nicer if the user could also provide their own templates. These can be stored in a directory under the archive directory.

Only keep unique RSS snapshots

Right now a new snapshot of the RSS feed is saved every time podstash updates. This is fine but will slow things down over time as the number of snapshot'ed feeds grows.

This can be mitigated by only keeping unique snapshots.

Can't seem to install via npm install -g podstash on Debian 10.

I'm really excited about this project because it allows me to continue to use my old Pod touch indefinitely (https issues with new keys), as well as speeds up my download times significantly since I can cache locally. It looks like a very well written program that does exactly what I want.

However, I can't get this to install via npm on Debian 10.

I just get this at the prompt:

steve@colossus:~$ sudo npm install -g podstash
[sudo] password for steve: 
npm WARN npm npm does not support Node.js v10.24.0
npm WARN npm You should probably upgrade to a newer version of node as we
npm WARN npm can't make any promises that npm will work with this version.
npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
npm WARN npm You can find the latest version at https://nodejs.org/
npm WARN deprecated [email protected]: request has been deprecated, see https://github.com/request/request/issues/3142
npm WARN deprecated [email protected]: request-promise-native has been deprecated because it extends the now deprecated request package, see https://github.com/request/request/issues/3142
npm WARN deprecated har-
[podstash.log](https://github.com/fimad/podstash/files/11069684/podstash.log)
[email protected]: this library is no longer supported
npm WARN deprecated [email protected]: Please upgrade  to version 7 or higher.  Older versions may use Math.random() in certain circumstances, which is known to be problematic.  See https://v8.dev/blog/math-random for details.
npm ERR! path /usr/local/lib/node_modules/podstash/dist/podstash
npm ERR! code ENOENT
npm ERR! errno -2
npm ERR! syscall chmod
npm ERR! enoent ENOENT: no such file or directory, chmod '/usr/local/lib/node_modules/podstash/dist/podstash'
npm ERR! enoent This is related to npm not being able to find a file.
npm ERR! enoent 

npm ERR! A complete log of this run can be found in:
npm ERR!     /root/.npm/_logs/2023-03-25T17_43_57_554Z-debug.log

I'm a developer, but I'm not really familiar with typescript or nodejs or even npm, so I don't really know how to move forward.

I don't know if this is a bug in the current built/deploy process, or just a missing dependency on my end. debug log attached. I cloned the repo as well, but can't seem to get it to build via yarn. yarn build seems to complain about no such file or directory build. I don't know anything about yarn, so I'm again stuck.

Any help in the right direction is appreciated.

Render descriptions in HTML

Right now the descriptions are HTML escaped before rendering which looks bad.

The following things need to happen to support rendering descriptions as HTML content:

  • Locally cache image assets.

    Some podcasts have a lot of episodes that embed images. Loading the feed page for these podcasts hits their cdn with a lot of requests and gets the user rate limited.

    Also it would be good from an archival perspective.

  • Properly decode text nodes from the feed.

    To support this CDATA must be distinguished from other types of nodes. CDATA does not need to be escaped but plan text nodes do.

  • Decide if we should attempt to protect against XSS.

    Directly rendering HTML from the RSS feed into the feed page is a giant security hole. Either we should accept this and move on or try and sanitize the HTML so that only certain tags are allowed with certain attributes?

Create resized versions of images

Most podcasts seem to use huge cover art. This is nice for the feed page but is probably overkill for the index page which lists all podcasts.

Title is missing from Channel

I noticed the Title element is missing from the generated feed.xml. This is important to podcast apps, as this is what it (often? always? sometimes?) uses to describe as the title for the channel when it subscribes.

Science Friday rss:
https://feeds.simplecast.com/h18ZIZD_

<title>Science Friday</title>

The graphical logo elements are missing as well, though this is less critical IMHO.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.