Giter Club home page Giter Club logo

Comments (2)

hsinyi avatar hsinyi commented on July 17, 2024

I am not sure I am following the whole issue. So, first of all I want to figure out the scenario:

  1. Are we considering the case that more than one dialer app could be active at the same time?
  2. Which of the followingsis the requirement this API would like to support?
    1. different dialer apps should see the same call history
    2. different dialer apps should maintain their own slice of call history.

Quote from Zoltan:
Here we have 2 cases:
a. After sync, the short log is cleared, i.e only one entity can read it.
b. A full call history DB is maintained, with a client API to read, write back, revisions support, id allocation. This added complexity works against the requirement, so it is not desirable. 2a is the simpler, preferred solution.

my question to a): how to determine which app is that only one entity? Does a) mean different dialer apps see the different call history?

Quote from Zoltan:
In both cases it seems feasible to use DataStore API for sync, with the schema of CallHistoryEntry. We need to have a way to say from the dialer that "I am using a DataStore with schema specified by CallHistoryEntry", similar to the C++ syntax of:
DataStore callHistory;

Wouldn't that be something like "navigator.getDataStores("callhsitory")"? [1]

Thanks!

[1] https://wiki.mozilla.org/WebAPI/DataStore

from telephony.

zolkis avatar zolkis commented on July 17, 2024

@hsinyi

"1) Are we considering the case that more than 
one dialer app could be active at the same time?"

Yes, there could be more dialers, handling different or overlapping telephony services (app choice).
Call history could be maintained per service or combined (platform /app choice).
Also, call history could be in system-level and app-level storage.
There may be only one dialer allowed to a given telephony service (platform choice, then user choice on which one is it). That is a platform, or user choice.

"my question to a): how to determine which app is that only one entity? "

The user selects it.

"Does a) mean different dialer apps see the different call history? "

Yes. In that particular choice of implementation, yes.

The question is what is our assumption on this.Similar to what we have agreed in Messaging 2 hours ago, the current assumption could be that we have a system level storage for call history, and each app may maintain their own cache, too. In this scenario, marking e.g. a missed call as "seen" will have effect on all dialers, since their call history cache will be synchronized with the system storage.

But do we need the app cache at all? The main queries on call history are very simple: get all past calls, and have events for updates. Then, the app can show them in different lists: missed, dialed, received, etc, or in one list.

So I don't see why apps would want to index call history: they are just interested to get all the data. Therefore a DataStore like API is good enough, and it will use only a subset of it. Should we define a callhistory specific wrapper for storage interface?

"Wouldn't that be something like "navigator.getDataStores("callhsitory")"? [1]"

OK, that is good enough, assuming there in one common schema for CallHistory, which is our case.

from telephony.

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.