Git Product home page Git Product logo

velocity's Introduction

Velocity

Velocity is a fully featured tabbed proxy with a seamless browsing experience.

FeaturesDeploymentContributing

Velocity

Features

  • Sleek Firefox inspired UI
  • Advanced link handling
  • Script injection for native functions
  • Support for themes installed through the Firefox addon store
  • Custom styled context menus
  • PWA enabled

Internal URL's

  • about:newTab - New tab page
  • about:preferences - Preferences page
  • about:history - History page
  • about:blank - Blank document
  • view-source:* - View source page

Shortcuts

Velocity implements standard keyboard shortcuts that web browsers use in order to navigate. Due to the limitations of JavaScript, some of these have to be adapted to be slightly different.

  • Ctrl + R - Reload current tab
  • Ctrl + E - Search
  • Ctrl + U - View page source
  • Ctrl + Shift + I - Open developer tools
  • Alt + ArrowLeft - Navigate backwards in history
  • Alt + ArrowRight - Navigate forward in history
  • Ctrl + D - Bookmark current page
  • Ctrl + Shift + B - Toggle bookmarks bar
  • Ctrl + H - Open history

Adapted Shortcuts

  • Alt + T - Open new tab (originally Ctrl + T)
  • Alt + W - Close current tab (originally Ctrl + W)

API

Velocity exposes certain APIs in order to allow developers to easily incorperate Velocity into their own projects. To learn more, check out the API Docs.

Deployment

Quick Deployment Options

Velocity currently does not officially support any quick deployment platforms. Any issues regarding deployment on platforms such as Replit, Render, Vercel, etc. will be closed.

Normal Deployment (Recommended)

git clone https://github.com/cohenerickson/Velocity.git
cd Velocity
npm i
npm run build
npm start

Contributing

Velocity is still in it's early stages but if it gains enough interest among the community there are quite a few other features that I would like to implement, listed below are a few of these.

  • Bookmarklet support
  • Extension support
  • registerProtocolHandler support
  • And more...

velocity's People

Contributors

cohenerickson avatar dependabot[bot] avatar glitch128 avatar maxicode2 avatar rifting avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

velocity's Issues

[Bug]: Velocity context menu does not respect context interception in embedded webpage

What Happened

When trying to open a custom context menu on a website with one implemented (see https://hypertabs.cc), the Velocity context menu opens over it despite that the website hypertabs.cc prevents a normal context menu from opening.

Expected Behavior

Because Hypertabs prevents the default context menu from opening, Velocity's context menu shouldn't open.

Steps to Reproduce

Visit https://hypertabs.cc on Velocity.
Right-click anywhere.

Other Information

Using the instance @ velocity.radon.games (because the theming feature is not built into the src it seems)

Checklist

  • I have read and followed the contributing guidelines

Add about:addons system page

Adding this page could create an interface for importing custom themes and create a way to manage add-ons when that functionality is implemented.

This is a very good project, but I noticed a few issues: 1. The theme and extension functions of Firefox browser are not effective. 2. Ultraviolet has been upgraded to V2. x version, which seems to have optimized a lot of capabilities. When will this project adapt? Thank you for sharing this project!

This is a very good project, but I noticed a few issues:

  1. The theme and extension functions of Firefox browser are not effective.
  2. Ultraviolet has been upgraded to V2. x version, which seems to have optimized a lot of capabilities. When will this project adapt?
    Thank you for sharing this project!

[Bug]: npm not installing

What Happened

used npm i (self host) and it didn't work, seems to be babel, it says somehting about syslinks

Expected Behavior

npm sucessfully installing everythging

Steps to Reproduce

git clone and
`npm i` command should be enough

Other Information

using a phone, termux, not rooted.

Checklist

  • I have read and followed the contributing guidelines

[Bug]:

What Happened

error while running.

Expected Behavior

to work

Steps to Reproduce

idk

Other Information

error while running.

Checklist

  • I have read and followed the contributing guidelines

PWA start url points to blank screen

hey, change this line in the manifest from
"start_url": "/index.html"
to this
"start_url": "/"
because all I get is a white screen when it opens from index.html

Error when running npm build

@Praveit ➜ /workspaces/Velocity (main) $ npm install

up to date, audited 783 packages in 1s

105 packages are looking for funding
run npm fund for details

found 0 vulnerabilities
@Praveit ➜ /workspaces/Velocity (main) $ npm install

up to date, audited 783 packages in 1s

105 packages are looking for funding
run npm fund for details

found 0 vulnerabilities
@Praveit ➜ /workspaces/Velocity (main) $ git clone https://github.com/cohenerickson/Velocity.gt
Cloning into 'Velocity.gt'...
remote: Repository not found.
fatal: repository 'https://github.com/cohenerickson/Velocity.gt/' not found
@Praveit ➜ /workspaces/Velocity (main) $ git clone https://github.com/cohenerickson/Velocity.git
fatal: destination path 'Velocity' already exists and is not an empty directory.
@Praveit ➜ /workspaces/Velocity (main) $ npm i

up to date, audited 783 packages in 1s

105 packages are looking for funding
run npm fund for details

found 0 vulnerabilities
@Praveit ➜ /workspaces/Velocity (main) $ npm run build

[email protected] build
webpack --mode production && solid-start build

assets by status 2.76 MiB [cached] 2 assets
orphan modules 51.6 KiB [orphan] 34 modules
runtime modules 6.36 KiB 12 modules
cacheable modules 1.55 MiB
modules by path ./node_modules/ 1.5 MiB 51 modules
modules by path ./src/ 49.2 KiB
modules by path ./src/addon/api/.ts 42.6 KiB 9 modules
modules by path ./src/addon/
.ts 2.68 KiB
./src/addon/worker.ts 973 bytes [built] [code generated]
+ 2 modules
modules by path ./src/addon/util/*.ts 2.93 KiB
./src/addon/util/bindingUtil.ts 2.2 KiB [built] [code generated]
+ 2 modules
./src/addon/types/EventManager.ts 620 bytes [built] [code generated]
./src/util/fs.ts 309 bytes [built] [code generated]

ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts
51:18-39
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts(51,19)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Keybind[]) => Keybind[]): Keybind[]', gave the following error.
Argument of type '(this | Keybind)[]' is not assignable to parameter of type '(prev: Keybind[]) => Keybind[]'.
Type '(this | Keybind)[]' provides no match for the signature '(prev: Keybind[]): Keybind[]'.

ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts
54:8-68:10
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts(54,9)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Keybind[]) => Keybind[]): Keybind[]', gave the following error.
Argument of type 'Keybind[]' is not assignable to parameter of type '(prev: Keybind[]) => Keybind[]'.
Type 'Keybind[]' provides no match for the signature '(prev: Keybind[]): Keybind[]'.
Overload 2 of 3, '(value: Keybind[]): Keybind[]', gave the following error.
Argument of type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default[]' is not assignable to parameter of type 'import("/workspaces/Velocity/src/api/Keybind").default[]'.
Type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default' is not assignable to type 'import("/workspaces/Velocity/src/api/Keybind").default'.
Property '#init' in type 'Keybind' refers to a different member that cannot be accessed from within type 'Keybind'.
Overload 3 of 3, '(value: Keybind[] | ((prev: Keybind[]) => Keybind[])): Keybind[]', gave the following error.
Argument of type 'Keybind[]' is not assignable to parameter of type 'Keybind[] | ((prev: Keybind[]) => Keybind[])'.
Type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default[]' is not assignable to type 'import("/workspaces/Velocity/src/api/Keybind").default[]'.

ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts
54:23-46
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts(54,24)
TS2345: Argument of type '(keybind: Keybind) => Keybind' is not assignable to parameter of type '(value: Keybind, index: number, array: Keybind[]) => Keybind'.
Types of parameters 'keybind' and 'value' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Keybind").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default'.
Property '#init' in type 'Keybind' refers to a different member that cannot be accessed from within type 'Keybind'.

ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts
71:13-73:18
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts(71,14)
TS2352: Conversion of type 'Keybind | undefined' to type 'Keybind' may be a mistake because neither type sufficiently overlaps with the other. If this was intentional, convert the expression to 'unknown' first.
Type 'import("/workspaces/Velocity/src/api/Keybind").default' is not comparable to type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default'.
Property '#init' in type 'Keybind' refers to a different member that cannot be accessed from within type 'Keybind'.

ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts
72:8-55
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Keybind.ts(72,9)
TS2769: No overload matches this call.
Overload 1 of 2, '(predicate: (this: void, value: Keybind, index: number, obj: Keybind[]) => value is Keybind, thisArg?: any): Keybind | undefined', gave the following error.
Argument of type '(keybind: Keybind) => boolean' is not assignable to parameter of type '(this: void, value: Keybind, index: number, obj: Keybind[]) => value is Keybind'.
Types of parameters 'keybind' and 'value' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Keybind").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default'.
Overload 2 of 2, '(predicate: (value: Keybind, index: number, obj: Keybind[]) => unknown, thisArg?: any): Keybind | undefined', gave the following error.
Argument of type '(keybind: Keybind) => boolean' is not assignable to parameter of type '(value: Keybind, index: number, obj: Keybind[]) => unknown'.
Types of parameters 'keybind' and 'value' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Keybind").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Keybind").default'.

ERROR in /workspaces/Velocity/Velocity/src/api/Popup.ts
90:14-33
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Popup.ts(90,15)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Popup[]) => Popup[]): Popup[]', gave the following error.
Argument of type '(this | Popup)[]' is not assignable to parameter of type '(prev: Popup[]) => Popup[]'.
Type '(this | Popup)[]' provides no match for the signature '(prev: Popup[]): Popup[]'.

ERROR in /workspaces/Velocity/Velocity/src/api/Popup.ts
95:41-55
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Popup.ts(95,42)
TS2367: This comparison appears to be unintentional because the types 'Popup' and 'this' have no overlap.

ERROR in /workspaces/Velocity/Velocity/src/api/Protocol.ts
12:17-39
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Protocol.ts(12,18)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Protocol[]) => Protocol[]): Protocol[]', gave the following error.
Argument of type '(this | Protocol)[]' is not assignable to parameter of type '(prev: Protocol[]) => Protocol[]'.
Type '(this | Protocol)[]' provides no match for the signature '(prev: Protocol[]): Protocol[]'.

ERROR in /workspaces/Velocity/Velocity/src/api/RuntimeModifier.ts
16:13-17
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/RuntimeModifier.ts(16,14)
TS2345: Argument of type 'this' is not assignable to parameter of type 'RuntimeModifier'.
Type 'import("/workspaces/Velocity/Velocity/src/api/RuntimeModifier").default' is not assignable to type 'import("/workspaces/Velocity/src/api/RuntimeModifier").default'.
Property '#injects' in type 'RuntimeModifier' refers to a different member that cannot be accessed from within type 'RuntimeModifier'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
33:35-39
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(33,36)
TS2345: Argument of type 'this' is not assignable to parameter of type 'Tab'.
Type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default' is not assignable to type 'import("/workspaces/Velocity/src/api/Tab").default'.
Property '#pinned' in type 'Tab' refers to a different member that cannot be accessed from within type 'Tab'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
40:24-28
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(40,25)
TS2345: Argument of type 'this' is not assignable to parameter of type 'Tab'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
50:12-29
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(50,13)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Tab[]) => Tab[]): Tab[]', gave the following error.
Argument of type '(this | Tab)[]' is not assignable to parameter of type '(prev: Tab[]) => Tab[]'.
Type '(this | Tab)[]' provides no match for the signature '(prev: Tab[]): Tab[]'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
53:18-48
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(53,19)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Set) => Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type '(prev: Set) => Set'.
Type 'Set<this | Tab>' provides no match for the signature '(prev: Set): Set'.
Overload 2 of 3, '(value: Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set'.
Type 'this | Tab' is not assignable to type 'Tab'.
Type 'this' is not assignable to type 'Tab'.
Overload 3 of 3, '(value: Set | ((prev: Set) => Set)): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set | ((prev: Set) => Set)'.
Type 'Set<this | Tab>' is not assignable to type 'Set'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
55:18-48
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(55,19)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Set) => Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type '(prev: Set) => Set'.
Overload 2 of 3, '(value: Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set'.
Overload 3 of 3, '(value: Set | ((prev: Set) => Set)): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set | ((prev: Set) => Set)'.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
103:63-75
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(103,64)
TS2367: This comparison appears to be unintentional because the types 'Tab' and 'this' have no overlap.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
104:35-47
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(104,36)
TS2367: This comparison appears to be unintentional because the types 'Tab' and 'this' have no overlap.

ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts
247:18-48
[tsl] ERROR in /workspaces/Velocity/Velocity/src/api/Tab.ts(247,19)
TS2769: No overload matches this call.
Overload 1 of 3, '(value: (prev: Set) => Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type '(prev: Set) => Set'.
Overload 2 of 3, '(value: Set): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set'.
Overload 3 of 3, '(value: Set | ((prev: Set) => Set)): Set', gave the following error.
Argument of type 'Set<this | Tab>' is not assignable to parameter of type 'Set | ((prev: Set) => Set)'.

ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx
23:8-45
[tsl] ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx(23,9)
TS2345: Argument of type '(tab: Tab) => boolean' is not assignable to parameter of type '(value: Tab, index: number, obj: Tab[]) => unknown'.
Types of parameters 'tab' and 'value' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.
Property '#pinned' in type 'Tab' refers to a different member that cannot be accessed from within type 'Tab'.

ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx
26:8-45
[tsl] ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx(26,9)
TS2345: Argument of type '(tab: Tab) => boolean' is not assignable to parameter of type '(value: Tab, index: number, obj: Tab[]) => unknown'.
Types of parameters 'tab' and 'value' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx
89:14-96:16
[tsl] ERROR in /workspaces/Velocity/Velocity/src/components/Tabs.tsx(89,15)
TS2322: Type '(tab: Tab) => JSX.Element' is not assignable to type '(item: Tab, index: Accessor) => Element'.
Types of parameters 'tab' and 'item' are incompatible.
Type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/Velocity/src/manager/bookmarkManager.ts
54:35-58
[tsl] ERROR in /workspaces/Velocity/Velocity/src/manager/bookmarkManager.ts(54,36)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts
66:34-37
[tsl] ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts(66,35)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts
89:40-43
[tsl] ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts(89,41)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts
100:40-43
[tsl] ERROR in /workspaces/Velocity/Velocity/src/manager/tabManager.ts(100,41)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/src/api/index.ts
45:6-14
[tsl] ERROR in /workspaces/Velocity/src/api/index.ts(45,7)
TS2403: Subsequent variable declarations must have the same type. Variable 'Velocity' must be of type '{ Tab: typeof Tab; getTabs: Accessor<Tab[]>; Protocol: typeof Protocol; getProtocols: Accessor<Protocol[]>; ContextItem: typeof ContextItem; ... 13 more ...; bookmarks: typeof import("/workspaces/Velocity/Velocity/src/addon/api/bookmarks"); }', but here has type '{ Tab: typeof Tab; getTabs: Accessor<Tab[]>; Protocol: typeof Protocol; getProtocols: Accessor<Protocol[]>; ContextItem: typeof ContextItem; ... 13 more ...; bookmarks: typeof import("/workspaces/Velocity/src/addon/api/bookmarks"); }'.

ERROR in /workspaces/Velocity/src/api/index.ts
47:4-12
[tsl] ERROR in /workspaces/Velocity/src/api/index.ts(47,5)
TS2717: Subsequent property declarations must have the same type. Property 'Velocity' must be of type '{ Tab: typeof Tab; getTabs: Accessor<Tab[]>; Protocol: typeof Protocol; getProtocols: Accessor<Protocol[]>; ContextItem: typeof ContextItem; ... 13 more ...; bookmarks: typeof import("/workspaces/Velocity/Velocity/src/addon/api/bookmarks"); }', but here has type '{ Tab: typeof Tab; getTabs: Accessor<Tab[]>; Protocol: typeof Protocol; getProtocols: Accessor<Protocol[]>; ContextItem: typeof ContextItem; ... 13 more ...; bookmarks: typeof import("/workspaces/Velocity/src/addon/api/bookmarks"); }'.

ERROR in /workspaces/Velocity/src/api/index.ts
50:0-19
[tsl] ERROR in /workspaces/Velocity/src/api/index.ts(50,1)
TS2322: Type '{ Tab: typeof import("/workspaces/Velocity/src/api/Tab").default; getTabs: import("/workspaces/Velocity/node_modules/solid-js/types/reactive/signal").Accessor<import("/workspaces/Velocity/src/api/Tab").default[]>; ... 16 more ...; bookmarks: typeof import("/workspaces/Velocity/src/addon/api/bookmarks"); }' is not assignable to type '{ Tab: typeof import("/workspaces/Velocity/Velocity/src/api/Tab").default; getTabs: import("/workspaces/Velocity/node_modules/solid-js/types/reactive/signal").Accessor<import("/workspaces/Velocity/src/api/Tab").default[]>; ... 16 more ...; bookmarks: typeof import("/workspaces/Velocity/Velocity/src/addon/api/bookmar...'.
Types of property 'Tab' are incompatible.
Types of construct signatures are incompatible.
Type 'new (url?: string | undefined, isActive?: boolean | undefined) => Tab' is not assignable to type 'new (url?: string | undefined, isActive?: boolean | undefined) => Tab'.
Type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/src/api/index.ts
51:26-41
[tsl] ERROR in /workspaces/Velocity/src/api/index.ts(51,27)
TS2322: Type '{ Tab: typeof import("/workspaces/Velocity/src/api/Tab").default; getTabs: import("/workspaces/Velocity/node_modules/solid-js/types/reactive/signal").Accessor<import("/workspaces/Velocity/src/api/Tab").default[]>; ... 16 more ...; bookmarks: typeof import("/workspaces/Velocity/src/addon/api/bookmarks"); }' is not assignable to type '{ Tab: typeof import("/workspaces/Velocity/Velocity/src/api/Tab").default; getTabs: import("/workspaces/Velocity/node_modules/solid-js/types/reactive/signal").Accessor<import("/workspaces/Velocity/src/api/Tab").default[]>; ... 16 more ...; bookmarks: typeof import("/workspaces/Velocity/Velocity/src/addon/api/bookmar...'.

ERROR in /workspaces/Velocity/src/manager/bookmarkManager.ts
54:35-58
[tsl] ERROR in /workspaces/Velocity/src/manager/bookmarkManager.ts(54,36)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/src/manager/tabManager.ts
66:34-37
[tsl] ERROR in /workspaces/Velocity/src/manager/tabManager.ts(66,35)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/src/manager/tabManager.ts
89:40-43
[tsl] ERROR in /workspaces/Velocity/src/manager/tabManager.ts(89,41)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

ERROR in /workspaces/Velocity/src/manager/tabManager.ts
100:40-43
[tsl] ERROR in /workspaces/Velocity/src/manager/tabManager.ts(100,41)
TS2345: Argument of type 'import("/workspaces/Velocity/src/api/Tab").default' is not assignable to parameter of type 'import("/workspaces/Velocity/Velocity/src/api/Tab").default'.

32 errors have detailed information that is not shown.
Use 'stats.errorDetails: true' resp. '--stats-error-details' to show it.

webpack 5.88.2 compiled with 32 errors in 12973 ms
@Praveit ➜ /workspaces/Velocity (main) $ npm start

[email protected] start
node scripts/server.js

Velocity listening on http://localhost:3000/
Error: ENOENT: no such file or directory, stat '/workspaces/Velocity/dist/public/index.html'

Web App not working Correctly

Hi, Recently I have noticed that the PWA Web App of Velocity does not work when you launch it from the ChromeOS Launcher and I have found out why. Its because it starts at /index.html which generates a 404 error/white screen
I think this should fix it but idk
{ "name": "Velocity", "short_name": "Velocity", "description": "A fully featured web browser built using web technologies.", "icons": [ { "src": "icons/32.png", "sizes": "32x32", "type": "image/png" }, { "src": "icons/512.png", "sizes": "512x512", "type": "image/png" }, { "src": "icons/touch.png", "sizes": "512x512", "type": "image/png", "purpose": "maskable" } ], "start_url": "/", "display": "fullscreen", "theme_color": "#1c1b22", "background_color": "#1c1b22", "display_override": ["window-controls-overlay"] }

[Bug] - keybinds and other data don't save

I have found that multiple things that should save between reloads don't. the things that I have found that don't save are as follows:

  • keybinds
  • bookmarks
  • tabs
  • UI toggles(bookmarks bar)

[Bug]: Velocity not loading when using it inside of an Ultraviolet Instance

What Happened

Hi, I'm experiencing an issue lately where Velocity simply does not load inside of an ultraviolet instance such as being Proxied in terbium and simple is just a white screen.
image

Expected Behavior

That velocity would work correctly unless it specificly doesn't work inside of a UV instance

Steps to Reproduce

Go to any UV Website (ex. nubulaproxy.io)
Go to velocity.radon.games (defualt url)
It displays a white screen

Other Information

Browser: Microsoft Edge 114.0.1823.43 (Stable x64)
OS: Microsoft Windows 11 22H2

Version of Ultraviolet (my own radon proxy site) Ultraviolet v1.0.8-beta

Checklist

  • I have read and followed the contributing guidelines

Bookmarklets/favelets

Here was my implementation in Hypertabs

  if (URL_BAR.value.startsWith("javascript:")) {
    try {
      jsUri = decodeURIComponent(
        URL_BAR.value.substring(11)
      );
    } catch {
      jsUri = URL_BAR.value.substring(11);
    }
    ACTIVE_WINDOW().eval(jsUri);

I will make a pull request for this implementation for Velocity later today.

Static version

Is there going to be a static version of this soon, so I can deploy to vercel/netlify/github pages?
I prefer this method as I can specify my own bare server and host it where it wont get deleted.

[Bug]: Issues Static Hosting

What Happened

So after following the guide you send in #27 It didnt work and its blank even though in the network logs it says the assets are loaded correctly.
image
THe only error is from the manifest for some reason since im trying to embed it into a website and its for some reason loading the other manifest instead of velocitys.

Expected Behavior

For the Velocity UI to appear and work.

Steps to Reproduce

In the folder of this github repo run `npm run build` then copy the files from the dist folder to a static host then from there you will see the issues such as the screen just being white.

Other Information

Windows 11 x64 22H2

Checklist

  • I have read and followed the contributing guidelines

Bookmarklet Support

Bookmarklet support would allow the user to execute arbitrary javascript on any website.

[Bug]: Some bookmark information isn't saved/used correctly

What Happened

Information such as the icon, and relative position of a bookmark is neither saved nor used when displaying bookmarks

Expected Behavior

Bookmarks to be in the same order after page refresh and to have the correct favicon displayed

Steps to Reproduce

- Create 2 bookmarks from 2 different pages
- Reload the page
- Observe that bookmarks change order and don't retain favicons

Other Information

No further information

Checklist

  • I have read and followed the contributing guidelines

[Bug]: Can v2 be deployed and used?

What Happened

Can v2 be deployed and used?

Expected Behavior

Can v2 be deployed and used?

Steps to Reproduce

Can v2 be deployed and used?

Other Information

Can v2 be deployed and used?

Checklist

  • I have read and followed the contributing guidelines

implement "More Menu"

it would be a good addition to add a "More menu" to the browser UI to make it more like the actual firefox browser. the more menu would include :

  • New tab
  • New window
  • New Private window (greyed out)
  • Bookmarks
  • History
  • Add-ons and themes (goes to Firefox Add-ons)
  • Settings
  • Github link

Moving the Github link into the "More menu" would make space for the more menu button without having to mess around with the Omnibox sizing.

Pretty sure there are some memory leaks

What Happened

was watching youtube with it, worked just fine at 720p on my chromebook, but the longer i watched the more it broke, at first just a few stutters every now and then, after that it kept getting worse until it stopped working entirely

Expected Behavior

there not to be proggresively worsening issues the longer it is in use

Steps to Reproduce

steps found in my description of what happened

Other Information

school chromebook, hosted on render.com (i made hosted on their site before they flagged the repository)

Checklist

  • I have read and followed the contributing guidelines

Theme support

I know I might be bothering you, so sorry, but..

I have a question concrening Velocity
I have been trying to create a custom version/theme of it

https://6c836537-d4e9-460a-9fb8-5c5d86cda5d4.id.repl.co/
So like, I want to change the colors
But I don't know where the css/typescript is?
can you send me the directory
which I can edit these colors?

Capture

Disclaimer: This is for personal use, and Credit will be given
Working on doing that

[Bug]:

What Happened

https://user-images.githubusercontent.com/119162325/233830078-29ed90c1-c94f-421c-9429-205f5ae07ad8.png
Thats the error I'm getting and apparently it's because the Ultraviolet proxy version being used is outdated, could you update the files to the newer version and you also need the tomphttp bare server node to be updated and I tried to do it myself but I'm still new to all this so I can't really do it, if you could do it you would have support for website logins which would be great and otherwise Velocity is extremely fast you chose a great proxy and there are plenty of customizable options, just one more request: Extension support from chrome webstore?

Expected Behavior

Not this, I thought I would be able to log in to outlook

Steps to Reproduce

Just go to outlook.com and try logging in

Other Information

Not really everything is explained in the first one

Checklist

  • I have read and followed the contributing guidelines

How does the current project perform password authentication?

How does the current project perform password authentication?
I use nginx for reverse proxy to port 3000. After authentication encryption is currently configured on nginx, the open project cannot request other web pages normally. How to perform authentication encryption
image
image

[Bug]: codesandbox usage

What Happened

When using build of velocity on csb, uv server seems to be routed wrong

Expected Behavior

the uv server to be something like uv.ty62j-3000.csb.app instead of uv.csb.app

Steps to Reproduce

How to reproduce:
import this respitory from github in csb, and then let it do its thing. Then, run the setup commands, and open port 3000. 
Now the URL of my csb is something like ty62j-3000.csb.app, and when I try to use the proxy, it gives me the "Error" page. The bare server it is using seems to be "uv.csb.app/bare3" and won't work.

Other Information

How can I route the uv server with a custom URL? (not uv.something.csb.app instead something.csb.app/uv/)

Checklist

  • I have read and followed the contributing guidelines

WebExtension API support tracker

List of supported API's:

  • action
  • alarms
  • bookmarks
  • browserAction
  • browserSettings
  • browsingData
  • captivePortal
  • clipboard
  • commands
  • contentScripts
  • contextualIdentities
  • cookies
  • declarativeNetRequest
  • devtools
  • dns
  • dom (higher support is out of scope)
  • downloads
  • extension
  • find
  • history
  • i18n (partial)
  • idle
  • management
  • menus
  • notifications
  • omnibox
  • pageAction
  • permissions
  • pkcs11
  • privacy
  • proxy
  • runtime
  • scripting
  • search
  • sessions
  • sidebarAction
  • storage (partial)
  • tabs
  • theme
  • topSites
  • userScripts
  • webNavigation
  • webRequest
  • windows

Tab related bugs

Limit number of tabs. Too many will hide the close button.
image

View source on system pages opens and then closes.
image

open new tab features

hey, I have some requests to make this a bit better

  1. make it so that when you open a new tab or system page from the menu bar, the menu bar closes.
  2. when you open a new tab, it auto focuses the omnibox.

ipaddr.js throws error when attempting to load webpage.

Using the commands on the README on Node.js v20.0.0 works but trying to fetch a webpage from Velocity returns an error in the ipaddr.js package. I don't know if its in error in Velocity or the ipaddr.js package but I'm gonna ask here first.

Error:
throw new Error('ipaddr: the address has neither IPv6 nor IPv4 format');

Error: ipaddr: the address has neither IPv6 nor IPv4 format

Unofficial render support by me

i'm making an issue because I cant pull request.

I have a render yaml file on my fork that supports render.

here is the code (If not working, look at my fork):

services:

  • type: web
    name: velocity 2
    env: node
    plan: free
    buildCommand: npm i && npm run build
    startCommand: npm start

after building with the blueprint, set an environmental variable with key "NODE_VERSION" and a value of "18.14.0", and wait for build, tada!

Cheers! 👍

feat: intercept tab-related APIs (window.open)

Plan to work on this myself. I did this in Hypertabs.
Basically, we can intercept API calls to do stuff like open new tabs, and instead perform that operation within the Velocity ui.

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.