Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tagged URLs to no longer trigger by default when no tag is identified to match against #153

Closed
caronc opened this issue Sep 26, 2019 · 3 comments
Labels
enhancement public_collaboration Share your thoughts! Is this a good idea? What would you do differently?

Comments

@caronc
Copy link
Owner

caronc commented Sep 26, 2019

🪲 Describe the Enhancement
Make it so tag(s) assigned to an (Apprise) URL exclusively become locked to it. As a result: no longer notify the applicable services unless the matching tags have been specified.

By default if no tags are associated on the CLI (or within API): All of the services are notified. After this change, this would no longer be the case.

  • Only tagged URLs will be notified when the tag is specified.
  • URLs that contain no tags will still be notified under default circumstances (where no tag is also specified).
  • URLs that contain no tags will not be notified if a tag is specified. This is already the state the system operates in today. This point is to just note that this part will remain as is.

💡 Additional thoughts/ideas
To still allow backwards compatibility and have the ability to notify everything (even those with tags):

  1. (optional idea) Introduce a default reserved tag name such as all that when specified matches against all URLs regardless of their other defined tags. These would also match against URLs that have no tags assigned to them.
  2. (optional idea) Introduce a means (via the CLI) of listing which notification servers match a tag (without actually notifying them).
    • The matched URLs should substitute sensitive information (such as the apikey, tokens, passwords, etc) with a series of asterisks (*) before displaying the matched URL to the screen.

💡 Concerns
This is a bit of a breaking feature; as those adjusted to the current way things operate WILL be impacted by this change. Changes to be stretched over a release or two giving users ample time to adjust. This will involve:

  • Sticking deprecation warnings on services notified that contain tags but were notified because no tags were identified.
@caronc caronc added enhancement public_collaboration Share your thoughts! Is this a good idea? What would you do differently? labels Sep 26, 2019
@caronc caronc changed the title Tagged URLs to no longer display by default when no tag was identified to match against Tagged URLs to no longer trigger by default when no tag was identified to match against Sep 26, 2019
@caronc caronc changed the title Tagged URLs to no longer trigger by default when no tag was identified to match against Tagged URLs to no longer trigger by default when no tag is identified to match against Sep 26, 2019
@dkozinn
Copy link
Collaborator

dkozinn commented Sep 26, 2019

I like both of the optional ideas, particularly #2 which beats getting piles of notifications while testing. For some service which use a pay-per-alert model, this could be extremely valuable.

@caronc caronc mentioned this issue Sep 27, 2019
8 tasks
@caronc
Copy link
Owner Author

caronc commented Sep 28, 2019

I've implemented all of the above (including optional stuff) except:

The matched URLs should substitute sensitive information (such as the apikey, tokens, passwords, etc) with a series of asterisks (*) before displaying the matched URL to the screen.

As of now, if you use the new --dry-run (or -d) switch I added, it prints the full URL (with private tokens and/or passwords exposed). This is a rather big task to fix as I need to update all 48+ notifications to include some kind of privacy guard on the url() call. As a result, I think I'm going to accomplish this task in another pull request.

Sticking deprecation warnings on services notified that contain tags but were notified because no tags were identified.

This isn't as intuitive or easy to do as it is write in this ticket. 😉 . I strongly believe Apprise should have lead with this functionality from day 1. I'm not sure how many people are tagging their URLs and then calling the Apprise CLI without referencing the tags they just set. I'm going to assume that while this is kind of a breaking change; it shouldn't hit that large of a population...(famous last words)... but I'm choosing not to do the deprecation changes.

@caronc
Copy link
Owner Author

caronc commented Sep 30, 2019

Issue has been addressed; closing

@caronc caronc closed this as completed Sep 30, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement public_collaboration Share your thoughts! Is this a good idea? What would you do differently?
Projects
None yet
Development

No branches or pull requests

2 participants