19 KiB
- From notes.org
- Axiom WG
- invalid startDate
- investigate lost trainings
- REVIEW STS-847 iris customize bar
- STS-850 mixpanel tracking
- CI/CD with Stefan
- STS-838 hide bv cats in tools
- Explore reordering with react-dnd
- STS-762 delete cat when classifier creation failed
- STS-831 cat hover style
- STS-834 mentions style
- STS-833 classifier with obsolete sub cat
- Saving Classifiers
[7/7] - Deleting Classifiers
- fix slack alerting for token service in prod
- Catchup with Sammy
- Answer Erik
- fix log level in stackoverflow
- prepare for Engineering Talk
- prepare for BrightView Onboarding
- org-mode lightning talk
- Steuererklärung 2018
- From steuererklaerung.org
Archived entries from file /home/idon/org/notes.org
From notes.org
Axiom WG
DONE invalid startDate
CLOSED: [2019-09-26 Thu 08:49]
Theory: project timezone is something luxon does not know. Projecttimezone in this project is "US/Central" - though it seems luxon does know that. So maybe it has been something else before. Or this theory is bogus.
Did not see any mixpanel data to show the timezone.
Let's see what Rikki reports back on the timezone and verify then if it could be caused by that.
Consider checking if the given timezone is valid first and use 'utc' as a fallback.
The good thing is that most likely the user will not see a huge difference by looking at the mentions. So it's better to show utc instead of failing for sure.
DONE investigate lost trainings
CLOSED: [2019-10-07 Mon 10:02]
"Goose Island Brand Values", project: Amy, client: Staff - Integration
userId 212083879 projectId 1998259083 queryIds 1999839102 1999916473 classifierId categoryId 6754396 subCategoryIds 6754397 6754398 6754399
First observation, summary call https://app.brandwatch.com/fe-api/projects/1998259083/classifiers/trainings?_=1569391751072
has trainingSet always as null
Turns out that we don't hande when fetching a classifier or categroy fails.
If fetching a classifier fails, the interface actully looks like all training data is lost - BUT IT's actually NOT.
But still not sure if a network issue is the cause of this.
Trying what happens when I stall the requests made
- /projects/162524241/queries/summary
- /projects/162524241/classifiers/trainings/8885308
- /projects/162524241/categories
- /projects/162524241/data/mentions
DONE REVIEW STS-847 iris customize bar
CLOSED: [2019-09-16 Mon 08:43]
There are multiple issue about disabling IRIS if it's unsupported but here is a deeper issue about not showing peaks in the sidebar although they do show on the chart after you change dimensions.
Issued a PR to fix showing the peaks.
DONE STS-850 mixpanel tracking
CLOSED: [2019-09-10 Tue 22:06]
By default an event has following data { userId, clientId, clientName }
- create classsifier Event: Classifiers Action: Create Data: projectId,
- edit classifier Event: Classifiers Action: Edit Data: projectId "Parent Category Id",
- closing with X Event: Classifiers Action: Aborted Data: projectId "Parent Category Id" (id or null if new classifier) Type: "Close Icon"
- closing via cancel button Event: Classifiers Action: Aborted Data: projectId "Parent Category Id" (id or null if new classifier) Type: "Cancel Button"
- saving Event: Classifiers Action: Save Data: projectId "Parent Category Id" (id or null if new classifier) "Is Training Enabled" (true|| false) "Classify Historical" (true|| false) "Category Count"
- open category Event: Classifiers Action: Open Category Data: projectId "Parent Category Id" (id or null if new classifier) "Category Id" Type: 'Category Click'
- closing category Event: Classifiers Action: Close Category Data: projectId "Parent Category Id" (id or null if new classifier) "Category Id" "Type" ("Category Click" or "Back Button")
- assigning mentions Event: Classifiers Action: Assign Mentions Data: projectId "Parent Category Id" (id or null if new classifier) "Category Id" "Interaction Type" ("Drag And Drop" or "Actions Dropdown")
- unassign mentions Event: Classifiers Action: Unassign Mentions Data: projectId "Parent Category Id" (id or null if new classifier) "Category Id" "Interaction Type": "Actions Dropdown"
- search Event: Classifiers Action: Search Data: projectId queryIds "Parent Category Id" (id or null if new classifier) "Search Term"
- load more mentions Event: Classifiers Action: Load Mentions Data: projectId queryIds "Parent Category Id" (id or null if new classifier) "Search Term"
DONE CI/CD with Stefan
CLOSED: [2019-09-09 Mon 16:51] SCHEDULED: <2019-09-05 Thu 14:30>
DONE STS-838 hide bv cats in tools
CLOSED: [2019-09-02 Mon 22:38] SCHEDULED: <2019-08-28 Wed>
DONE Explore reordering with react-dnd
CLOSED: [2019-08-27 Tue 08:48]
DONE STS-762 delete cat when classifier creation failed
CLOSED: [2019-08-23 Fri 08:29]
When saving a classifier the category is saved before saving the classifier. We need to do this, as we create/edit cactegories via the BW API and create/edit classifiers via the classifiers api.
Couple scenarios we need to consider, when saving the classifier fails:
-
Create a classifier
When creating a classifier and save it, the corresponding category is created first.
Only when that is successful at least one, we need to consider to delete it when the dialog is closed by the user, without a successful save of the classifier.
So when closing the Training interface we need to check
- we are creating a classifer (not editing a classifier)
- category was saved successfully (at least once)
- saving classifier failed always
When all of these conditions are meet we can savely deleted the (unused) category withouth any further notice.
- Edit a classifier If editing a classifier failed, we won't easily be able to revert the changes that were made on the category before hand. For that to work we would need to cache the latest good version, to be able to store that state again. But either way, sub categories might have new different id's if a category was deleted and should be restored, for example. That would force us to update the classifier with the new id's, which will most likely not work either, as saving the classifier failed in the first place. I'm not really convinced this is worth doing and introduces even more complications.
DONE STS-831 cat hover style
CLOSED: [2019-08-23 Fri 08:29]
DONE STS-834 mentions style
CLOSED: [2019-08-23 Fri 08:29]
DONE STS-833 classifier with obsolete sub cat
CLOSED: [2019-08-21 Wed 10:35]
The category 8741525 in project 162518254 has currently 10 sub categories.
The corresponding classifier though has 12 sub categories.
When saving the classifier, the BE is unhappy about the number of categories.
Simply remove a catgory from the training interface or the edit category dialog. After that the classifier will still contain the deleted category ids.
After saving the category, we need to make sure the categorySet only contains sub categoryIds that actually exist in the category
DONE
Saving Classifiers [7/7]
CLOSED: [2019-08-19 Mon 10:19]
DONE implement saving
CLOSED: [2019-07-23 Tue 13:58]
DONE separate classifierId from categoryId in Classification provider
CLOSED: [2019-07-23 Tue 13:58]
When creating, we do save the category first and update the classification provider with the new categoryId
is propagated to the Classification provider as classifierId. Though this approach does not allow us know
if we are in update or create.
So we need to separate classifierId and parentCategoryId again in the provider
DONE hook saving together with CategoryProvider
CLOSED: [2019-07-30 Tue 12:21] Not sure yet how to communicate between the classifier and category context. There are following actions in the create case (i.e. the category does not exist yet)
- Saving is kicked off by calling
CategoryContext#savein Footer - CategoryContext saves the category and receives new categoryIds
- Category updates the global by calling the callback
ReactApp#onCategorySaved - CategoryContext dispatches the action
updateCategoryIdto update the categoryIds in the ClassifierContext - CategoryContext dispatches the action
savingCategorySucceededto update it's own state - When the promise returned from 1. returns we call
ClassifierContext#savein the Footer - When the classifier is saved, ClassifierContext calls
ReactApp#onClassifierSaved onClassifierSavedupdates the classifier global and adds a notification
The problem I'm currently facing is, the ClassifierContext#save created,
does not have yet access to the current state updated with the the
updateCategoryId action, but uses the previous state when being executed.
The reason why this happens is explained in https://reactjs.org/docs/hooks-faq.html#why-am-i-seeing-stale-props-or-state-inside-my-function Basically, when `save` is executed is sees the state from when it was defined and as it has not yet re-rendered, that is a stale state.
One solution is to have the request to save the classifier into the state
and use the useEffect hook and execute the save, when that state set. This
is not very nice, but ensures the save actually uses the latest state, as
it's executed after rendering. It bears the risk, that incorrect state
management will cause save in a loop.
The solution which I went with for now, is to have a state property to indicate saving was requested. In the corresponding provider, we'll have a look for that state prop and execute saving when we see it. This is a somewhat ugly solution, but the saving is executed exactly as intended, maintaining the order and using the latest state.
DONE update global
CLOSED: [2019-07-29 Mon 08:50]
DONE show notification
DONE Review
CLOSED: [2019-08-19 Mon 10:19]
DONE QA
CLOSED: [2019-08-19 Mon 10:19]
DONE Deleting Classifiers
CLOSED: [2019-08-19 Mon 10:19]
DONE fix slack alerting for token service in prod
CLOSED: [2019-08-29 Thu 08:51]
DONE Catchup with Sammy
CLOSED: [2019-09-17 Tue 07:54]
Iris Bug
mixpanel tracking
hide cats in rules and followup bugs
unreproducable training data is lost STS-890
startDate endDate null when getting mentions
LD/module PR needs update - BE is in place
DONE Answer Erik
CLOSED: [2019-09-17 Tue 12:52]
When a user is trying to add a non-Owned Facebook page, and enters a URL for that page, we need to make a call (to the token service?) to get any available user token and use that to get page contents. Does this API endpoint already exist, or do we need to create one? Do we need to be worried about rate limiting? If there are no available user tokens, do we want an error or redirect to the auth token flow? (Mitch/Claudio that last one might be for you)
With "…to get the page contents" you mean to get the Facebook Page name, Icon, Description etc, correct? That's at least what we do in Analytics so far to be able to let the user verify that he picked the right one.
To get the facebook page data you can also directly used the Facebook Graph API using the current short lived user token you currently have (assuming that checking if the user is already authenticated with Facebook OR authenticating with Facebook is done before that step)
As I'm proposing to talk the Graph API instead and using the user token I don't think rate limits will be an issue. There is no such thing of rate limits in the token service nor in BW API (afaik).
Generally speaking, any (long lived) user or page token we have in the backend, we should never hand out to the client as it somewhat breaks they proposed security model Facebook proposes.
- The endpoints to get a list of authenticated pages, the # of remaining hashtags and storing hashtags for a authenticated page do already exist in BW API.
/instagramHashtags/facebookPages?clientId=${clientId}
DONE fix log level in stackoverflow
CLOSED: [2019-09-24 Tue 18:50]
Deployed to live. The root cause was that Stackdriver does not evaluate level
at all for severtity. You need to set that manually as well /o\.
DONE prepare for Engineering Talk
CLOSED: [2019-09-02 Mon 22:34] DEADLINE: <2019-08-30 Fri> SCHEDULED: <2019-08-27 Tue>
DONE prepare for BrightView Onboarding
CLOSED: [2019-09-10 Tue 21:29] DEADLINE: <2019-09-03 Tue> SCHEDULED: <2019-08-29 Thu>
DONE org-mode lightning talk
CLOSED: [2019-09-26 Thu 08:50]
DONE Steuererklärung 2018
CLOSED: [2019-09-26 Thu 08:50]
From steuererklaerung.org
DONE 2018
Kinder
DONE Kitagebühren Jacob
CLOSED: [2019-09-15 Sun 22:28]
DONE Kitagebühren Anna
CLOSED: [2019-09-17 Tue 22:48] Hab einfacht die Zahlen von 2019 genommen, hoffe das mekern die nicht an.
Valerie
DONE Elternzeit
01.01.2018-27.10.2018
DONE Pendlerpauschale Arbeitstage im Büro
CLOSED: [2019-09-04 Wed 20:41]
DONE Fortbildungskosten
CLOSED: [2019-09-16 Mon 20:46]
Thomas
DONE Elternzeit
CLOSED: [2019-09-04 Wed 20:32] 28.10.2018-27.10.2018
DONE Elterngeld Januar wirklich richtig?
CLOSED: [2019-09-15 Sun 20:54]
DONE Arbeitstage im Büro
CLOSED: [2019-09-15 Sun 20:58] 91 davon 9 Im Nov-Dez
DONE VVS Kosten 739,33
CLOSED: [2019-09-15 Sun 20:58]
DONE HH6 versteuerbare Einkünfte
CLOSED: [2019-09-15 Sun 22:28]
Versicherungen
DONE Haftpflicht
CLOSED: [2019-09-17 Tue 22:49]
Mömpelgardgasse
DONE Handwerker
Schornsteinfeger Wiech 29.06.2018
| Was | Betrag |
|---|---|
| Lohnkosten | 58.20 |
| Brutto | 69.258 |
Rauch Heizungkörper 05.11.2018
| Was | Betrag |
|---|---|
| Lohnkosten | 1739 |
| Brutto | 2069.41 |
Rauch Heizungswartung 14.06.2018
| Was | Betrag |
|---|---|
| Lohnkosten | 119 |
| Brutto | 141.61 |
Rauch Frostschaden 06.03.2018
| Was | Betrag |
|---|---|
| Lohnkosten | 52 |
| Brutto | 61.88 |
Leopold 11.06.2018
| Was | Betrag |
|---|---|
| Demontage/Monatge | 850.0 |
| Netto | 1011.5 |
Bauer 16.05.2018
| Was | Betrag |
|---|---|
| Montage | 742.50 |
| Brutto | 883.575 |
Morgenrot 10.10.2018
| Was | Betrag |
|---|---|
| Lohn 1 | 1600 |
| Lohn 2 | 345 |
| Gerüst | 200 |
| Netto | 2145 |
| Brutto | 2552.55 |
DONE Schuldzinsen
CLOSED: [2019-09-17 Tue 22:49]
DONE Kontoführungsgebühren
CLOSED: [2019-09-17 Tue 22:49]
DONE Grundsteuer 52,59
DONE Müllgebühren
CLOSED: [2019-09-17 Tue 22:49]
DONE Wasser
CLOSED: [2019-09-17 Tue 22:49]
DONE Strom
CLOSED: [2019-09-17 Tue 22:49] Nur wenn wir grenze noch nicht erreichen
Zeitraum 10.9.2018 18.9.2018 unten 1053,97 oben 150,31
DONE Versicherung
CLOSED: [2019-09-17 Tue 22:49]
DONE Wohngebäudeversicherung
CLOSED: [2019-09-17 Tue 22:49]
Auto
DONE Reperaturen
CLOSED: [2019-09-17 Tue 22:49]