αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Mastodon 3.5 αžŠαŸ‚αž›αž‡αžΆαžœαŸαž‘αž·αž€αžΆαž”αžŽαŸ’αžαžΆαž‰αžŸαž„αŸ’αž‚αž˜αžœαž·αž˜αž‡αŸ’αžˆαž€αžΆαžš

αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžœαŸαž‘αž·αž€αžΆαž₯αžαž‚αž·αžαžαŸ’αž›αŸƒαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžŠαžΆαž€αŸ‹αž–αž„αŸ’αžšαžΆαž™αž”αžŽαŸ’αžαžΆαž‰αžŸαž„αŸ’αž‚αž˜αžœαž·αž˜αž‡αŸ’αžˆαž€αžΆαžš - Mastodon 3.5 αžŠαŸ‚αž›αž’αž“αž»αž‰αŸ’αž‰αžΆαžαž±αŸ’αž™αž’αŸ’αž“αž€αž”αž„αŸ’αž€αžΎαžαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŠαŸ„αž™αžαŸ’αž›αž½αž“αž―αž„αžŠαŸ‚αž›αž˜αž·αž“αžŸαŸ’αžαž·αžαž“αŸ…αž€αŸ’αžšαŸ„αž˜αž€αžΆαžšαž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαž„αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž•αŸ’αžαž›αŸ‹αžŸαŸαžœαžΆαž”αž»αž‚αŸ’αž‚αž›αŸ” αž”αŸ’αžšαžŸαž·αž“αž”αžΎαž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž˜αž·αž“αž’αžΆαž…αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžαŸ’αž“αžΆαŸ†αž„αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αžšαž”αžŸαŸ‹αž‚αžΆαžαŸ‹αž”αžΆαž“αž‘αŸ αž‚αžΆαžαŸ‹αž’αžΆαž…αž‡αŸ’αžšαžΎαžŸαžšαžΎαžŸαžŸαŸαžœαžΆαž€αž˜αŸ’αž˜αžŸαžΆαž’αžΆαžšαžŽαŸˆαžŠαŸ‚αž›αž’αžΆαž…αž‘αž»αž€αž…αž·αžαŸ’αžαž”αžΆαž“αžŠαžΎαž˜αŸ’αž”αžΈαž—αŸ’αž‡αžΆαž”αŸ‹αž‘αŸ…αŸ” Mastodon αž‡αžΆαž€αž˜αŸ’αž˜αžŸαž·αž‘αŸ’αž’αž·αžšαž”αžŸαŸ‹αž”αŸ’αžšαž—αŸαž‘αž“αŸƒαž”αžŽαŸ’αžαžΆαž‰αžŸαž αž–αŸαž“αŸ’αž’ αžŠαŸ‚αž›αžŸαŸ†αžŽαž»αŸ†αž“αŸƒαž–αž·αž’αžΈαž€αžΆαžš ActivityPub αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αŸ’αžšαžΎαžŠαžΎαž˜αŸ’αž”αžΈαž”αž„αŸ’αž€αžΎαžαžšαž…αž“αžΆαžŸαž˜αŸ’αž–αŸαž“αŸ’αž’αž€αžΆαžšαžαž—αŸ’αž‡αžΆαž”αŸ‹αžšαž½αž˜αž˜αž½αž™αŸ”

αž€αžΌαžŠαž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž“αŸƒαž‚αž˜αŸ’αžšαŸ„αž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆ Ruby αžŠαŸ„αž™αž”αŸ’αžšαžΎ Ruby on Rails αž αžΎαž™αž…αŸ†αžŽαž»αž…αž”αŸ’αžšαž‘αžΆαž€αŸ‹αž’αžαž·αžαž·αž‡αž“αžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαžšαžŸαŸαžšαž‡αžΆ JavaScript αžŠαŸ„αž™αž”αŸ’αžšαžΎαž”αžŽαŸ’αžŽαžΆαž›αŸαž™ React.js αž“αž·αž„ Redux αŸ” αž€αžΌαžŠαž”αŸ’αžšαž—αž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αž…αŸ‚αž€αž…αžΆαž™αž€αŸ’αžšαŸ„αž˜αž’αžΆαž‡αŸ’αž‰αžΆαž”αŸαžŽαŸ’αžŽ AGPLv3 αŸ” αžœαžΆαž€αŸαž˜αžΆαž“αž•αŸ’αž“αŸ‚αž€αžαžΆαž„αž˜αž»αžαž‹αž·αžαž·αžœαž“αŸ’αžαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™αž’αž“αž’αžΆαž“αžŸαžΆαž’αžΆαžšαžŽαŸˆαžŠαžΌαž…αž‡αžΆαž‘αž˜αŸ’αžšαž„αŸ‹ αž“αž·αž„αžŸαŸ’αžαžΆαž“αž—αžΆαž–αŸ” αž€αžΆαžšαž•αŸ’αž‘αž»αž€αž‘αž·αž“αŸ’αž“αž“αŸαž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαŸ€αž”αž…αŸ†αžŠαŸ„αž™αž”αŸ’αžšαžΎ PostgreSQL αž“αž·αž„ Redis αŸ” API αž”αžΎαž€αž…αŸ†αž αžαŸ’αžšαžΌαžœαž”αžΆαž“αž•αŸ’αžαž›αŸ‹αž‡αžΌαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž”αž„αŸ’αž€αžΎαžαž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αž“αŸ’αžαŸ‚αž˜ αž“αž·αž„αž—αŸ’αž‡αžΆαž”αŸ‹αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαžαžΆαž„αž€αŸ’αžšαŸ… (αž˜αžΆαž“αž’αžαž·αžαž·αž‡αž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹ Android, iOS αž“αž·αž„ Windows αž’αŸ’αž“αž€αž’αžΆαž…αž”αž„αŸ’αž€αžΎαžαžšαžΌαž”αž™αž“αŸ’αžαž”αžΆαž“)αŸ”

αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™αžαŸ’αž˜αžΈ:

  • αž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αžŸαž˜αžαŸ’αžαž—αžΆαž–αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžŠαŸ‚αž›αž”αžΆαž“αž•αŸ’αž‰αžΎαžšαž½αž…αž αžΎαž™αŸ” αž€αŸ†αžŽαŸ‚αžŠαžΎαž˜ αž“αž·αž„αžŠαŸ‚αž›αž”αžΆαž“αž€αŸ‚αžŸαž˜αŸ’αžšαž½αž›αž“αŸƒαž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžαŸ’αžšαžΌαžœαž”αžΆαž“αžšαž€αŸ’αžŸαžΆαž‘αž»αž€ αž αžΎαž™αž“αŸ…αžαŸ‚αž˜αžΆαž“αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαžœαž·αž—αžΆαž‚αž“αŸ…αž€αŸ’αž“αž»αž„αž”αŸ’αžšαžœαžαŸ’αžαž·αž”αŸ’αžšαžαž·αž”αžαŸ’αžαž·αž€αžΆαžšαŸ” αž’αŸ’αž“αž€β€‹αž”αŸ’αžšαžΎβ€‹αžŠαŸ‚αž›β€‹αž”αžΆαž“β€‹αž…αŸ‚αž€β€‹αžšαŸ†αž›αŸ‚αž€β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž αŸ„αŸ‡β€‹αž‡αžΆαž˜αž½αž™β€‹αž’αŸ’αž“αž€β€‹αžŠαž‘αŸƒβ€‹αžαŸ’αžšαžΌαžœβ€‹αž”αžΆαž“β€‹αž‡αžΌαž“β€‹αžŠαŸ†αžŽαžΉαž„β€‹αž“αŸ…β€‹αž–αŸαž›β€‹αž˜αžΆαž“β€‹αž€αžΆαžšβ€‹αž•αŸ’αž›αžΆαžŸαŸ‹β€‹αž”αŸ’αžαžΌαžšβ€‹αž…αŸ†αž–αŸ„αŸ‡β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž αŸ„αŸ‡β€‹αžŠαžΎαž˜ αž αžΎαž™β€‹αž’αžΆαž…β€‹αž‡αŸ’αžšαžΎαžŸβ€‹αžšαžΎαžŸβ€‹αž˜αž·αž“β€‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€β€‹αž€αžΆαžšβ€‹αž”αž„αŸ’αž αŸ„αŸ‡β€‹αžŠαŸ‚αž›β€‹αž–αž½αž€β€‹αž‚αŸβ€‹αž”αžΆαž“β€‹αž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αŸ” αž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž˜αž»αžαž„αžΆαžšαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž·αž‘αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αž“αŸ…αž€αŸ’αž“αž»αž„αž€αž˜αŸ’αž˜αžœαž·αž’αžΈαž”αžŽαŸ’αžαžΆαž‰ αž αžΎαž™αž“αžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž±αŸ’αž™αžŸαž€αž˜αŸ’αž˜αž”αž“αŸ’αž‘αžΆαž”αŸ‹αž–αžΈαž…αŸ†αž“αž½αž“αž‚αŸ’αžšαž”αŸ‹αž‚αŸ’αžšαžΆαž“αŸ‹αž“αŸƒαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαž”αŸ’αžαžΌαžšαž‘αŸ…αž€αŸ†αžŽαŸ‚ 3.5αŸ”
  • αž›αŸ†αžŠαžΆαž”αŸ‹αž“αŸƒαž―αž€αžŸαžΆαžšαž—αŸ’αž‡αžΆαž”αŸ‹αž“αŸ…αž€αŸ’αž“αž»αž„αžŸαžΆαžšαž›αŸ‚αž„αž’αžΆαžŸαŸ’αžšαŸαž™αž›αžΎαž›αŸ†αžŠαžΆαž”αŸ‹αžŠαŸ‚αž›αž―αž€αžŸαžΆαžšαžαŸ’αžšαžΌαžœαž”αžΆαž“αž‘αžΆαž‰αž™αž€αŸ”
  • αž‘αŸ†αž–αŸαžšαžαŸ’αž˜αžΈαž˜αž½αž™αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž“αŸ’αžαŸ‚αž˜αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž‡αž˜αŸ’αžšαžΎαžŸαž“αŸƒαž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž–αŸαž‰αž“αž·αž™αž˜ αžŸαž‰αŸ’αž‰αžΆαž–αŸαž‰αž“αž·αž™αž˜ αž€αžΆαžšαž‡αžΆαžœαžŠαŸ‚αž›αž”αžΆαž“αžŽαŸ‚αž“αžΆαŸ† αž“αž·αž„αž€αžΆαžšαž”αž„αŸ’αž αŸ„αŸ‡αž–αŸαžαŸŒαž˜αžΆαž“αžŠαŸ‚αž›αž˜αžΆαž“αž€αžΆαžšαž…αŸ‚αž€αžšαŸ†αž›αŸ‚αž€αž…αŸ’αžšαžΎαž“αž”αŸ†αž•αž»αžαŸ” αž€αžΆαžšαž”αŸ’αžšαž˜αžΌαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž€αžΎαžαž‘αžΎαž„αžŠαŸ„αž™αž‚αž·αžαž‚αžΌαžšαž–αžΈαž—αžΆαžŸαžΆαžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αŸ” αžŸαž˜αŸ’αž—αžΆαžšαŸˆαž‘αžΆαŸ†αž„αž’αžŸαŸ‹αžŠαŸ‚αž›αžšαž½αž˜αž”αž‰αŸ’αž…αžΌαž›αž€αŸ’αž“αž»αž„αž”αž‰αŸ’αž‡αžΈαž“αŸƒαž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αžŠαŸ‚αž›αž–αŸαž‰αž“αž·αž™αž˜αž€αžΆαž“αŸ‹αžαŸ‚αžαŸ’αž›αžΆαŸ†αž„αž‘αžΎαž„ αž†αŸ’αž›αž„αž€αžΆαžαŸ‹αž€αžΆαžšαžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αžŠαŸ„αž™αžŠαŸƒ αž˜αž»αž“αž–αŸαž›αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž€αŸ’αž“αž»αž„αž…αŸ†αžŽαŸ„αž˜αž€αžΆαžšαžŽαŸ‚αž“αžΆαŸ†αŸ”
    αž€αžΆαžšαž…αŸαž‰αž•αŸ’αžŸαžΆαž™ Mastodon 3.5 αžŠαŸ‚αž›αž‡αžΆαžœαŸαž‘αž·αž€αžΆαž”αžŽαŸ’αžαžΆαž‰αžŸαž„αŸ’αž‚αž˜αžœαž·αž˜αž‡αŸ’αžˆαž€αžΆαžš
  • αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαž–αž αž»αž‡αŸ†αž αžΆαž“αžαŸ’αž˜αžΈαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž–αž·αž“αž·αžαŸ’αž™αž˜αžΎαž›αž€αžΆαžšαž–αŸ’αžšαž˜αžΆαž“αž’αŸ†αž–αžΈαž€αžΆαžšαž”αŸ†αž–αžΆαž“αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž›αž‘αŸ’αž’αž—αžΆαž–αž“αŸƒαž€αžΆαžšαž–αž·αž…αžΆαžšαžŽαžΆαž›αžΎαž”αžŽαŸ’αžαžΉαž„αž§αž‘αŸ’αž’αžšαžŽαŸαžαŸ’αžšαžΌαžœαž”αžΆαž“αžŸαŸ’αž“αžΎαž‘αžΎαž„αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αŸ” αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŽαžΆαž˜αž½αž™αžšαž”αžŸαŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž› αžŠαžΌαž…αž‡αžΆαž€αžΆαžšαž›αž»αž”αžŸαžΆαžš αž¬αž€αžΆαžšαž•αŸ’αž’αžΆαž€αž€αžΆαžšαž”αŸ„αŸ‡αž–αž»αž˜αŸ’αž–αž•αŸ’αžŸαžΆαž™ αž₯αž‘αžΌαžœαž“αŸαŸ‡αžαŸ’αžšαžΌαžœαž”αžΆαž“αž”αž„αŸ’αž αžΆαž‰αž“αŸ…αž€αŸ’αž“αž»αž„αž€αžΆαžšαž€αŸ†αžŽαžαŸ‹αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹ αž αžΎαž™αžαžΆαž˜αž›αŸ†αž“αžΆαŸ†αžŠαžΎαž˜αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αž˜αžŠαŸ„αž™αž€αžΆαžšαž•αŸ’αž‰αžΎαž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„αž‘αŸ…αž‡αž“αž›αŸ’αž˜αžΎαžŸαžαžΆαž˜αž’αŸŠαžΈαž˜αŸ‚αž› αž‡αžΆαž˜αž½αž™αž“αžΉαž„αž±αž€αžΆαžŸαžŠαžΎαž˜αŸ’αž”αžΈαž”αŸ’αžšαž€αž½αžαž”αŸ’αžšαž‡αŸ‚αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αžŠαŸ‚αž›αž”αžΆαž“αž’αŸ’αžœαžΎαž‘αžΎαž„ αžšαž½αž˜αž‘αžΆαŸ†αž„αžαžΆαž˜αžšαž™αŸˆ αž€αžΆαžšαž†αŸ’αž›αžΎαž™αž†αŸ’αž›αž„αž•αŸ’αž‘αžΆαž›αŸ‹αžαŸ’αž›αž½αž“αž‡αžΆαž˜αž½αž™αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž›αŸ”
  • αž˜αžΆαž“αž‘αŸ†αž–αŸαžšαžŸαž„αŸ’αžαŸαž”αžαŸ’αž˜αžΈαž˜αž½αž™αžŠαŸ‚αž›αž˜αžΆαž“αžšαž„αŸ’αžœαžΆαžŸαŸ‹αž‘αžΌαž‘αŸ…αžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž’αŸ’αž“αž€αžŸαž˜αŸ’αžšαž”αžŸαž˜αŸ’αžšαž½αž› αž“αž·αž„αžŸαŸ’αžαž·αžαž·αž”αž“αŸ’αžαŸ‚αž˜ αžšαž½αž˜αž‘αžΆαŸ†αž„αž€αž“αŸ’αž›αŸ‚αž„αžŠαŸ‚αž›αž’αŸ’αž“αž€αž”αŸ’αžšαžΎαž”αŸ’αžšαžΆαžŸαŸ‹αžαŸ’αž˜αžΈαž˜αž€αž–αžΈαžŽαžΆ αž—αžΆαžŸαžΆαž’αŸ’αžœαžΈαžŠαŸ‚αž›αž–αž½αž€αž‚αŸαž“αž·αž™αžΆαž™ αž“αž·αž„αž…αŸ†αž“αž½αž“αž–αž½αž€αž‚αŸαžŸαŸ’αž“αžΆαž€αŸ‹αž“αŸ…αž›αžΎαž˜αŸ‰αžΆαžŸαŸŠαžΈαž“αž˜αŸαŸ” αž‘αŸ†αž–αŸαžšαž–αžΆαž€αŸ’αž™αž”αžŽαŸ’αžαžΉαž„αžαŸ’αžšαžΌαžœαž”αžΆαž“αž’αŸ’αžœαžΎαž”αž…αŸ’αž…αž»αž”αŸ’αž”αž“αŸ’αž“αž—αžΆαž–αžŠαžΎαž˜αŸ’αž”αžΈαžŸαž˜αŸ’αžšαž½αž›αžŠαŸ†αžŽαžΎαžšαž€αžΆαžšαžŠαŸ„αŸ‡αžŸαŸ’αžšαžΆαž™αž€αžΆαžšαž‡αžΌαž“αžŠαŸ†αžŽαžΉαž„ αž“αž·αž„αž€αŸ‚αž›αž˜αŸ’αž’αž§αž”αž€αžšαžŽαŸαžŸαž˜αŸ’αžšαžΆαž”αŸ‹αž€αžΆαžšαž›αž»αž”αžŸαžΆαžšαž₯αžαž”αžΆαž“αž€αžΆαžš αž“αž·αž„αžŸαž€αž˜αŸ’αž˜αž—αžΆαž–αž”αžΌαžαž™αŸ‰αžΆαž„αž…αŸ’αžšαžΎαž“αŸ”

αž”αŸ’αžšαž—αž–: opennet.ru

αž”αž“αŸ’αžαŸ‚αž˜αž˜αžαž·αž™αŸ„αž”αž›αŸ‹