This website requires JavaScript.
Explore
Help
Sign In
starred
/
warmbly
Watch
1
Star
0
Fork
0
mirror of
https://github.com/warmbly/warmbly.git
synced
2026-09-06 16:01:28 +00:00
Code
Issues
Packages
Projects
Releases
Wiki
Activity
Files
9ba657db2dd6700f4570bdea618f45b2c138e8b9
warmbly
/
internal
/
app
/
orgtransfer
T
History
Matthew Meszaros
78ec522758
feat: challenge a sign-in that could not physically be the same person, which a remembered device cannot catch because an attacker holding the cookie looks familiar: sign-ins were only ever a Redis device fingerprint with a TTL, so nothing durable recorded WHERE an account was used and there was nothing to compare a new one against; login_history keeps a bounded window per user, the geo lookup gains the coordinates the city database already had, and a journey implying more than 1000 km/h forces the emailed code even on a known device; it declines to judge a first sign-in, a hop under 500 km, an interval under two minutes or a missing position, because a false challenge locks a real person out of their own account and that is the worse failure, and repeated anomalies inside a fortnight reach the workspace posture while one odd trip does not
2026-08-28 12:08:17 -07:00
..
export.go
feat: organization data export and import for moving a workspace between instances (
#132
)
2026-08-18 07:53:39 -07:00
import.go
feat: give an organization one fused abuse posture (
#233
)
2026-08-28 11:20:19 -07:00
jobs.go
feat: organization data export and import for moving a workspace between instances (
#132
)
2026-08-18 07:53:39 -07:00
manifest.go
feat: organization data export and import for moving a workspace between instances (
#132
)
2026-08-18 07:53:39 -07:00
seal.go
feat: organization data export and import for moving a workspace between instances (
#132
)
2026-08-18 07:53:39 -07:00
service.go
feat: organization data export and import for moving a workspace between instances (
#132
)
2026-08-18 07:53:39 -07:00
spec_live_test.go
feat: unblock workspace import for any archive carrying a webhook endpoint, a notification, or a campaign-scoped suppression: ResetOnImport columns are now left out of the insert so the destination's own DEFAULT applies instead of writing NULL, which aborted the whole transaction on the four NOT NULL ones (webhook_endpoints.consecutive_failures, notifications.email_state and email_attempts, ai_mcp_servers.last_error) and made a webhook endpoint arrive carrying the source's failure streak and auto-disable state, and three tables that sat above something they reference are moved below it (webhook_endpoints under oauth_applications, suppressed_recipients under campaigns, reply_intents under tasks) because referencePlan only clears a reference the run does not write at all, so a forward reference to a table written later landed as a foreign-key violation; both classes are now guarded against the live schema in TestLiveResetColumnsHaveSomethingToFallBackOn and TestLiveTablesAreInDependencyOrder, and a cross-instance export/import round trip carrying all three previously fatal tables completes with failure counters back at their defaults and the suppression rows still attributed to their campaign
2026-08-24 08:57:05 -07:00
spec.go
feat: challenge a sign-in that could not physically be the same person, which a remembered device cannot catch because an attacker holding the cookie looks familiar: sign-ins were only ever a Redis device fingerprint with a TTL, so nothing durable recorded WHERE an account was used and there was nothing to compare a new one against; login_history keeps a bounded window per user, the geo lookup gains the coordinates the city database already had, and a journey implying more than 1000 km/h forces the emailed code even on a known device; it declines to judge a first sign-in, a hop under 500 km, an interval under two minutes or a missing position, because a false challenge locks a real person out of their own account and that is the worse failure, and repeated anomalies inside a fortnight reach the workspace posture while one odd trip does not
2026-08-28 12:08:17 -07:00