Commit graph

10679 commits

Author SHA1 Message Date
Jeremy Kescher
0d829dadea
Merge remote-tracking branch 'upstream/main' into develop
# Conflicts:
#	Gemfile.lock
#	app/javascript/flavours/glitch/features/ui/index.js
#	app/javascript/mastodon/features/ui/index.js
2023-01-18 22:29:27 +01:00
Claire
26c2b401a5
Fix missing admin CSS in glitch-soc flavor (#2088)
Port SCSS changes from 43f56f1291

Signed-off-by: Claire <claire.github-309c@sitedethib.com>

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
Co-authored-by: Eugen Rochko <eugen@zeonfederated.com>
2023-01-18 18:54:04 +01:00
Claire
3f74235ac5 [Glitch] Fix confusing wording in the sign in banner
Port 3588fbc766 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:59:06 +01:00
Connor Shea
00cc1536f2 [Glitch] Add listing of followed hashtags
Port 30e895299c to glitch-soc

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:58:18 +01:00
Claire
55e368c02f [Glitch] Add option to make the landing page be /about even when trends are enabled
Port 3970a6f433 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:54:37 +01:00
Claire
b5c6a116a7 [Glitch] Add support for editing media description and focus point of already-posted statuses
Port 4b92e59f4f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:52:45 +01:00
Claire
9b4afb320a [Glitch] Change account moderation notes to make links clickable
Port 9b3e22c40d to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:49:29 +01:00
Peter Simonsson
9205b4e32f [Glitch] Add checkmark symbol to checkbox
Port 7e6ffa085f to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:48:48 +01:00
Jeong Arm
c87b1a20c7 [Glitch] Make visible change for new post notification setting icon
Port 1b2ef60cec to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:45:27 +01:00
Claire
473fed2cdf [Glitch] Fix /api/v1/admin/trends/tags using wrong serializer
Port b034dc42be to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 17:44:45 +01:00
Claire
60abcb3c4c Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `config/i18n-tasks.yml`:
  Upstream added new ignored strings, glitch-soc has extra ignored strings
  because of the theming system.
  Added upstream's changes.
2023-01-18 17:38:11 +01:00
Claire
3588fbc766
Fix confusing wording in the sign in banner (#22490)
* Fix confusing wording in the sign in banner

* Split into two sentences
2023-01-18 17:15:23 +01:00
Claire
68dcbcb7bf
Add more specific error messages to HTTP signature verification (#21617)
* Return specific error on failure to parse Date header

* Add error message when preferredUsername is not set

* Change error report to be JSON and include more details

* Change error report to differentiate unknown account and failed refresh

* Add tests
2023-01-18 16:47:56 +01:00
Connor Shea
30e895299c
Add listing of followed hashtags (#21773)
* Add followed_tags route.

This at least gets us to the point where the page can actually be
rendered, although it doesn't display any hashtags (yet?).

Attempting to implement #20763.

* Fix minor issues.

* I've got the followed tags data partially working

But the Hashtag component errors for some reason. Something about the
value of the history attribute being invalid.

* Fix a mistake in the code

* Minor change.

* Get the followed hashtags list fully working.

Still need to add the Follow/Unfollow buttons, though.

* Resolve JS linter issues.

* Add pagination logic to followed tags list view.

However, it currently loads further pages immediately on page load, so
that's not ideal. Need to figure that one out.

* Appease the linter.

* Apply suggestions from code review

Co-authored-by: Claire <claire.github-309c@sitedethib.com>

* Fixes and resolve some other feedback.

* Use set/update instead of setIn/updateIn.

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-01-18 16:44:33 +01:00
Claire
3970a6f433
Add option to make the landing page be /about even when trends are enabled (#20808)
* Add option to make the landing page be /about even when trends are enabled

* Restablish /explore as landing page by default
2023-01-18 16:43:58 +01:00
Claire
343e1fe8e9
Add confirmation screen when handling reports (#22375)
* Add confirmation screen on moderation actions

* Add flash notice when a report has been processed

* Refactor tests

* Add tests
2023-01-18 16:40:09 +01:00
Claire
4b92e59f4f
Add support for editing media description and focus point of already-posted statuses (#20878)
* Add backend support for editing media attachments of existing posts

* Allow editing media attachments of already-posted toots

* Add tests
2023-01-18 16:33:55 +01:00
Claire
d1387579b9
Fix situations in which instance actor can be set to a Mastodon-incompatible name (#22307)
* Validate internal actor

* Use “internal.actor” by default for the server actor username

* Fix instance actor username on the fly if it includes ':'

* Change actor name from internal.actor to mastodon.internal
2023-01-18 16:33:03 +01:00
Claire
9b3e22c40d
Change account moderation notes to make links clickable (#22553)
* Change account moderation notes to make links clickable

Fixes #22539

* Fix styling of account moderation note links
2023-01-18 16:32:23 +01:00
Peter Simonsson
7e6ffa085f
Add checkmark symbol to checkbox (#22795) 2023-01-18 16:30:46 +01:00
Jeong Arm
1b2ef60cec
Make visible change for new post notification setting icon (#22541) 2023-01-18 16:29:07 +01:00
Claire
b034dc42be
Fix /api/v1/admin/trends/tags using wrong serializer (#18943)
* Fix /api/v1/admin/trends/tags using wrong serializer

Fix regression from #18641

* Only use `REST::Admin::TagSerializer` when the user can `manage_taxonomies`

* Fix admin trending hashtag component to not link if `id` is unknown
2023-01-18 16:28:18 +01:00
Claire
0405be69d2
Fix REST API serializer for Account not including moved when the moved account has itself moved (#22483)
Instead of cutting immediately, cut after one recursion.
2023-01-18 16:25:31 +01:00
Claire
d4f590d6bb
Fix scheduled_at input not using datetime-local when editing announcements (#21896) 2023-01-18 16:23:39 +01:00
Claire
41517a4845
Fix spurious admin dashboard warning when using ElasticSearch 7.x (#23064)
Some 7.x ElasticSearch versions support some 6.x nodes, thus the version check
is inadequate. I am not sure there is a good way to check if a server
implements all the 7.x APIs, so check server version and minimum wire version
instead.
2023-01-18 16:21:48 +01:00
Claire
fcc4c9b34a
Change domain block CSV parsing to be more robust and handle more lists (#21470)
* Change domain block CSV parsing to be more robust and handle more lists

* Add some tests

* Improve domain block import validation and reporting
2023-01-18 16:20:52 +01:00
Jeremy Kescher
560c06463d
Check for instance availability before attempting to fetch mentioned users
Port of db6b0a3b5d and d59d1d472e. Full credit goes to dwrss on GitHub.

Does NOT fix https://github.com/mastodon/mastodon/issues/22713.
2023-01-15 21:31:40 +01:00
Jeremy Kescher
004b2fc290
Merge remote-tracking branch 'upstream/main' into develop 2023-01-15 20:38:42 +01:00
Claire
ab59743c13 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/views/layouts/mailer.html.haml`:
  Upstream removed a line close to one modified by glitch-soc.
  Removed the line as upstream did.
2023-01-14 22:34:09 +01:00
Jeong Arm
d66dfc7b3c
Change confirm prompt for relationships management (#19411)
* Change confirm prompt for relationships management

* Add Korean translations

* Apply suggestions from code review

Co-authored-by: TobyWilkes <tobylwilkes@gmail.com>

Co-authored-by: TobyWilkes <tobylwilkes@gmail.com>
2023-01-14 14:00:23 +01:00
Darius Kazemi
507e1d22f5
Allow admins to toggle public statistics API (#22833)
* Allow admins to toggle public statistics API

* Normalize i18n

Co-authored-by: Claire <claire.github-309c@sitedethib.com>
2023-01-13 17:14:39 +01:00
Darius Kazemi
d35fe3d5e3
Add peers API endpoint toggle to Server Settings (#22810)
* Add peers endpoint toggle to Server Settings

This places the toggle under "Discovery" and expands the hint text to explain further what the endpoint is used for. Added a "Recommended" tag since it was recommended in v3 before it was removed.

Fixes https://github.com/mastodon/mastodon/issues/22222

* i18n normalize step
2023-01-13 16:43:17 +01:00
Carl Schwan
f33e22ae4c
Allow changing hide_collections setting with the api (#22790)
* Allow changing hide_collections setting with the api

This is currently only possible with app/controllers/settings/profiles_controller.rb
and is the only difference in the allowed parameter between the two controllers

* Fix the lint issue

* Use normal indent
2023-01-13 16:40:21 +01:00
David Freedman
ff70e50199
Don't crash on unobtainable avatars (#22462) 2023-01-13 16:40:06 +01:00
nametoolong
332a411fad
Remove title from mailer layout (#23078) 2023-01-13 15:12:26 +01:00
Claire
f79c200f7e
Change wording of admin report handling actions (#18388)
* Change admin report handling UI to display appropriate text for remote reports

Change from “Decide which action to take to resolve this report. If you take a
punitive action against the reported account, an e-mail notification will be
sent to them, except when the Spam category is selected.” to “Decide which
action to take to resolve this report. This will only affect how your server
communicates with this remote account and handle its content.”

* Reword admin actions descriptions to make clear which admin actions close reports
2023-01-13 11:03:14 +01:00
Claire
21a1a8ee88
Fix crash when marking statuses as sensitive while some statuses are deleted (#22134)
* Do not offer to mark statuses as sensitive if there is no undeleted status with media attachments

* Fix crash when marking statuses as sensitive while some statuses are deleted

Fixes #21910

* Fix multiple strikes being created for a single report when selecting “Mark as sensitive”

* Add tests
2023-01-13 10:46:52 +01:00
Claire
598888a7c4 [Glitch] Remove hardcoded width from dropdown overlays
Port f4a6365f55 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-12 17:48:10 +01:00
Claire
cef87ba86c Merge branch 'main' into glitch-soc/merge-upstream 2023-01-12 17:47:42 +01:00
Claire
f4a6365f55
Remove hardcoded width from dropdown overlays (#23062)
* Remove hardcoded width from dropdown overlays

* Fix emoji picker position
2023-01-12 16:43:02 +01:00
Peter Simonsson
a36dfbb2aa [Glitch] Fix dropdown menu positions when scrolling
Port fd33bcb3b2 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-12 11:18:22 +01:00
Claire
3e63fcd4f0 Merge branch 'main' into glitch-soc/merge-upstream
Conflicts:
- `app/models/status.rb`:
  Minor upstream refactor moved hook definitions around,
  and glitch-soc has an extra `before_create`.
  Moved the `before_create` accordingly.
- `app/services/batched_remove_status_service.rb`:
  Minor upstream refactor changed a block in which glitch-soc
  had one extra call to handle direct timelines.
  Adapted changes to keep glitch-soc's extra call.
2023-01-12 10:15:46 +01:00
Jeremy Kescher
09b826eaa7
Merge remote-tracking branch 'upstream/main' into develop
# Conflicts:
#	app/javascript/flavours/glitch/features/ui/components/link_footer.js
2023-01-11 23:49:36 +01:00
Markus Unterwaditzer
0c689b9d01
fix: allow verification when page size exceeds 1MB (using HTML5 parser) (#22879)
* fix: allow verification when page size exceeds 1MB
Truncates the page after 1MB instead

Closes #15316

* switch to HTML5 parser, fix rubocop errors

* undo rubocop fixes

Co-authored-by: Chris Zubak-Skees <chriszs@gmail.com>
2023-01-11 21:59:13 +01:00
Peter Simonsson
fd33bcb3b2
Fix dropdown menu positions when scrolling (#22916)
* Update react-overlays to latest version

* Fix breaking changes in dropdown menus

* Use react-overlays built-in arrow positioning feature
* Re-implemented `.dropdown-menu__arrow` to have a defined width and height to improve positioning
* Moved wrapping div (`.dropdown-menu` from `DropdownMenu` to `Dropdown`)
* Wrap button in a span to solve issue with ref
* Temporarily remove animations

* Fix breaking changes in emoji picker

* Wrap EmojiPickerMenu in a div where react-overlays’ ref is added

* Fix breaking changes in language dropdown

* Fix breaking changes in privacy dropdown

* Fix breaking changes in search form

* Add animations back using `@keyframes`

* Fix arrow color in light theme

* Fix linting issue

* Remove unused `mounted` state

* Remove `placement` state from components and redux

And remove the placement state from props of the menu components.

* Remove abolution position to fix flip issue

* Remove z-index to fix modals and overlay positions

* Fix lint issues

* Set placement in privacy and language components

Copy the placement state into the `PrivacyDropdown` and `LanguageDropdown` components, to apply correct styling to the buttons depending on which placement the Overlay has.

* Move `placement` state to correct component
2023-01-11 21:58:46 +01:00
Kaspar V
ae62e5fa53
Fix/remove calling private method with send in model (#22951)
* fix(status): remove send usage for private unlink_from_conversations

- make unlink_from_conversations public method
- rename unlink_from_conversations to unlink_from_conversations!
- fix send call on private method in statuses_vacuum and batched_remove_status_service

* fix(feeds_vacuum): replace find_in_batches with in_batches

because active record query results should be a little more efficient than
itterating with map and each. Postgres can grasp such lists of ids much quicker
than ruby can.
Will probably make allmost no difference, but cannot hurt either.
2023-01-11 21:57:24 +01:00
Claire
2ba14097ff
Change trending tags admin interface to always show batch actions (#23013)
Fixes #22565
2023-01-11 21:51:43 +01:00
Eugen Rochko
f6e34ca134
New Crowdin updates (#22953)
* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.json (Belarusian)

* New translations en.json (Vietnamese)

* New translations en.json (Asturian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations activerecord.en.yml (Estonian)

* New translations en.yml (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations en.yml (German)

* New translations activerecord.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations simple_form.en.yml (German)

* New translations en.json (Danish)

* New translations en.json (Arabic)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations en.json (English, United Kingdom)

* New translations simple_form.en.yml (English, United Kingdom)

* New translations en.json (Catalan)

* New translations en.yml (Catalan)

* New translations simple_form.en.yml (Catalan)

* New translations doorkeeper.en.yml (Catalan)

* New translations en.json (Galician)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.json (Hungarian)

* New translations en.yml (Russian)

* New translations en.json (Turkish)

* New translations devise.en.yml (Estonian)

* New translations en.json (Catalan)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Occitan)

* New translations en.yml (Occitan)

* New translations en.json (Finnish)

* New translations en.json (Hindi)

* New translations en.json (Hindi)

* New translations en.json (Czech)

* New translations en.json (Thai)

* New translations en.json (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Estonian)

* New translations doorkeeper.en.yml (Spanish)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Finnish)

* New translations en.json (Romanian)

* New translations en.json (French)

* New translations en.json (Spanish)

* New translations en.json (Afrikaans)

* New translations en.json (Arabic)

* New translations en.json (Belarusian)

* New translations en.json (Bulgarian)

* New translations en.json (Catalan)

* New translations en.json (Czech)

* New translations en.json (Danish)

* New translations en.json (German)

* New translations en.json (Greek)

* New translations en.json (Frisian)

* New translations en.json (Basque)

* New translations en.json (Finnish)

* New translations en.json (Irish)

* New translations en.json (Hebrew)

* New translations en.json (Hungarian)

* New translations en.json (Armenian)

* New translations en.json (Italian)

* New translations en.json (Japanese)

* New translations en.json (Georgian)

* New translations en.json (Korean)

* New translations en.json (Lithuanian)

* New translations en.json (Macedonian)

* New translations en.json (Dutch)

* New translations en.json (Norwegian)

* New translations en.json (Punjabi)

* New translations en.json (Polish)

* New translations en.json (Portuguese)

* New translations en.json (Russian)

* New translations en.json (Slovak)

* New translations en.json (Slovenian)

* New translations en.json (Albanian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Swedish)

* New translations en.json (Turkish)

* New translations en.json (Ukrainian)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Urdu (Pakistan))

* New translations en.json (Vietnamese)

* New translations en.json (Galician)

* New translations en.json (Icelandic)

* New translations en.json (Portuguese, Brazilian)

* New translations en.json (Indonesian)

* New translations en.json (Persian)

* New translations en.json (Tamil)

* New translations en.json (Spanish, Argentina)

* New translations en.json (Spanish, Mexico)

* New translations en.json (Bengali)

* New translations en.json (Marathi)

* New translations en.json (Thai)

* New translations en.json (Croatian)

* New translations en.json (Norwegian Nynorsk)

* New translations en.json (Kazakh)

* New translations en.json (Estonian)

* New translations en.json (Latvian)

* New translations en.json (Hindi)

* New translations en.json (Malay)

* New translations en.json (Telugu)

* New translations en.json (English, United Kingdom)

* New translations en.json (Welsh)

* New translations en.json (Faroese)

* New translations en.json (Esperanto)

* New translations en.json (Uyghur)

* New translations en.json (Chinese Traditional, Hong Kong)

* New translations en.json (Tatar)

* New translations en.json (Malayalam)

* New translations en.json (Breton)

* New translations en.json (French, Quebec)

* New translations en.json (Sinhala)

* New translations en.json (Cornish)

* New translations en.json (Kannada)

* New translations en.json (Scottish Gaelic)

* New translations en.json (Aragonese)

* New translations en.json (Occitan)

* New translations en.json (Serbian (Latin))

* New translations en.json (Kurmanji (Kurdish))

* New translations en.json (Sorani (Kurdish))

* New translations en.json (Scots)

* New translations en.json (Corsican)

* New translations en.json (Sardinian)

* New translations en.json (Sanskrit)

* New translations en.json (Kabyle)

* New translations en.json (Ido)

* New translations en.json (Taigi)

* New translations en.json (Silesian)

* New translations en.json (Standard Moroccan Tamazight)

* New translations en.json (Irish)

* New translations en.json (Korean)

* New translations en.json (Chinese Simplified)

* New translations en.json (Chinese Traditional)

* New translations en.json (Spanish, Argentina)

* New translations en.yml (Irish)

* New translations en.json (Latvian)

* New translations en.json (Spanish)

* New translations en.json (Bulgarian)

* New translations en.json (Hebrew)

* New translations en.json (Ukrainian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Belarusian)

* New translations en.json (Catalan)

* New translations en.json (Finnish)

* New translations en.json (Faroese)

* New translations en.yml (Finnish)

* New translations simple_form.en.yml (Finnish)

* New translations en.json (Czech)

* New translations en.json (Frisian)

* New translations en.json (Finnish)

* New translations en.json (Dutch)

* New translations en.json (Polish)

* New translations en.json (Icelandic)

* New translations en.json (German)

* New translations en.json (Hungarian)

* New translations en.json (Italian)

* New translations en.json (Portuguese)

* New translations en.json (Slovenian)

* New translations en.json (Serbian (Cyrillic))

* New translations en.json (Thai)

* New translations en.json (Estonian)

* New translations en.json (Serbian (Latin))

* New translations en.json (Bulgarian)

* New translations en.json (Swedish)

* New translations en.json (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Portuguese)

* New translations en.json (Galician)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Esperanto)

* New translations en.json (Danish)

* New translations en.json (French)

* New translations en.json (Albanian)

* New translations en.yml (French)

* New translations en.yml (Portuguese)

* New translations en.json (Russian)

* New translations en.yml (Russian)

* New translations en.yml (Portuguese)

* New translations en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations en.yml (Portuguese)

* New translations en.json (Belarusian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations devise.en.yml (Estonian)

* New translations doorkeeper.en.yml (Estonian)

* New translations en.json (Estonian)

* New translations en.yml (Estonian)

* New translations simple_form.en.yml (Estonian)

* New translations en.json (Vietnamese)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Norwegian)

* New translations en.json (Norwegian Nynorsk)

* New translations devise.en.yml (Bulgarian)

* New translations en.yml (Galician)

* New translations en.json (Slovak)

* New translations devise.en.yml (Bulgarian)

* New translations en.json (Welsh)

* New translations en.yml (Portuguese)

* New translations en.yml (Portuguese)

* New translations en.json (Croatian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.yml (Bulgarian)

* New translations simple_form.en.yml (Bulgarian)

* New translations en.json (Bulgarian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* New translations en.yml (Portuguese)

* New translations en.json (Spanish, Mexico)

* New translations en.yml (Portuguese)

* New translations en.json (Portuguese)

* New translations en.yml (Portuguese)

* New translations simple_form.en.yml (Portuguese)

* New translations en.yml (Bulgarian)

* New translations en.json (Slovak)

* New translations en.yml (Slovak)

* Normalize

Co-authored-by: Yamagishi Kazutoshi <ykzts@desire.sh>
2023-01-11 21:41:34 +09:00
Holden Foreman
fdabfb9d0e [Glitch] Fix footer link circle dividers' screen reader accessibility by adding aria-hidden
Port 2bcb081ce8 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-10 09:39:19 +01:00
Akira Ouchi
b6a928cd04 [Glitch] Add variable autoFocus to video
Port 2195f21524 to glitch-soc

Signed-off-by: Claire <claire.github-309c@sitedethib.com>
2023-01-10 09:39:19 +01:00