Commit Graph
113 Commits
Author SHA1 Message Date
Jonathan Kelley ca70e8660d feat: android asset hotreloading (#3332) 2024-12-10 16:46:30 -08:00
Jonathan Kelley ac3e33af46 cli json output, dx bundle fix, dx serve --platform android, race condition, drop ssg platform (#3186)
* clean up logging to avoid random extra trace

* fix race condition with updates

* properly wire up verbose

* fix bundling (macos) and logging

* Add structured output

* clean up clap names

* extract out wire format

* switch structured key to json

* fix random println, fallback to `dioxus/platform`

* clean up logging for run/build

* clean up logging around project

* remove manual exits

* fix tokio runtime for mobile

* rework dog app

* rip out ssg

* Switch dioxus/axum to dioxus/server

* add android template inline

* pre restructure for bundle prep

* add the whole res directory

* Better theme for the app

* remove mobile demo now that most apps work natively

* self-referential android

* only use deep linking for assets

* fix imports for android

* clippy, fixup ios and android

* I'm not boxing compiler message you can't make me

* fix clippy on unix
2024-11-12 09:01:01 -05:00
Rahul721999 2f8f185930 Remove debug printlns (#3179) 2024-11-05 07:25:30 -06:00
Jonathan Kelley 7ec3453ca3 Fix bundling/path errors, sidecar support, iOS/Android simulator support, asset hotreload fixes, serverfn hotrelad, native tailwind support (#2779)
* wip: fix manganis import path
* upgrade tauri bundler, convert todo!() to unimplemented!()
* feat: mobile hotreloading + ios asset configuration
* remove oid demo and its associated env vars
* nuke all the things that cause cache thrashing
* swap to Asset type
* add some more logs
* display impl for attrvalue
* dont panic on collect failure
* cut down web deps to 150
* clean up deps in a lot of places, simplify build scripts
* clean up asset resolution and cli-dev profile
* wire up absolute paths for manganis asset in a particular mode
* move document related things around to shorten compile times
* move most things to `document::Item` and then decompose the cli-config
* switch link to stylesheet for clarity in examples
* move manganis workspace example to examples folder
* decompose manganis-cli-support
* dont need mobile demo anymore
* remove gloo dialogs
* html doesnt need document
* rename hotreload to devtools
* really clean up the html crate
* fix weird rsx spacing
* clean up desktop to use callback
* clean up document a bit
* re-wire up devsocket
* fix utf css
* yeeeet that js out of here
* synthetic web system works
* web crate almost done being cleaned up
* desktop mostly cleaned up too
* clean up cli a bit
* more cli cleanup
* cli builds again
* clean up cli, inline structs, cut down number of unique types where possible
* hotreload works again for desktop and this time, mobile too
* cfg out tungstenite
* devserver err
* more refactor to cli builder
* switch to unbounded_send
* new structure is much cleaner
* add http serve subcommand
* bundled hotreload
* kick stylsheets
* clean up a bit more, split up eventloop
* amazingly serve seems done
* change from pub to pub(crate) in cli
* remove tools
* bit more polish to cli
* fix issue with join
* gracefully handle fullstack without a server
* fullstack mobile demo
* fix launch function, move projects into example-projects folder
* hoist examples
* add "run" command
* clean up launch
* remove old manual websocket receiver
* doctor command
* allow desktop to scroll
* cut apart router crate
* dont put launch in prelude
* use dioxus::launch where possible
* rename rsx, cut out hotreload tests
* remove liveview project
* bump native
* fix compile for renderers
* move sync event response out of interpreter
* move render in serve
* rollback settings change
* cli compiles, huzzah!
* change uris for asset
* fix asset
* new tui screen
* new cargo-like tui works
* very very verty close
* it works! very small bug with incorrect grapheme calc
* Clean up devserver a bit
* status sytem
* tidy up debug filters
* clean up logging situation
* Fix a number of bugs with log printing
* new printing system is more reliable
* wire up more stuff
* things working but fullstack is having issues
* fullstack works again!
* hotreloading bundled assets works again
* bundled hotreload and beginnings of macos bundling
* Hotreload desktop
* combined server builds
* add build handle
* fix fullstack assets
* make open async, add some hooks for ios
* migrate filemap to runner
* wip global crate system
* fixup bundles + organize asset
* fix asset location bug
* all the bundled reloading!
* open ios simulator!
* full hotreload support for mobile + serverfn
* basic cleanups
* clean up dx
* Move filemap
* fix cutting of newlines
* assets workibg, some android
* hoist wry/tao
* use sync locks and headers to fix issues with android
* desktop -> mac/win/linux with alias
* better logging
* feat: workspace (entire computer!) hotreload
* should rebuild toggle, ios simulator bootup
* proper mobile support in launch
* more robust handling of assets
* fix cargo
* bring back some of tauri bundle
* make warnings go away, clippy happy on cli
* some final clippy cleanups
* fmt
* move manganis to its own folder
* upgrade bundle to stable
* drastically slim down manganis, prepping for merge
* typos, failing test, docsrs config
* remove static gen test
* nix static gen test
* we use --platform web instead of --platform fullstack now
* only bind dev urls in desktop/mobile
* install gtk
* nix static gen
* split build dir by app name
2024-10-25 17:23:45 -07:00
Evan Almloff cda8bb24f1 Remove native and web features from dioxus-html (#3006)
* remove native and web features from dioxus-html

* Fix downcasting web events

* Fix desktop with tokio disabled
2024-10-10 13:35:59 -07:00
Jonathan Kelley 3fb1f739d1 Simplify cli-config, hotreload -> devtools (drop to 0 deps, fast compile times) (#2975)
* simplify cli-config crate
* clean up configs
* add devtools crate, update cargo imports
* fix serve addr, fix websocket proxy issue
* add comment about opt profiles
* rename hot-reload to devtools
2024-09-17 17:18:23 -07:00
Evan Almloff cab573eefd Synchronous prevent default (#2792)
* add prevent default methods to the event

* sync prevent default almost working

* sync prevent default working

* Move event handling into the runtime

* update core tests

* restore desktop file dialog

* implement prevent default on web

* add a hint about the new prevent default method

* fix web prevent default

* Fix CTRL+click on links

* fix values memorize in place test

* Fix a few more tests

* Add a playwright test for sync prevent default

* Fix core doc tests

* create a deprecated VirtualDom::handle_event

* fix macos imports in desktop

* Fix onmounted event

* Fix liveview support

* switch to RefCell for metadata

* Remove println

* remove prevent default attribute

* remove web specific link behavior

* Fix liveview links

* more liveview fixes for link

* Fix merge conflicts

* Fix clippy

* use the new prevent default in the file upload example
2024-08-13 11:57:54 -07:00
Sylvain Tertois a2180b92e9 adding the Access-Control-Allow-Origin header to files served from filesystem in dioxus-desktop (#2818) 2024-08-12 12:52:51 -07:00
Evan Almloff df8c7e1872 don't print the asset path on desktop (#2748) 2024-07-30 20:31:03 +00:00
Miles Murgaw 672f4dfefc Re-Export Manganis & Update Examples (#2625)
* feat: export manganis

* revision: use manganis in examples

* fix: manganis dep

* fix: workspace root finder

* fix: manganis dep

* fix: ci
2024-07-23 10:29:37 -07:00
88af3e7eff Hotreloading of for/if/body, formatted strings, literals, component props, nested rsx, light CLI rewrite, cli TUI (#2258)
Hotreload the contents of for loops, if chains, component bodies, props, attributes, and any literals discovered in rsx!
Add a TUI renderer to the CLI.
Improve the CLI build system to be async and parallel.
Refactor RSX to allow partial expansion of expressions.
Merge autofmt implementations for consistency.
Merge the representation of elements and components under the hood.
Add a diagnostics system for rsx for improved error messages.
Drop interprocess and move to websockets for communication between the CLI and the server.
Assign IDs to nodes and attributes in a stable way to be used in non compiler contexts.
Add hotreloading to any body of component/for loop/if chain/etc.

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
Co-authored-by: Liam Mitchell <liamkarlmitchell@gmail.com>
2024-07-17 19:11:18 -07:00
Evan Almloff 176e67e5b7 switch to a Document trait and introduce Script/Head/Style/Meta components (#2635)
* switch to a Document trait and introduce Script/Head/Style/Meta components

* Fix desktop title

* Insert special elements into the head during the inital SSR render

* Make all head component attributes optional

* hydrate head elements

* improve the server streaming head warning

* Document fullstack head hydration approach

* deduplicate head elements by href

* move Link into head::Link

* document head components

* add meta and title examples

* Fix a few doc examples

* fix formatting

* Add title to playwright tests

* serde is optional on web, but it is enabled by hydrate

* remove leftover console log
2024-07-17 20:54:03 -05:00
Evan Almloff 7efe4d0e49 Fix recursive copy while bundling (#2419) 2024-06-07 12:43:17 -07:00
Evan AlmloffandJonathan Kelley cbeda0af76 Refactor and fix eval channels (#2302)
* wip

* pull out eval into the interpreter

* fix web eval

* fix DioxusChannel name

* properly drop dioxus channel

* use typescript dioxus chanel in desktop

* add more comments to native eval

* add desktop headless eval tests

* expand web playwright eval tests

* fix web headless tests

* fix default hasher path

* run eval tests on windows

* restore desktop query drop code

* remove data from drop desktop query message

* catch syntax errors in desktop eval

* catch js runtime errors in desktop

* fix typo interprerter -> interpreter

---------

Co-authored-by: Jonathan Kelley <jkelleyrtp@gmail.com>
2024-04-26 11:55:48 -04:00
Evan Almloff 40b576894f fix the assets head path (#2267) 2024-04-08 19:23:11 -07:00
Zan PanandEvan Almloff fcbebbbf14 Use tracing::warn! instead of error! when assets not being preloaded (#2251)
* Use `tracing::warn!` instead of `error!` when assets not being preloaded

Currently, it emits a `tracing::error` when assets not being preloaded if the dioxus CLI was not used to build the application. It should be a warning since `cargo` can also build the application successfully.

* add more details to desktop preload warning

---------

Co-authored-by: Evan Almloff <evanalmloff@gmail.com>
2024-04-05 08:33:02 -05:00
Evan Almloff 9942c8bfd1 Fix asset bundling in the CLI (#2145)
* Fix asset bundling in the CLI

* fix clippy
2024-03-26 00:36:03 -07:00
Jonathan Kelley bb8b4dc2fb FIx:
- asset hotreloading for desktop,
- asset dir for dxserve on desktop,
- extend features with platform
2024-03-13 17:15:49 -07:00
Evan Almloff 6b84f284c9 fix manganis assets overlapping between examples 2024-03-11 17:11:52 -05:00
Jonathan Kelley 4b2e426958 clippy, and don't hash invisible files for ts generation 2024-03-05 22:38:38 -08:00
Jonathan Kelley 403e8e2f49 Clean up file uploads in desktop/liveview, remove minify 2024-03-05 13:00:27 -08:00
Jonathan Kelley 56a365742c clean up native js more 2024-03-05 12:08:33 -08:00
Jonathan Kelley 22266cc560 Switch to bun, clean up web implementation 2024-03-04 15:23:48 -08:00
Jonathan Kelley 199173a409 fix navigating when files are dropped 2024-03-01 23:37:46 -08:00
Jonathan Kelley 206a48257b Merge branch 'main' into jk/fix-form-inputs 2024-02-27 12:50:57 -08:00
Jonathan Kelley b5447c162f extend interpreter base class with platform methods 2024-02-27 12:31:11 -08:00
Evan Almloff acbc1f6a47 fix headless tests on desktop 2024-02-27 12:19:34 -06:00
Evan Almloff 93ee53454f bump the sledgehammer bindgen version 2024-02-27 10:35:16 -06:00
Jonathan Kelley 25d103c1a5 Merge pull request #1908 from ealmloff/fix-assets
Fix manganis support for dioxus desktop
2024-02-07 12:17:12 -08:00
Evan Almloff cb113cf4b6 Fix external links in dioxus desktop 2024-02-07 11:35:50 -06:00
Evan Almloff 3270f7341a fix manganis support for dioxus desktop 2024-02-06 11:39:30 -06:00
Evan Almloff b3ed337b6b fix SLEDGEHAMMER_JS import path in desktop 2024-02-01 10:55:10 -06:00
Evan Almloff e2e0a934fd remove minified js from build scripts 2024-02-01 10:07:03 -06:00
Jonathan Kelley 5167cad689 Remove logging in protocol 2024-01-21 14:58:27 -08:00
Jonathan Kelley e9978c119f Don't strip the prefix from custom assets 2024-01-21 13:38:25 -08:00
Evan Almloff 9133c0a305 fix dioxus desktop build 2024-01-15 09:19:52 -06:00
Jonathan Kelley 8c94f0bc4a get compiling 2024-01-11 16:51:18 -08:00
Evan Almloff e004c1722f set the required environment variable for manganis support 2024-01-10 11:19:51 -06:00
Jonathan Kelley 347351d1ee Finish asset handler 2024-01-05 18:08:04 -08:00
Jonathan Kelley 8323e45970 Call handlers from context of a runtime and scope 2024-01-05 17:35:37 -08:00
Jonathan Kelley bc857bf339 Make clippy happy 2024-01-05 12:54:39 -08:00
Jonathan Kelley cbed09b95c Clean up shared context in desktop 2024-01-05 12:37:47 -08:00
Jonathan Kelley 47306bf89b Merge branch 'master' into jk/rework-desktop-crate 2024-01-05 12:22:59 -08:00
Jonathan Kelley 2e9737ef57 Clean up and document the protocol handler 2024-01-04 19:52:49 -08:00
Jonathan Kelley 38216fa272 Make the tokio runtime optional 2024-01-04 19:09:59 -08:00
Jonathan Kelley fef7b83b79 Rename editqueue type 2024-01-04 17:35:58 -08:00
Jonathan Kelley 2171263eda More cleanup work 2024-01-04 17:21:33 -08:00
Evan Almloff 4f654d61b7 fix cargo check 2024-01-04 19:05:36 -06:00
Jonathan Kelley ec3eaa6b26 Add ID to filedrop handler 2024-01-04 16:48:53 -08:00
Evan Almloff b1de7d850c Merge branch 'master' into intigrate-collect-assets 2024-01-04 18:44:29 -06:00