Closed Keyrxng closed 1 hour ago
I suppose it could be interesting to "subscribe" to the "class name" of the metadata that is embedded in the bot comments. That way when we roll out new capabilities or "events" we can easily subscribe without having to update the Telegram related code?
Sounds good but there is more to consider
The bot doesn't know the classnames or have associated text to use per that reminder.
They can be configurable along with the classnames passed via the config as a single object. Or a standardized notification template can be used
Some notifications are based on webhook events as opposed to comment parsing, so comment-based ones could be automated like your suggesting
I think the four I've done cover everything that we need right now but if you think of more reasons you want a DM from the bot I can write a spec for it.
Since we do not have stable comment metadata or a parser yet, building this feature should be a separate task.
Telegram user should tell the bot the class name. Unfortunately we would need to uncover the metadata in the comment source code, or plugin source code to know. However this is useful in the short-to-mid term as we are in active development across multiple plugins.
The metadata setter and getter is standardized and was added to the SDK from what I was told. The class names are up to the discretion of the plugin developer but over time we should see this coalesce per plugin.
Telegram user should tell the bot the class name
Are you suggesting I as a plugin developer should say /subscribe myPluginHeader
and that's me subscribed to it's comment postings and it should feed me the entire structuredMetadata
object that logged? And contributors would say /subscribe payment
?
This is how things are presented right now. I think this is nice UX for contributors that aren't knees deep in the weeds creating plugins, to have an option like this vs arbitrary strings to subscribe without a DB or list of all supported headers to confirm if it's valid or not.
The metadata setter and getter is standardized and was added to the SDK from what I was told. The class names are up to the discretion of the plugin developer but over time we should see this coalesce per plugin.
Oh cool I didn't know it was good to go. I'll open a task and completely re-do the issues_comment.created
handler inline with your suggestion of parsing every bot comment for dynamically for a header and treating every header as a notification to be sent. It'll require quite a bit of thought and work.
! No price label has been set. Skipping permit generation.
Can this be priced, assigned and reward generated for me when you have the chance please? Cheers.
QA of feature working and installed: https://github.com/ubiquity-os-marketplace/ubiquity-os-kernel-telegram/pull/23#issuecomment-2445378482
! chat_not_found
! chat_not_found
@0x4007 What should the behaviour be for creating a room on reopen
?
View | Contribution | Count | Reward |
---|---|---|---|
Issue | Comment | 2 | 5.7745 |
Review | Comment | 35 | 16.033 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
I suppose it could be interesting to "subscribe" to the "class n… | 2.49content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 44 wordValue: 0.1 result: 2.49 | 0.8 | 1.992 |
Telegram user should tell the bot the class name. Unfortunately … | 4.45content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 87 wordValue: 0.1 result: 4.45 | 0.85 | 3.7825 |
Why did you remove this? | 0.39content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0.1 result: 0.39 | 0.2 | 0.078 |
```suggestion"dev": "tsc-watch --onSuccess 'tsx… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.5 | 0 |
```suggestiondbObject.session = null;&… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.7 | 0 |
I wonder if it is a better idea to do git storage on another bra… | 2.1content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 36 wordValue: 0.1 result: 2.1 | 0.8 | 1.68 |
What is bank | 0.25content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 3 wordValue: 0.1 result: 0.25 | 0.2 | 0.05 |
```suggestionTELEGRAM_API_HASH: null,``… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.4 | 0 |
```suggestionTELEGRAM_BOT_TOKEN: null,` … | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.4 | 0 |
You know empty strings are forbidden I'm not going to change all… | 0.94content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 14 wordValue: 0.1 result: 0.94 | 0.3 | 0.282 |
Run formatter | 0.18content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0.1 result: 0.18 | 0.2 | 0.036 |
Run formatter | 0.18content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0.1 result: 0.18 | 0.2 | 0.036 |
This seems brittle can't we read from database?I see you later … | 1.7content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 28 wordValue: 0.1 result: 1.7 | 0.6 | 1.02 |
Consider breaking up into several files as it's quite long. | 0.77content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0.1 result: 0.77 | 0.8 | 0.616 |
```suggestion} catch (error) {``` | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.5 | 0 |
```suggestionreturn ctx.reply(`Failed to s… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.5 | 0 |
Why as AppOctokit? | 0.25content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 3 wordValue: 0.1 result: 0.25 | 0.1 | 0.025 |
It may be more concise to do this:```private _su… | 0.65content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.3 | 0.195 |
Empty string always seems wrong. | 0.39content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0.1 result: 0.39 | 0.3 | 0.117 |
Seems dangerous to force this casting. | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.4 | 0.184 |
Why did you break this rule? | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.1 | 0.046 |
Surprised cspell isn't complaining. Consider setWebhook etc | 0.59content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 8 wordValue: 0.1 result: 0.59 | 0.3 | 0.177 |
I suppose this pull won't handle my request on it being dictated… | 1.06content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 16 wordValue: 0.1 result: 1.06 | 0.2 | 0.212 |
Service key is new lingo. Shouldn't it just be `SUPABASE_KEY… | 0.71content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 10 wordValue: 0.1 result: 0.71 | 0.6 | 0.426 |
What do you mean? The only exceptions I can think of are exter… | 1.22content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 19 wordValue: 0.1 result: 1.22 | 0.4 | 0.488 |
Im pretty sure my suggestion is valid to init it as undefined bu… | 1.11content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0.1 result: 1.11 | 0.4 | 0.444 |
Empty string is truthy doesnt seem right to ever pass an empty s… | 1.11content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0.1 result: 1.11 | 0.2 | 0.222 |
I think it makes sense to retain what you did and then change ou… | 1.49content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 24 wordValue: 0.1 result: 1.49 | 0.4 | 0.596 |
That doesnt answer my question. Call it restOctokit maybe | 0.65content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.1 | 0.065 |
You dont need to explicitly type uninitialized variables as unde… | 0.83content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 12 wordValue: 0.1 result: 0.83 | 0.2 | 0.166 |
You're admin now | 0.32content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 4 wordValue: 0.1 result: 0.32 | 0.1 | 0.032 |
We can use your app until it's tested and stable then we can mak… | 5.64content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 115 wordValue: 0.1 result: 5.64 | 0.9 | 5.076 |
Different task is fine for global storage | 0.52content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 7 wordValue: 0.1 result: 0.52 | 0.3 | 0.156 |
The name of the plugin should match the repo name. Also it shoul… | 4.8content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 95 wordValue: 0.1 result: 4.8 | 0.5 | 2.4 |
https://github.com/ubiquity-os-storage/.ubiquity-os/blob/__STORA… | 1.28content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 20 wordValue: 0.1 result: 1.28 | 0.2 | 0.256 |
We can make global storage private | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.4 | 0.184 |
Normally the pull should only fix a single issue but since this … | 1.28content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 20 wordValue: 0.1 result: 1.28 | 0.6 | 0.768 |
View | Contribution | Count | Reward |
---|---|---|---|
Issue | Specification | 1 | 35.64 |
Issue | Comment | 4 | 21.939 |
Review | Comment | 52 | 0 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
It was proposed that I enable UbiquityOS to be able to communica… | 11.88content: content: p: score: 0 elementCount: 15 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 7 em: score: 0 elementCount: 1 result: 3.5 regex: wordCount: 183 wordValue: 0.1 result: 8.38 | 1 | 35.64 |
Sounds good but there is more to consider- The bot doesn't kno… | 8.06content: content: p: score: 0 elementCount: 6 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 4 result: 2 regex: wordCount: 125 wordValue: 0.1 result: 6.06 | 0.8 | 6.848 |
Are you suggesting I as a plugin developer should say `/subs… | 11.83content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 144 wordValue: 0.1 result: 6.83 | 0.9 | 11.147 |
Can this be priced, assigned and reward generated for me when yo… | 2.15content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 37 wordValue: 0.1 result: 2.15 | 0.4 | 0.86 |
@0x4007 What should the behaviour be for creating a room on `… | 4.14content: content: p: score: 0 elementCount: 4 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 47 wordValue: 0.1 result: 2.64 | 0.6 | 3.084 |
Requires #2Resolves https://github.com/ubiquity-os-marketplace… | 2content: content: p: score: 0 elementCount: 8 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 4 result: 2 regex: wordCount: 58 wordValue: 0 result: 0 | 0.5 | 0 |
Easier I show you in a screenshotIt's complaining because the … | 5content: content: p: score: 0 elementCount: 3 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 35 wordValue: 0 result: 0 | 0.2 | 0 |
I thought permits were only added to the Supabase tables after i… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 87 wordValue: 0 result: 0 | 0.6 | 0 |
Yeah that might be a good ideaWhat are your thoughts on having… | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 88 wordValue: 0 result: 0 | 0.7 | 0 |
I can rename to whatever is more appropriate but it's this image… | 5content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 69 wordValue: 0 result: 0 | 0.5 | 0 |
I targeted the branch "storage" | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0 result: 0 | 0.2 | 0 |
added `walletAddress` and a basic `/wallet` comm… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0 result: 0 | 0.5 | 0 |
https://github.com/ubiquity/.github/pull/112This pull you mean?… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 48 wordValue: 0 result: 0 | 0.3 | 0 |
This obviously is not a great approach but until we have `st… | 0content: content: p: score: 0 elementCount: 4 hr: score: 0 elementCount: 1 result: 0 regex: wordCount: 132 wordValue: 0 result: 0 | 0.4 | 0 |
Decided to use snake_case for the database items because it's ea… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 29 wordValue: 0 result: 0 | 0.3 | 0 |
Because you dislike empty strings I need to type it as `null… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 61 wordValue: 0 result: 0 | 0.5 | 0 |
It needs to be an empty string if no session string exists, the … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 35 wordValue: 0 result: 0 | 0.4 | 0 |
I need to force the cast because I've had to type things as `… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 31 wordValue: 0 result: 0 | 0.5 | 0 |
can't assign to `readonly` and I assign to storage just … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0 result: 0 | 0.3 | 0 |
No the handlers for comment.created & edited will need compl… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.3 | 0 |
It's supposed to be the literal `service_key` not the … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.4 | 0 |
Yeah but we'd need to also type it as `undefined`, it's … | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 80 wordValue: 0 result: 0 | 0.3 | 0 |
that's exactly what I mean, reading SB table headers in camelCas… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 64 wordValue: 0 result: 0 | 0.5 | 0 |
Theres `octokit` and there's `@octokit/rest` whi… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 23 wordValue: 0 result: 0 | 0.3 | 0 |
I can do it with the supabase prop no problem, sorry if not clea… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0 result: 0 | 0.4 | 0 |
```tsimport { TelegramClient } from "telegram";&… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 60 wordValue: 0 result: 0 | 0.3 | 0 |
normally we go `new Octokit({auth:"key"})`.to get appO… | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 50 wordValue: 0 result: 0 | 0.4 | 0 |
That's true but TypeBox is the controller of the type for contex… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 98 wordValue: 0 result: 0 | 0.5 | 0 |
This key is embedded inside a json string for this plugin so it … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 43 wordValue: 0 result: 0 | 0.6 | 0 |
62ac576 - resolvedImplicit `undefined` by not defining… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 31 wordValue: 0 result: 0 | 0.4 | 0 |
Changed to `RestOctokitFromApp` | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0 result: 0 | 0.4 | 0 |
Made a `StorageGetters` class that the adapter extends | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 7 wordValue: 0 result: 0 | 0.2 | 0 |
I used camelCase for all of the commands but it's not allowing u… | 5content: content: p: score: 0 elementCount: 5 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 61 wordValue: 0 result: 0 | 0.3 | 0 |
`/setwebhook` or just `/webhook` it'll have to b… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.2 | 0 |
Setup Guide:First collect all of your variables needed to fill… | 7.5content: content: p: score: 0 elementCount: 28 ul: score: 0 elementCount: 4 li: score: 0.5 elementCount: 15 hr: score: 0 elementCount: 1 result: 7.5 regex: wordCount: 328 wordValue: 0 result: 0 | 0.5 | 0 |
Workrooms QA:https://github.com/ubq-testing/telegram--bot/issu… | 10content: content: p: score: 0 elementCount: 12 img: score: 5 elementCount: 2 hr: score: 0 elementCount: 1 result: 10 regex: wordCount: 152 wordValue: 0 result: 0 | 0.6 | 0 |
I just had a thought. Admin privileges can be granted on a per … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 47 wordValue: 0 result: 0 | 0.3 | 0 |
Ty, I've just wound down but I'll get it up first thing | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 14 wordValue: 0 result: 0 | 0.4 | 0 |
E2E QA includes all features minus the DM itself although that w… | 15content: content: p: score: 0 elementCount: 18 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 10 a: score: 5 elementCount: 2 hr: score: 0 elementCount: 3 result: 15 regex: wordCount: 346 wordValue: 0 result: 0 | 0.6 | 0 |
Yeah that's what's happening right nowThe [manifest](https://g… | 6.5content: content: p: score: 0 elementCount: 9 a: score: 5 elementCount: 1 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 6.5 regex: wordCount: 261 wordValue: 0 result: 0 | 0.3 | 0 |
This plugin lives in the org `ubiquity-os-marketplace` a… | 1content: content: p: score: 0 elementCount: 7 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 2 result: 1 regex: wordCount: 175 wordValue: 0 result: 0 | 0.5 | 0 |
I've made a request to the `ubiquity` org to install my … | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 73 wordValue: 0 result: 0 | 0.4 | 0 |
Should we probably still merge #2 so reviewers can be rewarded f… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 35 wordValue: 0 result: 0 | 0.4 | 0 |
Once the storage app is installed it can be deployed.Some mino… | 10content: content: p: score: 0 elementCount: 5 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 45 wordValue: 0 result: 0 | 0.5 | 0 |
So this plugin' data will be saved to:`ubiquity-os/ubiquib… | 1content: content: p: score: 0 elementCount: 8 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 2 result: 1 regex: wordCount: 175 wordValue: 0 result: 0 | 0.5 | 0 |
I saw your dm regarding this and I'm not certain what was causin… | 0content: content: p: score: 0 elementCount: 2 hr: score: 0 elementCount: 1 result: 0 regex: wordCount: 84 wordValue: 0 result: 0 | 0.3 | 0 |
This requires that we install the storage layer app into an org.… | 5content: content: p: score: 0 elementCount: 2 a: score: 5 elementCount: 1 result: 5 regex: wordCount: 74 wordValue: 0 result: 0 | 0.4 | 0 |
It's a single permission GH app. Select `Contents` on re… | 5content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 95 wordValue: 0 result: 0 | 0.4 | 0 |
https://github.com/ubq-testing/telegram--bot/actions/runs/114471… | 5content: content: p: score: 0 elementCount: 7 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 121 wordValue: 0 result: 0 | 0.3 | 0 |
I see a single JSON but I felt we had agreed to use multiple for… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 70 wordValue: 0 result: 0 | 0.5 | 0 |
Also this PR does not have a task associated with it, I'd apprec… | 1content: content: p: score: 0 elementCount: 5 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 2 hr: score: 0 elementCount: 1 result: 1 regex: wordCount: 114 wordValue: 0 result: 0 | 0.6 | 0 |
I'll just disable the GitHub storage layer for now and continue … | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 27 wordValue: 0 result: 0 | 0.4 | 0 |
Moving this forward rn and just realised1. `development … | 1.5content: content: p: score: 0 elementCount: 4 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 85 wordValue: 0 result: 0 | 0.4 | 0 |
SB returned, GitHub Storage temp disabled. Storage-App is still … | 10content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 61 wordValue: 0 result: 0 | 0.4 | 0 |
https://github.com/ubq-testing/telegram--bot/actions/runs/115350… | 10content: content: p: score: 0 elementCount: 6 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 55 wordValue: 0 result: 0 | 0.7 | 0 |
Okay this can be merged into production and I can address settin… | 0content: content: p: score: 0 elementCount: 3 result: 0 regex: wordCount: 138 wordValue: 0 result: 0 | 0.6 | 0 |
Left it a bit for any other reviews. Going to install this now.… | 1.5content: content: p: score: 0 elementCount: 5 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 93 wordValue: 0 result: 0 | 0.5 | 0 |
View | Contribution | Count | Reward |
---|---|---|---|
Review | Comment | 5 | 6.785 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
The permit storage thing has actually been broken for months as … | 2.78content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 50 wordValue: 0.1 result: 2.78 | 0.8 | 2.224 |
To avoid loading everything into memory and avoid heavy operatio… | 1.75content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 29 wordValue: 0.1 result: 1.75 | 0.9 | 1.575 |
@Keyrxng I noticed that v1 would create a room every time a pric… | 3.75content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 71 wordValue: 0.1 result: 3.75 | 0.7 | 2.625 |
If merging makes it easier let's merge, whatever goes faster. | 0.77content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0.1 result: 0.77 | 0.3 | 0.231 |
@Keyrxng Is the app codebase within this organization somewhere? | 0.65content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.2 | 0.13 |
! chat_not_found
@0x4007 What should the behaviour be for creating a room on
reopen
?
We create a workroom if it doesn't exist
We do nothing
We check if there is a linked merged PR and try to determine if it's redundant opening a workroom and handle it dynamically?
It shouldn't do anything. We just scroll up to rejoin if we need to.
! chat_not_found
@Keyrxng the deadline is at Wed, Nov 6, 4:35 PM UTC
View | Contribution | Count | Reward |
---|---|---|---|
Issue | Task | 1 | 800 |
Issue | Specification | 1 | 35.64 |
Issue | Comment | 4 | 20.865 |
Review | Comment | 52 | 0 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
It was proposed that I enable UbiquityOS to be able to communica… | 11.88content: content: p: score: 0 elementCount: 15 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 7 em: score: 0 elementCount: 1 result: 3.5 regex: wordCount: 183 wordValue: 0.1 result: 8.38 | 1 | 35.64 |
Sounds good but there is more to consider- The bot doesn't kno… | 8.06content: content: p: score: 0 elementCount: 6 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 4 result: 2 regex: wordCount: 125 wordValue: 0.1 result: 6.06 | 0.7 | 6.242 |
Are you suggesting I as a plugin developer should say `/subs… | 11.83content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 144 wordValue: 0.1 result: 6.83 | 0.8 | 10.464 |
Can this be priced, assigned and reward generated for me when yo… | 2.15content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 37 wordValue: 0.1 result: 2.15 | 0.5 | 1.075 |
@0x4007 What should the behaviour be for creating a room on `… | 4.14content: content: p: score: 0 elementCount: 4 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 47 wordValue: 0.1 result: 2.64 | 0.6 | 3.084 |
Requires #2Resolves https://github.com/ubiquity-os-marketplace… | 2content: content: p: score: 0 elementCount: 8 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 4 result: 2 regex: wordCount: 58 wordValue: 0 result: 0 | 0.8 | 0 |
Easier I show you in a screenshotIt's complaining because the … | 5content: content: p: score: 0 elementCount: 3 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 35 wordValue: 0 result: 0 | 0.3 | 0 |
I thought permits were only added to the Supabase tables after i… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 87 wordValue: 0 result: 0 | 0.7 | 0 |
Yeah that might be a good ideaWhat are your thoughts on having… | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 88 wordValue: 0 result: 0 | 0.6 | 0 |
I can rename to whatever is more appropriate but it's this image… | 5content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 69 wordValue: 0 result: 0 | 0.4 | 0 |
I targeted the branch "storage" | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0 result: 0 | 0.2 | 0 |
added `walletAddress` and a basic `/wallet` comm… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0 result: 0 | 0.5 | 0 |
https://github.com/ubiquity/.github/pull/112This pull you mean?… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 48 wordValue: 0 result: 0 | 0.5 | 0 |
This obviously is not a great approach but until we have `st… | 0content: content: p: score: 0 elementCount: 4 hr: score: 0 elementCount: 1 result: 0 regex: wordCount: 132 wordValue: 0 result: 0 | 0.7 | 0 |
Decided to use snake_case for the database items because it's ea… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 29 wordValue: 0 result: 0 | 0.5 | 0 |
Because you dislike empty strings I need to type it as `null… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 61 wordValue: 0 result: 0 | 0.6 | 0 |
It needs to be an empty string if no session string exists, the … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 35 wordValue: 0 result: 0 | 0.3 | 0 |
I need to force the cast because I've had to type things as `… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 31 wordValue: 0 result: 0 | 0.4 | 0 |
can't assign to `readonly` and I assign to storage just … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0 result: 0 | 0.5 | 0 |
No the handlers for comment.created & edited will need compl… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.6 | 0 |
It's supposed to be the literal `service_key` not the … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.4 | 0 |
Yeah but we'd need to also type it as `undefined`, it's … | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 80 wordValue: 0 result: 0 | 0.5 | 0 |
that's exactly what I mean, reading SB table headers in camelCas… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 64 wordValue: 0 result: 0 | 0.2 | 0 |
Theres `octokit` and there's `@octokit/rest` whi… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 23 wordValue: 0 result: 0 | 0.1 | 0 |
I can do it with the supabase prop no problem, sorry if not clea… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0 result: 0 | 0.3 | 0 |
```tsimport { TelegramClient } from "telegram";&… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 60 wordValue: 0 result: 0 | 0.4 | 0 |
normally we go `new Octokit({auth:"key"})`.to get appO… | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 50 wordValue: 0 result: 0 | 0.3 | 0 |
That's true but TypeBox is the controller of the type for contex… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 98 wordValue: 0 result: 0 | 0.5 | 0 |
This key is embedded inside a json string for this plugin so it … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 43 wordValue: 0 result: 0 | 0.3 | 0 |
62ac576 - resolvedImplicit `undefined` by not defining… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 31 wordValue: 0 result: 0 | 0.4 | 0 |
Changed to `RestOctokitFromApp` | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0 result: 0 | 0.3 | 0 |
Made a `StorageGetters` class that the adapter extends | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 7 wordValue: 0 result: 0 | 0.4 | 0 |
I used camelCase for all of the commands but it's not allowing u… | 5content: content: p: score: 0 elementCount: 5 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 61 wordValue: 0 result: 0 | 0.3 | 0 |
`/setwebhook` or just `/webhook` it'll have to b… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 32 wordValue: 0 result: 0 | 0.2 | 0 |
Setup Guide:First collect all of your variables needed to fill… | 7.5content: content: p: score: 0 elementCount: 28 ul: score: 0 elementCount: 4 li: score: 0.5 elementCount: 15 hr: score: 0 elementCount: 1 result: 7.5 regex: wordCount: 328 wordValue: 0 result: 0 | 0.8 | 0 |
Workrooms QA:https://github.com/ubq-testing/telegram--bot/issu… | 10content: content: p: score: 0 elementCount: 12 img: score: 5 elementCount: 2 hr: score: 0 elementCount: 1 result: 10 regex: wordCount: 152 wordValue: 0 result: 0 | 0.6 | 0 |
I just had a thought. Admin privileges can be granted on a per … | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 47 wordValue: 0 result: 0 | 0.3 | 0 |
Ty, I've just wound down but I'll get it up first thing | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 14 wordValue: 0 result: 0 | 0.2 | 0 |
E2E QA includes all features minus the DM itself although that w… | 15content: content: p: score: 0 elementCount: 18 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 10 a: score: 5 elementCount: 2 hr: score: 0 elementCount: 3 result: 15 regex: wordCount: 346 wordValue: 0 result: 0 | 0.7 | 0 |
Yeah that's what's happening right nowThe [manifest](https://g… | 6.5content: content: p: score: 0 elementCount: 9 a: score: 5 elementCount: 1 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 6.5 regex: wordCount: 261 wordValue: 0 result: 0 | 0.5 | 0 |
This plugin lives in the org `ubiquity-os-marketplace` a… | 1content: content: p: score: 0 elementCount: 7 ul: score: 0 elementCount: 2 li: score: 0.5 elementCount: 2 result: 1 regex: wordCount: 175 wordValue: 0 result: 0 | 0.5 | 0 |
I've made a request to the `ubiquity` org to install my … | 0content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 73 wordValue: 0 result: 0 | 0.4 | 0 |
Should we probably still merge #2 so reviewers can be rewarded f… | 0content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 35 wordValue: 0 result: 0 | 0.5 | 0 |
Once the storage app is installed it can be deployed.Some mino… | 10content: content: p: score: 0 elementCount: 5 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 45 wordValue: 0 result: 0 | 0.6 | 0 |
So this plugin' data will be saved to:`ubiquity-os/ubiquib… | 1content: content: p: score: 0 elementCount: 8 ul: score: 0 elementCount: 1 li: score: 0.5 elementCount: 2 result: 1 regex: wordCount: 175 wordValue: 0 result: 0 | 0.7 | 0 |
I saw your dm regarding this and I'm not certain what was causin… | 0content: content: p: score: 0 elementCount: 2 hr: score: 0 elementCount: 1 result: 0 regex: wordCount: 84 wordValue: 0 result: 0 | 0.3 | 0 |
This requires that we install the storage layer app into an org.… | 5content: content: p: score: 0 elementCount: 2 a: score: 5 elementCount: 1 result: 5 regex: wordCount: 74 wordValue: 0 result: 0 | 0.4 | 0 |
It's a single permission GH app. Select `Contents` on re… | 5content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 95 wordValue: 0 result: 0 | 0.5 | 0 |
https://github.com/ubq-testing/telegram--bot/actions/runs/114471… | 5content: content: p: score: 0 elementCount: 7 img: score: 5 elementCount: 1 result: 5 regex: wordCount: 121 wordValue: 0 result: 0 | 0.6 | 0 |
I see a single JSON but I felt we had agreed to use multiple for… | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 70 wordValue: 0 result: 0 | 0.5 | 0 |
Also this PR does not have a task associated with it, I'd apprec… | 1content: content: p: score: 0 elementCount: 5 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 2 hr: score: 0 elementCount: 1 result: 1 regex: wordCount: 114 wordValue: 0 result: 0 | 0.7 | 0 |
I'll just disable the GitHub storage layer for now and continue … | 0content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 27 wordValue: 0 result: 0 | 0.4 | 0 |
Moving this forward rn and just realised1. `development … | 1.5content: content: p: score: 0 elementCount: 4 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 85 wordValue: 0 result: 0 | 0.5 | 0 |
SB returned, GitHub Storage temp disabled. Storage-App is still … | 10content: content: p: score: 0 elementCount: 4 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 61 wordValue: 0 result: 0 | 0.6 | 0 |
https://github.com/ubq-testing/telegram--bot/actions/runs/115350… | 10content: content: p: score: 0 elementCount: 6 img: score: 5 elementCount: 2 result: 10 regex: wordCount: 55 wordValue: 0 result: 0 | 0.8 | 0 |
Okay this can be merged into production and I can address settin… | 0content: content: p: score: 0 elementCount: 3 result: 0 regex: wordCount: 138 wordValue: 0 result: 0 | 0.7 | 0 |
Left it a bit for any other reviews. Going to install this now.… | 1.5content: content: p: score: 0 elementCount: 5 ol: score: 0 elementCount: 1 li: score: 0.5 elementCount: 3 result: 1.5 regex: wordCount: 93 wordValue: 0 result: 0 | 0.4 | 0 |
View | Contribution | Count | Reward |
---|---|---|---|
Issue | Comment | 3 | 5.356 |
Review | Comment | 35 | 19.663 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
I suppose it could be interesting to "subscribe" to the "class n… | 2.49content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 44 wordValue: 0.1 result: 2.49 | 0.65 | 1.6185 |
Telegram user should tell the bot the class name. Unfortunately … | 4.45content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 87 wordValue: 0.1 result: 4.45 | 0.75 | 3.3375 |
It shouldn't do anything. We just scroll up to rejoin if we need… | 1content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 15 wordValue: 0.1 result: 1 | 0.4 | 0.4 |
Why did you remove this? | 0.39content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0.1 result: 0.39 | 0.5 | 0.195 |
```suggestion"dev": "tsc-watch --onSuccess 'tsx… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.7 | 0 |
```suggestiondbObject.session = null;&… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.8 | 0 |
I wonder if it is a better idea to do git storage on another bra… | 2.1content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 36 wordValue: 0.1 result: 2.1 | 0.9 | 1.89 |
What is bank | 0.25content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 3 wordValue: 0.1 result: 0.25 | 0.3 | 0.075 |
```suggestionTELEGRAM_API_HASH: null,``… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.6 | 0 |
```suggestionTELEGRAM_BOT_TOKEN: null,` … | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.6 | 0 |
You know empty strings are forbidden I'm not going to change all… | 0.94content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 14 wordValue: 0.1 result: 0.94 | 0.4 | 0.376 |
Run formatter | 0.18content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0.1 result: 0.18 | 0.2 | 0.036 |
Run formatter | 0.18content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 2 wordValue: 0.1 result: 0.18 | 0.2 | 0.036 |
This seems brittle can't we read from database?I see you later … | 1.7content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 28 wordValue: 0.1 result: 1.7 | 0.5 | 0.85 |
Consider breaking up into several files as it's quite long. | 0.77content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0.1 result: 0.77 | 0.4 | 0.308 |
```suggestion} catch (error) {``` | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.6 | 0 |
```suggestionreturn ctx.reply(`Failed to s… | 0content: content: {} result: 0 regex: wordCount: 0 wordValue: 0.1 result: 0 | 0.6 | 0 |
Why as AppOctokit? | 0.25content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 3 wordValue: 0.1 result: 0.25 | 0.3 | 0.075 |
It may be more concise to do this:```private _su… | 0.65content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.7 | 0.455 |
Empty string always seems wrong. | 0.39content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 5 wordValue: 0.1 result: 0.39 | 0.3 | 0.117 |
Seems dangerous to force this casting. | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.7 | 0.322 |
Why did you break this rule? | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.2 | 0.092 |
Surprised cspell isn't complaining. Consider setWebhook etc | 0.59content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 8 wordValue: 0.1 result: 0.59 | 0.6 | 0.354 |
I suppose this pull won't handle my request on it being dictated… | 1.06content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 16 wordValue: 0.1 result: 1.06 | 0.8 | 0.848 |
Service key is new lingo. Shouldn't it just be `SUPABASE_KEY… | 0.71content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 10 wordValue: 0.1 result: 0.71 | 0.5 | 0.355 |
What do you mean? The only exceptions I can think of are exter… | 1.22content: content: p: score: 0 elementCount: 2 result: 0 regex: wordCount: 19 wordValue: 0.1 result: 1.22 | 0.4 | 0.488 |
Im pretty sure my suggestion is valid to init it as undefined bu… | 1.11content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0.1 result: 1.11 | 0.5 | 0.555 |
Empty string is truthy doesnt seem right to ever pass an empty s… | 1.11content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 17 wordValue: 0.1 result: 1.11 | 0.7 | 0.777 |
I think it makes sense to retain what you did and then change ou… | 1.49content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 24 wordValue: 0.1 result: 1.49 | 0.6 | 0.894 |
That doesnt answer my question. Call it restOctokit maybe | 0.65content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.5 | 0.325 |
You dont need to explicitly type uninitialized variables as unde… | 0.83content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 12 wordValue: 0.1 result: 0.83 | 0.6 | 0.498 |
You're admin now | 0.32content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 4 wordValue: 0.1 result: 0.32 | 0.2 | 0.064 |
We can use your app until it's tested and stable then we can mak… | 5.64content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 115 wordValue: 0.1 result: 5.64 | 0.9 | 5.076 |
Different task is fine for global storage | 0.52content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 7 wordValue: 0.1 result: 0.52 | 0.4 | 0.208 |
The name of the plugin should match the repo name. Also it shoul… | 4.8content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 95 wordValue: 0.1 result: 4.8 | 0.7 | 3.36 |
https://github.com/ubiquity-os-storage/.ubiquity-os/blob/__STORA… | 1.28content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 20 wordValue: 0.1 result: 1.28 | 0.3 | 0.384 |
We can make global storage private | 0.46content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 6 wordValue: 0.1 result: 0.46 | 0.3 | 0.138 |
Normally the pull should only fix a single issue but since this … | 1.28content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 20 wordValue: 0.1 result: 1.28 | 0.4 | 0.512 |
View | Contribution | Count | Reward |
---|---|---|---|
Review | Comment | 5 | 7.023 |
Comment | Formatting | Relevance | Reward |
---|---|---|---|
The permit storage thing has actually been broken for months as … | 2.78content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 50 wordValue: 0.1 result: 2.78 | 0.9 | 2.502 |
To avoid loading everything into memory and avoid heavy operatio… | 1.75content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 29 wordValue: 0.1 result: 1.75 | 0.7 | 1.225 |
@Keyrxng I noticed that v1 would create a room every time a pric… | 3.75content: content: p: score: 0 elementCount: 4 result: 0 regex: wordCount: 71 wordValue: 0.1 result: 3.75 | 0.8 | 3 |
If merging makes it easier let's merge, whatever goes faster. | 0.77content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 11 wordValue: 0.1 result: 0.77 | 0.3 | 0.231 |
@Keyrxng Is the app codebase within this organization somewhere? | 0.65content: content: p: score: 0 elementCount: 1 result: 0 regex: wordCount: 9 wordValue: 0.1 result: 0.65 | 0.1 | 0.065 |
! chat_not_found
A new workroom has been created for this task. Join chat
! chat_not_found
It was proposed that I enable UbiquityOS to be able to communicate directly with our userbase via Telegram direct messages.
As the first step I propose that we build out four triggers
Payment - Will parse the permit comment posted by UbiquityOS (Permit DB storage broken so cannot use that) Reminder - Will parse the follow-up comment posted by UbiquityOS Disqualification - Will read from
issues.unassigned
Review - Will read frompull_request.review_requested
this feature will be built using the
bot api
, so is not a MTProtoAPI/Personal Account reliant feature however it's likely that the user must have previously communicated with our bot on Telegram so that the connection exists for it to have that permission. This is a requirement of registering however so should be error-free./register keyrxng
will be a new Telegram bot slash command added through this feature which will allow a user to bind their GitHub account to their Telegram account./subscribe
will open a dynamic list of buttons for all of the functional triggers. Select to enable./unsubscribe
does the same as above but disables the triggerscan't find the related context