stevenmassaro / email Goto Github PK
View Code? Open in Web Editor NEWAn email inbox aggregator, supporting listing emails from Gmail and AOL in one aggregated view.
License: MIT License
An email inbox aggregator, supporting listing emails from Gmail and AOL in one aggregated view.
License: MIT License
AOL doesn't like more than 1 connection, so limit to only have a single thread operating on each AOL account.
STR:
do a sync
restart the docker container (clearing out the store)
without refreshing the page, do CTRL+S
sync will fail
It would be better if the page made you reenter your PW instead of failing the sync.
java.util.concurrent.ExecutionException: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('(' (code 40)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"(node:85) UnhandledPromiseRejectionWarning: Error: error:25066067:DSO support routines:dlfcn_load:could not load the shared library
at Object.privateDecrypt (internal/crypto/cipher.js:63:12)
at NodeCryptoFunctionService.rsaDecrypt (/usr/local/lib/node_modules/@bitwarden/cli/build/bw.js:32583:58)
at CryptoService.<anonymous> (/usr/local/lib/node_modules/@bitwarden/cli/build/bw.js:14348:47)
at Generator.next (<anonymous>)
at fulfilled (/usr/local/lib/node_modules/@bitwarden/cli"[truncated 651 chars]; line: 1, column: 2]
at com.google.common.util.concurrent.AbstractFuture.getDoneValue(AbstractFuture.java:588) ~[guava-31.1-jre.jar!/:na]
at com.google.common.util.concurrent.AbstractFuture.get(AbstractFuture.java:547) ~[guava-31.1-jre.jar!/:na]
at com.google.common.util.concurrent.AbstractFuture$TrustedFuture.get(AbstractFuture.java:113) ~[guava-31.1-jre.jar!/:na]
at com.google.common.util.concurrent.Uninterruptibles.getUninterruptibly(Uninterruptibles.java:240) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$Segment.getAndRecordStats(LocalCache.java:2317) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2283) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$Segment.lockedGetOrLoad(LocalCache.java:2159) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2049) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache.get(LocalCache.java:3966) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$LocalManualCache.get(LocalCache.java:4863) ~[guava-31.1-jre.jar!/:na]
at email.service.BitwardenService.getLogin(BitwardenService.java:54) ~[classes!/:2.7.3]
at email.service.SyncService.sync(SyncService.java:41) ~[classes!/:2.7.3]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77) ~[na:na]
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343) ~[spring-aop-6.0.2.jar!/:6.0.2]
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196) ~[spring-aop-6.0.2.jar!/:6.0.2]
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) ~[spring-aop-6.0.2.jar!/:6.0.2]
at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:752) ~[spring-aop-6.0.2.jar!/:6.0.2]
at org.springframework.aop.interceptor.AsyncExecutionInterceptor.lambda$invoke$0(AsyncExecutionInterceptor.java:115) ~[spring-aop-6.0.2.jar!/:6.0.2]
at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) ~[na:na]
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) ~[na:na]
at java.base/java.lang.Thread.run(Thread.java:833) ~[na:na]
Caused by: com.fasterxml.jackson.core.JsonParseException: Unexpected character ('(' (code 40)): expected a valid value (JSON String, Number, Array, Object or token 'null', 'true' or 'false')
at [Source: (String)"(node:85) UnhandledPromiseRejectionWarning: Error: error:25066067:DSO support routines:dlfcn_load:could not load the shared library
at Object.privateDecrypt (internal/crypto/cipher.js:63:12)
at NodeCryptoFunctionService.rsaDecrypt (/usr/local/lib/node_modules/@bitwarden/cli/build/bw.js:32583:58)
at CryptoService.<anonymous> (/usr/local/lib/node_modules/@bitwarden/cli/build/bw.js:14348:47)
at Generator.next (<anonymous>)
at fulfilled (/usr/local/lib/node_modules/@bitwarden/cli"[truncated 651 chars]; line: 1, column: 2]
at com.fasterxml.jackson.core.JsonParser._constructError(JsonParser.java:2418) ~[jackson-core-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportError(ParserMinimalBase.java:749) ~[jackson-core-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.core.base.ParserMinimalBase._reportUnexpectedChar(ParserMinimalBase.java:673) ~[jackson-core-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser._handleOddValue(ReaderBasedJsonParser.java:2082) ~[jackson-core-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.core.json.ReaderBasedJsonParser.nextToken(ReaderBasedJsonParser.java:805) ~[jackson-core-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.databind.ObjectMapper._initForReading(ObjectMapper.java:4817) ~[jackson-databind-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.databind.ObjectMapper._readMapAndClose(ObjectMapper.java:4723) ~[jackson-databind-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3677) ~[jackson-databind-2.14.1.jar!/:2.14.1]
at com.fasterxml.jackson.databind.ObjectMapper.readValue(ObjectMapper.java:3660) ~[jackson-databind-2.14.1.jar!/:2.14.1]
at email.service.BitwardenService.deserializeBitwardenJson(BitwardenService.java:75) ~[classes!/:2.7.3]
at email.service.BitwardenService.lambda$getLogin$0(BitwardenService.java:65) ~[classes!/:2.7.3]
at com.google.common.cache.LocalCache$LocalManualCache$1.load(LocalCache.java:4868) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$LoadingValueReference.loadFuture(LocalCache.java:3533) ~[guava-31.1-jre.jar!/:na]
at com.google.common.cache.LocalCache$Segment.loadSync(LocalCache.java:2282) ~[guava-31.1-jre.jar!/:na]
issue appeared after ebeb560
USPS informed delivery emails are a good example of this
...copied from stackoverflow...
One way around it would be to call a script on your server (ie same domain) and pass in a URL. The script gets the content of the page you were after and regurgitates it to your browser, so you'll have the content of your desired webpage but the address of it was within your site.. eg if it were php:
http://yourdomain.com/getURL.php?url=http:www.google.com
Ideally it would download the full page content and store that in a blob in the database, so it's not acting as a proxy, it would be faster by getting it straight out of the db as a string.
.../copied...
will also need some javascript that will execute on the code in the iframe that makes all links open in new tab
If you filter, then click the check all box, then do a multi-delete, it deletes emails that you aren't intending, because they are hidden by the filter.
Bitwarden CLI utilities are installed via npm in the dockerfile for platform independence. Since npm is so heavy, it would be better to use conditional logic (like in the golang docker image: https://github.com/docker-library/golang/blob/4fa4888b25307c734ed4bbda6ce68549b7d9dbdc/1.13/buster/Dockerfile#L17) to install the bw binaries directly for amd64 and to use npm for arm64.
but make sure that the UI prompts you with a confirmation modal before actually selecting all because it allows you to delete all
also - make sure it only selects the emails that are visible, not the emails that are hidden by a search filter
this is known when a call enters the body endpoint, so a separate API call is really unnecessary
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.