feat(connection actions): add context menu for connection actions

Add the options menu for when the user clicks with the right mouse button in a connection.

re #37

Can you apply the i18n messages as we merged #57?

I'm on it!

@natanaelsirqueira I'm fixing some problems with the i18n, so you can wait until i merge #73 so we'll have this part fixed.

I was just about to comment that I've experienced some weird behavior with the translations. :smile:
Thanks for letting me know.


After adding Acrobatics, the angle of the character does not shift when lying down

After adding my integration pack, the characters lie down but the angle of view does not move. After eliminating one by one, I found the problem after adding Aqua Acrobatics

Please let me know the minimal subset of mods needed to reproduce the issue.

mw0.6
parkour-1.8
AquaAcrobatics-1.14.2

I will need either the names of the first two mods or links to download them as the filenames are too ambiguous, unfortunately.

https://www.curseforge.com/minecraft/mc-mods/vics-modern-warfare-mod/files
https://www.curseforge.com/minecraft/mc-mods/parkour-and-more

The height seems to change correctly when entering crawl mode with these versions:
https://www.curseforge.com/minecraft/mc-mods/vics-modern-warfare-mod/files/3157722
https://www.curseforge.com/minecraft/mc-mods/parkour-and-more/files/3886339
I also needed to disable allowEmissiveItems in forge.cfg as recommended by Modern Warfare to prevent crashing/glitches.

@ainlzj Are you able to reproduce the issue with the versions I linked above?

NO doesn't work
https://user-images.githubusercontent.com/66135518/188025328-8b3f2d4a-4bd3-43d4-9db9-091e352c9e1c.mp4

When it doesn't work, are these the only mods you are using or do you have other mods installed? If you are only using these, I will need you to send me the entire instance so I can try to reproduce it locally, since I cannot reproduce it at the moment.


fix: Ensure we use a writable log file.

Squirrel.mac has an issue wherein if ShipIt_stderr.log or ShipIt_stdout.log aren't writable, ShipIt will fail to launch. If the entire ShipIt directory isn't writable, we detect that and prompt the user for credentials, but if the directory is writable and the log files contained are not, we just die silently.
This PR changes the logic used the generate the log file URLs so that we always generate writable log file URLs. Before returning the log file URL, we test to see if it's writable. If not, we append a number to the URL and test that URL. We repeat this process until we find a writable log file URL, or we reach 100 and give up.
I also included a little code cleanup to reduce duplication, so that this new logic doesn't get copied all over the place.

@MarshallOfSound good call. Added!


Add Post Numbers to Mission Post Title in Email

If Post Numbers is enabled for a Mission then prepend the Post Number to the Mission Post Title when emailing the Mission Post.

i guess we need to save post number for now what we are doing is calculating number of rows according to sort order.
Suppose we have added 10 post in one mission so the added post should be post number=11 right

Could we run the calculation at post time as the email is built?

Yes we can but both the post number can be different at that case
1->At email time
2->At mission post list
Why these can be different
At email build we are calculating from existing mission post but at list view we are calculating according to sort attribute

If Post Numbering is enabled for the mission then the sort should always be Nova Default.
post_status = activated and post_date in the posts table.

The Title is part of the Email Subject.

fixed

tested fixed


Online Environment

Was it possible to access the online simulation environment?

Can you provide some more details on this issue? It's not clear what you mean

For example, for task Lift/Can/Tool Hang/Square, you only provide the offline dataset robomimic v0.1. How can I  access the online environment to train my own agent or evaluate the policy trained with these offline datasets?

Our default training runs already evaluate the agent in the simulator (even though training is done offline) - see here for more information on default training configs. We also have pretrained models that you can evaluate in the simulator as well. Does this answer your question?

Can you provide some more details on this issue? It's not clear what you mean

For example,

pretrained models

Thanks for your reply. That addressed part of my concerns. I still would like to know if I can use robomimic for Deep Reinforcement Learning training, i.e., to get the standard observation and reward from the simulator and update the policy intermittently.

We don't support online RL at the moment, but I would recommend this repo for examples of how to run RL training with robosuite environments.


[BUG] BSOD after closing a game

Acknowledgement of preliminary instructions

[X] I have read the preliminary instructions, and I am certain that my problem has not already been addressed.
[X] I have thoroughly looked through the available Wiki articles and could not find a solution to my problem.
[X] I am using the latest version of Bloxstrap.
[ ] I did not answer truthfully to all the above checkboxes.

Bloxstrap Version
v2.8.1
What problem did you encounter?
Blue screen of death after exiting an game

Bloxstrap Log
N/A

Found similar post. Will be closing to avoid any conflict.

Roblox issue instead, so this is closing as complete due to suspicion of Roblox’s fault.


pyside-uic missing

The pyside-rcc tool appears to be included, but I can't find pyside-uic in this package?

what os ? python version ? could you look again ?

Windows 7 (64-bit). Python 3.4 (64-bit), in a fresh environment. Full log below:
D:\>conda create -n pyside python=3.4 pyside
Fetching package metadata ...............
Solving package specifications: ..........

Package plan for installation in environment C:\Miniconda3-x64\envs\pyside:

The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    libiconv-1.14              |           vc10_4         654 KB  conda-forge
    libpng-1.6.28              |           vc10_0         521 KB  conda-forge
    setuptools-32.3.1          |           py34_0         508 KB  conda-forge
    libxslt-1.1.29             |           vc10_2         452 KB  conda-forge
    qt-4.8.7                   |           vc10_6        48.2 MB  conda-forge
    ------------------------------------------------------------
                                           Total:        50.3 MB

The following NEW packages will be INSTALLED:

    ca-certificates: 2016.9.26-0       conda-forge
    certifi:         2016.9.26-py34_0  conda-forge
    jpeg:            9b-vc10_0         conda-forge [vc10]
    libiconv:        1.14-vc10_4       conda-forge [vc10]
    libpng:          1.6.28-vc10_0     conda-forge [vc10]
    libtiff:         4.0.6-vc10_7      conda-forge [vc10]
    libxml2:         2.9.3-vc10_9      conda-forge [vc10]
    libxslt:         1.1.29-vc10_2     conda-forge [vc10]
    openssl:         1.0.2h-vc10_3     conda-forge [vc10]
    pip:             9.0.1-py34_0      conda-forge
    pyside:          1.2.4-py34_vc10_4 conda-forge [vc10]
    python:          3.4.5-2           conda-forge
    qt:              4.8.7-vc10_6      conda-forge [vc10]
    setuptools:      32.3.1-py34_0     conda-forge
    vc:              10-0              conda-forge
    vs2010_runtime:  10.00.40219.1-2
    wheel:           0.29.0-py34_0     conda-forge
    wincertstore:    0.2-py34_0        conda-forge
    zlib:            1.2.8-vc10_3      conda-forge [vc10]

Proceed ([y]/n)?

Fetching packages ...
libiconv-1.14- 100% |###############################| Time: 0:00:00 708.77 kB/s
libpng-1.6.28- 100% |###############################| Time: 0:00:00 653.34 kB/s
setuptools-32. 100% |###############################| Time: 0:00:00 638.89 kB/s
libxslt-1.1.29 100% |###############################| Time: 0:00:00 575.13 kB/s
qt-4.8.7-vc10_ 100% |###############################| Time: 0:00:37   1.34 MB/s
Extracting packages ...
[      COMPLETE      ]|##################################################| 100%
Linking packages ...
        1 file(s) copied.#####################################           |  78%
[      COMPLETE      ]|##################################################| 100%
#
# To activate this environment, use:
# > activate pyside
#
# To deactivate this environment, use:
# > deactivate pyside
#
# * for power-users using bash, you must source
#

D:\>activate pyside

(pyside) D:\>python
Python 3.4.5 | packaged by conda-forge | (default, Sep  8 2016, 14:36:52) [MSC v.1600 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>> import PySide
>>> quit()

(pyside) D:\>pyside-uic
'pyside-uic' is not recognized as an internal or external command,
operable program or batch file.

(pyside) D:\>pyside-uic -help
'pyside-uic' is not recognized as an internal or external command,
operable program or batch file.

I see, it's a python script, on windows it's not recognized as executable as is.
Could you try to create a file ANACONDAPREFIX\Library\bin\pyside-uic.bat (next to the pyside-uic file)
with content:
python %~dp0\pyside-uic %*

and tell me if this works ?

@jschueller Yes this fixes the issue.

Thanks, I'm pushing a package update soon.
Note that we are stopping from rolling python3.4 updates on conda-forge, please use 3.5, or 3.6.


Update Composer dependencies (2023-12-11-00-11)

Visual regression test passed!
View the visual regression test report


Update virtualbox-extension-pack-beta to 5.1.25-117110

After making all changes to the cask:

[x] brew cask audit --download {{cask_file}} is error-free.
[x] brew cask style --fix {{cask_file}} left no offenses.
[x] The commit message includes the cask’s name and version.

Additionally, if updating a cask:

[ ] If the sha256 changed but the version didn’t,
provide public confirmation by the developer: {{link}}

Merged as 70289ba89c653f49f6c528ab5e5cdfc4f0f41ce9.


Make it possible to not expose the edge policy console to the internet

The EPC is by default always exposed to the internet of https://{{DOMAIN}}/edge_stack/admin.
While this does not provide a security concern since you require access to the cluster in order to edgectl login, it is not ideal to have this be something users can accidentally stumble upon.
It should be possible to remove this from the routing table so  you need to port-forward the pod (or something similar) to access the EPC.

Try this: (only ambassador.prod.my.domain works)
kind: Mapping
apiVersion: getambassador.io/v2
metadata:
  namespace: ambassador
  name: wildcard-domains
  annotations:
    getambassador.io/resource-changed: 'true'
spec:
  prefix: /
  service: istio-ingressgateway.istio-system
  precedence: 2000000
---
kind: Mapping
apiVersion: getambassador.io/v2
metadata:
  namespace: ambassador
  name: ambassador-domain
  annotations:
    getambassador.io/resource-changed: 'true'
spec:
  host: ambassador.prod.my.domain
  prefix: /edge_stack/
  rewrite: /edge_stack_ui/edge_stack/
  service: <IP_ADDRESS>:8500
  precedence: 2000000
  timeout_ms: 60000

Please keep this ticket open as it is a severe security vulnerability. Edge Stack is not secure by default, as it presents access to the admin via public IP.

@edernucci Per the original issue, the UI login page is accessible but you cannot get admin access because you still need to run edgectl login which requires you to present a randomly-generated JWT.
You can also disable to the admin login page per the documentation here: https://www.getambassador.io/docs/1.4/topics/running/ambassador/#additional-config-field-examples.


Guild Order matters on Population Roll

Guild order needs to be customizable for population rolls, as there is a set order for certain alliances (personal preference / superstition based) and the defaults are not always correct.
Make a configurable "order list" that will take a list of guild names, and attempt to put pop rolls in the order presented if those guilds are present. Bonus: ONLY include guilds that are in that configured order, to remove extraneous guilds more easily.

Closed by commit efdf728056ca3ce290aae03a10ca6d6b2125b43f


Install fails with new version of kaldi_native_io

ran
pip install --verbose k2-sherpa
Worked fine yesterday. Today it failed.
Seems to be caused by kaldi_native_io:1.14
Edited requirements.txt with kaldi_native_io==1.12 and installation works again.

Could you show the logs?

From before downgrading to kaldi_native_io:1.12
output.txt

I see the problem.
It should be fixed by https://github.com/k2-fsa/sherpa/pull/111
Could you try sherpa v0.8?
(I have uploaded v0.8 to PyPI )

Yup, that seems to have done it. Managed to install v0.8 with kaldi_native_io:1.14.
Thank you!


Autoplay doesn't work on 4 inch devices

Demo https://bfred-it.github.io/iphone-inline-video/demo/ (and my local video) doesn't start play at iphone 5, 5s, SE with IOS 10

What iOS version and what browser?

iOS 10 with safari

iphone-inline-video is only for iOS 8 and 9 and it's automatically disabled on iOS 10.
iOS 10 Safari supports inline playback natively with the playsinline attribute: https://github.com/bfred-it/iphone-inline-video#notes-about-ios-10
If it doesn't work there's probably a network error and either way unrelated to iphone-inline-video. Does this video load for you? https://rawgit.com/bower-media-samples/big-buck-bunny-480p-30s/master/video.mp4

On all 4+ inch devices with ios 10 autoplay work fine

It's probably a coincidence, there doesn't seem to be anything regarding device compatibility in the official announcement: https://webkit.org/blog/6784/new-video-policies-for-ios/
Is this green on those devices? https://codepen.io/anon/pen/xEdwop


Server not closing with single signal of SIGINT or SIGTERM

Tried to kill the server from ARSSE with RAW command SHUTDOWN (similar to SIGTERM(15)) https://wiki.soldat.pl/index.php/Raw_commands
[RCON] SHUTDOWN (*.*.*.*).
Shutting down server...
Shutting down game networking.
Shutting down admin server...
[FileServer] Stopping fileserver

Stopped right there and didn't want to close it further
Then tried with ctrl+c(SIGINT), had to send the signal few times as You see
Control-C hit, shutting down
Shutting down server...
Shutting down game networking.
Shutting down admin server...
[FileServer] Stopping fileserver
^C
OK, OK, exiting immediately
^CAn unhandled exception occurred at $0000000000000000:
EAccessViolation: Access violation
  $0000000000000000

terminate called after throwing an instance of 'std::system_error'
  what():  Resource deadlock avoided
Aborted (core dumped)

Launching it on screen with shell script so as You see from the code I expect from the server to restart when it's done shutting down
#!/bin/bash
while true
do
	./opensoldatserver
	echo Restarting server in 5s...
	sleep 5
done

There is a problem interrupting TThread.Destroy with a signal, which gets the server stuck in pthread_cond_destroy, not sure exactly the cause. I just changed the fileserver shutdown code back to something similar to the way it was before, and it works.
This means that THTTPServer.Destroy is back to the state it was in before #67 was merged. There is somewhat of a race condition to get the destructor called before the whole server process is cleaned up by the OS. But when the server process is cleaned up, all meaningful resources are freed so I would say it doesn't matter at that point if the destructor finishes or not.
Also, with FPC 3.3.x, there will be a cleaner solution with TFPCustomHttpServer.ConnectionHandler, where we can hard shutdown the server without waiting.


[HOLD for payment 2022-01-27] Web - Group chat contacts are not showing ellipsis - Reported by @Tushu17

If you haven’t already, check out our contributing guidelines for onboarding and email<EMAIL_ADDRESS>to request to join our Slack channel!

Action Performed:

open app
Create group with multiple contacts
check LHN for display

Expected Result:
Ellipsis should display if contacts are not fitting
Actual Result:
Group chat contacts are not showing ellipsis on Web
Workaround:
Unknown
Platform:

Where is this issue occurring?

Web

Version Number: 1.1.23-0
Reproducible in staging?: Y
Reproducible in production?: Y
Logs: https://stackoverflow.com/c/expensify/questions/4856
Notes/Photos/Videos: Any additional supporting documentation

Expensify/Expensify Issue URL:
Issue reported by: @Tushu17
Slack conversation: https://expensify.slack.com/archives/C01GTK53T8Q/p1640035419420700
View all open jobs on GitHub

Triggered auto assignment to @greg-schroeder (AutoAssignerTriage), see https://stackoverflow.com/c/expensify/questions/4749 for more details.

Triggered auto assignment to @luacmartins (Engineering), see https://stackoverflow.com/c/expensify/questions/4319 for more details.

I believe this was introduced when we updated react-native-web in this PR https://github.com/Expensify/App/pull/6738. cc @azimgd

Triggered auto assignment to @laurenreidexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

This can be worked externally. Applied the labels. Unassigning myself.

Related discussion here https://expensify.slack.com/archives/C01GTK53T8Q/p1640809897239200?thread_ts=1640704361.161500&cid=C01GTK53T8Q
For whomever works on this issue, please also check that the ellipsis are showing properly in Search in Right Hand Nav (RHN) too.

The ellipsis is not working well because of the white-space: nowrap applied here:
https://github.com/Expensify/App/blob/894231476c5d3a5d8d17af30b1d4b641ec11e504/src/styles/styles.js#L1096
Proposal
Remove this line of code: https://github.com/Expensify/App/blob/894231476c5d3a5d8d17af30b1d4b641ec11e504/src/styles/styles.js#L1096
This will not affect native because the style whiteSpace.noWrap is already empty for those platforms, see https://github.com/Expensify/App/blob/main/src/styles/utilities/whiteSpace/index.native.js

https://www.upwork.com/jobs/~01cfaafbf8184740e9

Triggered auto assignment to Contributor-plus team member for initial proposal review - @parasharrajat (Exported)

Triggered auto assignment to @Beamanator (Exported), see https://stackoverflow.com/c/expensify/questions/7972 for more details.

@CamilaRivera 's proposal seems simple enough and looks effective, what do you think @parasharrajat ?

Yup, I agree. It looks good. I don't think it will have any side effects. But I would like to see these to be tested in PR.

Search page.
Single User Chat In LHN.
Group title not reaching the sidebar boundary.

:ribbon: :eyes: :ribbon:

Agreed! @CamilaRivera would you mind checking that your proposal doesn't cause any side-effects on the pages mentioned ^ (above)?

Triggered auto assignment to @mallenexpensify (External), see https://stackoverflow.com/c/expensify/questions/8582 for more details.

@mallenexpensify am OOO next week, reassigning thanks

Yup, I agree. It looks good. I don't think it will have any side effects. But I would like to see these to be tested in PR.

Search page.
Single User Chat In LHN.
Group title not reaching the sidebar boundary.

🎀 👀 🎀

Hey @parasharrajat, so with my proposal it looks like this screenshot. I'm not so sure how to test case 3 "Group title not reaching the sidebar boundary".

Ok. I think it's fine. I will test it on PR.

So... as @parasharrajat pointed out here, my first proposal of removing white-space: nowrap breaks the the tooltip positioning.
Doing some more testing, I found another way of fixing it.
Proposal 2
Add display: inline-block and white-space: nowrap to this component:
https://github.com/Expensify/App/blob/615f5b3ff21cbdcf83ef2a050c875de2a0dbfb26/src/components/DisplayNames/index.js#L86-L91
changing the style to:
style={[...this.props.textStyles, styles.pRelative, {display: 'inline-block'}, styles.noWrap]}

Result: the tooltip is now correctly placed

Optionally, we can remove the nowrap from here because the proposed change already applies to the same component only on web.

Closed previous PR and created new now in case you want to test the second proposal: https://github.com/Expensify/App/pull/6972

📣 @CamilaRivera You have been assigned to this job by @Beamanator!
Please apply to this job in Upwork and leave a comment on the Github issue letting us know when we can expect a PR to be ready for review 🧑💻
Keep in mind: Code of Conduct | Contributing 📖

Sorry for the delay assigning you to this job @CamilaRivera 😅

@CamilaRivera can you apply to the job in Upwork? https://www.upwork.com/jobs/~01cfaafbf8184740e9
@Tushu17 I hired you for reporting the issue, you'll be paid at the same time as Camila, 7 days after the code is deployed to production, assuming there are no regressions.

Looks like we're waiting on this
https://github.com/Expensify/App/pull/6972#issuecomment-1009306416

@Beamanator I have fixed the issue upstream and here is the upgrade PR https://github.com/Expensify/App/pull/7254.
This issue is fixed on that PR.  We won't need the changes of https://github.com/Expensify/App/pull/6972. Please do the needful. Thanks.

Ok so I agree we won't need https://github.com/Expensify/App/pull/6972 anymore, so I closed it.
@mallenexpensify can you please:

Pay @CamilaRivera for the effort since we approved her proposal & she submitted a few PRs?
Pay @Tushu17 once https://github.com/Expensify/App/pull/7254 gets to production & we wait for regression testing

Do we also pay @parasharrajat for C+ on this issue or, since he took over the solution and fixed it, do we only pay him for the fix? I'm in favor of paying for both since he did review the proposal & PR & he did the fix

@CamilaRivera can you apply and confirm once you have? https://www.upwork.com/jobs/~01cfaafbf8184740e9

@mallenexpensify I already applied, let me know if you can't see my proposal. Thanks!

@mallenexpensify Can I apply for C+? Thanks. I would prefer the https://github.com/Expensify/App/issues/7206 to be exported for the fix.

Hired @CamilaRivera .   Yes, @parasharrajat , you can apply for C+, price is $250 for all
https://www.upwork.com/jobs/~01cfaafbf8184740e9

@mallenexpensify Thanks. but #7206 does was not created to fix this issue. It solved four issues which can be seen on the issue itself. And that indirectly fixes this issue.
Also for #7206, I had to create an issue and PR on the third-party lib. But I am only requesting payment to fix that issue on our repo. I don't expect to be included in C+. I am sure @Beamanator can clarify this. Please let me know if you need more clarification. Thanks.

I'm still confused, sorry @parasharrajat.  I see this from @Beamanator

I'm in favor of paying for both since he did review the proposal & PR & he did the fix

Which makes me think $250 is due here and a separate payment is due outside of this (possibly for #7206 and any associated PR?)

a separate payment is due outside of this (possibly for #7206 and any associated PR?)

Yeah, we are good here. I got confused from price is $250 for all. I can discuss the rest of #7206.
Here is the breakdown:

C+ for this.
Fix payment for #7206. That we can discuss separately on that issue.

That looks perfect @parasharrajat thanks for summarizing 👍

The solution for this issue has been :rocket: deployed to production :rocket: in version 1.1.31-1 and is now subject to a 7-day regression period :calendar:. Here is the list of pull requests that resolve this issue:

https://github.com/Expensify/App/pull/7254

If no regressions arise, payment will be issued on 2022-01-27. :confetti_ball:

Paid @CamilaRivera $250 for the work done. Paid @Tushu17 $250 for reporting.
@parasharrajat can you apply so I can pay ya for C+?
https://www.upwork.com/jobs/~01cfaafbf8184740e9

@mallenexpensify I have already submit the proposal

Thanks @parasharrajat , I might have missed it before.  Hired, let me know when you accept.

Accepted it @mallenexpensify.

Thanks, paid!


Picker and Controller reform

Added GVRBoundsPicker to implement object cursor hit testing
Added hit testing against sphere for all colliders
Added ITouchEvents interface for touch events
GVRKeyboardSceneObject listens for touch events
GVRPicker (GVRCursorController integration)

setController to attach controller to picker
added setEventOptions to allow more flexible event routing
generate ITouchEvents when controller attached
implement GVREventReceiver to allow multiple listeners
onPick and onNoPick now called every frame instead of when pick list changes

GVRCursorController (GVRPicker integration)

cursor controller has its own picker to control the ray & emit events
controller drivers picker to supply touch information
controller listens for pick events to move cursor
GVRGazeCursorController sets cursor depth

GVRBaseSensor changes

it is now a component
it listens for touch events instead of controller events
sensor handler looks upwards in hierarchy for closest sensor
eliminated SensorManager class

3D Cursor extension

CursorManager listens for ITouchEvents, generates ICursorEvents
Cursor is now a component
eliminated CursorSceneObject, CursorEvent, CursorEventListener
added ICursorEvents (like ITouchEvent with a cursor)
simplified event handling internally

This pull request has companion patches for GearVRf-Demos and GearVRf-Tests
GearVRF DCO signed off by: Nola Donato<EMAIL_ADDRESS>

gvr-controller: choose an object, press and hold and start moving it around; quite often as you pass over other objects whatever you have currently selected is swapped with whatever else you are passing over. For example, if I move a bunny it always gets replaced by a cube if I pass over one. Tested on S8.

gvr-events: selecting something in the list view is challenging; it seems to me like I have to click above the item to select it. Would be nice if it was possible to scroll the listview somehow.

gvr-immersivepedia: controller just doesn't work that well for me; doesn't seem like clicks are always registered; activating the gallery totem brings up 6 quads, most flicker if the controller is over them; I remember at least of them being selectable but can't do it with the controller; if selected it should become bigger.

Overall the demos have less code but I am pretty sure in the future our APIs can be simplified further. For example I find it unnecessary complication having to create an activityTouchHandler and manage it on the app side (gvr-immersivepedia).

Ok, so this is a good milestone that we can merge as-is and continue ironing out the problems. They don't seem to be that many. @NolaDonato let me know whether you want to have this merged in this intermediate state or whether you'd like to have it completed first. I could help you with the bug fixing too.

You can merge it. I have another bunch of changes to get the scene editor and widget viewer working with the controller but these can be part of another patch. Yes, I need help with the bug fixing. This is what happens when a graphics person takes over IO :(

Ok. Planning to merge on Tuesday. Will look into the bugs.


Cannot find database when launched in Electron

Describe the bug
Following errors are present when launching Ionic/Angular application with "@capacitor-community/sqlite": "^5.0.0" and  "@capacitor-community/electron": "^4.1.2":
Cannot find module<EMAIL_ADDRESS>
Cannot find module<EMAIL_ADDRESS>
Error: Uncaught (in promise): Error: The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.
Error: The jeep-sqlite element is not present in the DOM! Please check the @capacitor-community/sqlite documentation for instructions regarding the web platform.

To Reproduce
Steps to reproduce the behavior:
Create the application in Ionic 7/Angular 16 using the following steps:
ionic start ionic-sqlite blank --type=angular
cd ./ionic-sqlite/
npm run build
npm install --save @capacitor-community/electron
npx cap add @capacitor-community/electron

// Change into Electron directory and install node packages
cd ..
npm install --save @journeyapps/sqlcipher
npm install --save jszip
npm install --save<EMAIL_ADDRESS>npm run build --prod
cd ..
npm install --save @capacitor-community/sqlite
npm install --save @capacitor/camera
npm install --save @ionic/pwa-elements

// Sanity check to ensure ALL modules are installed that should be
cd electron
npm install
npm run build --prod

cd ..
npm run build --prod
npx cap sync @capacitor-community/electron
npx cap copy @capacitor-community/electron
npx cap open @capacitor-community/electron

Expected behavior
I believe (perhaps incorrectly?) that I have imported the correct modules and followed the correct steps to be able to use the sqlite plugin within an Ionic 7 application launched as an Electron desktop app via the @capacitor-community/electron plugin.
When I perform a build and publish the application to electron for testing on my system using the following commands:
npm run build --prod
npx cap sync @capacitor-community/electron
npx cap open @capacitor-community/electron

The project is built, with no errors in the Ionic CLI, and launched as an Electron application but multiple errors are reported in the developer console of the Electron browser environment  - please see attached screenshots below.
Screenshots
The errors thrown up when the application is launched in an Electron environment:

The electron build source files that are present:

The capacitor configuration file copied to Electron on capacitor sync:

Desktop (please complete the following information):

OS: Mac OS Venture 13.3.1 (MacBook Pro M1 chip)
Browser Electron
Version @capacitor-community/electron": "^4.1.2",

Additional context
Package.json file:
  "name": "ionic-sqlite",
  "version": "0.0.1",
  "author": "Ionic Framework",
  "homepage": "https://ionicframework.com/",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build",
    "watch": "ng build --watch --configuration development",
    "test": "ng test",
    "lint": "ng lint"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^16.0.0",
    "@angular/common": "^16.0.0",
    "@angular/compiler": "^16.0.0",
    "@angular/core": "^16.0.0",
    "@angular/forms": "^16.0.0",
    "@angular/platform-browser": "^16.0.0",
    "@angular/platform-browser-dynamic": "^16.0.0",
    "@angular/router": "^16.0.0",
    "@capacitor-community/electron": "^4.1.2",
    "@capacitor-community/sqlite": "^5.0.0",
    "@capacitor/app": "5.0.2",
    "@capacitor/camera": "^5.0.2",
    "@capacitor/core": "5.0.4",
    "@capacitor/haptics": "5.0.2",
    "@capacitor/keyboard": "5.0.2",
    "@capacitor/status-bar": "5.0.2",
    "@ionic/angular": "^7.0.0",
    "@ionic/pwa-elements": "^3.1.1",
    "ionicons": "^7.0.0",
    "rxjs": "~7.8.0",
    "tslib": "^2.3.0",
    "zone.js": "~0.13.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^16.0.0",
    "@angular-eslint/builder": "^16.0.0",
    "@angular-eslint/eslint-plugin": "^16.0.0",
    "@angular-eslint/eslint-plugin-template": "^16.0.0",
    "@angular-eslint/schematics": "^16.0.0",
    "@angular-eslint/template-parser": "^16.0.0",
    "@angular/cli": "^16.0.0",
    "@angular/compiler": "^16.0.0",
    "@angular/compiler-cli": "^16.0.0",
    "@angular/language-service": "^16.0.0",
    "@capacitor/cli": "5.0.4",
    "@ionic/angular-toolkit": "^9.0.0",
    "@types/jasmine": "~4.3.0",
    "@types/node": "^12.11.1",
    "@typescript-eslint/eslint-plugin": "5.3.0",
    "@typescript-eslint/parser": "5.3.0",
    "eslint": "^7.26.0",
    "eslint-plugin-import": "2.22.1",
    "eslint-plugin-jsdoc": "30.7.6",
    "eslint-plugin-prefer-arrow": "1.2.2",
    "jasmine-core": "~4.6.0",
    "jasmine-spec-reporter": "~5.0.0",
    "karma": "~6.4.0",
    "karma-chrome-launcher": "~3.2.0",
    "karma-coverage": "~2.2.0",
    "karma-coverage-istanbul-reporter": "~3.0.2",
    "karma-jasmine": "~5.1.0",
    "karma-jasmine-html-reporter": "~2.0.0",
    "ts-node": "^8.3.0",
    "typescript": "~5.0.2"
  },
  "description": "An Ionic project"
}

Does the Electron version need to mirror the Web set up for SQLite and use the jeep-sqlite plugin?
I could not see anything in the Electron documentation for the SQLite plugin that stated this was a requirement yet the error, when published to Electron, seems to suggest that this is the case??
I just need to clarify that I haven't missed any vital steps in getting this plugin to work with Electron, that the documentation isn't incomplete or that there isn't a bug here.
It's likely a bone-headed mistake on my part but I really appreciate any help that can be provided here :)

@saintsatplay2015 you just forgot to do after the run build to do
npx cap copy @capacitor-community/electron.

@saintsatplay2015  By the way i usually update the package.json of the electron folder to:
  "dependencies": {
    "@capacitor-community/electron": "^4.1.2",
    "@capacitor-community/sqlite": "^5.0.0",
    "@journeyapps/sqlcipher": "^5.3.1",
    "chokidar": "~3.5.3",
    "electron-is-dev": "~2.0.0",
    "electron-serve": "~1.1.0",
    "electron-unhandled": "~4.0.1",
    "electron-updater": "~5.0.1",
    "electron-window-state": "~5.0.3",
    "jszip": "^3.10.1",
    "node-fetch": "2.6.7"
  },
  "devDependencies": {
    "electron": "^22.0.0",
    "electron-builder": "24.0.0",
    "electron-rebuild": "^3.2.7",
    "typescript": "~4.3.5"
  },

So you delete the node_modules folder and the package-lock.json
and redo
npm install
npm build

@jepiqueau  Thanks for your prompt reply, much appreciated.
I made the changes that you suggested in the electron folder - deleting the node_modules and package.lock.json files, updating the package.json file to the dependencies and devDependencies that you listed and saved those before running npm install and npm run build.
No problem there.
Changing back to the parent ionic project root directory and running the following commands:
npm run build --prod
npx cap copy @capacitor-community/electron
npx cap open @capacitor-community/electron

Unfortunately the same errors are still present.
The app is launched but the electron develop console consistently displays the following:

Does the Electron version need the jeep-sqlite plugin?
I have not installed this, nor made any configurations relating to this, as I thought this applied purely to web only.

I have noticed an issue with one of the node module dependency errors reported in the previous screen capture:
Cannot find module<EMAIL_ADDRESS>When I check the electron directory for this path I get the following:
<EMAIL_ADDRESS>The installed binding directory is napi-v6-darwin-x64 NOT napi-v6-darwin-arm64.
Is this an issue related with MacOS Venture/M1 chip MacBook architecture??

@saintsatplay2015 electron does not need jeep-sqlite component (only web). I do not have a M1 chip so it is certainly due to this as i tested on a ionic7 app  and it works

@jepiqueau Thanks for the reply.
I have no doubts that the plugin works (I have used this many times in the previous 2 years and appreciate your contributions to the wider development community).
So the issue relates to the incorrect architecture being installed or detected for the sqlcipher package when it comes to being installed on an M1 MacBook pro?
Do you know of any workaround for this?

@saintsatplay2015
i just publish ionic7-angular-sqlite-starter using Ionic 7 Angular 16 and Capacitor 5. See if it is working
I was reluctant to put back the encryption for Electron due to the use of @journeyapps/sqlcipher which was causing some issues but i was pushed by the developer community to do so.
Are you using database encryption?

@saintsatplay2015 I just find this sqlcipher-issue#413

@jepiqueau Thanks for the updates. I'll check these out and keep you informed as to progress with (hopefully) resolving this situation.
To answer your previous question - I am not currently using database encryption and have no immediate plans to do so.
I also appreciate that you might be caught between a rock and a hard place with the developer community and its requests so many thanks for your time and assistance. It does NOT go unappreciated believe me.

@saintsatplay2015 I just find this sqlcipher-issue#413

Yes, I saw this yesterday. I also came across this which is probably not useful in the context of this plugin (but appears to relate to M1 chip related architecture issue): https://stackoverflow.com/questions/72553650/how-to-get-node-sqlite3-working-on-mac-m1

@saintsatplay2015 Was it working fine wit the release 4.6.3 on the M1 MacBook? Have you try running the 4.8.0 or 5.0.0 on a Intel based MacBook? is that working?

@saintsatplay2015 If it works on Intel based MacBook can you rename the issue and 4.6.3 is not running on M1 MacBook, can you rename the issue M1 MacBook - Cannot find ...

@jepiqueau installed and ran the Ionic 7/Angular/SQLite starter app.
This runs fine on ionic serve in the browser.
Running the following command:
npm run electron:start
Results in the following error thrown up in the console:
`
Debugger listening on ws://<IP_ADDRESS>:5858/abcd598a-e320-4c22-8a66-6e00f0e41083
For help, see: https://nodejs.org/en/docs/inspector
in setupCapacitorElectronPlugins
Error: Cannot find module<EMAIL_ADDRESS>Require stack:

<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/rt/electron-plugins.js
<EMAIL_ADDRESS>/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/index.js
/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js
at Module._resolveFilename (node:internal/modules/cjs/loader:963:15)
at n._resolveFilename (node:electron/js2c/browser_init:2:109751)
at Module._load (node:internal/modules/cjs/loader:811:27)
at f._load (node:electron/js2c/asar_bundle:2:13330)
at Module.require (node:internal/modules/cjs/loader:1035:19)
at require (node:internal/modules/cjs/helpers:102:18)
at Object. (/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/@journeyapps/sqlcipher/lib/sqlite3-binding.js:4:15)
at Module._compile (node:internal/modules/cjs/loader:1141:14)
at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
at Module.load (node:internal/modules/cjs/loader:1011:32) {
code: 'MODULE_NOT_FOUND',
requireStack: [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>'/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/rt/electron-plugins.js',
<EMAIL_ADDRESS>'/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/index.js',
'/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js',
undefined
]
}
`

Once again this is running an Apple M1 MacBook Pro using Venture 13.4 OS.

@saintsatplay2015 you should raise this issue in @journeyapps/sqlcipher

@jepiqueau Will do - as I am also experiencing almost the same issue with the incorrect directory not being published on the following system with the Ionic 7/Angular/SQLite starter app:

Mac OS
Monterey 12.4
Intel Quad-Core i7
MB Pro 2016

In this instance, when running the npm run electron:start command I get the following error:

However this time there is NO directory being generated in the location where the error occurs:

I'll raise this will @journeyapps/sqlcipher and see what can be done.
Will post updates here (as surely I can't be the only one experiencing this?)

@jepiqueau Thanks for your help - I appreciate this is NOT directly your issue (software dependencies can be such a headache to navigate).
It doesn't seem like there's any recent development on the sqlcipher project (2 years ago was the last update) and response to user issues is patchy to say the least.
That doesn't fill me with a lot of confidence for finding resolution to this issue (hopefully I'm wrong on this point).
If there is no response from the maintainer(s) of the project what steps would you recommend going forwards to resolve this issue? I suspect that I can't be the only developer experiencing this with trying to create electron builds on Mac?

@saintsatplay2015 i agree so that why i remove it 2years ago. But i was under the pressure of some developers to put it back. See if someone will look at it. Would may be i should look at 2 version one encrypted and one not?

@jepiqueau I appreciate you're caught between a rock and a hard place with trying to satisfy various demands on your time (who would be a developer? :D)
I'll keep you updated as to any possible response/progress from the SQL Cipher maintainer(s).
In the meantime if you wouldn't mind acting on your suggestion - to look at one version encrypted and the other version unencrypted - maybe that will provide some insight?? It can't hurt right!
Thanks once again for your prompt replies/assistance - they are greatly appreciated.

Tried downgrading the version of sqlcipher in the electron package.json file down to 5.2.0:
`><EMAIL_ADDRESS>electron:start

npm run build && electron --inspect=5858 ./

<EMAIL_ADDRESS>build
tsc && electron-rebuild

⠹ Building module: sqlcipher, Completed: 0  CC(target) Release/obj.target/nothing/../../node-addon-api/nothing.o
LIBTOOL-STATIC Release/nothing.a
warning: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool: archive library: Release/nothing.a the table of contents is empty (no object file members in the library define global symbols)
ACTION deps_sqlite3_gyp_action_before_build_target_unpack_sqlite_dep Release/obj/gen/sqlcipher-amalgamation-3033000/sqlite3.c
/bin/sh: python: command not found
make: *** [Release/obj/gen/sqlcipher-amalgamation-3033000/sqlite3.c] Error 127
Error: make failed with exit code: 2
at ChildProcess.onExit (/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/node-gyp/lib/build.js:203:23)
at ChildProcess.emit (node:events:513:28)
at ChildProcess._handle.onexit (node:internal/child_process:291:12)
✖ Rebuild Failed
An unhandled error occurred inside electron-rebuild
node-gyp failed to rebuild '/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/@journeyapps/sqlcipher'
Error: node-gyp failed to rebuild '/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/@journeyapps/sqlcipher'
at ChildProcess. (/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/@electron/rebuild/lib/module-type/node-gyp/node-gyp.js:118:24)
at ChildProcess.emit (node:events:513:28)
at ChildProcess._handle.onexit (node:internal/child_process:291:12)`
Different error this time round - but same result.

Similar error to that with the latest version of SQL Cipher when downgrading to 5.3.0:
><EMAIL_ADDRESS>electron:start
> npm run build && electron --inspect=5858 ./

><EMAIL_ADDRESS>build
> tsc && electron-rebuild

✔ Rebuild Complete
Debugger listening on ws://<IP_ADDRESS>:5858/2a7fd910-99b3-4c94-8014-417220299866
For help, see: https://nodejs.org/en/docs/inspector
in setupCapacitorElectronPlugins
Error: Cannot find module<EMAIL_ADDRESS>Require stack:
-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>-<EMAIL_ADDRESS>- /Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/rt/electron-plugins.js
-<EMAIL_ADDRESS>- /Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/index.js
- /Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js
-
    at Module._resolveFilename (node:internal/modules/cjs/loader:963:15)
    at n._resolveFilename (node:electron/js2c/browser_init:2:109751)
    at Module._load (node:internal/modules/cjs/loader:811:27)
    at f._load (node:electron/js2c/asar_bundle:2:13330)
    at Module.require (node:internal/modules/cjs/loader:1035:19)
    at require (node:internal/modules/cjs/helpers:102:18)
    at Object.<anonymous> (/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/@journeyapps/sqlcipher/lib/sqlite3-binding.js:4:15)
    at Module._compile (node:internal/modules/cjs/loader:1141:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1196:10)
    at Module.load (node:internal/modules/cjs/loader:1011:32) {
  code: 'MODULE_NOT_FOUND',
  requireStack: [
<EMAIL_ADDRESS><EMAIL_ADDRESS><EMAIL_ADDRESS>    '/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/rt/electron-plugins.js',
<EMAIL_ADDRESS>    '/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/build/src/index.js',
    '/Volumes/Projects/htdocs/electron-ionic/angular-starter/ionic7-angular-sqlite-starter/electron/node_modules/electron/dist/Electron.app/Contents/Resources/default_app.asar/main.js',
    undefined
  ]
}
`

Hi, I'm experiencing the very same bug.

But i was under the pressure of some developers to put it back.
I don't understand, why would someone want you to add a broken tool? After my last upgrade of this plugin I was forced to install this cipher-crap. Since then, my app stopped working on windows and linux.

@jepiqueau
I highly recommend to remove this dependency asap.

I've also asked the developers to mark the project as abandoned https://github.com/journeyapps/node-sqlcipher/issues/112

@tobiasmuecksch this is what i am doing right now the developper will have the choice between sqlite3 without encryption and @journeyapps/sqlcipher with encryption i am not confident in using a code which is not maintained

@jepiqueau Thank you so much! That's a great solution 😄

@saintsatplay2015 @tobiasmuecksch  the new release 5.0.3 is doing this.
This version allows to use @journeyapps/sqlcipher or sqlite3 depending on the value of the new parameter electronIsEncryption in the capacitor.config.ts

true  use @journeyapps/sqlcipher
false use sqlite3

in the electron folder you must do
npm install --save @journeyapps/sqlcipher
npm install --save sqlite3
npm install --save jszip
npm install --save<EMAIL_ADDRESS>npm install --save-dev @types/sqlite3

Can you test it and revert to me
@saintsatplay2015  Please close the issue if it works

@jepiqueau I will get some time to test this over the next few days and let you know the outcome. Thanks for all your hard work and assistance with this issue - much appreciated!

@jepiqueau Have recreated a new project and follow the instructions listed here: https://github.com/capacitor-community/sqlite and here: https://github.com/capacitor-community/sqlite/blob/master/docs/Web-Usage.md (as I want to be able to run the application across electron and web).
In the browser I get the following error complaining about the jeep-sqlite element not being present in the DOM:

Yet this element has been added/saved to the app.component.ts file like so:
<ion-app>
  <ion-router-outlet></ion-router-outlet>
  <jeep-sqlite *ngIf="isWeb"></jeep-sqlite>
</ion-app>

The jeep-sqlite package is also installed:

I have also ensured that the sql-wasm.wasm file is copied to the src/assets directory:

Electron issues
When running in electron I get the following errors:

For some reason the sqlcipher package is being referenced in the previously listed error - despite my having set the electronIsEncryption key to false (see capacitor.config.ts file below) - and is throwing the same issue as previously reported (with incorrect system folder being referenced).
This is the actual system path that exists in the app:

It seems strange that sqlcipher is being requested even with the electronIsEncryption key set to false.
To confirm - the  preload.js file is present in the electron/src directory:

The application capacitor.config.ts file contains the following plugins configuration:
plugins: {
    CapacitorSQLite: {
      iosDatabaseLocation: 'Library/CapacitorDatabase',
      iosIsEncryption: true,
      iosKeychainPrefix: 'angular-sqlite-app-starter',
      iosBiometric: {
        biometricAuth: false,
        biometricTitle : "Biometric login for capacitor sqlite"
      },
      androidIsEncryption: true,
      androidBiometric: {
        biometricAuth : false,
        biometricTitle : "Biometric login for capacitor sqlite",
        biometricSubTitle : "Log in using your biometric"
      },
      electronIsEncryption: false,
      electronWindowsLocation: "C:\\ProgramData\\CapacitorDatabases",
      electronMacLocation: "/Volumes/Development_Lacie/Development/Databases",
      electronLinuxLocation: "Databases"
    }
  }

The electron/package.json installed dependencies are as follows:
"dependencies": {
    "@capacitor-community/electron": "^4.1.1",
    "@capacitor-community/sqlite": "^5.0.3",
    "@journeyapps/sqlcipher": "^5.3.1",
    "chokidar": "~3.5.3",
    "electron-is-dev": "~2.0.0",
    "electron-serve": "~1.1.0",
    "electron-unhandled": "~4.0.1",
    "electron-updater": "~5.0.1",
    "electron-window-state": "~5.0.3",
    "jszip": "^3.10.1",
    "node-fetch": "^2.6.7",
    "sqlite3": "^5.1.6"
  },
  "devDependencies": {
    "@types/sqlite3": "^3.1.8",
    "electron": "^19.0.0",
    "electron-builder": "~22.14.13",
    "electron-rebuild": "^3.2.7",
    "typescript": "~4.3.5"
  },

Have I overlooked something here with the latest plugin version or is this a bug?

@saintsatplay2015 can you share the project on github

@saintsatplay2015 what i did work well for Mac Intel based processor but i understand that this does not work with M1 based processor as the build is building with @journeyapps/sqlcipher even if electronIsEncryption is set to false.so i do not see how i can proceed further. For the Web it should work so as i said share your app

I'm also working with a M1 Mac. For me this will be a big problem.

This @journeyapps/sqlcipher  is unmaintained, partially broken and will cause more and more problems in the future. I don't see any good reasons to keep it in this plugin anyways. It will only cost time and effort, with no real benefit.
Alternatively if you really need sql encryption, maybe https://github.com/m4heshd/better-sqlite3-multiple-ciphers is the better option? (Disclaimer: I don't know for sure, because I haven't tested this lib).

@tobiasmuecksch i tested  https://github.com/m4heshd/better-sqlite3-multiple-ciphers in a separate pure Electron App and it works.
It need a complete rewrite of the electron plugin of @capacitor-community/sqlite. Required quite a work. Is it worse to do this knowing that @capacitor-community/electron is not really maintained despite what Mike Summerfeldt said

@saintsatplay2015 @tobiasmuecksch i publish this test-electron-better-sqlite; Can you please clone it install it and run
npm run rebuild
npm run start

and tell me if it works on a M1 or M2 Mac

Well, I had to create the databases folder first (mkdir src/databases) but it works as expected 😄👍

@tobiasmuecksch thanks for the positive test i will look at how to implement it. That will take some time. Are you going to use encryption yourself.

@jepiqueau No, as of now I'm not planning to use encryption.  But I can help testing it anyways.
switching to better-sqlite might be a good option for non-encrypted apps too, because according to their docs, it's much faster than sqlite3

@tobiasmuecksch i am from this morning making the move. Yes i would like your help for testing before i launch it

@tobiasmuecksch i worked already 2 full days on it but it is not a simple that i thought. Better-sqlite3 do not take the "value" in the insert statement or update statement  it takes only 'value'  otherwise you get column value not found which was not the case with sqlite3. So that has a big repercution in the code to allow it.
I will need to restart from scratch which will take time to make it robust

@tobiasmuecksch @saintsatplay2015 I just release a beta version with better-sqlite3. Can you please test it and revert to me
npm i --save @capacitor-community/sqlite@better
go to the electron folder of your app
cd electron
npm install --save better-sqlite3-multiple-ciphers
npm install --save electron-json-storage
npm install --save jszip
npm install --save<EMAIL_ADDRESS>npm install --save-dev @types/better-sqlite3
npm install --save-dev @types/electron-json-storage

@jepiqueau I will try my best to test it until Friday. Will it work with already existing databases?

@tobiasmuecksch yes it should

@tobiasmuecksch thanks for your contribution i went really through all the code si i could have miss something i test it with angular-sqlite-app-starter which contains tests for all fix i had to do in the past

My first tests look really fine.
I will now add it to my app and test it.

Building an electron release fails for me.

I've tested  npm i --save better-sqlite3-multiple-ciphers --build-from-source --target_arch=arm64 --fallback-to-build but that didn't help...

I guess it doesn't have to do with the M1 chip, because I can't even build a windows binary. That's odd...

@tobiasmuecksch  i installed the latest release of electron, electron-builder & electron-rebuild
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.4",
    "@types/electron-json-storage": "^4.5.0",
    "electron": "^25.2.0",
    "electron-builder": "^24.4.0",
    "electron-rebuild": "^3.2.9",
    "typescript": "~4.3.5"
  },

it seems to go further but it ask me for the git url  so i fill that with the git url of the app but i am not sure of this and then i got Error: GitHub Personal Access Token is not set, neither programmatically, nor using env "GH_TOKEN".
As i never went to that process of publishing an app can you explain me this in detail.

@jepiqueau that's a good hint, I might not have the latest builder version. I will try that as soon as I have time. Will get back to you in a few hours.

@tobiasmuecksch ok thanks

At first, a little hint. You should remove electron-rebuild, because it's already included in electron-builder. This was the message I just saw on my CLI:

@electron/rebuild is already incorporated into electron-builder, please consider to remove excess dependency from devDependencies

Updating electron-builder to the latest version seems to help. But now I'm facing a new problem. I can't sign the resulting exe anymore. I'll have to investigate that further... Will get back here soon.

@tobiasmuecksch i finally get some progress by defining a GH_TOKEN in github and modifying some files

electron-builder.config.json

{
 "appId": "com.jeep.app.ionic7.angular.sqlite",
 "directories": {
   "buildResources": "resources"
 },
 "files": [
   "assets/**/*",
   "build/**/*",
   "capacitor.config.*",
   "app/**/*",
   "node_modules"
 ],
 "publish": {
   "provider": "github",
   "owner": "jepiqueau",
   "repo": "ionic7-angular-sqlite-starter"
 },
 "nsis": {
   "allowElevation": true,
   "oneClick": false,
   "allowToChangeInstallationDirectory": true
 },
 "win": {
   "target": "nsis",
   "icon": "assets/appIcon.ico"
 },
 "mac": {
   "category": "public.app-category.utilities",
   "target": "dmg"
 },
 "linux": {
   "target": "AppImage",
   "category": "Utility"
 }
}

package.json file

{
  "name": "ionic7-angular-sqlite-starter",
  "version": "1.0.0",
  "description": "A Starter App for Ionic7-Angular SQLite Capacitor",
  "author": {
    "name": "Jean Pierre Quéau",
    "email"<EMAIL_ADDRESS>  },
  "repository": {
    "type": "git",
    "url": "https://github.com/jepiqueau/ionic7-angular-sqlite-starter.git"
  },
  "license": "MIT",
  "main": "build/src/index.js",
  "scripts": {
    "build": "tsc && electron-rebuild",
    "electron:start-live": "node ./live-runner.js",
    "electron:start": "npm run build && electron --inspect=5858 ./",
    "electron:pack": "npm run build && electron-builder build --dir -c ./electron-builder.config.json",
    "electron:make": "npm run build && electron-builder build -c ./electron-builder.config.json -p always"
  },
  "dependencies": {
    "@capacitor-community/electron": "^4.1.2",
    "@capacitor-community/sqlite": "^5.0.4",
    "better-sqlite3-multiple-ciphers": "^8.4.0",
    "chokidar": "~3.5.3",
    "electron-is-dev": "~2.0.0",
    "electron-json-storage": "^4.6.0",
    "electron-serve": "~1.1.0",
    "electron-unhandled": "~4.0.1",
    "electron-updater": "~5.0.1",
    "electron-window-state": "~5.0.3",
    "jszip": "^3.10.1",
    "node-fetch": "2.6.7"
  },
  "devDependencies": {
    "@types/better-sqlite3": "^7.6.4",
    "@types/electron-json-storage": "^4.5.0",
    "electron": "^25.2.0",
    "electron-builder": "^24.4.0",
    "electron-rebuild": "^3.2.9",
    "typescript": "~4.3.5"
  },
  "keywords": [
    "capacitor",
    "electron",
    "sqlite"
  ]
}

now the npm run electron:make seems to finish successfully:
 ...
  • publishing      publisher=Github (owner: jepiqueau, project: ionic7-angular-sqlite-starter, version: 1.0.0)
  • uploading       file=ionic7-angular-sqlite-starter-1.0.0.dmg.blockmap provider=github
  • uploading       file=ionic7-angular-sqlite-starter-1.0.0.dmg provider=github
  • creating GitHub release  reason=release doesn't exist tag=v1.0.0 version=1.0.0
    [==] 100% 0.0s | ionic7-angular-sqlite-starter-1.0.0.dmg to github
queaujeanpierre@MacBook-Pro-de-Queau-Jean-Pierre electron %

and now in the dist folder i got a `ionic7-angular-sqlite-starter-1.0.0.dmg
now when i installed and launched the app on the Mac
i got an error:
Unhandled Promise Rejection
Error: Cannot parse releases feed: Error: Unable to find latest version on GitHub (https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases/latest), please ensure a production release exists: SyntaxError: Unexpected end of JSON input
    at JSON.parse (<anonymous>)
    at IncomingMessage.<anonymous> (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/node_modules/builder-util-runtime/out/httpExecutor.js:150:42)
    at IncomingMessage.emit (node:events:513:28)
    at endReadableNT (node:internal/streams/readable:1359:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
    at Object.newError (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/node_modules/builder-util-runtime/out/index.js:47:19)
    at GitHubProvider.getLatestTagName (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/providers/GitHubProvider.js:147:42)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async GitHubProvider.getLatestVersion (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/providers/GitHubProvider.js:74:23)
    at async MacUpdater.getUpdateInfoAndProvider (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:305:19)
    at async MacUpdater.doCheckForUpdates (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:319:24),
XML:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" xml:lang="en-US">
  <id>tag:github.com,2008:https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases</id>
  <link type="text/html" rel="alternate" href="https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases"/>
  <link type="application/atom+xml" rel="self" href="https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases.atom"/>
  <title>Release notes from ionic7-angular-sqlite-starter</title>
  <updated>2023-05-27T06:53:35Z</updated>
  <entry>
    <id>tag:github.com,2008:Repository/646061695/v0.0.1</id>
    <updated>2023-05-27T06:53:35Z</updated>
    <link rel="alternate" type="text/html" href="https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases/tag/v0.0.1"/>
    <title>v0.0.1</title>
    <content type="html"><p>initial commit</p></content>
    <author>
      <name>jepiqueau</name>
    </author>
    <media:thumbnail height="30" width="30" url="https://avatars.githubusercontent.com/u/16580653?s=60&v=4"/>
  </entry>
</feed>
    at Object.newError (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/node_modules/builder-util-runtime/out/index.js:47:19)
    at GitHubProvider.getLatestVersion (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/providers/GitHubProvider.js:85:42)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async MacUpdater.getUpdateInfoAndProvider (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:305:19)
    at async MacUpdater.doCheckForUpdates (/Applications/ionic7-angular-sqlite-starter.app/Contents/Resources/app.asar/node_modules/electron-updater/out/AppUpdater.js:319:24)

and if i press on OK the application start normally
if i go to the adress https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases i saw a release 1.0.0 Draft with 3 assets

ionic7-angular-sqlite-starter-1.0.0.dmg
ionic7-angular-sqlite-starter-1.0.0.dmg.blockmap
latest-mac.yml

So i do not know the reason why i got this error May be draft is not production

Try to remove the "publish": {} part in your package.json

✅  macOS
Building and signing a macOS application works for me (including signing and notarization).
❌ windows
But I'm still struggling with windows. I can build the .exe but the signing process fails with this error:
Failed

Unrecognized file type: /Users/tmuecksch/Sites/bico/v2/ehinger-app-v2/bico-app/electron/dist/win-unpacked/resources/app.asar.unpacked/node_modules/better-sqlite3-multiple-ciphers/build/Release/better_sqlite3.node

@tobiasmuecksch  i remove electron-rebuild and   change "publish": [], it builds well but i still get the same error when launching is it because i do not have an Apple developer account?
When you said it successful on Mac it is with the M1 chip? if it is all this work is not done for nothing.

Yes, I'm working with a M1 MacBook Pro.

it builds well but i still get the same error when launching is it because i do not have an Apple developer account?

No, as the error states, it tries to read a json file from your repository.
Unable to find latest version on GitHub (https://github.com/jepiqueau/ionic7-angular-sqlite-starter/releases/latest), please ensure a production release exists: SyntaxError: Unexpected end of JSON input

Have you rebuilt and reinstalled the app, after changing the publish value to "never" ?

Googling around didn't help me to find a solution. I've created an issue now here: https://github.com/m4heshd/better-sqlite3-multiple-ciphers/issues/51

@tobiasmuecksch yes i did rebuild  an reinstall the app

@tobiasmuecksch Can you show me how did you set the publish:"never" on which file ?

Well, in fact my publish config looks like this, because I'm using electron-updater to auto-update my app.
electron-builder.config.json
  "publish": [
    {
      "provider": "generic",
      "url": "https://updates.my-app.com/"
    }
  ]

But since you're not using the auto-update my guess was, that you should disable this.

My problem is I'm running out of time, since I'm departing for a 1-week vacation tonight. Otherwise, I'd take a look at your app and help you to fix it.
If the problem still persists, I will help you after my vacation.
FYI: I got an answer on my build problem. It seems, that better-sqlite3-multiple-cipher does not support cross compilation... That will be a problem for my build process. But I will think about that, after my vacation.

@tobiasmuecksch OK thanks for your help and have a good vacation time. I will keep you aware.

@tobiasmuecksch Any news?

Not yet. I'm struggling to build a windows package and haven't had the time yet to investigate it further. I will do so, as soon as possible.

@jepiqueau Well, at least I've been able to build the latest @capacitor-community/sqlite on version 5.0.5. The bug I mentioned above in this thread was fixed in electron-builder two weeks ago.
See fix issue
Right now I'm still struggling with a setup to build the better-sqlite3 version for windows. As it was stated in this issue they do not provide pre-built packages for windows. Therefore I need to build the app on windows, which I'm still trying to get to work in a parallels machine on my Mac.

@tobiasmuecksch thanks for the news keep me aware on progress

@jepiqueau Allright; I give up. Working in a parallels win11 machine has its problems. I cannot find out why, but when I run npm run build in the electron folder, the command finishes without an error, but it does not create any files.
Then I said; okay - maybe it will work on a real win 10 machine. So I set up a win 10 machine with nodejs and what else you need to build the project. npm run build does work now, but I'm still experiencing serious issues when the builder tries to create a build of better-sqlite3-multiple-ciphers. I've invested multiple hours just to figure out error message after error message, and I don't see the end of the tunnel.
Anyways - losing cross platform build capability would also be a big minus point for better-sqlite3-multiple-ciphers. It's sad, because better-sqlite3 is waaaay better than sqlite3 and you've invested a fair amount of work into the integration of it, but as of now, I don't see that it makes sense to continue working on this.
Since<EMAIL_ADDRESS>can be built again with the latest version of electron-builder, I'd suggest, to keep the better-sqlite3 branch for the future and stick with sqlite3 for as long as possible.

Aww man. I've only tested windoes deployment until now. I've now discovered, that I cannot build macOs anymore.... (@capacitor-community/sqlite on version 5.0.5)

A little update; there is still some discussion going on here: https://github.com/electron-userland/electron-builder/issues/7652 maybe we don't have to give up on better-sqlite3 😃 I'll let you know, in case I get the build working.

@jepiqueau Finally - success 🎉 I've been able to build and test@capacitor-community/sqlite@better. During my first tests it works perfectly fine and my app even feels like it's a bit faster than before 😃
I've even regained cross-building capabilities. I had to remove the --arm64 flag for the build process.
See: https://github.com/electron-userland/electron-builder/issues/7652#issuecomment-1647508883

Sure. It'll take a few days, until I have time for that, but I will do that.

@tobiasmuecksch When the doc is done i think we can close this issue
@saintsatplay2015 You did not comment so i am assuming that your problem is fixed

@jepiqueau Well; I've investigated what in fact needs to be done to be able to build with the new better-sqlite3 package. Despite installing the dependencies you mentioned above it is only necessary to upgrade electron-builder to at least 24.6.3.
By the way; is it possible to integrate the dependencies like node-fetch etc. into the package, so the developers don't need to install it themselves?
I'm now deploying this to the beta channel of my app in order to test if there are any issues which I didn't notice.
I'll wait a few days for some feedback and let you know, whether my users found any issues.

@tobiasmuecksch OK il will mentioned it in the doc. No it is not possible the depencies which are required only for electron otherwise it will penalize the native part of the plugin where it is not needed

All Right. I didn't know that.
Give me some time to make sure that the new bettersqlite3 version really works well.

@tobiasmuecksch hope everything works well now with bettersqlite3. i will close the issue feel free to re-open it if require. Thanks for your contribution and support


Negative expectations

Adds negative expectations. In addition, what was previously known as Expectation has been renamed to Matcher. Expectation and Behavior are now private structs that function as helpers for Mock and Stub, respectively.
Closes #17.

:+1:


parser: fix select field for set operator query

What problem does this PR solve?
PTAL https://github.com/pingcap/tidb/pull/18968
and https://internal.pingcap.net/idc-jenkins/job/tidb_ghpr_common_test/19252/display/redirect
Check List
Tests

Unit test

/rebuild


overconsumption of components on assembly line

See point 7. in this how to
Overconsumption of components in the quantity to consume does not work. The documentation is incorrect in relation to overconsumption.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 36365292-e6f1-43e9-451b-3dfb65eb5970
Version Independent ID: 75973179-54b8-2c4a-eb07-dd0460f74a90
Content: How to Assemble Items - Dynamics NAV App
Content Source: dynamics-nav-app/assembly-how-to-assemble-items.md
Product: dynamics-nav-2018
GitHub Login: @SorenGP
Microsoft Alias: sgroespe

Thank you - The statement about over-consumption has bee removed. The updated topic will be available within one week.


Move parameter declarations from yaml to within class definitions

Rather than having parameter and option declarations within the Likelihood.yaml files we should move them to within the class definitions.
This will fix errors with apparently undeclared variables, make it easier to document the options, allow us to stop having to explicitly include them in [options.package_data]...

List of places to remove this:

[ ] Linear_bias.yaml
[ ] Foreground.yaml
[ ] CosmoPowerDerived.yaml
[ ] CosmoPower.yaml
[ ] CCL.yaml
[ ] Bias.yaml
[ ] BandPass.yaml
[ ] clusters/ClusterLikelihood.yaml
[ ] cross_correlation/CrossCorrelationLikelihood.yaml
[ ] cross_correlation/GalaxyKappaLikelihood.yaml
[ ] cross_correlation/ShearKappaLikelihood.yaml
[ ] halo_model/HaloModel.yaml
[ ] halo_model/HaloModel_pyhm.yaml
[ ] mflike/MFLike.yaml
[ ] mflike/TheoryForge_MFLike.yaml


when the angular-multi-select inside tab (tabset) output-module had Invalid

Hi isteven
when the angular-multi-select inside tab (tabset) output-module had Invalid,see the following code
code
<form ng-submit="exportTables()">

			select table

			<tabset style="margin-left:8px;">
				<tab heading="Table Manage"  >

				</tab>
			</tabset>

				<button type="submit" class="btn purple" ng-disabled="tableOut.length === 0">Submit</button>

</form>
controller
$scope.tableInit = [];
$scope.tableOut = [];
$scope.tableItems = [
{
"tableName": "t_purchase",
"tableDesc": "采购订单表"
},
{
"tableName": "t_purchase_backgoods",
"tableDesc": "采购退货表"
}];
$scope.initSelectItems = function () {
angular.forEach($scope.tableItems, function (q) {
$scope.tableInit.push({
name: q.tableDesc,
maker: '',
ticked: false,
tableName: q.tableName
});
});
};
$scope.exportTables = function () {
console.log($scope.tableOut);
};
you can try!

{

select table

Submit

}

		select table

		<tabset style="margin-left:8px;">
			<tab heading="Table Manage"  >

			</tab>
		</tabset>

			<button type="submit" class="btn purple" ng-disabled="tableOut.length === 0">Submit</button>

Hi @liulipengju ,
Please replicate this problem in JsFiddle or Plunker and send me the URL.

Well, wait a minute, I handle it, give you a shared URL

Plunker tips: Unable to load streaming code. i can not share.
the code very easy.

page inside code just ok.

If Plunker doesn't work, try to use JsFiddle please. It would be much easier to see the code right away.
You don't need to stream, just save your code, and copy & paste the JsFiddle (or Plunker) URL back to me.

but JsFiddle  How to reference angular-multiselect

You can copy paste the whole

angular-multi-select.js script into the JS box.
angular-multi-select.css into the CSS box.

Or, open the RAW file from Github and include these files on the left hand side menu in JsFiddle. Please read JsFiddle's documentation if you're still unsure.

http://jsfiddle.net/g744rhcw/1/
code in this
but  reference lib not work

I didn't see the controller in your JsFiddle.
I also didn't see the ng-app initiation in your JsFiddle.

http://jsfiddle.net/g744rhcw/2/

left external resources is not load . why?

Still do not see it?

If you open your browser console, there are still some errors there. Look at those with red underline.
If you already define an AngularJs in the "external framework", you don't need to include it again in the "external resources"

I don't know why your external resources are not loaded. Have you initated them?
I'm sorry I cannot help you on these, I only support my multi-select directive, not JsFiddle / Plunker / AngularJs.

my question just for angular-multi-select directive,
because angular-multi-select inside tab (tabset == bootstrap3) output-module had Invalid

Yes...
But before you ask, please replicate the problem in JsFiddle or Plunker.
How can I help you if you gave me an invalid JsFiddler?

Yes, I was there to see JsFiddle a problem.

OK, basically.. please provide me with a JsFiddle or Plunker that is working & free of error.
Only then I can help you with my directive.

Hi isteven
i fix error,now no error, but angular-multiselect  is not working.
http://jsfiddle.net/g744rhcw/11/

Hi,
There's still an error;

yes . wait me one minute.

Hi isteven
Oh.  haha.
http://jsfiddle.net/g744rhcw/14/  it's oK
please check.
thank you

you can copy  multiselect of div out tabset and run

OK it seems that, just like previously, there's a conflict with angular-ui.
You have to choose only one, either my directive, or the angular-ui.

Hi, This problem can not solve it?

I can still use, but I have taken from the input items to the output items .

Oh.. ok it's like this:
You see, the tabset itself is a directive.. and.. there seems to be a problem using my directive within this directive.
If you want to, just use Bootstrap's tab. Don't use the tabset.

Thanks, I will use bootstrap's tab.or  taken from the input items to the output items

Hi isteven
I do need to close this issue ?

Yes, please close the issue when you're done. Thank you.

yes, i will.


Docker dev server not showing HTML iFrame for errors

Please verify that this bug has NOT been raised before.

[X] I checked and didn't find a similar issue

Describe the bug*
Chrome displays error "localhost refused to connect" in the HTML iFrame window of errors in the admin view.
console putput as follows:
Refused to display 'http://localhost:8000/' in a frame because it set 'X-Frame-Options' to 'deny'.
Steps to Reproduce

Set up your server with docker
Produce an error
Look at the page

Expected behaviour
Showing the frame
Deployment Method

[X] Docker
[ ] Bare metal

Version Information
Version Information:
InvenTree-Version: 0.12.0 dev
Django Version: 3.2.19
Commit Hash: f2ee65e83
Commit Date: 2023-05-18
Database: postgresql
Debug-Mode: True
Deployed using Docker: True
Active plugins: [{'name': 'InvenTreeBarcode', 'slug': 'inventreebarcode', 'version': '2.0.0'}, {'name': 'InvenTreeCoreNotificationsPlugin', 'slug': 'inventreecorenotificationsplugin', 'version': '1.0.0'}]
Relevant log output
No response

@LavissaWoW I've been annoyed about this for ages. If you can work out a fix, that'd be great :)

@LavissaWoW did you ever make any progress with this?

@SchrodingersGat
There's a core Django setting called X_FRAME_OPTIONS that defaults to DENY
I've changed it to SAMEORIGIN here, and I'm not getting rejected connections anymore.
However, I've only recently had a few errors, mostly API related.
So the frame just reads "None", as there was no HTML tied to the error.
If you add the line X_FRAME_OPTIONS = "SAMEORIGIN" to settings.py, let me know if you can see any rendered HTML from errors.

Loosening up on X-Frame-Options does come with some security risks for an unwitting end user, but I think we should be able to limit it to only work for these kinds of things. The Django setting sets it app-wide.

Changing the X-Frame-Options has a lot of implications, I am not sure the edge case is worth the risk. A normal user will never have contact with the error screen so I am not sure a general change is worth it.

@matmair Just as I implied in my last comment.
The best option is to code in allowing only this specific path to be allowed to use SAMEORIGIN.
Call it an edge case, but site admins will eventually notice and report this out of frustration. It does paint an unprofessional image.

@LavissaWoW if you can present a proof-of-concept here, we'd certainly consider it!

Please also demonstrate how the change prevents an XSS attack as we had here - but from within site -  from *any * user with attachment upload privileges as those are served under the same origin as the main site - ie. will be allowed with the proposed change.

@matmair I've never really proposed to solve this issue by defining SAMEORIGIN app-wide. I agree that's a bad idea.
Now, Django has a decorator to be used on view methods that allow you to deviate from the standard for any given view on a case-by-case basis. This will override the middleware setting only on the function it's used on.
I'd see this as a feasible solution, but that largely depends on your plans moving forward here.
The iframe in question belongs to the package django-error-report, and as such, the view too.
I'm aware that it's not maintained anymore, and I seem to have read somewhere that you've made note of this in relation to bumping the Django version.
If we're forking it/moving the code into InvenTree/making it a plugin/etc, then we're able to modify this view by including the following code:
from django.views.decorators.clickjacking import xframe_options_sameorigin
[...]
@xframe_options_sameorigin
def error_html(request, error):
[...]

in this file: https://github.com/mhsiddiqui/django-error-report/blob/master/error_report/views.py
Doing this, we've specifically whitelisted that view for SAMEORIGIN, but keeping the standard DENY option elsewhere.
If the plan is to move away from django-error-report in the future, then this problem turns moot, and will be gone with a future upgrade. Thus no change needs to be made at all.
But, as I can't modify django-error-report, nor do I want to have X-Frame-Options SAMEORIGIN app-wide, any outcome here would depend on the plans for django-error-report.

If nothing else, the cause has been identified, and people can find this issue in the future.

I was really hoping the original maintainer of django-error-report would come back, I have 20+ dependants on that project. The fork is mainly a stop-gap fix to get Django 4.x going.
@SchrodingersGat would you ok with switching the dependency to a fork?
Implementing the specific change is more than trivial after that.

Maybe a fork is the approach we need to take - AFAIK there are not really any suitable alternatives which offer the same functionality?
The fork would be to:

Support 4.x django
Allow us to fix the admin view
Anything else?

Do you want a fork under /inventree or can we use my fork https://github.com/matmair/django-error-report.
I already have 4.x in the fork, the admin view is 2 LoC.

Happy to use your fork @matmair


RCTOneSignal.h file not found build error

I know this is a common issue but I tried everything many times and I keep getting the same error, not sure what to try next.

this is the contents of my Podfile
# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'

target 'HelloWorld' do
  # Uncomment the next line if you're using Swift or would like to use dynamic frameworks
  # use_frameworks!

  # Pods for HelloWorld
pod 'OneSignal', '1.13.3'

end
 target 'HelloWorldTests' do
    inherit! :search_paths
    # Pods for testing
  end

using    react-native 0.35.0, react-native-onesignal ^1.2.3
using xcode v. 8.2
thank you!!!

I upgraded to beta version of react-native-onesignal and v 2.2.0 of OneSignal pod, same issue still persists

Do you still encounter this issue?
Are you sure you're using the latest version and pod as mentioned in the docs?

Hi!
I'm having the same issue and I have installed the pod as mentioned in the docs.
The build fails with error:
AppDelegate.h:11:9: fatal error: 'RCTOneSignal.h' file not found
#import <RCTOneSignal.h>

I'm using pod version 1.1.1 and Xcode Version 8.2.1 (8C1002) on a macOS 10.12
I have uploaded a demo React Native project which has this issue to my repo onesignal-issuedemo if it helps you.
Thank you for your help!

yes I still have this issue. I'm using one signal pod 2.2.0. pod version 1.1.1. , mac osx 10.11.6

@nilsers i'll try running your project and will let you know.

@nilsers,
Please add the following to your target Header Search Paths under Build Settings on your XCode workspace:
$(SRCROOT)/../node_modules/react-native-onesignal/ios/RCTOneSignal
Should build fine, as I tested on your repository.

@mnmeyers Did you ever get it working? I'm having same probs as you, tried everything here, no dice.

 I may try just starting on a new branch, and starting over again. will report back. are you still getting the same error or different ones?

Thanks so much for the help! I don't get these errors, no. By the way I'm on XCode 8.2.1, not sure if that makes a difference.
Yes feel free to fork the master branch of https://github.com/GeoffreyPlitt/react_native_minimal to try yourself.

By the way, I have another branch you can fork, which uses v1.2.3 of this lib, and still has those same errors:
https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal_123
In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.m:10:
In file included from /Users/giro/react_native_minimal/ios/react_native_minimal/AppDelegate.h:11:
../node_modules/react-native-onesignal/ios/RCTOneSignal/RCTOneSignal.h:3:9: fatal error: 'OneSignal/OneSignal.h' file not found
#import <OneSignal/OneSignal.h>
        ^

@GeoffreyPlitt so I realized that those errors I was getting were all in the tests folder so I just deleted them  (right click > delete) from xcode (the remove references option, not true delete) and then the build succeeded. probably those tests are needed for something but.... that's for another day haha

I am DOA. I am having the same error.

@davidfekke which version of one signal and react-native-one-signal are you using and did you try adding the header search paths as suggested above, did that change anything?

@mnmeyers @davidfekke @GeoffreyPlitt Can you share repositories with the errors reproduceable?

Yes, my repo that reproduces header issues is at https://github.com/GeoffreyPlitt/react_native_minimal/tree/onesignal. Note: Part of my specific problem is that I'm trying to get it working WITHOUT cocoapods; and the error I'm getting is slightly different than the title of this issues, it's about "OneSignal/OneSignal.h" not being found.

Hello guys,
@mnmeyers @davidfekke @GeoffreyPlitt
I had the same issue, and adding
$(SRCROOT)/../node_modules/react-native-onesignal/ios/RCTOneSignal
to Header Search Paths in Build Settings solved my problem.
Make sure you set them for recursive!!! Did not worked until I changed that.

@egunsoma I've done this. Set to recursive. Still saying
/path/to/project/AppDelegate.h:11:9: fatal error: 'RCTOneSignal.h' file not found

I have followed the same steps as you, and I keep having the same error than @passabilities :
path/AppDelegate.h:11:9: 'RCTOneSignal.h' file not found

@Pampounet I recommend updating to the latest 3.0.3 version of this SDK. It greatly simplifies the iOS setup process.
https://github.com/geektimecoil/react-native-onesignal#ios-installation
Most of the above comments do not apply to version 3.0.3 as paths have changed and the iOS native source is now included with this SDK.

@jkasten2 Thanks for your help ! Now I'm getting a new error that makes build failing :
ld: 102 duplicate symbols for architecture x86_64
I'm going to seek help about it now !

@Pampounet Make sure to remove all other copies of the OneSignal iOS native SDK. Such as from cocoapods, manual, or carthage.

@jkasten2 Finally, I had to remove $(inherited) flag in Other Files Flag in my target Build Settings : the build succeeded, but my app is not working anymore... Still working on it !

@Pampounet You might want to start over with a new react project and get the OneSignal SDK up and running. Then copy in your existing javascript code.

@jkasten2 I will try this way, since I don't succeed running anything... but Android version works well, so I keep developing on it for the moment !
Thanks !

@jkasten2 So I tried, and did not manage making it working :'(

im getting this error after i solved architecture one
Cannot find protocol declaration for 'OSSubscriptionObserver'

add "$(SRCROOT)/../node_modules/react-native-onesignal/ios" non-recursive in Framework Search paths
and
add "$(SRCROOT)/../node_modules/react-native-onesignal/ios" recursive in Header search paths

@HananeAlSamrout worked for me too! :)
Thanks

work! Even when is to candidate release
Thanks @HananeAlSamrout

I had to comment out the podfile entry for onesignal to get this to work

I found the issue. When adding $(SRCROOT)/../node_modules/react-native-onesignal/ios. I noticed that in the project.pbxproj file the entry was placed using { instead of ( in $(SRCROOT). Whenever I add through xCode the string would be wrong. I manually modified the file and now everything works correctly

@egunsoma I've done this. Set to recursive. Still saying
/path/to/project/AppDelegate.h:11:9: fatal error: 'RCTOneSignal.h' file not found

i also have same issue in NativeBridgeModel.m that AppDelegate.h not found


cinny-desktop: init at 2.0.4

Description of changes
Added the desktop version of the cinny matrix client.
This is an app built with Tauri.
I have used the debian package released on github (didn't manage to get the appimage version to run).
I have added a disableCompositing option to the package as the desktop window is blank is not doing this.
This seems to be an issue with Tauri apps when using nvidia.
Solves #172989
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[x] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[ ] Fits CONTRIBUTING.md.

@azahi @SuperSandro2000 I have rebased with the edits.
Tauri doesn't seem to offer the possibility to build basic binaries but only AppImage or Debian package on Linux.

@azahi Should be good now.

@azahi now fixed, upstream has released a new version in the meantime so i changed it. Not sure if this changes anything regarding the current PR.

Okay, http://matrix.org works but my homeserver azahi.cc doesn't. I guess this is some kind of an upstream issue or a misconfiguration on my part.

I'm going to approve this but for some reason I can't connect to any servers while, for instance, nheko works just fine. Could be something on my end, though.

It also prints out this while running:
[azahi@melian:~/.cache/nixpkgs-review/pr-185427-3]$ ./results/cinny-desktop/bin/cinny
Could not determine the accessibility bus address

(process:40015): GLib-GIO-CRITICAL **: 23:43:09.149: g_task_get_cancellable: assertion 'G_IS_TASK (task)' failed

It seems there's an upstream issue for this https://github.com/cinnyapp/cinny/issues/693

This pull request has been mentioned on NixOS Discourse. There might be relevant details there:
https://discourse.nixos.org/t/tauri-apps-lets-build-it-with-nix/13845/5


Feedback  - leave a comment here if you have feedback

Open an issue if you found a bug or just leave a comment if here you want.

Thank you @davidnixon for your great work! We will use this library to steer PTZ cameras with an Xbox controller.

closing this. Will use discussion for feedback.


Bug 499165 - more generic solution to registering jax-rs components

jax-rs extensions/components are now consumed from the OSGi service registry
refactored manual DS definition files to annotations based definition

Hi Erdal,
First, thanks kindly for the pull request and ideas.   I'm not going to be able to merge right away though, as I have some other commitments (e.g. travel) today/Friday and over the weekend.
One thing I was thinking about:   After looking at the Jax RS configuration API a little bit I was thinking about using the Configurable interface javax.ws.rs.core.Configurable to  create a new distribution provider superclass...for potential use by both server and clients.   i.e. call it org.eclipse.ecf.provider.jaxrs.JaxRSDistributionProvider.  And then re-parent both the server and client so that they can use the same code (similar to what you have in JaxRSExtensionRegistry).  That way both clients and servers could easily reuse this capability to use OSGi whiteboard services for extensions, along with using service properties and ds to declare and inject service properties as your code does.  I think this will be useful, as I've already got client-provider-side configuration code, and I would like to use the same extension mechanisms for both client and server.  This would be common, as usually the same custom marshalling (e.g.) is required on both ends.  I think this will likely be true for other cases as well.
I've been toying around with this in some code (new superclass for providers) and will create a new shared branch and push the code to it so that you can look at it and we can discuss...hopefully before I travel today.
Thanks.

No problem, Scott. Let me know when you have a new draft/solution. I am happy to try it out for my use case.

Hi Erdal,
I've created a new branch for the JaxRSProviders repo:  slewis499165.  The only difference at this point is the addition of this (super) class:
https://github.com/ECF/JaxRSProviders/blob/slewis499165/bundles/org.eclipse.ecf.provider.jaxrs/src/org/eclipse/ecf/provider/jaxrs/JaxRSDistributionProvider.java
The expectation would be that subclasses (impl-specific distribution providers...like the Jersey and CXF providers) would need to
a) Define and register extension with service properties (via DS typically) OR call addJaxRSExtension method directly.
b) When ready to create a Configuration (e.g. when creating individual containers), they would create a Configurable (server or client) and call registerComponents(Configurable).
I haven't had a chance to try any of this out yet, and I want to rename some of the methods (to use 'component' rather than 'extension') but before doing those things I wanted to get your opinion.

Actually, rather than have subclasses call registerComponents, they could more easily call:  getConfiguration(Configurable)

Scott, I had a look at the class and I am fine with it :-)
Did you take into account that JAX-RS components could be added after the configuration/container has been created? Is this dynamic behavior also supported by JAX-RS or can we ignore it?

Hi Erdal,

Did you take into account that JAX-RS components could be added after the configuration/container >has been created? Is this dynamic behavior also supported by JAX-RS or can we ignore it?

As far as I know, such dynamics are not supported by JAX-RS 2.0.   If you know of or discover otherwise please let me know.

Hi Erdal,
I've been working on this this weekend, along with understanding Jax-RS better and I think I have something that will work with both servers and clients, and cover all Jax-RS extensions.
To explain:   The Jax-RS extension mechanism supports several types of extensions...e.g. MessageBodyReader/Writer, ContextResolvers, and ExceptionMappers.  In 2.0 it also supports javax.ws.rs.core.Features, which represent sets of extensions.   I added support methods in JaxRSDistribuitonProvider to support these:
https://github.com/ECF/JaxRSProviders/blob/slewis499165/bundles/org.eclipse.ecf.provider.jaxrs/src/org/eclipse/ecf/provider/jaxrs/JaxRSDistributionProvider.java
Also there is all the 'real meat' of actually doing the registration, with contracts and priorities (optionally specified).   With this, and the adding of the appropriate DS metadata to the Jersey server and client, both can be configured via OSGi services.  I created an example bundle with an extension for the Jersey server of a Student marshalling/unmarshalling customization (MessageBodyReader/Writer).   See these components:
https://github.com/ECF/JaxRSProviders/tree/slewis499165/examples/org.eclipse.ecf.provider.jersey.server.example.student.extensions/src/org/eclipse/ecf/provider/jersey/server/example/student/extensions
Note that all that's necessary to make an instance of this class available for registering as an extension to the Jersey server is this:
@Component(property = "jaxrs-component=org.eclipse.ecf.provider.jersey.server.JerseyServerDistributionProvider")
public class CustomMessageBodyReaderExtension implements MessageBodyReader ...
When this service component is registered, DS will match it to the org.eclipse.ecf.provider.jersey.server.JerseyServerDistributionProvider and register it to the appropriate Configurable.
Everything works similarly with the client, In fact there are some extensions needed just get it working consistently with json serialization, and so there are some test/examples of the same mechanisms here:
https://github.com/ECF/JaxRSProviders/tree/slewis499165/bundles/org.eclipse.ecf.provider.jersey.client/src/org/eclipse/ecf/provider/jersey/client
Note all of this can and should be reused with CXF.   That's something to add.
Since you came up with many of the ideas used, with your permission I would like the copyright in the source to read:
/*******************************************************************************

Copyright (c) 2016 Composent, Inc. and Erdal Karaca. All rights reserved. This
program and the accompanying materials are made available under the terms of
the Eclipse Public License v1.0 which accompanies this distribution, and is
available at http://www.eclipse.org/legal/epl-v10.html

Contributors:
Composent, Inc. - initial API and implementation
Erdal Karaca - initial API and implementation
******************************************************************************/

If all of this looks good to you, I will merge the slewis499165 branch into master and drop this pull request.  Thanks for your help with this, I like this a lot and think that it will make it much easier to use and extend these Jax-RS providers.

Hi Scott,
I tried the new version and it works for me!
What was the reason for having the "jaxrs-component" property?
The only use case for it seems to be to be able to differentiate between which JAX-RS implementation the extension is meant for. But isn't there only one implementation only per runtime (for example OSGi instance)? Or can we have both CXF and Jersey running in the same runtime?
Thanks for mentioning me in the copyright headers :-)

Hi Scott,
I tried the new version and it works for me!
What was the reason for having the "jaxrs-component" property?
The only use case for it seems to be to be able to differentiate between which JAX-RS >implementation the extension is meant for. But isn't there only one implementation only per runtime > (for example OSGi instance)? Or can we have both CXF and Jersey running in the same runtime?

This is quite possible with ECF's impl of OSGi RSA, so yes this is one use case.   Another use case is for the future (not yet implemented), and that's to allow separate Configurables (and associated targeted extensions) at the level of individual ECF containers, which on server-side would correspond to specific paths..e.g. http://host:port/path1/service/method vs http://host:port/path2/service/method running simultaneously.
So part of the reasoning is being able to do multi-distproviders configuration (where both Jersey and CXF providers might exist), and future where containers within dist providers might need distinct configurations.

Thanks for mentioning me in the copyright headers :-)

Most welcome.  I'm sorry that I didn't end up using your code on this pull request.  Unless you object, I'll close this pull request and merge my branch into master later today/Monday.

Maybe, then one little addition/question: can we make providing the jaxrs-component property optional?
I the MessageBodyWriter/Reader I provide would work in any JAX-RS implementation, so I would only want to opt-in for a specific impl.
I tried this as an ldap filter for the target:
|((jaxrs-component=org.eclipse.ecf.provider.jersey.server.JerseyServerDistributionProvider)(jaxrs-component=*))"
And setting the property to "*" in my MessageBodyWriter.

Ok.   One thing I need to look into is:  if a jaxrs impl (e.g. Jersey, CXF, etc) cannot handle/use a given extension (e.g. I imagine that CXF doesn't allow some Jersey-specific features) what is required to happen when the configurable.register(instance,contracts) is called...e.g. exception, log, etc.
But I get what you are saying...in the usual case (a single JaxRS implementation...e.g. Jersey) it is easier to just register the component without any properties required...and you are done.

Hi Erdal,
I've removed the requirement that the jaxrs-component property be set.  It's now optional, and registering a Jax-RS extension will now be enough.
I've also changed the jaxrs-component property to jaxrs-component-target.   If this property is set, then the value specified will be used to call JaxRSDistributionProvider.isValidComponentTarget(Object value).  By default this is implemented as checking if the value is a String, and that it equals the Distribution Provider classname.   Providers (clients and servers) can modify this implementation, and I might generalize it over time (e.g. support targets that are the container id and/or other things as discussed above).
I've merged my branch into master and deleted the slewis499165 branch.
I'm going to close this bug.  Thanks for your help on this.   I think I will do a build of this new provider very soon, create a karaf feature for it, and make it known on the Karaf users mailing list.