@eaplme@eapl.me
Yarn could the twtxt I want more then regular twtxt. Though I do like not having to host a yarn pod.
That client looks really cool. A web client that connects to a regular twtxt without the need to host a full yarn pod for just one user and feed.
What is the difference between twtxt-php and timeline from sorenpeter? Does it have a way to follow feeds from the web ui?
I was looking at it and what prevents someone from downloading the .config file and getting the password? Also how would I generate a totp password to use?
I should try to host that it might be the right not a full on yarn pod but also can post from my phone.
The weird thing is in my server logs it shows that your site pulled in the useragent as https://eapl.me/twtxt/?url=https%3A//neotxt.dk/user/darch/twtxt.txt with bytesypider from bytedance? That sounds weird. Plus I canât grep just twtxt in my logs and find your feed.
JMP: Newsletter: Holidays
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Share one num ⊠â Read more
Anyone else working with Mac OS (work), Windows (client project) and Fedora (private) on the same day, almost every day?
I am back on twtxt for now. I am using twtwt client. Donât think that it does replies so I should try jenny with mutt again.
yaxim: Planned downtime + Happy 10th anniversary, yax.im!
Our Android XMPP client yaxim was created in 2009. A decade later,
we celebrated its round birthday.
To make the user
experience more straightforward, we launched the
yax.im public XMPP service
in November 2013, to become the default server in yaxim. Now, ten years later,
itâs time to recap and to upgrade the hosting infrastructure.
Fix âGmail is having authentication problems. Some features may not work.â Error
Some Gmail web client users may occasionally see a red error message at the top of their Gmail inbox that says âGmail is having authentication problems. Some features may not work. Try logging in to fix the problem.â The error can persist sometimes even on a logged in account, and if you have logged back ⊠[Read More](https://osxdaily.com/2023/11/21/fix-gmail-having-authentication-problems-error ⊠â Read more
JMP: Newsletter: Summer in Review
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Sh ⊠â Read more
@adi@twtxt.net I think it is, and one benefit they have is that you can add third-party repositories to the F-Droid app as you discover them. So, for instance, if you know of a developer who pushes builds to an F-Droid compatible repository, you can add that to your F-Droid app and start tracking updates like you would for any other app in there. Canât do that with Google Play!
F-Droid tends to focus on open source applications that can be built in a reproducible way, which limits the inventory (though of course tends to mean the apps are safer and donât spy on you). There are non-free apps in there as well but they come with warnings so youâre informed about what you might be sacrificing by using them.
That said if you have a favorite app you get through Google Play, thereâs a decent chance it wonât be in F-Droid. Many âbig corporateâ apps arenât, and vendor-specific apps tend not to be either. But for most of the major functions you might want, like email clients, calendar apps, weather apps, etc etc, there are very good substitutes now in F-Droid. Youâre definitely making a trade-off though.
What I did was go through the apps I had installed on my last phone, found as many substitutes in F-Droid as I could, started using those instead to see how they worked, and bit by bit replaced as much as I could from Google Play with a comparable app from F-Droid. I still have a few apps (mostly vendor-specific things that donât have substitutes) that come from Google Play but Iâm aiming to be rid of those before I need to replace this phone.
@jmjl@tilde.green Iâm sorry that Iâm not super knowledgeable about alternatives to jmp.chat but Iâll tell you what I know.
Youâre probably right about jmp.chat not working for you, at least as it is now. You can only get US and Canadian phone numbers through it last time I checked, so if youâre not in either of those countries youâd be making international calls all the time and people who wanted to call you would be making international calls too.
Iâve seen people talk about using SIP as an intermediary: you can bridge SIP-to-XMPP, and bridge SIP-to-PSTN (PSTN = âpacket switched telephone networkâ, meaning normal telephone). You can skip the SIP-to-XMPP side if youâre comfortable using a SIP client. I donât know very much about SIP or PSTN so I am not sure what to recommend, but perhaps this helps your search queries.
There are a fair number of services like TextNow that let you sign up for a real telephone number that you can then use via their app (I wouldnât use TextNowâthey had tons of spyware in their app). I donât know if that kind of service works for you but if it does perhaps youâd be able to find one of them that isnât horrible. This page (https://alternativeto.net/software/jmp-chat/) has a bunch of alternatives; I canât vouch for any of them but maybe itâs a starting point if you want to go this route.
Good luck!
https://github.com/Ferdi265/wl-mirror wayland output mirror client
Ignite Realtime Blog: Push Notification Openfire plugin 0.9.2 released
The Ignite Realtime community is happy to announce a new release of the Push Notification plugin for Openfire.
This plugin enables clients to register for push notifications.
This release is a maintenance release. It adds translations and a configuration page. More details are available in the changelog
Yo ⊠â Read more
Ignite Realtime Blog: Candy plugin for Openfire 2.2.0 Release 4 now available!
The Ignite Realtime community is happy to announce a new release of the Openfire plugin for Candy.
Candy is a third-party chat client. The Openfire plugin makes deploying it a one-click affair!
This release is a maintenance release. It adds translations and updates dependencies on third-party libraries. More details are available in the [changelog](ht ⊠â Read more
Ignite Realtime Blog: Openfire inVerse plugin v10.1.4-1 release!
The Ignite Realtime community is happy to announce the immediate release of version â10.1.4 release 1â of the inVerse plugin for Openfire!
The inVerse plugin adds a Converse-based web client to Openfire ( Converse is a third party implementation). With this plugin, youâll be able to set up a fully functional Converse-based chat clients with just a few mouse-clicks!
This update includes an ⊠â Read more
Isode: Harrier 3.3 â New Capabilities
Harrier is our Military Messaging client. It provides a modern, secure web UI that supports SMTP, STANAG 4406 and ACP 127. Harrier allows authorised users to access role-based mailboxes and respond as a role within an organisation rather than as an individual.
 through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free ⊠â Read more
Iâm not super a fan of using json. I feel we could still use text as the medium. Maybe a modified version to fix any weakness.
What if instead of signing each twt individually we generated a merkle tree using the twt hashes? Then a signature of the root hash. This would ensure the full stream of twts are intact with a minimal overhead. With the added bonus of helping clients identify missing twts when syncing/gossiping.
Have two endpoints. One as the webfinger to link profile details and avatar like you posted. And the signature for the merkleroot twt. And the other a pageable stream of twts. Or individual twts/merkle branch to incrementally access twt feeds.
Erlang Solutions: CĂłmo depurar tu RabbitMQ
Descubre las herramientas y métodos adecuados para la depuración de RabbitMQ.
Lo que aprenderĂĄs en este blog.
Nuestros clientes de consultorĂa de RabbitMQ provienen de una amplia gama de industrias. Como resultado, hemos visto casi todos los comportamientos inesperados que puede presentar. RabbitMQ es un software complejo que emplea concurrencia y cĂłmputo distribuido (a travĂ©s de Erlang), por lo que depurarlo no siempre es sencillo. Para llegar a la causa ⊠â Read more
Ignite Realtime Blog: Botz version 1.2.0 release
We have just released version 1.2.0 of the Botz framework for Openfire!
The Botz library adds to the already rich and extensible Openfire with the ability to create internal user bots.
In this release, a bug that prevented client sessions for bots from being created was fixed. Hat-tip to
Kris Iyer for working with us on a fix!
Download the latest version of the Botz framework from [its project page](https://www.igniterealtime.org/projects/botz/ ⊠â Read more
Debian XMPP Team: XMPP Whatâs new in Debian 12 bookworm
On Tue 13 July 2021 there was a
blog post
of new XMPP related software releases which have been uploaded to Debian 11 (bullseye).
Today, we will inform you about updates for the upcoming Debian release bookworm.
A lot of new releases have been provided by the upstream projects. There were lot of changes
to the XMPP clients like Dino, Gajim, ⊠â Read more
Ignite Realtime Blog: inVerse Openfire plugin 10.1.2-1 released!
Earlier today, version 10.1.2 release 1 of the Openfire inVerse plugin was released. This plugin allows you to easily deploy the third-party Converse client in Openfire. In this release, the version of the client that is bundled in the plugin is updated to 10.1.2!
The updated plugin should become available for download in your Openfire admin console in the course of the next few hours. Alte ⊠â Read more
Prosodical Thoughts: Prosody 0.12.3 released
We are pleased to announce a new minor release from our stable branch.
This is a bugfix release for our stable 0.12 series. Most notably, it fixes a
regression for SQL users introduced in 0.12.2, and a separate long-standing
compatibility issue with archive stores on certain MySQL/MariaDB versions.
It also fixes an issue with websockets discovered by the Jitsi team, some
issues with our internal HTTP client API, and weâve improved the accuracy of
âprosodyctl check dnsâ in ⊠â Read more
JMP: Newsletter: JMP is 6! Leaving beta this year! And FOSSY đïž
Hi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one ⊠â Read more
JMP: Threads, Thumbnails, XMR, ETH
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Shar ⊠â Read more
@mckinley@twtxt.net i use pass along with the android and browser-pass clients. it is very good and keeping in sync is pretty simple.
@kdx@kdx.re: I suggest you to try twtwt client, itâs also written in C: https://github.com/win0err/twtwt
Nice to see that there is such a variety of MicroPub clients, next to Quill, Micropublish and the mobile app Indigenous, thereâs also sparkles. But on the desktop, I mostly just use GoBlogâs editor nowadays. It has live sync and and a live preview, which is sometimes very helpful. But flexibility is the key, use what fits you and the situation the best. â Read more
@prologic@twtxt.net I guess that refresh field could be easily replaced with Expires HTTP header (I realize that users on neocities.org cannot control this header, for example). And clients should also respect headers like Last-Modified/If-Modified-Since (304), youâre right about that. P.S. twtwt doensât have a caching mechanism for now, but I plan to implement it in generic way using HTTP headers.
@prologic@twtxt.net: I understand the benefits of using hashes, itâs much easier to implement client applications (at the expense of ease of use without the proper client). I must say that I like the way the metadata extension is done. Simple and elegant! Itâs hard to design simple things!
JMP: Newsletter: Busy Year in 2022
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Sha ⊠â Read more
@prologic@twtxt.net On the one hand, twtxt has become more popular thanks to Yarn.social. On the other hand, subject and hashtag extensions took away the simplicity of the protocol. For example, it is impossible to understand which conversation (#base32hash) a tweet refers to or to reply to a tweet without going to a yarn.social pod. Compare with re: in this tweet which can be written without using any client at all
JMP: Newsletter: Busy Year in 2022
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one app; Free as in Freedom; Sha ⊠â Read more
I switched from twtxt client to twtwt (https://github.com/win0err/twtwt). Itâs a pre-alpha version now, but it works pretty well and so much faster than the official twtxt client by @buckket@buckket.org. Feel free to check it out :-)
JMP: Writing a Chat Client from Scratch
ï»żThere are a lot of things that go into building a chat system, such as client, server, and protocol. Even for only making a client there are lots of areas of focus, such as user experience, features, and performance. To keep this post a manageable size, we will just be building a client and will use an existing server and protocol (accessing Jabber network services using the XMPP protocol). Weâll make a practical GUI so we can test things, but not spend too much time on p ⊠â Read more
Ignite Realtime Blog: HTTP File Upload plugin 1.2.0 released
We have now released version 1.2.0 of the HTTP File Upload plugin!
This plugin adds functionality to Openfire that allows clients to share files, as defined in the XEP-0363 âHTTP File Uploadâ specification.
This release primarily enhances functionality when running in an Openfire cluster. All changes can be reviewed in [the changelog for this release](https://www.igniterealtime. ⊠â Read more
Prosodical Thoughts: Bringing FASTer authentication to Prosody and XMPP
As our work continues on modernizing XMPP authentication,
we have some more new milestones to share with you. Until now our work has
mostly been focused on internal Prosody improvements, such as the new roles\âšand permissions framework. Now we are starting to extend our
work to the actual client-to-server protocol in XMPP.
Prosody and [Snikket](https://snik ⊠â Read more
JMP: Newsletter: New Cheogram Android Release, Chatwoot Instance
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone numbers, one ⊠â Read more
**Nada como dar um bom sinal de confiança, e mostrar aos clientes que se sabe bem sobre aquilo que se estĂĄ a venderâŠ
A @Thomson_FRA a vender Janelas no seu site PortuguĂȘs:**
Nada como dar um bom sinal de confiança, e mostrar aos clientes que se sabe bem sobre aquilo que se estĂĄ a venderâŠ
A @Thomson_FRA a vender Janelas no seu site PortuguĂȘs:
â Read more**R to @mind_booster: If you donât use or want to use twtxt, and still want to follow my twtxtâs, you can use your usual RSS/Atom client, as there is an Atom feed for it, here:
https://twtxt.net/user/marado/atom.xml**
If you donât use or want to use twtxt, and still want to follow my twtxtâs, you can use your usual RSS/Atom client, as there is an Atom feed for it, here:
JMP: Newsletter: Voicemail Changes, Opt-in Jabber ID Discoverability
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone number ⊠â Read more
Tigase Blog: Tigase XMPP Client Apps
Our XMPP Chat Apps philosophyWeb based, JavaScript, React and so on app are great⊠for developers.
We do care about users and we understand that the only way to provide users with great experience is through native apps.
Therefore we have put a lot of effort and dedication to develop native client for each platform separately. Each of our
apps is tailored for the best experience and native feeling. Plus they are optimized for each platform, so they are
lightweight but also powerful and take ⊠â Read more
@prologic@twtxt.net Yeah I am not one of these people who just have a twtxt file and end up posting a few things but not interacting with anyone. I do want to interact with the people of twtxt and yarn users. And not just twtxt users but I do care somewhat about the yarn users because really yarn is twtxt but with additions to make the experience better and a webui and the such like multi users. On top of that yarn and the twtxt clients add things like threads that are even helpful for twtxt users.
@prologic@twtxt.net That is why yarn is better then something like activity pub. Everything over on activity pub tries to work with Mastodon not because its better but because its the most popular. Twtxt clients on the other hand tries to work with the yarn additions because most of the additions improve things even for twtxt users.
@prologic@twtxt.net I never tried out any of the other clients except jenny with mutt. The best thing about yarn vs something like Mastodon is that its more promoted of the specification of twtxt files instead of server part. Twtxt can be hosted on some free static site host or some git server even so its really low resouces. Just a basic text file. As far as I know yarn is mostly just a web ui around twtxt and an extnetion to the specification to add some more usability and modern things. Anyone can join decentrilized network by having a twtxt file somewhere. If you want to support the specification of twtxt then that is really something most projects donât do and they promote the server software mostly.
JMP: Signup with Cheogram Android
Welcome to JMP.chat! If you are looking for a simple guide on how to sign up for JMP, then you have come to the right place! We will be keeping this guide up-to-date if there is ever a change in how to sign up.
We will first start with signing up from within your Jabber chat application on mobile, where you will never need to leave the client to get set up. I will be using the freedomware Android client Cheogram to do this signup. To star ⊠â Read more
JMP: Signup with Cheogram Android
Welcome to JMP.chat! If you are looking for a simple guide on how to sign up for JMP, then you have come to the right place! We will be keeping this guide up-to-date if there is ever a change in how to sign up.
We will first start with signing up from within your Jabber chat application on mobile, where you will never need to leave the client to get set up. I will be using the freedomware Android client Cheogram to do this signup. To star ⊠â Read more
JMP: Signup with Cheogram Android
Welcome to JMP.chat! If you are looking for a simple guide on how to sign up for JMP, then you have come to the right place! We will be keeping this guide up-to-date if there is ever a change in how to sign up.
We will first start with signing up from within your Jabber chat application on mobile, where you will never need to leave the client to get set up. I will be using the freedomware Android client Cheogram to do this signup. To star ⊠â Read more
JMP: Newsletter: New Employee, Command UI, JMP SIM Card, Multi-account Billing
ï»żHi everyone!
Welcome to the latest edition of your pseudo-monthly JMP update!
In case itâs been a while since you checked out JMP, hereâs a refresher: JMP lets you send and receive text and picture messages (and calls) through a real phone number right from your computer, tablet, phone, or anything else that has a Jabber client. Among other things, JMP has these features: Your phone number on every device; Multiple phone ⊠â Read more
(cont.)
Just to give some context on some of the components around the code structure.. I wrote this up around an earlier version of aggregate code. This generic bit simplifies things by removing the need of the Crud functions for each aggregate.
Domain ObjectsA domain object can be used as an aggregate by adding the event.AggregateRoot struct and finish implementing event.Aggregate. The AggregateRoot implements logic for adding events after they are either Raised by a command or Appended by the eventstore Load or service ApplyFn methods. It also tracks the uncommitted events that are saved using the eventstore Save method.
type User struct {
Identity string ```json:"identity"`
CreatedAt time.Time
event.AggregateRoot
}
// StreamID for the aggregate when stored or loaded from ES.
func (a *User) StreamID() string {
return "user-" + a.Identity
}
// ApplyEvent to the aggregate state.
func (a *User) ApplyEvent(lis ...event.Event) {
for _, e := range lis {
switch e := e.(type) {
case *UserCreated:
a.Identity = e.Identity
a.CreatedAt = e.EventMeta().CreatedDate
/* ... */
}
}
}
Events
Events are applied to the aggregate. They are defined by adding the event.Meta and implementing the getter/setters for event.Event
type UserCreated struct {
eventMeta event.Meta
Identity string
}
func (c *UserCreated) EventMeta() (m event.Meta) {
if c != nil {
m = c.eventMeta
}
return m
}
func (c *UserCreated) SetEventMeta(m event.Meta) {
if c != nil {
c.eventMeta = m
}
}
Reading Events from EventStore
With a domain object that implements the event.Aggregate the event store client can load events and apply them using the Load(ctx, agg) method.
// GetUser populates an user from event store.
func (rw *User) GetUser(ctx context.Context, userID string) (*domain.User, error) {
user := &domain.User{Identity: userID}
err := rw.es.Load(ctx, user)
if err != nil {
if err != nil {
if errors.Is(err, eventstore.ErrStreamNotFound) {
return user, ErrNotFound
}
return user, err
}
return nil, err
}
return user, err
}
OnX Commands
An OnX command will validate the state of the domain object can have the command performed on it. If it can be applied it raises the event using event.Raise() Otherwise it returns an error.
// OnCreate raises an UserCreated event to create the user.
// Note: The handler will check that the user does not already exsist.
func (a *User) OnCreate(identity string) error {
event.Raise(a, &UserCreated{Identity: identity})
return nil
}
// OnScored will attempt to score a task.
// If the task is not in a Created state it will fail.
func (a *Task) OnScored(taskID string, score int64, attributes Attributes) error {
if a.State != TaskStateCreated {
return fmt.Errorf("task expected created, got %s", a.State)
}
event.Raise(a, &TaskScored{TaskID: taskID, Attributes: attributes, Score: score})
return nil
}
Crud Operations for OnX Commands
The following functions in the aggregate service can be used to perform creation and updating of aggregates. The Update function will ensure the aggregate exists, where the Create is intended for non-existent aggregates. These can probably be combined into one function.
// Create is used when the stream does not yet exist.
func (rw *User) Create(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil && !errors.Is(err, ErrNotFound) {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}
// Update is used when the stream already exists.
func (rw *User) Update(
ctx context.Context,
identity string,
fn func(*domain.User) error,
) (*domain.User, error) {
session, err := rw.GetUser(ctx, identity)
if err != nil {
return nil, err
}
if err = fn(session); err != nil {
return nil, err
}
_, err = rw.es.Save(ctx, session)
return session, err
}