Changelog

What's new in CallSee.me

RSS
improvement

Tidying up persistent rooms

Persistent rooms — the always-available spaces some integrations keep instead of a one-off scheduled call — could be created and edited through the integration API, but there was nothing behind…

improvement

A room that never announced it was open

Persistent rooms — the always-available meeting spaces some integrations use instead of a one-off scheduled call — never sent a start or end signal to anything watching for one. The room itself worked…

improvement

The meter that could not write

v1.2.75 taught persistent rooms to record usage every quarter of an hour. It shipped, the interval ran on schedule, and every single run failed — quietly, in the background, for seventeen days. The…

improvement

The room that never ends, and the bill that never came

Most meetings have the decency to finish. Someone says "right, I should go", the last person leaves, the room closes, and the platform writes down how long everybody was there. That final tidy-up is…

improvement

The smoke alarm was timing itself

Every hour, the platform places a real video call to itself. Three browsers join a real meeting on the real service, look at each other, and file a report on how long it took before a face appeared.…

improvement

Nobody was listening to the smoke alarm

Some of the work behind a meeting happens after you are already in the room. Handing a seat its access to the shared notes, working out the fastest route between two people's browsers, noting when…

improvement

Taking out what the last release stopped using

Housekeeping, and the second half of yesterday's clean-up. The previous release removed the reseller dashboard and everything that read from it; this one removes the leftover storage those features…

improvement

The Reseller tab was never a product, so it's gone

There has been a "Reseller" entry in the organisation sidebar for months. It opened a dashboard with customer counts, pricing plans and a revenue-share figure, and almost none of it did anything: the…

improvement

Writing to support actually reaches us now

If you emailed support@callsee.me before today, nothing happened. The address looked real, the page said to use it, and mail sent to it bounced back — which is the polite version of the problem,…

improvement

You can decide whether guests wait

Every meeting type now has a switch for what happens when a visitor opens their link: they either walk straight in, or they wait until someone already in the room lets them in. It sits with the rest…

improvement

Every email now carries a plain-text version

A small one, in the same corner as the last two releases.

improvement

Email works again, and the host can close the room

Two fixes, and the first one is the bigger of the two by a distance: CallSee.me can send email again.

improvement

Two ways to send, and a check that stopped blaming us

Email delivery is being moved to a new sending path, and this release lands the plumbing for it: the platform can now send through either provider, chosen per environment rather than by whichever…

improvement

The screenshot you sent, and the note that it is missing

Write to our support address about something you can see and you will attach a picture of it. That is the whole reason people attach things: the sentence "the button does nothing" is a great deal more…

improvement

Mail that admits it did not arrive

When someone writes to our support address, three things are supposed to happen: we keep the message, we raise it as something to work on, and we email a copy to every administrator so a person sees…

improvement

When an email doesn't send, you'll hear about it

Every email this platform sends — sign-in links, meeting invitations, replies to support, the note that goes out when someone fills in the contact form — passed through one piece of code with a bad…

improvement

Checks that can say "I don't know"

A test that can only ever come back green is decoration. Two of ours were closer to that than we were comfortable with, and this release fixes both.

improvement

Your name, your gutters, your guests

Three small things you can see, and one that stops a stranger being left staring at a waiting screen.

feature

The key that never reached the door

Last release rebuilt the machinery behind our support address and added a check that asks it, in production, whether it is genuinely armed to accept a message. This release is what that check found,…

improvement

Teaching the support inbox to listen

If you ever wrote to our support address and heard nothing back, you were not being ignored. Your message never arrived. Everything behind that address was built and waiting — it would have been…

improvement

The shared document that wasn't there

Every meeting has a shared document in it — the panel where notes, decisions and signatures live, the one everybody in the room types into at once. For one person in one meeting after each time we…

improvement

Room for everyone on the hard networks

Most video calls find a direct route between the two people on them. Some never can — a corporate firewall, a hotel network, a mobile carrier that refuses anything it did not initiate. For those we…

improvement

The monitor that was measuring when it looked

Four times a day, two browsers install our published SDK, join the same meeting from different starting points, and check that each one can actually see the other. It is the closest thing we have to…

improvement

Checking the release nobody has used yet

Once an hour, a small fleet of real browsers dials into a real meeting on the live service, waits until everyone can see and hear everyone else, measures how long that took, and leaves. It is the same…

improvement

Two different bad days, two different sentences

A call can fail in two ways that feel nothing alike. Either it never starts — you press join and land back where you were — or you were mid-conversation and it went away. The first invites you to try…

improvement

Your filing system is not a room name

When another product opens a CallSee room from its own software, it hands us an identifier so it can find that room again later — a channel id, a UUID, whatever that product happens to key things by.…

improvement

The corner of your own face that fell off the screen

If you have joined a call from a phone lately, the little picture of yourself in the bottom right was missing a piece. Not subtly: about a third of it, sliced off at the edge of the screen, taking the…

improvement

Release notes about your product, not our plumbing

Every entry we have ever published here got read back this week — all eighty of them — and a good number were rewritten. Not because the facts were wrong. Because they were written for us. Module…

improvement

Subscribing to the events we actually send

If your organisation uses webhooks — the callbacks we fire when a meeting starts, a decision is recorded, someone pins a note — you could tick fifteen boxes in settings but only register eight of them…

improvement

Saying which language we're speaking

Every page of CallSee.me has been announcing itself as English while showing you Swedish. Sighted visitors never notice, because the words on screen are the words on screen. But a screen reader takes…

improvement

Shared notes that were talking to nobody

Every meeting room has a shared notes panel, and in production it has never once connected. Not slowly, not sometimes — never. Each person's browser has been politely trying to reach a door that was…

fix

The library we never asked for

This one is housekeeping, and the good kind: a batch of routine library updates, plus a fix for something that had quietly stopped working behind the scenes.

improvement

Shared notes are now shared

If two of you were in a meeting and one wrote a note, the other did not see it. Not late, not sometimes — not at all, until they reloaded the page and the notes arrived in one lump. The same went for…

improvement

The guided tour was filmed on a laptop, and it showed

Our guide videos are filmed by a scripted run of the real product. It opens a browser, creates a meeting, invites someone, ends the call, and we publish the film. It is a nice way to make…

feature

We were selling a feature we did not have

The Enterprise plan listed "custom domains" among its features. It should not have. There was nothing behind that line: no way to claim a hostname, no way to prove you own one, nothing to route it…

improvement

An hour is sixty minutes, and now the invoice agrees

Per-hour billing has been rebuilt on Stripe's current usage metering. Nothing about that is visible on your statement, and that is rather the point: the part of the product that decides what you owe…

improvement

The watchman who could not prove he had looked

Every hour, whether anybody is using CallSee.me or not, we place a real call against the live service. Three participants, actual cameras, actual audio, one of them deliberately routed the long way…

fix

The release that wasn't

Yesterday's release notes described a fix for people with no microphone getting no camera either. Everything in them was true except the part that mattered: nothing had been delivered. The version was…

improvement

A missing microphone should not cost you your camera

If you dropped our embeddable meeting component into your app and the person using it had no microphone — a desktop with no headset, a borrowed machine, a browser that had quietly denied audio months…

fix

Check your hair before others join

Our embeddable meeting component has shown you every person in the call except yourself, for its entire existence. Not a regression, not a recent break — it simply never rendered your own camera.…

improvement

Your key is fine, it's the wrong shape

There are three reasons we might turn down an API key: we have never seen it, it is real but it is the wrong kind for the endpoint you called, or it is real and the right kind and simply lacks…

improvement

The monitor was the one hallucinating

Every hour we place a real three-way video call into production and watch it the way a person would: did the picture arrive, is it still arriving a minute later. Seven times in the last four days it…

improvement

Provisioning a key can no longer take one away

Asking us for a service key and asking us to replace one are two different intentions, and they deserve two different verbs. Now they have them.

improvement

Telling integrators the truth about versions

If you build on our SDK, the API can tell you which version is current. Today it points at the one that actually exists, which sounds like it should never have been in question and is exactly the sort…

improvement

The addresses now check themselves

Nothing in this one changes what you see. It changes how a piece of the calling system looks after itself.

improvement

The ghost was us

The last two releases chased participants who haunted a meeting after leaving. This one found out where most of the ghosts were actually coming from: us. Every browser joining a call was opening its…

improvement

Leaving properly

The other half of the ghost problem. Last release stopped a departed participant haunting your meeting for its full length; this one stops most of them appearing in the first place.

improvement

The people who were never there

If someone's connection dropped, the meeting could keep believing they were still in the room — and anyone joining shortly afterwards would quietly try to call them. That attempt never went anywhere…

improvement

A test you can run on us

If you build on our SDK, you can now check it yourself. One command puts two browsers into one of your own rooms, waits for video to genuinely flow between them, and tells you whether it worked —…

improvement

Sharpening the tools, not the product

Nothing in this one changes what you see. It changes what we see.

improvement

The complaints department had no phone line

Two fixes here, and they share a shape: something was configured correctly in one place, copied into a second place, and then the world moved and only the first copy noticed.

improvement

The other half of the call that showed nobody

Yesterday's note described a call that connects and then shows nobody, and fixed the part where several of the ways we offer our relay were not working from outside. This is the other half, and it's…

improvement

The call that connects and then shows nobody

Some of you have had a call fail in the most useless way possible: it connects, the meeting opens, and then nobody is there. No error, no explanation. Usually it happened at work, on a locked-down…

improvement

When a customer leaves, they actually leave

Partners who resell CallSee.me can now tell us one of their customers is gone, and mean it. DELETE the tenant and it enters a 72-hour window, then the whole thing is erased — meetings, recordings,…

improvement

One key, both jobs

We tell integrators to hold a single key: the one their own backend uses to mint join tokens for their users, which "also works everywhere the account key works". That sentence was true of everything…

improvement

A key that opens exactly one set of doors

Yesterday's release let a partner sign its own customers up, each getting a real, separate account. Which immediately raises the obvious question: what else can that key do? Today's answer is…

improvement

Your customers are not each other's colleagues

Some companies sell CallSee.me inside their own product. Their customer books a meeting in their app, and a call happens — no CallSee.me logo, no account with us, often no idea we exist. Lovely for…

improvement

One good hour is not a recovery

Every hour, two browsers call each other on CallSee.me. They join a real room on the real live service, wave at each other, check the picture actually arrived, and hang up. If anything is wrong, we…

improvement

A partner is not a customer, and now the database agrees

Some companies don't use CallSee.me directly — they build us into their own product, and their customers get video calls without ever hearing our name. We've had those arrangements for a while. What…

improvement

The alarm that had learned to cry wolf

Every hour, an automated check places a real video call to the real service and confirms that it works. For a stretch it had been raising a full emergency about the same already-understood result, on…

fix

Asking production to do the actual thing

Not long ago we found five separate features that were finished, deployed, and completely dead. Not broken the way a bug is broken — every one of them passed its tests, returned a healthy status, and…

improvement

Pointing at the good one

Housekeeping with a real consequence. When somebody building on our toolkit asks us which version they should be on, we answer with a number — and until this release that number was the one released…

fix

The tile that was there and empty

Another one for the companies building their own video product on top of ours, and it is the same person who kept disappearing — from a different direction. Last time the fix made their tile appear at…

improvement

The grey circle that would not go away

This one is for the companies that build their own video product on top of ours. If somebody joined one of their calls with their camera switched off and then turned it on a minute later, they stayed…

improvement

Who is that, exactly

Names on video tiles have been playing a quiet game of hide and seek. In a call, only one person on your screen was ever labelled: whichever tile your mouse happened to be resting on. Move the…

improvement

The code on the screen was not the code

If you have ever been in a call and read the room code out loud to someone, we owe you an apology. The panel showed it in capitals, which looks tidy and was wrong: codes are case-sensitive, so the…

feature

Who watches the watchman, and what to do when he's asleep

Last release added an alarm that places a real call on the live service every hour and checks that everybody can see and hear everybody else. It does that from two different places on the internet, on…

improvement

The alarm that watches the room nobody resets

Last release fixed rooms that quietly got worse the more you used them, and it ended on a promise: a monitor that keeps checking the one thing a brand-new room can never show you. This is that…

improvement

Rooms that forget the people who left

A room you keep coming back to used to get worse the more you used it.

improvement

The meeting room reaches the media server

Last release put a proper media server behind CallSee.me. This one connects our own meeting room to it.

improvement

Video that just works when you embed us

If you're building CallSee.me video into your own product, this is the release where that stops being fiddly. Until now, getting a working call through our SDK meant knowing that different ways of…

improvement

Two people who could see everyone except each other

Group calls are peer-to-peer: in a room of three there are six one-way connections, and every one of them has to work. The trouble with that shape is that a single broken connection is invisible from…

feature

Branding belongs to the plan that pays for it

White-label branding has been on the Pro list for a long time, and it is now a Pro feature in practice as well as on the pricing page: your logo, your colours, your typeface, on the plan that pays for…

improvement

Serving first, tidying up afterwards

The site went dark for a while, and it did it quietly: no crash, no error to point at, just nothing answering. The cause was an order-of-operations mistake. A batch of startup housekeeping ran before…

improvement

E-signatures inside the meeting room

Meetings that matter usually end with something that needs a signature: a consent form, a contract, a witness statement, a closing note. Until now that meant stopping the call, opening another tool,…

fix

Trust, clarity, and a sharper first impression

This release is a round of small, high-signal upgrades to the parts of CallSee you touch most: the lobby, the dashboard, the login screen, and the trust page. The theme is polish with a purpose —…

improvement

Embed CallSee in your own product, properly

If you're building on CallSee — running your own app and letting your members talk to each other through our video stack — you've been doing it with a token-passthrough integration: your backend holds…

improvement

Paid sessions: charge for your time

Some meetings are products. Therapy hours, tutoring blocks, legal consultations, expert calls — sessions where the host's time is the thing being sold. Until today CallSee could host those meetings…

improvement

from video calls to a video platform

The 1.1 series is where CallSee stopped being just a place you visit for a meeting and became something you can build on. Looking back over the patches, three storylines dominate.

improvement

Meetings that know when to go home

Free personal-room meetings have a 30-minute limit, and that limit is now written down the moment the meeting starts instead of merely remembered. The deadline belongs to the meeting itself, and it…

improvement

Knock, knock. Who's allowed?

Private persistent rooms have a proper front door. Knocking is enforced on the server: when an org member knocks on a private always-on room, entry is granted deliberately, by someone already inside,…

security

Two locks, checked and tightened

Second security release of the day, and both halves are about being deliberate where we were previously merely reasonable.

improvement

Locks on every door, and a way through the firewall

This one is a slow walk around the building fitting better locks to doors that already have them. Magic links now work exactly once — the link in your inbox signs you in and is spent the moment it…

security

v1 API ships, first-run polish, security backfill

The headline is the v1 REST API. Notes, pins, and files all got proper public endpoints under /api/v1/meetings/:id/* — the three of them just missed v1.1.57, so this is the first build that exposes…

security

Security hardening + admin UX overhaul

The headline is security. A full review of who may do what ran across the platform, and this release is the result: API routes answer to one shared permission gate instead of several near-identical…

fix

Relay over TLS, and the build that let it ship

v1.1.53 never actually shipped. A build-configuration regression blocked the previous release; corrected so the database connection loads correctly and the app starts cleanly.

fix

SDK 0.2.3: the other half of yesterday's fix

0.2.2 renamed the built files so they matched what each package advertised, and corrected exactly half of the map. The require entry pointed at the right file. module and the import entry still…

fix

SDK 0.2.2: the files in the box match the label on it

A partner's very first npm install of @callsee/* walked straight into a packaging bug of the most annoying kind: the install itself succeeded. Each package's package.json advertised this —

improvement

A kiosk control bar you can read from the doorway

Kiosk mode is for a screen you are not standing in front of: a reception desk you walk past, a display at the far end of a meeting room. The buttons were already built for that distance — large…

improvement

The pre-join card stops stretching

On the screen where you check your camera before joining, the "Gå med i mötet" card sits beside the preview — and it had been politely growing to match the preview's height. Its actual contents (a…

improvement

A status badge you can actually read

When a call is reconnecting, a badge appears in the middle of the screen to say so. It was a pale amber wash on a barely-there amber tint, which looks fine over a dark video tile and disappears…

improvement

The small failures that used to slip past us

Plenty of what happens around a meeting is quiet by design: the webhook that tells your own system a call ended, the status that flips when a meeting wraps up, the minute counts billing is built on.…

improvement

More than one road out of a locked-down network

Some networks refuse to let live media through at all: corporate guest WiFi, hotels, conference centres — anywhere the rules were written by somebody who has never had to join a call from the lobby.…

improvement

Whoever answers, the room agrees who is in it

The sibling to v1.1.44. A guest could knock at the lobby and wait longer than they should have, because the prompt asking someone inside to let them in didn't always reach the people who could answer…

improvement

One connection limit, wherever you land

There is a limit on how many live connections a single client can hold open at once. It is a number nobody having a normal meeting should ever meet; it exists so one runaway tab can't crowd out a room…

improvement

SDK 0.2.1: live event subscriber

A partner's past-calls panel has been asking us "anything new?" on a timer, because there was no way for us to just tell them. The server side of that conversation (GET /api/v1/events/stream) has been…

improvement

SDK 0.2.0: onJoin / onError callbacks

A partner moving to the React component needed more of the meeting's life story than onLeave alone tells. Today a failed token is a silent black box, and the only way to learn that the meeting…

improvement

A private registry, and an SDK that knows its own age

A partner is moving off the iframe embed to a React component, which means our SDK stops being a script tag and becomes a real dependency inside somebody else's build. We didn't want that dependency…

fix

Self-View in Narrow Iframes

A partner got their embedded meeting loading properly after the v1.1.38 origin fix and immediately found the next thing: their own picture disappeared the moment they joined. Camera preview before…

fix

Iframe Embed Actually Works

The iframe embed allow-list shipped in v1.1.37 looked correct from every angle except the one that mattered: integration partners still got a white page. Partner iframes were still being blocked by a…

improvement

Relay for Guests, Iframe Origin Wildcards, Duplicate-Meeting Guard

Some calls were quietly settling for a direct connection and then failing on the networks that don't permit one — office wifi, mobile data, hotel internet. Two faults were stacked on top of each…

feature

Webhook Wiring and Visual Polish

Two webhook events — decision.recorded and pinboard.item.added — now actually fire. They had been published and subscribable for a while and delivered a flawless silence: everything looked wired,…

improvement

Compliance Housekeeping

A tidy-up pass on legal and privacy surfaces. Billing UsageEvents now get purged after seven years — matching Swedish bookkeeping law retention without letting them linger forever. The ToS now carries…

improvement

PiP Mode and Embed Hardening

The meeting UI is now fully responsive to the space it is given. Dropped into a 340x192 picture-in-picture panel — or any iframe narrower than 400px — it switches to a stripped-down layout: single…

improvement

No Cookies in Embed Mode

Browsers have made cookies unreliable inside an iframe, which makes a cookie consent banner in an embedded meeting a banner asking permission for something that was never going to happen anyway. So in…

improvement

Streamlined Embedded Lobby

When a partner embeds a meeting inside their own product, the person clicking "join" has usually already signed in over there, said yes to that company's terms, and told it their name. The pre-join…

improvement

Partner Pricing Tiers and Embed Policy

Two features in this release, both driven by an integration partner.

fix

Real-time Broadcast Fix and Webhook Auth

This one was a production incident fix. Roughly half of the real-time messages that keep a meeting agreeing with itself — someone arriving, someone muting, a hand going up — were being dropped in…

improvement

Screen Sharing and Embed Events

The big addition here is screen sharing through our media server. Until now a shared screen was sent person-to-person, one full copy per viewer, which held up beautifully at three people and fell…