Giter Club home page Giter Club logo

Comments (13)

DarthGandalf avatar DarthGandalf commented on June 6, 2024

👍

from ircv3-specifications.

attilamolnar avatar attilamolnar commented on June 6, 2024

This looks like an exact use case for BATCH with a (e.g.) "REPLAY" batch type, opinions?

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

Hm, actually, now we have a choice “new batch type” vs. “new message tag” for every new feature, not limited to replay…
Maybe need to write some guideline when which of them should be used?

from ircv3-specifications.

jaingaurav avatar jaingaurav commented on June 6, 2024

I know very little about batch types vs message tags, but it seems to me that the batch approach assumes that there is some benefit for the client to process all the batch in one go at batch end.

There is no need for a client to delay processing till the end of a batch. This, the mechanics of a batch would be used as a grouped message tag.

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

@jaingaurav #86 should fix that.

@attilamolnar if client is free to ignore batch types, ignored (e.g.) "REPLAY" batch type won't help much. So probably both batch and tag are needed here.

from ircv3-specifications.

attilamolnar avatar attilamolnar commented on June 6, 2024

@DarthGandalf If the client cares about which messages are being replayed why would it ignore it?

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

Ok, so if client requested the capability, the client MUST take this batch type into account

from ircv3-specifications.

jaingaurav avatar jaingaurav commented on June 6, 2024

Okay I think I finally understand the point of using batch. It allows the client to know when the playback is complete which is visually displayed in certain clients.

@DarthGandalf So does that imply that supporting REPLAY requires a client to support BATCH type (even if it simply ignores them?).

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

@jaingaurav if to do it this way, if client announces that is supports replay (via cap), server will add joins to buffer, and client needs to understand that joins inside this batch type are not real. If client doesn't announce that it supports replay, server puts only privmsg into the batch.

from ircv3-specifications.

jaingaurav avatar jaingaurav commented on June 6, 2024

@DarthGandalf Okay, I guess my argument for using a REPLAY message-tag instead of a batch type is that it would work for clients that do not yet support the batch feature (but do support message tags). However, given your recent changes to the batch feature I think the batch tag works well.

The only other concern I have for using a batch type vs a message tag would be that batch types do not seem to support nesting. For example, you could not include a NETJOIN batch within the replay batch.

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

It supports nesting... See the example in batch spec

from ircv3-specifications.

DarthGandalf avatar DarthGandalf commented on June 6, 2024

I'm not sure what to do with clients which support tags, but not batches...

from ircv3-specifications.

attilamolnar avatar attilamolnar commented on June 6, 2024

The chathistory batch type which was added recently by @SaberUK covers this entirely.

from ircv3-specifications.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.