Commit graph

1001 commits

Author SHA1 Message Date
Travis Ralston
798e7a1f86 Merge branch 'develop' into travis/dispatcher-types 2020-05-15 09:56:02 -06:00
Michael Telatynski
59f1657b43 Add jest-canvas-mock
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-15 00:25:19 +01:00
Michael Telatynski
cf3c4d9e5f Extract Password field from Registration into a reusable component
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-05-14 20:20:36 +01:00
Travis Ralston
861268d39f Invent an AsyncStore and use it for room lists
This is to get around the problem of a slow dispatch loop. Instead of slowing the whole app down to deal with room lists, we'll just raise events to say we're ready.

Based upon the EventEmitter class.
2020-05-14 12:44:29 -06:00
Travis Ralston
08419d195e Initial breakout for room list rewrite
This does a number of things (sorry):
* Estimates the type changes needed to the dispatcher (later to be replaced by https://github.com/matrix-org/matrix-react-sdk/pull/4593)
* Sets up the stack for a whole new room list store, and later components for usage.
* Create a proxy class to ensure the app still functions as expected when the various stores are enabled/disabled
* Demonstrates a possible structure for algorithms
2020-05-14 12:44:29 -06:00
RiotRobot
81174b5f55 v2.6.0-rc.1 2020-05-14 16:30:17 +01:00
RiotRobot
d8003df24c Upgrade matrix-js-sdk to 6.1.0-rc.1 2020-05-14 16:22:30 +01:00
Michael Telatynski
1ba19e78f8 Merge branches 'develop' and 't3chguy/qrcode' of github.com:matrix-org/matrix-react-sdk into t3chguy/qrcode
 Conflicts:
	package.json
2020-05-14 10:50:42 +01:00
Travis Ralston
fa83df4bde Convert dispatcher to TypeScript and replace async usage with new class
Due to TypeScript and flux's types being annoying and highly typesafe, we need an AsyncActionPayload which intentionally doesn't use the 'action' property. This looks a bit awkward, though for the rare cases we do actually fire async actions it should be fine enough.

The call signature changes slightly for async events, therefore this commit also updates its usages for async events. 

The `fire()` function is to be used in a future commit.
Remove biased comment
2020-05-13 21:07:50 -06:00
RiotRobot
aa0c6f1f71 Reset matrix-js-sdk back to develop branch 2020-05-05 11:40:37 +01:00
RiotRobot
338486b561 Merge branch 'master' into develop 2020-05-05 11:27:52 +01:00
RiotRobot
854855a5aa v2.5.0 2020-05-05 11:10:36 +01:00
RiotRobot
1423c2e4bc Upgrade matrix-js-sdk to 6.0.0 2020-05-05 11:04:24 +01:00
RiotRobot
ccb6d91988 v2.5.0-rc.6 2020-05-01 16:30:10 +01:00
RiotRobot
b5cb912cfd Upgrade matrix-js-sdk to 6.0.0-rc.2 2020-05-01 16:24:59 +01:00
RiotRobot
619fbd6adc v2.5.0-rc.5 2020-04-30 11:30:14 +01:00
RiotRobot
5a29bf569d Upgrade matrix-js-sdk to 6.0.0-rc.1 2020-04-30 11:21:33 +01:00
Michael Telatynski
42a857cb5e Revert "Update emojibase for fixed emoji codepoints and Emoji 13 support"
(cherry picked from commit 972f9d354d)
2020-04-24 13:24:54 +01:00
Michael Telatynski
972f9d354d
Revert "Update emojibase for fixed emoji codepoints and Emoji 13 support" 2020-04-24 12:25:19 +01:00
RiotRobot
941709d19a v2.5.0-rc.4 2020-04-23 15:55:37 +01:00
RiotRobot
86200812a5 Upgrade matrix-js-sdk to 5.3.1-rc.4 2020-04-23 15:49:21 +01:00
Travis Ralston
a55698e943 Merge branch 'travis/moar-jitsi' into travis/addwidget-improvements 2020-04-20 09:22:38 -06:00
Michael Telatynski
3bc5a0a0b2 Convert submit-rageshake to typescript
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-19 12:06:56 +01:00
RiotRobot
1ee2d6f3a2 v2.5.0-rc.3 2020-04-17 17:51:49 +01:00
RiotRobot
383915d5cc Upgrade matrix-js-sdk to 5.3.1-rc.3 2020-04-17 17:46:55 +01:00
Travis Ralston
6d46ef548e Enable tests again to catch failures 2020-04-16 16:26:29 -06:00
RiotRobot
23f167d681 v2.5.0-rc.2 2020-04-16 20:01:46 +01:00
RiotRobot
c6746e68b2 Upgrade matrix-js-sdk to 5.3.1-rc.2 2020-04-16 19:56:11 +01:00
Travis Ralston
c3f90ed289 Short-circuit all end to end tests 2020-04-16 12:42:42 -06:00
Travis Ralston
1deece3fb5 Short-circuit all end to end tests 2020-04-16 12:41:48 -06:00
RiotRobot
6ee09cd688 v2.5.0-rc.1 2020-04-15 19:18:45 +01:00
RiotRobot
5022eaf483 Upgrade matrix-js-sdk to 5.3.1-rc.1 2020-04-15 19:13:00 +01:00
RiotRobot
a054ea0653 Merge branch 'release-v2.4.0' into release-v2.5.0 2020-04-15 19:07:11 +01:00
Travis Ralston
77bdde4021 Merge branch 'travis/moar-jitsi' into travis/addwidget-improvements 2020-04-14 12:58:16 -06:00
Michael Telatynski
4fc88d69a3 Remove unused react-addons-css-transition-group
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-12 01:04:54 +01:00
Michael Telatynski
237084da78 wrap node-qrcode in a React FC and use it for ShareDialog instead of qrcode-react
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-11 23:46:58 +01:00
Travis Ralston
0165ff0bc9 Allow iframes and Jitsi URLs in /addwidget
Fixes https://github.com/vector-im/riot-web/issues/12784
2020-04-09 16:03:40 -06:00
RiotRobot
0d1b7b9963 v2.4.0-rc.1 2020-04-08 13:59:23 +01:00
RiotRobot
6095a00703 Upgrade matrix-js-sdk to 5.3.0-rc.1 2020-04-08 13:52:46 +01:00
Michael Telatynski
5ac68d4ce0 Update emojibase for fixed emoji codepoints and Emoji 13 support
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-04-06 11:10:00 +01:00
RiotRobot
d8d48275c3 Merge branch 'master' into develop 2020-04-01 14:59:01 +01:00
RiotRobot
adb2fc89e2 v2.3.1 2020-04-01 14:57:53 +01:00
Michael Telatynski
2a45ccaef3 Merge branches 'develop' and 'travis/download-logs' of github.com:matrix-org/matrix-react-sdk into travis/download-logs
 Conflicts:
	yarn.lock
2020-03-30 15:52:36 +01:00
RiotRobot
78fd8e4569 Reset matrix-js-sdk back to develop branch 2020-03-30 13:42:52 +01:00
RiotRobot
e32e9cec06 v2.3.0 2020-03-30 13:41:02 +01:00
RiotRobot
d369695e22 Upgrade matrix-js-sdk to 5.2.0 2020-03-30 13:31:42 +01:00
RiotRobot
2fe0edd3eb v2.3.0-rc.1 2020-03-26 13:21:11 +00:00
RiotRobot
a1c83a4f0e Upgrade matrix-js-sdk to 5.2.0-rc.1 2020-03-26 13:02:54 +00:00
Travis Ralston
94d23c815a Improve naming of Jitsi conferences
Fixes https://github.com/vector-im/riot-web/issues/12812
2020-03-20 14:19:47 -06:00
Michael Telatynski
d593a76f28 Merge branches 'develop' and 't3chguy/kbd' of github.com:matrix-org/matrix-react-sdk into t3chguy/kbd 2020-03-18 20:41:13 +00:00
Michael Telatynski
cad28c81c0 Add Keyboard shortcuts dialog
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-18 16:40:21 +00:00
Michael Telatynski
42ee157645
Merge pull request #4217 from matrix-org/t3chguy/gemini
Remove Gemini Scrollbars
2020-03-18 14:03:51 +00:00
RiotRobot
b09c063d1b Reset matrix-js-sdk back to develop branch 2020-03-17 14:25:44 +00:00
RiotRobot
8e8723bb36 Merge branch 'master' into develop 2020-03-17 14:24:35 +00:00
RiotRobot
1e3b917aed v2.2.3 2020-03-17 14:18:15 +00:00
RiotRobot
83b6155637 Upgrade matrix-js-sdk to 5.1.1 2020-03-17 14:12:15 +00:00
Michael Telatynski
44b0aa2d88 Remove remainders of gemini-scrollbar and react-gemini-scrollbar
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-03-17 10:31:45 +00:00
Travis Ralston
751bcfb1f5 Supply --jsx react to tsc 2020-03-11 18:24:01 -06:00
Travis Ralston
7dd7417f12 Enable support for TypeScript in components
Includes: compilation, translations, IDE support (use .tsx not .ts), typings, and other build tools.

TypeScript component have to import PropTypes and React with `import * as React from 'react';`
2020-03-11 18:03:43 -06:00
RiotRobot
9b6986e862 v2.2.3-rc.1 2020-03-11 17:33:57 +00:00
RiotRobot
57022d9355 Reset matrix-js-sdk back to develop branch 2020-03-11 16:25:15 +00:00
RiotRobot
0e08e4bd0e v2.2.2 2020-03-11 16:23:53 +00:00
RiotRobot
15d5190b9b js-sdk rc.1 2020-03-11 16:18:08 +00:00
RiotRobot
1d4f77dacc Merge branch 'master' into develop 2020-03-04 11:40:35 +00:00
RiotRobot
ce879b95cf v2.2.1 2020-03-04 11:30:35 +00:00
RiotRobot
00dc187f71 Reset matrix-js-sdk back to develop 2020-03-02 17:43:21 +00:00
RiotRobot
134ca31b25 v2.2.0 2020-03-02 17:33:23 +00:00
RiotRobot
7fcad8c82c Upgrade matrix-js-sdk to 5.1.0 2020-03-02 17:29:36 +00:00
RiotRobot
c7246f8eab v2.2.0-rc.1 2020-02-26 14:29:31 +00:00
RiotRobot
9afa66364e Upgrade matrix-js-sdk to 5.1.0-rc.1 2020-02-26 14:24:58 +00:00
Travis Ralston
f74b283287
Merge pull request #4091 from matrix-org/travis/qr-binary
Use binary packing for verification QR codes
2020-02-21 10:05:12 -07:00
J. Ryan Stinnett
766f523c00 Reset matrix-js-sdk back to develop branch 2020-02-20 11:41:53 +00:00
Travis Ralston
45963adeb4 Use binary packing for verification QR codes
Fixes https://github.com/vector-im/riot-web/issues/12257
Fixes https://github.com/vector-im/riot-web/issues/12375

We do not remove the existing QR code library in this commit because it is still used elsewhere (like the share dialog). 

This should be as accurate as possible to what [MSC1543](https://github.com/matrix-org/matrix-doc/pull/1544) asks for.
2020-02-19 17:02:14 -07:00
RiotRobot
2d05205c9e v2.1.1 2020-02-19 16:03:58 +00:00
RiotRobot
a687d158e8 Released js-sdk 2020-02-19 15:59:37 +00:00
David Baker
281cc223ed back to develop dep 2020-02-17 14:16:03 +00:00
RiotRobot
f99d347b23 v2.1.0 2020-02-17 13:36:06 +00:00
RiotRobot
34dbeb0604 Released js-sdk 2020-02-17 13:21:07 +00:00
RiotRobot
ab91e859d9 v2.1.0-rc.2 2020-02-13 17:47:20 +00:00
RiotRobot
1970dbff94 Try JS SDK upgrade one more time 2020-02-13 17:43:27 +00:00
RiotRobot
242f1afb55 v2.1.0-rc.1 2020-02-13 17:35:56 +00:00
RiotRobot
163539d9f4 Upgrade JS SDK to 5.0.0-rc.1 2020-02-13 15:57:48 +00:00
Michael Telatynski
e65404b631 Explicitly (not transitively) depend on minimist as bin script uses it 2020-02-04 11:13:18 +00:00
J. Ryan Stinnett
805e9abb39 Flip back to develop 2020-01-27 16:00:25 +00:00
RiotRobot
7a79b78292 Merge branch 'master' into develop 2020-01-27 11:46:56 +00:00
RiotRobot
8c56c59922 v2.0.0 2020-01-27 11:44:10 +00:00
RiotRobot
692c993a34 js-sdk v4.0.0 2020-01-27 11:40:05 +00:00
Travis Ralston
a330ee186a Move & upgrade babel runtime into dependencies (like it wants)
https://babeljs.io/docs/en/babel-runtime
2020-01-23 15:43:48 -07:00
Travis Ralston
4aa3be9b42 Move & upgrade babel runtime into dependencies (like it wants)
https://babeljs.io/docs/en/babel-runtime
2020-01-23 15:43:22 -07:00
David Baker
2842e8dee8 Change prepublish script to prepare
prepublish is deprecated (prepare also runs for git checkouts, and
lib will need to be built in this case).
2020-01-22 14:15:17 +00:00
RiotRobot
4521ef1a7b v2.0.0-rc.2 2020-01-20 17:27:00 +00:00
David Baker
d3ae65698f Add prepublish script
https://github.com/matrix-org/matrix-react-sdk/pull/3723 removed
the prepare script which was how the SDK got built before being
published. Add it back as a more modern prepublish script.
2020-01-20 17:20:57 +00:00
David Baker
34c69a59b2 Add prepublish script
https://github.com/matrix-org/matrix-react-sdk/pull/3723 removed
the prepare script which was how the SDK got built before being
published. Add it back as a more modern prepublish script.
2020-01-20 15:26:34 +00:00
RiotRobot
4ee2fce1f1 v2.0.0-rc.1 2020-01-20 14:34:07 +00:00
David Baker
d2ef6ba3f5 js-sdk 4.0.0-rc.1 2020-01-20 14:27:19 +00:00
Michael Telatynski
f228f70987 Merge branch 'develop' of github.com:matrix-org/matrix-react-sdk into t3chguy/deps 2020-01-18 02:02:51 +00:00
Michael Telatynski
c97de43f69 Remove unused fetch polyfills, querystring, require-json. Move glob to dev-dep
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-18 02:01:45 +00:00
Michael Telatynski
9365a9cb30 Remove lolex where its not needed and move to dev-deps. Remove unused optimist
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-18 01:39:14 +00:00
Travis Ralston
f535fdbcaa Update chokidar to fix reskindex not working
The major version bump doesn't appear to affect us. It wasn't working before on Windows, but now it is.
2020-01-16 15:39:07 -07:00
Travis Ralston
01a7a6987e Add a rageshake function to download the logs locally
For https://github.com/vector-im/riot-web/issues/3304

This generates something similar to what the rageshake server does, just in an easy package for people to use. tar-js was chosen over zip or anything else because it's small, simple, and stable. 

Note: this doesn't work in Chrome, but firefox seems to be okay with it. Chrome appears to be blocking the  download for some reason - the very first download was fine, but none afterwards
2020-01-15 23:22:31 -07:00
Travis Ralston
d763d7e633 Merge branch 'develop' into travis/ftue/user-lists/5.2-i18n 2020-01-15 10:49:38 -07:00
Travis Ralston
b69b284efa Humanize the recent DM rooms ourselves for translations 2020-01-13 21:20:01 -07:00
Travis Ralston
5fd27a10bb Merge branch 'develop' into travis/sourcemaps 2020-01-13 11:19:41 -07:00
RiotRobot
389e1194ff Merge branch 'master' into develop 2020-01-13 13:09:56 +00:00
RiotRobot
8091cadc46 v1.7.6 2020-01-13 13:06:31 +00:00
RiotRobot
9a3ca28978 js-sdk 3.0.0 2020-01-13 13:01:36 +00:00
Travis Ralston
d7dd67f69e Remove subtly irrelevant package 2020-01-09 17:28:32 -07:00
Travis Ralston
ffd037dfa8 Fix resolution of files for Jest 2020-01-09 17:22:21 -07:00
Travis Ralston
0e8af15b9c Add webcrypto dep back
Probably accidentally merge-conflicted out
2020-01-09 17:15:13 -07:00
Travis Ralston
23eb6cbeb3 Upgrade Jest and babel-jest to match js-sdk
This also magically gets rid of a ton of errors
2020-01-09 16:17:27 -07:00
Travis Ralston
a8c8406ac4 Merge remote-tracking branch 'origin/t3chguy/jest' into travis/sourcemaps 2020-01-09 16:06:46 -07:00
Travis Ralston
a0da13200f Fix conflicts in package.json
We removed the emojistrip script
2020-01-09 14:15:16 -07:00
Travis Ralston
fde32f13a5 [CONFLICT CHUNKS] Merge branch 'develop' into travis/sourcemaps-develop 2020-01-09 14:15:09 -07:00
Michael Telatynski
245a68b3ba Merge branches 'develop' and 't3chguy/clean_up_TextualBody' of github.com:matrix-org/matrix-react-sdk into t3chguy/clean_up_TextualBody
 Conflicts:
	yarn.lock
2020-01-09 12:17:21 +00:00
Travis Ralston
1d9d706b9c
Merge pull request #3789 from matrix-org/t3chguy/render_html_entities_in_og-description
Render encoded html entities in og:description
2020-01-08 21:38:31 -07:00
Travis Ralston
85c4c72bf3
Merge pull request #3767 from matrix-org/travis/babel7-wp-package
Update package.json for new build process + cosmetics
2020-01-08 11:10:05 -07:00
RiotRobot
a3fe5bbd8c v1.7.6-rc.2 2020-01-08 11:20:29 +00:00
Travis Ralston
9213f88180 Re-add docs 2020-01-07 15:13:42 -07:00
RiotRobot
0df16631c2 v1.7.6-rc.1 2020-01-06 14:01:54 +00:00
RiotRobot
6b8f6239c5 js-sdk 3.0.0-rc.1 2020-01-06 13:58:43 +00:00
RiotRobot
93c4439045 js-sdk rc.1 2020-01-06 13:30:56 +00:00
Michael Telatynski
c551f2983a Add TextualBody-test.js
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 13:28:29 +00:00
Michael Telatynski
d31c863563 Remove all usages of slate in favour of CIDER
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-06 00:15:48 +00:00
Michael Telatynski
4bea87f00d Merge branches 'develop' and 't3chguy/render_html_entities_in_og-description' of github.com:matrix-org/matrix-react-sdk into t3chguy/render_html_entities_in_og-description
 Conflicts:
	package.json
2020-01-05 22:23:03 +00:00
Michael Telatynski
378a82e6fb Use html-entities instead
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2020-01-05 22:22:09 +00:00
Travis Ralston
4de0f7257a Initial implementation of FTUE user lists design
This covers the "recents" section and rough design exclusively. It is known that the Field does nothing and that there's a bunch of missing functionality - this is to be iterated upon in future PRs. Labs flag is to aide development and should be removed in a very near future PR.

Also, this is focusing on DMs and not user lists in general because I misinterpreted the scope. I'll fix this in a future PR and instead make this the best DM invite dialog it can be.

Closes https://github.com/vector-im/riot-web/issues/11197
2020-01-02 17:40:18 -07:00
Travis Ralston
23e5333935 Introduce babel's export-default-from plugin to fix build errors
We do a lot of default exporting, so we kinda need this. It even asks for it to be installed when it is missing.
2019-12-22 21:36:56 -07:00
Travis Ralston
69424f4b42 Add package.json fields for riot-web's webpack
See a1c9551bc8
2019-12-22 21:34:39 -07:00
Travis Ralston
d8da634c8b Cosmetic updates to package.json 2019-12-22 21:34:27 -07:00
Michael Telatynski
affc8b8459 Merge branches 'develop' and 't3chguy/jest' of https://github.com/matrix-org/matrix-react-sdk into t3chguy/jest
 Conflicts:
	yarn.lock
2019-12-19 10:50:14 +00:00
Michael Telatynski
d35b01b63a Get rid of stripped-emoji.json in favour of an in-memory single truth source 2019-12-18 15:40:19 +00:00
Michael Telatynski
a2246374f1 correct testMatch so it doesn't try run js-sdk tests 2019-12-17 13:05:18 +00:00
Michael Telatynski
409a111b02 wait additional tick 2019-12-17 12:42:47 +00:00
Michael Telatynski
bcba9a3e50 fix yarn test for bashy things v2 2019-12-17 12:23:51 +00:00
Michael Telatynski
f06a94388f fix yarn test for bashy things 2019-12-17 12:22:11 +00:00
Michael Telatynski
e6d8487302 Fix more tests 2019-12-17 11:47:01 +00:00
Michael Telatynski
ab3fb6581b Down to 7 test failures 2019-12-17 11:24:37 +00:00
Michael Telatynski
85ade7e1a1 Switch to react-focus-lock for it to comprehend Portals 2019-12-16 12:16:41 +00:00
Michael Telatynski
0041dae664 26 test failures to go :D 2019-12-16 11:55:01 +00:00
Michael Telatynski
6ad31fe023 30 test failures to go :D 2019-12-16 11:12:48 +00:00
Michael Telatynski
18f81d80db Initial jest stuff. Blocked on Babel 7 2019-12-13 13:43:48 +00:00
Travis Ralston
20a615396b Implementation of new potential skinning mechanism
With a switch to Only One Webpack™ we need a way to help developers generate the component index without a concurrent watch task. The best way to do this is to have developers import their components, but how do they do that when we support skins? The answer in this commit is to change skinning.

Skinning now expects to receive your list of overrides instead of the react-sdk+branded components. For Riot this means we send over *only* the Vector components and not Vector+react-sdk. 

Components can then be annotated with the `replaceComponent` decorator to have them be skinnable. The decorator must take a string with the dot path of the component because we can't reliably calculate it ourselves, sadly. 

The decorator does a call to `getComponent` which is where the important part of the branded components not including the react-sdk is important: if the branded app includes the react-sdk then the decorator gets executed before the skin has finished loading, leading to all kinds of fun errors. This is also why the skinner lazily loads the react-sdk components to avoid importing them too early, breaking the app.

The decorator will end up receiving null for a component because of the getComponent loop mentioned: the require() call is still in progress when the decorator is called, therefore we can't error out. All usages of getComponent() within the app are safe to not need such an error (the return won't be null, and developers shouldn't use getComponent() after this commit anyways).

The AuthPage, being a prominent component, has been converted to demonstrate this working. Changes to riot-web are required to have this work.

The reskindex script has also been altered to reflect these skinning changes - it no longer should set the react-sdk as a parent. The eventual end goal is to get rid of `getComponent()` entirely as it'll be easily replaced by imports.
2019-12-12 19:48:45 -07:00
Travis Ralston
97af0403e5 Upgrade to babel@7 and support typescript
This breaks the tests
2019-12-12 14:37:14 -07:00
J. Ryan Stinnett
108293dcba Flip back to develop 2019-12-11 10:39:04 +00:00
Michael Telatynski
f079c2fdd2
Merge pull request #3709 from matrix-org/t3chguy/what-input
Add what-input to allow different scoping to focus-visible for MAB a11y
2019-12-09 13:45:59 +00:00
RiotRobot
0ac4e6f5a0 v1.7.5 2019-12-09 11:34:42 +00:00
RiotRobot
36a3fe7ecf released js-sdk 2019-12-09 11:29:39 +00:00
Michael Telatynski
4be8b87869 Add what-input to allow different scoping to focus-visible for MessageActionBar keyboard a11y
Signed-off-by: Michael Telatynski <7t3chguy@gmail.com>
2019-12-07 13:07:52 +00:00
RiotRobot
9072a47f9d v1.7.5-rc.1 2019-12-04 12:03:50 +00:00
RiotRobot
8ef30245c9 js-sdk rc.1 2019-12-04 12:00:44 +00:00