All notable changes to this project will be documented in this file. The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- New makeowner endpoint + notif + allow owners to leave if not alone.
- Allow @cascade trick + dgraph query bridge refactor
- Improve user notification for member linked or unlinked (or left)
- Remove empty contract refeferences when deleting a contract.
- Fix empty string first-link in NodeFragment
- Simplify project Project Column update resolver.
- Format with gofumpt
- Add build info in schema
- fix/api: test that username are lowercase
- fix/api: returns assignees with fetchTensionAll
- fix/cli: token command should honor the username if given.
- fix some tests
- contrib path
- upgrade dependencies.
- [schema] add Project data structure.
- [schema] externalize and decompose auth rules in schema/.
- [schema] merge fractale schemas in schema/.
- [api] add Project, ProjectColumn, ProjectCard and ProjectDraft resolvers.
- [api] add Gamma dql generic query function + add some generics functions.
- [route] add the password update route.
- [cli] add deluser command.
- update License
- refactor: node resolver.
- Automatically watch organisation when joining it
- Prevent node to be moved in a role + fix user organisation removed notification
- Delete some reverse node when deleting users that was missing.
- build: make schema compatible with dgraph v22
- buid: add options to contrib/dgraph configs file to change ports.
- refactor: update resolvers with bridge query
- refactor: make DgraphQueryResolverRaw obsolete with new Dgraph bridge resolver using proper inputs [WIP]
- fix/schema:Fix duplicate issue with artefact case; make w_* effective with *Filter input in schema.
- fix/updateAretefact: allow duplicate artefacts to be added to circles even if not at root circle.
- Update go.mod
- fixed variable defined ut not used in dql delete tension.
- improve topLabels query to fix label context queries
- add quote to count2 query to allow string with sp
- fix count2 query to handle space characters.
- new mockup screenchots
- Pin tension support (schema update + auth rules + custom dql query)
- Update CORS to allow staging.fractale.co used for test purpose.
- Set/restrict notification policy
- allow multiple label and assignee events to be published at once
- new orga watchers useless copy to children/
- remove Alert type hint for alert notification.
- fix deep delete mutation
- schema: remove Node.mandate and NodeFragment.children obsolete fields.
- propagate change in tension history when updating labels.
- New schema and query entries to support user reactions/emojis in comments.
- add User name and username to tensions_all query results.
- notification: Fix Mentioned email notification -> user mentioned reason take precedence over other reason.
- Count user notification and asssigned tension with getUserCount.
- Remove assigned tensions of an user that leaves an organisation.
- build: add dgraph service files.
- mailer: footpage for Announcement tension with link to unsubscribe.
- mailer: footpage for Alert tension with link to leave organisation.
- mailer: mail subject is now quoted to escape special character.
- Make a user watch an organisation when they creates it.
- add some tests/
- fix cookie Expires date and token validity time.
- allow Label edition for labels defined in multiple circles (only editable from the root circle).
- fix bug that prevented user to leave an organisation due a bad nameid check.
- fix duplicate email sent for mention user and ref tension.
- fix wrong notification message sent when comments where sent in a short timestamp.
- schema: new announcement tension type.
- mailer: handle user to notify for announcement tension + queries to get watchers.
- auth: authorization for special tension type (Alert & Announcement).
- cmd: pass optional username argument fort token gen command.
- mailer: send valid unsubscribe/unwatch email notifications + email typo fix
- mailer: email formating.
- mailer: email decoding when receiving email in a circle (create a tension).
- auth: panic for isMember check case for non existant user/username.
- Add AGPLv3 License.
- mailer: Mail can be send to organisation to create tension, just use the organisation uri (i.e. [email protected], f6/[email protected]).
- webhook: add matrix webhook.
- tension: mentioned tensions event capability.
- cmd: adduser command to add user from command line.
- cmd: gentoken to print usable JWT token for the API + Dgraph.
- build: add some go tests.
- build: Makefile rule to build and publish release
- dql: returns node attributes along with labels and template roles queries to be able to display to which nodes Labels and Roles template belongs to.
- mailer: refactor code that write email title and body.
- mailer: postal signature validation.
- build: fix schema and build instructions.
- errors: improve error formating in handlers/auth.
- user welcome notification
- email have List-Unsubscrive header (one-click link)
- [schema] add new meta user attribute to count unread notification
- upgrade go.mod
- fix double email sent on close contract regression
- Special notification when user join an organisation (with link to contract) or is removed from an organisation.
- Tension node get title automatically updated according to node type and name.
- pushHistory is done in the notifications daemon, in the PushEventNotification function.
- dql.Count method return errors instead of exiting.
- [notification] UserCtx now integrate the User.name field, and in email notifications.
- [notification] notifications for contract are now hanledoutside the resolvers.
- [auth] Dgraph token crashed if user was first_link of a circle.
- [auth] HasCoordos ensure that look for coordo role with first_link.
- [auth] protect membership role (Guest, Owner etc) and allow users to be remove from an organisation.
- [auth] changing userCanJoin settings correctly set the children visibility.
- [notification] fixed how we retrive first_link for ReasonIsFirstLink.
- [notification] fix notification reasons order.
- [MAJOR] handle root request trought fileserver to serve frontend and manage i18n preference
- Makefile rules to build frontend with i18n versions
- add restricted usernames to prevent URI unintended effects.
- empty handler
emailing
for http endpoint for postal
- cache-control max-age is passed as argument for fileserver
- [uctx] user roles has now color attribute.
- Improve email notifications policies and text.
- authorization check and publication in notification endpoint (web/handlers/notification.go)
- IP restriction to access postal http endpoint.
- Emain invintatino for pending user is now sent.
- This changelog file
- [major] add the reset password feature.
- [major]tension and node can be moved (except Root, self-loop and recursion).
- [major] Add contracts object queries.
- Member of an organisation can add (contract are automatically created for coordo that try to move a blobed tension)
- Member can update (push or edit on comment) on contract.
- Author and coordo can delete a contract
- Add more control over authorizations (through tension events)
- [auth] Use dgraph auth rule in schema with JWT token (Root test, Bot Ownership and Memership test)
- [schema] add Node.rights and User.type_ fields
- [schema] add isContractValidator directive for Contract "meta" literal.
- [auth] Add auth rules for bot roles
- deepDelete operation implemented. The children node to delete should be definide in
db/dql.go
in thedelete<Type>
entry. - aggregate queries and fields are not generated thanks to a gqlast update.
- [schema] Rename UserJoin event to UserJoined
- [resolver] rename UserCtxFromContext to GetUserContext
- [schema] hook directive renamed with Input suffix for argumants directive and without suffix {query}{Type} for field query/mutation.
- [schema] introduce the @meta directive on field to aggregate count data with DQL requests.
- [gqlast.py] gram/graphql.ebnf to handle new directives (@auth and @custom).
- [auth] Bot role type can now only create tension in the parent circle of the bot.
- [auth] add level of authorization and hook based on tension events (see tensionPostHook)
- [auth]improve and strenghen the query authorization for Node Post and Tension through @auth directive and resolver hooks.
- [api] go api now handle graphql variables in queries
- [api] private organisation can now create they label (the one with the "@" in the url (nameid)). Quote was missing inside the DQL eq filter.
- [api] int type in schema are not set with omitempty anymore to prevent losing 0 value (aka false value for bool types). Prior to follow request to the backend, Null value are filtered out after Marshall operation, prior
- [schema/resolver] directive operating on input object (add/alter/patch) don't need the name of the field anymore in schema.
- [resolver] @unique directive know work on all types.
- isPrivate extra field for request validation is no longer with @auth schema directives.