From f46ce368616aadde6bb94c2855e1ca8a80b13920 Mon Sep 17 00:00:00 2001 From: yaso Date: Tue, 3 Feb 2026 09:57:38 +0200 Subject: [PATCH] linux app config --- mih_ui/.metadata | 25 ++++--------------- mih_ui/firepit-log.txt | 13 ++++++++++ mih_ui/lib/firebase_options.dart | 9 ++++--- mih_ui/lib/main.dart | 4 ++- mih_ui/lib/main_dev.dart | 15 ++++++----- mih_ui/lib/main_prod.dart | 12 ++++----- .../mih_search_bar.dart | 7 +++++- .../mih_text_form_field.dart | 16 ++++++++---- mih_ui/pubspec.lock | 10 ++++---- mih_ui/pubspec.yaml | 3 ++- 10 files changed, 65 insertions(+), 49 deletions(-) create mode 100644 mih_ui/firepit-log.txt diff --git a/mih_ui/.metadata b/mih_ui/.metadata index 369b5ece..ee6984a4 100644 --- a/mih_ui/.metadata +++ b/mih_ui/.metadata @@ -4,7 +4,7 @@ # This file should be version controlled and should not be manually edited. version: - revision: "8defaa71a77c16e8547abdbfad2053ce3a6e2d5b" + revision: "6fba2447e95c451518584c35e25f5433f14d888c" channel: "stable" project_type: app @@ -13,26 +13,11 @@ project_type: app migration: platforms: - platform: root - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: android - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: ios - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + create_revision: 6fba2447e95c451518584c35e25f5433f14d888c + base_revision: 6fba2447e95c451518584c35e25f5433f14d888c - platform: linux - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: macos - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: web - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - - platform: windows - create_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b - base_revision: 8defaa71a77c16e8547abdbfad2053ce3a6e2d5b + create_revision: 6fba2447e95c451518584c35e25f5433f14d888c + base_revision: 6fba2447e95c451518584c35e25f5433f14d888c # User provided section diff --git a/mih_ui/firepit-log.txt b/mih_ui/firepit-log.txt new file mode 100644 index 00000000..cf8334ba --- /dev/null +++ b/mih_ui/firepit-log.txt @@ -0,0 +1,13 @@ +Welcome to firepit v1.1.0! +Doing JSON parses for version checks at /snapshot/firepit/vendor/node_modules/firebase-tools/package.json +is-ci,mime,rc,yaml,abbrev,abort-controller,accepts,acorn,acorn-walk,agent-base,ajv,ajv-formats,ansi-align,ansi-escapes,ansi-regex,ansi-styles,any-promise,anymatch,archiver,archiver-utils,arg,argparse,array-flatten,arrify,as-array,ast-types,async,async-lock,asynckit,b4a,balanced-match,bare-events,base64-js,basic-auth,basic-auth-connect,basic-ftp,bignumber.js,binary-extensions,bl,body-parser,boxen,brace-expansion,braces,buffer,buffer-crc32,buffer-equal-constant-time,bytes,cacache,call-bind-apply-helpers,call-bound,call-me-maybe,camelcase,chalk,char-regex,chardet,chokidar,chownr,ci-info,cjson,cli-boxes,cli-cursor,cli-highlight,cli-spinners,cli-table3,cli-width,cliui,clone,color,color-convert,color-name,color-string,colorette,combined-stream,commander,compress-commons,compressible,compression,concat-map,config-chain,configstore,connect,content-disposition,content-type,cookie,cookie-signature,core-util-is,cors,crc-32,crc32-stream,create-require,cross-env,cross-spawn,crypto-random-string,csv-parse,data-uri-to-buffer,debug,deep-equal-in-any-order,deep-extend,deep-freeze,deep-is,defaults,degenerator,delayed-stream,depd,destroy,diff,discontinuous-range,dot-prop,dunder-proto,duplexify,eastasianwidth,ecdsa-sig-formatter,ee-first,emoji-regex,emojilib,enabled,encodeurl,encoding,end-of-stream,env-paths,environment,err-code,es-define-property,es-errors,es-object-atoms,es-set-tostringtag,escalade,escape-goat,escape-html,escodegen,esprima,estraverse,esutils,etag,event-target-shim,events,events-listener,events-universal,eventsource,eventsource-parser,exegesis,exegesis-express,exponential-backoff,express,express-rate-limit,extend,fast-deep-equal,fast-fifo,fast-uri,fecha,fetch-blob,filesize,fill-range,finalhandler,firebase-tools,fn.name,foreground-child,form-data,formdata-polyfill,forwarded,fresh,fs-extra,fs-minipass,function-bind,fuzzy,gaxios,gcp-metadata,get-caller-file,get-intrinsic,get-proto,get-uri,glob,glob-parent,glob-slash,glob-slasher,global-dirs,google-auth-library,google-gax,google-logging-utils,googleapis-common,gopd,graceful-fs,gtoken,has-flag,has-symbols,has-tostringtag,has-yarn,hasown,heap-js,highlight.js,hosted-git-info,http-cache-semantics,http-errors,http-proxy-agent,https-proxy-agent,iconv-lite,ieee754,ignore,import-lazy,imurmurhash,infer-owner,inherits,ini,install-artifact-from-github,ip-address,ip-regex,ipaddr.js,is-binary-path,is-buffer,is-extglob,is-fullwidth-code-point,is-glob,is-installed-globally,is-interactive,is-npm,is-number,is-obj,is-path-inside,is-promise,is-stream,is-stream-ended,is-typedarray,is-unicode-supported,is-url,is-wsl,is-yarn-global,is2,isarray,isexe,isomorphic-fetch,jackspeak,jju,join-path,jose,js-yaml,json-bigint,json-parse-helpfulerror,json-ptr,json-schema-traverse,jsonfile,jsonwebtoken,jwa,jws,kind-of,kuler,lazystream,leven,libsodium,libsodium-wrappers,lodash,lodash._objecttypes,lodash.camelcase,lodash.includes,lodash.isboolean,lodash.isinteger,lodash.isnumber,lodash.isobject,lodash.isplainobject,lodash.isstring,lodash.mapvalues,lodash.once,lodash.snakecase,log-symbols,logform,long,lru-cache,lsofi,make-dir,make-error,make-fetch-happen,marked,marked-terminal,math-intrinsics,media-typer,merge-descriptors,methods,mime-db,mime-types,mimic-fn,minimatch,minimist,minipass,minipass-collect,minipass-fetch,minipass-flush,minipass-pipeline,minipass-sized,minizlib,mkdirp,moo,morgan,ms,mute-stream,mz,nan,nearley,negotiator,netmask,node-domexception,node-emoji,node-fetch,node-gyp,nopt,normalize-path,npm-install-checks,npm-normalize-package-bin,npm-package-arg,npm-pick-manifest,object-assign,object-hash,object-inspect,on-finished,on-headers,once,one-time,onetime,open,openapi3-ts,ora,p-defer,p-limit,p-map,p-throttle,pac-proxy-agent,pac-resolver,package-json-from-dist,parse5,parse5-htmlparser2-tree-adapter,parseurl,path-key,path-scurry,path-to-regexp,pg,pg-cloudflare,pg-connection-string,pg-gateway,pg-int8,pg-pool,pg-protocol,pg-types,pglite-2,pgpass,picomatch,pkce-challenge,portfinder,postgres-array,postgres-bytea,postgres-date,postgres-interval,proc-log,process,process-nextick-args,progress,promise-breaker,promise-retry,proto-list,proto3-json-serializer,protobufjs,proxy-addr,proxy-agent,proxy-from-env,pupa,qs,railroad-diagrams,randexp,range-parser,raw-body,re2,readable-stream,readdir-glob,readdirp,registry-auth-token,registry-url,require-directory,require-from-string,restore-cursor,ret,retry,retry-request,rimraf,router,safe-buffer,safe-stable-stringify,safer-buffer,semver,semver-diff,send,serve-static,setprototypeof,shebang-command,shebang-regex,side-channel,side-channel-list,side-channel-map,side-channel-weakmap,signal-exit,skin-tone,smart-buffer,socks,socks-proxy-agent,sort-any,source-map,split2,sprintf-js,sql-formatter,ssri,stack-trace,statuses,stream-chain,stream-events,stream-json,stream-shift,streamx,string-width,string-width-cjs,string_decoder,strip-ansi,strip-ansi-cjs,strip-json-comments,stubs,superstatic,supports-color,supports-hyperlinks,tar,tar-stream,tcp-port-used,teeny-request,text-decoder,text-hex,thenify,thenify-all,through2,tinyglobby,tmp,to-regex-range,toidentifier,toxic,tr46,triple-beam,ts-node,tslib,tsscmp,type-fest,type-is,typedarray-to-buffer,typescript,undici-types,unicode-emoji-modifier-base,unique-filename,unique-slug,unique-string,universal-analytics,universalify,unpipe,update-notifier-cjs,url-join,url-template,util-deprecate,utils-merge,uuid,v8-compile-cache-lib,valid-url,validate-npm-package-name,vary,wcwidth,web-streams-polyfill,webidl-conversions,whatwg-fetch,whatwg-url,which,widest-line,winston,winston-transport,wrap-ansi,wrap-ansi-cjs,wrappy,write-file-atomic,ws,xdg-basedir,xtend,y18n,yallist,yargs,yargs-parser,yn,yocto-queue,yoctocolors-cjs,zip-stream,zod,zod-to-json-schema,@apidevtools,@apphosting,@colors,@cspotcode,@dabh,@electric-sql,@google-cloud,@googleapis,@grpc,@inquirer,@isaacs,@jridgewell,@js-sdsl,@jsdevtools,@modelcontextprotocol,@npmcli,@opentelemetry,@pkgjs,@pnpm,@protobufjs,@sindresorhus,@so-ric,@tootallnate,@tsconfig,@types +Installed ft@14.27.0 and packaged ft@14.27.0 +Checking for npm/bin/npm-cli install at /home/yaso/.cache/firebase/tools/lib/node_modules/npm/bin/npm-cli +Checking for npm/bin/npm-cli install at /home/yaso/.cache/firebase/tools/node_modules/npm/bin/npm-cli +Checking for npm/bin/npm-cli install at /snapshot/firepit/node_modules/npm/bin/npm-cli +Found npm/bin/npm-cli install. +Checking for npm/bin/npm-cli install at /home/yaso/.cache/firebase/tools/lib/node_modules/npm/bin/npm-cli +Checking for npm/bin/npm-cli install at /home/yaso/.cache/firebase/tools/node_modules/npm/bin/npm-cli +Checking for npm/bin/npm-cli install at /snapshot/firepit/node_modules/npm/bin/npm-cli +Found npm/bin/npm-cli install. +ShellJSInternalError: ENOENT: no such file or directory, chmod '/home/yaso/.cache/firebase/runtime/shell' \ No newline at end of file diff --git a/mih_ui/lib/firebase_options.dart b/mih_ui/lib/firebase_options.dart index 648849ea..b606fb0e 100644 --- a/mih_ui/lib/firebase_options.dart +++ b/mih_ui/lib/firebase_options.dart @@ -29,10 +29,11 @@ class DefaultFirebaseOptions { case TargetPlatform.windows: return windows; case TargetPlatform.linux: - throw UnsupportedError( - 'DefaultFirebaseOptions have not been configured for linux - ' - 'you can reconfigure this by running the FlutterFire CLI again.', - ); + return web; + // throw UnsupportedError( + // 'DefaultFirebaseOptions have not been configured for linux - ' + // 'you can reconfigure this by running the FlutterFire CLI again.', + // ); default: throw UnsupportedError( 'DefaultFirebaseOptions are not supported for this platform.', diff --git a/mih_ui/lib/main.dart b/mih_ui/lib/main.dart index d7c10422..09adaaae 100644 --- a/mih_ui/lib/main.dart +++ b/mih_ui/lib/main.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:go_router/go_router.dart'; @@ -92,7 +94,7 @@ class _MzansiInnovationHubState extends State { @override void initState() { super.initState(); - if (!kIsWeb) { + if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { _initializeQuickActions(); } theme = MihTheme(); diff --git a/mih_ui/lib/main_dev.dart b/mih_ui/lib/main_dev.dart index a510d6c3..437c62b9 100644 --- a/mih_ui/lib/main_dev.dart +++ b/mih_ui/lib/main_dev.dart @@ -1,4 +1,5 @@ -import 'package:firebase_core/firebase_core.dart'; +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; @@ -6,7 +7,6 @@ import 'package:flutter_web_plugins/url_strategy.dart' if (dart.library.html) 'package:flutter_web_plugins/url_strategy.dart'; import 'package:go_router/go_router.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:mzansi_innovation_hub/firebase_options.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_go_router.dart'; import 'package:pwa_install/pwa_install.dart'; @@ -21,10 +21,13 @@ void main() async { apiDomain: AppEnviroment.baseApiUrl, apiBasePath: "/auth", ); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - if (!kIsWeb) { + // await Firebase.initializeApp( + // // options: DefaultFirebaseOptions.currentPlatform, + // options: (Platform.isLinux) + // ? DefaultFirebaseOptions.web // Forces Linux to use the Web config + // : DefaultFirebaseOptions.currentPlatform, + // ); + if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { const List testDeviceIds = ['733d4c68-9b54-453a-9622-2df407310f40']; MobileAds.instance.updateRequestConfiguration( RequestConfiguration( diff --git a/mih_ui/lib/main_prod.dart b/mih_ui/lib/main_prod.dart index c305d522..c8ce2935 100644 --- a/mih_ui/lib/main_prod.dart +++ b/mih_ui/lib/main_prod.dart @@ -1,4 +1,5 @@ -import 'package:firebase_core/firebase_core.dart'; +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter_native_splash/flutter_native_splash.dart'; @@ -6,7 +7,6 @@ import 'package:flutter_web_plugins/url_strategy.dart' if (dart.library.html) 'package:flutter_web_plugins/url_strategy.dart'; import 'package:go_router/go_router.dart'; import 'package:google_mobile_ads/google_mobile_ads.dart'; -import 'package:mzansi_innovation_hub/firebase_options.dart'; import 'package:mzansi_innovation_hub/main.dart'; import 'package:mzansi_innovation_hub/mih_config/mih_go_router.dart'; import 'package:pwa_install/pwa_install.dart'; @@ -21,10 +21,10 @@ void main() async { apiDomain: AppEnviroment.baseApiUrl, apiBasePath: "/auth", ); - await Firebase.initializeApp( - options: DefaultFirebaseOptions.currentPlatform, - ); - if (!kIsWeb) { + // await Firebase.initializeApp( + // options: DefaultFirebaseOptions.currentPlatform, + // ); + if (!kIsWeb && (Platform.isAndroid || Platform.isIOS)) { MobileAds.instance.initialize(); } else { usePathUrlStrategy(); diff --git a/mih_ui/lib/mih_package_components/mih_search_bar.dart b/mih_ui/lib/mih_package_components/mih_search_bar.dart index 61d0f386..8bcf839e 100644 --- a/mih_ui/lib/mih_package_components/mih_search_bar.dart +++ b/mih_ui/lib/mih_package_components/mih_search_bar.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; @@ -128,7 +130,10 @@ class _MihSearchBarState extends State { controller: widget.controller, // Assign the controller focusNode: widget.searchFocusNode, autocorrect: true, - spellCheckConfiguration: kIsWeb ? null : SpellCheckConfiguration(), + spellCheckConfiguration: + !kIsWeb && (Platform.isAndroid || Platform.isIOS) + ? SpellCheckConfiguration() + : null, onSubmitted: (value) { widget.onPrefixIconTap ?.call(); // Call the prefix icon tap handler diff --git a/mih_ui/lib/mih_package_components/mih_text_form_field.dart b/mih_ui/lib/mih_package_components/mih_text_form_field.dart index 176d26bb..a2cac03e 100644 --- a/mih_ui/lib/mih_package_components/mih_text_form_field.dart +++ b/mih_ui/lib/mih_package_components/mih_text_form_field.dart @@ -1,3 +1,5 @@ +import 'dart:io'; + import 'package:flutter/foundation.dart'; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; @@ -157,11 +159,15 @@ class _MihTextFormFieldState extends State { cursorColor: widget.inputColor, autofillHints: widget.autofillHints, autocorrect: true, - spellCheckConfiguration: (kIsWeb || - widget.passwordMode == true || - widget.numberMode == true) - ? null - : SpellCheckConfiguration(), + // spellCheckConfiguration: (kIsWeb || + // widget.passwordMode == true || + // widget.numberMode == true) + // ? null + // : SpellCheckConfiguration(), + spellCheckConfiguration: !kIsWeb && + (Platform.isAndroid || Platform.isIOS) + ? SpellCheckConfiguration() + : null, textAlign: widget.textIputAlignment ?? TextAlign.start, textAlignVertical: widget.multiLineInput == true diff --git a/mih_ui/pubspec.lock b/mih_ui/pubspec.lock index 1e564625..41003e1b 100644 --- a/mih_ui/pubspec.lock +++ b/mih_ui/pubspec.lock @@ -586,13 +586,13 @@ packages: source: hosted version: "6.1.0" firebase_core: - dependency: "direct main" + dependency: transitive description: name: firebase_core - sha256: "1f2dfd9f535d81f8b06d7a50ecda6eac1e6922191ed42e09ca2c84bd2288927c" + sha256: "923085c881663ef685269b013e241b428e1fb03cdd0ebde265d9b40ff18abf80" url: "https://pub.dev" source: hosted - version: "4.2.1" + version: "4.4.0" firebase_core_platform_interface: dependency: transitive description: @@ -605,10 +605,10 @@ packages: dependency: transitive description: name: firebase_core_web - sha256: ff18fabb0ad0ed3595d2f2c85007ecc794aadecdff5b3bb1460b7ee47cded398 + sha256: "83e7356c704131ca4d8d8dd57e360d8acecbca38b1a3705c7ae46cc34c708084" url: "https://pub.dev" source: hosted - version: "3.3.0" + version: "3.4.0" fixnum: dependency: transitive description: diff --git a/mih_ui/pubspec.yaml b/mih_ui/pubspec.yaml index 5d559a4a..4209437d 100644 --- a/mih_ui/pubspec.yaml +++ b/mih_ui/pubspec.yaml @@ -15,7 +15,8 @@ dependencies: cupertino_icons: ^1.0.8 font_awesome_flutter: ^10.7.0 - firebase_core: ^4.2.1 + # firebase_core: ^4.4.0 + # firebase_core_desktop: ^1.0.2 syncfusion_flutter_core: ^29.2.10 syncfusion_flutter_pdfviewer: ^29.2.10 universal_html: ^2.2.4