Author URLs do not appear in sidebar, despite being generated properly.

Environment

Minimal Mistakes version: 4.22.0
Ruby gem or remote theme version: Not sure
Jekyll version: Not sure
Git repository URL: github.com/masasin/masasin.github.io
GitHub Pages hosted (if yes provide URL to site): masasin.github.io or jnassar.com
Operating system: Linux

Expected behavior

I would expect the follow button and the location, email, and urls to be displayed. Instead, when I inspect the sidebar, I see that the wrapper exists with all the right fields filled in, but the height of the container is set to zero for some reason.
Steps to reproduce the behavior

I emptied the repo and made the Gemfile from scratch. I copied the _config.yml over and customized it. The profile wasn't appearing, so I added a _pages default. The information didn't appear, and it didn't appear on Github either.
Other

Repo linked above.

The Follow button only shows on narrower screens (< 1024px by default), and the author links are displayed in a pop-up after clicking that button.

On wider screens (≥ 1024px) the author links are laid out plain:

I'm not sure what you're expecting. Can you make it clearer what it's about?

I wasn't seeing anything at all.

I thought it was a configuration error, but it seems to be something wrong with uBlock Origin that I use. Turning it off made it appear, and also showed the social sharing in the footer. Thank you!
Now, I'm just curious why this happens, even when I put uBlock Origin into accept all mode.

You're probably using AdBlock Plus as well, which is blocking social icons. I recommend you get rid of ABP and stick to uBO - running two blockers isn't more beneficial than one.

I wasn't. I was just using uBO. But I turned things on and off, and the ones that broke it were:

AdGuard Social Media
Fanboy's Annoyance
Fanboy's Social

(All are under Annoyances.)


If container is not in correct state podman exec should exit with 126

This way a tool can determine if the container exists or not, but is in the
wrong state.
Since 126 is documeted as:
126 if the contained command cannot be invoked
It makes sense that the container would exit with this state.
Signed-off-by: Daniel J Walsh<EMAIL_ADDRESS>

I tested this and can confirm it works. Previous behaviour:
[root@controller-0 ~]# podman exec nonexisting /bin/true; echo $?
unable to exec into nonexisting: no container with name or ID nonexisting found: no such container
125
memcached is stopped
[root@controller-0 ~]# podman exec memcached /bin/true; echo $?
cannot exec into container that is not running
125
After I patched podman with this review:
[root@undercloud-0 ~]# podman exec nonexisting /bin/true; echo $?
Error: unable to exec into nonexisting: no container with name or ID nonexisting found: no such container
125
[root@undercloud-0 ~]# podman exec memcached /bin/true; echo $?
Error: cannot exec into container that is not running: container state improper
126
Thanks again!

LGTM and happy green test buttons.

/lgtm


Chip io fixes 10 18 2022

Fixes to chip_io for LVS, plus a few other fixes:  (1) removed obstruction layers from gpio_control_block, (2) added pins back to the top level pad locations;  (3)  fixed a few power routes that needed beefing up.

@RTimothyEdwards This is a PR to merge to main. Please change it to caravel_redesign


[FEATURE]  Add Streaming to AWS Bedrock

Is your feature request related to a problem? Please describe.
There is lack of streaming implementation for AWS Bedrock
Describe the solution you'd like
Add BedrockAnthropicStreamingChatModel
Describe alternatives you've considered
None
Additional context
Previous PR https://github.com/langchain4j/langchain4j/pull/679

Implemented in https://github.com/langchain4j/langchain4j/pull/1006


:sparkles: add graphite support

Hi @yazgoo,
Thank you for your contribution! We really value the time you've taken to put this together.
Before we proceed with reviewing this pull request, please sign the Lightbend Contributors License Agreement:
http://www.lightbend.com/contribute/cla


Timezones are opposite to what they should be

This is a pretty weird bug, and I'm not even sure if I'm just going crazy, but humour me:
iex(18)> timeNow = Timex.Date.now
%Timex.DateTime{calendar: :gregorian, day: 16, hour: 21, minute: 14, month: 11,
 ms: 579, second: 48,
 timezone: %Timex.TimezoneInfo{abbreviation: "UTC", from: :min,
  full_name: "UTC", offset_std: 0, offset_utc: 0, until: :max}, year: 2015}
iex(21)> userTime = timeNow |> Timex.Timezone.convert("GMT+1")
%Timex.DateTime{calendar: :gregorian, day: 16, hour: 20, minute: 14, month: 11,
 ms: 579, second: 48,
 timezone: %Timex.TimezoneInfo{abbreviation: "GMT+1", from: :min,
  full_name: "Etc/GMT+1", offset_std: 0, offset_utc: -60, until: :max},
 year: 2015}
iex(22)> userTime = timeNow |> Timex.Timezone.convert("GMT-1")
%Timex.DateTime{calendar: :gregorian, day: 16, hour: 22, minute: 14, month: 11,
 ms: 579, second: 48,
 timezone: %Timex.TimezoneInfo{abbreviation: "GMT-1", from: :min,
  full_name: "Etc/GMT-1", offset_std: 0, offset_utc: 60, until: :max},
 year: 2015}

I'm running 0.19.5

This is intentional in the Olson timezone database (and totally confusing, I agree). See this link for more information.

Thanks for responding so quickly. I wonder who's idea that was... Totally bizarre.


Adjust requirements.txt

Just need semantic-version instead of setuptools-rust

Pull Request Test Coverage Report for Build<PHONE_NUMBER>
Details

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 66.378%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
1913

Relevant Lines:
2882

💛  - Coveralls


Align FontIcon inside Button component

At documentation page the icon is accurately align to the left side of the button.

But it looks different in my demo.

Code:
<RaisedButton label='Sign in with Github'>
    <FontIcon className="muidocs-icon-custom-github"/>
</RaisedButton>

Styles:
<link href="http://material-ui.com/css/main.css" rel="stylesheet" type="text/css">

I included this css file because I wanted to get the same icon as in doc page. It is just for test.
Of course I can do style inlining for the button and fix the issue. But it doesn't look good for me.
How to align icons inside buttons properly?

material ui not need css file?

+1. I tried both "before" and "after" for the labelPosition property, but nothing changed.

material ui not need css file?
I included css file from material-ui.com because of using muidocs-icon-custom-github classname. I wanted to reproduce button view exactly as it looks at material-ui.com.

I'll update my post. Thx.

This partialy solve the issue https://github.com/callemall/material-ui/pull/2014. We still have before and after option that are inversed.

+1 for centering the icon.

+1

My very first experience with this library: broken buttons

@subjectix I think that the up coming v0.14 is the right moment to fix this (introduce a small breaking change).

@mccxiv You are right, the issue is that the demo components are altered by the documentation. We are moving each demo into an isolated component, this will be fixed and shouldn't happnend again.

@oliviertassinari Yes I agree. any clue how to solve this? I'm clueless :grimacing:

I aligned my FontIcon in Button by <FontIcon style={verticalAlign: 'middle', lineHeight: '36px'} ... />
36px is the line height of parent element (here Button)

https://github.com/callemall/material-ui/pull/2874 Is partially solving the issue.
We still have a wrong default value for the labelPostion. We should change it for the next breaking changes release: v0.15.0.


Fractional Knapsack Problem

:red_circle: Title : Fractional Knapsack Problem using Python 3 language
:red_circle: Directory : Knapsack
:red_circle: Name : Abhishek Sharma
:red_circle: Contribution type :

[x] Hacktoberfest 2021
[x] Contributor

:red_circle: Approach : To solve this Fractional Knapsack problem, I will be using the Brute Force Method.
🔴 Problem Statement : Given weights and values of n items, we need to put these items in a knapsack of capacity W to get the maximum total value in the knapsack.
Input:
Items as (value, weight) pairs
arr[] = {{60, 10}, {100, 20}, {120, 30}}
Knapsack Capacity, W = 50;

Output:
Maximum possible value = 240
by taking items of weight 10 and 20 kg and 2/3 fraction
of 30 kg. Hence total price will be 60+100+(2/3)(120) = 240

@prathimacode-hub Please assign me this issue, I'll be contributing as a Hacktoberfest 2021 participant.

Issue assigned to @abhisheks008


Rebase on master branch

The master branch has diverged from this one quite a bit, so I rebased on master and resolved the conflicts. Only the two most recent commits are new.
New commits:

Extract yarn lint command from CI so it can be run it before pushing without having to remember the options.
Remove version from package.json since we're not publishing an NPM package.
Add a packageManager field to prevent Corepack from using yarn v3 and adding files to the repo.

The merge conflicts were minor except for nav_menu.js. @texpert I would appreciate it if you'd take a look at that file to make sure it is as it should be.

nav_menu.js looks good to me.
I don't quite get it about the change from yarn eslint . --ext .js,.jsx,.ts,.tsx to yarn lint - I am not very accustomed to JS ecosystem. Can you elaborate, please?!
Also, I'm in doubt about merging this PR into owen2345:feature/version-3. I'm afraid it could cause a mess. The correct way, IMO, is to rebase the owen2345:feature/version-3 branch on master.

I don't quite get it about the change from yarn eslint . --ext .js,.jsx,.ts,.tsx to yarn lint. Can you elaborate, please?!

I needed to run eslint locally. I couldn't rememberyarn eslint . --ext .js,.jsx,.ts,.tsx, so I put that command in package.json as a script so we can just type yarn lint instead. I picked up that pattern from the Rails bundling gems, which use the same process to create yarn build and yarn build:css. If you look at the scripts key in package.json you will see that it's running the same command as before.
I would normally put a change like that in a different PR. In this case, though, I couldn't run the linter locally at all without adding packageManager to package.json to get Corepack to behave, so CI was failing every time I pushed. Since I was already changing that file, I went ahead and added the linter script as well.

The correct way, IMO, is to rebase the owen2345:feature/version-3 branch on master.

That's what this PR does. I don't like it either.
In this case the branches have enough conflicts that rebasing is not much cleaner than a merge. I tried it both ways, and this PR is the version where I rebased, but I wasn't happy with the PR diff on either version.
I would gladly trash this entire PR for something cleaner if it's available. I suppose I could force-push the branch to rewrite the history without a PR, but I wasn't about to do that without getting eyes on the result first.
Right now though, I can't develop on this branch because there are too many changes on master that haven't been merged. I'm also worried that these branches will continue to diverge, creating more of these messes.

@brian-kephart, thanks so much for explanation about adding the yarn lint command!
I have successfully rebased the feature/version-3 branch on master, so you can merge your last 2 PRs into.
I'd propose after this to merge feature/version-3 into master, renaming the PR to a 2.8 release, and to craft the 2.8 gem. Because it seems we have more things to do for a major release, and it is better to not gather huge PRs like this, but release more frequently smaller changes.


Inappropriate Type Narrowing on Iterative Variable Reassignment

🔎 Search Terms
"type narrowing", "type narrowing within loop"
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about type narrowing.

⏯ Playground Link
https://www.typescriptlang.org/play?ts=5.2.2#code/FAFwngDgpgBAyiKEYF4YG9g2zAzoiAOQEMBbKALjxACcBLAOwHMscGoAPEBJKn5AD4wGAVwA2YgNzAAvsGABjAPYN81JABk6atAG0A5MX0AaGPoBGJswv0BdaWKggYACyjEAJvz4EYQ0RKowuJSwI7OEDRQAG7e8L7+IUEBocD4mtogAHQAZko0AKLECi4AFKXpRGRQAJSoAHwYrNjKqs7sAO5x-EGYOP3qVeTGzQPsXHEpo3KjdDkwpW6ePSirwRJ1fQPYS16+aJ380v0z-XMLkTH8m6P9l7EEWePc+8JQXQTHOKc49ytvHyQ0hkNXk4GgMEYOSgNCiHgAKpBYGhwVAlPNdvxgAB6bHYAB6AH5gEA
💻 Code
type Step = {
    stepName: string
    nextStep: Step | null;
}

const stepList = ['a', 'b', 'c'];
let headStep: Step | null = null;
let prevStep: Step | null = null;

stepList.forEach((stepName) => {
    const newStep: Step = {
        stepName,
        nextStep: null
    }

    if (headStep === null) {
        headStep = newStep;
    }

    if (prevStep) {
        prevStep.nextStep = newStep;
    }

    prevStep = newStep;
})

type inferredType = typeof headStep
//  ^?

🙁 Actual behavior
type inferredType = typeof headStep
//  ^? type inferredType = null

🙂 Expected behavior
type inferredType = typeof headStep
//  ^? type inferredType = Step | null

Additional information about the issue
Whenever headStep is reassigned within the forEach loop, the Step gets filtered out from the original type (wrongly narrowing).

Effects of callbacks aren't modeled in CFA, so your example is equivalent to

type Step = {
    stepName: string
    nextStep: Step | null;
}

const stepList = ['a', 'b', 'c'];
let headStep: Step | null = null;
let prevStep: Step | null = null;

type inferredType = typeof headStep
//  ^?

which is correct.
See #11498

Ohhh got it, thanks for the explanation @RyanCavanaugh! Just realised that I 👍 the original issue at some point in the past. I'll close this one.


Making Protonfix Scripts work on Non-Steam games via GE-Proton?

I recently submitted a fix for many Titles that aimed to resolve WMP9 Video Playback. Is there any way to make this apply to a Non-Steam title as well? A certain area of it will crash and i cant progress unless the video plays properly. Using Protontricks will make it black screen instead and force me to exit via the Steam Overlay
Steam Deck with GE-Proton 9-4

If the game is also on Steam you can make a protonfix for Steam and then with Steam's appid a .py file in for the Store with only the relative path to the Steam one.
If it's not on Steam then the filename depends on the store, check  https://github.com/Open-Wine-Components/umu-database for instructions.


Add a homescreen icon for iOS

This webapp makes a great addition to your home screen on iOS - and if it had a apple-touch-icon set up then it would look like a "real" app, too!
Here's a tutorial for it; it's pretty straightforward: http://blog.karlribas.com/2012/05/how-to-create-apple-touch-icon-for-your.html

Got it working! I'll add a PR for it.


[DOC] Add info about License in Readme

Add License information and link in readme file

Can I work on this ?

Sure

would like to work on this issue


exec.Run runner of kind "XXX" not found with k8s resources

What version of CUE are you using (cue version)?

$ cue version
cue version v0.4.0 darwin/amd64

Does this issue reproduce with the latest release?
yes
What did you do?

I'm still trying to cut down my module in order to send something short that reproduces my issue.
command: deploy: {
	apply: exec.Run & {
		r:                  release.#Release
		stdin: r.output
		cmd:   "cat"
	}
}

r.output being a string generated by a yaml.MarshalStream of a list in release.#Release. This list contains Kubernetes definitions.
I've noticed that if I use yaml.Marshal(single-resource) it works. It does not work with a list comprehension + strings.Join (same error)
The command works if I replace exec.Run by cli.Print with proper changes (stdin --> text, remove cmd)
What did you expect to see?
Command executed with sucess (prints r.output content)
What did you see instead?
Prints r.output content then exit with error
runner of kind "XXX" not found

XXX being the kind value of the first resource displayed (e.g. Deployment)

This issue has been migrated to https://github.com/cue-lang/cue/issues/1061.
For more details about CUE's migration to a new home, please see https://github.com/cue-lang/cue/issues/1078.


Provide sugar for putting static methods on an element constructor

It's sometimes valuable to put static methods on an element's constructor. The constructor is available only after registration and the polymer-ready method must be used to access and populate the constructor. The timing of this is inconvenient.
It would be better if there were simply something like a statics object on the element prototype for sugaring this. Strawman:
http://jsbin.com/qugazu/1/edit

Closing this issue due to age and the release of version 1 of Polymer - please feel free to re-open if this is incorrect.


Replace local config code with library config code

Asana task: [Permanent Config] Split common code into new repo
Description
This PR replaces the config code with the same code but from the new screens-config-lib library that was set up. The change does not move anything related to the config state modules though, since that will remain as is.

Ty for calling that out @cmaddox5 ! I scanned through other docs in the repo and didn't find any more references, but lmk if you think of/find any others


Minor refactor

Fixed small grammatical error.
Line 55 of CONTRIBUTING.md read : Since pREST is maintained by Nuveo (and community), Nuveo not professional support for pREST
This seems correct : Since pREST is maintained by Nuveo (and community), Nuveo does not provide professional support for pREST

@DudeWhoCode Thank you!

Thanks @DudeWhoCode


Update CPU and NNPA docs with min and max supported opsets

Description

Refactor documentation to show supported model opset range for each individual operator.
Add DeformConv to unsupported operator list (looks like we missed it on going to Opset 19)

"Summary" / Novella
There are now two "views" of Op versions. The "code" view (ie .py and CMakeLists.txt) uses ==Min== and ==UNSUPPORTED== values. They are set based on the versions of the operator we know work (ie an operator centric view).
The "documentation" view (ie *.md files) is Opset centric. The values presented there are based on model opsets and attempt to mask the complexity of how ONNX versions individual Operators. (ie Opset 19 uses the last updated version of Add, which is currently 14. So while it is technically accurate to say we only support "up to" Add 14, users may interpret that to mean their model's Opset must be less then or equal to <= 14, which isn't true.
For this PR, I set the Ops' ==MIN== in the code files based on passing models from the onnx-model zoo. For example say a model is based on Opset 6, has Operator X, compiles, and successfully runs with onnx-mlir. Further say Operator X has versions 1, 2, 7, 10 and 19. Since the Opset 6 model works and uses X, then what we have in onnx-mlir is likely minimally compatible with X version 2 (ie 2 is the latest version of X that's <= the model's opset 6). This is not a perfect test but it is a good launching point and lines up with the models we show as supported in our model-zoo testing.
In the code view, ==UNSUPPORTED== (if set), indicates an Op we support an earlier version of, but have not updated for a particular Opset. For example, if supported Op X was updated in Opset 19, but onnx-mlir has not been updated to handle X 19, then X's ==UNSUPORTED== will be set to 19. If we support the latest version of the Op available, ==UNSUPPORTED== is not set.
Since users and models are generally Opset focused, we make our documentation Opset centric. As a general statement, we only support models with a minimum Opset of 6. So continuing the example of Operator X, it has a ==MIN== of 2 and ==UNSUPPORTED of 19. Then our documentation (ie support statement) is that we only support models that contain Operator X if the model's Opset is between 6 and 18 (inclusvie).
The documenation's Opset minimum for each Op is calculated as max( Op's ==MIN==, 6). The Opset maximum for each Op is the Op's ==UNSUPPORTED== - 1 or *. Where * indicates we support the latest version available at onnx-mlir release. (The latest Opset available at release is specified at the top of the document view).

Jenkins Linux amd64 Build #12430 [push] Update CPU and NNPA docs... started at 18:55

Jenkins Linux s390x Build #12442 [push] Update CPU and NNPA docs... started at 19:55

Jenkins Linux ppc64le Build #11435 [push] Update CPU and NNPA docs... started at 20:03

Jenkins Linux s390x Build #12442 [push] Update CPU and NNPA docs... passed after 1 hr 24 min

Jenkins Linux ppc64le Build #11435 [push] Update CPU and NNPA docs... passed after 1 hr 47 min


Pool block and pool index size performance improvements

Modify pool_block_insert to insert a free block of equal size
at beginning instead of end of list of other blocks of equal size.
Modify ponyint_pool_index to remove a branch. @Praetonus can you review this? I think it's better (or no worse) at least on x86_64 but I'm not sure about ARM. I can undo this change if needed.

NOTE: This PR builds on top of PR #1565 that added benchmarks and includes that commit (which should become a no-op if this is applied after that one is merged).   I got these errors, which are in hash.cc.  It looks like a 32 vs 64 problem.
benchmark/libponyrt/ds/hash.cc: In member function ‘virtual void HashMapBench_HashResize_Benchmark::BenchmarkCase(benchmark::State&)’:
benchmark/libponyrt/ds/hash.cc:139:125: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 2 has type ‘size_t {aka unsigned int}’ [-Werror=format=]
 ize: %lu, old_size: %lu\n", testmap_size(&_map), _map.contents.size, old_size);
                                                                              ^
benchmark/libponyrt/ds/hash.cc:139:125: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 3 has type ‘size_t {aka unsigned int}’ [-Werror=format=]
benchmark/libponyrt/ds/hash.cc:139:125: error: format ‘%lu’ expects argument of type ‘long unsigned int’, but argument 4 has type ‘size_t {aka unsigned int}’ [-Werror=format=]
cc1plus: all warnings being treated as errors
Makefile:620: recipe for target 'build/release/obj/benchmarks/libponyrt/ds/hash.o' failed
make: *** [build/release/obj/benchmarks/libponyrt/ds/hash.o] Error 1
make: *** Waiting for unfinished jobs....
111

@pdtwonotes thanks for trying to run the benchmarks. It seems my printf debug statements before SkipWithError in the benchmarks are the culprit.
I'll let you know once I've gotten them fixed and verified.

@dipinhora switching to zu should solve this issue.

Changing %lu to %zu fixed that problem.  But I need instructions on how to actually execute the benchmark.

@pdtwonotes make benchmark will automatically build and run all the benchmarks (including the ones for the PoolBench, HashMapBench, and HeapBench).
If you want to instead run only the PoolBench benchmarks you can run the following after stopping the full benchmarks run that make benchmark would try and run:
./build/release/libponyrt.benchmarks --benchmark_filter=PoolBench

Also, according to this SO at http://stackoverflow.com/a/2524673, %zu is not entirely portable and not officially defined in the C++ standard until C++1x. I'll switch things over to using cout later today or tomorrow when I have time to spend on this again since the debug output only occurs after we've hit an error condition and performance doesn't matter much.

Here is what I get on RPi3.  The CPU speed is clearly off.   Now, how do I get the "before" numbers?
release> ./libponyrt.benchmarks --benchmark_filter=PoolBench
Run on (4 X 38.4 MHz CPU s)
2017-02-09 12:48:27
***WARNING*** CPU scaling is enabled, the benchmark real time measurements may be noisy and will incur extra overhead.

Also, I just noticed your comment about the cpu speed and scaling. You can do the following to control those:
# cpu frequency related stuff
cpupower -c all frequency-set -g performance --min $(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq) --max $(cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq) # ensure cpu runs at max speed (note this is bad for lowering power usage)

# disable turbo mode (cpu scaling)
# add the following to /boot/config.txt and reboot
force_turbo=0 # disable turbo mode for cpu

Ok, these should be the "before" numbers then.  The "CPU Iterations" numbers are lower.
 My results were very similar on x86_64 where the CPU time in ns was the same but the # of iterations was higher with the change.
@jemc Assuming the benchmark results from @pdtwonotes are acceptable, I'd suggest merging this and I'll open a separate PR for fixing the benchmarks on 32 bit systems.

@dipinhora - you had originally asked for @Praetonus to review this PR - do you still want him to do so?

@jemc thanks for the reminder. I had asked @Praetonus to review mainly because he had very recently optimized the same code (ponyint_pool_index) and I had assumed he would be able to verify whether this change would be better on ARM also or not.
I think it still makes sense for @Praetonus to give a quick review if he's available but @pdtwonotes benchmark runs to confirm performance on ARM can be used as a fallback if @Praetonus doesn't have the time.

I'll go ahead and merge - if @Praetonus wants to take a look and comment, he can do so asynchronously.
Thanks for all your work on this, @dipinhora!
And thanks for running the benchmark on ARM, @pdtwonotes!

Which is better, higher or lower "CPU Iterations" counts?

@pdtwonotes That's actually 2 column (but very hard to tell with how the output looks). The CPU column is the one with the ns and then Iterations column is the one with the large number.
For the CPU column, lower is better. For the Iterations column, higher is better.


how can i de-dupe .js and .d.ts in a JavaScript-based project?

Search terms

javascript
declaration
dts
.d.ts
Question
how can i make is so that this:

generates NOT this

but instead this (excuse my mspaint lol)

preferrable solution: if there's a .js file and a .d.ts file with the same-ish name, ignore the .js file
idk if there's a magic way to do this with "exclude": [... magic] or some fancy plugin? looking for help.
stackblitz thingie to see the problem live. https://stackblitz.com/edit/vitejs-vite-kzaymw
real world situation: writing code that really really should be in javascript (too complex to do tsc && the-main-thing-that-uses-js) and am using jsdoc. BUT there's no jsdoc equivalent (that i know of) to do declare global { interface Object { myPrototypeMethod(): void } } and so i made a .d.ts file... but now its picking up TWO files to document things and i dont want duplicates 😩

after some post-clarity googling after i wrote my question down 👆 i found that this works:
/** @ignore @module */
export function setupCounter(element) {
// ...

https://stackblitz.com/edit/vitejs-vite-vmmnen
https://jsdoc.app/tags-ignore.html
https://jsdoc.app/tags-module.html
note that just the @ignore DOESNT ignore the entire namespace and just ignores that specific function thing. somehow the magic @module makes it apply to the entire file? idk
// this doesn't cut it.
/** @ignore */
export function setupCounter(element) {
// ...

itd be nice if there was a generalized solution (plugin or magic exclude idk), but i can live with this manual jsdoc @ignore solution 😊

i tried it in my project and it worked! caveat: the @ignore @module comment MUST be the FIRST STATEMENT even before the "use strict"; thing if you're using commonjs. but if you do that, it WORKS! 🤩
closing since i solved my own problem. 👍

You've configured typedoc to read both files with the entry points in the tsconfig, so I think typedoc is behaving exactly as it ought to here..
I'd recommend either specifying what entry points you want explicitly, or potentially using a typedoc.config.js file where you can apply that logic yourself.
I recommend TypeDoc's documentation for tags over JSDoc's. They do not always mean the same thing. https://typedoc.org/guides/tags/, specifically https://typedoc.org/tags/module/

You've configured typedoc to read both files with the entry points in the tsconfig, so I think typedoc is behaving exactly as it ought to here..

i think it sorta depends on how closely you adhere to typescript behaviour. on one hand, yeah, per-file makes sense. on the other hand, typescript auto-resolves import "./theFile.js" to use types from ./theFile.d.ts and appears to ignore the .js. intuition from cli tools (operate on files) vs tsc (does fancy resolution overload logic). idk which is better really; i do know that i personally sorta expected tsc-like behaviour due to typedoc integrating so well with the tsconfig.json and other tsc tooling. 🤷♀

I'd recommend either specifying what entry points you want explicitly, or potentially using a typedoc.config.js file where you can apply that logic yourself.

$ find . -type f | wc -l
3873

yeah... i dont really want to put ~1000 files in my typedoc.json lol
the trick with typedoc.config.js seems like it might be a winner tho!

I recommend TypeDoc's documentation for tags over JSDoc's. They do not always mean the same thing. typedoc.org/guides/tags, specifically typedoc.org/tags/module

👍


In Requests, contacts collide messily on smaller screens

On smaller screens (320px on an iphone 5S), if there are larger currency amounts coupled with long contact names, the layout gets a bit messy.

Very minor, but something to think about.
Possible solutions:

Hide contact on smaller screens
Left align the contact under the amount only for smaller screens
Left align all 3 text elements, always

Looks like a CSS fault. The contact name should continue to truncate.
I doubt the screen could get small enough to the point where the contact name fully disappears. But if support for such sizes is found necessary then the contact name could possibly be placed immediately below the amount as per your #2 solution. But let's wait and see if it's an issue after the CSS min-width or w/e it is gets fixed up.


Allow Userstamps to synchronize with Laravel's Timestamps.

Laravel documentation includes instructions for disabling automatic timestamps on a model.

If you do not wish to have [timestamps] automatically managed by Eloquent, set the  $timestamps property on your model to false:

Since Userstamps  work alongside Timestamps, the expected behavior is that the Userstamps would stop automatically maintaining as well. This does not currently happen. The current behavior is not an issue if the Model does not support Stamping of any kind, but it becomes more difficult when adjusting on the fly with, for example, update events. Therefore I offer the following changes:

By default, turn off Userstamps if the Timestamps are not being maintained and vice versa.
Add semantically similar methods, like those offered for Userstamps, to control Timestamps.
If a method is used to start or stop a Stamping event, automatically adjust the sister Stamp.

It would be trivial to stop syncronization if necessary. As the updated README explains, setting the variable $syncUserWithTime = false; on a per modal basis would allow the Stamps to act independently. If a developer uses the Laravel documented way of turning off Timestamping, this behavior is accounted for by using $model->timestamps; as the default value, allowing for backwards compatibly as well as ease of use in delivering the expected result.

Thanks for this, but I won't be merging it.
I would disagree with the assumption that user and time stamping should be synchronised. They're similar behaviours, but used for different purposes.
The simple solution if you don't want to userstamp your model is simply don't include the trait!

Perhaps. Though the issue that prompted this change was that I found I could stop updating timestamps for specific actions (system update actions on relations that touched the parent model, but thats a story foranother time), but my userstamps kept updating. Obviously this leave bad info in the DB because we have the timestamp of one action and the userstamp of another. And removing the trait is not feasible when I want to use userstamps by default.
I still think this is a worthwhile change. Timestamping and userstamping may be used for different things, but they work side by side. If instead the synchronization was not on by default, would you consider merging then? Opt in rather than opt out?

Is there any reason you can't use the stopUserstamping method when you don't want userstamps to be maintained?

Hmm... I suppose you are right. That could be syntactically confusing though since you advertise one method for toggling userstamps and laravel advertising a different for toggling timestamps. Out of curiosity, what was the thought behind creating a helper function for that variable?


[request] Adding more Parameters to DEMA

Hi!
I was wondering if adding more parameters for DEMA is possible (see also #146). I noticed @askmike replied to copy the DEMA and add it but I'm staring at the code for hours and can't seem to manage it.
I would like to add: 6 short EMA's and 6 Long EMA's. It would buy when all of the short-term EMAs cross above all of the long-term EMAs, and sell when the short term EMAs cross below the long-term EMAs.
Let me know what your thoughts are :)

Hey!

#146: on 13 Jan 2014

Woah you did some digging to find that haha!

Note that the D in DEMA stands for double (meaning 2 EMAs) - while you want 6, so you are not really talking about DEMA anymore.
If you want to create a strategy that uses multiple EMA indicators, that's actually not too hard with gekko. If we draw inspiration from #1060 we can make a new strategy like this: https://gist.github.com/askmike/f6d0b12c1ef9a9989c717fc4e12b7620
It works in 2 steps:

register all EMA indicators you want with Gekko
check the results.

As for the results, when you say:

It would buy when all of the short-term EMAs cross above all of the long-term EMAs

This is the same as saying "when the lowest short EMA crosses above the highest long EMA" (and vice versa for sell).
I am not sure in what market you want to run this, but in my initial testing this did not perform very well:

(That's over 1hour USD/ETH gdax data).

you can uncomment the console.log lines if you want to see all the values each tick :)

Note: There was a bug in the code, I updated the gist.

Hey Mike,

Woah you did some digging to find that haha!
Haha ,well I know it's appreciated before opening a new thread you do some digging!! ;).

Thanks for providing the code! This is exactly what I was looking for. So for the backtest you just used the random numbers stated in the multiple-ema.js?
I want to try the code myself, with some number I think should work well, but now getting an error while starting  Gekko with node.js. I used
node gekko --ui to start it again after I just closed the window in Chrome.
Error: Cannot find module '/Users/folderblabla/gekko'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3

Cheers.
J.

So for the backtest you just used the random numbers stated in the multiple-ema.js?

Yes, you can change them into whatever you like :)

I want to try the code myself, with some numbers I think should work well, but now getting an error while starting Gekko with node.js.

When you want to run Gekko you need to first navigate on the commandline to the folder where you downloaded Gekko. How to do this very much depends on your OS. So to sum everything up:

Download the script I posted earlier.
Open your file browser (windows explorer on windows, finder on mac) and place the script into the gekko folder (wherever you stored it) into the strategies folder inside it.
Open your terminal (called command line on windows) and browse into the gekko folder you downloaded. For example: on most linux systems and mac you can cd fro this, if you downloaded Gekko to your downloads it should be something similar to cd ~/gekko. Only after this you can type node gekko --ui.

I am closing this since your original issue (strat with 10 EMAs) is solved, if you are having more problems starting Gekko feel free to keep commenting :)

Hi Mike,
Thanks for the follow-up.  I'm running on mac OSX.
I changed the code with the Guppy Multiple Moving Average indicators.
For short its: 3, 5, 8, 10, 12.
For long its: 30, 35, 40, 45, 50.
Results are better; but not optimal like you said.
But I think it's a good basis for a trend following bot. Needs more tweaking, I've read adding a MACD + StocRSI is one of the best trend following strategies out there...
Visualisation of what a GMMA (Guppy Multiple Moving Average) looks like: https://monosnap.com/file/Jm77EjwIjODOOMwTghHu1Di1JjlLXe
You can clearly see if Red (long term traders) is beneath Blue (short term traders) it's bullish, and vice versa. Cross overs are a signal for trend changes, and the more the lines separate the more steady the trend (and vice versa).
What do you think?

Visualisation of what a GMMA (Guppy Multiple Moving Average) looks like: https://monosnap.com/file/Jm77EjwIjODOOMwTghHu1Di1JjlLXe

By the way: we are working on an update for Gekko that plots the indicator lines on the graph! See #793 for details!

You can clearly see if Red (long term traders) is beneath Blue (short term traders) it's bullish, and vice versa. Cross overs are a signal for trend changes, and the more the lines separate the more steady the trend (and vice versa).
What do you think?

I am not an expert in applying indicators in markets, which is why Gekko is not very biased (I am actualy pretty bad haha). But if you want my opinion: It looks like this specific graph really gets the best out of this specific strategy, though I am not sure if this really behaves that much different than a DEMA or MACD indicator. This is just what my instinct tells me, haven't really tested it at all.

But I think it's a good basis for a trend following bot. Needs more tweaking, I've read adding a MACD + StocRSI is one of the best trend following strategies out there...

Go for it! Gekko supports both of these indicators (note that for StochRSI you need to install TAlib).

@askmike is there any documentation about combining indicators? I assume it would get quite difficult because you need to match the output of different indicators and then issue an advice?

I assume it would get quite difficult because you need to match the output of different indicators and then issue an advice?

Exactly! And because everyone has different opinions on how this should exactly work (if indicator X says buy but Y says sell, what do we do?) this logic goes in your own strategy. The only purpose of the strategy is to look at indicator output & market data and decide when to trigger BUY and SELL.

is there any documentation about combining indicators?

All documentation regarding strategies (including how to add indicators and read the output) can be found here: https://gekko.wizb.it/docs/strategies/creating_a_strategy.html

I understand, you also need to bear in mind what to do when you got conflicting indicators!!

Have a loot at the documentation, and if you think we can improve the documentation (around indicators for example) just let me know :)


"az aks enable-addons" breaks Azure-cli's idempotency = 1 assertion

Describe the bug
When you run  "az aks enable-addons" multiple times it works fine the first time but fails every time after that.
To Reproduce
Run  "az aks enable-addons" multiple times with the same arguments.
After the first success you get the following error on each successive execution.

The monitoring addon is already enabled for this managed cluster.
To change monitoring configuration, run "az aks disable-addons -a monitoring"before enabling it again.

Expected behavior
Like all other Azure CLI commands it should return the same results if you run the same command multiple times
Environment summary
azure-cli (2.0.50)
windows 10
CMD.exe

ARM is idempotent but CLI is not, so it will display a error to the user for information.

Closing as by design


Design a UI for remapping selected tokens

Option to select multiple tokens in the inspect tab for remapping

@esthercheran, is this still an active request? I think this can be achieved already, but I might not fully understand how it is being described with the little context in the initial issue.


Description header not be apply

When apply page.description on hydrate or even prepare, it's not generated description meta tag
version: 0.17.2

Heyo, can you confirm to me that you are on spa mode pls? On dev it skips applying seo tags during spa mode, i will add some documentation for that

I this scenario i test on ssr mode

Heyo, the default behavior used to be to do these mutations only in SSR, but now it's enabled in SPA in both prod and dev modes. Thanks for helping improve the DX of Nullstack @victorfernandesraton !  💜

Will changes made to page context in the prepare method be on the initial HTML served on SPA mode? From docs i understand that prepare runs before the initial HTML is served, even for SPA

@Stefuu Prepare runs on server on first load of SSR and then on client after that for the new components, in both cases it will reflect metatags


RuntimeError: Found no NVIDIA driver on your system on colab

I tried running both "automatic_mask_generator_example.ipynb" and "predictor_example.ipynb" examples on colab, and in both cases it triggers an error at "sam.to(device=device)" :
RuntimeError: Found no NVIDIA driver on your system.

I just had to change runtime


Updated dev dependencies

Hi Kamran,
I couldn't get driver.js to build on my system which has no python 2.x Therefore I

updated the devDependencies in package.json so it will build on a system with python 3.10
had to fix the webpack.config file due to changes in postcss-loader options format.

I also added a babel-loader config that maintains compatibility with MS WebBrowser control (~IE8), which the previous release had

new CHANGELOG file in a separate commit (feel free to omit)

Cheers, Martin

Apologies for the radio silence, I got super busy and couldn't find time to maintain this project. We have started to actively use it at my current company and decided to rewrite it due to underlying implementation issues. It now has much simpler API and is feature rich as compared to the previous version.
Please have a look at the release docs for v1.0 and the documentation and do let me know if you face any issues. Thanks again for taking your time to submit the PR! 🙏


Support new BIN ranges for MasterCard

MasterCard just introduced new BIN ranges. Caishen should be able to recognize new ranges as a MasterCard
https://www.cardfellow.com/new-mastercard-bins/

MasterCard page out it: https://www.mastercard.us/en-us/issuers/get-support/2-series-bin-expansion.html

example numbers that should be recognized as MasterCard:
2221-1111-1111-1112
2221-1112-2222-2204

@hkellaway is this related? if so, this has been released with version 2.1.1.


Kms imported key expiration check

I confirm these files are made available under CC0 1.0 Universal (https://creativecommons.org/publicdomain/zero/1.0/legalcode)
Issue #205, if available:
Description of changes:

When is the update planned on this?

When is the update planned on this?

Any chance to finish up this?


Change CropObject definition to be either X/Y/Width/Height, or Top/Left/Bottom/Right

X and Y is really ambiguous. There is an ugly coord-swap step in parsing, beccause X in CropObjects is originally column (horizontal direction) and Y is row (vertical direction), while Python uses row-first indexing. At the same time, it is not self-explanatory, which is always worse than self-explanatory in a data format. Top/Left/Bottom/Right is obvious, whether you need row-major or column-major ordering, top to bottom vs. bottom to top, etc.
Proposed fix: make it possible to encode CropObjects using both X/Y/W/H and T/L/B/R.

The minimum change to make the data format explicit is to use Top/Left/Height/Width. This is the minimum unambiguous change.
The following needs to be done:

[ ] Incorporate change CropObject initialization: accept top, left, height, width as well as x, y, height, width. (This duality is because I don't want to change how CropObjects are generated in MUSCIMarkerApp methods, at least not yet.)
[ ] Create test data for converting XML data from XY to TopLeft.
[ ] Reimplement parsing CropObjects to use TopLeft as well as XY. (This is because the older CropObjects should still be valid and parseable.)
[ ] Reimplement export of CropObjects to use TopLeft instead of XY. (This is because anything we save should already be in the new TopLeft format, and the old XY format should be phased out.)
[ ] Create script for converting XML data from XY to TopLeft.
[ ] Recode examples in MUSCIMarker to use TopLeft.

The reencoding is just import-export, easier done from a shell.


tour: fix a mistake in the text pp.1-2

Hello team,
I was doing the tour and I noticed a small mistake in the text, so here is my proposal for a fix.
Thank you so much for your hard work and dedication! :trophy:

@googlebot I signed it!


Feature: return data types for request body and properties for better display

Description

return data type for request body / query.
add a field isRequestDebugEnabled to indicate to client whether request tab has to be shown. It is defaulted to true for now. Since more info on when to disable it is not available, leaving it as true for now.
NOTE: Test cases have been commented out on purpose. They will be updated and uncommented once the implementation details are finalized.

Fixes 3667
Type of change

New feature (non-breaking change which adds functionality)

How Has This Been Tested?

JUnit TCs
Manual

Updated:

Old:

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes

Closing in favor of : https://github.com/appsmithorg/appsmith/pull/4078


Branch SDK 0.25.7 Fails on Jenkins

Updated Branch SDK via Carthage from v0.25.3 to v0.25.7.
Build/Run/Test on Xcode 10 succeeds.
Build/Run/Test on Jenkins fails.
Updated Branch SDK via Carthage from v0.25.3 to v0.25.6
Build/Run/Test on Xcode 10 succeeds.
Build/Run/Test on Jenkins succeeds.
Error for v0.25.7 on Jenkins is:
❌  /Users/ebmob/jenkins/workspace/ebates-ios_PR-5585-CBPJDKTIB2DYIJOUA3CMRLY2IWHGZSKT3XFEXKYN5EFBKJ552SEA/Code/Carthage/Build/iOS/Branch.framework/Headers/Branch.h:30:9: 'BranchCSSearchableItemAttributeSet.h' file not found

#import "BranchCSSearchableItemAttributeSet.h"
        ^

❌  /Users/ebmob/jenkins/workspace/ebates-ios_PR-5585-CBPJDKTIB2DYIJOUA3CMRLY2IWHGZSKT3XFEXKYN5EFBKJ552SEA/Code/Ebates/Application/Categories/Branch+EBMInstanceForTenant.h:9:9: could not build module 'Branch'

@import Branch;

This built for me in my Carthage tests, both as a binary framework and as a Carthage build product.
Does your Jenkins do a clean before building?

Strange. Yes we do a clean build.

I don't know what to tell you.  It's working for me, and your build/run/test on Xcode 10 worked for you.
Did you try your Jenkins run again?

Yeah I tried multiple builds on Jenkins, always get that same error. Tried doing multiple branches making no changes other than the update from 0.25.3 to 0.25.7 and always the same issue. But 0.25.3 and 0.25.6 were always successful, so assumed it was a regression with 0.25.7 since the error was mentioned in previous versions. Will just use 0.25.6 for now and try again once 0.25.8 is available.

@E-B-Smith Just tried with version 0.25.8 and still get this error when running unit tests on Jenkins:
❌  /Users/ebmob/jenkins/workspace/ebates-ios_PR-5613-QLTC3Z4FTMBRMGQTLFBPGX4QHF3XMTNDM2ANU3WIGQORF4EMMLUA/Code/Carthage/Build/iOS/Branch.framework/Headers/Branch.h:30:9: 'BranchCSSearchableItemAttributeSet.h' file not found

#import "BranchCSSearchableItemAttributeSet.h"
        ^

❌  /Users/ebmob/jenkins/workspace/ebates-ios_PR-5613-QLTC3Z4FTMBRMGQTLFBPGX4QHF3XMTNDM2ANU3WIGQORF4EMMLUA/Code/Ebates/Application/Categories/Branch+EBMInstanceForTenant.h:9:9: could not build module 'Branch'

@import Branch;
        ^

Let me know if there is anything else I can do to help debug!

I can see the BranchCSSearchableItemAttributeSet.h file in the headers directory of both the Carthage and static frame work libraries.
What is Jenkins compiling and how is it doing the build?


Fix access mode for ::popen() call in ggp OS wrapper

Description
popen's access mode was accidentally changed from string to enum used in
FileIO::open() wrappers. This is a posix function and should keep using
the string.

Ah sorry about that, I did a global search-replace but I thought I had caught all of these. I forgot that unfortunately ggp isn't in the CI checks.

No worries, I figured that this is exactly what happened. No problem

From: Baldur Karlsson<EMAIL_ADDRESS>Sent: 12/15/20 5:32 PM
To: baldurk/renderdoc<EMAIL_ADDRESS>Cc: alexv1n<EMAIL_ADDRESS>Author<EMAIL_ADDRESS>Subject: Re: [baldurk/renderdoc] Fix access mode for ::popen() call in ggp OS wrapper (#2120)
Ah sorry about that, I did a global search-replace but I thought I had caught all of these. I forgot that unfortunately ggp isn't in the CI checks.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.


khash illegal instruction

I've got problems running code which was compiling on my previous PC and now it causes a
"Illegal instruction (core dumped)".
==3406== Memcheck, a memory error detector
==3406== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
==3406== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
==3406== Command: ./src/pxdon/pxdon
==3406==
vex amd64->IR: unhandled instruction bytes: 0xC5 0xF9 0x57 0xC0 0xC4 0xE1 0xFB 0x2A
vex amd64->IR:   REX=0 REX.W=0 REX.R=0 REX.X=0 REX.B=0
vex amd64->IR:   VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=NONE
vex amd64->IR:   PFX.66=0 PFX.F2=0 PFX.F3=0
==3406== valgrind: Unrecognised instruction at address 0x50627df.
==3406==    at 0x50627DF: kh_resize_string_hashmap (http_server.c:37)
==3406==    by 0x5062D5B: kh_put_string_hashmap (http_server.c:37)
==3406==    by 0x506313F: set_route (http_server.c:78)
==3406==    by 0x50631D4: hw_http_add_route (http_server.c:92)
==3406==    by 0x4151C0: pxdon::ProxyChecker::bind(std::string, int) (proxy_checker.cpp:202)
==3406==    by 0x417ED7: pxdon::Explorer::start() (explorer.cpp:137)
==3406==    by 0x41A71F: main (main.cpp:37)
==3406== Your program just tried to execute an instruction that Valgrind
==3406== did not recognise.  There are two possible reasons for this.
==3406== 1. Your program has a bug and erroneously jumped to a non-code
==3406==    location.  If you are running Memcheck and you just saw a
==3406==    warning about a bad jump, it's probably your program's fault.
==3406== 2. The instruction is legitimate but Valgrind doesn't handle it,
==3406==    i.e. it's Valgrind's fault.  If you think this is the case or
==3406==    you are not sure, please let us know and we'll try to fix it.
==3406== Either way, Valgrind will now raise a SIGILL signal which will
==3406== probably kill your program.
==3406==
==3406== Process terminating with default action of signal 4 (SIGILL)
==3406==  Illegal opcode at address 0x50627DF
==3406==    at 0x50627DF: kh_resize_string_hashmap (http_server.c:37)
==3406==    by 0x5062D5B: kh_put_string_hashmap (http_server.c:37)
==3406==    by 0x506313F: set_route (http_server.c:78)
==3406==    by 0x50631D4: hw_http_add_route (http_server.c:92)
==3406==    by 0x4151C0: pxdon::ProxyChecker::bind(std::string, int) (proxy_checker.cpp:202)
==3406==    by 0x417ED7: pxdon::Explorer::start() (explorer.cpp:137)
==3406==    by 0x41A71F: main (main.cpp:37)
==3406==
==3406== HEAP SUMMARY:
==3406==     in use at exit: 62,146 bytes in 269 blocks
==3406==   total heap usage: 314 allocs, 45 frees, 98,209 bytes allocated
==3406==
==3406== LEAK SUMMARY:
==3406==    definitely lost: 0 bytes in 0 blocks
==3406==    indirectly lost: 0 bytes in 0 blocks
==3406==      possibly lost: 701 bytes in 13 blocks
==3406==    still reachable: 61,445 bytes in 256 blocks
==3406==         suppressed: 0 bytes in 0 blocks
==3406== Rerun with --leak-check=full to see details of leaked memory
==3406==
==3406== For counts of detected and suppressed errors, rerun with: -v
==3406== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Illegal instruction (core dumped)

I was getting error
[100%] Built target haywire_core
Linking C shared library libhaywire_shared.so
/usr/bin/ld: CMakeFiles/haywire_core.dir/src/haywire/configuration/configuration.c.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object; recompile with -fPIC
CMakeFiles/haywire_core.dir/src/haywire/configuration/configuration.c.o: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
CMakeFiles/haywire_shared.dir/build.make:84: recipe for target 'libhaywire_shared.so' failed
make[2]: *** [libhaywire_shared.so] Error 1
CMakeFiles/Makefile2:95: recipe for target 'CMakeFiles/haywire_shared.dir/all' failed
make[1]: *** [CMakeFiles/haywire_shared.dir/all] Error 2
Makefile:76: recipe for target 'all' failed
make: *** [all] Error 2

so the library is compiled with -fPIC flag.
All that is happening on freshly installed fedora.
gcc version 4.9.2 20150212 (Red Hat 4.9.2-6) (GCC)
What do You think could be source of the problem?

I think it was caused by cross linking 32 and 64 bit libraries.

Closing because I don't think this issue exists anymore. If you are still having this issue let me know!


Moving a window to a different workspace no longer auto focuses the new workspace

Version (which release did you use?)
Pinning
Describe the bug
Using the in_move_to_ws(ws_id) used to also change the current active workspace to the provided ws_id. Now if I have a window on workspace 1 open on monitor 1 and move it to workspace 2 that is open on monitor 2, the window doesn't display on workspace 2 until I manually change my focus to it.
I can actually see both the current functionality and old functionality, both useful so maybe it can be introduced as an option? But regardless I think that when a window gets moved to a workspace that workspace should be refreshed to update the windows.

I believe this was changed during the lua switch partially related to #263
You can get the old behavior if you do something like this since it's kinda a combination of ws_change and win_move_to_ws:
nog.nbind("alt+shift+1", function ()
    nog.win_move_to_ws(1)
    nog.ws_change(1)
end)

Thanks that works perfectly. Here is the function I made so that you don't need to add a keybind for each workspace manually.
nog.nbind_tbl("alt+shift", function (id)
    nog.win_move_to_ws(id)
    nog.ws_change(id)
end, workspaces)

I guess one issue that I think may still exist in the current implementation is the multi monitor support. When I move a window to a workspace that is open on a separate monitor even if that workspace isn't focused the moved window doesn't display until I manually focus. I feel it should still refresh the grid even if it doesn't follow the window.


Connection refused (os error 111)

Cookbook version
0.59.0
Chef-client version
10.1.2
Platform Details
ubuntu 16.04
Scenario:
simple setup. Just trying to install a supervisor and core/nginx:
hab_install

hab_sup 'default' do
  action :run
end

hab_service 'core/nginx' do
  action :load
end

Steps to Reproduce:
create a recipe as shown above and converge it
Expected Result:

initial chef run completes successfully
habitat would be installed
supervisor would be running
core/nginx would be running or installed

Actual Result:

initial chef run fails with error
habitat is installed
suspecting that the supervisor is not fully running yet when the service is loaded
a second chef run converges happily

error from chef run:
         * hab_service[core/nginx] action load
           * execute[hab svc load core/nginx --channel stable] action run

             ================================================================================
             Error executing action `run` on resource 'execute[hab svc load core/nginx --channel stable]'
             ================================================================================

             Mixlib::ShellOut::ShellCommandFailed
             ------------------------------------
             Expected process to exit with [0], but received '1'
             ---- Begin output of hab svc load core/nginx --channel stable ----
             STDOUT:
             STDERR: DEBUG 2018-07-27T10:34:24Z: habitat_common::ui: UI { shell: Shell { input: InputStream { isatty: false }, out: OutputStream { coloring: Auto, isatty: false, is_colored(): true, supports_color(): true }, err: OutputStream { coloring: Auto, isatty: false, is_colored(): true, supports_color(): true } } }
             DEBUG 2018-07-27T10:34:24Z: hab: clap cli args: ["hab", "svc", "load", "core/nginx", "--channel", "stable"]
             DEBUG 2018-07-27T10:34:24Z: hab: remaining cli args: []
             DEBUG 2018-07-27T10:34:24Z: hab::config: No CLI config found, loading defaults
             DEBUG 2018-07-27T10:34:24Z: tokio::reactor: scheduling direction for: 0
             DEBUG 2018-07-27T10:34:24Z: tokio::reactor: dropping I/O source: 0
             ✗✗✗
             ✗✗✗ Connection refused (os error 111)
             ✗✗✗
             ---- End output of hab svc load core/nginx --channel stable ----
             Ran hab svc load core/nginx --channel stable returned 1

             Resource Declaration:
             ---------------------
             # In /tmp/kitchen/cache/cookbooks/habitat/resources/service.rb

       93:   execute "hab svc load #{new_resource.service_name} #{sup_options.join(' ')}" unless current_resource.loaded
       94: end

             Compiled Resource:
             ------------------
             # Declared in /tmp/kitchen/cache/cookbooks/habitat/resources/service.rb:93:in `block in class_from_file'

most likely related message from habitat slack:
eeyun [2:56 PM]
yeah thats a new error message since v0.56 I think.  Basically the sup is controlled through a remote gateway now so when you see that connection refused it's because the sup isnt running.

Is this issue still current? A new release of the cookbook has gone out that fixes a lot of issues, so might be worth rechecking this :)

I think this has been addressed by the refactoring @wduncanfraser submitted. I don't think I have seen this error since I switched to his fork, which has been merged by now. I just gonna close this for now and reopen in case I will see this again.


move_and_collide jaggy collision results, velocity/distance seems odd

Godot version
v4.0.alpha1.official [31a7ddbf8]
System information
Windows 10, RTX 2070
Issue description
When using move_and_collide the collision isn't smooth along surfaces. If animated the motion looks jaggy. This behaviour does not has happen in Alpha 1, there it was smooth all along.
###edit
In fact in Alpha 1 the motion is also jaggy but around the factor 10 less.
Maybe only a default value has been changed?
Using the default physics settings. Settings look the same in projectsettings(advanced)

The distance argument does not make sense to me. The move_and_collide does not travel the distance given when called.
(But this could be my misinterpretation)
Steps to reproduce
see attached file
watch the jaggy motion when the ball "slides" along the walls
Minimal reproduction project
Godot4Test.zip

I just read the code, I saw you forget to multiply the speed (called dir in your code) with delta. Is it solving your issue? This was changed after alpha 1 (before the delta was applied automatically).

When i multiply the dir with delta the jaggyness reverts back to the behavior of ALPHA 1 ... way smoother. But it isn't a continuous motion. i dont know the inner workings of the godot physics ... it looks like some hidden voxel world to collide with (maybe thats it how it works).
Still don't know what the actual length of the dir should mean. I've thought move_and_collide moves the object by the dir vector (instantly) and collides(stops) with/when hitting anything.
But anyway ... many thanks, it looks way better now!

I think the issue should be closed as the regression was due to the recent API change which require to use the delta. For the remaining jaggyness, seems to be due to the double force_update_transform used in the code before and after move_and_collide.


Make the station connections a ternary relationship.

For the sake of simplicity I would like to make the station-station-color relation a ternary relationship as opposed to breaking it across two entities. This may not be as normalized but greatly simplifies both the table script and Java code. My main reasoning is the Java code will be much more accessible.

Looking at various options and might implement this as a Map on the Java side. I just can't get my head around the Embedded way.

This will be closed by branch repositoryInitialDesign when merged.

I am sure to forget my reasoning by tomorrow morning so I will explain why the Map made more sense to me in this particular context: basically, in the business logic the station connection relation is always being used in an iterative fashion. What I mean is that to find out how to go from point A to B you check all of As' neighbors, then the neighbors' neighbors', etc. We aren't using it so much as a data store as we are making it a graph.

I feel like I understand how you'd generate it using a map, I was just going to use a SQL query for this. If you're trying to do it through the ORM it might be hard, but I already had a query for this lol. It's fine and we can do this, but I would have liked a bit more discussion since we I brought it up you said however I want to implement it.
We can talk to make sure I understand how you're wanting to do this though and I'm not missing anything


docs: add release notes for v2.8.0

Summary of PR
Add release notes for v2.8.0 release
Preview: https://github.com/saihaj/ShabadOSdesktop/blob/release-notes-2-8-0/release-notes/2.8.adoc
Time spent on PR
2 hours
Reviewers
@Harjot1Singh @bhajneet

These are written like git commit logs, in the sense that they are imperative/giving-commands in the present tense. Instead, I think these release notes should be in the past tense to help end users and project collaborators know what has changed or is relevant to them.

@Harjot1Singh please finish reviewing


Add site sending email when project is shared with email address

Email should mention project name and give links to sign-in to site or register (with the relevant email address).

Add the feature of sending an email...

Change "Change email" to "Email preferences". Add opt-in to email notifications for project sharing.
Emailer will email user when added to list of project users.

Tested and working on dev


Few problems

Error "... await generate_html(planner, './dest/index.html')", i had to mkdir ./dest
Then playwright install
Then ;
Traceback (most recent call last):   File "C:\Users\llc\Digital-Planner\planner_generator.py", line 59, in <module>     asyncio.run(main())   File "C:\Program Files\Python311\Lib\asyncio\runners.py", line 190, in run     return runner.run(main)            ^^^^^^^^^^^^^^^^   File "C:\Program Files\Python311\Lib\asyncio\runners.py", line 118, in run     return self._loop.run_until_complete(task)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Program Files\Python311\Lib\asyncio\base_events.py", line 653, in run_until_complete     return future.result()            ^^^^^^^^^^^^^^^   File "C:\Users\llc\Digital-Planner\planner_generator.py", line 55, in main     await generate_pdf('./dest/index.html', './dest/main.css', './dest/planner.pdf')   File "C:\Users\llc\Digital-Planner\planner_generator.py", line 42, in generate_pdf     await page.add_style_tag(path=abspath(css_file_path))   File "C:\Users\llc\AppData\Roaming\Python\Python311\site-packages\playwright\async_api\_generated.py", line 8829, in add_style_tag     await self._impl_obj.add_style_tag(url=url, path=path, content=content)   File "C:\Users\llc\AppData\Roaming\Python\Python311\site-packages\playwright\_impl\_page.py", line 449, in add_style_tag     return await self._main_frame.add_style_tag(**locals_to_params(locals()))            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\llc\AppData\Roaming\Python\Python311\site-packages\playwright\_impl\_frame.py", line 467, in add_style_tag     (await async_readfile(path)).decode()      ^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\llc\AppData\Roaming\Python\Python311\site-packages\playwright\_impl\_helper.py", line 352, in async_readfile     return await loop.run_in_executor(None, inner)            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Program Files\Python311\Lib\concurrent\futures\thread.py", line 58, in run     result = self.fn(*self.args, **self.kwargs)              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^   File "C:\Users\llc\AppData\Roaming\Python\Python311\site-packages\playwright\_impl\_helper.py", line 348, in inner     with open(file, "rb") as fh:          ^^^^^^^^^^^^^^^^ FileNotFoundError: [Errno 2] No such file or directory: 'C:\\Users\\llc\\Digital-Planner\\dest\\main.css'
I have only index.html (11627 Ko).

Hi!
Here is a quick installation instruction (you must have python3, npm and playwright installed):
npm i
pip install jinja2 playwright

To generate a planner, run the command:
npm run build


[feature] add api for applying multiple edits

⭐ Suggestion
Hi! Thank you for creating such a great tool! I'm currently using the Rust API to create a code plagiarism checker, where I use ast-grep to preprocess source code (basically normalize all the identifier to a same name). I found that applying the edits is the bottleneck.  (I use this api, did I miss anything?) I found it very inefficient because it re-parse the tree after each edit, and if I apply 100 edits, then the overhead on re-parsing is huge. So I think it will be better to provide an API that apply all edits and re-parse the tree once.

💻 Use Cases
Possible workaround: https://github.com/Devin-Yeung/ast-grep/commit/a0c6ce98ae4bd1fe318d4bace02c143565f067b8
(edit: I think I forget to make sure that edits should in non-increasing order, here's the update: https://github.com/Devin-Yeung/ast-grep/commit/b671833798bdcde44e9b0d71e59d2881d027afb9)
I expect that applying the edits in non-increasing order and then reparse the tree should work. I haven't got the time to write tests, but I have checked the implementation in my applications, it works perfectly.

Hi, thanks for using ast-grep!

very inefficient because it re-parse the tree after each edit

Yes, the API is used for interactive editing (think you are editing in vscode or zed) and it is not suitable for batch editing.
ast-grep-core does not ship a multiple editing feature because it needs the assumption that edit does not overlap each other.
For example, the confirmation step will exclude overlapping edits. And I believe your use case "renaming identifiers" will not produce overlapping edit. However, that is not the general case.
https://github.com/ast-grep/ast-grep/blob/1c68280bfb9fd2614cab19b4cda47d2bf6570626/crates/cli/src/print/interactive_print.rs#L135-L156
for now, it is possible to apply the edit all at once manually in user land. For example
https://github.com/ast-grep/ast-grep/blob/1c68280bfb9fd2614cab19b4cda47d2bf6570626/crates/cli/src/print/interactive_print.rs#L211-L227

Oh... I didn't notice the overlapping case 🤔 From intuition, can this issue be resolved by applying non-overlapping edits in "batch" mode? Although we may not be able to complete the edits in a single re-parsing, we can still minimize the number of re-parsings.
Anyway, I didn't realize that ast-grep-core is designed for interactive editing. So, I respect your design of the API. Once again, thank you for your quick and great response. You may choose to mark this issue as closed, or keep it open for those who wish to refer to my "innocent idea." :)

At the moment I don't have a good API design for multiple edits due to overlapping and recursive edit. (e.g. a rule can produce a diff that triggers another rule).
For now, I deliberately leave the choice to the API consumer, that is, users need to guarantee edits are not overlapping and need to splice the string together themselves.


Not all s3 objects are returned during list s3objects

Hi,
It seems only a subset of my objects in s3 are being returned by listobjects. It doesn't seem to be on an even paging boundary so maybe it is something else? All objects in this bucket are archived to glacier but only a subset appear to be returning.
I'll be happy to do any troubleshooting just let me know.
Example:
$ awless list s3objects --filter bucket=my-bucket-here -r us-east-2 --no-headers | wc -l
2980

$ aws s3 ls --recursive s3://my-bucket-here | wc -l
49511

@simcap After doing a go get -u it looks good. Thanks!
Also listing my ~50k objects seems pretty comparable to my aws s3 ls output below FYI.
$ time aws s3 ls --recursive s3://my-bucket-here | wc -l
49797

real    0m18.126s
user    0m9.561s
sys     0m0.753s

$ time awless -r us-east-2 list s3objects --format tsv --filter bucket=my-bucket-here | wc -l
49798

real    0m17.512s
user    0m15.231s
sys     0m0.580s

Awesome! Thanks. I will close this issue.
Any other problematic issue let us know, i will find the time to fix them before our release v0.1.10 coming up


Create Support Documentation

Provide information on how to get support for the project, including links to community forums, support channels, and contact information for project maintainers.

completed


Remove Packages

I have a number of broken registrations on Bower Search. I don't believe anyone is using these packages, and the registrations when you click on them don't take you to the repo correctly anyway. I would like to ask that these registrations be removed.
oxygen-language: https://gitlab.com/arsnebula/oxygen-language.git
oxygen-log-behavior: https://gitlab.com/arsnebula/oxygen-log-behavior.git
oxygen-state: https://gitlab.com/arsnebula/oxygen-state.git
I think the registration problems were related to trying to register them on GitLab instead of GitHub. In future I am just going to mirror them to GitHub so they can be installed easily without Bower registration. I intend to republish these again once I have cleaned them up.

Maybe it's better to just leave them? Someone can hijack these names and provide malicious package instead..

Is it possible to hide them so they don't appear in the search? Otherwise, I guess that's fine.

Our search is hosted by https://libraries.io/ I think currently it's not possible but you might open an issue there to support such feature.


Don't use UtahID email to link to PLSS account

Email can be changed in a UtahID account, which would break their PLSS ID, so need to use something more unique.

This is not an issue.


stats: Extract route names with forward-slash

Commit Message: Extract route names with forward-slash.
Additional Description:  RDS protocol allows almost any route name, and stats are lightly sanitized before emitting to statsd and prometheus endpoints. This change slightly relaxes the capture group for RDS route names in stats, instead of opening the floodgates to everything, because YAGNI.
Risk Level: Low
Testing: Updated unit test
Docs Changes: None
Release Notes: N/A
Platform Specific Features: None
Fixes: #32976

/wait for CI

/retest

/ptal @jmarantz

Oh...on thing: can you take a quick look at the docs for route stats and see if they need to be updated?

@kb100 before I merge can you just check to see if we should update doc for this syntax change?

Oh...one thing: can you take a quick look at the docs for route stats and see if they need to be updated?

Oh it looks like the regex needs to be a little more relaxed. Docs say ":" is allowed (and replaced), and it's not.
https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/rds#statistics

Oh...one thing: can you take a quick look at the docs for route stats and see if they need to be updated?

Oh it looks like the regex needs to be a little more relaxed. Docs say ":" is allowed (and replaced), and it's not. https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_conn_man/rds#statistics

Nevermind, I misread it. The ":" never makes it into the stat name. It's sanitized out by sanitizeStatsName well before the tag extraction code.

@jmarantz no doc updates needed 👍


Update README.md

ffsfs

this code is so amazing i'm thrilled
__
  Summary: :trophy: This code is awesome

Avoid code without braces ({}) for single conditional if statement, for and foreach loops. Without the braces, it is too easy to accidentally add a second line thinking it is included in the if, when it isn’t...
📄 Vmsdurano
__
  Summary: :hammer_and_wrench: This code needs a fix  |  Tags: Not secure, Inefficient, Inelegant

my test 04.04.2022
https://semalab.atlassian.net/wiki/spaces/SD/pages/2516942877/US-6+Add+personal+Snippets

https://semalab.atlassian.net/wiki/spaces/SD/pages/2516942877/US-6+Add+personal+Snippets
my test 3  04.04.2022

test-07-06-1
__
  Summary: :trophy: This code is awesome  |  Tags: Not maintainable

123

123

1


'XX hours YY min ago' gives incorrect output

I'm trying to convert time strings containing 'ago' to datetime objects, but I'm getting incorrect results:
>>> import parsedatetime
>>> cal = parsedatetime.Calendar()
>>> cal.parseDT('11 hours 0 min ago')
(datetime.datetime(2020, 11, 26, 23, 56, 55), 2)
>>> cal.parseDT('11 hours ago')
(datetime.datetime(2020, 11, 26, 1, 57, 1), 2)

Does anyone know why '11 hours 0 min ago' and '11 hours ago' give different outputs?
Thanks

Hey @hoonkai
Yeah I figured it out too. It seems like keywords like ago, before etc only apply to the last time keyword you enter.
11 hours 0 mins ago translates to + 11 hours - 0 minutes
11 hours ago translates to - 11 hours
basically take ago and put a minus in the last keyword you entered. If you want the exact results you need to put ago after ever keyword. Like 11 hours ago 0 minutes ago
Here is a reproducable example
>>> from datetime import datetime
>>> import parsedatetime as pdt
>>> cal = pdt.Calendar(version=pdt.VERSION_CONTEXT_STYLE)
>>> reference_date =  datetime(2021, 8, 12, 12, 0, 0)
>>> cal.parseDT('11 hours ago')[0]
2021-08-12 01:00:00
>>> cal.parseDT('11 hours 0 minutes ago')[0]
2021-08-12 23:00:00
>>> cal.parseDT('11 hours ago 0 minutes ago')[0]
2021-08-12 01:00:00


Fix - Scrollable Tabs Error

#4329

Closing this since PR #4343 is open to put this into the right place for actual release.


Added Get-JenkinsPluginsList cmdlet - Fixes #46

This change is

Reviewed 4 of 4 files at r2.
Review status: all files reviewed at latest revision, all discussions resolved.

Comments from Reviewable


Upcase and Downcase examples fail and reload page in Firefox on MacOS

MacOS 10.12.6
Firefox 55.0.2
On the demo page, when clicking the Upcase and Downcase buttons, a page reload is initiated (and the text is not changed). All other demos appear to be working.
These actions work in Safari.

Thx for reporting!
I did reproduce this. Looks like Firefox submits the form with the <button> instead of just lauching the event. This is different behaviour than Safari or Chrome.


Pulse Shader Graduation Part 2

Overview

Integrated the changes made in #9191 to the Pulse Shader Spatial Mesh example scene
Updated documentation to reflect the changes

Verification

As a reviewer, it is possible to check out this change locally by using the following
commands (substituting {PR_ID} with the ID of this pull request):
git fetch origin pull/{PR_ID}/head:name_of_local_branch
git checkout name_of_local_branch

/azp run


Quota UI Clean-up

Removed usage of enforceRole for showing information related to Quota. Introduced checking roles for quota on the serviceTree instead.
Testing
Quota and no limit banners should continue to work.

Create a top-level group
Using the Mesos API set quota for a role with the same name as your group

$ ## Set Quota
curl -X "POST" -k "<CLUSTER_URL>/mesos/api/v1?SET_QUOTA" \
     -H 'Authorization: token=<token>' \
     -H 'Accept: application/json' \
     -H 'Content-Type: application/json' \
     -d $'{
  "type": "SET_QUOTA",
  "set_quota": {
    "quota_request": {
      "force": true,
      "guarantee": [
        {
          "scalar": {
            "value": 1
          },
          "name": "cpus",
          "role": "*",
          "type": "SCALAR"
        },
        {
          "scalar": {
            "value": 512
          },
          "name": "mem",
          "role": "*",
          "type": "SCALAR"
        }
      ],
      "role": "<group_name>"
    }
  }
}'

Navigate to Quota tab Services -> Quota tab
Verify the group you created is displayed in the list.
Deploy a service into your group
Verify no limit banner is displayed on Quota, Quota Detail and Services tab for the Group.

Trade-offs
I added a graphql query subscription for MesosRoles to ServicesContainer so that the roles could be used to check for quota. I initially tried to add this to the MarathonStore & DCOSStore without success due to circular dependencies.
Dependencies

Screenshots

Not merging this for now if someone else (for example @pierrebeitz ) wants to take a look.

File conflict.

rebased :)

We lost my commit that fixed the service name column and the integration test.

Dammit, forgot to pull 🤦♂
On Fri, Jul 19, 2019 at 9:00 AM Georgi Todorov<EMAIL_ADDRESS>wrote:

We lost my commit that fixed the service name column and the integration
test.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/dcos/dcos-ui/pull/3996?email_source=notifications&email_token=AAPBV2BHI7D3I2WJG3JNLU3QAHCIZA5CNFSM4IE5FASKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD2LWUIA#issuecomment-513239584,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAPBV2GQ7EI5UFN5L7ZD4F3QAHCIZANCNFSM4IE5FASA
.

I will push again.

It should be fine now.

merging as this has been approved by 2 people and I just rebased master to resolve conflicts.

:tada: This PR is included in version 2.128.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Feature enhancement [f-select]: Need a way to pass slots for Option and Option selected in type=multiple

In Vue
Expected behaviour
We need a way to explicitly define a way to show how and option should look, and how a tag should look when selected in a multi select mode. Something similar to Vue MultiSelect "tagging".

Right now, the option-template prop is the same for the option and the selected Option.

	<f-select
		searchable
		category="transparent"
		clear
		:options.prop="options"
		:option-template.prop="optionTemplate"
		type="multiple"
		@input="onPipelineSelected"
		@search-input="onSearch"
	>
		<!-- <f-div slot="label" padding="none" gap="none">
			<f-text size="small" state="secondary">Run Pipeline</f-text>
		</f-div> -->
	</f-select>

const optionTemplate: FSelectOptionTemplate = function (option: FSelectSingleOption) {
	option = option as FSelectOptionObject;
	const user = option.data as any as User;

	const htmlStr = html` <f-div align="middle-left" gap="small" overflow="hidden" width="300">
		<f-pictogram variant="circle" source="${user.email}"></f-pictogram>

		<f-div align="middle-left" gap="x-small" direction="column" overflow="hidden">
			<f-text inline> ${user.first_name || ""} ${user.last_name || ""} </f-text>
			<f-text state="subtle" inline> ${user.email} </f-text>
		</f-div>
	</f-div>`;

	return htmlStr;
};

We have isSelected argument in optionTemplate, to differentiate and render selected or available options.
export type FSelectOptionTemplate = (
	option: FSelectSingleOption,
	isSelected?: boolean
) => HTMLTemplateResult;


Module '"leaflet"' has no exported member 'DrawEvents'.

Recently i upgrade to angulare v17, and i got this error when i try to serve my project

`Error: node_modules/@asymmetrik/ngx-leaflet-draw/lib/core/leaflet-draw.directive.d.ts:2:19 - error TS2305: Module '"leaflet"' has no exported member 'DrawEvents'.
2 import { Control, DrawEvents } from 'leaflet';`
can someone to help me?
ps: to mention that i upgrade also the "@types/leaflet": "^1.9.8"

@morong34 I have the same issue as well. But it is thrown when I load the map only. Did you find any work around or solutions for this?
This is the error:
TypeError: Cannot read properties of undefined (reading 'Event')     at _LeafletDrawDirective.ngOnInit

I haven't released a version for Angular 17 yet, should be able to soon (this weekend maybe).

I haven't released a version for Angular 17 yet, should be able to soon (this weekend maybe).

@reblace It would be awesome. It is causing me hold an entrire featue to be on hold. Thanks in advance.

@reblace More context, I updating the fork to ng17 and it worked, tried the demo it works.
It fails when I tried to:

Create a new angular app with v17 CLI and install only leaflet and laflet draw, it throws the error. trows following error core.mjs:11751 ERROR TypeError: Cannot read properties of undefined (reading 'draw')   at LeafletDrawUtil.deepLiteralCopy (asymmetrik-ngx-leaflet-draw.mjs:21:34)   at _LeafletDrawDirective.ngOnInit (asymmetrik-ngx-leaflet-draw.mjs:63:23)   at callHookInternal (core.mjs:3523:14)   at callHook (core.mjs:3550:13)   at callHooks (core.mjs:3505:17)   at executeInitAndCheckHooks (core.mjs:3455:9)   at selectIndexInternal (core.mjs:11953:17)   at Module.ɵɵadvance (core.mjs:11936:5)   at LeafletDrawCoreDemoComponent_Template (core-demo.component.html:10:8)   at executeTemplate (core.mjs:12158:9)
Install the npm package directly to demo, it fails
Point the package reference to /dist and it fails

Later I tried to copy only the directive and made it standlone and merged to my code and tried. It works perfectly. I think there is something in the build output or builder.

I just released the ng 17 version of the lib and created a new project from scratch using the latest of everything and it works.
@simfyz - your bullet #1 will happen if you forget to import leaflet-draw. The drawLocal object ends up being null and the deepLiteralCopy errors because it's trying to copy into an undefined object.

@reblace Thanks for the update and the fix. I think it is better to add these in the documentation. What I found is order of import is also a point. When the leaflet-draw import is after the LeafletDrawModule, it works in ng serve, but not in build output.

The issue mentioned by @simfyz  https://github.com/bluehalo/ngx-leaflet-draw/issues/148#issuecomment-1836347130 still exists in<EMAIL_ADDRESS>when used with Angular 17 and new esbuild bundler.

ERROR TypeError: Cannot read properties of undefined (reading 'draw') at LeafletDrawUtil.deepLiteralCopy (asymmetrik-ngx-leaflet-draw.mjs:21:34)

Issue can be fixed in client application by explicitly importing leaflet-draw:
import "leaflet-draw";
But the culprit are this two lines of code:
https://github.com/bluehalo/ngx-leaflet-draw/blob/7c32f7740120ede25a68aebdf6d906ab78dd834a/projects/ngx-leaflet-draw/src/lib/core/leaflet-draw.directive.ts#L3-L4
drawLocal does not exist in "leaflet" and is appended only after 2nd "import" line is executed. Tree shaking does not see this 2nd line as dependency and cuts of the import "leaflet-draw" statement.
Order of this 2 lines should be changed, for tree-shaking not to break bundled code:
import 'leaflet-draw';
import { Control, Draw, DrawEvents, drawLocal } from 'leaflet';

@nenadvicentic  Yes, you're right. @reblace  The issue exists. still with the latest version as well.


"Could not resolve SDK" error when upgrading existing project from 4.0.2 to 4.1.0-beta3

Godot version
4.1.0-beta3
System information
Windows 10
Issue description
This error occurs after upgrading to 4.1.0 beta3 and then starting the game.
Running:  "C:\Program Files\dotnet\dotnet.EXE" build C:/development/Source.csproj -c Debug -v normal "-l:GodotTools.BuildLogger.GodotBuildLogger,C:/Program Files (x86)/Godot/Godot_v4.1-beta3_mono_win64/GodotSharp/Tools\GodotTools.BuildLogger.dll;C:/Users/Me/AppData/Roaming/Godot/mono/build_logs\07ed28eee9dffd3d07de56609dd59619_Debug" -p:GodotTargetPlatform=windows
MSBuild version 17.5.0+6f08c67f3 for .NET
Build started 21/06/2023 18.31.22.
X.509 certificate chain validation will use the default trust store selected by .NET.
X.509 certificate chain validation will use the default trust store selected by .NET.
Restoring packages for C:\Users\Me\AppData\Local\Temp\NuGetScratch\503e249c92ed455193b3aae55b946c5c\7b677cd4575b4c1f88a836d3be835faa.proj...
  CACHE https://api.nuget.org/v3-flatcontainer/godot.net.sdk/index.json
     0>C:\development\Source.csproj : error : Could not resolve SDK "Godot.NET.Sdk". Exactly one of the probing messages below indicates why we could not resolve the SDK. Investigate and resolve that message to correctly specify the SDK.
C:\development\Source.csproj : error :   SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" returned null.
C:\development\Source.csproj : error :   Unable to find package Godot.NET.Sdk with version (= 4.1.0-beta.3)
C:\development\Source.csproj : error :   - Found 48 version(s) in nuget.org [ Nearest version: 4.1.0-dev.1 ]
C:\development\Source.csproj : error :   MSB4276: The default SDK resolver failed to resolve SDK "Godot.NET.Sdk" because directory "C:\Program Files\dotnet\sdk\7.0.202\Sdks\Godot.NET.Sdk\Sdk" did not exist.
     1>Project "C:\development\Source.csproj" on node 1 (Restore target(s)).
     1>C:\development\Source.csproj : error MSB4236: The SDK 'Godot.NET.Sdk/4.1.0-beta.3' specified could not be found.
     1>Done Building Project "C:\development\Source.csproj" (Restore target(s)) -- FAILED.

Build FAILED.

         C:\development\Source.csproj : error : Could not resolve SDK "Godot.NET.Sdk". Exactly one of the probing messages below indicates why we could not resolve the SDK. Investigate and resolve that message to correctly specify the SDK.
       C:\development\Source.csproj : error :   SDK resolver "Microsoft.DotNet.MSBuildWorkloadSdkResolver" returned null.
       C:\development\Source.csproj : error :   Unable to find package Godot.NET.Sdk with version (= 4.1.0-beta.3)
       C:\development\Source.csproj : error :   - Found 48 version(s) in nuget.org [ Nearest version: 4.1.0-dev.1 ]
       C:\development\Source.csproj : error :   MSB4276: The default SDK resolver failed to resolve SDK "Godot.NET.Sdk" because directory "C:\Program Files\dotnet\sdk\7.0.202\Sdks\Godot.NET.Sdk\Sdk" did not exist.

       "C:\development\Source.csproj" (Restore target) (1) ->
         C:\development\Source.csproj : error MSB4236: The SDK 'Godot.NET.Sdk/4.1.0-beta.3' specified could not be found.

    0 Warning(s)
    2 Error(s)

Time Elapsed 00:00:00.57

Steps to reproduce

Create a project in Godot .NET v4.0.2 add a scene and a basic script.
Press play and verify that the game starts.
Close down the editor and open the project in Godot .NET v4.1.0-beta3
Press play - the error occurs.

Minimal reproduction project
UpgradeDemo-4.0.2-to-4.1.0.beta3.zip

I can attest to this bug as well. It's popping up for me: Manjaro KDE (Linux) using Godot 4.1.beta3.mono.

Yeah I was teaching @YuriSizov how to do the release but we missed this step :D
Fixed!

I don't want to open a new ticket since this seems like a simple fix, but it looks like this happened again for 4.2.0-beta. Looks like the default string in the .csproj is using 4.2.0-beta, and the nuget package is 4.2.0-beta.4

This is still an issue on 4.2.0

If you are using custom builds, they are labeled as beta by default (or as alpha, dev, or rc, depending on the state of each release). See the version.py file. There are no official packages for 4.2.0-beta, because that's not a valid release identifier, and we cannot build a nuget package for every commit in the development branch.
You can change your version.py file to use beta1 as a version status, or you could build nuget packages locally instead of getting them from the public repository (cc @raulsntos).

Godot automatically changes the SDK of opened projects to match the engine's version because it's the only version that we can guarantee works. But, as explained by @YuriSizov, we don't publish unnumbered versions.
Custom builds of the engine need to use a local NuGet repository as explained in the .NET module README.md.
Using a different version (like changing version.py or manually changing the version in the .csproj) may result in issues if the API changed or there's a mismatch in the struct of function pointers used by the module for interop. So I wouldn't recommend it, unless you really know what you are doing.

I don't really understand why Godot looks for Godot.NET.Sdk/4.2.0-beta instead of Godot.NET.Sdk/4.2.0-beta.1 even though unnumbered versions aren't published.

The only versions of Godot that should look for an unnumbered version should be custom builds. Did you build Godot from source? If not, where did you download Godot from?

I built it with this AUR package. Apologies for not making that clear earlier. Looking at the PKGBUILD though, it doesn't look like it differs from just building from source.

I'm not very familiar with the AUR. I'd recommend to use https://github.com/godotengine/godot-build-scripts with tagged releases, but I guess since the package name ends with -git, it's meant to use the latest master. In that case, I guess the PKGBUILD should create the local NuGet repository and push the packages (using --push-nupkgs-local).

I will suggest it to the author of the package. Thanks for the help!

I'm not very familiar with the AUR. I'd recommend to use https://github.com/godotengine/godot-build-scripts with tagged releases, but I guess since the package name ends with -git, it's meant to use the latest master. In that case, I guess the PKGBUILD should create the local NuGet repository and push the packages (using --push-nupkgs-local).

Hello, package maintainer here thanks for the suggestion! Currently testing this right now

@HurricanePootis The nupkgs-local needs to persist in the system so that users can retrieve the packages when building Godot projects.

Where should be installed nupkgs-local ? Under $HOME is not a welcome option for AUR/Arch packages

@HurricanePootis The nupkgs-local needs to persist in the system so that users can retrieve the packages when building Godot projects.

I can't think of a way to create a local NuGet package while building godot, and then have it installed, and have godot to point towards it.

I don't know how PKGBUILD works, but creating a local NuGet source can be done with the following command:
dotnet nuget add source ~/MyLocalNuGetSource --name MyLocalNuGetSource

This creates a source with the path ~/MyLocalNuGetSource. The path can be anything as long as the user has read/write permissions in that directory. This configuration is written to the user NuGet configuration (usually in ~/.nuget/NuGet/NuGet.Config).
Then, when building the Godot assemblies, make sure to specify the local NuGet source with the --push-nupkgs-local option (this copies the built NuGet packages to the specified local source):
./modules/mono/build_scripts/build_assemblies.py --godot-output-dir ./bin --push-nupkgs-local ~/MyLocalNuGetSource

You can check the list of registered sources with:
dotnet nuget list source

This lists the sources that NuGet will use when restoring packages. The local NuGet source with the copied packages must be registered so that users can build Godot projects, it will be used to retrieve the packages that were built by build_assemblies.py.

What steps are you struggling with? If using the dotnet CLI to setup the local NuGet repository for the user installation is not possible, perhaps you can write a custom NuGet configuration file.
Any additional files in ~/.nuget/NuGet/config/ will be used for the NuGet configuration. For example, you can create a file in ~/.nuget/NuGet/config/MyAdditionalConfig.Config that contains the configuration that registers the local NuGet source:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyLocalNuGetSource" value="/home/user/MyLocalNuGetSource" />
  </packageSources>
</configuration>

I don't know how PKGBUILD works, but creating a local NuGet source can be done with the following command:
dotnet nuget add source ~/MyLocalNuGetSource --name MyLocalNuGetSource

This creates a source with the path ~/MyLocalNuGetSource. The path can be anything as long as the user has read/write permissions in that directory. This configuration is written to the user NuGet configuration (usually in ~/.nuget/NuGet/NuGet.Config).
Then, when building the Godot assemblies, make sure to specify the local NuGet source with the --push-nupkgs-local option (this copies the built NuGet packages to the specified local source):
./modules/mono/build_scripts/build_assemblies.py --godot-output-dir ./bin --push-nupkgs-local ~/MyLocalNuGetSource

You can check the list of registered sources with:
dotnet nuget list source

This lists the sources that NuGet will use when restoring packages. The local NuGet source with the copied packages must be registered so that users can build Godot projects, it will be used to retrieve the packages that were built by build_assemblies.py.
What steps are you struggling with? If using the dotnet CLI to setup the local NuGet repository for the user installation is not possible, perhaps you can write a custom NuGet configuration file.
Any additional files in ~/.nuget/NuGet/config/ will be used for the NuGet configuration. For example, you can create a file in ~/.nuget/NuGet/config/MyAdditionalConfig.Config that contains the configuration that registers the local NuGet source:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="MyLocalNuGetSource" value="/home/user/MyLocalNuGetSource" />
  </packageSources>
</configuration>

The problem is that a PKGBUILD isn't supposed to create files in the user's home folder. It is supposed to create a *.pkg.tar.zst file that has the entire program built with anything that it needs to run, that can be installed on any system afterwards. It's not proper to touch anything from the user's ~, which makes creating a local a NuGET repo that is also portable, that godot will look to, hard.

I see, I don't think it's possible to setup a local NuGet source then. Can PKGBUILD add patches on top of the git sources? If so, you could add code to Godot that configures the custom NuGet source when opening the editor or something like that.
When building Godot, the packages are created and included in the PKGBUILD output. If you know where the packages will be stored after installation, then you can have the Godot editor check the user's NuGet configuration and if the custom source doesn't exist, create it and add it. The custom source would just point to the directory where the packages are stored.
In Godot we've modified the user's NuGet configuration in the past and that lead to more problems that it solved, so I wouldn't recommend this approach, but it seems like it might be the only option for your use case.


Editing the graphs and adding new ones

Country Based Graphs
our country based graphs need the followings:

editing the visualization ( like axis labels )
check if we need more interactivity with our current visualizations
based on the projects check list double check if we have missed any necessary charts or graphs

Overview and USA
we need to the followings:

design a fast and light flow
renaming and importing th csv files only after selection
editing the size of the graph to fit the screen

We should change our graph matplotlib to plotly and we need to figure out the datetime section.


v-if / v-show should evaluate objects as booleans.

I know I could create a custom filter for this, but I find it a little annoying to check Object.keys().length in templates to test if an object isn't empty when using v-show or v-if. Especially since data objects/ computed properties that return objects should always have an initial state of {} and not null.

The logic behind v-if and v-show is that they simply work based on the value's truthiness in JavaScript. An empty object is truthy, that's how the language works. Changing that would break cases where users expect an empty object to work. In my opinion explicitly checking wether it is empty is necessary and logical.

@yyx990803 I understand that, but can you think of any instance where an object passed into v-if is ever falsey? I doubt anyone sets up their data to default to null, when it's going to be an object. It simply seems sensible to cast it, since it's likely only ever going to be {} or a populated object. I know Angular does this and it made the checks inside the directive much cleaner.

You can create a mixin that expose a method to check for an object. You can also use a computed value

@syropian You should set it to null if you want it to be falsy. And ng-if and ng-show uses the same logic that Vue does. What seems sensible to you seems counter-intuitive to me.

It's fine, agree to disagree I guess. ¯_(⊙︿⊙)_/¯

Hi @posva , can you give me an example for solve the problem ? Thanks a lot

@Nayir You should actually just use v-if="Object.keys(object).length
You can use a computed property to check that
Ideally you should set the initial value as null (falsy) instead of {}  (truthy)

A simple work around is create a computed property that output a bool value.
Let me explain you with an example:
YourComponentFile.vue (script section):
data() {
  return {
    myObject: {}
  }
},

computed: {
  hasMyObject: function() {
    return Object.keys(this.myObject).length;
  }
}

and in YourComponentFile.vue (template section):

You can use lodash globally:

@syropian You should set it to null if you want it to be falsy. And ng-if and ng-show uses the same logic that Vue does. What seems sensible to you seems counter-intuitive to me.

But if you want this value to be reactive you can't set it to null.
vue.esm.js:591 [Vue warn]: Cannot set reactive property on undefined, null, or primitive value: null


Prefix server URL defines

Fix missing prefixes from the server URL #defines.
Thanks

Please submit this issue to https://github.com/urbanairship/ios-library-dev, this repo is just for the pod.