core: Option to bypass SMTP relay server

0 votes

Vote

Raised 0% of 96 credits
(96 credits = 16 hours or $677.85)

E-mail is implemented in a complicated way, more complicated and error prone than it needs to be for our situation.

A mail client connects to an SMTP relay server (smarthost), and the message goes into that server's queue - and that server then connects to the recipient's SMTP server (or another relay,…

Suggested by Chris Graham on 7th November 2019

core_webstandards: Proper regexp parsing

0 votes

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $42.37)

We parse regexp's with the assumption that any '/' that is not escaped closes the regexp.

This seems like a reasonable assumption, but is not true within character class definitions (square brackets).

Currently we just enforce that even within character classes, slashes must be escaped.

Ideally th…

Suggested by Chris Graham on 29th October 2019

core_webstandards: Further JS validation

0 votes

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $169.46)

I think currently for Composr internal validation we are not doing API checks, otherwise it'd be failing because there are a lot of JS core functions available since the JS validation code was written.

Ideally we'd rebase the JS API to what is in our minimum IE/Edge version, and re-enable.

Suggested by Chris Graham on 29th October 2019

core_webstandards: Further CSS validation

0 votes

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $169.46)

We do a pretty good job of validating CSS, but there's always more to do.

Here's some things that are just pass-through in the validator, but could be properly validated:
- @font-face
- @keyframes
- @namespace
- animation property (due to great complexity, lots of shorthanded properties repeated…

Suggested by Chris Graham on 22nd October 2019

core: Use emojis in email subject lines

0 votes

Vote

Raised 0% of 18 credits
(18 credits = 3 hours or $127.10)

A good way to attract attention in a crowded inbox, and to summarise an email, is to use an emoji at the start of the subject lines.

Consider an option to the mailer function that specifies what emoji to use, and a global option to decide if the feature is on or not.

Suggested by Chris Graham on 9th October 2019

core: Brute-force login attempt protection

1 vote

Vote

Raised 0% of 24 credits
(24 credits = 4 hours or $169.46)

Add options to protect against brute-force login attempts.

1) Maximum login frequency by IP address
2) Maximum login frequency (global)

The format would be...

[<num>/<seconds>[,]]*

e.g. 3/10,7/60,20/3600,30/86400

This means "Max 3 attempts within last 10 seconds, Max 7 attempts within last…

Suggested by Chris Graham on 1st October 2019

import: Consistent fast resume support

0 votes

Vote

Raised 0% of 12 credits
(12 credits = 2 hours or $84.73)

I made some import optimisations as a part of this commit:
https://github.com/ocproducts/composr/commit/fbbbb5d9fabfed72bebbf934aaa7c9a8ea37c389

It allows it to not have to scan through everything to see if already done at the start of a resume.

This should ideally be implemented consistently across…

Suggested by Chris Graham on 3rd September 2019

core_zone_editor: Merge "Structure > Zones" and "Structure > Block/panel layout"

0 votes

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $42.37)

These used to lead to different drop-down lists, to select which zone to proceed with. Upon selection, it would take you to the zone edit-form / zone editor, depending on which link you were under.

However, now we have a table of zones with an action column. We can just have the edit-form and zone edito…

Suggested by Chris Graham on 27th August 2019

core: Refactor convert_image_plus function

0 votes

Vote

Raised 0% of 6 credits
(6 credits = 1 hour or $42.37)

The convert_image_plus function chooses an output file path, decodes a string-specifier for a thumbnail size, and also wraps _convert_image (generating complex calculations). The first two actions are logically separate, and should be moved into new functions somehow.

Suggested by Chris Graham on 25th July 2019

core: Addon isolation via virtual subtrees

1 vote

Vote

Raised 0% of 600 credits
(600 credits = 100 hours or $4,236.55)

Composr installs all addons into a shared file tree.

This is good to create one maximally simple integrated system, and good for performance.

There are cases where you may instead want to keep addons apart:
1) so that they can easily be enabled/disabled
2) so that conflicting overridden files don't…

Suggested by Chris Graham on 22nd July 2019