Live Topic Timer

This theme component changes the default timed topic timer to a live countdown timer.


Repository Link

https://github.com/paviliondev/live-topic-timer


  • The rerender time can be changed in the component settings according to your use case.

  • The time displayed by the timer can be format in multiple ways from the theme component setting whose documentation can be found here.

To do

  • Display the timer on the header next to the topic title.
    I’m looking for specific UI/UX suggestions for how to implement a header timer, in the context of Discourse, with a view to crowd-funding the development costs if there’s enough interest (@darhazer @tobiaseigen)

Installation

26 Likes

This doesn’t work since a few days. Can you look at it?

1 Like

Yes, I’m aware of the fact that some of the code I overrode is changed in core discourse. I’ll take a look at this around mid next week.

cc @angus, @Ellibereth, @darhazer

4 Likes

https://github.com/paviliondev/live-topic-timer/commit/d82e717cd54f15900e4f5b9cd0bb80304a9b7078

Just pushed an update to the component to fix compatibility with latest discourse.

7 Likes

can this be set on specific categories? i could see this being very useful in combination with the voting plugin.

1 Like

Currently, it works for all timed topics. @ninjapenguin if you’re are willing to fund the development of this feature, I’ll be happy to add the category specific feature for the component.

In any case, you can join the discussion related to the component here.

1 Like

i don’t think we need it enough. more a ‘nice to have’ in our use case than a core feature we’d use often. it looks great though, well done.

1 Like

This theme component is breaking the topic timers interface, unfortunately. Number of days seems to turn into number of seconds, and the blue bar containing the “Replies on this topic are automatically deleted after …” has no next. It then becomes impossible to remove timer. Deleting this theme component made it work again.

Screen Shot 2020-05-07 at 11.12.32 AM

2 Likes

It needs to be dusted again. I’ll come to this one in the next week. Thanks for reporting. Makes a strong case for bookmark reminders for me.

2 Likes

Bug with this theme.

1 Like

I’ve been meaning to come to this for some time. I’ll take a look on friday.

1 Like

I can repro this. Sorry for not coming to this earlier.

The theme component was never tested with timers other than the close topic timer, as it was built for that timer, but the name suggests that it should work for all sorts of topic timers.

Also, it shouldn’t have affected any other default functionality atleast. I’m working on fixing this and will get back with a solution soon.

This was my first piece of client work on discourse. Brings back old memories.

p.s.

I’ve made a PR to the core Topic Timer to make it extensible for plugin/theme devs. Overriding the monolith method can be quite prone to breakage.

https://github.com/discourse/discourse/pull/12519
cc @martin

4 Likes

Thanks for the fix, I merged it into core now :+1:

2 Likes

Slightly off topic, but worth noting for the future:

DEV: prefix means this is a dev related refactor, we do not need anything in the release notes.

FIX: means bug fix which we want to possibly call out in the release notes

FEATURE: means new feature (or feature removal) which we want to possibly call out in the release notes

IMPR: is a bit odd, we do not use that prefix anywhere…

4 Likes

Its bad memory from my side. I wrongly remember a post by Jeff which explain these terms but I can imagine IMPR not being one of them. I’ll keep that in mind.

2 Likes

The good news is, the code is now more extensible and maintainable from a dev standpoint after the merge. I’ll try and fix the component in the coming week.

Thanks @sam for the tip and @martin for the merge.

2 Likes

This should be resolved if you update the theme component and discourse both to latest tests-passed.

Moreover, it should now support all the other timers too. Happy to fix any issues if they arise.