ea5a4df1a4
[UI][PLUGIN][Directory] Add UI for Directory listing ordering. This uses a GET parameter, which subits the field in order_by and the operator in order_op. Using order_by=filed^ is still supported
2022-01-03 02:18:44 +00:00
5fa8056899
[COMPONENT][Collection] Refactoring: Further work in abstracting collections
2022-01-03 02:18:43 +00:00
def5f36c25
[PLUGIN][ActivityPub][Inbox] Accept Follow Activity
...
Improve how Core Activity is handled in general
2022-01-02 23:50:16 +00:00
28424402ec
[CONTROLLER][CollectionController] Refactored methods names and form
...
titles
[PLUGINS][AttachmentCollections] Renamed respective Controller to
differentiate it between The Controller and itself, renamed templates
and removed unnecessary HTML from templates
2022-01-02 23:50:15 +00:00
7ad39fdc83
[PLUGINS][Repeat] Added onNoteDeleteRelated event
...
Using DB::merge to increment attachment lives when repeating a note,
since it's getting deprecated in the future, an alternative needs to
replace it here
2022-01-02 23:50:15 +00:00
d5080890ac
[PLUGINS][Favourite] Added onNoteDeleteRelated event
...
All favourite entities are now removed from note_favourite table when the respective note
is deleted. Documented the favourNote and unfavourNote methods
2022-01-02 23:50:15 +00:00
046731a05a
[COMPONENT][Avatar] Save title if possible, delete correctly, no early flushes
...
[PLUGIN][ActivityPub] Minor bug fixes in Actor translation
2022-01-02 23:50:14 +00:00
d6cd33019d
[UI][PLUGIN][Directory] Add sort options to UI
2022-01-01 22:18:18 +00:00
5662210a2d
[UI][PLUGIN][Directory] Use a single template for all results
2022-01-01 22:18:18 +00:00
b1fbf7d6ef
[PLUGIN][Directory] Add option to order by subscribers
2022-01-01 22:18:18 +00:00
9f11d270f4
[PLUGIN][Directory] Fix opposite sort order
2022-01-01 22:18:18 +00:00
e7940a21ee
[PLUGINS][TreeNotes] Feed only shows each note and its respective direct
...
replies, conversation shows whole tree
[COMPONENTS][Feed] Added request to FormatNoteList event
Every single Note that was provided to FeedController::postProcess is
shown. This means, that even though the Feed is formatted to show only a
Note and its respective direct replies, those same replies are shown
individually again (and they get the chance to show their own direct
replies).
The Note list provided to FormatNoteList is reversed, and for every
index, the respective Note replies are filtered out of the original list.
The replies are then added as leafs of the current Note and added to the tree.
2022-01-01 21:42:47 +00:00
f6311debbf
[PLUGIN][Directory] Refactor directory controller, so it's hopefully clearer what's happening
2022-01-01 20:50:04 +00:00
175c98b043
[PLUGIN][Directory] Add options to sort by nickname, created, modified and activity, ascending or descending
2022-01-01 20:49:17 +00:00
fc76a00908
[PLUGIN][Directory] Rename actor to people, as it's what's actually interacted with
2022-01-01 20:02:32 +00:00
0050371de7
[PLUGIN][NoteTypeFeedFilter][MediaFeed][COMPONENT][Feed] Rename MediaFeed to NoteTypeFeedFilter and add support for filtering by more types, moving functionality from Feed component
2021-12-31 21:03:25 +00:00
2e0bfc0bcd
[TOOLS] Run CS-Fixer on all files
2021-12-30 18:28:57 +00:00
2c31f2e440
[PLUGIN][Actor Circles] Actor Circles plugin, allow user to create a custom feed of actors
2021-12-30 12:18:16 -03:00
d7f70d288d
[MODULES][Collection] Abstracting Collections
2021-12-29 21:56:45 -03:00
836560f55f
[CARDS][Note] AppendCardNote event overhaul
...
[PLUGINS][Favourite] Added complementary information on user action
[COMPONENTS][Conversation] Fixed AppendCardNote issue where cached query
would only act on Notes with depth > 1
2021-12-29 18:35:12 +00:00
137723e59a
[PLUGIN][ActivityPub][Favourite][Repeat][Delete] Document event handlers
2021-12-28 22:57:49 +00:00
8274e93ed5
[PLUGINS][DeleteNote] Added documentation, stating the scope of what deleting a Note means
2021-12-28 22:43:04 +00:00
ce3c6a7f23
[PLUGINS][RepeatNote] Added documentation (not for ActivityPub related functions)
2021-12-28 21:51:27 +00:00
4d8e39bf69
[PLUGIN][RepeatNote] Do not notify about clone note
...
Fix redirecion after action
Fix typo in activitypub handler
2021-12-28 18:30:27 +00:00
182c6265a3
[PLUGINS][RepeatNote] Add onFilterNoteList event
...
Filters repeats out of Conversations, and replaces a repeat with the original Note on Actor feed
Added isNoteRepeat to plugin's entity, which returns true if a given
Note is a repeat of another Note
2021-12-28 17:37:01 +00:00
1d1d169a5c
[PLUGIN][ActivityPub] Support federation of Tombstones
2021-12-28 17:10:20 +00:00
9cda64f275
[COMPONENT][Notification] Use _m() in reason
2021-12-28 16:36:52 +00:00
3e83387e98
[PLUGIN][DeleteNote] Support ActivityPub
2021-12-28 16:22:38 +00:00
9585472679
[ENTITY][Actor] Basic check if can admin for remote actors
2021-12-28 15:38:41 +00:00
b7c82b9dcb
[PLUGIN][DeleteNote] Ensure permissions properly
2021-12-28 15:38:39 +00:00
bf4a0008ef
[ENTITY][Note] GNU social uses Tombstones for deleted notes instead of fully removing them.
...
Various corrections.
2021-12-28 06:56:05 +00:00
bb4149e092
[PLUGIN][AttachmentCollections] Restore functionality
...
Some minor corrections
2021-12-28 04:43:13 +00:00
a03429ba03
[PLUGIN][DeleteNote] Delete Note action implemented
...
Replaces Note content with a tombstone, removes any attachment relations and decrements their lives (possibly even removing the attachment), and creates the respective activity
2021-12-27 22:33:36 +00:00
65a3d738ca
[PLUGIN][AttachmentCollections] Make it look good
2021-12-27 15:38:47 -03:00
7ddfe92773
fix: redirect
2021-12-27 15:35:09 -03:00
e932ff43d0
[PLUGIN][AttachmentCollections] changes path name to be the same as the one introduced in c4dacd7626
2021-12-27 15:31:19 -03:00
672df5165c
[PLUGIN][AttachmentCollections] Fixing forms submission
2021-12-27 15:25:20 -03:00
b84315c95b
[TOOLS] Fix errors reported by PHPStan at level 4
2021-12-27 17:35:33 +00:00
d03572e366
[PLUGIN][Directory] Make it list groups
2021-12-27 17:10:58 +00:00
80afc0fa6c
[TEMPLATES][Cards][Profile] Provide both actor uri and url, as well as full mention guidance
2021-12-27 05:08:27 +00:00
c4dacd7626
[COMPONENT][Attachment] Vinculate note information with attachment controllers
...
Various minor bug fixes
2021-12-27 04:56:00 +00:00
93276ce8d0
[AUTOGENERATED] Update autogenerated code
2021-12-27 03:06:30 +00:00
7eff22d548
[TOOLS] Fix errors reported by updated PHPStan
2021-12-27 03:03:57 +00:00
ce23660dba
[PLUGIN][ImageEncoder] Only show thumbnails if they exist
2021-12-27 03:02:21 +00:00
58715f1733
[PLUGIN][ImageEncoder] If vips doesn't support, don't throw exception, just let other plugin try
2021-12-27 03:02:20 +00:00
b30198413c
[PLUGINS][Oomox] Add rel to response headers
2021-12-26 21:26:04 +00:00
045ff6fb68
[PLUGINS][XMPPNotifications] Fix typo
2021-12-26 21:19:06 +00:00
d891089945
[PLUGIN][StoreRemoteMedia] Let the user decide the max file size to download
2021-12-26 21:19:04 +00:00
78cc9c4659
[PLUGINS][Repeat] Repeat now added has a reply and conversation of original note
2021-12-26 19:16:57 +00:00
a1d9909379
[CORE][VisibilityScope] Use enum type instead of Bitmap
2021-12-26 19:16:56 +00:00
c79b1e4c94
[AUTOGENERATED] Update auto generated code
2021-12-26 19:16:15 +00:00
ec28f23025
[TOOLS] Run CS-fixer on all files
2021-12-26 19:16:15 +00:00
5e42723624
[ENTITY][Note] Include reply_to's targets in child's
2021-12-26 19:16:14 +00:00
f5f7fc6056
[PLUGIN][Favourite][Repeat] Add notification target getter
2021-12-26 19:16:14 +00:00
625618b4e0
[PLUGIN][Favourite][Repeat] Fix incorrect use of RedirectException
2021-12-26 19:16:14 +00:00
91f8c86efa
[PLUGIN][ActivityPub] Support and federate scopes
2021-12-26 19:16:12 +00:00
d4bc1d097d
[ENTITY][NoteTag][COMPONENT][Language] Add language to NoteTag and minor corrections
2021-12-26 06:22:30 +00:00
78fddaf86a
[PLUGIN][ActivityPub] Notify mentions in tags
2021-12-26 06:22:28 +00:00
9d0b39e680
[PLUGIN][ActivityPub] Support tags in notes
2021-12-25 18:04:31 +00:00
36483a6ecd
[COMPONENT][Link] Ignore html anchors that include mention class
2021-12-25 18:04:30 +00:00
0d5e545a6e
[TWIG] Replaced unused markup classes
2021-12-25 17:59:49 +00:00
7891461d36
[PLUGINS][AttachmentCollections] Fix template
...
[PLUGINS][AttachmentShowRelated] Fix template
[CSS] Fix section-subtitle-details children padding issues
[COMPONENTS][Posting] Remove unnecessary colon
Overall polish of existing plugins templates
2021-12-25 17:31:16 +00:00
8651bd44c2
[PLUGINS][ProfileColor] Fix callable argument when retrieving cache data
2021-12-25 15:31:24 +00:00
af3d278fde
[PLUGIN][AttachmentCollections] Prevent user from appending stuff in a collection (s)he doesn't own
2021-12-25 11:27:00 -03:00
1e965157de
[PLUGIN][AttachmentCollections] Iterate documentation
2021-12-25 11:25:50 -03:00
82e6e95b6a
[PLUGIN][AttachmentCollections] Add Attachment Collection plugin which allow users to save attachments in collections
2021-12-24 11:29:37 -03:00
63f9c6341e
[COMPONENT][RightPanel] Sends request object in the AppendRightPanelBlock
event
2021-12-24 10:20:55 -03:00
1947e99430
[DOC] Add documentation to methods flagged by doc-check
2021-12-24 09:34:13 +00:00
e3efd25b43
[PLUGIN][ActivityPub] Fix typo in getObjectByUri
2021-12-24 02:46:45 +00:00
7407028891
[PLUGIN][RepeatNote] Fix getRepeatNotes query
2021-12-24 02:46:45 +00:00
671c3968e2
[TWIG][Templates] Rename inconsistent CSS classes
...
[CSS] Font size hierarchy refactor
[PLUGINS][MediaFeed] Renamed BeforeFeed event
Type scale hierarchy redone. Bigger line height added, making it easier
to click on links and separate contents.
Feed title added. AddFeedActions replaces BeforeFeed event.
MediaFeed links will now show an icon to the right of the feed title,
smaller footprint and more consistent with the overall design.
2021-12-24 02:46:44 +00:00
f10b3bb05c
[PLUGINS][MediaFeed] Fixed template path typos
2021-12-24 02:46:44 +00:00
774b33a522
[DEPENDENCIES] Update dependencies and Symfony to 5.4 LTS
2021-12-24 02:46:41 +00:00
3c79d82b80
[PLUGIN][ActivityPub][Note] Support inReplyTo
2021-12-24 02:46:39 +00:00
7d8cce3b27
[COMPONENT][Feed] Correct queries and introduce new feeds
...
Refactor feeds and search to use a common query builder
2021-12-24 00:44:39 +00:00
1865d2b41e
[ActivityPub][Postman] Fill To and CC with mentions
2021-12-24 00:42:02 +00:00
c494928b46
[PLUGIN][MediaFeed] Remove unused import
2021-12-24 00:41:53 +00:00
5115145901
[PLUGIN][MediaFeed] Iterate Documentation
2021-12-24 00:41:44 +00:00
d04b68a3ce
[PLUGIN][MediaFeed] Add Media plugin which filters a feed by notes containing media
2021-12-22 11:13:06 +00:00
dd5d46c556
[CORE] Add option to filter notes even when there's no actor
2021-12-21 14:33:19 -03:00
e2c0505620
[ActivityPub][Inbox] Add request to debug logs
2021-12-21 15:52:41 +00:00
1832397363
[ActivityPub] Include recent actor type attribute in its creation
...
Improve debug logs
2021-12-20 13:32:49 +00:00
ed67da89dc
[TAGS] Fix some minor logic issues with Actor Tags and Circles
2021-12-20 13:32:49 +00:00
630e22579e
[PLUGIN][RepeatNote] Add support for onGSVerbToActivityStreamsTwoActivityType
2021-12-20 13:32:48 +00:00
8d1e000574
[PLUGIN][Favourite] Add support for onGSVerbToActivityStreamsTwoActivityType
2021-12-20 13:32:48 +00:00
a9c73a8f33
[PLUGIN][ActivityPub] Add mention tags
2021-12-20 13:32:48 +00:00
a005a7bcea
[PLUGIN][ActivityPub] Add getUriByObject, so that we can construct activities referring to other known objects (local or foreign)
2021-12-20 13:32:46 +00:00
1d09a02ad6
[FreeNetwork][ActivityPub] Sometimes remote Actors report empty full names in not very explicit manners
2021-12-19 19:04:05 +00:00
a81ac673ac
[CORE][ENTITY] Rename 'Entity::getWithPK' to 'Entity::getByPK'
2021-12-19 19:04:01 +00:00
ff38efd5f1
[PLUGIN][ProfileColor] Cache results
2021-12-13 15:49:52 +00:00
5dd9e5a3d7
[PLUGIN][RepeatNote] Add Notifications and ActivityPub support
...
Minor bug fixes
2021-12-10 04:05:41 +00:00
0ee4cc7709
[PLUGIN][Favourite] Notify when actor favours a note
2021-12-10 04:05:35 +00:00
4992ff153b
[PLUGIN][RepeatNote] Fill activity log and fix some bugs
...
Refactored the plugin.
2021-12-10 04:05:26 +00:00
01689edc66
[PLUGIN][Favourite] Report already favoured or unfavoured
2021-12-10 04:05:22 +00:00
1be4b3d481
[EVENT][FilterNoteList] Use an in-out parameter, so multiple events can act on this
2021-12-09 21:39:00 +00:00
26b95fae96
[PLUGIN][StemWord] Remove the country part from the code. Ignore if no stemmer is found for the given language
2021-12-09 16:23:09 +00:00
774e32f834
[PLUGINS][TreeNotes] Working, however feed is still not formatted
...
[ENTITY][Note] Fix for getReplies()
2021-12-09 00:15:47 +00:00
64122a9612
[PLUGIN][Favourite] Add ActivityPub Inbox support
2021-12-08 23:24:25 +00:00
5025901c86
[PLUGIN][Favourite] Log changes into Activity
2021-12-08 23:24:25 +00:00
480a42cca5
[PLUGIN][ActivityPub] Introduce ActivitypubObject. Beware, inside the plugin, an Object can never be an Activity.
...
Many bug fixes and other major changes (interface changed, see EVENTS.md)
2021-12-08 23:24:23 +00:00
df92b0d225
[COMPONENTS][Conversation] Refactored Reply plugin into Conversation component
...
[PLUGIN][TreeNotes] TODO: think it is broken, perhaps a problem of the conversation arguments passed in note card template
2021-12-08 22:48:04 +00:00
614e02b4c6
[PLUGIN][TagBasedFiltering] Add to user settings page and split adding tags from note/actor from editing blocked
2021-12-08 19:57:36 +00:00
d52a043705
[TWIG] Restructure user settings template, making it much easier to use and extend
2021-12-08 19:57:35 +00:00
3b8a3e953d
[CONTROLLER][FeedController] Make post processing happen more automatically, reducing noise in individual controllers. Now it's enough to simply extends App\Core\Controller\FeedController, to implement a feed
2021-12-08 10:20:37 +00:00
7783922b2e
[CONTROLLER][PLUGIN][Directory][Favourite][Reply][CORE][FeedController] Refactor to new FeedController
2021-12-07 23:34:32 +00:00
c131e47176
[COMPONENT][Tag] Remove wrong canonicalization of tags in tag feed controller. Fix display of original tags
2021-12-07 20:10:59 +00:00
4657a1d6a5
[COMPONENTS][Tag] Fix actor tag template
...
[PLUGINS][RelatedTags] Fix actor tag template
2021-12-07 15:35:27 +00:00
546c5c84fd
[COMPONENTS][Tag] Actor/Note tag template polished
...
[PLUGINS][RelatedTags] Disable rendering of template when no results are found
2021-12-06 22:22:23 +00:00
330e09f2d3
[PLUGIN][ActivityPub] Only store a new object if there were no previous activities with it before
2021-12-05 21:09:30 +00:00
5196b669b9
[PLUGIN][ActivityPub] Add attachment support to Notes
2021-12-05 21:04:20 +00:00
19b8a7648e
[PLUGIN][ActivityPub] Implement Avatar support
2021-12-05 20:08:14 +00:00
2a161c9c66
[PLUGIN][TagBasedFiltering] Block actor tags, but don't block notes from the current actor
2021-12-05 19:18:57 +00:00
9f445632b2
[PLUGIN][TagBasedFiltering] Expand to allow filtering by actor tags
2021-12-05 17:55:49 +00:00
e29e1cc87c
[ENTITY] Rename 'getFrom' to 'getBy'
2021-12-05 17:55:46 +00:00
c40866ecf6
[PLUGIN][TagBasedFiltering] Add TagBasedFiltering plugin, which allows filtering feeds by note tags and (soon) actor tags
2021-12-05 17:54:58 +00:00
1457aa8220
[UI][PLUGIN][DeleteNote][EVENT] Add 'AddExtraNoteActions' event, which can be leveraged to add extra actions on each note, but which are normally collapsed
2021-12-05 17:54:58 +00:00
9512890264
[PLUGIN][ActivityPub] Implement Actor Update
...
Diverse minor bug fixes
2021-12-05 03:11:08 +00:00
778cb57d83
[PLUGIN][ActivityPub] Finish base ActivityStreams 2.0 interface
...
Instructions below
To extend an Activity properties do:
public function onActivityPubValidateActivityStreamsTwoData(string $type_name, array &$validators): bool {
if ($type_name === '{Type}') {
$validators['attribute'] = myValidator::class;
}
return Event::next;
}
The Validator should be of the form:
use ActivityPhp\Type;
use ActivityPhp\Type\Util;
use Plugin\ActivityPub\Util\ModelValidator;
class myValidator extends ModelValidator
{
/**
* Validate Attribute's value
*
* @param mixed $value from JSON's attribute
* @param mixed $container A {Type}
* @return bool
* @throws Exception
*/
public function validate($value, $container): bool
{
// Validate that container is a {Type}
Util::subclassOf($container, Type\Extended\Object\{Type}::class, true);
return {Validation Result};
To act on received activities do:
public function onActivityPubNew{Type}(&$obj): bool {
To add information to Activities being federated by ActivityPub do:
public function ActivityPubAddActivityStreamsTwoData(string $type_name, &$type): bool {
To implement an ActivityStreams 2.0 representation do:
public function onActivityPubActivityStreamsTwoResponse(string $route, arrray $vars, ?TypeResponse &$response = null): bool {
if ($route === '{Object route}') {
$response = ModelResponse::handle($vars[{Object}]);
return Event::stop;
}
return Event::next;
}
2021-12-04 21:05:07 +00:00
044649c745
[PLUGIN][VideoEncoder] Some videos don't have images (video stream), only audio, handle that
2021-12-03 03:32:44 +00:00
582519e13e
[COMPONENT][Attachment] Do not show download links for non-local attachments
2021-12-03 03:32:43 +00:00
ff5f346fec
[PLUGINS][Oomox] Further checks done when handling form requests. Improved documentation, fixed typos and diminished repeated calls
2021-12-03 03:32:38 +00:00
b66873e289
[PLUGIN][StoreRemoteMedia] Do not save empty files
2021-12-03 01:16:57 +00:00
70ed04a7db
[COMPONENT][Link] Fix some minor issues with empty headed links, typo in event handler's name, and refactor entity to inside component
2021-12-03 00:46:52 +00:00
bded039282
[PLUGIN][Embed] try catch absence of favicon
2021-12-02 22:49:27 +00:00
2e11001b8f
[PLUGIN][Embed] Fix links
2021-12-02 22:21:49 +00:00
2445b5318d
[PLUGIN][Embed] Make it work when content-length header is not provided
2021-12-02 21:26:06 +00:00
bfec10fc95
[COMPONENT][Attachment][Entity][Attachment] getThumbnail can be null
2021-12-02 21:26:05 +00:00
12557a1e16
[PLUGINS][Oomox] Reset theme colors added
2021-12-02 20:26:27 +00:00
eeaad19754
[Attachment] Move Controller and Entities to a Component
...
There's no problem in having the templates in the core
2021-12-02 15:14:07 +00:00
37ef8cddfa
[ENTITY][Note] Add getLanguageLocale() and getNoteLanguageShortDisplay()
...
[CARDS][Note] Render note's language short display
[PLUGINS] Bring back titles to Reply, Repeat and Favourite actions
2021-12-02 15:05:49 +00:00
d044039272
[FreeNetwork] Initial multi-protocol support
2021-12-02 14:23:21 +00:00
dbaee08038
[FreeNetwork] Move mentions logic from AP to FN and handle local webfinger mentions properly
2021-12-02 11:12:04 +00:00
53c46127c1
[ActivityPub][Explorer] Store remote's url properly
2021-12-02 11:12:03 +00:00
6f543ccc06
[ActivityPub][Model][Activity] Translate including objects
2021-12-01 20:53:51 +00:00
dcbb3488c4
[PLUGINS][Reply] Fix onAppendCardNote return
2021-12-01 19:47:45 +00:00
b7fe924bdd
[TOOLS][DOCS] Add missing doc blocks, as signaled by doc-checker
2021-12-01 19:47:44 +00:00
0b57b20d38
[UI][PLUGIN][Reply][Favourite][ENTITY][Feed] Remove replies and favourite links from navigation/view.html.twig and add them to the feeds section
2021-12-01 19:47:43 +00:00
36613a826d
[CONTROLLER][PLUGIN][Reply] Move reply controller to it's plugin
2021-12-01 19:47:43 +00:00
3fbd2cd2b9
[PLUGIN][RelatedTags] Remove duplicate results
2021-12-01 19:47:41 +00:00
424df54a1b
[ActivityPub] Add HTTP Signatures
2021-12-01 19:47:41 +00:00
123544fa50
[ActivityPub] Port Postman
2021-12-01 19:47:40 +00:00
df3fbbc9e7
[ActivityPub] Add ActivityToType
...
Minor bug fixes
2021-12-01 19:47:39 +00:00
c8ba81897c
[PLUGINS][Reply] getReplyToNote performance improvement
...
[CSS] Replies padding fix
2021-11-29 23:12:09 +00:00
01078e20fb
[PLUGINS][Reply] Fix return on getReplyToNote
...
The array contained an object, the result was within that object and not the object itself.
2021-11-29 23:12:09 +00:00
db33800ade
[PLUGINS][Reply] Array key 'reply_to' checked if it exists.
...
Plugin\Reply\Entity\NoteReply::getReplyToNote lacked a check to make sure the 'reply_to' key existed within the array resulting from the query.
2021-11-29 23:12:09 +00:00
3477ad5efc
[PLUGINS][RelatedTags] Add related tags plugin and needed infrastructure. Initial work on pinned content
2021-11-29 22:42:51 +00:00
6680772e47
[UI][I18N][UTIL][FormFields][Language][COMPONENTS][Posting][PLUGINS][Reply] Factor out translation from FormFields::language
and remove help text in cases from Posting and Reply
2021-11-29 22:42:50 +00:00
798a5f3796
[PLUGINS][Oomox] HTML's input[type='color'] doesn't support alpha values. Feature to apply custom shadow color removed as a result.
2021-11-29 22:42:48 +00:00
6ec0b9f077
[CSS] User panel CSS fixes.
...
[PLUGINS][Oomox] Reformatted file.
2021-11-29 22:42:48 +00:00
04257c5fd9
[PLUGINS][Oomox] Resulting forms are now aware of user defined colours and fallback to defaults.
2021-11-29 22:42:48 +00:00