Patched dependencies are breaking GCP deployments using pnpm

I'm using isolate-package in a pnpm monorepo.
When I'm isolating the functions, the isolated pnpm-lock.yaml includes all patchedDependencies from the root pnpm-lock.
When deploying the functions to GCP gen2 cloud functions, the builder is installing with 'pnpm install --frozen-lockfile' which results in an error because of the patchedDependencies.
It would be great if there was a built in way to exclude the patchedDependencies (in my case, this patch is from my frontend code which has no business breaking my backend). Right now I had to run a custom node script to remove the patched deps after isolate.

@erik-lissen Thanks for reporting. I have no experience with patched dependencies. Could you share the lockfile maybe, so I get a better idea where they need to be stripped?
Do I understand correctly that there is no use-case for having patched dependencies as part of an isolated package lockfile, and they can always be removed?

I read a bit about patching dependencies and why it is done.
As I understand it, it would be essential to keep the patch part of the isolated package, otherwise the fix will be undone in the deployed code. So I suspect that a solution could be:

Make sure the patch file ends up in the output bundle
Adapt the lockfile so that it points to the correct patch filepath.

What do you think?
If this feature is important to you, maybe try to submit a PR, because I do not think I will be working on this very shortly. I have too much on my plate already and this seems like a very rare use-case.
Alternatively, you could try to force output to generate an NPM lockfile with the forceNpm configuration option. Maybe that solves something, but I doubt it because the patch would probably still need to be copied to the isolate output.

So even though patches could be essential for deployed code, we need the option to strip them from the lockfile because the patches might not apply to the code that is being isolated.

Yes, it's trying to patch something that is not in my isolated package.

In that case, I think the fix could be easy, and I'm willing to look at it if you show me your lockfile.

That would be great - it's a minor inconvenience not to have it, not a huge deal. Right now, we don't have any patches for the backend code, so I just run a node script to strip out the patched deps, job done. But if I had some patches on my functions it would be a lot more problematic.

Also, my suggestion for forceNpm then seems like a valid thing to try in the meantime. The lockfile adaption logic is different between pnpm and npm. In case of pnpm the lockfile is adapted using my own logic, in the case of npm the lockfile is regenerated by a library that is part of npm itself.

I tried forceNpm, but it has another problem - I'm using turborepo to isolate many packages all at once - because of how the node_modules folder is moved in-out of its place with forceNpm, it can only be done one-by-one which will take too long (I have 35 functions at the moment) - as the node_modules folder gets deleted while something else is trying to use it.

I tried forceNpm, but it has another problem - I'm using turborepo to isolate many packages all at once - because of how the node_modules folder is moved in-out of its place with forceNpm, it can only be done one-by-one which will take too long (I have 35 functions at the moment) - as the node_modules folder gets deleted while something else is trying to use it.

Ah right, that's an unfortunate side effect. Do you create a monorepo package for each cloud function you deploy? Is that to minimize cold-start times.
I'm just curious, because I have 30+ functions in my project as well, but they are only spread out over a few packages, and I never really considered breaking it up into one per package.
I think that patching dependencies, because it seems often related to using bleeding-edge libs, is more likely to be done on the frontend than backend. So I assume stripping it from the lockfile is sufficient for 99.9% of users. I'm not aware of any client-side deployments requiring an isolated package.

Ah right, that's an unfortunate side effect. Do you create a monorepo package for each cloud function you deploy? Is that to minimize cold-start times?

Yes, each function is it's own package to keep them small. I'm using GCP functions directly rather than firebase, and using terraform to deploy the resources. I use turborepo to generate function template folders and isolate-package is part of that now :)
Great package btw, I solved this myself previously with my own convoluted cli tool, but now that I moved to using turborepo your package is a huge help!

I think that patching dependencies, because it seems often related to using bleeding-edge libs, is more likely to be done on the frontend than backend. So I assume stripping it from the lockfile is sufficient for 99.9% of users. I'm not aware of any client-side deployments requiring an isolated package.

Yes, I think I agree with that statement. Just stripping all of it is probably sufficient. Otherwise, you'd have to check for any patches, go through the dependencies and check if any of those are included in the current package and strip the ones out that are not. I haven't looked at your code too much so I don't know if that's hard or not
Right now I'm just doing this for all my functions:
"scripts": {
    "isolate": "isolate && pnpm run removePatched",
    "removePatched": "node -e \"const fs = require('fs'), yaml = require('js-yaml'); let yamlData = yaml.load(fs.readFileSync('./isolated/pnpm-lock.yaml', 'utf8')); delete yamlData.patchedDependencies; fs.writeFileSync('./isolated/pnpm-lock.yaml', yaml.dump(yamlData), 'utf8');\""
  },

I would suggest just adding an option like stripPatchedDependencies that does that ⬆

Thanks for the example that will be an easy fix 👍
I think I will make it the default, with an option to turn it off.

Yes, each function is it's own package to keep them small. I'm using GCP functions directly rather than firebase, and using terraform to deploy the resources. I use turborepo to generate function template folders and isolate-package is part of that now :)

Interesting. Terraform is something that was on my to-study list and I didn't know turborepo could generate template folders. I think I still would struggle a bit navigating that many packages, but it's good to know about the approach.
Thanks for the kind words. I will try to implement this soon.

@erik-lissen I have released 1.10.0-1 under @next so could you give it a try and let me know if it works for you? I didn't test it myself, but I think this should work...

Should be fixed by 1.10.0, although I frankly didn't test it :)


Feature/hii 17 box

What
an AppBar component for main navigation which can contain children, ideally menu items, but can be anything, takes css properties as props, more in the screenshots below and this will be updated
TODO

[x] - component testing
[x] - convert into ul/li as it meant to be
[x] - update with menu items, when menu item has been created
[x] - a better playground e.g. allows nicer iteraction with props and more props

Screenshoots

Not that this is necessary but we're also missing a couple of tests in coverage:


Lumina preferences do not stick , after upgrade

===================
General information
boot environment now (N) … 12.0-CURRENT-up-20170927_143731 NR 2017-09-27
after restart (R) … 12.0-CURRENT-up-20170927_143731 NR 2017-09-27
boot loader …………………………………… BSD
type ……………………… EFI
CPU ………………………………………………………… Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
number of cores ……………… 4
host ……………………………………………………… watton.hitwe-8.org
memory ………………………………………………… 12288 MB available, 6778 MB free
OS git branch ……………………………………………………………………………………… drm-next
OS git revision ………………………………………………………………………………… 2a2a3070d
OS kernel build time ………………………………………………………… Fri 2017 Sep 22 13:48:41 UTC
OS kernel identity …………………………………………… (uname -i) GENERIC
OS platform (architecture) ……………………… (uname -m) amd64
OS release level ………………………………………………… (uname -r) 12.0-CURRENT
OS version and patch level …… (freebsd-version) 12.0-CURRENT
TrueOS package set ………………… UNSTABLE
TrueOS version …………………………… TrueOS-Desktop-201707111911
uptime ………………………………………………… 7 days,  3:24
user  …………………………………………………… rodney
More (TrueOS Desktop):
desktop environment …… Lumina
sound card driver ………… pcm0: <Conexant CX20590 (Analog 2.0+HP/2.0)> (play/rec) default
wireless driver ……………… iwn0
X11 drivers ………………………… modesetting_drv.so

Preferences -> All Desktop Settings -> Desktop Defaults -> Applications -> Advanced -> image
went through and changed ALL file types from phototonic to viewnior. No "Save" button presented itself, hit the "Back to Settings" tab, and back into advanced. My settings were not saved

Thanks for the bug report! I have reproduced this bug on the current unstable, and I will work to add a save button that should have been there in the first place.

As it turns out, changing the binary settings work fine, while setting the app directly does that. Reading the desktop file from the full path fixes this issue. Fitting with how the basic settings and the binary settings work, I don't believe a save button is necessary. Simply changing the value in the list will change the system settings.
https://github.com/trueos/lumina/commit/20373eb1665303d77c17d4b268b95e7a4b6ab440


ERROR  Cannot restart nuxt:  Failed to import ESLint, do you install or configure eslintPath?

I am using this plugin for Nuxt 3 app. Here is my nuxt.config.ts:
import eslint from 'vite-plugin-eslint';

export default defineNuxtConfig({
	// ...
	vite: {
		plugins: [
			eslint({
				fix: true,
				include: ['./**/*.{js,ts,vue}'],
				eslintPath: './eslint/eslint.json',
				// eslintPath<EMAIL_ADDRESS>			}),
		],
	},
});

What can I do wrong?

Same here, did you find a solution?

I gave up the eslintPath field (not sure about slime for config file) and created a new project with the ESLint configuration in the NPM package: https://eslint.org/docs/latest/extend/shareable-configs.

Ok, thanks anyway.

I am having the same issue but I am not wondering is this even meant to point toward an .eslintrc file or the path to the actual eslint code like inside of node_modules?

@szulcus did you manage to find a way to use the shared config with the vite plugin? or are you saying you are simply importing the shared config into your eslintrc.json file?

@andrewmelnyk yes exactly. In .eslintrc.json:
{
	"root": true,
	"extends": "<package-with-eslint-configuration>"
}

@szulcus That's too bad that it doesn't work with the vite-plugin it would be nice to be able to use that shared config with the plugin. I ended up doing the same as you in my project using a shared config but would have liked to integrate it with this plugin.


[Content]: addSourceToTrackingPlan endpoint not only adds the TP to a source but also replaces the TP if there is an existing TP associated with the source

What article on segment.com/docs is affected?
https://docs.segmentapis.com/tag/Tracking-Plans#operation/addSourceToTrackingPlan
What part(s) of the article would you like to see updated?
Hi,
There isn't much context around this endpoint.
My understanding was that this endpoint only helps adding a new tracking plan for a source.
However, turns out this endpoint also helps replacing the existing tracking plan for a source with the new tracking plan.
I think this needs to be highlighted in the docs for this endpoint. Otherwise a user might assume that we need to first remove a source from the existing tracking plan and then add a new tracking plan to that source.
Let me know if you have any questions. Thanks!
Additional information
No response

Hi @shraddha1313 - the Segment Docs team doesn't maintain the Public API docs. Your best bet would be to raise this in the Public API questions channel in Slack!


Project dependencies with non default configurations are not picked up correctly

The problem arose in a legacy project in which I try to introduce gradle. It's setup is a little special, so I tried to narrow the problem down.
The narrowed down problem looks like this:
I have a multi-project build consisting of 3 modules (m1, m2 and main).
Each of these modules defines a configuration (in this example the configuration is called "one") and brings with this configuration some java classes (in src/one/java).
The main module references those dependencies in its dependencies block by using path: ... and configuration: parameters to the project dependency.
Expected Behavior
I would expect, that main can be build and picks up the classes from the configuration in the modules.
Current Behavior
The java sources are not found by gradle.
Curiously intellij-idea can setup the project correctly (when importing the gradle model) if there is only one such project dependency. the gradlew commandline fails always.
Context
As described in the introduction I am trying to migrate a legacy project. The setup of the project consists of many modules, that each can have some platform specific java sources.
The sources of one module are structured in a way, that only the combination of the platform specific and the platform unspecific sources can be compiled successfully (kind of cyclic dependencies).
For this I wanted to come up with several sourcesets for each module, each containing the general sources + one platform specific source folder.
A main module then could reference one consistent set of subprojects with their configuration.
Steps to Reproduce (for bugs)
https://github.com/gizmomogwai/gradle-experiments
is an example project. To reproduce just run gradlew build.
To see the import problems to intellij-idea remove on of the dependencies in the main module (then it works, but does not compile), put it back in and import -> its totally broken.
Your Environment
./gradlew --version                                                                               1s 173ms
Gradle 3.2.1
Build time:   2016-11-22 15:19:54 UTC
Revision:     83b485b914fd4f335ad0e66af9d14aad458d2cc5
Groovy:       2.4.7
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_77 (Oracle Corporation 25.77-b03)
OS:           Mac OS X 10.12.1 x86_64
IntelliJ IDEA 2016.3
Build #IC-163.7743.44, built on November 17, 2016
JRE: 1.8.0_112-release-408-b2 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o

To make this work you will need to bundle the compiled class files of your custom source set into a JAR and declare it an "outgoing" artifact of the project. I sent you a pull request that demonstrates the fix.

@bmuschko thanks for the demonstration. it actually works very well in gradle, but intellij-idea seems to have problems with this. I will open up a bug report there. One more question:
Could you explain why this works this way? Is the regular java-plugin doing the same by convention for normal source-sets?

I believe IntelliJ doesn't automatically discover custom source sets in order to add them to a specific scope. However, you can always go down the route of using the Gradle Idea plugin to provide the information to IntelliJ. For the modules that declare a custom source set you can do the following:

idea.module {
    sourceSets.one.allSource.srcDirs.each {
        sourceDirs += it
    }

    scopes.COMPILE.plus += [configurations.oneCompile]
    scopes.COMPILE.plus += [configurations.oneRuntime]
}```

Keep in mind that you'll need to generate the project files from the command line.

BTW: You don't necessarily have to set up custom source sets. You can also add `src/one/java` to the existing `main` source set. That would mean that you don't need to set up any of the custom source sets and other configuration we talked about. It will just work out-of-the-box.

The Java plugin does something similar under the covers. It defines the main source set, the compiled class files are added to the `jar` task. Then the artifact produced by `jar` is added to the `default` configuration. Default is used as the path for any project dependency so you don't have to declare a `path` property.

Why do you have to do that? The reason is that Gradle needs to build a JAR that contains the class files to be added to the classpath of another project. Therefore, the JAR file needs to be built first.

Thanks for the explanations. My problem is, that each of my legacy modules does have actually 3 "specific" sourcefolders. One is mock/pc one, and two more are for special target platforms. So the main-sourceset is already taken for the easy path, but I need two more configurations to get jars for the two additional configurations (at least thats what i came up with). I added a appendix to the jar-names of your application, so that I get nice jars for the specific implementations (e.g. m1-one.jar or m1-two.jar).
If you compare my setup e.g. to sl4j it is as if the specific configurations would also already contains the api, and one implementation for android or log4j or java logging. When all is compiled you could simply put sl4j-android.jar into your classpath (no need for a pure api-jar anymore).
I am not sure if this is the best way to go. If there would be only one variant, I would definetively put all the sources into the main configuration.

The only other alternative I can think of is to point the main source set to the other source directories, create multiple JAR tasks (for each of the variants) and then filter an inclusion/exclusion pattern. Not sure if that's easy in your case. Maybe you already have the code separated by a specific package. Otherwise, using custom source sets sounds like a good solution to the problem.
Can we close the issue?

Also a good idea! The problem in my case is, that the platform specific folders contain the same classes (with different implementations). So the compiler does not like this :))
Sure, I am happy to close this ticket. Thanks a lot for your help!!!!


Plugin doesn't seem to take account changes to source set after plugin is applied

I'm using this plugin like this:
apply plugin: "com.android.application"
apply plugin: "kotlin-android"
apply plugin: "org.jmailen.kotlinter"

...
android {
    ...
    sourceSets {
        main {
            java.srcDirs += "src/main/kotlin"
        }
        test {
            java.srcDirs += "src/test/kotlin"
        }
        androidTest {
            java.srcDirs += "src/androidTest/kotlin"
        }
    }
}

The problem is kotlinter seems to resolve the source sets and collect the files right away, in the apply step. Changes made later have no effect. I'd like to use "src/group/kotlin" directories since these are pure kotlin projects.
What I'd like to see is the source file discovery deferred until task run time. I think it'd be fine if this plugin still searched for source sets on apply for purpose of creating the tasks, but I think each task should get a list of files from the app at runtime, rather than plugin apply time.
This is a fine plugin all around and I'd like to keep using it. I spent about an hour looking at how to hack a solution in, but it required a decent amount of refactoring and I don't have the time at the moment. I may pick it up in a few weeks when I have some spare time, but for now I'm leaving this issue open to put it on the radar and perhaps see if someone has a quick fix for it.

I know this isn't solving your problem in the exact way you would like, but my suggestion is to remove the Kotlin-specific sourceSets. There is no value-added there, in my opinion. It is totally valid to have .kt files in Java sourceSets, and it will simplify things for you and any devs on your team. Just imagine if you want to convert a Java file to a Kotlin file using the ctrl-alt-shift-K. You'd then have to manually move the file to another directory as a second step.
Food for thought!

That's all fine and good, but the official documentation for use of the Kotlin Gradle plugin suggests, and for pure Kotlin adds a kotlin source directory. If it's an officially recommended place to put things, this use case should be supported.
https://kotlinlang.org/docs/reference/using-gradle.html
Also there are plenty of valid use cases to add a directory to a source set beyond just this example.

Here's the direct anchor to the Android recommendation:
https://kotlinlang.org/docs/reference/using-gradle.html#android-studio

I agree fully on your second point, and I did not know about the first!

For anyone else who needs it in the meantime, here's my terribly hacky solution, which I apply after messing with SourceSets:
project.plugins.withId("org.jmailen.kotlinter") {
    ['main', 'test', 'androidTest'].collect { groupName ->
        ['formatKotlin', 'lintKotlin'].collect { taskName ->
            "$taskName${groupName.capitalize()}"
        }
    }.flatten().each {
        project.tasks.findByName(it).source(fileTree('src/main/kotlin'))
    }
}

Thank you for the detailed info @mikeholler. This is definitely intended to work and I agree complete the use case should be supported. It's a bug I wasn't aware of but probably should have uncovered already.
Let me look into what the right thing to do is. Surely it's possible because I think plugins like checkstyle support sourceSet customization. As we know, understanding the Gradle build lifecycle is a journey not a destination.
Another work around in the meantime would be to create https://github.com/jeremymailen/kotlinter-gradle#custom-tasks for each of your sourceSets (or a pattern matching them all). But yes I'll endeavor to fix this to work out of the box.

It turns out its easily fixed by moving all the task creation logic to project.afterEvaluate. Then all the sourceSet configuration has finalized (I believe for subprojects too).
The only tricky bit: users would have to be very careful to do any customization/disabling of kotlinter created tasks (https://github.com/jeremymailen/kotlinter-gradle#customizing-tasks) wrapped in an afterEvaluate { ... } block. Otherwise they'd get an error since the task doesn't exist yet. Probably I'd want to rev this plugin to 2.0 since it would be a breaking change for some people's builds.
Thoughts?

Thank you for the excellent analysis and suggestions @mikeholler. I appreciate your experience here!
If you are interested and have a little spare time now and again, I'd gladly add you as a contributor to the project.
Your suggestion for how to build it sounds both reasonable and doable. I'm assuming a SourceSet property can be marked as @Input to implement incremental build behavior? As far as modifying the files for an auto-created format or lint task, I had just imagined the use case and haven't seen it in real life yet. Creating a new custom source set seems fine. Not sure if the "filter some files out" use case exists in the wild.
I'll try to get to it this week or I'll update here if it's taking me longer.

Hey @jeremymailen,
Glad you liked my suggestions. @Input should be sufficient to get the source set to play nice with incremental build, but it's been a while since I've needed to rely on that part of the Gradle API. Still, something a quick check should be able to handle with ease.
Also happy to hear you like the suggestion to remove non-sourceset files. That definitely makes things simpler. If you plan on taking that route I'd suggest bumping the library's major version since it does break backward compatibility. And maybe documenting the migration path for other users.
And finally, I'd be happy to act as a collaborator. I won't be shy about suggesting changes/opening PRs here or there as I come across things, and you can feel free to tag me on something if you think I might be able to help.
Thanks for being so responsive and open to input.

@mikeholler ☝ I might need your help to fully test Android, but the new PR appeared to work well on Kotlin JVM projects

Thanks @jeremymailen, I'll review and test this in the next couple of days. I've got a couple very busy days coming up, but I'll definitely try to give this the attention it deserves before the weekend.


Incorrect documentation about JWT Authentication

Expected Behavior
The YAML example for the JWT Authentication should be
pulsar:
  authentication-jwt: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX...

with the property authentication-jwt  as one field
Actual Behaviour
Current documentation display jwt as a nested field of authentication
pulsar:
  authentication:
    jwt: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX...

Steps To Reproduce
Read documentation for Authentication
Environment Information
No response
Example Application
No response
Version
2.3.0

@FrogDevelopper  Thank you for reporting this. Will fix soon.

@sdelamo Hi, I was wondering is there a way to release just guide for existing version (2.3.0)? I pushed to that branch but can't find trigger for action related only to docs/guide.

closing this as I believe is done. @harissecic reopen if I am wrong.


Assertion was thrown building DefaultTextStyle when device orientation changes

Steps to Reproduce

Run example app inside https://github.com/codegrue/card_settings
Once the form appears, change the device orientation

Note: this was previously working with an older build of flutter.
Logs

Launching lib/main.dart on iPhone 7 in debug mode...
Xcode build done.
)
flutter: ══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
flutter: The following assertion was thrown building DefaultTextStyle(debugLabel: (englishLike
flutter: body1).merge(blackCupertino body1), inherit: false, color: Color(0xdd000000), family: .SF UI Text,
flutter: size: 14.0, weight: 400, baseline: alphabetic, decoration: TextDecoration.none, softWrap: wrapping
flutter: at box width, overflow: clip):
flutter: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 3249 pos 12: '() {
flutter:       if (_parent == null) {
flutter:         // We're being deactivated, see deactivateChild()
flutter:         return true;
flutter:       }
flutter:       Element element = _parent;
flutter:       while (ancestor != element && element != null)
flutter:         element = element._parent;
flutter:       return ancestor == element;
flutter:     }()': is not true.
flutter:
flutter: Either the assertion indicates an error in the framework itself, or we should provide substantially
flutter: more information in this error message to help you determine and fix the underlying cause.
flutter: In either case, please report this assertion by filing a bug on GitHub:
flutter:   https://github.com/flutter/flutter/issues/new
flutter:
flutter: When the exception was thrown, this was the stack:
flutter: #2      Element.inheritFromElement (package:flutter/src/widgets/framework.dart:3249:12)
flutter: #3      StatefulElement.inheritFromElement (package:flutter/src/widgets/framework.dart:3921:18)
flutter: #4      Element.inheritFromWidgetOfExactType (package:flutter/src/widgets/framework.dart:3271:14)
flutter: #5      Form.of (package:flutter/src/widgets/form.dart:40:38)
flutter: #6      FormFieldState.deactivate (package:flutter/src/widgets/form.dart:341:10)
flutter: #7      StatefulElement.deactivate (package:flutter/src/widgets/framework.dart:3860:12)
flutter: #8      _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1715:13)
flutter: #9      ComponentElement.visitChildren (package:flutter/src/widgets/framework.dart:3722:14)
flutter: #10     _InactiveElements._deactivateRecursively (package:flutter/src/widgets/framework.dart:1717:13)
flutter: #11     _InactiveElements.add (package:flutter/src/widgets/framework.dart:1726:7)
flutter: #12     Element.deactivateChild (package:flutter/src/widgets/framework.dart:2973:29)
flutter: #13     RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4562:13)
flutter: #14     MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4921:17)
flutter: #15     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #16     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #17     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #18     ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #19     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #20     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #21     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #22     StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #23     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #24     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #25     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #26     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #27     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #28     StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #29     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #30     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #31     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #32     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #33     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #34     StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #35     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #36     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #37     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #38     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #39     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #40     StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #41     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #42     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #43     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #44     StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #45     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #46     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #47     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #48     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #49     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #50     StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #51     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #52     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #53     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #54     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #55     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #56     StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #57     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #58     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #59     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #60     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #61     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #62     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #63     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #64     ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #65     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #66     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #67     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #68     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #69     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #70     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #71     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #72     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #73     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #74     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #75     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #76     StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #77     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #78     SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #79     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #80     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #81     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #82     StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #83     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #84     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #85     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #86     ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #87     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #88     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #89     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #90     StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #91     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #92     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #93     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #94     ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #95     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #96     ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #97     Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #98     ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #99     Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #100    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #101    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #102    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #103    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #104    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #105    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #106    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #107    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #108    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #109    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #110    ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #111    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #112    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #113    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #114    ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #115    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #116    RenderObjectElement.updateChildren (package:flutter/src/widgets/framework.dart:4531:32)
flutter: #117    MultiChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4921:17)
flutter: #118    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #119    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #120    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #121    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #122    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #123    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #124    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #125    ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #126    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #127    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #128    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #129    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #130    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #131    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #132    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #133    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #134    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #135    StatelessElement.update (package:flutter/src/widgets/framework.dart:3748:5)
flutter: #136    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #137    SingleChildRenderObjectElement.update (package:flutter/src/widgets/framework.dart:4813:14)
flutter: #138    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #139    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #140    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #141    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #142    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #143    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #144    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #145    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #146    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #147    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #148    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #149    ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #150    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #151    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #152    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #153    ProxyElement.update (package:flutter/src/widgets/framework.dart:3957:5)
flutter: #154    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #155    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #156    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #157    StatefulElement.update (package:flutter/src/widgets/framework.dart:3845:5)
flutter: #158    Element.updateChild (package:flutter/src/widgets/framework.dart:2729:15)
flutter: #159    ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:3699:16)
flutter: #160    Element.rebuild (package:flutter/src/widgets/framework.dart:3541:5)
flutter: #161    BuildOwner.buildScope (package:flutter/src/widgets/framework.dart:2273:33)
flutter: #162    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding&WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:653:20)
flutter: #163    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding&PaintingBinding&SemanticsBinding&RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:208:5)
flutter: #164    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:990:15)
flutter: #165    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:930:9)
flutter: #166    _WidgetsFlutterBinding&BindingBase&GestureBinding&ServicesBinding&SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:842:5)
flutter: #167    _invoke (dart:ui/hooks.dart:128:13)
flutter: #168    _drawFrame (dart:ui/hooks.dart:117:3)
flutter: (elided 2 frames from class _AssertionError)
flutter: ════════════════════════════════════════════════════════════════════════════════════════════════════
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 2271 pos 16: '!_dirtyElements[index]._active || _dirtyElements[index]._debugIsInScope(context)': is not true.
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4214 pos 14: '() {
flutter: Another exception was thrown: The _ScaffoldLayout custom multichild layout delegate forgot to lay out the following child:
flutter: Another exception was thrown: 'package:flutter/src/widgets/framework.dart': Failed assertion: line 4087 pos 14: '_dependents.isEmpty': is not true.
flutter: Another exception was thrown: Duplicate GlobalKey detected in widget tree.
Application finished.
Exited

flutter analyze
Analyzing card_settings...

   info • The member 'activity' can only be used within instance members of subclasses of 'ScrollPosition' • lib/helpers/scroll_picker.dart:153:35 • invalid_use_of_protected_member

1 issue found. (ran in 3.9s)

flutter doctor -v
[✓] Flutter (Channel master, v0.8.1-pre.15, on Mac OS X 10.13.6 17G65, locale en-US)
    • Flutter version 0.8.1-pre.15 at /Users/jeff/SDKs/flutter
    • Framework revision 6e64cb0ad8 (2 days ago), 2018-09-05 16:22:12 +0100
    • Engine revision de4c7a53f2
    • Dart version 2.1.0-dev.3.0.flutter-760a9690c2

[✓] Android toolchain - develop for Android devices (Android SDK 27.0.3)
    • Android SDK at /Users/jeff/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-27, build-tools 27.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.4.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.4.1, Build version 9F2000
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 24.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] IntelliJ IDEA Community Edition (version 2018.1.2)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 24.0.2
    • Dart plugin version 181.4668.60

[✓] VS Code (version 1.27.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.18.0

[✓] Connected devices (1 available)
    • iPhone 7 • 7AAFF127-35E3-40B4-8512-C2C9DA29795F • ios • iOS 11.4 (simulator)

• No issues found!

Looks like what #21570 was supposed to fix (merged a few hours ago).
Can you please check if you can reproduce in latest master?

Indeed the latest Master branch fixed the issue.


feat: #97 Escaping double curly braces inside Markdown code block

PR Checklist
Please check if your PR fulfills the following requirements:

[x] Tests for the changes have been added (for bugfixes / features)

PR Type
What kind of change does this PR introduce?

[x] Bugfix
[x] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes)
[ ] Build related changes
[ ] CI related changes
[x] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: resolve #97
What is the new behavior?
(Optional) From now on, {{ context }} is converted {% raw %}{{ context }}{% endraw %}.
Does this PR introduce a breaking change?

[ ] Yes
[x] No

Other information

Codecov Report
Patch coverage: 100.00% and project coverage change: +0.13 :tada:

Comparison is base (fe86638) 97.36% compared to head (1015858) 97.50%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main      #98      +/-   ##
==========================================
+ Coverage   97.36%   97.50%   +0.13%
==========================================
  Files          10       11       +1
  Lines         152      160       +8
  Branches       18       19       +1
==========================================
+ Hits          148      156       +8
  Misses          4        4

Impacted Files
Coverage Δ

src/ObsidianRegex.ts
100.00% <ø> (ø)

src/jekyll/CurlyBraceConverter.ts
100.00% <100.00%> (ø)

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

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Help. Building llama.cpp Library

Please tell us in more detail how to compile llama.cpp?
Which files should I copy and where should I copy them(I didn't find any *.so files)?
I try do this:
cd ~/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.4
git clone https://github.com/ggerganov/llama.cpp.git
mkdir build
cd build
cmake .. -DLLAMA_BLAS=ON -DLLAMA_BLAS_VENDOR=OpenBLAS
cmake --build . --config Release

what platform? generally add -DBUILD_SHARED_LIBS=ON to cmake ..

platform Linux

the compilation was successful and I received 2 files - libggml_shared.so and libllama.so
And to which directory should they be copied?

place libllama.so in root folder of your project

error
Launching lib/main.dart on Linux in debug mode...

(boris:88419): Gdk-CRITICAL **: 22:21:13.306: gdk_window_get_state: assertion 'GDK_IS_WINDOW (window)' failed
Connecting to VM Service at ws://<IP_ADDRESS>:42281/GRcPMlo5nE8=/ws
[ERROR:flutter/runtime/dart_isolate.cc(1097)] Unhandled exception:
Invalid argument(s): Failed to lookup symbol 'llama_backend_init': /home/prosto/Sync/Projects/Flutter/boris/build/linux/x64/debug/bundle/lib/libflutter_linux_gtk.so: undefined symbol: llama_backend_init
#0      DynamicLibrary.lookup (dart:ffi-patch/ffi_dynamic_library_patch.dart:33:70)
#1      llama_cpp._llama_backend_initPtr (package:llama_cpp_dart/src/llama_cpp.dart:10187:63)
#2      llama_cpp._llama_backend_initPtr (package:llama_cpp_dart/src/llama_cpp.dart)
#3      llama_cpp._llama_backend_init (package:llama_cpp_dart/src/llama_cpp.dart:10190:7)
#4      llama_cpp._llama_backend_init (package:llama_cpp_dart/src/llama_cpp.dart)
#5      llama_cpp.llama_backend_init (package:llama_cpp_dart/src/llama_cpp.dart:10181:12)
#6      new Llama (package:llama_cpp_dart/src/llama.dart:63:9)
#7      LlamaProcessor._modelIsolateEntryPoint.<anonymous closure> (package:llama_cpp_dart/src/llama_processor.dart:89:21)
#8      _RootZone.runUnaryGuarded (dart:async/zone.dart:1594:10)
#9      _BufferingStreamSubscription._sendData (dart:async/stream_impl.dart:339:11)
#10     _BufferingStreamSubscription._add (dart:async/stream_impl.dart:271:7)
#11     _SyncStreamControllerDispatch._sendData (dart:async/stream_controller.dart:784:19)
#12     _StreamController._add (dart:async/stream_controller.dart:658:7)
#13     _StreamController.add (dart:async/stream_controller.dart:606:5)
#14     _RawReceivePort._handleMessage (dart:isolate-patch/isolate_patch.dart:184:12)

@pavelprosto94, instead of spending time figuring out where Dart searches for shared libraries, I've introduced a libraryPath property to the Llama class. This allows for setting the full path of the library directly.
Llama. libraryPath = "...";

@pavelprosto94, please feel free to reopen the issue if the proposed solution doesn't resolve your problem.

Hi @netdur
You can build llama.cpp as a shared library as part of the dart build process, as i have done in maid:
https://github.com/Mobile-Artificial-Intelligence/maid
This works for Linux, Windows and Linux but not MacOS and IOS. I can help you implement this logic if you'd like. You package seems like it may be able to replace my own implementation.

@pavelprosto94 potentially v0.0.6 may resolve your issue.

@pavelprosto94 did you successfully build this project? could you overcome #33 ?

@netdur, I have placed the libllama.so file at the root folder, but the build is getting failed with below error.
flutter run
Launching lib/main.dart on RMX1851 in debug mode...

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':llama_cpp_dart:configureCMakeDebug[arm64-v8a]'.
> [CXX1405] error when building with cmake using /home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/src/CMakeLists.txt: -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /home/kingkong/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/linux-x86_64/bin/clang - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /home/kingkong/Android/Sdk/ndk/23.1.7779620/toolchains/llvm/prebuilt/linux-x86_64/bin/clang++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- CMAKE_C_FLAGS: -g -DANDROID -fdata-sections -ffunction-sections -funwind-tables -fstack-protector-strong -no-canonical-prefixes -D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security  -DANDROID_ARM_NEON=TRUE -DANDROID_TOOLCHAIN=clang -DANDROID_ABI=arm64-v8a -DANDROID_PLATFORM=android-23
  -- Configuring incomplete, errors occurred!
  See also "/home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/android/.cxx/Debug/713z563y/arm64-v8a/CMakeFiles/CMakeOutput.log".

    The top-level CMakeLists.txt file must
    contain a literal, direct call to the project() command.  Add a line of
    code such as

      project(ProjectName)

    near the top of the file, but after cmake_minimum_required().

    CMake is pretending there is a "project(Project)" command on the first
    line.
  This warning is for project developers.  Use -Wno-dev to suppress it.

  CMake Warning at /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android-legacy.toolchain.cmake:416 (message):
    An old version of CMake is being used that cannot automatically detect
    compiler attributes.  Compiler identification is being bypassed.  Some
    values may be wrong or missing.  Update to CMake 3.19 or newer to use
    CMake's built-in compiler identification.
  Call Stack (most recent call first):
    /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake:55 (include)
    /home/kingkong/Android/Sdk/cmake/3.18.1/share/cmake-3.18/Modules/CMakeDetermineSystem.cmake:93 (include)

  CMake Warning at /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android-legacy.toolchain.cmake:416 (message):
    An old version of CMake is being used that cannot automatically detect
    compiler attributes.  Compiler identification is being bypassed.  Some
    values may be wrong or missing.  Update to CMake 3.19 or newer to use
    CMake's built-in compiler identification.
  Call Stack (most recent call first):
    /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake:55 (include)
    /home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/android/.cxx/Debug/713z563y/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake:6 (include)
    /home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/android/.cxx/Debug/713z563y/arm64-v8a/CMakeFiles/CMakeTmp/CMakeLists.txt:2 (project)

  CMake Warning at /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android-legacy.toolchain.cmake:416 (message):
    An old version of CMake is being used that cannot automatically detect
    compiler attributes.  Compiler identification is being bypassed.  Some
    values may be wrong or missing.  Update to CMake 3.19 or newer to use
    CMake's built-in compiler identification.
  Call Stack (most recent call first):
    /home/kingkong/Android/Sdk/ndk/23.1.7779620/build/cmake/android.toolchain.cmake:55 (include)
    /home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/android/.cxx/Debug/713z563y/arm64-v8a/CMakeFiles/3.18.1-g262b901/CMakeSystem.cmake:6 (include)
    /home/kingkong/.pub-cache/hosted/pub.dev/llama_cpp_dart-0.0.7/android/.cxx/Debug/713z563y/arm64-v8a/CMakeFiles/CMakeTmp/CMakeLists.txt:2 (project)

  CMake Error at CMakeLists.txt:16 (add_subdirectory):
    add_subdirectory given source "./llama.cpp" which is not an existing
    directory.

Any idea on how to fix this?

place libllama.so in root folder of your project

@netdur, Yeah I have placed it in root folder and also mentioned the librarypath as "/home/user/llama_cpp_app/libllama.so". But still I got Failed to load error.
Failed to load dynamic library 'libllama.so': dlopen failed: library "libggml.so" not found: needed by /data/app/~~vsx70-PCu9HEgN69Rg13NQ==/com.example.llama_cpp_app-pngGCil9UMpOP0g4TnVHSA==/base.apk!/lib/arm64-v8a/libllama.so in namespace classloader-namespace


Update rank and node error!

every time i update someone rank or node. it crash and i end up reloading server. this is a problem see i need it fully work for auto ranking. i hope you code editor can fix this bug soon. thank you!

what error did you get?

not sure. it dont show on console. i do know this. as soon i update rank or node on McMyAdmin. Rank text go missing. protect on command stop working till reload... i am running most update PermissionsEX

If you're using the MCMA interface to edit permissions, you're going to have to talk to them first. We can't support anything but using the PEX commands.

it within that game as well. not just McMyAdmin. if i do /pex any command. i end up finding my self to reload...


[0.8.x] Deduplicate builders by diff id

same as #1268
also includes fixes for ci that have been cherry picked from 0.10.x

Codecov Report

:exclamation: No coverage uploaded for pull request base (release/v0.8.x@749297d). Click here to learn what that means.
The diff coverage is n/a.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.
@@                Coverage Diff                @@
##             release/v0.8.x    #1285   +/-   ##
=================================================
  Coverage                  ?   67.76%
=================================================
  Files                     ?      123
  Lines                     ?     7280
  Branches                  ?        0
=================================================
  Hits                      ?     4933
  Misses                    ?     1937
  Partials                  ?      410


HBASE-21521 Expose master startup status via web UI

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 26s
Docker mode activated.

 Thank you !

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 30s
Docker mode activated.

Thank you @joshelser  for the feedback.

What is your solution here doing differently than what we already have with MonitoredTask and the Tasks page on the Master UI?

The current Tasks page is not very clear in the sense it doesn't give me all the different phases view. Once the startup finishes, all the tasks disappears.
From [one of the comment|https://issues.apache.org/jira/browse/HBASE-21521?focusedCommentId=16916199&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-16916199] in HBASE-21521, the idea was to have page similar to Namenode StartupProgress page.
Also there are some limitations in MonitoredTask which doesn't allow me to track start time and end time for each state. Also it doesn't show the states that are completed. Since MonitoredTask is being used at many places, I didn't want to change just for HMaster startup use case. WDYT ?

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 27s
Docker mode activated.

 Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

 Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

 Binary files and potentially other changes not applied. Please rebase and squash commits if necessary.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
5m 24s
the patch passed

+1 :green_heart:
compile
1m 25s
the patch passed

+1 :green_heart:
javac
1m 25s
the patch passed

+1 :green_heart:
shadedjars
10m 52s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 46s
the patch passed

_ Other Tests _

-1 :x:
unit
261m 34s
hbase-server in the patch failed.

303m 47s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/5/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3667

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux 61da4a08539c 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / c60adfd13a

Default Java
AdoptOpenJDK-1.8.0_282-b08

unit
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/5/artifact/yetus-jdk8-hadoop3-check/output/patch-unit-hbase-server.txt

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/5/testReport/

Max. process+thread count
3435 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/5/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

there are some limitations in MonitoredTask which doesn't allow me to track start time and end time for each state. Also it doesn't show the states that are completed. Since MonitoredTask is being used at many places, I didn't want to change just for HMaster startup use case. WDYT ?

IMO, if start/end time is the only thing you're missing, then just add that to MonitoredTask and adapt your UI to use that class instead. I think that Andrew came to the same conclusion about duplicating MonitoredTask, the best idea is to try to reuse it :)
The UI component is great and I agree that the "Tasks" page currently on the UI leaves something to be desired.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 59s
master passed

+1 :green_heart:
compile
4m 12s
master passed

+1 :green_heart:
checkstyle
1m 24s
master passed

+1 :green_heart:
spotbugs
2m 52s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 32s
the patch passed

+1 :green_heart:
compile
4m 11s
the patch passed

+1 :green_heart:
javac
4m 11s
the patch passed

-0 :warning:
checkstyle
1m 21s
hbase-server: The patch generated 2 new + 88 unchanged - 1 fixed = 90 total (was 89)

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
hadoopcheck
24m  7s
Patch does not cause any errors with Hadoop 3.1.2 3.2.1 3.3.0.

+1 :green_heart:
spotbugs
2m 56s
the patch passed

_ Other Tests _

+1 :green_heart:
asflicense
0m 16s
The patch does not generate ASF License warnings.

61m 16s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3667

Optional Tests
dupname asflicense javac spotbugs hadoopcheck hbaseanti checkstyle compile

uname
Linux 47eed4f04132 4.15.0-156-generic #163-Ubuntu SMP Thu Aug 19 23:31:58 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / d956828aac

Default Java
AdoptOpenJDK-1.8.0_282-b08

checkstyle
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/artifact/yetus-general-check/output/diff-checkstyle-hbase-server.txt

Max. process+thread count
96 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/console

versions
git=2.17.1 maven=3.6.3 spotbugs=4.2.2

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Test passing on my local cluster:
[INFO]
[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running org.apache.hadoop.hbase.io.hfile.TestLruAdaptiveBlockCache
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 41.699 s - in org.apache.hadoop.hbase.io.hfile.TestLruAdaptiveBlockCache
[INFO]
[INFO] Results:
[INFO]
[INFO] Tests run: 14, Failures: 0, Errors: 0, Skipped: 0
[INFO]

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
1m 37s
Docker mode activated.

-0 :warning:
yetus
0m  3s
Unprocessed flag(s): --brief-report-file --spotbugs-strict-precheck --whitespace-eol-ignore-list --whitespace-tabs-ignore-list --quick-hadoopcheck

_ Prechecks _

_ master Compile Tests _

+1 :green_heart:
mvninstall
4m 51s
master passed

+1 :green_heart:
compile
1m 16s
master passed

+1 :green_heart:
shadedjars
10m 40s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 44s
master passed

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
4m 50s
the patch passed

+1 :green_heart:
compile
1m 12s
the patch passed

+1 :green_heart:
javac
1m 12s
the patch passed

+1 :green_heart:
shadedjars
10m 31s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
0m 43s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
229m  2s
hbase-server in the patch passed.

267m 26s

Subsystem
Report/Notes

Docker
ClientAPI=1.41 ServerAPI=1.41 base: https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/artifact/yetus-jdk8-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/3667

Optional Tests
javac javadoc unit shadedjars compile

uname
Linux aa77cb1a607d 4.15.0-143-generic #147-Ubuntu SMP Wed Apr 14 16:10:11 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / d956828aac

Default Java
AdoptOpenJDK-1.8.0_282-b08

Test Results
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/testReport/

Max. process+thread count
2645 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hadoop.apache.org/job/HBase/job/HBase-PreCommit-GitHub-PR/job/PR-3667/6/console

versions
git=2.17.1 maven=3.6.3

Powered by
Apache Yetus 0.12.0 https://yetus.apache.org

This message was automatically generated.

Attached 2 new screenshots in HBASE-21521. Attaching here also.

This now uses the MonitoredTask that we already have and removed many of the classes that I added as a part of 1st review process.
The only thing I find little bit redundant is number of status it creates while waiting for RS to become online.
Every WAIT_ON_REGIONSERVERS_TIMEOUT seconds (which defaults to 4.5 seconds), it will create a new status with updated message. I like the way it tells the operator that how many RS it was waiting for to become online.
@joshelser  @apurtell  please review again. Thank you !

Any progress here?


👷🏻♂ Collateral lock withdraw fix

Current collateral locks do not prevent withdrawal. This PR follows auditor's recommended fix.
Description

Add further validation when checking CollateralModule.withdraw(...)
Test validation

Motivation and Context
I was reading through v3 today and noticed this issue mentioned by the auditor. I decided to take a few minutes to implement a fix to help out 👍

looks like CI pipeline is mostly not executing, will need to verify what is going on with that before this can be merged. sorry!

Should be good to go now 👍


Add examples description into the reade

As per @jorgepz , also add keywords: finite-element-method machine-learning


Refactor support for multiple Meson projects

There were many issues, including:

The most common case is to have a meson.build at the root of the workspace. In that case we should not ask user anything.
Only the first meson.build in a subdir tree is useful, others are unlikely to be projects.
We need a way to never ask again to select a meson file, especially important when opening meson project itself which does not have a meson.build at the root, but many projects in test cases.
If the user cancels selection, the meson extension cannot do anything and should be hidden.
Selecting a meson file and configuring the project are 2 distinct questions. The user may want to select a file but not let vscode configure it. It is common to configure from an external terminal.

CC @tristan957 @wolfpld. Could you please test this PR with your multiple projects case?

I'll probably take a look Saturday or Sunday. Does the current situation with 1.18.1 work for you?

I think we have some significant communication issues here.
This is the first time you mention having a build dir preconfigured before opening the workspace in VS Code. Only now can I see what your comments about preferring a root-level meson.build really meant. To me, the sort order of the initial list was irrelevant, as it was sorted later when it was to be shown to the user. Yes, your use case is important to preserve, and it was not properly handled by my changes, but instead of properly describing what the problem was, you chose to hasten the changes, resulting in a rushed #190, as can be seen by reading your own post-merge comments there. The alternative I presented, which by the way was waiting half a day, would give you the inconvenience of having to choose the default option from a list once. Sorry, but I don't see that as a major deal breaker.
Nota bene, if we are talking about breaking workflows, the workflow in which you select to configure the workspace, in the very dialog you are refactoring in this PR, has been broken for half a year, since May, and no one noticed.
Regarding your question, I don't know how these changes affect me. Because of the communication problems I do not know where the development is going. I asked some questions in the PRs yesterday and I am still waiting for your answer. At this point, I don't know if I want to continue putting time and effort into contributing to this repository, or if I should just fork, do what I need for my use case, and rely on that instead.
Ultimately, as @tristan957 said, you "definitely need more contributors to this extension". It's up to you how you want to handle that.

@wolfpld sorry if it wasn't clear what was broken, it seemed pretty obvious to me since just opening any project results in the mentioned problems.
In any case, this PR fixes tones of things, not all related to multi projects repository, so I think it would be a good improvements anyway.

I think it would be a good improvements anyway.

I agree.

The most common case is to have a meson.build at the root of the workspace. In that case we should not ask user anything.
Only the first meson.build in a subdir tree is useful, others are unlikely to be projects.

I wouldn't say that my use cases support these statements, but at this point it doesn't matter. There are things that need to be ironed out in my implementation and your proposed solution fixes most of the pressing issues (albeit not in an ideal way from my point of view).

We need a way to never ask again to select a meson file, especially important when opening meson project itself which does not have a meson.build at the root, but many projects in test cases.
If the user cancels selection, the meson extension cannot do anything and should be hidden.

As mentioned earlier, this was the result of a well-intentioned change (if a === true => if a) where the variable type was not just boolean. This flew under the radar and broke the dialog.

Selecting a meson file and configuring the project are 2 distinct questions. The user may want to select a file but not let vscode configure it. It is common to configure from an external terminal.

Would that be to set things such as build type, or such? Maybe this should be exposed in the GUI somehow?

Some relevant notes about the internal implementation of VS Code mementos:
The memento data is stored in %APPDATA%/Code/User/workspaceStorage/<workspace hash>/state.vscdb. The workspace.json file in the same directory allows to identify which workspace it is.
The state.vscdb file is a sqlite database with ItemTable as the only table. This table has two columns: key, a unique text, and value, a blob.
All mementos used by this extension are stored in a row with the key mesonbuild.mesonbuild. The value column stores a json data with key-value pairs as specified in the code.
sqlite> select value from ItemTable where key='mesonbuild.mesonbuild';
{"mesonbuild.buildDir":"/home/wolf/meson-test-repo-multi/a/b/c/d/e/build","mesonbuild.sourceDir":"/home/wolf/meson-test-repo-multi/a/b/c/d/e","mesonbuild.mesonFile":"/home/wolf/meson-test-repo-multi/a/b/c/d/e/meson.build"}

The memento state can be reset with the following command: delete from ItemTable where key='mesonbuild.mesonbuild';.

You left a merge conflict in

It would also  be great to get some of this split out into separate commits. Some of the changes seem unrelated to multiple meson projects. I like the refactoring you did with dialogs.ts

You left a merge conflict in

Fixed.

It would also be great to get some of this split out into separate commits.

done.

I found a problem that was probably always present in the code, but is now better exposed.
Assuming you have selected a project root, if the "Meson project detected in this workspace but does not seem to be configured..." dialog appears and you click the "no" button or the "x" close button, the project is not configured and the extension continues to work as expected. For example, you can "select project root directory" and it will work.
However, if you close the initial dialog with the Esc key instead, the extension will not respond. No command (e.g. "select root dir" or "reconfigure") will work in this case.

Another problem: When the "select project root directory" command is selected (but not when it is displayed in response to the "multiple meson projects detected..." dialog) and you click outside the selection popup, the popup closes and the VS Code window reloads, and the "multiple meson projects detected..." dialog reappears, even if you have already made this selection.

However, if you close the initial dialog with the Esc key instead, the extension will not respond. No command (e.g. "select root dir" or "reconfigure") will work in this case.

I think this is how vscode is expected to work... https://github.com/Microsoft/vscode/issues/62853. Pressing escape hide that notification, but it's still running. In our code that means we are still awaiting for the response.

When the "select project root directory" command is selected (but not when it is displayed in response to the "multiple meson projects detected..." dialog) and you click outside the selection popup, the popup closes and the VS Code window reloads, and the "multiple meson projects detected..." dialog reappears, even if you have already made this selection.

Right, if selectRootDir() returns undefined we should consider the user cancelled the request and keep using current sourceDir. But we probably should add a special value in the dropdown menu to select "no meson project". For now I updated this PR to not update when it returns undefined.

Rebased and it uses @tristan957's sorting algo. Good to go?


Can't find aws credentials

Summary
Creating an ebs volume fails with the error NoCredentialProviders: no valid providers in chain even though I have working keys in the ~/.aws/credentials file
Expected Behavior
Should be able to read the creds
Actual Behavior
root@ip-172-31-25-54:~# docker volume create --driver=ebs --name=example-ebs
Error response from daemon: create example-ebs: VolumeDriver.Create: {"Error":"error getting volume"}

Hi @jonathan-kosgei,
We appreciate you submitting the issue and would also very much like if you would adhere to the guidelines for doing so, including attaching debug logs via a Gist.
Per the EBS driver's documentation it should support AWS SDK native means of storing credentials, but I wonder if there's a bug?
The only other idea off the top of my head is whether your credentials are stored in your home directory or the root user's home directory as REX-Ray would be running as root.

Hi @jonathan-kosgei,
After reviewing the pertinent sources I'm inclined to think this is a bug FWIW. I believe the AWS SDK would do the right thing if we weren't insisting that credentials should be derived from our configuration or the client.

Hi @jonathan-kosgei,
May I ask why you closed this? FWIW I did some more digging and noted that the EBS driver does in fact refer to the environment variable and credential file provider if they're present:
			Credentials: credentials.NewChainCredentials(
				[]credentials.Provider{
					&credentials.StaticProvider{
						Value: credentials.Value{
							AccessKeyID:     akey,
							SecretAccessKey: skey,
						},
					},
					&credentials.EnvProvider{},
					&credentials.SharedCredentialsProvider{},
					&ec2rolecreds.EC2RoleProvider{
						Client: ec2metadata.New(sess),
					},
				},
			),

Thus it should work for you. I'm curious as to why you closed the issue with no comment?


MAAS-100 | Allow empty charfields in API and ticket system error responses

I was not fast enough.


Switching desktops misaligns the border

Whenever I switch desktops, the borders just leave the window they're attached to
Before switching:

After switching:

OS: Windows 10 22h2 (with rectify11 and explorerpatcher)

Hi, what do you mean by switching desktops? And what version of tacky-borders are you running?

Hi, what do you mean by switching desktops? And what version of tacky-borders are you running?

I mean switching desktops from task view, or in my case, by touchpad gestures, and I'm running the latest version (0.2.0)

Unfortunately, I can't reproduce the issue on either my laptop with touchpad gestures or on my desktop. Perhaps you could try the latest preview build here: https://github.com/lukeyou05/tacky-borders/releases/tag/v0.3.0-preview

Unfortunately, I can't reproduce the issue on either my laptop with touchpad gestures or on my desktop. This may just be a Windows 10 thing, and I don't have any machines running Windows 10 anymore. Perhaps you could try the latest preview build here: https://github.com/lukeyou05/tacky-borders/releases/tag/v0.3.0-preview

Ok I tried the latest preview and the issue is somehow gone, closing this issue.


Disable beeper sound?

Hi, first of all: it is such a great app, especially the aesthetics!
Have you considered to add the possibility to toggle sound output?
It could improve the UX a bit, because some people are more sensitive to beeping sounds :)

Hi, You are right!
Sound can now be turned off by long press the A button on the home screen.
thank you :D


Website Error: Running test under Windows 10 (config filename issue)

I'm a total newbie to RP2 and DaLI (and have very limited experience with Python), but found a problem while trying to set it up today..
On the DaLI website, under section "Running", it says the following:

Finally compute taxes with RP2 using the generated input files (using both FIFO and LIFO accounting methods):
rp2_us -m fifo -o output/ -p rp2_ output/test_crypto_data.config output/test_crypto_data.ods
rp2_us -m lifo -o output/ -p rp2_ output/test_crypto_data.config output/test_crypto_data.ods

Executing this on Windows 10 returns an error, saying that it could not find a file named "output/test_crypto_data.config".
This is because, (at least on Windows), the config file generated by DaLI was named "output/test_crypto_data.ini". (The filetype was ".ini" not ".config").
Replacing ".config" with ".ini" allowed it to run on my installation, which was installed using "pip".
eg:

rp2_us -m fifo -o output/ -p rp2_ output/test_crypto_data.ini output/test_crypto_data.ods
rp2_us -m lifo -o output/ -p rp2_ output/test_crypto_data.ini output/test_crypto_data.ods

Thanks for reporting! I think you may be using an outdated version of the documentation. Check the latest version on Github: https://github.com/eprbell/dali-rp2?tab=readme-ov-file#running
Here's a screenshot:

Thanks for the quick reply.
The URL that has the old info is:  https://pypi.org/project/dali-rp2/#running
I ended up there by following the link on the DaLI-RP2 main GitHub page, which says:

Download
The latest version of DaLI can be downloaded at: https://pypi.org/project/dali-rp2/

I see now that the two are out of sync.

Ah, got it. This means I need to make a new official release for Pypi: there have been several bug fixes and improvements so I need to do that. I'll try in the weekend. Thanks again for reporting!

I'm closing this as it looks like this issue is resolved. Please let us know if you need further help.


Crazy affine

This PR is thousands of lines long; it is not possible for me to review that amount of code in one go.
But actually I'm going to close this PR because I don't think that the FLT repo is a good place to have the theory of Hopf algebras: they really should be in mathlib. Other people at Imperial are moving this material over to mathlib but this PR is still very useful because it shows us the API which we need.


grammar issue

Issue/Feature Description:
Why this issue to fixed / feature is needed(give scenarios or use cases):
How to reproduce, in case of a bug:
Other Notes /  Environment Information: (Please give the env information, log link or any useful information for this issue)

issues is done

done


Blank Screen when I open the application

Describe the bug
Whenever I open the application, I can see a white blank screen.
To Reproduce
Open the application.
Expected behavior
Should see the screen with all the options.

Screenshots
If applicable, add screenshots to help explain your problem.
Technical Info (please complete the following information)

OS: Ubuntu 18.04
Tusk Version: Latest

Additional context
Add any other context about the problem here.

Hi,
I found that this PR has solved the issue. https://github.com/klaussinani/tusk/pull/317 You can either checkout that forked branch, since it has not been merged at the moment. Or you can follow this comment to solve your problem as well https://github.com/klaussinani/tusk/issues/308#issuecomment-777084435
Cheers!


node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp

child_process: customFds option is deprecated, use stdio instead.
module.js:338
    throw err;
          ^
Error: Cannot find module 'nan'
    at Function.Module._resolveFilename (module.js:336:15)
    at Function.Module._load (module.js:278:25)
    at Module.require (module.js:365:17)
    at require (module.js:384:17)
    at [eval]:1:1
    at Object.exports.runInThisContext (vm.js:74:17)
    at Object.<anonymous> ([eval]-wrapper:6:22)
    at Module._compile (module.js:460:26)
    at evalScript (node.js:431:25)
    at startup (node.js:90:7)
gyp: Call to 'node -e "require('nan')"' returned exit status 1. while trying to load binding.gyp
gyp ERR! configure error

it seems you haven't installed nan yet.

Sorry, I should hav given more context. This happens when I include nan in my binding.gyp file like the example files show.
{
  'targets': [
    {
      'target_name': 'module',
      'sources': [ 'module.cc' ],

      'include_dirs': [
        "<!(node -e \"require('nan')\")"
      ]
    }
  ]
}

Is there a way to install nan automatically before running the  include_dirs of node-gyp build?

@srossross you should write nan down in package.json, the dependencies section.

This is in my package.json as:
  "dependencies": {
    "nan": "1.1.0"
  },

@srossross add ''' "gypfile": true ''' to package.json, then use '''npm install''' to build your package. It'll install nan automatically.
Sent from my iPhone

On 17 Mar, 2015, at 2:38 pm, Sean<EMAIL_ADDRESS>wrote:
This is in my package.json as:
"dependencies": {
"nan": "1.1.0"
},

Reply to this email directly or view it on GitHub.

Thanks!

..issue on Ubuntu Trusty.     You have to set NODE_PATH=..path/to/global/node_modules .....and than it works to find nan after installing it ( npm install -g nan)  - node -e "require('nan')" works after this ..

The problem might be a conflicting package that sets "/usr/sbin/node" to something not nodejs related. This may cause the test to fail.

node -e "require('nan')"


Add ELK support for Ceph

Add logstash template file for ceph.
Add a beaver ceph.conf file for ceph containers and hosts.

:+1:

I think the commit message should mention the logs this doesn't capture.


:seedling: Add fossa license scanning badge

Summary
Add fossa license scanning badge

Related issue(s)
https://github.com/open-cluster-management-io/ocm/issues/296
Fixes #

/approve
/lgtm


update observatorium cr name

Signed-off-by: clyang82<EMAIL_ADDRESS>

forcefully merge this PR since it has cross-dependency with MCO-o


add support for producing standalone hot backup base backups, assumes…

… that wal archiving is disabled

this is a recent addition to our environment.   We have a database which generates 1000s of wals every few hours, but we can recover more quickly from a complete base backup and skip the wals, so I wanted to have a way to configure a pghoard installation which only does complete base backups every x hours and does not do wal archiving of any kind.
I was not sure if this was going to be acceptable or not?

Ok, I have pushed the branch again with tests and updates to Readme.rst

bugger, will fix this for python 3.7, did not expect a difference result, apologies

ok just realised 3.7 tests postgresql 10, which my vagrant env does not have, ok should be able to fix this.

ok just realised 3.7 tests postgresql 10, which my vagrant env does not have, ok should be able to fix this.

I separated the vagrant env into two separate instances:
postgres 9.4 + python 3.5 and 3.6
postgres 10 + python 3.7

all done please merge

If you are happy with this please merge, I am waiting on this MR, so that I can commit the sftp client merge as well, which is based on this one.

Anything further on this, I made the changes you requested including tests, let me know if you require me to add anything else.

Thanks for the PR, have just been busy with other things.


Receiving "Property 'css' is missing" when try to use Heading component from the<EMAIL_ADDRESS>

Description:
I'm trying to use the latest version of react-magma-dom package which is 2.5.6, and receiving typescript error "Property 'css' is missing" for the Heading component.
Steps to reproduce:

Install<EMAIL_ADDRESS>and related packages.
Use Heading component.
Review the TS issue.

Here's sandbox with the reproduction:
https://codesandbox.io/s/heuristic-star-ik9w5?file=/src/App.tsx

This looks like an issue with emotion, a dependent package that we use => https://github.com/emotion-js/emotion/issues/1431 / https://github.com/emotion-js/emotion/issues/1249
We'll look at this some more and determine a solution.


Revert "test pr" - 61

[Auto generated]
Number: [#61]

github-gitlab-webhook-server: Closing issue for PR: Revert "test pr".
PR was closed.


Conflict header overlay positioning bug

The conflict headers overlay the list of conflicts when scrolling.

Using Atom v1.0.19
Merge Conflicts v1.3.6

Hmm, it isn't doing this for me:

What themes were you using?
The version of Atom may effect this as well, if the z-index of overlay decorations was changed in core somehow. Once I publish 1.3.7, can you confirm that this is still happening on 1.1.0?

@smashwilson this just happened to me too…
atom v1.1.0
merge-conflicts v1.3.7
Theme: Atom Light
Syntax: Solarized Light

If you need any other info, just let me know.

Hey @smashwilson - sure.
This is still happening for me. I'm using:
Atom v1.1.0
Merge Conflicts v1.3.7
Theme: One Dark
Syntax: One Dark

Add into atom styles.less file:
atom-text-editor {
  overflow: hidden;
}

It helps me.

I've the same issue with :
Atom v1.2.4
Merge Conflicts v1.3.7
Theme: One Dark
Syntax: One Dark

Thanks @maxkazar. In case anybody can't get to styles.less, it's in preferences -> config folder -> styles.less, and add the snippet that he posted.

same thing is happening for me, it's overlapping everything

The overflow trick helps, but still looks a little odd when only parts of the UI overlap the line numbers

Can you post your styles.less file?

I had to add "atom-text-editor" to line 15 (probably could have just replaced the class really - my styles file must be outdated)
/*
 * Your Stylesheet
 *
 * This stylesheet is loaded when Atom starts up and is reloaded automatically
 * when it is changed.
 *
 * If you are unfamiliar with LESS, you can read more about it here:
 * http://www.lesscss.org
 */

.tree-view {

}

atom-text-editor, .atom-text-editor {
  overflow: hidden;
}

.atom-text-editor::shadow .cursor {

}

/* !- Taken from Seti-UI */
.icons(@icons) when (@icons = true) {
  @import "styles/icons";
}
/*
 * Set below to false to not import Seti-UI icons.
 * Requries View -> Reload after changing value.
 * Mainly to use with file-icons package.
*/
.icons(false);

I don't think there's anything wrong with your stylesheet.  What's also odd is that your issue is a bit different from the previous ones.  Yours is off in the x-direction, but the 'fix' seemed to have remedied the y-direction.
:\
/*
 * Your Stylesheet
 *
 * This stylesheet is loaded when Atom starts up and is reloaded automatically
 * when it is changed and saved.
 *
 * Add your own CSS or Less to fully customize Atom.
 * If you are unfamiliar with Less, you can read more about it here:
 * http://lesscss.org
 */

/*
 * Examples
 * (To see them, uncomment and save)
 */

// style the background color of the tree view
.tree-view {
  // background-color: whitesmoke;
}

// style the background and foreground colors on the atom-text-editor-element itself
atom-text-editor {
  // color: white;
  // background-color: hsl(180, 24%, 12%);
}

// To style other content in the text editor's shadow DOM, use the ::shadow expression
atom-text-editor::shadow .cursor {
  // border-color: red;
}

atom-text-editor {
  overflow: hidden;
}

My guess would be that the other posts just didn't try scrolling left/right or had soft-wrap on or something so they couldn't.

You're absolutely correct.  I have the same issue haha.
Note: At a small enough width, it snaps back into place (it's too small a width though).

https://github.com/smashwilson/merge-conflicts/issues/188#issuecomment-159723232 This worked :+1:

Yes, on scrolling left it's overlay is on top of number line.

+1.
Atom 1.7.0
merge-conflicts 1.4.1
One Dark UI theme
Oceanic Next syntax theme
OSX 10.11.3

Same issue.
Atom 1.7.3
Merge-conflicts 1.4.2
One dark (UI theme)
Oceanic next (Syntax theme)


add support to switch URL / set variable

For testing different environments I like to switch between the target URL for environment 1 and environment 2. Currently I have the default value Localhost and if I specify I need to enter the complete URL.
An improvement would be to add the possibility to set a variable like environment.
An example you see below.
I set variable  to
I set variable targetUrl to string http://test.icemobile.com
I send a GET request to {targetUrl}/programs/{programId}
This variable should be available in the feature file.

Hmm basically what's requested is the implementation of a templating system for strings.
Makes sense to me and I like it. Let's push this.

I like it too! That's why it's already part of the library :).
Instead of variable use property and you should be ready to go!

I'm reopening this, because I see that the documentation is missing this feature.

Ok, templating of url's is documented now!


Add a more handy replacement for the pictures

Also, I might suggest adding a more handy replacement for the pictures.

@denis-k2 Thank you for your contribution!


NodePort workload gets an incorrect IP assigned in the UI

Rancher versions: master 02/03
Steps to Reproduce:

Create one DO cluster with multiple nodes
Create a second DO cluster
On the second cluster, create a workload with NodePort

Results:
In the UI, the workload address provided sometimes points to an address on a host on the second first cluster.

Also fixed with #11865

Confirmed fixed.


TermQueryConverter is failing to deserialize string value

Elastic.Clients.Elasticsearch version:
8.16.3
Elasticsearch version:
8.6.1
.NET runtime version:
.net9
Description of the problem including expected versus actual behavior:
I am trying to deserialize the following query:
{
  "query": {
    "term": { "Content.ContentItem.ContentType": "BlogPost" }
  },
  "size": 3
}

This query string is being deserialized using the SourceSerializer like this:
using var stream = new MemoryStream(Encoding.UTF8.GetBytes(query));
var request = _client.SourceSerializer.Deserialize<SearchRequest>(stream);

However, the code above fails to deserialize the value of the term query when it is provided as a string.
The following query works as expected:
{
  "query": {
    "term": { "Content.ContentItem.ContentType": { "value": "BlogPost" } }
  },
  "size": 3
}

Steps to reproduce:

Try to deserialize the query listed above using the code.

Expected behavior
I expect that the value will be deserialize from a string or from an object.

@flobernd thank you for your quick response.

this is not considered a bug as we do not guarantee that all types are round-trip serializable.
Understood. Since there is a built in serializer, it would be nice to support "shortcut".

PS: Please use the RequestResponseSerializer instead of the SourceSerializer 🙂

Done. With the same result (but I think you expected that too).

PS2: The Elastic.Transport namespace provides some useful extensions to e.g. directly deserialize from a string. This saves you the MemoryStream and Encoding.GetBytes overhead.

Does the Elastic.Transport support "shortcut"?

I ended up using Transport and directly query the server from string.
Thanks for your help.

Done. With the same result (but I think you expected that too).

Yes, this functionality will only be available when the new serialization logic is released (early next year).

I ended up using Transport and directly query the server from string.

This is a good workaround, especially for your use-case that involves raw string queries!


Fix initial number of counter

I made a javascript file such that
function test(){ } // test.js

and HTML file like below.
<!-- test.html -->
<script>test();</script>
<script src="test.js"></script>

But I got
========== SORT BY TIME ==========
test.sjsp.js:1 time:    0.00sec   count:       2         test.js           test   (line:   1, col: 16)   function test(){ }
========== SORT BY COUNT ==========
test.sjsp.js:1 time:    0.00sec   count:       2         test.js           test   (line:   1, col: 16)   function test(){ }

I think number of count is not 2 but 1.
(In the source code, the initial number of counter is 1 and incremented after that.)
After fix, the number works correctly.

Thank you!


update code from webflow

Should we merge into https://github.com/natalieconan/sami-hackathon instead? @natalieconan


The "Close" Click does not work when code contains multiple Chests

There is a code aktive, that gives you 3 Gold Zorbus Chests.
The App stops here and does not know what to do. If i click on the button manually raltively fast the script runs on, otherewise it crashes.

fixed in https://github.com/kpa23/idle_codes/releases/tag/0.1.5


lack of inference_raw.json for BIP-ALM test evaluation in reproducing

Hi Chuanyang,
Could you release the inference_raw.json file used in text_parsing.py for test evaluation?
To reproduce the  _BIP-ALM_method test, we need the multimodal_representations.json file. However, generating this file requires running text_parsing.py with inference_raw.json, which is not currently available in the repo (and also lacks instructions on how to create it).
If the inference_raw.json file can be released (or, more straightforwardly, if the final evaluation test data multimodal_representations.json for BIP-ALM can be released), it will enable successfully reproducing the test evaluation of the proposed  BIP-ALM method. This would help to enhance the impact and reproducibility of this smart paper within the community.
Thank you very much!

We have released the requested files. You can now find them in the folder "files" for use in reproducing our results. Thank you for bringing this to our attention!

We have released the requested files. You can now find them in the folder "files" for use in reproducing our results. Thank you for bringing this to our attention!

Thank you very much, Chuanyang! They are super helpful.
I would also like to share some additional .json files used in the middle process: Google Drive folder in case anyone wants to use them.


Lexer: Add skip whitespace fastpath

Summary
Adds a fast path for skiping whitespace when indentation handling (when inside parentheses) isn't needed.

Test Plan
This improves performance by about 2-4% when running locally
cargo test

Current dependencies on/for this PR:

main

PR #7184   👈

This comment was auto-generated by Graphite.


Expected a string path to an existing deepspeed config, or a dictionary, or a base64 encoded string. Received: ds_config_zero2.json

It happen this error, anyone konw how to solve?

maybe the relative path of deepspeed config json is incorrect. try the absolute path or fixing the relative path.

how did you solve this problem?

I would check the relative path, or try specifying an absolute path.  If those aren't able to fix it, can you share your ds_config and the command you are specifying?

No, the path of the ds_config that you are specifying in your command.  If you are still having issues, please open a new issue and we can take a look at your issue.  Thanks!

Thanks, I solved it
[image: Mailtrack]
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
Sender
notified by
Mailtrack
https://mailtrack.io?utm_source=gmail&utm_medium=signature&utm_campaign=signaturevirality11&
10/10/23,
08:51:44 AM
Logan Adams @.***> 于2023年10月9日周一 22:51写道：

No, the path of the ds_config that you are specifying in your command. If
you are still having issues, please open a new issue and we can take a look
at your issue. Thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/microsoft/DeepSpeed/issues/4156#issuecomment-1753161279,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AKJMOBD6LCHQKEKXY37XVWDX6QFQTAVCNFSM6AAAAAA3R46MBKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONJTGE3DCMRXHE
.
You are receiving this because you were mentioned.Message ID:
@.***>

how to solve the problem？

@zhmingzhaung - if you are still hitting an issue like this one, can you please share the full error here or open a new issue?  Thanks!

I had the same error using deepspeed in axolotl, how did you solve the problem？

Make sure the path is correct and the file actually exists. Relative folders do work, even "../path/to/theconf.json" I got this error just because the file was in another path.


Add icon meta field to beta categories

As the use of the category_icon macro expands (I am currently adding it to the events hero) the logic controlling the appropriate icon may become quite complex.
We should consider adding an icon meta field to the beta categories (and eventually event categories as they're created) to remove the logic from the macro.

This is still an issue in wagtail, but it could be fixed with a refactoring. It's probably low priority.

This has moved but it's still there https://github.com/cfpb/cfgov-refresh/blob/master/cfgov/jinja2/v1/_includes/macros/category-icon.html

After discussing with Scott and looking at all the places this is implemented, this isn't quite as simple any more. Would still love to see the logic moved out of the templates, but not sure it should be a high priority compared to a lot of other work we have waiting.

This looks to have been fixed by https://github.com/cfpb/consumerfinance.gov/commit/58de811f7cb18f88203d1a0f358dee73df5cf1f4