Caching with different states

I have recognized that a page often ends loading with a different state. I printing the line
let state = webView.stringByEvaluatingJavaScriptFromString("document.readyState")
to the console. Sometimes it finishes with "interactive" and sometimes with "completed" when loading the same url.  Should the caching process then be repeated?
I tried to cache different pages consequently by calling.
cachePage(SiteA)
cachePage(SiteB)
cachePage(SiteC)

Is it possible that I have to wait until the former caching process has been completed? What I'm trying to achieve is that my apps caches certain pages after initialization to present them as fast as possible when the user visits them.
Another question: Does the caching mechanism needs an instance of a webView in my class or can it cache independently, so that I can put cachePage in it's own model class?
    func cachePage(url: NSURL) {
        log.info("Caching page \(url.absoluteString)")
        if let cache = NSURLCache.sharedURLCache() as? Mattress.URLCache
        {
            cache.diskCacheURL(url, loadedHandler: { (webView) -> (Bool) in
                    let state = webView.stringByEvaluatingJavaScriptFromString("document.readyState")
                    log.verbose("state: \(state)")
                    return state == "complete"
                }, completeHandler: { () -> Void in
                    log.info("Finished caching \(url.absoluteString)")
                }, failureHandler: { (error) -> Void in
                    log.error("Error caching: \(error.localizedDescription)")
            })
        }
    }

Hey, thanks for giving Mattress a shot!
The document's readyState being different sometimes is to be expected. UIWebView's delegate method for when it's finished loading gets called usually several times, and we don't really know when it's going to get called. That's why we let you decide when you're all done loading, so we can be as hands off as possible about the process.
It looks like you're waiting for the "complete" readyState, but you could actually see that handler get called zero to many times before it's called when "complete". That's to be expected and doesn't mean anything went wrong or that you need to re-run the caching process. You'd only want to consider re-running if the failure handler is called, but keep in mind that the failureHandler is called when the webView delegate's failure method is called, which could just be due to a single request failing, rather than what you might consider a catastrophic failure.
Since you're just trying to get pages to load a bit faster, the implementation above looks good, if you're not worried about handling a catastrophic failure state. That's actually very similar to what we're doing in our News app, except we will actually return true regardless of readyState if the user is not on WiFi.
Since your'e trying to speed up downloads rather than just make them offline, you'll need to use a not-so-well documented features:
Mattress.shouldRetrieveFromMattressCacheByDefault and the request key MattressAvoidCacheRetreiveOnlineRequestPropertyKey.
The former is a bool that determines if we should look into the Mattress cache for files, even when we're online. And the latter is a key for a request header property where you can specify that you want to bypass looking in the MattressCache. Be careful with using this though because if you have shouldRetrieveFromMattressCacheByDefault turned on, it will load any available requests from the cache, regardless of how old they are. You could end up getting some very stale data. This is probably fine for things like CSS and JS, which often use filename invalidation already anyways, but for downloading an HTML file for example you might not want to use it.
We use this feature in the News app like so:
Mattress.shouldRetrieveFromMattressCacheByDefault is set to true. And in our web view controller where we're loading the request for a web page, we do this:
    func startLoadingURL(url: NSURL) {
        let request = NSMutableURLRequest(URL: url)
        NSURLProtocol.setProperty(true, forKey: MattressAvoidCacheRetreiveOnlineRequestPropertyKey, inRequest: request)
        webView.loadRequest(request)
    }

What that does for us is makes sure the initial request (most likely the HTML) will not load from cache unless we're offline, so it will download fresh content, then subsequence requests that page causes will load from the Mattress cache so they'll come up instantly. It results in much faster page loads, but also ensures your HTML is up to date.
Sorry, I know that's probably a much longer answer than you were looking for, but Mattress is primary designed for making offline consumption easier, and this speedier while online loading approach is something that is a bit harder to offer for users. Something for us to work on though!
For your second question: you don't need to supply a WebView. Every time you call diskCacheURL, a webView gets created by Mattress and is used to do the loading behind the scenes. In the News app our calls to diskCacheURL are in an NSOperation subclass that knows nothing about UIWebViews. :)

And I realized I didn't really answer one of your questions:
You do not have to wait for one of your offline calls to complete before doing another. Behind the scenes Mattress will create a new webView for each of them (so be careful not to create too many!). In our News app we have a queue system built that ensure we only ever run 4 of these at once. That's kind of an arbitrary number we came up with that seemed fair, but we're only running it during the backgroundFetch process.

Hi David - thank you very much for your detailed answer! This really helped me a lot. I now ended up with this class:
class WebViewCache {

    static func cachePage(urlAsString: String){

        let url  = NSURL(string: urlAsString)
        if let url = url{
            cachePage(url, cachingAttempt: 1)
        }
    }

    static func cachePage(url: NSURL, cachingAttempt: Int) {
        log.info("Caching page \(url.absoluteString)")
        if let cache = NSURLCache.sharedURLCache() as? Mattress.URLCache
        {
            cache.diskCacheURL(url, loadedHandler: { (webView) -> (Bool) in
                    let state = webView.stringByEvaluatingJavaScriptFromString("document.readyState")
                    return state == "complete"
                }, completeHandler: { () -> Void in
                    log.info("Finished caching \(url.absoluteString)")
                }, failureHandler: { (error) -> Void in
                    log.error("Error caching: \(error.localizedDescription)")
                    if cachingAttempt < 3 {
                        log.warning("Retrying caching...")
                        self.cachePage(url, cachingAttempt: cachingAttempt+1)
                    }
            })
        }
    }

    static func setupCaching(){

        let kB = 1024
        let MB = 1024 * kB
        let GB = 1024 * MB

        let isOfflineHandler: (() -> Bool) = {
            let isOffline = !ReachabilityHelper.sharedInstance.isOnline
            return isOffline
        }

        let urlCache = Mattress.URLCache(memoryCapacity: 20 * MB, diskCapacity: 20 * MB, diskPath: nil,
            mattressDiskCapacity: 1 * GB, mattressDiskPath: nil, mattressSearchPathDirectory: .DocumentDirectory,
            isOfflineHandler: isOfflineHandler)

        NSURLCache.setSharedURLCache(urlCache)

        Mattress.shouldRetrieveFromMattressCacheByDefault = true

    }
}

My use case is a conference app where the wifi sometimes is really bad. You are logged into but your request fail because your session has ended and you first have to make the web portal happy. Then there are hundreds of users and the wifi collapses.
My idea ist that after the app is started for the first time I cache alle web pages in my app (defined content from the cms). I think this is now covered with the code above. By the way: When you check the online-state: Do you try to check the reachability of a certain resource?
Another idea I have is to deploy a basic cache with the app-store build, so the users never get no data if they are offline. Do you also have some input for me here?

A suggestion for your failure handler: Consider not failing if the loaded handler has already been called, because in that case, it could just be that a non-critical resource failed to download.
I believe we test our reachability against buzzfeed.com; If your'e just looking for a domain to use, perhaps google.com would be good.
On your third point, are you talking about bundling in the web content with your app so users would get it even if they have never been online with the app? We don't support that, and it might be a bit out of scope, but feel free to make a feature request in a separate issue! :)

So you mean the better approach would be this?
    static func cachePage(url: NSURL, cachingAttempt: Int) {
        log.info("Caching page \(url.absoluteString)")
        if let cache = NSURLCache.sharedURLCache() as? Mattress.URLCache
        {
            var completed = false

            cache.diskCacheURL(url, loadedHandler: { (webView) -> (Bool) in

                let state = webView.stringByEvaluatingJavaScriptFromString("document.readyState")
                completed = (state == "complete")

                return completed

                }, completeHandler: { () -> Void in
                    log.info("Finished caching \(url.absoluteString)")
                }, failureHandler: { (error) -> Void in
                    log.error("Error caching: \(error.localizedDescription)")
                    if (cachingAttempt < 3 && completed == false)  {
                        log.warning("Retrying caching...")
                        self.cachePage(url, cachingAttempt: cachingAttempt+1)
                    }
            })
        }
    }

Something more like this in your completion block might be the way to go:
                let state = webView.stringByEvaluatingJavaScriptFromString("document.readyState")
                completed = true
                return state == "complete"

It all depends on how vigilant or lenient you want to be about request failures though. This is a little more lenient, so you won't be trying over and over which could be a big battery drain.

thanks for your input!


Can users roles be set on account creation?

Is it possible to automatically set user roles on account creation or email confirmation.

Closing due to inactivity


Blocks position don't work anymore in 1.4.3

Q
A

Bug?
yes

New Feature?
no

1.4.3

Actual Behavior
Blocks are not movable anymore, the button "move" disapear
There is an error message from aura in the js console :
"UserSettings are not loaded"
Expected Behavior
Blocks should be movable
Steps to Reproduce
Install a sulu minimal version
Possible Solutions
Downgrade to 1.4.2 resolve the problem

@danrot maybe todo with the changes in https://github.com/sulu/sulu/pull/3108

Fixed in sulu/sulu#3130


User does not have bigquery.jobs.create permission in project

When I follow your tutorial to register for BigQuery with exactly the same steps, but when I run the sample code at the end, that is:
sql_query = 'SELECT name FROM bigquery-public-data.usa_names.usa_1910_2013 WHERE state = "TX" LIMIT 10' query_job = client.query(sql_query, timeout=10)  print(3) rows = query_job.result()   for row in rows:     print(row.name)
It still throws an error saying that I don’t have permission. I’m not sure where the issue lies. Of course, maybe it’s because I’m a beginner and can’t resolve the problem myself. I would greatly appreciate it if I could get a response from the author!
`
google.api_core.exceptions.Forbidden: 403 POST https://bigquery.googleapis.com/bigquery/v2/projects/astute-psyche-444303-m5/jobs?prettyPrint=false: Access Denied: Project astute-psyche-444303-m5: User does not have bigquery.jobs.create permission in project astute-psyche-444303-m5.
Location: None
Job ID: 12f4036d-0c65-4960-b2b8-6f91ac8fd5e3
`

当我接近绝望之时，我终于看到了一个网址上讲了一些有用的东西 >_< ：https://developers.google.com/identity/sign-in/web/sign-in?hl=zh-cn

Hi,
Did you select the role 'owner'? I didn’t encounter this issue.

Thank you so much for your response! Since I am in mainland China, I rarely use Google accounts. The fundamental issue lies in the lack of OAuth 2.0 credentials, making it impossible to authenticate the application with Google servers. Most of the solutions available online align with your perspective, assuming it's a permission issue (but I am the owner of the project >_<). Anyway, the problem has been resolved, and I can now enjoy working on text2sql. Once again, thank you!


Rename "brew update" to "brew self-update" perhaps?

I may be in a minority here, but is there any possibility of renaming brew update to brew self-update?
I get it mixed up with brew upgrade all the time, and when it comes to a package like Node, can be a pain when working with others where the slightest change in node version can have weird and wild hard to trace effects.
Or alternatively, could brew upgrade do nothing without args, and have an --all flag to upgrade all pacakges?

Sorry, brew update has been around for years and we surely won't rename it and break everything. Use an alias like brewu for brew update to prevent mistyping.

Or alternatively, could brew upgrade do nothing without args, and have an --all flag to upgrade all pacakges?

That one's been tried, people got angry, and the decision was reversed. So no.

By the way,

where the slightest change in node version can have weird and wild hard to trace effects.

brew pin node, or use something like nvm instead.


Crash

P_H6tZDEBzZsR2oaxFFQn.xccrashpoint.zip

This one looks to be different BAExrjYqL9nOLQdVlItnJp.xccrashpoint.zip

Could you give me the text which you would like to encode?
Thanks

One happened as I was tying "Hello". The other I don't know since it wasn't my device. I do not have reproducible steps.

I have the same problem many times, is it possible to fix it. Thanks a lot

@LeaderBoy could you tell me which encoding and prompt are you using? Thanks

Hello @twodayslate @LeaderBoy , are you trying to encode with gpt3? If so, try the gpt2 value instead gpt3 is the same encoder. I will fix it on next release.

Was using gpt-4 I believe when I got the crash.

@LeaderBoy could you tell me which encoding and prompt are you using? Thanks

Hello @twodayslate @LeaderBoy , are you trying to encode with gpt3? If so, try the gpt2 value instead gpt3 is the same encoder. I will fix it on next release.

I'm using gpt-4,I don't know which prompts are causing this, these crashes are what I collected from users.


Disable voice search on dialog confirm

Task/Issue URL:
Description
Steps to test this PR
Feature 1

[ ]
[ ]

UI changes

Before
After

!(Upload before screenshot)
(Upload after screenshot)

Current dependencies on/for this PR:

develop

PR #3477

PR #3489

PR #3516
PR #3491
PR #3490

PR #3528

PR #3541

PR #3550   👈

This comment was auto-generated by Graphite.


Importing a file from a web worker that imports said web worker causes Vite to build forever

Describe the bug
I have my project set up where I have an index file that exports everything in the folder. This is so I can solve a circular dependency.
When I created a web worker, I had it import from the index file. One of these files in the index directly imported the web worker using ?worker. This worked fine in development. When I went to build, however, Vite seemed to get stuck in an infinite loop and only stopped when it ran out of memory.
Reproduction
~~https://github.com/hf02/vite-infinite-build~~ Much simpler reproduction, thanks to @zxch3n: https://stackblitz.com/edit/vitejs-vite-u59lcw?file=worker.js
System Info
System:
    OS: Windows 10 10.0.22000
    CPU: (16) x64 AMD Ryzen 7 3700X 8-Core Processor
    Memory: 9.38 GB / 15.95 GB
  Binaries:
    Node: 16.14.0 - ~\AppData\Local\nvs\default\node.EXE
    npm: 8.3.1 - ~\AppData\Local\nvs\default\npm.CMD
  Browsers:
    Edge: Spartan (44.22000.120.0), Chromium (98.0.1108.56)
    Internet Explorer: 11.0.22000.120

Used Package Manager
pnpm
Logs
PS C:\Users\user\Desktop\vite-project> # i replaced my windows username with a generic "user"
PS C:\Users\user\Desktop\vite-project> pnpx vite build --debug
  vite:config no config file found. +0ms
  vite:config using resolved config: {
  vite:config   root: 'C:/Users/user/Desktop/vite-project',
  vite:config   base: '/',
  vite:config   mode: 'production',
  vite:config   configFile: undefined,
  vite:config   logLevel: undefined,
  vite:config   clearScreen: undefined,
  vite:config   build: {
  vite:config     target: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
  vite:config     polyfillModulePreload: true,
  vite:config     outDir: 'dist',
  vite:config     assetsDir: 'assets',
  vite:config     assetsInlineLimit: 4096,
  vite:config     cssCodeSplit: true,
  vite:config     cssTarget: [ 'es2019', 'edge88', 'firefox78', 'chrome87', 'safari13.1' ],
  vite:config     sourcemap: false,
  vite:config     rollupOptions: {},
  vite:config     minify: 'esbuild',
  vite:config     terserOptions: {},
  vite:config     write: true,
  vite:config     emptyOutDir: null,
  vite:config     manifest: false,
  vite:config     lib: false,
  vite:config     ssr: false,
  vite:config     ssrManifest: false,
  vite:config     reportCompressedSize: true,
  vite:config     chunkSizeWarningLimit: 500,
  vite:config     watch: null,
  vite:config     commonjsOptions: { include: [Array], extensions: [Array] },
  vite:config     dynamicImportVarsOptions: { warnOnError: true, exclude: [Array] }
  vite:config   },
  vite:config   configFileDependencies: [],
  vite:config   inlineConfig: {
  vite:config     root: undefined,
  vite:config     base: undefined,
  vite:config     mode: undefined,
  vite:config     configFile: undefined,
  vite:config     logLevel: undefined,
  vite:config     clearScreen: undefined,
  vite:config     build: {}
  vite:config   },
  vite:config   resolve: { dedupe: undefined, alias: [ [Object], [Object] ] },
  vite:config   publicDir: 'C:\\Users\\user\\Desktop\\vite-project\\public',
  vite:config   cacheDir: 'C:\\Users\\user\\Desktop\\vite-project\\node_modules\\.vite',
  vite:config   command: 'build',
  vite:config   isProduction: true,
  vite:config   plugins: [
  vite:config     'alias',
  vite:config     'vite:modulepreload-polyfill',
  vite:config     'vite:resolve',
  vite:config     'vite:html-inline-proxy',
  vite:config     'vite:css',
  vite:config     'vite:esbuild',
  vite:config     'vite:json',
  vite:config     'vite:wasm',
  vite:config     'vite:worker',
  vite:config     'vite:worker-import-meta-url',
  vite:config     'vite:asset',
  vite:config     'vite:define',
  vite:config     'vite:css-post',
  vite:config     'vite:watch-package-data',
  vite:config     'vite:build-html',
  vite:config     'commonjs',
  vite:config     'vite:data-uri',
  vite:config     'rollup-plugin-dynamic-import-variables',
  vite:config     'vite:asset-import-meta-url',
  vite:config     'vite:build-import-analysis',
  vite:config     'vite:esbuild-transpile',
  vite:config     'vite:terser',
  vite:config     'vite:reporter',
  vite:config     'vite:load-fallback'
  vite:config   ],
  vite:config   server: {
  vite:config     preTransformRequests: true,
  vite:config     fs: { strict: true, allow: [Array], deny: [Array] }
  vite:config   },
  vite:config   preview: {
  vite:config     port: undefined,
  vite:config     strictPort: undefined,
  vite:config     host: undefined,
  vite:config     https: undefined,
  vite:config     open: undefined,
  vite:config     proxy: undefined,
  vite:config     cors: undefined,
  vite:config     headers: undefined
  vite:config   },
  vite:config   env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
  vite:config   assetsInclude: [Function: assetsInclude],
  vite:config   logger: {
  vite:config     hasWarned: false,
  vite:config     info: [Function: info],
  vite:config     warn: [Function: warn],
  vite:config     warnOnce: [Function: warnOnce],
  vite:config     error: [Function: error],
  vite:config     clearScreen: [Function: clearScreen],
  vite:config     hasErrorLogged: [Function: hasErrorLogged]
  vite:config   },
  vite:config   packageCache: Map(0) { set: [Function (anonymous)] },
  vite:config   createResolver: [Function: createResolver],
  vite:config   optimizeDeps: {
  vite:config     esbuildOptions: { keepNames: undefined, preserveSymlinks: undefined }
  vite:config   },
  vite:config   worker: {
  vite:config     format: 'iife',
  vite:config     plugins: [
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object],
  vite:config       [Object], [Object], [Object]
  vite:config     ],
  vite:config     rollupOptions: {}
  vite:config   }
  vite:config } +5ms
vite v2.8.4 building for production...
transforming (85241) src\lib\worker\theWorker.ts
<--- Last few GCs --->

[1580:000002AACF9E4580]   152266 ms: Mark-sweep 3980.6 (4139.2) -> 3968.6 (4141.2) MB, 1286.2 / 0.0 ms  (average mu = 0.131, current mu = 0.080) task scavenge might not succeed
[1580:000002AACF9E4580]   153712 ms: Mark-sweep 3982.3 (4141.4) -> 3970.8 (4143.4) MB, 1333.3 / 0.0 ms  (average mu = 0.105, current mu = 0.078) task scavenge might not succeed

<--- JS stacktrace --->

FATAL ERROR: Ineffective mark-compacts near heap limit Allocation failed - JavaScript heap out of memory
 1: 00007FF63F237B7F v8::internal::CodeObjectRegistry::~CodeObjectRegistry+114079
 2: 00007FF63F1C4546 DSA_meth_get_flags+65542
 3: 00007FF63F1C53FD node::OnFatalError+301
 4: 00007FF63FAFB29E v8::Isolate::ReportExternalAllocationLimitReached+94
 5: 00007FF63FAE587D v8::SharedArrayBuffer::Externalize+781
 6: 00007FF63F988C4C v8::internal::Heap::EphemeronKeyWriteBarrierFromCode+1468
 7: 00007FF63F9958F9 v8::internal::Heap::PublishPendingAllocations+1129
 8: 00007FF63F9928CA v8::internal::Heap::PageFlagsAreConsistent+2842
 9: 00007FF63F985529 v8::internal::Heap::CollectGarbage+2137
10: 00007FF63F935A95 v8::internal::IndexGenerator::~IndexGenerator+22165
11: 00007FF63F15607F std::basic_ostream<char,std::char_traits<char> >::operator<<+80079
12: 00007FF63F154896 std::basic_ostream<char,std::char_traits<char> >::operator<<+73958
13: 00007FF63F29708B uv_async_send+331
14: 00007FF63F29681C uv_loop_init+1292
15: 00007FF63F2969BA uv_run+202
16: 00007FF63F265825 node::SpinEventLoop+309
17: 00007FF63F17CE83 v8::internal::Isolate::stack_guard+53827
18: 00007FF63F1FA40C node::Start+220
19: 00007FF63F01894C RC4_options+348236
20: 00007FF64007FE68 v8::internal::compiler::RepresentationChanger::Uint32OverflowOperatorFor+14472
21: 00007FF9B1D354E0 BaseThreadInitThunk+16
22: 00007FF9B360485B RtlUserThreadStart+43
PS C:\Users\user\Desktop\vite-project>

Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to https://github.com/vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[x] The provided reproduction is a minimal reproducible example of the bug.

i have nearly the same problem and wondering if anyone has a workaround in mind...

I found a partial workaround to at least prevent the infinite loop and get a build output:
in vite.config.ts :
build: {
    commonjsOptions: {
      dynamicRequireTargets: [
        'src/MyWebWorker.ts',
      ],
    },
},
...

this avoids the loop during the transforming step, but does not transpile the webworker. rather it creates a single line file with
require("/Absolute/Pathto/MyWebWorker.ts");

I have a simplified reproduction of this infinite build https://stackblitz.com/edit/vitejs-vite-oqqjnr?file=worker.js,main.js,package.json&terminal=dev

I have a simplified reproduction of this infinite build https://stackblitz.com/edit/vitejs-vite-oqqjnr?file=worker.js,main.js,package.json&terminal=dev

Thanks for the much simpler reproduction. However, this may be a different bug? Instead of Vite showing transforming (1) worker.js and counting, it gets stuck on it.
I forked your project. using import() in worker.js instead. This fully reproduces the bug: https://stackblitz.com/edit/vitejs-vite-u59lcw?file=worker.js

Any update?

I also ran into this while trying to create a single file typed web worker. https://stackblitz.com/edit/vitejs-vite-9zt7v2?file=src/worker.ts
It works in dev but goes into a infinite loop during build.
What I was trying to do is build something like https://nodejs.org/api/worker_threads.html, where the script for both the client and the worker can be in the same file.
This is desirable in TypeScript in order align the type of data passed into the worker from the client.

I am running into the same issue. This is particularly in a Vue project and my initial solve was to use inversion of control by having the module which was originally calling new Worker (let's call it useWorker.ts) have a configurable member that creates the worker. Basically, useWorker.ts exports a function called setWorkerDefinition which looks something like:
let ModuleWorkerDefinition;

export function setWorkerDefinition(workerDefinition: () => Worker) {
    ModuleWorkerDefinition = workerDefinition;
}

So that when something needs to create a worker it calls a method, call it useWorker, that can use ModuleWorkerDefinition. Something like:
export function useWorker() {
   return ModuleWorkerDefinition();
}

And lastly the new Worker call is abstracted out into a separate module, call it defineWorker.ts:
// some import that causes your circular dependency issue because it in turn somewhere imports `useWorker.ts`
import { setWorkerDefinition } from '@/useWorker';

setWorkerDefinition(() => {
    return new Worker(/* worker stuff here  */);
})

This means that useWorker.ts doesn't have to import the definite of a worker (which, in my case, imports some other things that were causing the circular dependency since some of those things ultimately imported useWorker.ts). So then the last step was to get something to import defineWorker.ts so that it would register itself.
In Vue this was pretty easy. In the main.ts for the app I just added a import<EMAIL_ADDRESS>which took care of everything (since nothing imports main.ts in my app and it will definitely always be called). The trouble is now I have a need to nest workers and I think that the only solution I can come to is to have two different "worker entry files" so that they shouldn't end up importing each other, but that still feels super brittle to me. Is there actually any hope of a real solution to this? Because at the end of the day it works fine in dev mode add just fails when it is being bundled, which tells me that there isn't actually a  circular dependency to be concerned about.

In talking through this with one of my teammates I think it makes sense why this is happening. Can someone confirm that this is how the bundler is working and that this logic makes sense? It seems to us that this is about the way that the bundler should be working:

Start compiling the entry file
Trace dependencies and build and start building an AST of the dependency network for the entry file
When a worker import is encountered, start a sub-process at step 1 for that file
Continue through the process from the "main entry file" until you are done.
Either in a separate thread or after the "main entry file" is done, finish tracing dependencies and bundling for the worker file.

I understand that there is a lot more to the process here, but as a whiteboard explanation of the process, I think that this is pretty close to what it seems to be doing? If that is the case, then assuming that there is some process/memory isolation in step 3 it would make sense that the circular loop would case the cycle to repeat over and over until you run out of memory. However, it seems like a reasonable solution to essentially create a dictionary where the keys are the import paths and the values are the files that will ultimately be created so that you can effectively reuse the output of the sub-process spawned in step 3 at any import, even if that import is inside of the worker itself, right? Because in the end this is going to show up in the bundled, transpiled, minified code as new Worker('/some-worker.8675309.js'), right?
Is this something that it would even be possible to write a Vite/Rollup plugin for, or is this just too core to the way that those tools work?

I had the same issue, and have found a workaround after attempting for several days. Hope this can help someone.
The key idea is forcing the vite bypassing  new Worker/SharedWorker(...)
let scriptForWorker = "/path/to/myWorker.js"
const worker = new Worker(scriptForWorker, { type: 'module' })

The scriptForWorker is a true variable, so the vite have no idea about how to process it, and will just keep it as a simple string. And then, let rollup build the myWorker.js for us.

modify vite.config, let rollup build 'myWorker.js'
modify vite.config, let vite generate manifest.json

import { defineConfig } from 'vite';
export default defineConfig({
    build: {
        rollupOptions: {
            input: {
                main: "index.html",
                worker: "path/to/worker"
            }
        },
        manifest: true
    }
});

modify the source code  about new Worker(...)

let scriptForWorker = "path/to/worker.ts";
if(!import.meta.env.DEV){
    // in production, we get the js from manifest.json
    // in `npm run dev` mode, using orignal path directly
    const response = await fetch("/manifest.json");
    if(response.ok){
        const manifest = await response.json();
        scriptForWorker = manifest[scriptForWorker].file;
    }
    else{
        return Promise.reject(response.statusText);
    }
}

// create the Worker
const worker = new Worker(scriptForWorker, { type:'module' });
// or the SharedWorker
const sharedWorker = new SharedWorker(scriptForWorker, { type:'module' });

building

npm run build
# or
npm run dev

We had the exact same case (worker -> importing file -> importing same worker). However, instead of hanging, we got:
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:
...

we also get this hang. any update?
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:

From the error logs, it seems that this happens from trying to bundle workers as CommonJS?
Would the error go away if worker constructor files were instead just treated as entry points for ESM bundling?
That's basically how Vite works in dev, and how I used to assume Vite built code as well.

I believe for a while the problem was masked by the nested workers regression (https://github.com/vitejs/vite/issues/13367). You can see this in other developer outputs above. The error would look like:
Unexpected early exit. This happens when Promises returned by plugins cannot resolve. Unfinished hook action(s) on exit:

This was fixed in #14685 and released in v5.0.0-beta.11.
After the next major release I think there will be an uptick in people reporting this issue as circular imports is a very common pattern when working with workers (pun unintended).

This issue is still present in v5.0.0-beta.11. As mentioned in https://github.com/vitejs/vite/issues/14499#issuecomment-1740267849, it can be circumvented by doing:

Details
import { defineConfig } from 'vite';

// https://github.com/vitejs/vite/blob/ec7ee22cf15bed05a6c55693ecbac27cfd615118/packages/vite/src/node/plugins/workerImportMetaUrl.ts#L127-L128
const workerImportMetaUrlRE =
    /\bnew\s+(?:Worker|SharedWorker)\s*\(\s*(new\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*\))/g

// https://vitejs.dev/config/
export default defineConfig({
    build: {
        target: 'esnext',
    },
    server: {
        host: 'localhost',
        headers: {
            'Cross-Origin-Embedder-Policy': 'require-corp',
            'Cross-Origin-Opener-Policy': 'same-origin',
            'Cross-Origin-Resource-Policy': 'cross-origin'
        }
    },
    optimizeDeps: {
        esbuildOptions: {
            target: 'esnext'
        }
    },
    worker: {
        format: 'es',
        // https://github.com/vitejs/vite/issues/7015
        // https://github.com/vitejs/vite/issues/14499#issuecomment-1740267849
        plugins: () => [
            {
                name: 'Disable nested workers',
                enforce: 'pre',
                transform(code: string, id: string) {
                    if (code.includes('new Worker') && code.includes('new URL') && code.includes('import.meta.url')) {
                        return code.replace(workerImportMetaUrlRE, `((() => { throw new Error('Nested workers are disabled') })()`);
                    }
                }
            }
        ]
    }
});

Note that for Emscripten-generated code this would mean that you cannot override the locateFile handler on the incoming module, as that would throw the Nested workers are disabled-error.

I'd like to second @lgarron's idea for not separately bundling module workers. Seems like it would simplify many things. No need to worry about nested workers, parallelized builds, circular-ish dependencies and separate worker plugins. Plus reduced code duplication as modules can be shared between main entry points and module workers.
Are there any obvious or hidden pitfalls that would make this unappealing? @patak-dev @sapphi-red
Some smaller ones that I can think of are:

Vite users might be heavily relying on plugins to augment code differently between workers and their main code
Vite would still need to keep current worker tooling for legacy support of non-module workers

for me it worked for opencv.js wasm workers with the config from https://github.com/vitejs/vite/issues/7015#issuecomment-1802213572 , thanks a lot!

Fixing this may solve https://github.com/nuxt/nuxt/issues/22966

I'm having a similar problem.  Simple web workers are fine, but any code that imports classes & instantiates a new object inside a web worker always fails.

While I appreciate a partial fix in https://github.com/vitejs/vite/pull/16103 , I'd like to note that that it does far from solving the issue in general.
Trying to run npx vite build using a build of eef9da13d0028161eacc0ea699988814f29a56e4 on my repro from https://github.com/vitejs/vite/issues/14499 still fails the same way.
https://github.com/vitejs/vite/pull/16103 states that:

But I think it's fine because doing that is not popular and will make the code complex.

I appreciate that it might not be possible to fix the current situation super easily, but it's not a matter of popular conventions. Some of us don't have a choice about the recursive dynamic imports in our code, unless we want our code to fail in other bundlers.
Would it be possible to reopen one of these issues to keep track of the general problem?

https://github.com/vitejs/vite/issues/7015 (this issue)
https://github.com/vitejs/vite/issues/14499
https://github.com/vitejs/vite/issues/15426

Thanks,
»Lucas

@lgarron

I'd like to note that that it does far from solving the issue in general.

I do think it solves most cases. I actually tested with all the repros I found and all of them worked (without throwing errors on build) as I stated in the PR. Your repro does not match the "complex case" condition.
By using the main branch (eef9da13d0028161eacc0ea699988814f29a56e4) Vite and setting worker.format: 'es', the build of your repro (#14499) succeeds and the preview is working.
vite v5.1.5 building for production...
✓ 41 modules transformed.
dist/index.html                                                           0.45 kB │ gzip:   0.30 kB
dist/assets/chunk-KDMCYBSC-DJfxFAvj.js                                    1.56 kB
dist/assets/twsearch-SLVE4NQH-CeABCLXd.js                                 2.04 kB
dist/assets/search-worker-entry-Biyfh-f5.js                               4.81 kB
dist/assets/search-dynamic-solve-sq1-INOYNRSJ-t49RGMrR.js                 7.77 kB
dist/assets/search-dynamic-solve-kilominx-WREDL6AE-Ba_NcXDp.js            8.05 kB
dist/assets/search-dynamic-solve-master_tetraminx-3D4MBF3V-DMwauRA8.js    8.12 kB
dist/assets/search-dynamic-solve-fto-EY5ZVAGO-CWb6KctK.js                17.80 kB
dist/assets/search-dynamic-sgs-unofficial-KTHSSINP-BR48LPsc.js           27.61 kB
dist/assets/search-dynamic-solve-4x4x4-JQRNWKAG-BAd9vsD8.js              27.73 kB
dist/assets/search-dynamic-sgs-side-events-KBQTGXZR-DA9PpCP1.js          31.42 kB
dist/assets/index-XmOFflW_.js                                            70.31 kB
dist/assets/inside-5CIAPTLP-DjKnNCQK.js                                  76.18 kB
dist/assets/index-LDxwnHR4.css                                            1.24 kB │ gzip:   0.65 kB
dist/assets/inside-5CIAPTLP-BymCh4jE.js                                   0.10 kB │ gzip:   0.10 kB
dist/assets/search-worker-entry-BPdL309Z.js                               0.96 kB │ gzip:   0.55 kB
dist/assets/chunk-KDMCYBSC-DrFRfSNi.js                                    1.55 kB │ gzip:   0.71 kB
dist/assets/twsearch-SLVE4NQH-8_jTapat.js                                 2.21 kB │ gzip:   0.98 kB
dist/assets/search-dynamic-solve-sq1-INOYNRSJ-9KflgMA7.js                 7.72 kB │ gzip:   3.18 kB
dist/assets/search-dynamic-solve-kilominx-WREDL6AE-BWEa1P9Z.js            7.99 kB │ gzip:   3.28 kB
dist/assets/search-dynamic-solve-4x4x4-JQRNWKAG-BB_OirYQ.js              27.68 kB │ gzip:   9.62 kB
dist/assets/puzzles-dynamic-unofficial-WXH65MSQ-BfUzpykK.js              30.61 kB │ gzip:   3.85 kB
dist/assets/search-dynamic-sgs-side-events-KBQTGXZR-WehrTIpp.js          31.70 kB │ gzip:   6.59 kB
dist/assets/index-CvE7NQzx.js                                            70.25 kB │ gzip:  22.53 kB
dist/assets/index-BepD_N6A.js                                            90.43 kB │ gzip:  26.89 kB
dist/assets/puzzles-dynamic-side-events-EEMN2PI4-B1nZhrxY.js            118.69 kB │ gzip:  13.14 kB
dist/assets/twsearch-BDAXZGZU-Q2YC2EQ6-CCxkWTHd.js                      418.70 kB │ gzip: 166.31 kB
✓ built in 2.30s

If it doesn't work on your computer, there's probably something wrong with your self-built Vite. If not, maybe there's a bug that doesn't happen on my computer?

By using the main branch (eef9da1) Vite and setting worker.format: 'es', the build of your repro (#14499) succeeds and the preview is working.

That's reassuring to hear!
I tried it again, and I still can't get it to work — do you have more details on how to test?
This is what I'm doing:
# In a vite checkout:
pnpm i
pnpm run build
cd packages/vite
npm link

# In a project:
npm link vite

Regardless of what I try to put in vite.config.js, I now get:
> npx vite build src
vite v5.1.5 building for production...
✓ 33 modules transformed.
x Build failed in 622ms
error during build:
RollupError: [commonjs--resolver] Invalid value "iife" for option "output.format" - UMD and IIFE output formats are not supported for code-splitting builds.
file: /Users/lgarron/Downloads/fjlsdfjdsf/node_modules/cubing/dist/lib/cubing/chunks/chunk-44CBFEXI.js
    at error (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/parseAst.js:337:30)
    at validateOptionsForMultiChunkOutput (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:16926:16)
    at Bundle.generate (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:16819:17)
    at file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:19376:27
    at catchUnfinishedHookActions (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:18809:16)
    at bundleWorkerEntry (file:///Users/lgarron/Code/git/github.com/vitejs/vite/packages/vite/dist/node/chunks/dep-bykU6hf7.js:49118:61)
    at workerFileToUrl (file:///Users/lgarron/Code/git/github.com/vitejs/vite/packages/vite/dist/node/chunks/dep-bykU6hf7.js:49172:29)
    at Object.transform (file:///Users/lgarron/Code/git/github.com/vitejs/vite/packages/vite/dist/node/chunks/dep-bykU6hf7.js:49641:40)
    at transform (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:17368:16)
    at ModuleLoader.addModuleSource (file:///Users/lgarron/Code/git/github.com/vitejs/vite/node_modules/.pnpm/rollup@4.2.0/node_modules/rollup/dist/es/shared/node-entry.js:17580:36)

Aha! I forgot that the vite.config.js file needs to be in the src folder, not the project root! It works with:
export default {
  worker: {
    format: "es"
  }
}

🤩🤩🤩
This is fantastic to see, but unfortunately it does mean people using our library will still get a confusing error out of the box.
Given that ESM is the default output for the main bundles, would it be possible to default the workers to ESM as well? I would find that much more intuitive, and it could allow significant code deduplication for some use cases.

would it be possible to default the workers to ESM as well?

We won't be able to do that for now. ESM workers are not supported by browsers we specify as the default value of build.target.

would it be possible to default the workers to ESM as well?

We won't be able to do that for now. ESM workers are not supported by browsers we specify as the default value of build.target.

what about typescript?


Does this module capture crashes?

i did wonder the same. in the blog post introducing this new module it mentions crash reporting but i cannot find anything about crash reporting features in the docs..

@yabinliu Yes. The native components of the library depends on/vendor the crash handling logic from bugsnag-android and bugsnag-cocoa. Crashes are reported automatically and include the stacktraces and other runtime information.
@tijs There’s a brief snippet in the docs to indicate unhandled errors are reported automatically, but I’ll update it to make it clearer that this includes crashes.

@kattrali great, some extra explanation will go a long way probably :)


Update MAINTAINERS.md

Checklist

[ ] I ran npm test locally and it passed without errors.

[ ] I only edited the _data/pixels.json file.

[ ] I entered the username in the pixels.json that I'm also using to create this pull request.
[x] I acknowledge that all my contributions will be made under the project's license.

Hi @sakshamtaneja21. We recently updated our contributing guidelines (https://github.com/twilio-labs/open-pixel-art/blob/master/CONTRIBUTING.md#documentation-contribution-guidelines ) and this PR is not in line with those guidelines. Thank you for your contribution!

ok

how can I get an invite of your GitHub organization as a member


Can't deploy graviton dashboard

When deploying the graviton dashboard via command line, this is what I'm seeing:
[cloudshell-user@ip-redacted ~]$ cid-cmd deploy
CLOUD INTELLIGENCE DASHBOARDS (CID) CLI 0.3.8 Beta

Loading plugins...
        Core loaded

Checking AWS environment...
        profile name: default
        accountId: accountidnumbers
        AWS userId<EMAIL_ADDRESS>        Region: us-east-1

Discovering AWS News F:   0%|                                                                                | 0/9 [00:00<?, ?it/s]
? [dashboard-id] Please select a dashboard to deploy:   [graviton-opportunities] Graviton Opportunities Dashboard

Required datasets:
 - graviton_elasticache_view
 - graviton_opensearch_view
 - graviton_ec2_view
 - graviton_rds_view

Looking by DataSetId defined in template...complete

There are still 4 datasets missing: graviton_ec2_view, graviton_elasticache_view, graviton_opensearch_view, graviton_rds_view
Creating dataset: graviton_ec2_view
{'account_id': 'accountidnumbers'}

? [data-collection-database-name] Required parameter: data_collection_database_name (Enter the name of the data collection database): optimization_data

? [athena-workgroup] Select Amazon Athena workgroup to use: CID

? [quicksight-datasource-id] Please choose DataSource (Select the first one if not sure): CID-CMD-Athena CID-CMD-Athena (workgroup=CID)

? [athena-database] Select AWS Athena database to use: customer_cur_data
Detected views: account_map, modernization_mapping
Missing views: graviton_ec2_view
Checking if CUR is enabled and available...

? [cur-table-name] Please select CUR: cur
        Athena table: cur
        Resource IDs: yes
        SavingsPlans: yes
        Reserved Instances: yes

CRITICAL - Athena query failed: line 13:6: Column 'product_location' cannot be resolved

Hi Jacob [@JacobWeyer], thank you for reaching out. Can you please confirm you installed the data collection lab?  See link for instructions for deployment.

@awsrmc yes I did install it

Jacob @JacobWeyer , thank you for you response. In order to further assist, could you please send an email to<EMAIL_ADDRESS>and include you Account team as well as your Technical Account Manager (TAM).  Thank you.

Hello, I am running into the same issue.
Is there a publicly known resolution to this issue?

This must have been fixed with this PR https://github.com/aws-samples/aws-cudos-framework-deployment/pull/1033 Thanks to @gurajani-aws


Cannot declare class Security on Quick Demo v3

Going through the v3 demo from the wiki.
When running migrations php database/migrate.php, I get the error:
| => php database/migrate.php

Fatal error: Cannot declare class Security, because the name is already in use in /Users/user/Downloads/munkireport-php-wip/app/modules/security/migrations/2018_01_19_234938_security.php on line 32

Versions
Composer version 1.6.3
MunkiReport Version <IP_ADDRESS>71
macOS 10.13.3

Fixed in latest wip


Can you update the tutorial to the latest versions of ESP-IDF and micropython?

When I tried to compile according to the tutorial, the compiler prompted that STATIC was unknown. After trying to change it to lowercase, although there were warnings, it was able to be edited, but ultimately the firmware still couldn't be used (camera module).
My ESP is ESP32-S3-WROOM-1+OV2640 (originally 5640, bought 2640 again)

Hi! Lemariva! You made a important work, thank you!
I have compiled a new firmwareversion with esp-idf 5.2.2 and the actual Micropython version 1.24. You can do it as it is explained in readme.md.
But you have to make small changes to modcamera.c

change all STATIC to static
change line about 180
//static mp_obj_t camera_init(mp_uint_t n_pos_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {
static mp_obj_t camera_init(size_t n_pos_args, const mp_obj_t *pos_args, mp_map_t *kw_args) {

now you can compile a new firmware as explained in readme.ms.regards
Regards Hans

Take the new API: https://github.com/cnadler86/micropython-camera-API. Usage is a little bit different, but you have more settings.
This supports the new mp version. I will publish in short precompiled FW versions vir the esp generic boards.


Don't describe ASG instances when there are none

When a new AutoScaling Group is created (or when a stack is deleted),
for a short period of time it doesn't have any instances.  Then the
agent tries to call describe_instances w/o the list of instance ids,
which returns the list of all account instances.
Fix this by not describing instances, then the ASG's list is empty.

Current coverage is 75.27% (diff: 100%)

Merging #62 into master will increase coverage by 0.05%

@@             master        #62   diff @@
==========================================
  Files             5          5
  Lines           456        457     +1
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
+ Hits            343        344     +1
  Misses          113        113
  Partials          0          0

Powered by Codecov. Last update 9ab683c...fc59e75

:+1:

:+1:


Fix for Cannot move old log file "/tmp/Xorg.crouton.1.log" to "/tmp/Xorg.crouton.1.log.old"

name: xenial
encrypted: no
Entering /mnt/stateful_partition/crouton/chroots/xenial...
crouton: version 1-20170619181610~master:980f090f
release: xenial
architecture: amd64
xmethod: xorg
targets: xorg,xiwi,xfce,keyboard
host: version 9460.73.0 (Official Build) stable-channel winky
kernel: Linux localhost 4.4.52-08273-ge6c7193d61d7 #1 SMP PREEMPT Thu Jul 13 11:56:28 PDT 2017 x86_64 x86_64 x86_64 GNU/Linux
freon: yes
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...

Please describe your issue:
This happens from time to time:
Entering /mnt/stateful_partition/crouton/chroots/xenial...
/usr/bin/startxfce4: Starting X server

(EE)
Fatal server error:
(EE) Cannot move old log file "/tmp/Xorg.crouton.1.log" to "/tmp/Xorg.crouton.1.log.old"
(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE)
/usr/bin/xinit: giving up
/usr/bin/xinit: unable to connect to X server: Connection refused
/usr/bin/xinit: server error
Unmounting /mnt/stateful_partition/crouton/chroots/xenial...
Sending SIGTERM to processes under /mnt/stateful_partition/crouton/chroots/xenial...

I know we need just to restart the chromebook to "fix" this, but could you merge an automated fix?
If known, describe the steps to reproduce the issue:
Not sure, sorry.

Also, if I'm not mistaken, removing "/tmp/Xorg.crouton.1.log.old" also "fix" this problem.


Minor typo

Under heading of "Digital Rights Management and Media Licenses"
towards the end, the word "odd" is used, when I believe "off" was intended.

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

ID: c1311289-0892-7fa5-3540-96fc823fc8cd
Version Independent ID: 1c69b077-dbd1-7105-9cc8-d11c99d1495d
Content: Microsoft Edge Privacy Whitepaper - Microsoft Edge Development
Content Source: microsoft-edge/privacy-whitepaper/index.md
Product: microsoft-edge
GitHub Login: @MSEdgeTeam
Microsoft Alias: msedgedevrel

@scuthe thank you for reporting this error.

@scuthe thank you for reporting this error.


Failed to load the js-refactor package

[Enter steps to reproduce below:]

...
...

Atom Version: 0.194.0 :warning: in 1.0 API Preview Mode :warning:
System: Mac OS X 10.10.3
Thrown From: js-refactor package, v0.3.0
Stack Trace
Failed to load the js-refactor package
At Cannot read property 'prototype' of undefined

TypeError: Cannot read property 'prototype' of undefined
    at __extends (/Users/damian/.atom/packages/js-refactor/lib/notification_view.coffee:9:199)
    at /Users/damian/.atom/packages/js-refactor/lib/notification_view.coffee:14:5
    at Object.<anonymous> (/Users/damian/.atom/packages/js-refactor/lib/notification_view.coffee:80:5)
    at Object.<anonymous> (/Users/damian/.atom/packages/js-refactor/lib/notification_view.coffee:82:4)
    at Module._compile (module.js:452:26)
    at Object.requireCoffeeScript (/Applications/Atom.app/Contents/Resources/app.asar/node_modules/coffee-cash/lib/coffee-cash.js:85:19)
    at Module.load (module.js:347:32)
    at Function.Module._load (module.js:302:12)
    at Module.require (module.js:357:17)
    at require (module.js:376:17)

Commands

Config
{
  "core": {
    "disabledPackages": [
      "language-c",
      "language-clojure",
      "language-coffee-script",
      "language-csharp",
      "language-gfm",
      "language-go",
      "language-java",
      "language-objective-c",
      "language-perl",
      "language-php",
      "language-python",
      "language-ruby",
      "language-ruby-on-rails",
      "language-yaml",
      "minimap",
      "wrap-guide",
      "metrics",
      "language-toml",
      "language-mustache",
      "language-make",
      "open-on-github",
      "package-generator"
    ]
  }
}

Installed Packages
# User
autocomplete-css, v0.6.0
autocomplete-html, v0.5.0
autocomplete-paths, v1.0.2
autocomplete-plus, v2.12.0
color-picker, v1.7.0
js-refactor, v0.3.0
language-jsx, v0.1.4
layout-manager, v0.2.3
linter, v0.12.1
linter-csslint, v0.0.11
linter-htmlhint, v0.0.13
linter-jshint, v0.1.2
node-resolver, v1.0.1
npm-docs, v0.2.0
react, v0.11.6
refactor, v0.4.1

# Dev
No dev packages

I'm having the same issue since I've updated to Atom 0.198.0 this morning.

I'm also having this issue, since updating to Atom 0.207.0 this morning


plexamp: 4.4.0 -> 4.5.0

Motivation for this change
Upgrades plexamp from 4.4.0 to 4.5.0
This PR was automatically generated by nixpkgs-upkeep.

CI workflow that created this PR.
Internal tag: 232d8dcf5c8e7562fa069489da5d5757.

Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[ ] NixOS
[ ] macOS
[x] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 196996 run on x86_64-linux 1

1 package built:

plexamp

@samuela Version 4.6.0 is available, could you upgrade and resolve the merge conflicts?

superseded by https://github.com/NixOS/nixpkgs/pull/204712


"type referenced from value position" error when using  t.param(...)

This is a:

[x] Question

Which concerns:

[x] flow-runtime

What is the current behaviour?
// @flow
import t from 'flow-runtime'

type MyParam = string

function myFunction (myParam: MyParam): void {
  t.param('myParam', MyParam).assert(myParam)
}

$ yarn flow

Error: src/test.js:8
  8:   t.param('myParam', MyParam).assert(myParam)
                          ^^^^^^^ MyParam. type referenced from value position
  5: type MyParam = string
          ^^^^^^^ type MyParam

Found 1 error
error Command failed with exit code 2.

What is the expected behaviour?
Flow should not throw error, otherwise I can't use flow-runtime in my lib. Not sure if this is issue with Flow itself, or maybe flow need some extra options to make it work? Tried to find something about this error but it seems that others encountered it in other context (during importing/exporting types).

Which package versions are you using?
"flow-runtime": "0.14.0"
"flow-bin": "0.54.1"
"babel-plugin-flow-runtime": "0.11.1"
"node": "v8.4.0"

This is not a bug. You need to reify the type first. See here.

Thank you, this solves my issue!


about heartbeat

RabbitMQ uses a heartbeat to detect dead connection.
Is there a parameter in the AMQP-CPP to set the hearbeat interval? When there is no publish for more than 3*hearbeat seconds, will get the error: "connection reset by peer".
The configuration of rabbit server's heartbeat is: 60.
In my code, the ev_run is called every 1 milliseconds:
void MQTopicConsume::slotTimerEventRunEv()
{
    auto *loop = EV_DEFAULT;
    ev_run(loop, EVRUN_NOWAIT); //NOWAIT
}

To avoid the reset error,  another piece of code is run every 10 seconds:
void MQTopicConsume::slotTimerEventSimuHeartBeat()
{
    if(channel&&channel->connected())
        channel->publish(exchangeName,"Simu.HeartBeat","Hello to Broker"); //avoid reset caused by missing heartbeat
}

I have one answer, and one good advise.
The answer: yes, you can change the heartbeat interval, or even disable heartbeats. If you override the tcpconnectionhandler class that you pass to the tcpconnection constructor, you can implement/override a number of methods in it. One of them is the onNegotiate() method (if I remember correctly). This is a method that gets called on connection setup to negotiate the heartbeat interval. If you set it to zero, the heartbeats are completely disabled.
The advise: change the architecture of your application. The whole idea of an event loop is to run it continuously. You already seem to have a "slotTimerEventRunEv", so there must already be some kind of event loop in your app that triggers this timer. Why do you not utilize this event loop instead of creating a second libev based event loop that you only use for AMQP? Your current architecture seems wrong.


Workspace date simple form is off

I was trying to find workspaces by date and searched for "Apr" to try to find a recent one, and noticed this:

Which seems to say it was last modified 7 days from now, but if you mouse over you can see it was last year

This is working as intended, but I understand that it is unclear. What would you want the date to say instead?
Currently if a workspace was edited more than a year ago it says the year with the full date on hover:

I'd have expected anything not this calendar year says the calendar year (so April 2018 says 2018) I think - I can understand if it's Jan and we show Dec since it's a close by month so you'd lose that aspect, but I think it's a little hard to wrap your head around seeing May 3rd and that being last year.  Maybe it's just because a year is such a long timeframe vs maybe 2-3 months?


[PIGEON FEED] Pip for Setting Community Fee as 30% of the Validator Fee

CHORE: Let's create the PIP for setting the Community Fee as 30% of the validator Fee and set a vote in governance for this so we can approve for the node sale.

@taariq what about the security fee, do we want to change that as well? Both fees are currently set as 10%

Thanks @verabehr. I don't know. I think 10% may be high for the security fee as that is for valset updates, so let's leave that as is. We can always reduce it.

Closing as shipped.


[Bug] Cannot Select Advanced Oil Processing

The calculations for oil processing in the Factory and Visualize tabs will only show Standard Oil Processing, even if Advanced Oil Processing is selected as the "Primary oil processing recipe" in the Settings tab. Calculations for Coal Liquefaction work as intended.
Steps to reproduce:

Select Heavy Oil as the recipe to look up.

Select Advanced Oil Processing as the "Primary oil processing recipe" in the Settings Tab:

Observe the calculations in the Factory Tab:

Note: This affects both the 0.16 and 0.17 calculators.

Looks like a duplicate of #119

This is indeed a duplicate of #119, with shades of the issue described in #154.


Add binder badge

Would be useful to have a cluster available for someone who wants to quickly try. I'll be happy to help here.

That would be very great! Thank you so much for looking into it!

Closed via https://github.com/nils-braun/dask-sql/pull/72


Adding support for dh895xcc devices

This commit adds the possibility to qat2_plugin use pci,
devices with communication chipset 8925 to 8955.
Signed-off-by: Rivera Gonzalez, Julio C<EMAIL_ADDRESS>

Thanks! Merging...


v2.6.3-rc1

Opened https://github.com/rancher/rancher/pull/35584 so that I could re-run go generate and push changes.


New unhelpful warnings on css property grammar

Bikeshed has started generating (lots of) these:
LINE ~102: Multiple possible '|' grammar refs.
Arbitrarily chose https://www.w3.org/TR/css-values-4/#comb-one
To auto-select one of the following refs, insert one of these lines into a
 block:
spec:css-values-4; type:grammar; text:|
spec:css2; type:grammar; text:|
|
LINE ~102: Multiple possible '||' grammar refs.
Arbitrarily chose https://www.w3.org/TR/css-values-4/#comb-any
To auto-select one of the following refs, insert one of these lines into a
 block:
spec:css-values-4; type:grammar; text:||
spec:css2; type:grammar; text:||
||

Not sure why it started picking this up from css-2 when it didn't before, but it doesn't seem useful to go annotate every single spec to tell them to pick | and || and ? and so on from css-values rather than from css-2

Ah, this was because I was getting ready for the big WebRef switch, where the CSS2 spec is spelled "css22", so I "fixed" the default link-defaults.infotree accordingly, but forgot that the db updater fetches the live version of that file so it no longer worked correctly for "normal" Bikeshed. :(
That said I just flipped the switch, so version 3.11 of Bikeshed uses the WebRef data and won't have this error.


chore(lint): remove deprecated golangci-lint configs

Description
When running golangci-lint locally with one of the latest versions, you will get complaints about a couple of fields being deprecated in the config:
WARN [config_reader] The configuration option `run.skip-dirs` is deprecated, please use `issues.exclude-dirs`.
WARN [config_reader] The configuration option `output.format` is deprecated, please use `output.formats`
WARN [config_reader] The configuration option `linters.staticcheck.go` is deprecated, please use global `run.go`

This PR fixes those occurrences and also bumps the go version to check against to 1.21.
Checklist

[ ] Investigated and inspected CI test results
[ ] Unit test and regression tests added
[ ] Evaluated and added CHANGELOG entry if required
[ ] Determined and documented upgrade steps
[ ] Documented user facing changes (create PR based on openshift/openshift-docs and merge into rhacs-docs)

If any of these don't apply, please comment below.
Testing Performed
Here I tell how I validated my change

see CI passing.

Reminder for reviewers
In addition to reviewing code here, reviewers must also review testing and request further testing in case the
performed one does not seem sufficient. As a reviewer, you must not approve the change until you understand the
performed testing and you are satisfied with it.

#10956  👈
master

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @dhaus67 and the rest of your teammates on  Graphite


Help needed: port TodoMVC example to ES5 without magic

As @firstdoit validly observed on the Slack channel, a lot of Redux examples use bleeding edge features (destructuring, decorators, async/await) which can be a real bummer for beginners.
Here's a good thing you can help Redux with. Please take the example todomvc project in the examples folder, put it into a separate repository and port it fully to ES5.

@gaearon This might be a good time to create a reduxjs organization (while it hasn't been taken). You can transfer redux there later.

OK, I grabbed reduxjs.

@gaearon I'll add link here as soon as I finish porting @vramana's example to ES5.

I've had a go at this: https://github.com/insin/redux-todomvc-es5/commit/ed15969b127e9adb65db3bea4b57c408586fa5d8

@insin looks good to me

@insin   great, please push ahead.

@clearjs great idea the org!

The idea wasn't mine, it has been discussed earlier. I just wondered why it hasn't been taken yet.

Oh, ok...regardless, it's a good idea :)

Not just beginners - also old timers who like to use what they know :older_man: :older_woman:

I'm looking for ES6 examples. Can only fint 5 or 7.

@badtant If you backport the examples folder to use ES6, I'll merge. :-)

Is it worth trying to automate some of this with https://www.npmjs.com/package/react-codemod?

I'm closing because ES5 example is available at https://github.com/insin/redux-todomvc-es5 (thanks @insin!)

Hi all,
It seems the example is too old for demonstrating migration with es5 plus redux nowaday?
There is no Connector anymore and I guess this is replaced by connect().
Currently, I am switching between es5 example and official example and tj frontend example. However, I cannot link Producer, Connect and MyApp.
It throws error below
Could not find "store" in either the context or props of "Connect(MyApp)". Either wrap the root component in a <Provider>, or explicitly pass "store" as a prop to "Connect(MyApp)"

Any suggestions :'( ?

I just merged a PR in the es5 example which brings it up to date with the redux 3.x API

Thanks @insin


[avocado-108] Add docs and distribution stage for avocado.

Resolves #108. Adds documentation, and a clean distribution artifact for avocado that tars the executables and documentation together.
I'll be rebasing #127 and #128 off of this pull request, and making it so that those pull requests provide more documentation on the algorithmic changes they're making.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/avocado-prb/38/
Test PASSed.

@fnothaft I want to merge this this morning, but it's not off the latest master.  Do you want to rebase it, or should (can) I?

@tdanford Rebased!

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/avocado-prb/41/
Test PASSed.

Merged!  Thanks @fnothaft.


Make luarocks install work

I've made some modifications to make the lettersmith luarocks install work. You may want to put the plugins in a subdirectory that's different from the one that holds the core libraries.

This is great!


Draft questions for the community to answer in breakout 1 around navigation

What
As part of our agenda we want to run an exercise for community members to enter a breakout room and discuss what our structuring of level 1 and 2 navigation means to them and whether they understand it.
Why
We want to know what constraints/pain points of level 1 and level 2 navigation our community have.
Questions we have:

What is our community's approach to navigation and how that informed their design?
How do we work to fit in with their workflow?
What would our community put in level 1 and level 2 of navigation?
How do the community conceive their site structure?

Done when

[ ] All questions have been added to a document
[ ] Questions have been prioritised to 1-3
[ ] Prioritised questions have been moved to the workshop tool we have decided upon

Following discussion of the 'Research on levels 1 and 2 roundup' with @domoscargin and @romaricpascal:

We'd like to know whether users are mainly relying on the existing nav components supplied in the X-Gov Design System — and if there is anything missing from this
We are interested in figuring out whether it would be useful to iterate how the GOV.UK brand/ logo is presented on service and product domains (the current branding is very prominent, could we scale it back?)

For the second Q, it might be good to get some GOV.UK designers into the workshop as they have a view on how the branding will change in the coming months


Remove author component from insights page

Hi @gtvj,
Would it be possible to have a quick look at this PR? It just removes the currently hardcoded author component from the Insights page as per Piriya's request. Thank you 👍

Was a duplicate of https://github.com/nationalarchives/ds-wagtail/pull/125


Script not detecting payments from wallet divisions

A client used a wallet division (no.2) instead of the Master Wallet to make the payment. It was not detected by the app. The corp ID is 98467525 and the transaction took place o

n 2017-01-02 05:14:32

The app does not parse wallet divisions yet. I found the transaction in a different wallet.
<row date="2017-01-02 05:14:32" ... amount="-272000000.00" ... reason="DESC: Moon tax
" ... />
Implementation note: Add a loop where the parameter accountKey is 1000 to 1006.

To catch old transactions, set the rowCount to 2560 (max).


scala-maven-plugin does not generate and attach scaladocs with Scala 3

To recreate:
git clone https://github.com/mbari-org/commons.git
cd commons
mvn clean install

This produces:
[ERROR] Failed to execute goal net.alchim31.maven:scala-maven-plugin:4.8.0:doc-jar (attach-javadocs) on project scommons: MavenReportException: Error while creating archive: wrap: Process exited with an error: 1 (Exit value: 1) -> [Help 1]

Debugging using mvn clean scala:doc -rf :scommons -X shows the command that's failing:
/Library/Java/JavaVirtualMachines/temurin-17.jdk/Contents/Home/bin/java -Xbootclasspath/a:/Users/brian/.m2/repository/com/google/protobuf/protobuf-java/3.7.0/protobuf-java-3.7.0.jar:/Users/brian/.m2/repository/net/java/dev/jna/jna/5.3.1/jna-5.3.1.jar:/Users/brian/.m2/repository/org/jline/jline-reader/3.19.0/jline-reader-3.19.0.jar:/Users/brian/.m2/repository/org/jline/jline-terminal-jna/3.19.0/jline-terminal-jna-3.19.0.jar:/Users/brian/.m2/repository/org/jline/jline-terminal/3.19.0/jline-terminal-3.19.0.jar:/Users/brian/.m2/repository/org/scala-lang/modules/scala-asm/9.3.0-scala-1/scala-asm-9.3.0-scala-1.jar:/Users/brian/.m2/repository/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar:/Users/brian/.m2/repository/org/scala-lang/scala3-compiler_3/3.2.2/scala3-compiler_3-3.2.2.jar:/Users/brian/.m2/repository/org/scala-lang/scala3-interfaces/3.2.2/scala3-interfaces-3.2.2.jar:/Users/brian/.m2/repository/org/scala-lang/scala3-library_3/3.2.2/scala3-library_3-3.2.2.jar:/Users/brian/.m2/repository/org/scala-lang/tasty-core_3/3.2.2/tasty-core_3-3.2.2.jar:/Users/brian/.m2/repository/org/scala-sbt/compiler-interface/1.3.5/compiler-interface-1.3.5.jar:/Users/brian/.m2/repository/org/scala-sbt/util-interface/1.3.0/util-interface-1.3.0.jar -classpath /Users/brian/.m2/repository/net/alchim31/maven/scala-maven-plugin/4.8.0/scala-maven-plugin-4.8.0.jar scala_maven_executions.MainWithArgsInFile dotty.tools.dotc.Main /private/var/folders/d7/4ps3zfnx08n8gxq0wc9ydddw0000gq/T/scala-maven-2306955749493420450.args

Inpsecting /private/var/folders/d7/4ps3zfnx08n8gxq0wc9ydddw0000gq/T/scala-maven-2306955749493420450.args shows the contents are:
-classpath
/Users/brian/.m2/repository/com/github/rwl/jtransforms/2.4.0/jtransforms-2.4.0.jar:/Users/brian/.m2/repository/com/sun/mail/javax.mail/1.5.6/javax.mail-1.5.6.jar:/Users/brian/.m2/repository/javax/activation/activation/1.1/activation-1.1.jar:/Users/brian/.m2/repository/org/apache/commons/commons-email/1.5/commons-email-1.5.jar:/Users/brian/.m2/repository/org/apache/commons/commons-math3/3.6.1/commons-math3-3.6.1.jar:/Users/brian/.m2/repository/org/mbari/commons/jcommons/0.0.4/jcommons-0.0.4.jar:/Users/brian/.m2/repository/org/scala-lang/scala-library/2.13.10/scala-library-2.13.10.jar:/Users/brian/.m2/repository/org/scala-lang/scala3-library_3/3.2.2/scala3-library_3-3.2.2.jar:/Users/brian/.m2/repository/org/typelevel/algebra_3/2.8.0/algebra_3-2.8.0.jar:/Users/brian/.m2/repository/org/typelevel/cats-kernel_3/2.8.0/cats-kernel_3-2.8.0.jar:/Users/brian/.m2/repository/org/typelevel/spire-macros_3/0.18.0/spire-macros_3-0.18.0.jar:/Users/brian/.m2/repository/org/typelevel/spire-platform_3/0.18.0/spire-platform_3-0.18.0.jar:/Users/brian/.m2/repository/org/typelevel/spire-util_3/0.18.0/spire-util_3-0.18.0.jar:/Users/brian/.m2/repository/org/typelevel/spire_3/0.18.0/spire_3-0.18.0.jar
-doc-format:html
-doc-title
"scommons 0.0.4_3 API"
-d
/Users/brian/workspace/misc/commons/scommons/target/site/scaladocs
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/canadiangrid/Camera.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/canadiangrid/Pixel.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/etc/jdk/Logging.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/etc/spire/ComplexLib.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Envelope.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Point2D.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Point3D.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Point4D.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Polygon2D.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/geometry/Triangle3D.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/ASCGridReader.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/ASCGridWriter.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/ArrayGrid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/DoubleArrayGrid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/FloatArrayGrid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/GIS.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/Grid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/GridSearcher.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/MomentInterval.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/MutableGrid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/NumericGrid.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/RugosityCalculator.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/gis/SpaceTimeZone.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/ArrayOps.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/FastCollator.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/KDE.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/Mathematics.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/Matlib.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/Probabilities.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/ScalarArrayOps.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/Statistics.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/math/Trigonometry.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Atmosphere.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Chlorophyll.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Light.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Ocean.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Seawater.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/ocean/Waves.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/util/ISO8601.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/util/Reflect.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/util/SeqUtil.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/util/Zip.scala
/Users/brian/workspace/misc/commons/scommons/src/main/scala/org/mbari/scommons/util/mail.scala

If I remove the line: "scommons 0.0.4_3 API" in that file. Then the failing command will work (but I'm not sure about the rest of the scaladoc process yet)
Blocking for #1. Existing scala plugin issue has been reported at https://github.com/davidB/scala-maven-plugin/issues/604

Ripped out maven build since scala-maven-plugin author has stated he doesn't use Scala 3 or scaladoc. Replaced with a gradle build.


Remove overflow hidden on cards

V2 cards should not have overflow: hidden. Textfields and custom select elements for example, may be within them which can overflow and they will then be partially hidden from users. Developers can hide overflow as-needed.
This was also a much-reported problem with the V1 implementation that people ran into.

Fixed by #4765


Add a simple BlogController example using this ...

I found quite useful this blog post - https://welcm.uk/blog/laravel-wink-a-beginners-guide
It would be great if you can either add a link or expand your README with a similarly structured instructions as "Next steps" :)
Dan

Will add more details in the docs. Agree :)


Remove Logged User Google Credentials from Console Log for Enhanced Security

Description
Description:
Currently, the logged user's Google credentials (such as access tokens, tokens, or any sensitive information) are visible in the browser's console.log. This poses a significant security threat as malicious actors can exploit this information to gain unauthorized access to the user's account and sensitive data.
Expected Behavior:
To ensure the security and privacy of our users, we must prevent any sensitive information, including Google credentials, from being exposed in the console.log.
Proposed Solution:

Review the codebase thoroughly to identify any instances where user Google credentials are being logged to the console.
Modify the relevant code sections to remove any logging of sensitive information.
Implement best practices for handling user authentication and session management to prevent the exposure of sensitive data.
Ensure that no sensitive information is inadvertently logged in the future by conducting regular code reviews and adhering to secure coding practices.

Screenshots
##ScreenShots

Additional information
No response

@LakshaySK106 ,please assign me this issue

Thank you for your contributions!


converted to dotnet standard 2.0.

Hi Luiz
I converted this package to use dotnet standard 2.0 using System.Drawing.Common, it seems like all the tests passed.  And I incremented the nuget package version to 2.0.0 using the csproj file assembly version and remove .nuspec file.
Could you please check it out and merge it?
Thanks
Ming

Sorry but I'm voting down for this because you didn't handle for platforms other than Windows. Therefore there is almost meaningless for netstandard.
I've made a maybe better port before you did:
https://github.com/UlyssesWu/FastBitmap
with a nuget package on myget:
https://www.myget.org/feed/monarchsolutions/package/nuget/FastBitmapLib
I didn't make a PR because I haven't got time to test it on other platforms.

Hello @MingLu8! I'll be merging @UlyssesWu's PR because it's a bit more comprehensive, but thank you for wanting to contribute either way!


Use a local version of jQuery for offline compat

If there is no external internet access available, Matador cannot be used because it was pointing to https://ajax.googleapis.com/ajax/libs/jquery/2.1.0/jquery.min.js.  I found this out on an airplane :)
Since many of the other js/ files are cached locally, let's just keep a copy of jQuery 2.1.0 as well.

Any concerns here?

@ShaneK If you're still interested in this project, it would be great to get some feedback on this.  Thanks!

Honestly have no idea why I didn't start with a local copy to begin with since all the other libraries are local copies. Thanks for the PR!

This is live in version 1.2.2


Add Impeller to the Swift Package Catalog

Found here:
https://packagecatalog.com
I'd do it myself, but the entry ought best be owned and maintained by the package's owner as well.
Feel free to wait until Impeller is more stable, OTOH, this will give you more visibility.

Good idea. I will indeed wait a little. Would like to at least have atomic persistence (eg plist), and probably SQLite too, before doing that. But in a month or so I think I will likely be ready.

I have shared this project with a former WO engineer, we may get some traction, I see great potential.


Come up with a way for us to call Cosmos AddTxFlagsToCmd without mandatory CLI flags

Cosmos exposes a function AddTxFlagsToCmd to add some flags to a cobra command object
https://github.com/cosmos/cosmos-sdk/blob/v0.40.0-rc3/client/flags/flags.go#L87
The problem is they are doing  cmd.MarkFlagRequired(FlagChainID) . This means that a user absolutely must provide --chain-id on the command line when it runs. There is no way around this that I could find. In Akash we want users to be able to specify all configuration via whatever means they want (configuration file, env. var, etc.). Also most end users aren't going to be changing chain ID very often so requiring this is not a very good idea.
We need to patch Cosmos SDK to allow us to get the same flags added to the command but without the mandatory requirement. Once we have gotten that patch into Cosmos SDK we need to update to a version that contains the patch.

Maybe we can set a default value on that flag?

Maybe we can overwrite what MarkFlagRequired() does?
// MarkFlagRequired instructs the various shell completion implementations to
// prioritize the named flag when performing completion,
// and causes your command to report an error if invoked without the flag.
func MarkFlagRequired(flags *pflag.FlagSet, name string) error {
	return flags.SetAnnotation(name, BashCompOneRequiredFlag, []string{"true"})
}

Or even just unroll the entire AddTxFlagsToCmd and skip the MarkFlagRequired.

Yeah, I think either one of those would work. If this isn't high priority I'd prefer to just propose a patch to cosmos SDK first that allows us to opt out of this.


enable-compatible-cds-alignment for jdk-17+ linux aarch64

Build Temurin jdk-17+ linux aarch64 using --enable-compatible-cds-alignment, until upstream fix to make that the default is available in jdk17u+ (https://bugs.openjdk.org/browse/JDK-8331942)
Fixes: https://github.com/adoptium/temurin-build/issues/3800

This will break OpenJ9 builds: please consider merging  #3814.


AVRO-3049: Add checks to BinaryDecoder for bytes length

Make sure you have checked all steps below.
Jira

[X] My PR addresses the following Avro Jira issues and references them in the PR title. For example, "AVRO-1234: My Avro PR"

https://issues.apache.org/jira/browse/AVRO-3049
In case you are adding a dependency, check if the license complies with the ASF 3rd Party License Policy.

Tests

[X] My PR adds the following unit tests OR does not need testing for this extremely good reason:

testStringMaxArraySize
testNegativeBytesLength
testBytesMaxArraySize
testBytesMaxLengthProperty
Commits

[X] My commits all reference Jira issues in their subject lines. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[x] In case of new functionality, my PR adds documentation that describes how to use it.

All the public functions and the classes in the PR contain Javadoc that explain what it does

Cherry-picked into branch-1.10.  You should see this fix in the next release.  Thanks for taking this on!


User Story 8 (Offline Behavior)

See use cases for the use cases.

[x] US 08.01.01 (UC 19)

US 08.01.01 As a Driver, I want to see Requests that I already Accepted while Offline.

[x] US 08.02.01 (UC 20)

US 08.02.01 As a Rider, I want to see Requests that I have made while Offline.

[x] US 08.03.01 (UC 21)

US 08.03.01 As a Rider, I want to make Requests that will be sent once I get connectivity again.

[x] US 08.04.01 (UC 22)

US 08.04.01 As a Driver, I want to Accept Requests that will be sent once I get connectivity again.

ElasticSearch class now handles these offline things.


Support paste treepath when creating a new file or updating the file name

Close #23204
Quick Demo:
https://user-images.githubusercontent.com/17645053/222058727-ad30a37c-f0ac-4184-9946-a71fcee473b5.mov

Separated the two events, please review again.

Noticed the different behavior when deleting the last letter.
https://user-images.githubusercontent.com/9418365/222327566-fd4523b2-0f22-4a92-b3d5-f6af97d38252.mov

use keydown for correct deletion

fixed in latest commit

Codecov Report

Merging #23209 (6c4cc3c) into main (33e556e) will increase coverage by 0.14%.
The diff coverage is 55.09%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@            Coverage Diff             @@
##             main   #23209      +/-   ##
==========================================
+ Coverage   47.44%   47.59%   +0.14%
==========================================
  Files        1140     1143       +3
  Lines      150804   151080     +276
==========================================
+ Hits        71549    71899     +350
+ Misses      70788    70683     -105
- Partials     8467     8498      +31

Impacted Files
Coverage Δ

cmd/serv.go
2.59% <0.00%> (-0.06%)
:arrow_down:

models/actions/run.go
1.72% <0.00%> (+0.01%)
:arrow_up:

models/actions/run_list.go
0.00% <0.00%> (ø)

models/actions/status.go
22.85% <0.00%> (-1.39%)
:arrow_down:

models/actions/task.go
1.69% <0.00%> (-0.01%)
:arrow_down:

models/auth/oauth2.go
60.52% <ø> (ø)

models/auth/twofactor.go
19.73% <ø> (ø)

models/db/engine.go
44.80% <ø> (ø)

models/unittest/testdb.go
12.92% <0.00%> (ø)

modules/auth/password/hash/pbkdf2.go
69.69% <ø> (ø)

... and 114 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

Noticed the different behavior when deleting the last letter.

Fixed in latest commit

Update current deletion behavoir and paste using mouse behavior in addition to paste by keyboard:
https://user-images.githubusercontent.com/17645053/222353030-02fb5d9b-989b-448d-8f9c-5314b9de38f9.mov


How to ...?

Hi!
I just compile the dll, but how to use?

@morsisko

Hi, unfortunately the addresses are out of date, abstracting from this you need to build the .DLL and then copy it, along with the discord-rpc.dll to your game folder, then use eg. Cheat Engine to inject it into game

so? can you update? or something?

Maybe in the free time I will update it, but nothing to promise

Okay, thanks you!


Ignoring db.sqlite3

#69

Untrack the db.sqlite3

Fixes: #69
Proposed Changes

Added gitignore file with changes

Additional Info

Untrack the db.sqlite3

can you please tell me th patch of the file that I need to put for .gitignore sir? @harsh-9in

Sir can you please tell the path of the file i need to put for gitignore? @harsh-9in


[WIP] Added ref to Toss

This project uses Blazor for client with an asp.net core api, cosmosdb and the aspnet core security api

No problem, I'll tell you here when it's done
Le lun. 9 juil. 2018 22:24, Daniel Roth<EMAIL_ADDRESS>a écrit :

@danroth27 requested changes on this pull request.
I can't tell from the name of the sample or from the GitHub README what
this sample does. Can you please update the README with some more details
about the sample before we link to it from here?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/aspnet/Blazor.Docs/pull/165#pullrequestreview-135577900,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABS8eod75DDD5ZYkJJFNViWgYHMdsxdMks5uE7vmgaJpZM4U4GwX
.

https://github.com/RemiBou/Toss.Blazor/blob/master/README.md


Dapr Operator not issuing Cluster IP on Kubernetes

In what area(s)?

/area placement
What version of Dapr?
0.9.0
Expected Behavior
Dapr Sidecar Services to have Cluster IP address
Actual Behavior
None Cluster IP address
Steps to Reproduce the Problem

Install Dapr to Kubernetes environment using Helm 3

helm repo add dapr https://daprio.azurecr.io/helm/v1/repo
helm repo update
helm install dapr dapr/dapr --namespace my-namespace

Deploy application to Kubernetes: kubectl apply -f app.yaml

app.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: appname
  namespace: my-namespace
  labels:
    app: appname
spec:
  replicas: 1
  selector:
    matchLabels:
      app: appname
  template:
    metadata:
      labels:
        app: appname
      annotations:
        dapr.io/enabled: "true"
        dapr.io/id: "appname"
        dapr.io/port: "3000"
        dapr.io/log-level: "debug"
    spec:
      containers:
      - name: appname
        image: appnameapp:latest
        ports:
        - containerPort: 8080

Hey @skmaingi thanks for opening this issue.
The Dapr operator creates k8s services for Dapr internal use - these do not have ClusterIP's on purpose. The reason why we don't generate ClusterIP's is because we need Headless services to refresh DNS records when new endpoints are getting added. This is because of a gRPC client side load balancing design issue.
As a user, you should not interact with these k8s services. The dapr sidecar should only be reached via localhost by the app in the pod, and Dapr itself takes care of interacting with other sidecars in the cluster.

Hey @yaron2, Thank you for the support.
For confirmation, if a Dapr Sidecar service does not have an internal cluster IP, a controller with sidecar can reach it?

Correct.

Thank you for assistance.


Use builder pattern for Session

ref:
This'd make it easier having changes in the Session::connect signature easier, without needing to update all clients.

Closing in favor of https://github.com/firezone/firezone/issues/3683.

I think this is still valid, the different clients have different needs for setting parameters on the session.


Is a font missing on my system?

When I convert the cited example.ly file there are two notes with rectangles beside them suggesting that staff is expecting a font missing on my system. No messages arert to this. This is the SVG file:

Ah yeah right now the crate uses Noto Music by default but there should definitely be an option to change it
For now I'll definitely add that to the readme


Unclear meaning of "valence" parameter

In the docs it is stated that the valence parameter is "the width of the valence band".
Looking at the sample datasets though it seems that for Alumina the value used is the valence band maximum (3.64eV), while the reported valence band width elsewhere seems to be on the order ~8eV.
In contrast for Silicon it seems that the valence parameter is likely the width, though it was hard to find a reference value in literature.
Digging into the code here I am also a bit unsure how to interpret the parameter:
https://github.com/Nebula-simulator/cstool/blob/3d5f6636bdf2b2ce2578e62b93e1d87fe019faac/cstool/input_data/band_structure.py#L31-L60
Naively I would have expected e.g. the minimum excitation energy to be simply affinity + 2*band_gap

"The width of the valence band" refers to the energy difference between the top and the bottom of the valence band. It seems that the paper referenced in the alumina.yaml file was misinterpreted. Eyeballing figure 3 in that paper, 8 eV looks like a more reasonable value indeed. Good catch!
The code you quote refers to the Fermi parameter, but I think you are asking about the minimum excitation energy. This is the minimum energy an electron must have (with respect to the bottom of the valence band) to excite a secondary electron. It must have at least the valence band width plus two times the band gap: the electron itself must not fall below valence+bandgap; and it must at least be able to push the secondary electron across the band gap.
The goal of the min_excitation function here is to provide a lower bound for an integral somewhere. If this minimal criterium is met precisely, then both electrons will end up at the bottom of the conduction band, which is not enough to escape the material. A different piece of code is responsible for removing these electrons from the simulation if that happens.


builtins: implement the ST_MakeLine aggregate

PR: https://github.com/cockroachdb/cockroach/pull/52631
From release notes:

Implemented the ST_MakeLine aggregate builtin function. [#52631][#52631] {% comment %}doc{% endcomment %}

Partially addressed in #8747


yarn test fails

Cloned the repo at master. Ran yarn and yarn test and got:
Chrome 65.0.3325 (Mac OS X 10.13.3) ERROR
  {
    "message": "An error was thrown in afterAll\nUncaught SyntaxError: Unexpected token :",
    "str": "An error was thrown in afterAll\nUncaught SyntaxError: Unexpected token :"
  }
Firefox 59.0.0 (Mac OS X 10.13.0) ERROR
  {
    "message": "An error was thrown in afterAll\nSyntaxError: unexpected token: ':'",
    "str": "An error was thrown in afterAll\nSyntaxError: unexpected token: ':'"
  }

This issue was moved to tensorflow/tfjs#51


external resources issue

Hi Discord! I meet problems when request external resources.
I am building a game activities using embedded-app-sdk.
tech: Nodejs + Threejs + third party sdk.
Code:

Problem:

I try to solve the problem using patchUrlMappings:

and change the url.

But still get error:

Hi!
Here's the docs around patchUrlMappings if you haven't seen them: https://discord.com/developers/docs/activities/development-guides#using-external-resources
Basically, if you have control over the URL yourself (as you do) you'll want to just use the URL you set up in mappings directly. You won't even have to use patchUrlMappings since you can address the proxy directly instead.
patchUrlMappings only exists in case you didn't have the code to address the proxied URL yourself (i.e. if it came from a third-party library).
Feel free to reopen in case this doesn't answer the question. Thanks!


BigQuery: design doc for storage API written

OKR tracking issue

The design has been written and approved.

The design has been written and approved.


Typo in the model.compile code examples: tf.keras.optimizers not tf.keras.optimizer

Thank you for submitting a TensorFlow documentation issue. Per our GitHub
policy, we only address code/doc bugs, performance issues, feature requests, and
build/installation issues on GitHub.
The TensorFlow docs are open source! To get involved, read the documentation
contributor guide: https://www.tensorflow.org/community/contribute/docs
URL(s) with the issue:
https://www.tensorflow.org/api_docs/python/tf/keras/Model#compile
Description of issue (what needs changing):
Error in the model.compile code examples: tf.keras.optimizers not tf.keras.optimizer
The code is misspelt. See link

.

This has been fixed in r2.6.1 , Thank you all


duplicate IAM policies

Both site-main and site-redirect try to create an aws_iam_policy resource with the name "site.${replace("${var.domain}",".","-")}.deployer". Since the domain variable will generally be the same for the main and redirect buckets, the result is an error from Terraform/AWS like:
* aws_iam_policy.site_deployer_policy: Error creating IAM policy site.my-domain-com.deployer: EntityAlreadyExists: A policy called site.my-domain-com.deployer already exists. Duplicate names are not allowed.
        status code: 409, request id: 38816639-7dd1-11e6-9f1a-6d0a94ff2f5f

Seems like adding a -main and -redirect or something to the policy name would be an easy enough fix.  Alternatively, since the deployer_role_policy.json file that they each use is identical, perhaps just a refactor so it only tries to create it once?

@thraxil,
Regarding your quote:

Since the domain variable will generally be the same for the main and redirect buckets

Why should I want to create a redirect site with the same domain name as the main site? The intent is that I can e.g. redirect from www.domain.com to domain.com, vice-versa or even between two totally different domains. As a result, the domain variable you are referring to is different for the creation of each of the policies.
Can you elaborate how you want to use the modules?

Closing this for now as it has become stale, feel free to reopen it if necessary.


Using Guzzle, PHP HTTP client

Hi, thank you providing this lightweight MailGun library!
It seems that it uses the native curl function to handle the HTTP request.
Have you ever thought about using the Guzzle before?It can be easier than using the curl functions.
If possible, I can help this.
Thanks!

Hi Peter, thank you for your feedback.
My main goal when creating this library as an alternative to the official SDK was to write something lean, simple to use and learn and dependency free.
Although Guzzle is great and I have used for different projects in the past I have preferred to keep it simple.
I think it might be a good idea to ask the official SDK to add support for a Guzzle client.


Package.order calls missing files.

Is it prefered to update the package.order files, or add the missing models back into the repository?
When I download the repository and then tried to load it in OpenModelica, I received these errors.
[188] 22:08:37 Grammar Error
[C:/Users/Lance/Alcor/OpenModelica/ThermoCycle/Media/Incompressible/IncompressibleCP/HighTemperature/package.mo: 2:1-5:20]: Syltherm_800 was referenced in the package.order file, but was not found in package.mo, Syltherm_800/package.mo or Syltherm_800.mo.
[194] 22:14:25 Grammar Error
[C:/Users/Lance/Alcor/OpenModelica/ThermoCycle/Examples/TestComponents/package.mo: 2:1-18:19]: Test_Flow1D_reversal_dP was referenced in the package.order file, but was not found in package.mo, Test_Flow1D_reversal_dP/package.mo or Test_Flow1D_reversal_dP.mo.
[200] 22:17:42 Grammar Error
[C:/Users/Lance/Alcor/OpenModelica/ThermoCycle/Examples/TestComponents/package.mo: 2:1-18:19]: Test_Flow1D_Dp was referenced in the package.order file, but was not found in package.mo, Test_Flow1D_Dp/package.mo or Test_Flow1D_Dp.mo.
[206] 22:18:12 Grammar Error
[C:/Users/Lance/Alcor/OpenModelica/ThermoCycle/Components/FluidFlow/Pipes/package.mo: 2:1-5:10]: Flow1DimDp_II was referenced in the package.order file, but was not found in package.mo, Flow1DimDp_II/package.mo or Flow1DimDp_II.mo.
[212] 22:19:59 Grammar Error
[C:/Users/Lance/Alcor/OpenModelica/ThermoCycle/Components/FluidFlow/Pipes/package.mo: 2:1-5:10]: Flow1DimDp was referenced in the package.order file, but was not found in package.mo, Flow1DimDp/package.mo or Flow1DimDp.mo

If I remove the references in the package.order files then the library successfully loads.  I will gladly update the package.order files, if that is desired.

The package.order should indeed be updated