text:
Publier le modèle NGC sur NPM et l'utiliser côté site

Contexte
Jusqu'à présent, le modèle est mis à jour en poussant sur master puis les fichiers JSON compilés sont déployés sur le serveur netlify à l'adresse : https://data.nosgestesclimat.fr. Les fichiers JSON sont ensuite récupérés par l'application web.
Problème
Avec cette méthode, il est très facile d'introduire des modifications cassantes dans le modèle. Par exemple, si une des règles est renommées, et que le changement n'est pas répercuté dans l'application web, alors il est possible que l'application web ne fonctionne plus.
De plus, il est difficile d'associer une version du modèle à une situation Publicodes donnée. En effet, cela pourrait permettre de savoir quelle version du modèle utiliser si une personne a effectué un calcul à une date donnée et ainsi de pouvoir éviter les régressions. On pourrait également imaginer d'associer à chaque nouvelle version cassante du modèle un script de migration permettant de mettre à jour les situations d'une version à l'autre.
Solution
Pour résoudre ce problème, nous allons mettre en place un système de versionnage du modèle et modifier le processus de développement de celui-ci.
Utilisation du modèle versionné
Paquet NPM
Des travaux antérieurs ont permis de mettre en place un système de paquets NPM permettant la réutilisation des règles dans d'autres modèles Publicodes ou bien d'importer les règles dans un projet JS.
Cependant, le modèle NGC a la particularité d'être régionalisé, traduit et optimisé. Ainsi, pour chaque version du modèle, les règles du modèle sont compilées en 72 fichiers JSON de 500 à 800 Ko chacun.
Il parait donc peu judicieux de publier l'ensemble des fichiers sur NPM. De plus, côté application web, une seule version du modèle est utilisée à la fois et il serait donc inutile de charger l'ensemble du paquet NPM côté client.

:bulb: N'est-il pas possible avec NextJS de ne charger le paquet NPM que côté serveur, et d'envoyer uniquement les règles utilisées côté client ?

Quand bien même, on trouverait une solution pour charger uniquement les règles utilisées côté client, il faudrait tout de même publier l'ensemble des fichiers sur NPM et il serait compliqué d'utiliser des versions antérieures du modèle.
API REST (solution retenue)
Une solution plus adaptée serait d'utiliser l'API REST Publicodes pour récupérer les règles d'une version donnée. Cela permettrait de ne pas avoir à publier l'ensemble des fichiers sur NPM et de pouvoir utiliser des versions antérieures du modèle.
On pourrait imaginer une API REST de la forme :
https://data.nosgestesclimat.fr/<version>/<langue>/<region>/<format>/<route>

Avec :

version - la version du modèle à utiliser, (latest pour la dernière version)
langue - la langue à utiliser (fr ou en)
region - la région à utiliser (FR, CA, BE, CH, etc...)
format -  optim pour utiliser les règles optimisées, full pour utiliser les règles complètes (optionnel, par défaut full)
route - la commande à effectuer parmi :

rules : retourne l'ensemble des règles du modèle
rules/{rule} : retourne la règle {rule} du modèle
evaluate : évalue une règle avec la situation passée en paramètre
versions : retourne l'ensemble des versions du modèle
versions/{version} : retourne les informations de la version {version} (date, notes de version, scripts de migrations, ...)
personas : retourne l'ensemble des personas du modèle

:bulb: On peut tout de même imaginer publier sur NPM la version FR-fr du modèle à fin d'en faciliter l'utilisation dans d'autres modèles Publicodes ou dans les scripts de tests.

:bulb: On peut imaginer une version nightly du modèle qui serait synchronisée avec la branche preprod du dépôt nosgestesclimat.

Processus de développement
Le processus de développement du modèle sera le suivant :

Création d'une branche preprod à partir de master
Création de branches feature et fix à partir de preprod
Une fois toutes les fonctionnalités développées, un recettage exhaustif est effectué sur la branche preprod
Une fois le recettage terminé, la branche preprod est mergée dans master
Un nouveau tag est créé selon le versionnage sémantique, une release lui est alors automatiquement associée sur github et le modèle est compilé et publié sur NPM.

Implémentation
Gestion des versions
On aurait donc un nouveau dépôt nosgestesclimat-api qui contiendrait le code du serveur et qui serait déployé sur Netlify à l'adresse https://data.nosgestesclimat.fr (ou autre ?).
J'imagine deux solutions pour gérer les versions du modèle côté serveur :

Pour chaque nouvelle release du modèle on ajoute un sous dossier dans un dossier versions du dépôt nosgestesclimat-api qui contiendrait l'ensemble des fichiers JSON compilés du modèle et les personas. (solution préférée)

Ainsi, à chaque modification le serveur est redéployé avec l'ensemble des versions du modèle.

Le serveur n'est déployé qu'une seul fois, et met à jours sont contenu dynamiquement.

On peut donc imaginer qu'il ne récupère uniquement les règles de base et se fasse de la compilation JIT pour chaque requête. Cela permettrait de ne pas avoir à redéployer le serveur à chaque nouvelle release du modèle.

Contenu écrit du modèle
Les notes de version actuelles et plus généralement l'ensemble du dossier contenu-ecrit seront migrées dans le dépôt -site.
Application web
Il faudra également modifier l'application web pour qu'elle utilise l'API REST afin de récupérer les règles du modèle.

💡Une première version serait simplement de remplacer l'URL de l'API actuelle (https://data.nosgestesclimat.fr/co2-model.<region>-lang.<lang>{-opti}.json) par https://data.nosgestesclimat.fr/latest/<region>/<lang>{/optim}/rules.

Tâches
MVP
nosgestesclimat-api:

[ ] Créer le dépôt nosgestesclimat-api
[ ] Implémenter l'API REST
[ ] Mettre en place le déploiement sur netlify
[ ] Mettre en place le déploiement automatique à chaque nouvelle release du
dépôt nosgestesclimat

nosgestesclimat:

[ ] Migrer le contenu écrit dans le dépôt -site
[ ] Supprimer les dossiers contenu-ecrit et public du dépôt
nosgestesclimat
[ ] Setup la CI pour la publication de releases sur NPM et GitHub
[ ] Mettre à jour la documentation

nosgestesclimat-site-nextjs:

[ ] Modifier l'application web pour qu'elle utilise l'API REST
[ ] Mettre à jour la documentation

Améliorations

[ ] Gérer les versions cassantes du modèle
[ ] Associer une version du modèle à une situation donnée (côté site)

Questions

Où est-ce que doit être stocké les personas ? Doivent-ils être versionnés et publiés sur NPM ? Dois-t-on rajouter une route personas à l'API REST ?
Comment gérer les versions du modèle côté serveur ? (voir section Gestion des versions)
On commencerait à avoir pas mal de dépôts différents autour de NGC, ne serait-il pas le temps de créer une orga GitHub pour les regrouper ?

Où est-ce que doit être stocké les personas ? Doivent-ils être versionnés et publiés sur NPM ? Dois-t-on rajouter une route personas à l'API REST ?

Je dirais qu'ils doivent rester côté modèle et également versionnés ce qui peut nécessiter un script qui vérifie l'exhaustivité des règles (comme dans l'ancienne page "Personas")

2. Comment gérer les versions du modèle côté serveur ? (voir section Gestion des versions)

Pour la solution 1 également, je ne suis pas sur de bien comprendre la 2

3. On commencerait à avoir pas mal de dépôts différents autour de NGC, ne serait-il pas le temps de créer une orga GitHub pour les regrouper ?

Yes !

Assez aligné avec tout ça. Pas trop d'avis pour les personas et je penche aussi pour la solution 1 (qu'il sera toujours temps de faire évoluer si elle finit par ne plus convenir). Et créons autant de repo que l'on veut dans l'org de l'incubateur (tout en en laissant la gestion à notre nouveau CTO), pas fan de recréer un espace à devoir gérer nous même.
Quelques détails :

Pas sur du  dans l'url alors qu'il est facultatif (et n'impacte que /rules non ?). Peut être le mettre en query param ?
Le process de dev preprod => main pourrait être allégé. J'imagine que le site en prod appellerait une version fixe du modèle donc pas de risque de casser.

Par contre je questionne le besoin premier : est-ce qu'on a besoin de plus de complexité que de juste avoir deux branches main / preprod ?

pas fan de recréer un espace à devoir gérer nous même.

Ca implique beaucoup de gestion ?

Pas sur du dans l'url alors qu'il est facultatif (et n'impacte que /rules non ?). Peut être le mettre en query param ?

Du ? J'imagine que tu parles de l'optim ? Et en effet, ça n'aurait pas trop de sens de demander /optim/personas :ok_hand:

Le process de dev preprod => main pourrait être allégé. J'imagine que le site en prod appellerait une version fixe du modèle donc pas de risque de casser.

C'est-à-dire ? Tu ne trouves pas nécessaire de faire un recettage sur preprod avant de merge dans main ?

Par contre je questionne le besoin premier : est-ce qu'on a besoin de plus de complexité que de juste avoir deux branches main / preprod ?

Tu fais références ici au fait de stocker et d'exposer toutes les versions ?

C'est-à-dire ? Tu ne trouves pas nécessaire de faire un recettage sur preprod avant de merge dans main ?

Si le modèle est versionné, la branche ne change pas grand chose. On aurait la version 1.12.33 de main fixé en prod jusqu'à la release suivante. Et la preprod utiliserait latest de main.

Tu fais références ici au fait de stocker et d'exposer toutes les versions ?

Yes, quel est le besoin d'exposer plusieurs versions, et est-il suffisant au regard du temps passé sur le sujet ?

Si le modèle est versionné, la branche ne change pas grand chose. On aurait la version 1.12.33 de main fixé en prod jusqu'à la release suivante. Et la preprod utiliserait latest de main.

Ça me semble quand même mieux car on veut être sur ne pas introduire de bugs dans main qu'il faudrait patcher apres ?
Pour moi c'est pas forcément un recettage sur le site mais plus côté modèle, au niveau des personas entre autres

Yes, quel est le besoin d'exposer plusieurs versions, et est-il suffisant au regard du temps passé sur le sujet ?

Je suis peut etre coté mais j'avais en tête que c'est important de pouvoir taper sur n'importe quelle version (si on associe une simulation à une version / on associe une version régionale à une version)

Ça me semble quand même mieux car on veut être sur ne pas introduire de bugs dans main qu'il faudrait patcher apres ?

Et la branche de travail ne suffit pas pour ça ?

Je suis peut etre coté mais j'avais en tête que c'est important de pouvoir taper sur n'importe quelle version (si on associe une simulation à une version / on associe une version régionale à une version)

C'est à dire ? C'est important pourquoi ? Ou est-ce que ça manque actuellement ? Je peux voir le besoin pour un utilisateur qui revient mais c'est à la marge non ? Et même dans ce cas la est-ce qu'on a un interêt fort à lui servir une version précédente du modèle ?

Et la branche de travail ne suffit pas pour ça ?

Oui effectivement

C'est à dire ? C'est important pourquoi ? Ou est-ce que ça manque actuellement ? Je peux voir le besoin pour un utilisateur qui revient mais c'est à la marge non ? Et même dans ce cas la est-ce qu'on a un interêt fort à lui servir une version précédente du modèle ?

Pour bien comprendre, tu n'es pas favorable au fait de pouvoir accéder à n'importe quelle version du modèle ? Je ne vois pas de grande différence par rapport à l'actuel si on ne peut pas aller chercher une version spécifique ?

Je ne dis pas que je n'y suis pas favorable. J'essaie de comprendre pourquoi on en a besoin (et donc pourquoi il faut le faire)

Je ne dis pas que je n'y suis pas favorable. J'essaie de comprendre pourquoi on en a besoin (et donc pourquoi il faut le faire)

Le but d'utiliser des versions et de ne pas casser le code des utilisateur.ices à chaque modifs.
Après pour l'instant étant le seul utilisateur (même si Sami, Yami, Agir, ICO2 pourraient être rapidement des utilisateurs direct de l'API), simplement exposer la dernière version pourrait suffire pour une première version. Mais si on veut aller plus loins et même sur NGC pouvoir faire des projections ou comprendre l'évolution du modèle ce sera nécessaire de sauvegarder les différentes versions.

Le but d'utiliser des versions et de ne pas casser le code des utilisateur.ices à chaque modifs.

C'est la ou je peine a saisir. La version de la personne n'est, pour l'instant, pas dépendante de sa situation.
Que l'on garde des variables en localStorage (type valeur de bilan ou des catégories), ça me semble très intéressant si on veut qu'elle puisse se comparer dans le temps.
Par contre, est-ce que l'on souhaite lui permettre de refaire son test avec un ancien modèle ? Pourquoi ne pas toujours lui servir la version la plus à jour ?

C'est la ou je peine a saisir. La version de la personne n'est, pour l'instant, pas dépendante de sa situation.

Utilisateur de l'API pas de nosgestesclimat.fr

Ok donc le besoin est principalement orienté vers les réutilisateurs du modèle et pas vers NGC ? C'est plus clair pour moi si c'est le cas

Petit retour d'expérience, je publie les aides vélo sur NPM et ensuite dependabot ouvre une PR sur aides-jeunes pour la mise à jour du paquet. Ce process est très fluide et permet de jouer les tests d'intégration du site avant de mettre en production la mise à jour des règles publicodes.

Le souci avec un paquet c'est qu'à priori on ne peut pas faire d'imports dynamiques : or, on voudrait pouvoir spécifier la région + langue du modèle importé, on s'est dit que l'API serait plus simple

authors: Clemog EmileRolley florianpanchout mquandalle

repo: incubateur-ademe/nosgestesclimat


text:
DDG?!

*Feedback from email: *
Moin
Meint Ihr ernsthaft, daß man DDG als SuMa benutzen sollte? Die sitzen
doch in Amiland und wenn die eine Weisung bekommen, dass sie den Key
für die https Verbindung rausrücken sollen, dann muss nur noch der
Provider eine Anordnung kriegen, dass er ausleiten soll und der Schutz
ist hin.

I don't really understand what SuMa is ? any idea ?

I don't speak german.

Yes, but SuMa has non sense for me and I speak German ;)

"Pensez-vous vraiment que qqn doit utiliser DDG (sûrement DuckDuckGo) comme SuMa ? Il siège quand même aux USA et et s'ils obtiennent un ordre selon lequel ils devraient donner la clé de chiffrement https, ensuite seul le fournisseur doit obtenir une commande pour qu'elle soit rejetée et la protection est supprimée."

C'est la traduction. Mais je ne comprends pas ce que c'est SuMa. Bon, on comprend l'ensemble, je pense.

C'est vrai que DuckDuckGo siège maintenant aux États Unis et que la loi oblige entre autre un surveillance obligatoire. Cela ne concerne pas le Https mais le serveur en lui-même (Portes dérobés présentes par exemple).
Ceci dit, la principale fonction de ce moteur de recherche est d'être respectueux de la vie privée de ses utilisateurs.

Bon je ferme cette issue. Reopen it for more dicussion.

source: gharchive/issue

license_type: permissive

license_source: github-api


text:
Y-axis static labels

Y-axis labels are generating automatically. Can we give input for y-axis lables?

Yes, it becomes very odd when showing something that can only be integers. Like 3.34534 individuals in my bar chart. :)

Yes, it becomes very odd when showing something that can only be integers. Like 3.34534 individuals in my bar chart. :)

So how do you add the labels?

Possible duplicate of #122?

Y-axis labels are generating automatically. Can we give input for y-axis lables?

how to make sticy y-axis on line chart

repo: indiespirit/react-native-chart-kit

license: MIT


text:
udocker using file server mounts

We have an user that is using udocker in his bioinformatics workflow and he is noticing that udocker is not able to maintain file system mounts, causing programs to throw missing file errors. This happens under heavier load, when there are many such jobs running on an HPC cluster, each running udocker container(s) with applications accessing data files on NFS or Lustre mounted file servers. He has tried different udocker execution engines with the same result.
He then switched to singularity which has solved these issues.
As his workflow is fairly complex and this only happens under load it is hard to reproduce this. Therefore before we dig deeper I would like to ask if the developers have any thoughts on what could be causing this, especially related to the implementation differences between udocker and Singularity.
Thanks
Martin

The Pn and Fn modes are completely different and without further information is very difficult to understand what might be affecting both. For Fn we know of situations where pathname translation for "mounted" directories may fail. The fixes for these will be in the next release. However the situation you mention seems random and more related to the load.
If you plan to dig in please focus on the Fn execution modes.
There are no "mounts" in udocker just pathname translations. For the Fn modes mapping of pathnames is passed via environment variables to the LD_PRELOAD shareable library that intercepts the calls.
There are two env variables used FAKECHROOT_DIR_MAP which maps a host pathname to a container pathname and FAKECHROOT_EXCLUDE_PATH that simply allows the passthrough of pathnames that are common between the host and the container (eg map /home in the host to /home in the container). You can check if these mappings are ok. There is a maximum of 64 map entries for each of the methods. Since Fn uses a preload library it also consumes a bit more memory.

Thanks Jorge, this is very helpful. I don't have much more info than what I wrote but we'll try to work with the user more to get a better insight.
How would I display the env. variables? Modify the Python code to display it or is there an easier way? I could also think of strace but that'll give a lot of extra output.
Thanks,
Martin

Closing no activity

authors: jorge-lip mcuma

repo: indigo-dc/udocker


text:
run --dri broken in S1 mode

Again on devel. Not sure how the directories for the --dri bind flag are determined, but it doesn't seem to be functional currently. When using S1 mode I get with an arbitrary container:
./udocker run --dri test bash
Warning: non-existing user will be created
Traceback (most recent call last):
  File "./udocker", line 8388, in <module>
    sys.exit(Main().start())
  File "./udocker", line 8376, in start
    exit_status = self.execute()
  File "./udocker", line 8359, in execute
    status = cmds[command](self.cmdp)     # executes the command
  File "./udocker", line 7664, in do_run
    status = exec_engine.run(container_id)
  File "./udocker", line 3728, in run
    if not self._run_init(container_id):
  File "./udocker", line 3008, in _run_init
    if not self._set_volume_bindings():
  File "./udocker", line 2532, in _set_volume_bindings
    return self._check_volumes()
  File "./udocker", line 2491, in _check_volumes
    if not self._create_mountpoint(host_path, cont_path):
  File "./udocker", line 2469, in _create_mountpoint
    if self.mountp.create(host_path, cont_path):
  File "./udocker", line 2256, in create
    if not status:
UnboundLocalError: local variable 'status' referenced before assignment

Seems like an else path is missing. When I catch it I get
Warning: non-existing user will be created
Error: creating container mountpoint: /usr/lib64/dri
Error: creating mountpoint: /usr/lib64/dri /usr/lib64/dri

Happens on LinuxMint, doesn't on Fedora 29.

Hi,
Could you try with the latest version in devel.

No change
UDOCKER_DEFAULT_EXECUTION_MODE=S1 ./udocker.py run --dri alpine sh
Warning: non-existing user will be created
Traceback (most recent call last):
  File "./udocker", line 8542, in <module>
    sys.exit(Main().start())
  File "./udocker", line 8530, in start
    exit_status = self.execute()
  File "./udocker", line 8513, in execute
    status = cmds[command](self.cmdp)     # executes the command
  File "./udocker", line 7777, in do_run
    status = exec_engine.run(container_id)
  File "./udocker", line 3825, in run
    if not self._run_init(container_id):
  File "./udocker", line 3132, in _run_init
    if not self._set_volume_bindings():
  File "./udocker", line 2675, in _set_volume_bindings
    return self._check_volumes()
  File "./udocker", line 2626, in _check_volumes
    if not self._create_mountpoint(host_path, cont_path):
  File "./udocker", line 2604, in _create_mountpoint
    if self.mountp.create(host_path, cont_path):
  File "./udocker", line 2385, in create
    if not status:
UnboundLocalError: local variable 'status' referenced before assignment

Should be ok now ...

Thanks a lot, @jorge-lip, head of devel fixes this for me!

authors: jorge-lip katakombi


text:
typed and safe dispatcher

Te zmiany pozwalają na bardziej definitywne typowanie eventów. Można teraz będzie typować w parze nazwę eventu i zwracany typ eventu.
np.
interface FooPluginEventsMap {
  click: ClickEvent;
  close: CloseEvent;
}

const dis = new Dispatcher<FooPluginEventsMap>();

dis.on('click', console.log) // ClickEvent {}

Dodatkowo dodałem operator try/catch do wywołania callbacka. Callbacki nie powinny powodować zacięcia się programu.

@marucjmar Good job! 💪🙂

source: gharchive/pull-request

authors: marucjmar rwalus

repo: inelo/mapjet


text:
ISPN-8874 Document multimap remote interface and protocol

https://issues.jboss.org/browse/ISPN-8874

@pruivo @oraNod I reported the changes

Merged, thanks

authors: karesti tristantarrant

repo: infinispan/infinispan


text:
ISPN-15992 RESP PUBSUB command not implemented

https://issues.redhat.com/browse/ISPN-15992

That seems nice to have and counting with different clients.

merged thanks @jabolina !

authors: jabolina rigazilla


text:
🛑 Homepage is down

In 0ee04d8, Homepage (https://infinite8.co) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Homepage is back up in 3c3404c.


text:
🛑 Status Page is down

In 37b657c, Status Page (https://status.infinite8.co) was down:

HTTP code: 0
Response time: 0 ms

Resolved: Status Page is back up in f130a4f.


text:
🛑 Status Page is down

In c4745c0, Status Page (https://status.infinite8.co) was down:

HTTP code: 502
Response time: 213 ms

Resolved: Status Page is back up in d7a5cc2.


text:
Not auto run 'pod install' with 'yarn' command

When i used the old version of ignite, i run 'yarn' its will run pod install too. But now with ignite 6.x 'pod install' not happened. Please add it again for useful. Thanks

@vantuan88291 Want to submit a PR? :)

@vantuan88291 Want to submit a PR? :)

Closing - fixed by #1602

authors: bryanstearns jamonholmgren vantuan88291

repo: infinitered/ignite

license: mit

license_source: bigquery


text:
Authentication Example

Ignite has some awesome examples but one thing missing for me is how to manage login (auth) flow. It would be great to see examples built using this project template.
Some of the common problems i have faced in most apps include:

Auth token is stored but how is it used for API requests
How to route when a user is not logged in
How to manage the refresh token e.g. when to fire it, how to buffer the request etc.

This request may be out of scope, i just feel these are very common tasks that could be shown and very helpful.

@derekgreenberg will be putting together a post/guide for us!

Hi @skellock @derekgreenberg,
When do you expect to have this post/guide ready?

I'm not sure.  It's certainly a popular question.

@derekgreenberg ping

bump

kapow

want this too! would be especially nice if there was an example using jwt.. something like this
https://github.com/joshgeller/react-native-jwt

@skellock , does the "kapow" mean someone came up with some documentation? Where would that be?
Assuming it's not ready yet, I'm looking through the following articles to try and make something work as seamlessly as possible with the ignite boilerplate:
http://blog.slatepeak.com/build-a-react-redux-app-with-json-web-token-jwt-authentication/
https://www.theodo.fr/blog/2017/03/how-to-create-an-authentication-system-and-a-persistent-user-session-with-react-native/
https://medium.com/@alexmngn/the-essential-boilerplate-to-authenticate-users-on-your-react-native-app-f7a8e0e04a42
The first one has a higher order component that allows for "protected" screens and "public" screens so the user is prompted for a login if they are trying to access protected content (and not signed in), and if not wrapped, then don't try to authenticate. I'm not 100% sure how this would integrate yet with react-native-navigation.
The third one specifically goes over a neat idea on how to deal with keeping the tokens refreshed. In the past I would have a complex fetch() wrapper that would try to refresh the token if the server said it was expired, then try the request again. This other way does the refreshing in the background and pays attention to the expiration date to make it automagic.

@skellock , @derekgreenberg  is this example done? I've looked through ignite-example-login and that doesn't seem to have anything that handles JWT tokens (storing, adding to headers, refreshing), for example.

One thing that also needs to be considered is if the server end returns a JWT-related auth error (ie invalid token), there should be something globally at the api error to handle this, rather than have code in each/every saga action.

I dare say 2.0 release doesn't include it, too ?

@trda In my Ignite JHipster boilerplate, I have a JWT authentication option.  It usually expects a JHipster server backend, but the logic should still apply.  Just a quick summary of how it works:
Link to sample app repo: https://github.com/ruddell/IgniteJhipsterSampleApp

StartupSagas loads the token if present

If token is present, gets account information and sets API auth header

DrawerContent shows different options based on authentication

If not authenticated, show links to Login, Register, Forgot PW
If authenticated, show links to Settings, Logout

LoginScreen contains the login form (from Ignite v1)
Sagas/index.js links LoginRedux actions to LoginSagas
LoginSagas.login calls the API endpoint which returns a JWT token if credentials are valid
This token is added as a header in Api.js
Any sagas calling APIs that require authentication are wrapped in the CallApi saga that will show the login screen if a 401 error happens (token expired)

If not re-authenticated, cancel the request
If re-authenticated, retry the request with the new JWT Token
I got this concept from this apisauce issue.

Somebody has an example from authentication flow with ignite bowser, I'm try to use this flow https://reactnavigation.org/docs/en/auth-flow.html but, not working it.
I'm relative new using ignite and I don't have much idea that how can I it
Please somebody that help me

+1

+1 JWT auth

+1

Hi,
I found some login example, hope it helps: https://pietrzakadrian.com/blog/react-native-authentication-flow-with-mobx-state-tree

authors: GantMan WorldWideWebb abikali leesolway malistedifito rohitnishad613 ruddell scinfu skellock tmaly1980 trda vesper8 vincejah vzpintor


text:
UITabBar support

I had tab bar support manually added to previous version but if it could be added natively to this repository that would be great

Hi there! Could you please elaborate a bit more on what do you exactly mean when you say tab bar support? We usually have one module that's a TabBar which then serves and the root for everything else in the app.
I'd be happy if you'd share more information with us about, then we can see whether we can do anything about it.

Could you give an example of how can we use tabbar? If you can, I'll really appreciate it. Thanks.

I found a solution on the closed issues page. You can check this issue.
https://github.com/infinum/iOS-VIPER-Xcode-Templates/issues/23

Closing this one since the solution was linked in the previous replies.

authors: Scankiran goranbrl kvaljeva sheharyar-rr

repo: infinum/ios-viper-xcode-templates


text:
InfluxDB 2.X vault access is no longer limited to OSS

The documentation for InfluxDB 2.0 incorrectly states that Vault access is limited to OSS.  This is no longer case as the secrets modules is available with Cloud 2.
Relevant URLs
https://v2.docs.influxdata.com/v2.0/security/secrets/use-vault/
https://www.influxdata.com/blog/using-secret-stores-to-secure-flux-access/
What products and version are you using?
Cloud 2.0

This doc was originally written when OSS was seen as the flagship. The content of the doc outlines how to setup a Vault server/cluster with OSS, which is why it has the OSS only flag. I think we have a few options here:

Update the title of the doc to something like: Use Vault with InfluxDB OSS
Remove the OSS-only flag and update the structure of the doc to create two sections:

Vault with InfluxDB Cloud: Talks about Vault being the secret store for cloud two and how to use the secrets API with your Cloud 2 instance.
Vault with InfluxDB OSS Essentially keeps the current content of the doc and removes.

authors: darinfisher sanderson


text:
Updates for Band Plot visualization

Closes https://github.com/influxdata/docs-v2/issues/1753

[x] Add explicit steps to set up Band Plot
[ ] Add examples for both the query builder and the query editor (need to determine distinction)
[ ] Clarify how folks have the ability to visualize 3 different series named (via yield) (need to determine distinction between series, boundaries, and columns which may or may not being used interchangeably).
[ ] Need to verify/determine whether "aggregate functions" is the appropriate description term for UI. For example, in our docs, we refer to min and max as selectors, rather than aggregate functions. Others described in UI as aggregates but referred to as selectors (distinct, first, last) and type conversions (derivative/non-negative derivative, and increase) in docs

@noramullen1 Quick reminder – create a duplicate of this page at content/influxdb/cloud/visualize-data/visualization-types/band.md with cloud-specific frontmatter and {{< duplicate-oss >}} for the body content.

authors: kelseiv sanderson


text:
Doc Update? Additional note about using telegraf.d dir

I was referencing #486 for information about using telegraf.d, specifically

Number (1) is probably a bug, if there is a valid file in telegraf.d we should be able to start Telegraf without specifying a singular .conf file.

While this setup may be "non-standard", we have shifted all configuration items to be loaded from files in telegraf.d.  When initially tried, I had omitted /etc/telegraf/telegraf.conf and that will cause telegraf to fail to start.  To solve this, adding an empty telegraf.conf file allows everything to work and all config files to live in telegraf.d.
From looking at this further the source comes from the telegraf.service file specifying --config and --config-dir.

This issue was moved to influxdata/telegraf#5571

Moved issue to https://github.com/influxdata/telegraf/issues/5571.

authors: bmagistro stevebang


text:
Typo in "getting started"

"The task can be modify to be really sensitive to ensure that the alerts are working. In the TICKscript change the lamda function .crit(lambda: "usage_idle" < 70) to .crit(lambda: "usage_idle" < 100), and define the task once more."
fifth word should by "modified" instead of "modify"
URL for relevant page?
https://github.com/influxdata/docs.influxdata.com/issues/new
What products and version are you using?
n/a
Where did you look before opening the issue?
n/a

Thanks for the heads up @patkru. It's been fixed and should be live later today.

authors: patkru sanderson


text:
influxdb-python 5.2.0: Query with UTF-8 chars causes exception

Hello,
We observed a behavior change when moving from influxdb-python from 5.1.0 to 5.2.0.
A query containing non-ASCII UTF-8 characters was successfully executed with 5.1.0, but fails with 5.2.0.
Sample code:
# -*- coding: utf-8 -*-
from influxdb import InfluxDBClient
client = InfluxDBClient('localhost', 8086, 'user', 'pwd', 'test')
queryStr = 'SELECT value, value_meta FROM test.default_test."tempest-ｎａｍｅ-110197974"'
result = client.query(queryStr)

Pls. note: The strange looking "ｎａｍｅ" are UTF-8 characters used for testing.
Hex representation: EFBD8E, EFBD81, EFBD8D, EFBD85
With influxdb-python, version=5.1.0, the query works without problems
With influxdb-python, version=5.2.0, the query causes an exception:
Traceback (most recent call last):
  File "influxdb-client-issue.py", line 12, in <module>
    result = client.query(queryStr)
  File "/home/bandorf/.local/lib/python2.7/site-packages/influxdb/client.py", line 408, in query
    if query.lower().startswith("select ") and " into " in query.lower():
UnicodeDecodeError: 'ascii' codec can't decode byte 0xef in position 55: ordinal not in range(128)

Now, I've got the following questions:

Was this an intentional behavior change?
As of now, I consider this a bug.
Is there any work-around?

Thanks,
Matthias

@mattibf this bug is a result of https://github.com/influxdata/influxdb-python/blob/master/CHANGELOG.md#changed-1, specifically:
Update POST/GET requests to follow verb guidelines from InfluxDB documentation.
I will PR a fix in the next day or so, thanks for reporting this bug!

Any update on this? The bug is still present in version 5.2.1

The issue still exists in version 5.2.2.
It affects only Python 2 code. I could confirm that the client works nicely with Python 3.

The issue still exists in 5.2.3.

Please don't post after every release. We will close this issue when it is fixed.

authors: aviau mattibf witekest xginn8

repo: influxdata/influxdb-python


text:
Historical metadata never shows in query builder

Organizations > org > Buckets > add data > line protocol > Enter Manually
Clicking through to this option and then pasting in several rows of line protocol then clicking "continue" produces a message that says "Data Written Successfully!" but when I check for the measurements associated with that bucket, there are none, and it appears that there is no data in the bucket.

update the meta queries in the explorer panel to use the time range selected
update the message when no tags are displayed to say "Try expanding your time range"

authors: russorat tgisg

repo: influxdata/influxdb


text:
Add -pps argument to influx write CLI

It would be convenient if the influx 2.0 CLI write command had a -pps argument to throttle points in order to alleviate write rate limit errors.

@abalone23 I am not much familiar with overall clients' POV, but I guess that the rate limits are specified in megabytes per minute. Wouldn't be better to specify --limitRate=number to specify max written megabytes per minute?
The cost of the implementation is the same independently on the chosen units (lines/second MB/minute).

@sranka I based it on the (1.x CLI](https://docs.influxdata.com/influxdb/v1.8/tools/shell/#influx-arguments):

-pps How many points per second the import will allow. By default, pps is zero and influx will not throttle importing. Use with -import.

Your idea for limitRate would be better I agree.


text:
can retention policy be set in the config file?

Is it possible to set the retention policy in the config file rather than via a command line query?

It is not. More information on retention policies here. For general questions like this please refer to the documentation or the InfluxDB channel in the Gopher Slack Group.

authors: jackzampolin ucrkarthik


text:
feat: Add segmenting to write buffer and persistence to wal

This moves the write buffer into its own directory in the crate. It puts writes into a segment, which are persisted into the WAL if it is configured. Writes are buffered up before committed to ensure we don't do file IO with every individual write.
This doesn't yet load data from the wal into the buffer, which will come in a follow on PR. The bootup routine will also need to use the persister to know which wal segments should be loaded into the buffer. Finally, the buffer will need to rotate and persist segments.

This was a test to see if opening in a new PR would fix the annoying conflicts and lint failure in #24610


text:
Series file promotion & TSI index partitioning

I'm still trying to track down a query engine bug and doing a small refactoring on the index planning but I wanted to push something up to get some eyes on it. This includes @e-dard's partition changes and my series file changes.
Required for all non-trivial PRs

[ ] Rebased/mergable
[ ] Tests pass
[ ] CHANGELOG.md updated

🎉

authors: benbjohnson stuartcarnie


text:
Request RC32 on the download page

We have issues on performance, all our servers be loaded caused the Influxdb eat I/0 CPU

It seems that there are a lot of improvements on the RC32, is it possible to get it compiled in the deb package ?

@dtouzeau rc32 will likely be cut sometime today. Please test this again once rc32 is out and open a new bug report if you continue to run into performance problems.

authors: dtouzeau gunnaraasen

repo: influxdb/influxdb


text:
Stub out DELETE in parser to return better error

Fixes #4404
Stub out DELETE FROM queries in parser so that a 400 - Bad Request is returned to client with help error message about using DROP queries.

@pauldix How does this look?

Sure, looks good. Referencing #1647 for later

authors: nathanielc pauldix


text:
[FEATURE] Integrate all CLI options (especially the tuning options) into the configuration management system

With #1160, it should be quite simple to add new configurations through the configuration system. We should expose all configurations that are currently configurable via CLI via the configuration files too.
In particular, the tuning options are a good fit for this.
I propose making this work item dependent on #1174: once we have moved the configuration parameters into a class, it will be trivial to drop the class into the the class targeted by PureConfig.
Suggested by @konnov https://github.com/informalsystems/apalache/pull/1160/files#r769408346

Just leaving a note to document that we currently have two kinds of boolean commandline flags:

binary flags, e.g., --debug and --smtprof, and
tri-state flags, e.g., --profiling and --write-intermediate

The latter are 3-state to enable overriding env vars + config options. These should probably be unified as part of this effort.

The problem @thpani identified should be fixed by https://github.com/informalsystems/apalache/pull/2041

authors: shonfeder thpani

repo: informalsystems/apalache


text:
Package installation

(Notes from video sync with @thanethomson.)
For internal (and eventually external users) we'll want some packaging that can handle the system dependencies. We might start with a bash script (as discussed) but we could also consider using using system package managers (e.g.g, homebrew, apt).
We could also consider making a nix package, which should provide flexible cross-platform package management. I'd be willing to explore packing it via nix if we agreed this would be worth exploring.
In any case, we'll probably want to help users configure their node packages to install locally to a user, so as not to need root access. See https://github.com/glenpike/npm-g_nosudo for a script that does this.

brew

brew

authors: shonfeder zramsay

repo: informalsystems/themis-contract


text:
Conflict Error on recordset row delete should NOT redirect home on click

When trying to delete a row in recordset app that has a conflict error because other entities are still attached/related to it, the "ok" button in the error modal redirects to the home page. In this case, the modal is dismissible which is okay but we are "suggesting" to the user that they should navigate to the homepage when they might want to keep working with the current page (since the error is not because of a broken app).
The ok button should be changed to refresh/reload the current page. Update the text as well to be consistent with our other modal errors that suggest to "refresh/reload" on ok click.
NOTE: Check to see if this decision is affected by any chaise config properties.

This behavior has been fixed in the React implementation.

authors: RFSH jrchudy

repo: informatics-isi-edu/chaise


text:
Default Active Facets

Currently, we have an annotation for providing a prefered ordering of facets that should be displayed.  This should be extended so that the default ordering is dependent on current facet set.  Perhaps what we want is a simple filtering precondition the selects a ordering based on what filters are currently applied.  The example presented from facebase is if you are looking for genes, then you shouldn't include somite count.
It could be argued that this might be better fixed by a proper model.....

moved to wishlist

authors: carlkesselman robes


text:
data types - integer

From mcour...@gmail.com on November 06, 2008 12:06:54
Please indicate the label for the new term integer Please provide a textual definition An element of the infinite and numerable set {...,-3,-2,-1,0,1,2,3,...}. Please add an example of usage for that term Please provide any additional information below. (e.g., proposed position
in the IAO hierarchy)
synonym: whole number, when understood to include negative numbers and zero.
from http://en.wiktionary.org/wiki/integer
Original issue: http://code.google.com/p/information-artifact-ontology/issues/detail?id=4

From dan5%geo...@gtempaccount.com on November 06, 2008 09:24:55
I find this definition rather unsatisfactory.  Couldn't 'integer' be defined as a
number that lacks a remainder when divided by 1?
Another issue pertaining to this term is one of representation.  For example, 16,
2*8 (two multiplied by eight), 16.0, and 2^4 (two to the fourth power) are all
representations of the same number, which happens to be an integer.  For the use
case in mind, are they all considered integers, or just the string '16' ?

repo: information-artifact-ontology/IAO


text:
Only PartialCutWithFeed works with TSP100IIIW

I was able to connect to the printer and send a print command.
However, every print only comes out with tiny little slip with partial cut.
async function portDiscovery() {
  try {
    let printers = await StarPRNT.portDiscovery('All')
    console.log(printers)
    if (printers && printers.length > 0) {
      await connect(printers[0].portName)
      portName = printers[0].portName
      await new Promise(r => setTimeout(r, 5000))
      let commands = []
      commands.push({ append: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })
      commands.push({ appendRawBytes: [0x48, 0x65, 0x6c, 0x6c, 0x6f, 0x20, 0x57, 0x6f, 0x72, 0x6c, 0x64, 0x2e] })
      commands.push({ appendRaw: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })
      commands.push({ appendUnderline: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })
      commands.push({ appendAbsolutePosition: 40, data: 'Text with absolute position' })
      commands.push({ appendCutPaper: StarPRNT.CutPaperAction.PartialCutWithFeed })
      commands.push({ appendRaw: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })
      commands.push({ appendRaw: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })
      commands.push({ appendRaw: 'Star Clothing Boutique\n' + '123 Star Road\n' + 'City, State 12345\n' + '\n' })

      print(commands, printers[0].portName)
    }
  } catch (e) {
    console.error(e)
  }
}

this is my connect function
async function connect(portName, emulation = StarPRNT.Emulation.StarGraphic, hasBarcodeReader = false) {
  try {
    var connect = await StarPRNT.connect(portName, emulation, hasBarcodeReader)
    console.log(connect) // Printer Connected!
  } catch (e) {
    console.error(e)
  }
}

and print function
async function print(commands, portName, emulation = StarPRNT.Emulation.StarGraphic) {
  try {
    var printResult = await StarPRNT.print(emulation, commands, portName)
    console.log(printResult) // Success!
  } catch (e) {
    console.error(e)
  }
}

So...that is a raster printer. You need to convert your text into bitmap before you can print that out.
P.S.: You will need the StarGraphic emulation

@cstudios-slovakia Thank you so much for your answer. I am planning to use it only on Android. I was wondering if this library is capable of converting text into bitmap without having to touch the native code. Thank you so much!!

@bosung90 i'm in the same situation. so did you end up using a command in this package to convert to bitmap?

@aysfzaicmu no I haven't had a chance to get it to work yet

@bosung90 @aysfzaicmu please give a try on appendBitmapText command, this command worked for me.

@ararog appendBitmapText works only on iOS, implementation is missing on Android

we have a custom fork here https://github.com/cstudios-slovakia/react-native-star-prnt
You can use the appendRasterText command. This works both on android and ios, tested with actual printers

anyone else getting "Fail to open Port", for the BT:TSP100. I've tried the print with portName and without parameter. Connect says it worked, check status says connected but print says Fail to open Port
let commands = [];
commands.push({
appendBitmapText:
"Star Clothing Boutique\n" +
"123 Star Road\n" +
"City, State 12345\n" +
"\n"
});
commands.push({ appendBitmap: image });
try {
//this.connect()
    const result = await StarPRNT.print(this.emulation, commands, this.port);
    alert('printed')
  } catch(e) {
    alert(JSON.stringify(e))
    bugsnag.notify(e)
  }

Make sure the printer does not have harware error. Empty paper, paper cutter misaligned. If its hardware error you should see a blinking red light, but you can listen to hardware events by attaching a listener, but for this you have to use StarPRNT.connect first, then you will be able to console log them out. But either way it should work.

@HunWalk thanks for the response. printer is working fine if I use the Star Print app they supply, it prints. From the docs I don't see how one would listen to the events?

@HunWalk  I'm getting from status receiptPaperEmpty: true, its definitely full. and works when using their app

@HunWalk i started a fresh project and can get it to print QR codes and barcodes. I'm now working on appendBitmap, but its not working
`/**

Sample React Native App
https://github.com/facebook/react-native

@format
@flow
*/

import React, {Component} from 'react';
import {Platform, StyleSheet, Text, View, Image} from 'react-native';
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' + 'Cmd+D or shake for dev menu',
android:
'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
import { StarPRNT } from 'react-native-star-prnt';
import { Button } from 'react-native-elements';
import ViewShot, { releaseCapture } from "react-native-view-shot";
async function portDiscovery() {
try {
let printers = await StarPRNT.portDiscovery('All');
console.warn(printers);
} catch (e) {
console.error(e);
}
}
let refValue;
type Props = {};
export default class App extends Component {
constructor() {
super()
this.state = {
  image: null
}
this.print = this.print.bind();

}
onCapture = uri => {
console.warn("do something with ", uri);
///this.print(uri)
this.setState({ 'image': uri })
}
print = async () => {
try {
  let commands = [];
  commands.push({ appendBitmap: this.state.image});

  //commands.push({ appendQrCode: "{BStar", QrCodeModel: "No2", QrCodeLevel: "H", cell: 20, alignment: "Center" });
  //commands.push({ appendBarcode: "{BThis is Beautifule", BarcodeSymbology: "Code128", BarcodeWidth: "Mode2", height: 100, hri: true });

  console.warn(commands)
  var printResult = await StarPRNT.print('StarGraphic', commands, 'BT:TSP100');
  console.warn(printResult); // Success!
} catch (e) {
  console.warn(e);
}

}
render() {
//portDiscovery();
return (

{this.state.image}
{this.state.image ? (
<Image
style={{ width: 150, height: 50 }}
source={{uri : this.state.image}}
/>
) : null }
<ViewShot onCapture={this.onCapture} captureMode="mount" options={{  'format': 'png'}}>
Name
Recipient 123
Address: Address blah blah
Tel: 012 333 44
addres: Nono
asd: 123
Invoice No: 1234

  </View>
);

}
}
const styles = StyleSheet.create({
container: {
flex: 1,
justifyContent: 'center',
alignItems: 'center',
backgroundColor: '#F5FCFF',
},
welcome: {
fontSize: 20,
textAlign: 'center',
margin: 10,
},
instructions: {
textAlign: 'center',
color: '#333333',
marginBottom: 5,
},
});
`

I commented something useful above:

we have a custom fork here https://github.com/cstudios-slovakia/react-native-star-prnt
You can use the appendRasterText command. This works both on android and ios, tested with actual printers

There is no documentation, but here is a piece of code that works
makeBitmap = (base64) => {
        if (Platform.OS === 'ios') {
            return { appendBitmap: base64, diffusion: true, width: 320, bothScale: true, absolutePosition: (590-320)/2 }
        }else{
            return {
                appendBase64Bitmap: base64.replace(/^data:image\/[a-z]+;base64,/, ""),
                diffusion: true,
                width: 400,
                bothScale: true,
                absolutePosition: (590 - 320) / 2
            }
        }

    }

@HunWalk
I fixed it with:
commands.push({ appendBitmap: file:${image} });
So now it works in my limited demo app... still no luck in the real app though.

@stefangeorg double check the emulation, but please try to solve it alone, use google or think before spamming comments under a github issue which was not opened for this case.
@infoxicator please close this issue, it's already going in a different direction. If you do not intend to maintain this repo please let me know.
Cheers

@HunWalk I can give you access to the repository and now if you want to help maintain it?

@infoxicator yepp, i could check the issues on this repo every week in order to patch some things up by sending a PR, but the first thing this repo really needs is some additional informations inside the docs, because people are too lazy to read the manuals of the devices.
I'm gonna send a PR for this purpose.
I don't really think I need access, unless you want to abandon this repo, or you really don't have time to maintain it.

I could do with some help specially publishing new versions to non I left the company I developed this plugin for and don’t have access to printers to test. I can add you as a contributor

Okay then, we have an mPop an L200 and a Paypoint for ipad device in here i can use for testing.
You can reach me at gergely@cstudios.ninja for further communications

authors: HunWalk ararog aysfzaicmu bosung90 cstudios-slovakia infoxicator lukhol stefangeorg

repo: infoxicator/react-native-star-prnt


text:
Add monorepo GitHub comment example

This adds an example of how to post a GitHub comment when using Atlantis with a monorepo Terraform project.
This installs compost in the Dockerfile (currently pushed at infracost/infracost-atlantis:compost-test), and uses it to post an Infracost GitHub comment on pull requests.

I wonder if we should have a directory per example so it can have a readme too?

Yeah I was thinking the same, but not sure if we need that yet. I've added an examples README that can contain a summary of each one.

repo: infracost/infracost-atlantis


text:
Add Support for Google Secret Manager

Add support for Google Secret manger resources. Pricing details
Note for community: Please 👍 if you'd like to upvote this or receive updates.
See our contributing guide if you'd like to work on this! Implementation details:
google_secret_manager_secret
All cost components for this resource should show "cost depends on usage by default".

Cost component name: Active secret versions, units: versions. Monthly quantity is based on the usage param active_secret_versions: 10 # Number of active secret versions in each month.

Costing is multiplied per location that the secret is replicated into. If replication.0.automatic == true then just use 1 location. Else we need to multiply the active_secret_versions by the number of replication locations.

Cost component name: Access operations, units: 10K operations (UnitMultiplier should probably be set). Monthly quantity based on a usage param monthly_access_operations: 20000 # Monthly number of access operations.

Cost component name: Rotation Notifications, units: Rotations. Monthly quantity is based on the usage param monthly_rotation_notifications: 100 # Monthly number of rotation notifications..

google_secret_manager_secret_version

Cost component name: Active secret version, units: versions. Monthly quantity is 1 by default. If the parent google_secret_manager_secret is available and is replicated (follow d.References) then: if replication.0.automatic == true then keep using monthly quantity 1. Else, quantity is the number of replication locations.

Cost component name: Access operations, units: 10K operations (UnitMultiplier should probably be set). Monthly quantity based on a usage param monthly_access_operations: 20000 # Monthly number of access operations. - so it should show "cost depends on usage by default".

Free resources
google_secret_manager_secret_iam_policy
google_secret_manager_secret_iam_binding
google_secret_manager_secret_iam_member

Infracost implementation
Ok so as per the pricing details here https://cloud.google.com/secret-manager/pricing, secret manager is priced as such:

Billable item
Price per month

Active secret versions
$0.06 per version per location

Destroyed secret versions
Free

Access operations
$0.03 per 10,000 operations

Management operations
Free

Rotation Notifications
$0.05 per rotation

With the following free limits (I have questions about these, see the bottom of this comment)

Resource
Monthly free usage limits1

Active secret versions
6 versions

Access operations
10,000 operations

Rotation Notifications
3 rotations

Issues
As you'll see from the pricing table above the costs are split between google_secret_manager_secret & google_secret_manager_secret_version.
The ideal solution would mean have the all costs on google_secret_manager_secret counting numbers of google_secret_manager_secret_version from d.References. Fetching information such as enabled from the child google_secret_manager_secret_version.  This is not possible until https://github.com/infracost/infracost/issues/849 is merged. Thus we need to fallback to usage params.
google_secret_manager_secret
All the costs for Google Secret Manager can be encapsulated on this resource.
Active secret versions
Unit
versions
Costing
Monthly quantity based on usage param active_monthly_secret_versions which is a float allowing users to specify that they only used a certain version for x days out of the month. See pricing docs which notes:

"This is based on actual consumption. If you had a secret version that was active for only 2 days, you would be billed proportional to that usage, and not for the whole month."

Conditions
costing is multiplied per location that the google_secret_manager_secret is replicated into. If replication.0.automatic == true then just use 1 location. Else we need to multiply the active_monthly_secret_versions by the number of replication locations.
Access operations
Unit
10,000 Operations
Costing
Monthly quantity based on a usage param monthly_access_operations
Rotation Notifications
Unit
Rotations
Costing
We can do this 1 of two ways - there is a rotation block in the google_secret_manager_secret that has a rotation_period & next_rotation_time which we can use to estimate the number of monthly rotations. This won't catch manual rotations and might be a bit flaky.
Or we introduce usage param of monthly_rotation_notification which allows users to specify the number of rotations
Questions

If active_monthly_secret_versions < free tier of 6 versions then we need to display as free. However this is a global usage amount aggregated across projects for the billing account so we need to understand the total amount of secret versions in the whole infrastructure/plan. I'm not sure of the best way/if we can do this currently?
Same as above with monthly_access_operations which is free under 10,000 operations
Same as above for rotations, which are free under 3 a month.
See question about implementation for Rotation Notifications

@hugorut I updated the issue description using your investigation findings - thanks! The main changes I made are:

secret version is also charged for, we can assume quantity 1 or parent's location replica count. This enables users to see costs by default if they use versions, and use the usage-file to model costs at the parent's secret resource if needed.
we ignore free tiers, mentioned in the contrib guide and docs
I removed "monthly from the usage param for active_secret_versions as it's a continuous resource, the relevant contrib guide is this:

For resources that are continuous in time, do not use prefixes, e.g. use instances, subscriptions, storage_gb. For non-continuous resources, prefix with monthly_ so users knows what time interval to estimate for, e.g. monthly_log_lines, monthly_requests.

This has been merged to master and will go live with the v0.9.14 release sometime next week.

@yawboateng this is live in v0.9.14

repo: infracost/infracost


text:
Add TLS/Auth to all UIs

Exact copy of https://github.com/infrawatch/service-telemetry-operator/pull/281 to see if a new branch fixes CI

recheck

recheck

recheck

recheck

recheck

recheck

recheck

authors: csibbitt pleimer

repo: infrawatch/service-telemetry-operator


text:
Remove OperatorHub.io as a CatalogSource

Remove the OperatorHub.io CatalogSource and instead use the
community-operators CatalogSource which is available with an OCP
installation. Ideally this will avoid some of the conflicts we've been
seeing in our CI environment. This is a short term fix as future
development will likely make use of Observability Operator to provide
the metrics data store and alert delivery mechanism.

test

...
TASK [stf-run-ci : Remove OperatorHub.io CatalogSource if it installed] ********
changed: [localhost]
...

Looks like the old OperatorHub.io CatalogSource was removed. The job passed as well (not sure if this helped anything though).

test


text:
Implement support for Grafana Operator v5

Implement changes to support Grafana Operator v5 when the new
grafana.integreatly.org CRD is available. Use the new CRDs as default
when they are available. Fallover to deploying with Grafana Operator v4
when the Grafana Operator v5 CRDs are not available, thereby providing
backwards compatibility to allow administrators time to migrate.
Additionally, the polystat plugin has been removed from the rhos-cloud
dashboard due to compatibility issues with grafana-cli usage when
dynamically loading plugins. Usage of Grafana Operator v5 is also a
target for disconnected support, and dynamically loading plugins in
these environments is expected to be a problem.
Related: OSPRH-2577
Closes: STF-1667

The CI failures look familiar, and seem to be consistent with intermittent failures due to performance bottlenecks, most likely due to the nested virt. When I've seen these issues in the past, it's been resolved by rechecking.
I expect more consistent results when #531 is merged

recheck

No real objections, but I am leaning towards dropping the proxy config if we don't need it, just to keep things as simple as possible for people who are debugging this unsupported component.

I ended up needing the proxy config to get dashboards and datasources to apply correctly. Without it, I wouldn't get dashboards, and wouldn't be logged in, which is how the previous deployments would have worked.

So I also want to change the default image to be rhel8/grafana:9 vs 7 on the version, since it looks like Grafana v7 has gone EOL, and even downstream builds are now targeting Grafana 9 which continues to receive upstream CVE support.
I've been using grafana:9 in testing and everything seems to work. I guess changing the version and deleting/recreating the Grafana workload in the next minor release of STF is a bit awkward, but probably the better default going forward?

So I also want to change the default image to be rhel8/grafana:9 vs 7 on the version, since it looks like Grafana v7 has gone EOL, and even downstream builds are now targeting Grafana 9 which continues to receive upstream CVE support.
I've been using grafana:9 in testing and everything seems to work. I guess changing the version and deleting/recreating the Grafana workload in the next minor release of STF is a bit awkward, but probably the better default going forward?

I'm just going to leave everything default here, and if we find notification that Grafana:7 image from RHEL is no longer maintained downstream for CVEs, it should be easy enough to move to another image without any changes.
No changes for now other than what I've already implemented.

recheck

authors: elfiesmelfie leifmadsen


text:
Update compilerplugin, scalapb-runtime to 0.10.2

Updates

com.thesamet.scalapb:compilerplugin
com.thesamet.scalapb:scalapb-runtime

from 0.7.4 to 0.10.2.
GitHub Release Notes - Changelog - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Have a fantastic day writing Scala!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.thesamet.scalapb" } ]

labels: library-update, semver-minor

Done in #483

authors: jacum scala-steward

repo: ing-bank/baker


text:
Remove cassandra-all

this prone to collect vulnerable libs and sparsely used.
I think code copy would benefit more.

Hello @mjok,
Thanks a lot for your pull request. I will review it as soon as possible.
Could you please modify it to merge into release/next branch as requested in our contributing policy? We´ll take advantage of your changes to build and release a new minor version (4.6.0) including other changes already included into this branch.

Hello @mjok
Did you see the other comments on the pull request or didn't have you just the time to review them?

Didn't saw any comment other than branch to merge. Can't see any them either now

Didn't saw any comment other than branch to merge. Can't see any of them now. I did change the branch.

Sorry @mjok, my bad... I forgot to submit my review 😄

authors: maximevw mjok

repo: ing-bank/cassandra-jdbc-wrapper


text:
debug support with logging.py module

About
This feature/enhancement implements changes in the header docstring:
https://github.com/initd1/Cyber-Breach-Detector/blob/f848c272f120feff607256c9f5e95fc6b3667f03/Common/utils.py#L1-L5

[x] Add an exception in .gitignore that disallows logs from being included in commits
[x] Move methods that can be converted to functions in ip_reputation_checker.py
[x] Fix up comments, adding comments where needed and omitting redundant ones. Somewhat pertains to #6
[ ] Fix logging module with support for debug, info, error and critical levels

Prefer to have the logging changes and the test changes as separate if possible, so the merges can be done separately per issue.
But not too fussy about it for now.

Prefer to have the logging changes and the test changes as separate if possible, so the merges can be done separately per issue.
But not too fussy about it for now.

I 100% agree. Apologies for not making the PR's separate. To make the best of the situation, if you can make a separate branch for #21 that extrudes from the current Cyber-Breach-Detector/main branch that would be awesome.

Also I wanted to let you know that I really like your idea of naming the project Hack-Alert. It has a great ring to it! Would you be open to changing the repository name to match the new project name?

I 100% agree. Apologies for not making the PR's separate. To make the best of the situation, if you can make a separate branch for debug support with logging.py module #21 that extrudes from the current Cyber-Breach-Detector/main branch that would be awesome. I'll separate the changes that I've made in add unit tests and additional necessary omissions #20 into the new branch.

Please refer to: https://github.com/initd1/Cyber-Breach-Detector/issues/23
The new branch created from main has been linked

I also updated the original issue to match the format of the template that you committed in 3bcb77a

Thanks. Appreciate it.

On a separate note, I wanted to let you know that I really like your idea of naming the project Hack-Alert. It has a great ring to it! Would you be open to changing the repository name to match the new project name?

Yes! I was intending to do that. Question: Would the repository rename retain the commit history and branches etc?

Yes! I was intending to do that. Question: Would the repository rename retain the commit history and branches etc?

Git should automatically do that for you, but you'll get a warning saying that the repo name has changed, and it advises you to change that. I believe you can just change the remote url
with git remote --set-url <new url>

Yes! I was intending to do that. Question: Would the repository rename retain the commit history and branches etc?

Git should automatically manage everything for you, but you'll get a warning saying that the repo name has changed, and it advises you to change that. I believe you can just change the remote url with git remote --set-url <new url>.
As for retaining the commit history and branches, yes.

thank you. I have renamed the repo to HackAlert.  I do intend to rename main.py to hackalert.py, which I will create a new issue for.
Also invited you as a Collaborator. Appreciate your contribution to this repo :)

Thank you, and I appreciate this honor you've given me. it's been a blast working on this with you.

Closed as of #25


text:
How can I solve the alignment problem?

How can I solve the alignment problem when cells are smaller than half of the screen and I want to see the first or last cell?
See attached GIF:

Thanks for suggestions.

Hi! I have unexpected behavior of layout here -> it is presented on gif. It happens only when scroll ~ each three cells. How that can be fixed?

repo: ink-spot/UPCarouselFlowLayout


text:
Typing Issue

README.md
:preview, :p
Toggles HMTL preview.
Change to HTML

?

authors: craftzdog kyrorb

repo: inkdropapp/inkdrop-vim


text:
Deprecate getJob() and implement fetchJob()

Resolves #752
In addition to deprecating getJob(), using deprecated functions such as getJob() or removejob() will not print a deprecation warning message.
Also implemented fetchJob() (which I wanted to name getJob() originally) that similar to listJob() but only return one job object and not in an array.

Thanks @limzykenneth !

authors: inlife limzykenneth

repo: inlife/nexrender


text:
Bump types-python-dateutil from 2.8.8 to 2.8.9 (#3737)

Pull request opened by the merge tool on behalf of #3737

Merged in 29fb975b52881a79fdb602f9f855c694c28bb9c0

repo: inmanta/inmanta-core


text:
Issue/3803 disallow multiline strings with single quotes

Description
Trying to write a single quoted string over multiple lines now raises a syntax error.
closes #3803
Self Check:
Strike through any lines that are not applicable (~~line~~) then check the box

[x] Attached issue to pull request
[x] Changelog entry
- [ ] Type annotations are present
- [ ] Code is clear and sufficiently documented
- [ ] No (preventable) type errors (check using make mypy or make mypy-diff)
[x] Sufficient test cases (reproduces the bug/tests the requested feature)
- [ ] Correct, in line with design
- [ ] End user documentation is included or an issue is created for end-user documentation (add ref to issue here: )

Reviewer Checklist:

[ ] Sufficient test cases (reproduces the bug/tests the requested feature)
[ ] Code is clear and sufficiently documented
[ ] Correct, in line with design

Improvement suggestion:
We could improve the error message. Currently this snippet :
std::print(
  r"test
  string"
  )

Would raise:
Syntax error: Illegal character '"'
, which corresponds to the opening quote of the string. This message isn't indicative of the real problem (That multilines strings aren't allowed within single quotes).

Processing this pull request

Pull request rejected by merge tool. Destination branch iso5 does not allow major changes.

Processing this pull request

Merged into branches master in 1778b51b78537859fe209ebd69981b0bd6c4406b

Processing #3896.

authors: Hugo-Inmanta inmantaci


text:
Issue/2871 resources tab (#2911)

Pull request opened by the merge tool on behalf of #2911

Merged into branches iso4 in 341dd7c7c63e4cd5dc9110a0b06f37fc3eaaced1

repo: inmanta/web-console


text:
Getting an TraceBack error everytime i text from telegram

whatever i text on telegram i get this error, and the telegram bot says its typing and then just stops and doesn't send anything
This is the traceback error
user_text What’s up
user_text What’s up
generate_answer local variable 'tokens' referenced before assignment
cannot unpack non-iterable NoneType object
Exception in thread Thread-14 (thread_get_message):
Traceback (most recent call last):
File "E:\oobabooga_windows\installer_files\env\lib\threading.py", line 1016, in _bootstrap_inner
self.run()
File "E:\oobabooga_windows\installer_files\env\lib\threading.py", line 953, in run
self._target(*self._args, **self._kwargs)
File "E:\oobabooga_windows\text-generation-webui\extensions\telegram_bot\TelegramBotWrapper.py", line 765, in thread_get_message
raise e
File "E:\oobabooga_windows\text-generation-webui\extensions\telegram_bot\TelegramBotWrapper.py", line 746, in thread_get_message
answer, system_message = self.generate_answer(
TypeError: cannot unpack non-iterable NoneType object

Add some new parameters to config #130. At my config (llama.cpp + llama-2-7b) works fine.
Also, you can try to use api mode:

add --api to oobaboga flags
in telegram_config.json set "generator_script": "GeneratorTextGeneratorWebuiApi".

Please, share if it helps or not.

im not sure what i did wrong when i tried here.. but idk after restarting the webui it started to work

Can't this be closed, then?

authors: Maki9009 innightwolfsleep svenstaro


text:
Flickering on reverse scrolling when items have wide range of sizes in desktop Safari

As far as I researched, Safari seems to have 2 tricky behavior (maybe a kind of bug?):

Imperative scrollTop update during scrolling sometimes delays. For example, setting  scrollTop += 1000 will usually affect the next scroll event, however sometimes not next but after the next in Safari.
Imperative scrollTop update during scrolling sometimes delays browser's paint. That means updated items range may not be painted immediately and can cause blank.

Originally posted by @inokawa in https://github.com/inokawa/virtua/issues/261#issuecomment-1925718938

hi @inokawa just checking, have you been able to think of a solution to this problem? I think this is a common problem faced by other virtual scrollers like react-virtuoso..

It's probably fixable by detecting desktop Safari by user agent and patching it. Previously I was looking for a more general solution, but it didn't work that time.

It's probably fixable by detecting desktop Safari by user agent and patching it. Previously I was looking for a more general solution, but it didn't work that time.

Can you share your thoughts & how should we approach this for vue?

authors: LookRain WalrusSoup inokawa

repo: inokawa/virtua


text:
Latest ledger integration

Description
Requires:

https://github.com/input-output-hk/cardano-ledger/pull/3496
https://github.com/input-output-hk/ouroboros-consensus/pull/184

Changelog
- description: |
    <insert-changelog-description-here>
  # no-changes: the API has not changed
  # compatible: the API has changed but is non-breaking
  # breaking: the API has changed in a breaking way
  compatibility: <no-api-changes|compatible|breaking>
  # feature: the change implements a new feature in the API
  # bugfix: the change fixes a bug in the API
  # test: the change fixes modifies tests
  # maintenance: the change involves something other than the API
  # If more than one is applicable, it may be put into a list.
  type: <feature|bugfix|test|maintenance>

Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages
[ ] The change log section in the PR description has been filled in
[ ] New tests are added if needed and existing tests are updated.  These may include:

golden tests
property tests
roundtrip tests

[ ] Any changes are noted in the CHANGELOG.md for affected package
[ ] The version bounds in .cabal files are updated
[ ] CI passes. See note on CI.  The following CI checks are required:

[ ] Code is linted with hlint.  See .github/workflows/check-hlint.yml to get the hlint version
[ ] Code is formatted with stylish-haskell.  See .github/workflows/stylish-haskell.yml to get the stylish-haskell version
[ ] Code builds on Linux, MacOS and Windows for ghc-8.10.7 and ghc-9.2.7

[ ] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG node developers to do this
for you.

This can be closed. Superceded by #97 .

authors: carbolymer erikd

repo: input-output-hk/cardano-api


text:
DBSync abort on possibly truncated ledger state file.

Just got the error:
runDBThread: FatalError
    {fatalErrorMessage =
         "findStateFromPoint failed to parse required state file: ledger-state/mainne/32323418-bab4ce9d7a.lstate"
     }

We should probably handle that more gracefully than just aborting.
However, deleting that file and restarting db-sync got it running successfully.

Should be trivial to reproduce this, but stopping db-sync truncating the latest ledger state file and restarting.

repo: input-output-hk/cardano-db-sync


text:
Mismatch between formal and executable UProp type and UPPVV rule

In the executable ledger spec the UProp type doesn’t seem to have a field for the update proposal size despite an abstract function “upSize” being defined in the formal ledger spec Chapter 6.1, p.20, Figure 20. Following this, in the formal ledger spec Chapter 6.2, p.23, Figure 25: Update proposals validity rules, the proposal size is checked against the maxProposalSize which is defined in the protocol parameters. This is not implemented in the executable spec.

Development of Byron code has been frozen and only potential security fixes will be applied in the future

authors: JaredCorduan jmhrpr

repo: input-output-hk/cardano-ledger


text:
[FR] - Add a synchronisation percentage figure to the query tip command output

Internal
Area
CLI
Describe the feature you'd like
The cardano-cli query tip command output currently looks like:
{
    "epoch": 238,
    "hash": "aafe6262fcccabf3b7b6603cee0a7d8ff91f89e90ecf5444e98fed20500d65e0",
    "slot": 17818160,
    "block": 5146835
}

It would be nice if the synchronization percentage could be included.
Describe alternatives you've considered
There is a script, but the script is likely to be wrong.

The ticket #2559 was raised by someone using the script (originally written for a testnet) on mainnet.

#2568 is related and should be tackled at the same time as this one.

this is fixed starting with node 1.29.0
{
    "epoch": 302,
    "hash": "e956ec99f769479d75de0f0fd62d1ca051f2cb4768a4485f116e75fb845e45b7",
    "slot": 45487490,
    "block": 6508194,
    "era": "Alonzo",
    "syncProgress": "100.00"
}

repo: input-output-hk/cardano-node


text:
Better error messages from ledger

What
Error messages given by the CLI to the user should:

Give specific, usable details about the error.
Reveal what caused the error.
Help the user to solve the error.

On this Discovery process we have the following goals:

[ ] Audit error messages coming from ledger.
[ ] Figure how to resolve serialization issues surrounding the changing of error messages.

Drivers

DevX

Why
Cryptic, unclear error messages can lead to waste of time and frustration.  Good error messages reduce friction and make the coding experience more enjoyable.
Benefits by persona
Dapp Developers, SPO: Quick recovery from errors, improved satisfaction, reduced errors.
Dependencies
Talk Ledger team about serialization of error messages.

How about assigning a unique number to each of the error messages? CNE(rror) or CNW(arning) as prefix, then two digits for the range
01 Consensus
02 configuration
03 network
04 block production
And then a four digit error number
CNE020001 invalid json in node config file
This way it will become possible to quickly find content and answers in web, chat and forum mediums

authors: CarlosLopezDeLara gufmar


text:
Run by docker and long time has no /data/node.socket file

db-sync connects node takes 5 mins
my config
version: "3.5"

services:
  postgres:
    image: postgres:11.5-alpine
    environment:
      - POSTGRES_LOGGING=true
      - POSTGRES_DB_FILE=/run/secrets/postgres_db
      - POSTGRES_PASSWORD_FILE=/run/secrets/postgres_password
      - POSTGRES_USER_FILE=/run/secrets/postgres_user
    secrets:
      - postgres_password
      - postgres_user
      - postgres_db
    volumes:
      - postgres:/var/lib/postgresql/data
    restart: on-failure

  node:
    # cardano-node 1.8.0
    image: inputoutput/cardano-node:64c2778c61245dcda13eaf16a2e0738dfacb7a16
    environment:
      - NETWORK=mainnet
    volumes:
      - cardano-node:/data
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

  dbsync:
    # cardano-db-sync 1.4.0
    image: inputoutput/cardano-db-sync:be2fb8ae73c3ad872de0ad80621bca4718b64b25
    environment:
      - NETWORK=mainnet
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
    depends_on:
      - node
      - postgres
    secrets:
      - postgres_password
      - postgres_user
      - postgres_db
    volumes:
      - cardano-node:/data
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

  explorer-api:
    image: inputoutput/cardano-explorer-api:2.0.0
    depends_on:
      - postgres
      - dbsync
    environment:
      - POSTGRES_HOST=postgres
      - POSTGRES_PORT=5432
    secrets:
      - postgres_password
      - postgres_user
      - postgres_db
    ports:
      - 8100:8100
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

  submit-api:
    image: inputoutput/cardano-submit-api:2.0.0
    environment:
      - NETWORK=mainnet
    depends_on:
      - node
    volumes:
      - cardano-node:/data
    ports:
      - 8101:8101
    restart: on-failure
    logging:
      driver: "json-file"
      options:
        max-size: "200k"
        max-file: "10"

secrets:
  postgres_db:
    file: ./config/postgres_db
  postgres_password:
    file: ./config/postgres_password
  postgres_user:
    file: ./config/postgres_user
  pgpass:
    file: ./config/pgpass

volumes:
  postgres:
  cardano-node:

test by latest 1.9.2/1.9.3,and also has this issue.


text:
Fix the cli flag name --utxo-cost-per-word

It was previously accidentally the same as the old flag --min-utxo-value

bors merge


text:
[CSM-216] Remove ssc type param

Removed ssc type param, just for wallet web.

Also, guys, I could propagate these changes throughout the code, trying to replace as much as I can. Or not. Your choice.

Also, guys, I could propagate these changes throughout the code, trying to replace as much as I can.

I think it's okay to do as long as you test that the code still compiles with SscType = NistBeacon.

Also, guys, I could propagate these changes throughout the code, trying to replace as much as I can. Or not. Your choice.

Only in Pos.Wallet.

@ksaric please rename SscType to WalletSscChoice or something and move it to some module in Pos.Wallet.*, and I'll merge this PR.

@neongreen Fixed as proposed.

Btw, I think you can remove it from WalletMode too (AFAIU, it's used only in Pos.Wallet) if you want.

@gromakovsky Ok, thanks, I'd rather leave it as is for now and merge it as fast as I can. I can change the rest later. Not sure about the stack.yaml reference for time-warp-nt though.

authors: gromakovsky ksaric neongreen

repo: input-output-hk/cardano-sl


text:
Ajust jsonToMetadata and jsonFromMetadata from cardano-api

Context

These functions are making several implicit conversion when dealing with JSON data which make them very unpractical to use.
Decision

a. Encode JSON as CBOR considering only the following "optimizations"
b. Hexadecimal sequences starting with 0x are encoded as CBOR bytestring.
c. JSON keys that are numbers are encoded as CBOR numbers.
d. CBOR is shown as JSON when possible, or as a string representing JSON-encoded data when not (i.e. when map keys aren't numbers or strings).
e. CBOR bytestrings are represented as hexadecimal strings prefixed with 0x
NOTE 1: Roundtripping would only work in one direction, when coming from a JSON value and that's totally fine.
NOTE 2: Complexe metadata using non-string keys in maps will render with funky keys in JSON, that's acceptable.
NOTE 3: Related Slack thread https://input-output-rnd.slack.com/archives/GR599HMFX/p1598966521093500
Acceptance Criteria

Development

QA

I have a slight preference for a JSON representation which can perfectly map one-to-one with the on-chain metadata.
It's not much more burden on API users. There are already several limitations on what metadata they can set. It's definitely not POJO.

authors: KtorZ rvl

repo: input-output-hk/cardano-wallet


text:
additional test for next epoch num

Issue Number
#1088
Overview

[ ] I have added additional check for the nextEpochNum in the integration test
[ ] added additional test: Calculated next epoch no is the next epoch no

Comments

bors r+

We could adjust the existing test (that uses waitForNextEpoch) to check that we have indeed passed the predicted time t while waiting.

Went for that :point_up_2:  for now. Thx!
Also addressed other review remarks.

Made nextEpochStartTime <= now instead of nextEpochStartTime < now to fix a race condition in test.
bors r+

bors r+

bors r+

bors r+


text:
Add transaction list CLI command.

Issue Number
#467
Overview
I have:

[x] added a transaction list command to the CLI, which takes optional --start TIME and --end TIME parameters.
[x] added a CLI unit test to demonstrate that transaction list --help displays the expected help text.
[x] added a CLI integration test to confirm that transaction list returns [] for a brand new wallet, regardless of what values are provided for --start or -end (as expected).

Outstanding work for future PRs
The listTransactions endpoint is not yet implemented, currently returning [].
Therefore, the tests introduced in this PR are limited in their scope.
Once the listTransactions endpoint is implemented, we can add the following tests in future PRs:

[ ] CLI integration tests to confirm that the full set of transactions is returned when neither --start nor --end are specified.
[ ] CLI integration tests to confirm that appropriate subsets of transactions are returned, in the correct order, when either --start or --end are specified (or both).

I've changed the CLI time range arguments to --start and --end in line with the discussion here: https://github.com/input-output-hk/cardano-wallet/issues/467#issuecomment-514080923

Thanks! +1

@piotr-iohk thanks again for your thorough review, I appreciate our discussion.


text:
use IOHK organization to host persistent fork

Issue Number

N/A
Overview

[x] I have changed our stack dependency to use the IOHK fork of persistent now that we have maintainers right on it.

Comments

bors r+


text:
[Sentry] Add stats about devices distribution usage

Sentry log web client allows to dump mobile devices distribution. We can get information regarding registration:
{
    "message": "User registered with public_key: c53db2e7cd48bef1ca32f2e0c629118e5d1e4ab26d72af14e0463b57703569c6",
    "title": "User registered with public_key: c53db2e7cd48bef1ca32f2e0c629118e5d1e4ab26d72af14e0463b57703569c6",
    .
    .
    .
    "user": {
      .
      .
      .
      "username": "c53db2e7cd48bef1ca32f2e0c629118e5d1e4ab26d72af14e0463b57703569c6",
    },
    "tags": [
      .
      .
      .
      {
        "key": "device",
        "value": "SM-G991U"
      },
      {
        "key": "device.family",
        "value": "Samsung SM-G991U"
      },
      {
        "key": "environment",
        "value": "Production"
      },
      {
        "key": "os",
        "value": "Android 11"
      },
      {
        "key": "os.name",
        "value": "Android"
      },
    ],
  },

The problem is that it is almost impossible to print out distribution (in %) of above entry occuring between defined range. I would like to use catalyst-toolbox for that with query:
catalyst-toolbox logs sentry stats distribution --contains "User registered with public_key.*" --start-time  {DATE} --end-time {DATE}

where Date is in format: "2021-06-15T07:11:25+00:00"

Covered in #26

Implemented in #26

authors: danielSanchezQ dkijania

repo: input-output-hk/catalyst-toolbox


text:
Export CSV with raw numbers.

Right now the exporting of the transactions use the preset number format.
Is it possible to  export the csv as a raw number format without the space/comma/period string-character.
The aesthetics of the number format are great and to my liking. but when i want to start fooling around with spreadsheets. it's just an extra step to remove the noise. :-)

Hi @jodeknudt, thanks for your message. We will consider your suggestion and come back shortly with the decision.

Hi @jodeknudt. We agreed your suggestion is valuable so we plan to implement it in the future.

Thank you for the feedback, looking forward towards to this little tadpole of a change.

Thank you for your report. Closing the card as the feature was implemented and would be included into the upcoming release.

authors: dmitrii-gaico jodeknudt szymonmaslowski

repo: input-output-hk/daedalus


text:
[DDW-131] Connecting a hardware wallet

This PR adds Connecting to a Hardware wallet screens with instructions how to setup and connect your device with Daedalus.
Todos

[x] Fix lint/flow issues
[x] Adding missing elements
[x] Fix scss styling issues

Screenshots

Testing Checklist

Slack QA thread
[ ] Test

Review Checklist
Basics

[ ] PR has been assigned and has appropriate labels (feature/bug/chore, release-x.x.x)
[ ] PR is updated to the most recent version of the target branch (and there are no conflicts)
[ ] PR has a good description that summarizes all changes
[ ] PR has default-sized Daedalus window screenshots or animated GIFs of important UI changes:

[ ] In English
[ ] In Japanese

[ ] CHANGELOG entry has been added to the top of the appropriate section (Features, Fixes, Chores) and is linked to the correct PR on GitHub
[ ] Automated tests: All acceptance and unit tests are passing (yarn test)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in development build (yarn dev)
[ ] Manual tests (minimum tests should cover newly added feature/fix): App works correctly in production build (yarn package / CI builds)
[ ] There are no flow errors or warnings (yarn flow:test)
[ ] There are no lint errors or warnings (yarn lint)
[ ] There are no prettier errors or warnings (yarn prettier:check)
[ ] There are no missing translations (running yarn manage:translations produces no changes)
[ ] Text changes are proofread and approved (Jane Wild / Amy Reeve)
[ ] Japanese text changes are proofread and approved (Junko Oda)
[ ] UI changes look good in all themes (Alexander Rukin)
[ ] Storybook works and no stories are broken (yarn storybook)
[ ] In case of dependency changes yarn.lock file is updated

Code Quality

[ ] Important parts of the code are properly commented and documented
[ ] Code is properly typed with flow
[ ] React components are split-up enough to avoid unnecessary re-renderings
[ ] Any code that only works in main process is neatly separated from components

Testing

[ ] New feature/change is covered by acceptance tests
[ ] New feature/change is manually tested and approved by QA team
[ ] All existing acceptance tests are still up-to-date
[ ] New feature/change is covered by Daedalus Testing scenario
[ ] All existing Daedalus Testing scenarios are still up-to-date

After Review

[ ] Merge the PR
[ ] Delete the source branch
[ ] Move the ticket to done column on the YouTrack board
[ ] Update Slack QA thread by marking it with a green checkmark

@DeeJayElly boxes missing borders

theme-red

Added

@DeeJayElly boxes missing borders

regular border color = input border coor
active item border color = link color
error item border color = theme-red

Added

middle border is doubled
can we remove non-active one?

middle border is doubled can we remove non-active one?

Done

@DeeJayElly are you going to apply themes here too?
Or it's just for light-blue one only?

BTW https://zpl.io/aworEw1 here you can see all crops dedicated to one device (if we can differentiate ledger x from s)

@DeeJayElly are you going to apply themes here too?
Or it's just for light-blue one only?

Themes are applied

Add stories with connected HW, so with HW sidebar, pages etc.
Fix flow issues
Fix eslint issues
You forgot to define scss variables in thems/utils/createTheme
Run translations manager

Done with all of these items @tomothespian

@DeeJayElly in netlify borders disappeared

@DeeJayElly in netlify borders disappeared

UPD: and all screens are the same

Fixed

@a-rukin can you check the latest changes?

Well, I've checked
Steps looks ok
I'm curious if this PR will include:

theming
specific cases when we detect specific device (atm trezor has image with 3 devices and ledger with 2)

authors: DeeJayElly a-rukin tomothespian


text:
Introduce IsLedger/ApplyBlock classes

These allow us to talk about the concept of a ledger independent from a block. We can then say that the ledger state of a block behaves like a ledger, but so does the extended ledger state, and so does the ledger DB itself.

bors merge

repo: input-output-hk/ouroboros-network


text:
v1.2.0 release - set smart contracts version

Description
Add your description here, if it fixes a particular issue please provide a
link
to the issue.
Checklist

[ ] Commit sequence broadly makes sense and commits have useful messages.
[ ] New tests are added if needed and existing tests are updated.
[ ] Relevant logging and metrics added
[ ] CI passes. See note on CI.
[ ] Any changes are noted in the changelog.md for affected crate
[ ] Self-reviewed the diff

Note on CI
If your PR is from a fork, the necessary CI jobs won't trigger automatically for security reasons.
You will need to get someone with write privileges.  Please contact IOG Partner Chains developers to do this
for you.

trustless was renamed and the version was dropped to have the nix-os build green. So we should release smart-contracts first before we make this change

repo: input-output-hk/partner-chains


text:
Update james-iohk/cardano-node 1.35.4 fork branch for cardano-testnet

Pre-submit checklist:

Branch

[ ] Tests are provided (if possible)
[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Formatting, PNG optimization, etc. are updated
[ ] Important changes are reflected in changelog.d of the affected packages

PR

[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reference the ADR in the PR and reference the PR in the ADR (if revelant)
[ ] Reviewer requested

Superseded by https://github.com/input-output-hk/plutus-apps/pull/977 so we probably don't need to merge this now.

repo: input-output-hk/plutus-apps


text:
Move more tests to use the test lib

A couple of generalizations to the testlib.
Move the tests in core-to-plc and plutus-th to use the testlib.

I think possibly the testlib should go in its own package...

Looks like hydra is failing to report notifications again. Let me know if you're happy and I'll merge.

LGTM, feel free to merge.

authors: effectfully michaelpj

repo: input-output-hk/plutus


text:
[Bug] [PLC] [Builtins] Unlifting to 'Int' can fail

This fixes an embarrassing bug found by @bezirg.

Pre-submit checklist:

Branch

[ ] Commit sequence broadly makes sense
[ ] Key commits have useful messages
[ ] Relevant tickets are mentioned in commit messages

PR

[ ] Self-reviewed the diff
[ ] Useful pull request description
[ ] Reviewer requested

If you updated any cabal files or added Haskell packages:

[ ] $(nix-build default.nix -A pkgsLocal.updateMaterialized) to update the materialized Nix files
[ ] Update hie-*.yaml files if needed

If you changed any Haskell files:

[ ] $(nix-shell shell.nix --run fix-stylish-haskell) to fix any formatting issues

If you changed any Purescript files:

[ ] $(nix-shell shell.nix --run fix-purty) to fix any formatting issues

Pre-merge checklist:

[ ] Someone approved it
[ ] Commits have useful messages
[ ] Review clarifications made it into the code
[ ] History is moderately tidy; or going to squash-merge

Comments addressed.

I reviewed it, it looks fine to me although I don't know much about the innards of makeKnown/readKnown; I initially though that the change would be like @michaelpj 's suggestion of just replacing fromIntegral with some check+failure.
I have a question, shouldn't <https://github.com/input-output-hk/plutus/blob/5759480a9d343cc0f8ab2318e2360fc4d104e65b/plutus-tx/src/Language/PlutusTx/Builtins.hs#L72  >
this be changed as well to reflect the new behaviour?

I initially though that the change would be like @michaelpj 's suggestion of just replacing fromIntegral with some check+failure.

I find the current way of doing things more ergonomic while amounting to the same check+failure machinery under the hood.

be changed as well to reflect the new behaviour?

Great question. @michaelpj

That is a great question. I should make it clearer what the conditions on these functions are in the doc comments. They're supposed to be "off-chain equivalents" of the on-chain functions. In this case I think what's there is fine: it does BS.take, and fails with an error if the Integer is out of range.

I have bad news for ya:
>>> fromIntegral ((2 :: Integer) ^ (100 :: Integer)) :: Int
0

fromIntegral eventually delegates to integerToInt, which eventually delegates to bigNatToInt implemented as
bigNatToInt :: BigNat -> Int#
bigNatToInt (BN# ba#) = indexIntArray# ba# 0#

i.e. bigNatToInt simply truncates the array without checking anything.

authors: bezirg effectfully michaelpj


text:
Remove old nix setup: mv ./__std__ -> ./nix

Old hydra CI now always fail as it won't find the release.nix
New hydra CI (the plutus-flaked-* in https://hydra.iohk.io/project/Cardano) hasn't triggered in a few PRs...
So we now rely fully on Cicero

Where are we with this? can you reproduce the failure locally?

Where are we with this? can you reproduce the failure locally?

Trying the right now, though I'm on darwin.
Also pushed a noop change to trigger CI -> maybe the logs have come back

Preprocessing library 'plutus-core-testlib' for plutus-core-1.1.0.0..
Building library 'plutus-core-testlib' for plutus-core-1.1.0.0..

<no location info>: error: [-Wunused-packages, -Werror=unused-packages]
    The following packages were specified via -package or -package-id flags,
    but were not needed for compilation:
      - data-default-class-0.1.2.0-CQYBH38PFES4dDyailJWvd

Some progress:
[17 of 28] Compiling PlutusCore.Generators.QuickCheck.Utils ( testlib/PlutusCore/Generators/QuickCheck/Utils.hs, dist/build/plutus-core-testlib>

testlib/PlutusCore/Generators/QuickCheck/Utils.hs:65:28: error: [-Wstar-is-type, -Werror=star-is-type]
    Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
    relies on the StarIsType extension, which will become
    deprecated in the future.
    Suggested fix: use ‘Type’ from ‘Data.Kind’ instead.
   |
65 |   data OneHoleContext f :: * -> *
   |                            ^

testlib/PlutusCore/Generators/QuickCheck/Utils.hs:65:33: error: [-Wstar-is-type, -Werror=star-is-type]
    Using ‘*’ (or its Unicode variant) to mean ‘Data.Kind.Type’
    relies on the StarIsType extension, which will become
    deprecated in the future.
    Suggested fix: use ‘Type’ from ‘Data.Kind’ instead.
   |
65 |   data OneHoleContext f :: * -> *
   |                                 ^
[25 of 28] Compiling PlutusIR.Generators.AST ( testlib/PlutusIR/Generators/AST.hs, dist/build/plutus-core-testlib/PlutusIR/Generators/AST.o, di>
[26 of 28] Compiling Test.Tasty.Extras ( testlib/Test/Tasty/Extras.hs, dist/build/plutus-core-testlib/Test/Tasty/Extras.o, dist/build/plutus-co>

I'm confused that you're finding new errors here, shouldn't those have turned up on master already?

CI started failing 5 commits ago -> last 5 commits in master failed CI
5th from last commit https://github.com/input-output-hk/plutus/pull/4880 was the one that introduced the new errors that we are finding here (see plutus-core/testlib/PlutusCore/Generators/QuickCheck/Utils.hs)

So to answer your question: they turned up but we ignored them or rather they were hidden by Cicero's "fail-fast" setting

I guess it was before we made it requied...

Yes. Also, I'm not sure the ci status (Required) is getting sent by Cicero. We'll see how this current invocation turns out

Yes. Also, I'm not sure the ci status (Required) is getting sent by Cicero. We'll see how this current invocation turns out

I take it back. It kind of works: if all jobs pass, then ci goes green, but if any job fails, then ci stays in the Expected yellow state

Has a small conflict now

Keeping an eye on https://hydra.iohk.io/jobset/Cardano/plutus-flaked-pr-4926#tabs-evaluations
If that also passes then we can merge

Keeping an eye on https://hydra.iohk.io/jobset/Cardano/plutus-flaked-pr-4926#tabs-evaluations
If that also passes then we can merge

Actually I will need a new PR for that

authors: michaelpj zeme-iohk


text:
Port Thorn_Calculus-Experiments from legacy repository

This resolves #74.

I added a comment at the beginning that tells what the purpose of this theory is and changed the name of this theory from Thorn_Calculus-Experiments to Thorn_Calculus-Examples, because that better fits the current purpose of this theory as stated in the comment. Otherwise, I left everything as it had been in the final version in the legacy repository.

repo: input-output-hk/thorn-calculus


text:
error after upgrade

does anyone have this issue and how did you fix it. Thanks
gcalcli calw
Traceback (most recent call last):
File "/usr/bin/gcalcli", line 11, in
load_entry_point('gcalcli==4.0.4', 'console_scripts', 'gcalcli')()
File "/usr/lib/python3.7/site-packages/gcalcli/cli.py", line 147, in main
cal_names=cal_names, printer=printer, **vars(parsed_args)
File "/usr/lib/python3.7/site-packages/gcalcli/gcal.py", line 67, in init
self._get_cached()
File "/usr/lib/python3.7/site-packages/gcalcli/gcal.py", line 196, in _get_cached
self.all_cals = self.cache['all_cals']

rm ~/.gcalcli_cache

An unfortunate side effect of making all of the code and variable names in a consistent, pythonic style was that we broke your local cache.  Alas, I wish I had realized it before I released, I would have added versioning to the cache in order to make this seamless.

Deleting .gcalclifc fix this issue.

repo: insanum/gcalcli