WIP: Contextual section highlighting

There's a lot rough edges on this one, but I wanted your opinion on if you even want to take the UI in that direction, so here's a pull request :smile:
The changes come in 2 parts:

I refactored how file diffs are rendered to the buffer, so I can better keep hunk location data in the locations table. I suppose this worsens performance on the refresh somewhat, but it's easier to keep the locations table up-to-date like that. If it is a problem, I'm happy to optimize that.
I used the aforementioned location data to get the current smallest section under the cursor, then used signs to highlight that region. This gives the same context highlighting that magit implements. As a next step, using the same data to contextually move the cursor to the next section/hunk should be trivial.

The rough edges:

I realize there already is logic to get the current hunk under the cursor, however I couldn't quite get that to work for my use case without digging too deep and possibly breaking things. Again, happy to take that instead of my locations table extension if needed.
The signs all need a numeric unique ID and currently that's just an incrementing counter. That just screams of a potential overflow, so I suppose that needs to be optimized. Also I don't know how much duplicate IDs destroy the placed signs in our use case; might be fine to ignore the unique constraint (vim doesn't complain, but claims undocumented behavior in the docs)
I included my own highlights for hunk headers and selection highlighting. I could possibly get away with an existing highlighting group for the standard highlighting, but for hunk headers it already gets tricky, since it needs a highlighted variant. I'm not sure what's the correct approach on this one.
magit just seems to role it's own faces with default values in emacs for that and the color scheme libraries take care of them. I'm not sure how widely spread this is in the vim ecosystem, but a quick skim through my solarized.vim tells me that something similar is happening there.
Diff markers may need something similar to the HunkHeader and -Highlighted highlight groups.
Didn't test everything yet, so selective staging might be broken somewhere.

As an alternative to rolling custom highlight groups, we could probably get away with just using CursorLine for section highlighting, StatusLine for hunk headers and not doing any extra highlighting for diff markers and hunk headers when they are in the highlighted section.

As an alternative to rolling custom highlight groups, we could probably get away with just using CursorLine for section highlighting, StatusLine for hunk headers and not doing any extra highlighting for diff markers and hunk headers when they are in the highlighted section.

Could you add some screenshots so I can quickly appreciate the changes you made?

Could you add some screenshots so I can quickly appreciate the changes you made?

@TimUntersberger These are with  current custom highlights (just grey shades, everything else is my solarized theme; very much subject to change, if we even go that way):

These would be using just existing highlight groups:

They obviously look better in my colorscheme since they use the same colors, but have the drawback of having the same background as the diff markers when highlighted, and folded hunks are not highlighted, which looks confusing (cursor is on the folded hunk here):

@TimUntersberger These are with  current custom highlights (just grey shades, everything else is my solarized theme; very much subject to change, if we even go that way):

These would be using just existing highlight groups:

They obviously look better in my colorscheme since they use the same colors, but have the drawback of having the same background as the diff markers when highlighted, and folded hunks are not highlighted, which looks confusing (cursor is on the folded hunk here):

I refactored how file diffs are rendered to the buffer, so I can better keep hunk location data in the locations table. I suppose this worsens performance on the refresh somewhat, but it's easier to keep the locations table up-to-date like that. If it is a problem, I'm happy to optimize that

I think we shouldn't eager load this. As I understood it you are now preloading all diffs and then adding highlighting, which has caused some serious slowness when I initially created this plugin.

used signs to highlight that region

I have never used signs before, can you give me a quick tldr why you chose to use them and which alternatives you have tried/thought about?

I refactored how file diffs are rendered to the buffer, so I can better keep hunk location data in the locations table. I suppose this worsens performance on the refresh somewhat, but it's easier to keep the locations table up-to-date like that. If it is a problem, I'm happy to optimize that

I think we shouldn't eager load this. As I understood it you are now preloading all diffs and then adding highlighting, which has caused some serious slowness when I initially created this plugin.

used signs to highlight that region

I have never used signs before, can you give me a quick tldr why you chose to use them and which alternatives you have tried/thought about?

I think we shouldn't eager load this. As I understood it you are now preloading all diffs and then adding highlighting, which has caused some serious slowness when I initially created this plugin.

Well, loading is still deferred to be async, but they are rendered as soon as they are loaded, not when they are expanded. Basically what happens when a user pressed 4 now always happens. I can totally see how that would be a slow render on a huge changeset though. I'll make some time to profile that and revert changes as needed.
Also note that the current render-when-diff-is-opened mechanic doesn't respect usual fold controls like zO and zR and potential user-remaps that control the foldlevel. So, I would prefer my approach since it supports those natively, granted I can get it to perform of course.

I have never used signs before, can you give me a quick tldr why you chose to use them and which alternatives you have tried/thought about?

Signs are basically vim's way of "quickly highlighting a line" and is supposed to be used by IDE-tools, debugger, etc. to place signs and highlight lines of interest - which is basically what we are when highlighting the status buffer, so that's a fit.
My first attempt was just using neovim's highlighting api to apply line-wise highlighting, which in principle works just as well. The only difference is that signs allow you to set a linehl which sets a highlighting group for a whole line, extending to the end. Usually, and that includes neovim's highlight api, you can only apply highlighting to actual characters in the buffer. Using signs I can extend the highlighting to the whole line, which for highlighting the section just looks way better.

I think we shouldn't eager load this. As I understood it you are now preloading all diffs and then adding highlighting, which has caused some serious slowness when I initially created this plugin.

Well, loading is still deferred to be async, but they are rendered as soon as they are loaded, not when they are expanded. Basically what happens when a user pressed 4 now always happens. I can totally see how that would be a slow render on a huge changeset though. I'll make some time to profile that and revert changes as needed.
Also note that the current render-when-diff-is-opened mechanic doesn't respect usual fold controls like zO and zR and potential user-remaps that control the foldlevel. So, I would prefer my approach since it supports those natively, granted I can get it to perform of course.

I have never used signs before, can you give me a quick tldr why you chose to use them and which alternatives you have tried/thought about?

Signs are basically vim's way of "quickly highlighting a line" and is supposed to be used by IDE-tools, debugger, etc. to place signs and highlight lines of interest - which is basically what we are when highlighting the status buffer, so that's a fit.
My first attempt was just using neovim's highlighting api to apply line-wise highlighting, which in principle works just as well. The only difference is that signs allow you to set a linehl which sets a highlighting group for a whole line, extending to the end. Usually, and that includes neovim's highlight api, you can only apply highlighting to actual characters in the buffer. Using signs I can extend the highlighting to the whole line, which for highlighting the section just looks way better.

Well, loading is still deferred to be async, but they are rendered as soon as they are loaded, not when they are expanded. Basically what happens when a user pressed 4 now always happens

Ah then I misunderstood what happens. This should be fine I think.

Signs are basically vim's way of ...

Ah ok thank you!
I really hope we manage to merge this soon as this will make the UI look way more cooler thanks to you! :)

Well, loading is still deferred to be async, but they are rendered as soon as they are loaded, not when they are expanded. Basically what happens when a user pressed 4 now always happens

Ah then I misunderstood what happens. This should be fine I think.

Signs are basically vim's way of ...

Ah ok thank you!
I really hope we manage to merge this soon as this will make the UI look way more cooler thanks to you! :)

Could you provide a small gif that shows this PR in action? From startup time to moving through sections, hunks, etc.

Could you provide a small gif that shows this PR in action? From startup time to moving through sections, hunks, etc.

@TimUntersberger I tried but it looks laggy compared to what's going on on my screen, so keep that in mind.

You can however just checkout my branch and try it yourself, it's directly on top of your master branch anyway.

@TimUntersberger I tried but it looks laggy compared to what's going on on my screen, so keep that in mind.

You can however just checkout my branch and try it yourself, it's directly on top of your master branch anyway.

This is really cool! I'd gladly merge this once this PR is ready.

This is really cool! I'd gladly merge this once this PR is ready.

@TimUntersberger Did some very rudimentary performance testing:
Setup:

Empty file in version control
Added lots of lines to the file
Opened nvim and neogit

With below 2k lines, there's no noticeable lag while moving the cursor. Above that it's noticeable, but not problematic up to about 5k lines. With 10k lines the UI becomes basically unusable, because vim just takes too long updating signs. Some of that time should be from regex matching every line 3 times (hunk header, diff add & diff delete), so there's definitely room for improvement.
Even with 10k lines there were no problems rendering the loaded diff, so I suppose we have no problem on that front.

@TimUntersberger Did some very rudimentary performance testing:
Setup:

Empty file in version control
Added lots of lines to the file
Opened nvim and neogit

With below 2k lines, there's no noticeable lag while moving the cursor. Above that it's noticeable, but not problematic up to about 5k lines. With 10k lines the UI becomes basically unusable, because vim just takes too long updating signs. Some of that time should be from regex matching every line 3 times (hunk header, diff add & diff delete), so there's definitely room for improvement.
Even with 10k lines there were no problems rendering the loaded diff, so I suppose we have no problem on that front.

Even with 10k lines there were no problems rendering the loaded diff, so I suppose we have no problem on that front.

That's good to hear 👍

With below 2k lines, there's no noticeable lag while moving the cursor. Above that it's noticeable, but not problematic up to about 5k lines. With 10k lines the UI becomes basically unusable, because vim just takes too long updating signs. Some of that time should be from regex matching every line 3 times (hunk header, diff add & diff delete), so there's definitely room for improvement.

I think this is not possible to fix for us. I can notice serious lag when having complex syntax highlighting in 10k lines files in vim. Maybe we could have "virtual highlighting"? Deleting highlighting that is out of some range? Would this be possible or is too much work for such a rare situation?

Even with 10k lines there were no problems rendering the loaded diff, so I suppose we have no problem on that front.

That's good to hear 👍

With below 2k lines, there's no noticeable lag while moving the cursor. Above that it's noticeable, but not problematic up to about 5k lines. With 10k lines the UI becomes basically unusable, because vim just takes too long updating signs. Some of that time should be from regex matching every line 3 times (hunk header, diff add & diff delete), so there's definitely room for improvement.

I think this is not possible to fix for us. I can notice serious lag when having complex syntax highlighting in 10k lines files in vim. Maybe we could have "virtual highlighting"? Deleting highlighting that is out of some range? Would this be possible or is too much work for such a rare situation?

virtual highlighting

That's definitely an avenue we can take. I would optimize my regex use before that though. In any case, I think that's an issue for when somebody actually wants to manage a 10k lines diff through neogit.

virtual highlighting

That's definitely an avenue we can take. I would optimize my regex use before that though. In any case, I think that's an issue for when somebody actually wants to manage a 10k lines diff through neogit.

In any case, I think that's an issue for when somebody actually wants to manage a 10k lines diff through neogit.

👍 I think you shouldn't have a diff of 10k lines anyways 😄. If someone hits this problem we can fix it, but for now this should be already enough.

In any case, I think that's an issue for when somebody actually wants to manage a 10k lines diff through neogit.

👍 I think you shouldn't have a diff of 10k lines anyways 😄. If someone hits this problem we can fix it, but for now this should be already enough.

Alright, I think I'm about done. One last question:
I left the grayscale highlight groups in there since they are more customizable. For example, to play nice with my solarized theme, these overrides do nicely:
hi! NeogitHunkHeader guibg=#839496 guifg=#073642
hi! NeogitHunkHeaderHighlight guibg=#93a1a1 guifg=#073642
hi! NeogitDiffContextHighlight guibg=#073642
hi! NeogitDiffAddHighlight guibg=#073642
hi! NeogitDiffDeleteHighlight guibg=#073642

Since no colorscheme supports these natively (yet? :D), I suppose we should document that somewhere? Also, I only defined guicolors since I haven't used a 16 color terminal in ages and I'm not sure who still would. If you're fine with that, I'm ready to go forward :)

Alright, I think I'm about done. One last question:
I left the grayscale highlight groups in there since they are more customizable. For example, to play nice with my solarized theme, these overrides do nicely:
hi! NeogitHunkHeader guibg=#839496 guifg=#073642
hi! NeogitHunkHeaderHighlight guibg=#93a1a1 guifg=#073642
hi! NeogitDiffContextHighlight guibg=#073642
hi! NeogitDiffAddHighlight guibg=#073642
hi! NeogitDiffDeleteHighlight guibg=#073642

Since no colorscheme supports these natively (yet? :D), I suppose we should document that somewhere? Also, I only defined guicolors since I haven't used a 16 color terminal in ages and I'm not sure who still would. If you're fine with that, I'm ready to go forward :)

I played with the context highlighting a bit and I think that the grayscale coloring looks really beautfiul.
Could you add some documentation about the highlighting groups in the README?
After this change I'd gladly merge this PR if you think it is ready!

I played with the context highlighting a bit and I think that the grayscale coloring looks really beautfiul.
Could you add some documentation about the highlighting groups in the README?
After this change I'd gladly merge this PR if you think it is ready!

Already added the README update with the latest commit :)

Already added the README update with the latest commit :)

Already added the README update with the latest commit :)

Whoops! sry!

Already added the README update with the latest commit :)

Whoops! sry!


Update Stable versions (27 adapter)

@TA2k
Please split updates into seperate PRs per adapter and fix issues reported by adapter checker to handle checks / and processing independently.
Please verify that:

Adapters have release information added to README.md (Error 606 must be fixed)
Verify that README,md is written in (pure) english.
translations are present at io-package.json (at least english and german is mandatory)
github tests for node 16/18/20 are implemented and working

Note: Error 605 and 701 (copyright year missing) can be ignored!

Sorry I have not time for this. Please close or merge

In addition please state why you request stable updates for adapters you die not work on lately. I.e. worx has been maintained by lucky-esa lately. Dis you discusse with him to request an update of stable? It would be at least good practice to ask the (active) maintainer in my oppinion.

I will close here - please create seperate PRs. Using www.iobroker.dev this should a one click action (if all adater passes checks withpiut errors.)
@Apollon77 FYI

@TA2k

Sorry I have not time for this. Please close or merge

Please explain what actions are too much timeconsuming.
If splitting the PR is the problem - well can be handled as ONE PR too.
But the mentioned / reported issues

missing releasenotes entry at README.md
missing access to npm for bluefox
missing translations for news
miccing common.connectionType and common.dataSource

shouldn't be a problem to fix as those information directly effects the users comfort when using / installing the adapter.
Please let me know, if you plan to fix / have fixed those issues so that I can do a selective merge when fixed.

Release notes are in io-package.json
npm access was invited but not accepted
if the same text in German as in English no translation needed
this are old adapters the user never saw the information for connectionType and was fine with this
working adapter version is more important then copyright in readme, bad auto translated changelog or comfort infos like connectionType

RE-CHECK!

RE-CHECK!

RE-CHECK!


Fix deployment of default directory for aliasfied packages

Codecov Report

Merging #752 (0fc8c08) into develop (c912bf4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff            @@
##           develop     #752   +/-   ##
========================================
  Coverage    65.15%   65.15%
========================================
  Files           46       46
  Lines         1541     1541
  Branches       284      284
========================================
  Hits          1004     1004
  Misses         537      537

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c912bf4...0fc8c08. Read the comment docs.


Auto-detect testnet for unspent/fetchtx

Any input on how to clean up the code would be appreciated, but the functionality is sound
eg is_testnet(["mqA28xiLNGAMdggwf3eihB533MNYnmxwx3","muCRMGBLnfmQC6Y4vBWZJfbPFTFQgTZVZp"])
>>> "testnet"```

Also, see [my fork](https://github.com/wizardofozzie/pybitcointools) (NB some code deviates from @vbuterin pybitcointools, eg `safe_unhexlify` is similar to `safe_frox_hex` but also acts to "unhexlify JSON hex"


Added output configurability

This ended up being the only hard requirement for the project I'm spinning up with this stack at the moment.
Need to be able to set the output.publicPath to tell the html-webpack-plugin to render all refs as relatives rather than absolutes to allow for base tag to dictate the nested app's folder location.
Will add empty output object to build.config.js file in the front-end-stack project to match this if we decide it's a goer.
@teriu - Obviously open for Monday morning discussion over coffee...  😉   ☕

Awesome sauce! Makes perfect sense, I'll merge now.


hexyl -C does the inverse of hexdump -C

hexyl -C does not show a character panel to the right of the hex output while hexdump -C does.
$ echo "hello world" | /usr/bin/hexdump -C
00000000  68 65 6c 6c 6f 20 77 6f  72 6c 64 0a              |hello world.|
0000000c
$ echo "hello world" | hexyl -C
┌────────┬─────────────────────────┬─────────────────────────┐
│00000000│ 68 65 6c 6c 6f 20 77 6f ┊ 72 6c 64 0a             │
└────────┴─────────────────────────┴─────────────────────────┘

Conversely, when using the commands without any flags, hexyldoes show a character panel to the right of the hex output while hexdump does not (This I do understand, since arguably a hex viewer is most useful to a human user with a character panel, therefore showing a character panel should be the default behaviour).
$ echo "hello world" | /usr/bin/hexdump
o0000000 6568 6c6c 206f 6f77 6c72 0a64
000000c
$ echo "hello world" | hexyl
┌────────┬─────────────────────────┬─────────────────────────┬────────┬────────┐
│00000000│ 68 65 6c 6c 6f 20 77 6f ┊ 72 6c 64 0a             │hello wo┊rld_    │
└────────┴─────────────────────────┴─────────────────────────┴────────┴────────┘

This behaviour is confusing when hexdump is used as an alias to hexyl (alias hexdump='hexyl --color auto') in an interactive shell. I understand that aliasing hexdump to hexyl may not be smart in all usecases, especially when flags are used with the hexdump alias that are not implemented by hexyl. I personally only really use hexdump -C and would like hexyl -C to do the same thing.
For my own purposes I could implement hexdump as a shell function that inverts the presence of the -C flag before passing its function arguments on to hexyl, but I would prefer to avoid this kind of complexity.
Proposed solution: Change hexyl -C or hexyl --characters to show a character panel and show no character panel with hexyl --no-characters. The behaviour of hexyl with no flags could be inverted to show no character panel as well, in order to match the behaviour of hexdump, though this is a matter of opinion.
$ hexyl --version
hexyl 0.12.0

Thank you for reporting this.

Proposed solution: Change hexyl -C or hexyl --characters to show a character panel and show no character panel with hexyl --no-characters.

Agreed. Let's do this.

The behaviour of hexyl with no flags could be inverted to show no character panel as well, in order to match the behaviour of hexdump, though this is a matter of opinion.

I'd rather leave the current default. But with the proposed feature above, you could set alias hexdump="hexyl --no-characters" and then use -C to override it when needed.


Error: ENOENT, no such file or directory 'empty:'

  requirejs: {
            compile: {
                options: {
                    baseUrl: ".",
                    name: "main",
                    out: "main-built.js",
                    paths: {
                        requireLib: "lib/require",
                        "buildinfo": "empty:",
                        "servlets/rpc/clientInit": "empty:",
                    },
                    mainConfigFile: "main.js",
                    excludeShallow: ["servlets/rpc/clientInit", "buildinfo"],
                    findNestedDependencies: true
                },
                optimize: "uglify2"
            }
        }

Any ideas why? The buildinfo is loaded as a text module at runtime, no need to add it at build time.

I've the same issue with text:somefile (https://github.com/requirejs/text)
Is there any solution?

Having the same issue. Any update here?


add support for signingUrlHeaders

Adding this makes it possible to specify signingUrlHeaders upstream.

Awesome, thank you.


FixIt diffs file instead of buffer

When ycmd parses a C buffer with changes and suggests a FixIt, the chunk diffs shown use the unsaved file. This results in errors made after saving the file not being diffed properly, as well as showing unrelated changes. I haven't tested with languages other than C, so I don't know if this is a general issue.
Without saving:

After saving:

Debug info:
((python
  (executable . "/usr/bin/python")
  (version . "3.6.5"))
 (clang
  (has_support . t)
  (version . "clang version 6.0.0 (tags/RELEASE_600/final)"))
 (extra_conf
  (path . "/home/zed/.emacs.d/layers/+tools/ycmd/global_conf.py")
  (is_loaded . t))
 (completer
  (name . "C-family")
  (servers)
  (items
   ((key . "compilation database path")
    (value . "None"))
   ((key . "flags")
    (value . "['-std=c11', '-Wall', '-Wextra', '-pthread', '-I/usr/include/gtk-3.0', '-I/usr/include/pango-1.0', '-I/usr/include/glib-2.0', '-I/usr/lib/glib-2.0/include', '-I/usr/include/fribidi', '-I/usr/include/cairo', '-I/usr/include/pixman-1', '-I/usr/include/freetype2', '-I/usr/include/libpng16', '-I/usr/include/harfbuzz', '-I/usr/include/uuid', '-I/usr/include/gdk-pixbuf-2.0', '-I/usr/include/gio-unix-2.0/', '-I/usr/include/libdrm', '-I/usr/include/atk-1.0', '-I/usr/include/at-spi2-atk/2.0', '-I/usr/include/at-spi-2.0', '-I/usr/include/dbus-1.0', '-I/usr/lib/dbus-1.0/include', '-pthread', '-lgtk-3', '-lgdk-3', '-lpangocairo-1.0', '-lpango-1.0', '-lfribidi', '-latk-1.0', '-lcairo-gobject', '-lcairo', '-lgdk_pixbuf-2.0', '-lgio-2.0', '-lgobject-2.0', '-lglib-2.0', '-lmpdclient', '-resource-dir=/usr/share/ycmd/ycmd/../clang_includes', '-fspell-checking']"))
   ((key . "translation unit")
    (value . "[REDACTED]/main.c")))))

Server is running at: <IP_ADDRESS>:36341

Ycmd Mode is enabled

--------------------

Ycmd version:   1.3snapshot (package: 20180520.353)
Emacs version:  27.0.50
System:         x86_64-pc-linux-gnu
Window system:  x

I've done a quick scan through our code and (what I think is) the appropriate code in YCMD itself, and I think emacs-ycmd is doing the right thing WRT to the ycmd protocol. We're sending the current buffer contents, it's expecting those, etc. I'm willing to assume for now that ycmd itself is doing the right thing regarding unsaved buffer contents. So...
@ptrv Is it possible that we're simply showing diffs against the saved file instead of the in-buffer contents? You know this part of the code much better than I do.

@zestyr I've pushed a change to the fix-fixit-diff branch. Could you give it a try and let me know if it works for you? I've taken it for a small test-drive, and it seems to work, but I'd like to verify that it solves your problem as well.

@abingham It works indeed, thank you for the fix. Sorry for the delay.

No worries. Thanks for testing it out.


Support Refaster#anyOf()

For @BeforeTemplate annotated methods which contain one Refaster#anyOf() call we can support that by generating a corresponding number of JavaTemplates.

So far just added a test.

Noticed a small potential issue on the generated methods for Error Prone Support. For AssertJBooleanRules we now generate AssertJBooleanRulesRecipes, which includes
AbstractBooleanAssertIsNotEqualToRecipe
                final JavaTemplate before = JavaTemplate
                        .builder("#{boolAssert:any(org.assertj.core.api.AbstractBooleanAssert<?>)}.isEqualTo(!#{other:any(boolean)})")
                        .javaParser(JavaParser.fromJavaVersion().classpath("assertj-core"))
                        .build();

AbstractBooleanAssertIsTrueRecipe
                final JavaTemplate before$0 = JavaTemplate
                        .builder("boolAssert.isEqualTo(true)")
                        .javaParser(JavaParser.fromJavaVersion().classpath("assertj-core"))
                        .build();

Notice how the second form does not include any type with the matcher before templates. In the after methods those types are present.


feat: Ignore certain repos

I would like to be able to ignore certain repositories.
For example, my dotfiles have around 400 lines of Vim Script, which makes this action show 26% Vim Script on my profile, even though I don't actually use it much.
Implementation
This could probably be solved quite easily, with an environment variable EXCLUDE_REPOS containing comma-separated repo names, and then filtering the GraphQL result to exclude those repos.
Thank you!

Hi, a PR for this would be welcome.


App Platform: Spring Cloud API Issues

Here lists some of the APIs expiriencing not well
Spring Service
https://github.com/Azure/azure-rest-api-specs/blob/7a2c7d7/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json#L60

PUT request cannot update the existing service. When I do a PUT request for update, it will return "message": "The service name '***' is already taken.".

I think if the service could not be updated by PUT request, the swagger should be change to Create instead of CreateOrUpdate.

Spring App
https://github.com/Azure/azure-rest-api-specs/blob/7a2c7d7/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json#L396

PUT (creation) request could not set activeDeployment, it should be better to return error.
The PATCH response would not contain fqdn properties, while the GET response has such field.

I think this field should be return in PATCH / PUT response as well.

Deployment
https://github.com/Azure/azure-rest-api-specs/blob/7a2c7d7/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json#L1545

Deployment with source will build fail when the tar archive doesn't contain folder, which actually can be extract by tar.

I think it may be due to service doesn't to mkdirs for files when extracting.

The endpoint could not be called successfully within tens of seconds after the deployment LRO was successful, like 502. (same as the change of httpsOnly in app, but app is not LRO so may be more difficult to change)

It should be ready when the deployment LRO return succeed.

Service Binding
https://github.com/Azure/azure-rest-api-specs/blob/7a2c7d7/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json#L751

All parameters are optional but the service will return error when any of the "resourceId", "key" or "bindingParameters" is null, which means actually all fields except "resourceName" are required. There causes some problem:

Required parameters should be set as required in swagger. Otherwise, user may need to test several times before they can call the API successfully.
the "resouceName" and "resourceType" is actually included in the resourceId.
"bindingParameters" should be optional and it is not abservbale to pass password of MySQL in the "key" field

Thank you @ChenTanyi for raising this. If we separate above issues into 2 categories:

Requires Swagger Update

Service Binding

Swagger is correct while backend service implementation need improve

Spring Service

We've enhanced our backend to make PUT has complete support for Update scenario, so 'd like to keep the name as CreateOrUpdate.

Spring App
Deployment

The reason why 'd like to separate, is that as you might know we are preparing new API version, and we want to ensure all "Requires Swagger Update" problems are not exist in new version. Let me know if the problem is miscategorized. Thank you.
Also @yuwzho to add anything I missed.


Bug: how to prepopulate text in editorconfig in lexical 0.8.0

folowing the markdown plugin example, https://codesandbox.io/s/lexical-markdown-plugin-example-4076jq?from-embed,
if you change the version of lexical to 0.8.0, there would be error.
There is no example of how to populate texts or simply display text in lexical.
I tried to getEditorState() and then display the data in another page. However, example in this implementation is lacking
Lexical version: 0.8.0
Steps To Reproduce
1.https://codesandbox.io/s/lexical-markdown-plugin-example-4076jq?from-embed
2. change the version of lexical to 0.8.0

Link to code example:

The current behavior
The expected behavior

I changed the version to 0.8.0 and it works ok
https://codesandbox.io/s/interesting-mendeleev-n0n8w5?file=%2Fsrc%2FEditor.js

https://codesandbox.io/s/laughing-gates-pphp7y

Works on 0.9 too:
https://codesandbox.io/s/amazing-frog-j7zvch
Happy to help you with questions around initializing the editor with text on Discord, but I don't think this is a bug.

@acywatson I don't see 0.9 in releases, did the lexical team decide to drop GitHub releases in favor of changelog.md?


v1.0

So, this brings version 1.0 of mtg. I gonna update this description later, but here you will see:

Major refactorings
Multiplexing of telegram connections
A list of backward-incompatible things
New metrics

Faketls is implemented. I need to do some minor cleanups + documentation update

Only documentation is left

This also closed https://github.com/9seconds/mtg/issues/77, https://github.com/9seconds/mtg/issues/83, https://github.com/9seconds/mtg/issues/95 and https://github.com/9seconds/mtg/issues/89


Azure.Core.Foundations.CustomPage is currently generated as models

For cadl spec here: https://github.com/Azure/cadl-ranch/blob/41a966fefa9c9d32e7afc561ac66a89ac4ea6484/packages/cadl-ranch-specs/http/azure/core/main.cadl#L119-L142, we are now generating Azure.Core.Foundations.CustomPage as model CustomPageUser: https://github.com/Azure/autorest.python/blob/main/packages/cadl-python/test/generated/core/specs/azure/core/models/_models.py#L20-L34
class CustomPageUser(_model_base.Model):
    value: List["_models.User"] = rest_field()
    """The User items on this page. Required. """
    next_link: Optional[str] = rest_field(name="nextLink")
    """The link to the next page of items. """

Two thinkings about this:

This seems not correct because that it's our goal not to generate AzureCore models.
Meanwhile, the Azure.Core.Foundations.CustomPage<User> is not exported by the cadl-dpg tool function getAllModels. We need getAllModels export if this is the expected behaviour of generate argumented template model.

We have same issue in cadl-ranch project resiliency/dev-driven.


Unnecessary screen when backup codes are enabled with Email OTP

Describe the issue:
When backup codes are enabled for the Email OTP, user has to go through below page, which does not server any purpose

How to reproduce:
Add basic authentication as 1st step and Email OTP as the 2nd step. Enable "Enable backup codes" option.

Before going to the Email OTP page, user lands in the above mentioned page, which does not serve any purpose.
Expected behavior:

Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: [e.g., IS 5.10.0, IS 5.9.0]
OS: [e.g., Windows, Linux, Mac]
Database: [e.g., MySQL, H2]
Userstore: [e.g., LDAP, JDBC]

Optional Fields
Related issues:

Suggested labels:

Verified in the latest beta snapshot Jenkins build.
https://github.com/wso2/product-is/assets/41533942/fdd88f19-4ae3-42ff-8e74-f422f87582e0


[W7.1][T11-B1] Eka Buyung Lienadi (Add use cases)

Pull Request Test Coverage Report for Build 25

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

Totals

Change from base Build 24:
0.0%

Covered Lines:
1478

Relevant Lines:
1623

💛  - Coveralls


2.0.0-dev.41.0 contains broken pub (can not fetch packages)

This issue made it into the pub in that release: dart-lang/pub#1846
Can we add a sanity check to make sure pub can fetch packages?  It's quite time consuming to debug, pin my Travis, wait for a non-broken SDK, then unpin again.

To be clear, I'm suggesting a sanity check for this in the SDK prior to building a release version.  It should be entirely possible for pub to transiently have failures in development, that's normal, it's just sad to have them escape into the wild. :-(

See https://github.com/dart-lang/sdk/issues/32651

CL pending https://dart-review.googlesource.com/c/sdk/+/48084

fix landed in https://github.com/dart-lang/sdk/commit/0b2684e6297217c690d082ce6f1d0e23215b5477

Great that the base issue is addressed, but I'd like to leave this open to track adding some sort of integration test to prevent this from happening again.  In other words, this bug is open because bugs like this can reappear at any time.

Closing -> integration test is covered by #32656


[FIND USAGE] incorrect reference verification for COMPONENT_NAME elements

suppose following code:
var foo = new Sprite();
trace(foo);
trace(foo);

If you place cursor on second or third line and try to find usages, both usages will be found. But if you'll try to do the same for the first line (in the variable declaration) - no usages will be found.
The problem here is that "var foo" is a reference to PsiElement with token type "COMPONENT_NAME". t
The foo in "trace(foo);", are references to  PsiElement with token type "LOCAL_VAR_DECLARATION_PART", which is parent of element type referenced by "var foo".
In this way elements do not match, and the usages is not found (also refactor->rename doesn't work). I really think that this is a very major bug.
I've fixed problem in HaxeReferenceImpl::isReferenceTo, by changing the last row
return !chain && resolve == element;

to
if (element instanceof HaxeComponentName) {
      return !chain && resolve == element.getParent();
    }else {
      return !chain && resolve == element;
    }

TIR: STB-9359
but I'm not sure if it's a good way to fix this issue.

Closed inadvertantly.

@vaukalak  It's fixed for next 0.9.10 release

Since the report is 10 months old and I have no idea if the OP is still watching, I'm going to close it as fixed.  Please re-open if it recurs in 0.9.10.


[iOS] No notifications received / notification event not fired

Hi,
I have a big problem and spend so much time too solve it, but I didn't found a solution.
If I send a notification to my iPod with my app developed with phonegap, no notification is received, not even the on('notification') is called. I using iOS 9.2.1 and phonegap 5.4.0
My code:
In the index.html is a script that call the initialzed method of this coding:
pushNotification: undefined,
initialize : function() {
if (device.platform.toUpperCase() === 'IOS') {
this.pushNotification = PushNotification.init({
ios: {
alert: "true",
badge: "true",
sound: "true"
}
});
this.pushNotification.on('registration', this.onRegistrationAPN);
this.pushNotification.on('notification', function(data) {
console.log(data.message);
console.log(data.title);
console.log(data.count);
console.log(data.sound);
console.log(data.image);
console.log(data.additionalData);
alert('notification')
});
this.pushNotification.on('error', this.errorHandler);
}
},
For testing i using the php-script of this site: http://www.raywenderlich.com/32960/apple-push-notification-services-in-ios-6-tutorial-part-1
This plugin says every time, that the registration was sucessful and give me the id of my device. When I sending a notification through the php script to my devicce, the script says sucess, but on my phone nothing happend, also not on the console.
Please help me and thank you for your time.
Regards

@KaiJanis the only think that jumps out at me is you may be sending the notification to the apns service when your app is registered to the apns-sandbox or vice versa.

 $message,
	'sound' => 'default'
	);

// Encode the payload as JSON
$payload = json_encode($body);

// Build the binary notification
$msg = chr(0) . pack('n', 32) . pack('H*', $deviceToken) . pack('n', strlen($payload)) . $payload;

// Send it to the server
$result = fwrite($fp, $msg, strlen($msg));

if (!$result)
	echo 'Message not delivered' . PHP_EOL;
else
	echo 'Message successfully delivered' . PHP_EOL;

// Close the connection to the server
fclose($fp);

So I thinking I sending it to the Sandbox. Do you that mean?

I have the same problem. Also, I tried to send notifications both to sandbox and production server.
Alternatively I tried to use GCM on iOS by adding senderId to ios entry. As result I got:
2016-01-26 17:07:17.503 TestApp[636:8b07] Push Plugin register called
2016-01-26 17:07:17.505 TestApp[636:8b07] PushPlugin.register: setting badge to false
2016-01-26 17:07:17.506 TestApp[636:8b07] PushPlugin.register: clear badge is set to 0
2016-01-26 17:07:17.506 TestApp[636:8b07] PushPlugin.register: better button setup
2016-01-26 17:07:17.508 TestApp[636:8b07] GCM Sender ID<PHONE_NUMBER>4
2016-01-26 17:07:17.508 TestApp[636:8b07] Using GCM Notification
2016-01-26 17:07:17.511 TestApp[636:60b] Push Plugin register success: <274065df 02893f3e dfacd27a aeaacd29 6f368929 33cb09ef 98bc2b9f 031554bb>
2016-01-26 17:07:17.523: GGLInstanceID | Unable to find token in cache Error Domain=com.google.iid Code=-25300 "The operation couldn’t be completed. (com.google.iid error -25300.)"
2016-01-26 17:07:17.988 TestApp[636:60b] Registration to GCM failed with error: The operation couldn’t be completed. (com.google.HTTPStatus error 401.)
2016-01-26 17:07:18.059 TestApp[636:60b] push notification error Error:  - The operation couldn’t be completed. (com.google.HTTPStatus error 401.)

Hi, I found a solution for my problem.
It was a little strange because it belongs to an not-existent provisioning Profiles. After I fix this problem, the notifications came to me.
Thank you very much.

@trsdln Do you resolved the problem? I have the same question here.


Added support for vagrant box versioning

As per https://docs.vagrantup.com/v2/boxes/versioning.html,
molecule will now add a box_version if it's specified in the
molecule.yml file.

:100:

Can you update https://github.com/metacloud/molecule/blob/master/molecule/templates/molecule.yml.j2 with a line (commented out is fine) that includes this feature? I try to keep that updated as the kitchen sink of all possible options.

Once the update is made to molecule.yml.j2, :100:. Awesome work!

Looks good once the changes above are corrected :+1:

I got them all

:shipit:


Standardise and improve our manual testing methodology

What
Timeline: Ongoing work, starting in November 2022
Priority level: 3 – what reduces risk of inaccessible implementations
Category: Design system fundamentals
Potential tasks

Formalise documentation for how we perform manual accessibility testing with assistive technologies, including the accessibility acceptance criteria
Update the accessibility testing spreadsheet to list current browsers and assistive technology
Define a best-practice level of manual accessibility testing within the team, and decide when it must be applied
Bolster team use of the accessibility acceptance criteria and accessibility testing spreadsheet through additional training and defining the points in the contribution process when testing should happen
Encourage and measure use of the accessibility testing spreadsheet

Epic lead
Not yet assigned
Why
There are limitations to our processes for manual testing at the moment, many of which might be addressed by the potential tasks listed above. The main reason 'why' is consistency.
Who needs to work on this
Whole team
Who needs to review this
Whole team
Setup tasks

[ ] Thing to do

Over the past few months, several pieces of work have gone into improving and standardising our manual accessibility testing methods.
While there's still a lot of work to do on improving our manual testing, this is a great first step!
A large portion of the work has gone into updating our manual accessibility testing template, a spreadsheet which we use to record results from manual accessibility tests. The current version of the spreadsheet template is available in Google Sheets, and is publicly viewable.
For a recent example of how this improvement work is benefiting our everyday processes, we are currently testing the upcoming Exit this Page component using the new spreadsheet.
The ongoing work can be tracked on the Exit this Page manual accessibility testing GitHub issue.

Will Apple's VoiceControl be considered for testing in the future? I'm curious how this list of software (and the hardware it depends on) is selected and updated.

Hey @mgifford! At the moment macOS Voice Control considered on an ad-hoc basis, depending on the type of component we're working on and how it might interact with voice command tools. If a new component or an update may have implications for voice command tools, then we'll often focus any additional manual testing towards those tools.
Since we follow the GOV.UK Service manual guidance on testing with assistive technologies, Dragon is the default voice command tool we test with at a minimum.
However, the selection of Dragon as the minimum voice command software with which to test was based on the 2016 GOV.UK assistive technology survey, which is now several years old. Not only that, but macOS Voice Control wasn't yet released back in 2016 (I think it was released in 2019). We're hoping for an updated assistive technology survey at some point, but so far the 2016 survey is still our most recent data source.


Added support for sending both HTML and plain text messages to SMTP Sender

Added support for sending both HTML and plain text messages to SMTP Sender. Previously the AlternativePlainText was ignored.

Great start, I'm going to alter this to make sure that both HTML and Plaintext can be sent at the same time, but this is a good start. Thanks :)

That is exactly what this change does, allow you to send both HTML and Plain Text at the same time.


Sampling in results from BetaAnalyticsDataClient

Wondering how to set the samplingLevel for the BetaAnalyticsDataClient to UNSAMPLED before submitting a report request using python.
I am using the code below in Python 3.9 and the resuts are always similar to the UI results, where sampling is enabled.  I raised a ticket with Google on this and their response was to set the samplingLevel  to UNSAMPLED, but would not provide proper syntax for achieving this in the BetaAnalyticsDataClient via Python.  I have not found any documentation on this anywhere, save for the links Google provided, and that documentation showed this feature was not added until mid-October.

import os
import os.path
import pandas as pd
from google.analytics.data_v1beta import BetaAnalyticsDataClient
os.environ["GOOGLE_APPLICATION_CREDENTIALS"]="xxxxxxxxxxxxxxxxxxxxxxxxxxxx"
from google.analytics.data_v1beta import BetaAnalyticsDataClient
from google.analytics.data_v1beta.types import (
                                                DateRange,

                                                Dimension,

                                                Metric,

                                                RunReportRequest,

                                                RunReportTask,

                                                Filter,

                                                FilterExpression,

                                                FilterExpressionList,

                                                                    )

def covert_to_pandas(data):
# Grab all the columns in the result

columns = []

for col in data.dimension_headers:

    columns.append([col.name](http://col.name/))

for col in data.metric_headers:

    columns.append([col.name](http://col.name/))

# Grab all the rows in the result.

rows = []

for row_data in data.rows:

    row = []

    for val in row_data.dimension_values:

        row.append(val.value)

    for val in row_data.metric_values:

        row.append(val.value)

    rows.append(row)

# convert to data frame

return pd.DataFrame(rows, columns=columns)

import pandas as pd
import os
#import matplotlib.pyplot as plt
#import seaborn as sns
import csv
from datetime import date
import cx_Oracle
from sqlalchemy import types, create_engine
property_id = "326460046"
client = BetaAnalyticsDataClient()
request = RunReportRequest(
property=f"properties/{property_id}",

#dimensions=[Dimension(name="customEvent:quote_id")],

#dimensions=[Dimension(name="customEvent:quote_id", "customEvent:class_id" )],

dimensions=[Dimension(name= "customEvent:quote_id" ),

           Dimension(name= "firstusergoogleAdsKeyword" )],

metrics=[Metric(name="activeusers")],

date_ranges=[DateRange(start_date="2024-07-01", end_date="2024-07-31")],

dimension_filter=FilterExpression(

    and_group=FilterExpressionList(

        expressions=[

            FilterExpression(

                filter=Filter(

                    field_name="customEvent:quote_id",

                    string_filter=Filter.StringFilter(value="-",match_type ='CONTAINS'),

                )

            ),

            FilterExpression(

      not_expression=FilterExpression(

          filter=Filter(

              field_name="firstusergoogleAdsKeyword",

              string_filter=Filter.StringFilter(value="(not set)"),

          )

      )

            ),

        ]

    )

),

)
response_qteid = client.run_report(request)
df = covert_to_pandas(response_qteid)
df.to_csv('10-25-24 Attempt GA4 first user Keywords API.csv')

Hi,
The samplingLevel field is only in the v1alpha version of the Data API, and only available for asynchronous report tasks for Google Analytics 360 properties:
https://developers.google.com/analytics/devguides/reporting/data/v1/report-tasks
To use v1alpha, you'll need an AlphaAnalyticsDataClient:
from google.analytics.data_v1alpha import AlphaAnalyticsDataClient
client = AlphaAnalyticsDataClient()

Thanks,
Josh, Google Analytics team


ux-slider

Implement the ux-slider component for Material and iOS design.

Issue moved to aurelia/ux-components #14 via ZenHub

I'd be interested in working on this component if it's not something that's been already unofficially worked on a bit.  I took a look at the material-ui slider implementation at doesnt seem like anything that's outside the realm of my abilities.  I havent made any contributions to aurelia yet, but I've used it for the last year at work and really enjoy it. Would especially like to get involved with this ux project.

@rdelhommer that'd be awesome 👍

Sounds great!  I'll play around a little bit with the project just to get things going and let you know if I run into any issues.
From a first glace, it looks like I should be creating a new mono repo for the slider using the boilerplate as a jumping off point.

So I made fairly basic implementation here based off of the material-ui react slider.  I didn't want to go to far without getting some feedback on what I've done since I don't have the most formal experience developing UI components.
A couple of specific questions that I have going forward is:

Are there any particular things I should be theming or you'd like to be themed? Currently, I have background-color and the thumb diameter
Are there any specific bindable options that you guys would like to have?  Currently, I have min and max
Anything I should be doing for accessibility and screen readers?
Do you have any recommendations for testing my component other than in the GistRun playground?

mostly theming will be based on pattern that we have with existing components.
About bindable options, generally we try to make the control as close to native control as possible, you can see that reflects in ux-select APIs
accessibility should be done as much as implementer can, we can always improve later, so it's not a big deal for now if you don't feel comfortable.
There is testing infra in place, but if you have issue with running it, maybe i can help. even with some preliminary tests explaining what integration tests should there be are already good.
Overall, the quality is the target, but we need more champions beside @serifine to drive this forward. I can help too if there is main driver. Thanks for this @rdelhommer

Sure that all sounds good.  I wouldn't consider myself a champion, but I'm certainly interested in continuing to work on this repo with @serifine.  It would be nice to have a community-built ui library that I can use in my side projects.  Plus I'm hoping it can be a good learning experience for me for UI development best practices.
For now, I'll leave the aria/screen-reader accesibilty stuff for later since I'm not really sure what to do for that and just focus on getting the control as close to native as possible and also finishing up some of the fancier styles like hover and focus.
Regarding the testing infra.  None of the other components had unit tests so I just left it the same as all the others for now.  I can also add some tests though before I submit for official review.

had to take a little bit of a break but I think I'm pretty close to being finished.  Can you point me to an example that shows how to implement ios styles?  I dont really see anything that stands out in the component css files.  Once I do the ios styles it should be ready to go and I'll make the PR

@rdelhommer We haven't gotten around to doing iOS styles yet. So, if you don't need them yourself, we could just take the PR with material styles only. @serifine can comment more on our plan for how we were going to handle iOS though.

I agree, make the PR with just the Material styles unless you need them yourself. We really need someone innately familiar with the control styles that can champion the styling of the iOS version of the components.

This might be a nice opportunity for @scriswell to get involved again. He know platform control styles like the back of his hand. He's been working with Aurelia in his day job...so maybe we could give him a walk-through of this library, get him set up, and then let him go to town on the CSS? I bet he could get a lot done with a little bit of occasional guidance from you @serifine, if you two are both up for it.

I'm up for it for sure!
On Tue, Apr 30, 2019, 8:06 PM Rob Eisenberg<EMAIL_ADDRESS>wrote:

This might be a nice opportunity for @scriswell
https://github.com/scriswell to get involved again. He know platform
control styles like the back of his hand. He's been working with Aurelia in
his day job...so maybe we could give him a walk-through of this library,
get him set up, and then let him go to town on the CSS? I bet he could get
a lot done with a little bit of occasional guidance from you @serifine
https://github.com/serifine, if you two are both up for it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/aurelia/ux/issues/20#issuecomment-488158100, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AALN4XH3QNUAJH5EWF43GZ3PTDNI3ANCNFSM4CXMTIDA
.

Added by @serifine and enhanced by @ben-girardet . Closing this


How to re-run a new customer?

I'm new to the package and I have been going through the whole documentation to try and setup my first "Hello World Hyn Multi Tenant" project. Problem is I just ran the php artisan queue:work without root privileges, which made the job disappear and the queue to fail.
Now I have set the failed-table to avoid this in the future, but I'd like to know if it's possible to setup a website that has already been added to the database and I just want to automatically run the web server configuration (job) again.
Thanks for your attention.

You can regenerate the webserver related files by using:
php artisan webserver:toolbox --update-configs

Hope that helps.

No answer so far, please re-open if needed.

Sorry I forgot to answer. That was exactly what I wanted at the time. Thanks.


Bug with Bootstraps Navbar

Hi Davist and thanks for your great script!
I have found a small bug with big impact on my small project :/
I'm using your script with bootstraps (latest version) and I have a top navigation splited into left and right, like this example here:
nav
ul class navbar-left
li a
li a
li a
/ul
ul class navbar-right
li a
li a
li a
/ul

/ nav*

If my "current"-class position is on the upper ul and I click a link in the ul below, the current class does not disappear from the last element of the first nav. So, now I have two current classes in my nav and I'm not longer able to click on the last link from the first ul. The same thing happens, if I click the vice versa.
It would be super cool, if you could help me here out. Can you show me a workaround or fix this at all?
Best regards,
Chris
(sorry for my english, I'm not a nativ speaker...)

Is there a way to combine into a single <ul>?

Not realy. because in the center of the nav is a brand-logo(between the to ul).

At the moment, you won't be able to use this plugin without modifying it.

Is it diffcult to modify? I'm not in love with js :/

Not terribly difficult. Actually, you could try calling onePageNav on the <nav> element instead of the <ul> and that should work.

Ok, I initialize $('.navbar-collapse').onePageNav() and navbar-collapse is one of my nav classes, but it does not fix the problem. I fear, that I missunderstood you.

I don't follow. Do you have a link?

http://netzstrand.de/projekte/wattenloeper/index.php?site=#welcome

Everything appears to be working correctly to me

try this:

click "Cuxhaven"
click "Impressionen"
click "Cuxhaven"  <<< does not work anymore
click somewhere else, like "Geschichte"
click "Cuxhaven" <<< now this works again
click "Impression" <<< does not work
...and so on

That works fine for me.

okay, after I restart my browser the issue is gone, so your first fix with the  tag solves the problem. Sorry for the complications and thanks a lot for your effort. Really kind of you :)


Review and update all gulp tasks

I've gotten a lot better at wiring JavaScript since I wrote these, and it's time I go through them and clean them up. Some general ideas:

[x] Linting no longer needs to be it's own step in a task; this was originally set up this way in order to exclude vendor files, but vendor files are now handled by webpack.

[x] Allow setting upload protocol without having to use different flags; prompt for sftp, ftps, or ftp with the --upload flag and adapt accordingly.

[x] Don't load BrowserSync at all unless --sync is passed.

[x] Switch from gulp-file-inculde to lodash.template -- https://www.npmjs.com/package/lodash.template

[x] Remove code removal feature from init task.

[x] Replace eyeglass with postcss-import and postcss-inline-svg.

[ ] Validate data input in prompts (i.e. make sure a path is provided for remote path).

[ ] Only set up the current endpoints connection information (i.e. if the endpoint protocol is ftp, don't set up sftp stuff in the upload task).

Linting no longer needs to be it's own step in a task; this was originally set up this way in order to exclude vendor files, but vendor files are now handled by webpack.

This is technically done, but the scripts task doesn't mark itself as ran correctly. Can't figure out why, see StackOverflow.

Delete the entire dist folder if --dist is passed, rather than specific sub folders.
Delete the entire dev folder if --force is passed.

Doing this seems to force the entire task sequence to always run. Not sure why, but not a big enough deal for me to worry about. Removing these from the list.

Fixed the FTP settings thing – I broke up the .ftpconfig in to three separate files: .ftpconfig, .ftpspecific, and .sftpspecific. .ftpconfig contains all the shared parameters between the two, while the other two contain specific parameters for each protocol. During the prompt process, I pull down .ftpconfig, prompt for the protocol, and the download the remaining parameters from the matching file and concatenate them in to the .ftpconfig endpoint object. Works perfectly now :)

I'm happy with where this is at now, closing.


Remove Q & Other Updates

On the back of the Debug update PR, this removes Q, as all maintained versions of Node support Promises. It also bumps all the dependencies to latest (tested in Node v4 and v8) and updates the repo URLs.
It should be a non-breaking change for anyone on Node 4+, but it could be marked a semver major change for those still on Node 0.x.

I'll get this and the other PRs merged and published today. Thank you.


Moves from .static to /public folder for s3 mirror.

Thank you for helping out! ✨
Before submitting a pull request, please make sure the you checked the following:

[ x] Forked the repository and created your branch from master
[x ] Make sure the tests pass! npm it && npm run lint in the repository root
[ ] If you've fixed a bug or added code more tests are appreciated
[x ] If you haven't already please complete the CLA

Learn more about contributing: https://arc.codes/intro/community

Tested interaction with arc-functions static helper and works like a charm.

Looks great; just merged into v4 branch! Will update shortly but wanted to say thx 👍


Dynamic Routes and Middleware Error

This is probably similar to #42. I deployed a Nextjs project to Firebase hosting (to test the experimental web frameworks support), and some pages that use dynamic routes return a 500 internal server error. When I check the cloud functions error log, I get this error:

Any idea what could be wrong, please? Since the function deployed is automatically created during the CLI process.

I'm guessing #50 will fix this?

Correct, middleware support is coming between #50 and https://github.com/firebase/firebase-tools/pull/5195


at least get frame address and object path on resolver exceptions

In resolve_frames() (symbols_with_libdwarf.cpp) line 1115 (frame = resolver->resolve_frame(dlframe);) can throw, skipping the initialisation of frame.
This causes incomplete stack traces that contain lines that look like this:
0x00000000000
i suggest changing the for-loop so even when the resolver throws, the address and filename (which we already have) don't get lost:
index 20d691b..5553754 100644
--- a/src/symbols/symbols_with_libdwarf.cpp
+++ b/src/symbols/symbols_with_libdwarf.cpp
@@ -1109,11 +1109,13 @@ namespace libdwarf {
                     resolver = resolver_object.get();
                 }
                 for(const auto& entry : object_entry.second) {
+                    const auto& dlframe = entry.first.get();
+                    auto& frame = entry.second.get();
                     try {
-                        const auto& dlframe = entry.first.get();
-                        auto& frame = entry.second.get();
                         frame = resolver->resolve_frame(dlframe);
                     } catch(...) {
+                        frame.frame.address = dlframe.raw_address;
+                        frame.frame.filename = dlframe.object_path;
                         if(!should_absorb_trace_exceptions()) {
                             throw;
                         }

Hello, thanks for opening this! I agree this would be better. Happy to accept a PR or I can commit your proposed changes later today.

Thanks, this will be in the next release. Likely a 0.4.1 patch.


[ENH] implement get_fitted_params for tuning forecasters

Tuning forecasters like ForecastingGridSearchCV should implement a get_fitted_params method.
Note that here, by applying a tuning method, the hyperparameters that are tuned become "normal" (fitted) parameters.
The get_fitted_params of tuning should return two things in its dictionary:

the hyper-parameters that are tuned, with their tuned values
either: the "best estimator" in its fitted state; or, better, parameters of the "best estimator" with a nesting structure like for sklearn get_params  (this might be slightly fiddly.

For implementation, it's fine to start with one of the two.
See also discussion in #1486, FYI @boukepostma and @asksteph.
FYI @aiwalter.

Sounds like a pretty interesting small project, can I claim the ticket?

all yours, @ZiyaoWei !

small note of caution: get_fitted_params is not subject to the "plumbing" layer, i.e., you still have to write boilerplate.
The boilerplate is simple:
if not self.is_fitted:
    raise NotFittedError

So I finally got a bit of time to look into this and it seems get_fitted_params() has a implementation in BaseGridSearch which just returns the underlying best params - if we change the implementation should we worry about compatibility with existing usages?

if we change the implementation should we worry about compatibility with existing usages?

not if it returns everything in the expected dict format.

Also the only tuning forecasters I see are the ones in _tune.py (ForecastingGridSearchCV and ForecastingRandomizedSearchCV) - do we have more?

These are the only ones I know.


Gh actions linter test

Description
Changes proposed in this pull request:

Gh actions linter test
...
...

Related issue(s)
#7

Closed in favor of #7


Uncaught TypeError: Cannot read properties of undefined (reading 'dispatchEvent')

Checks

[X] Not a duplicate.
[X] Not a question, feature request, or anything other than a bug report directly related to Splide. Use Discussions for these topics: https://github.com/Splidejs/splide/discussions

Version
v0.2.0
Description

Reproduction Link
No response
Steps to Reproduce
1.import { Intersection } from "@splidejs/splide-extension-intersection";
2.Give these options to Splide component <Splide
options={{
rewind: true,
perPage: 3,
gap: "2rem",
breakpoints: {
1150: {
perPage: 2,
gap: ".7rem",
},
800: {
perPage: 1,
gap: ".7rem",
},
},
interval: 5000,
pauseOnFocus: true,
resetProgress: true,
autoplay: "pause",
intersection: {
inView: {
autoplay: true,
},
outView: {
autoplay: false,
},
},
}}
extensions={{ Intersection }}>
...3. Bring Splide slider in viewport or out of viewport
Expected Behaviour
It is working well functional wise but giving this error in console(refer to the attached image in Description)

@NaotoshiFujita any update on this...I'm facing the similar issue :(

I could not reproduce the issue.
https://codesandbox.io/s/3-54h9lk
Please fork it and reproduce the bug.


Services added to control the lawn mower(s)

You are really prolific with your coding, I am not as fast and work keeps getting in the way :)  really thank you for being involved :)

We have a working state. Now I also slow down a bit again ;-)


Add a note about CrateDB not supporting UNIQUE column constraints

Closes https://github.com/crate/crate/issues/11248

I'm not sure if we should start documenting SQL standard features that we lack like this. Where do you draw the line? Why is the UNIQUE constraint mentioned but the other CREATE TABLE options that we miss not?
The SQL features table already gives an overview of what's there or not, isn't that sufficient?

fair enough! ty both for the feedback!

To follow up on my earlier comment:
I think a compromise might be a general "SQL Standard differences" section that talks about the eventual consistency/ACID/referential integrity aspect on a higher level and then maybe mentions some of the implications.


Make SSL connection configurable

See issue #247

Thanks ! I changed it a bit to use a builder hook, so you dont need to subclass the builder for this sort of customization. 'hope thats ok.


Estimate VAD by weighted average

Does a weighted average of centroids.
If intensity sums to zero for a category, a 'neutral' category is used or 0 if it's not present. I'm not 100% sure this is the best approach, and the name of the "neutral" category perhaps should use some convention?
Note that if there are no categories present, then no VAD (or other dimensional) estimate is returned. It may be better to use the neutral centroid if it's present in this case also.

LGTM, except for some formatting/style issues.
The neutral category can be aliased, so it would be different in every case.
However, I'm not sold on using a neutral emotion, because I haven't seen many references to it, even in dimensional models. (e.g. there's no neutral center in some dimensional models)

Yeah, that makes sense. Essentially we leave it up to conversion creators to deal with 'neutral' as a category in a reasonable way.
Something we could consider is for each dimensional model to have encoded a way to interpret 'neutral' emotion. This is probably an open research question in emotion research, but needs to be addressed if we want to convert in a principled way.
I've added a commit that removes explicit treatment of "neutral" (and fixes an error I made - it shouldn't have passed checks, an attempt to convert should have raised a KeyError with my previous commit! Sounds like a new check is needed. I can have a go next week or if you've already got things setup and it's trivial for you, please go ahead).

On another important note: where do we get the VAD centroids from, and how can we make one for Surprise? (currently there's only the 5 used in WN-Affect)
There's that new annotated resource where SemEval07 task 14 was annotated with VAD - we could use that?

We get the centroids with ANEW+WNAffect following this method: http://www.aclweb.org/anthology/W10-0208
AFAIR we discarded surprise because we didn't have enough data. We could use a similar approach to get centroids with the SemEval dataset.
As for the checks, the main difference seems to be what keys get added to totalIntensities. In that case, the defaultdict is masking those KeyErrors. Once we establish how to properly do this centroid conversion, we could add a test with expected values.

One thing to note in that paper is that they "manually define neutral to be (5,5,5)", so it makes sense to have a neutral entry among the centroids. We'd need to have some way to uniquely identify it as the 'neutral' centoid, as it's treatment is different, even if it has an alias.
Here's a go at a principled way to use it:

re-centre the centroids around 'neutral' (so that 'neutral' is at (0,0,0,) )
given intensities range from 0 to max_intensity and assuming each centroid is in the middle of that intensity range, scale the re-centered centroids for detected emotions by 2*intensity/max_intensity
add up the resulting vectors and add in neutral
the resulting calculation for each detected emotion category looks something like:
result = (centroid - neutral_centroid)*2*intensity/max_intensity + neutral_centroid

I don't like this formula if we have binary intensities (present or absent): it would effectively treat any detected emotion as having intensity 2. Not sure how to combat that without adding a "onyx_binaryIntensity" label or some such.
Here we're assuming intensity relates linearly to changes in VAD space. I guess that's as good a first approximation as we'll get.
I think that if emotion categories are missing, it's easy: either a few centroids are left out or there are no detected emotions and we add no VAD estimate.

As for surprise, let's have a go at the new data. I think doing it at a phrase/text level is more valid than averaging words as Kim and Valutti did, anyway, especially if the texts can be seen as some sort of representative sample. Seems to me they should have at least done a weighted average using WordNet's word sense frequency metadata.

for reference:
https://github.com/JULIELab/EmoBank

A relevant email conversation:
From @drevicko: I need to know the range of possible intensity values that the plugin generates (or assume it’s from 0 to 1 if not specified ).
Response from @balkian:
Yes and no. The way we solve it right now is through onyx:maxIntensityValue and minEmotionValue and maxEmotionValue. See https://github.com/gsi-upm/senpy/blob/master/senpy/plugins/init.py
However, that doesn't take into consideration different dimensions. For dimensions it would be sth like:
:MyAnalysis onyx:usesModel :DimensionModel
:DimensionModel a onyx:EmotionModel;
onyx:hasDimension :Dimension1 .
:Dimension1 onyx:minValue -1 ;
onyx:maxValue 1 .
So it would be embedded in the model itself.

I don't see any use yet of "maxEmotionValue", and I'm not convinced it makes any sense for categorical emotions (how do you have negative anger?), so I guess it's more intended for dimensional representations? Strikes me that the init() of an EmotionPlugin isn't the right place to put this though. Better to have it in the model itself as you suggest.
As for using the max/min dimension values, I've not been taking that into account yet - for the to-VAD direction, the only reasonable approach I see is to constrain the result of conversion to VAD. This would be necessary if we adopt my approach of increasing the centroid vector by a factor of two if the intensity is at it's maximum. That's rather an arbitrary choice, maybe it's better to put the centroid at max intensity (and scale it down if intensity is less).
It would be good to add a default onyx:maxIntensityValue for categorical models, probably set to 1.
Is there an onyx:minIntensityValue? Or is this presumed to be zero?

At this point, I don't check resulting dimensional values, meaning that values outsied onyx:minValue and onyx:maxValue may result (even negative results).

Travis is failing to pull the senpy docker image as the uri is apparently incorrect.

I presume this did pass the tests in GitLab?


clamp simple geometric mechanism based on sampling bounds

Prevents a circumvention of privacy protections by setting min == max. The bounds for the statistic are not just important for calculating the maximum potential number of sampling iterations to run. In the case that min == max, then zero sampling rounds will be conducted, resulting in variance zero noise. This is clearly only DP if the distribution of the statistic is constant. More generally, this clamp is necessary anytime the range of derived bounds is greater than the range of manually provided bounds.

This looks good!


Warpcast Frame Starknet WALLET compatibility.

Starknet compatible gamification of frames
Can Devs build something like this (https://warpcast.com/jpren.eth/0x4ef9eb32)  on Farcaster Somehow get it to drop starknet tokens instead.

https://www.degen.tips/airdrop2
Example of more fun stuff that could be built.


Also for ESP8266?

Hello,
is this only for Avr arduino or can it be used with ESP8266.
Please ingnore this. I found it in the libraries for the ESP8266
best regards

It's a good point though: I should make it clear that this library supports esp8266.

Just add that the example07 is not working on ESP8266 because of "avr/wdt.h"

Hi,
I uploaded the yield code, given in the example(Scheduler_example14_yield.ino), to my AI Thinker ESP01 module. I am not able to connect to my router, even after several retries. I know that the code is tested for node mcu, but I don't think it should not work for Generic ESP8266 modules.
Thanks

Could you please open a new issue? Closed issues are difficult to track.
Also, I assume, but would like to confirm that you have changed these lines:
// Replace with WiFi parameters of your Access Point/Router:
const char *ssid  =  "wifi_network";
const char *pwd   =  "wifi_password";

to the appropriate SSID and a password, and your router are not running 5GHz WiFi because I believe esp8266 does not connect to those.

Thanks for the reply, I have opened a new issue "Cannot connect to Access Point". I have also uploaded the modified example in that thread. Please see if you can find the problem.
With regards


Question: will there be a new release soon?

The current release (3.5.0) does not work with the current release of org.doctales.xmltask (1.16.1).
Explicitly the command dita -f xliff-dita %restofarguments% throws an error the following one:
jar:file:/opt/dita/plugins/fox.jason.translate.xliff/lib/translate-1.2.jar!/fox/jason/translate/antlib.xml:574: java.lang.IllegalAccessError: class com.oopsconsultancy.xmltask.jdk15.XPathAnalyser15 (in unnamed module @0x45283ce2) cannot access class com.sun.org.apache.xpath.internal.XPathAPI (in module java.xml) because module java.xml does not export com.sun.org.apache.xpath.internal to unnamed module @0x45283ce2

Edit: I use openjdk-17 since DITA-OT requires version 17 or newer
These are the configurations I tested:
fox.jason.translate.xliff 3.5.0 & org.doctales.xmltask 1.16.1 -> is the current configuration in the DITA-OT registry, does not work due to the stated error
fox.jason.translate.xliff 3.5.0 & org.jung.xmltask master HEAD -> does not work because the name changed from org.doctales.xmltask to org.jung.xmltask, can be fixed easily
fox.jason.translate.xliff master HEAD (with dependency correction in plugin.xml) & org.jung.xmltask master HEAD -> WORKS!
Since org.jung.xmltask is changed frequently at the moment it would be nice to coordinate a release for both of them.
Feel free to reach out to me if my description isn't precise enough :)

I have updated the plugin to remove the dependency and include its own version of the xmltask 88f73a0 - could you reinstall master and tell me if that works for you. If it does I can label a new release.


LIMIT and OFFSET API's are not working

I want to implement pagination for showing the contacts to those user who have thousand's of Contacts, I wanted to use the limit and offset functionality, but they don't work in version 0.2.1 and also 0.2.2, can you please fix them

?

@atharv-appyhigh, thanks for filing this issue and taking interest in using this library!
I thought I fixed this issue in release 0.2.1! This seems to be a duplicate of #217.
I will take a look at it again tomorrow morning (it's late here). This is high priority and if I'm able to reproduce it I will work on a patch ASAP!
While you wait, please provide me the device you are testing on. Is it an emulator? What API level is it?

Hi @vestrel00, first of all Thanks for creating such an amazing library, I have have looked at other feature and I was blown away by them😉.
Regarding this issue, I have tested both the release 0.2.1 and also release 0.2.2 but none of them seems to address the problem, I also looked at #217 before posting it again because it didn't solve the problem.
I am currently testing on "Realme RMX2151 (Realme 7)" with Api level 30 (android 11). I tested it with both BroadQuery and Query, but both of them return all of the contacts regardless of the offset and limit parameter I use.
Thank you again for the library man

Thanks for creating such an amazing library, I have have looked at other feature and I was blown away by them😉

Thanks! This praise is amazing! I'll sleep good tonight 😁

Thank you again for the library man

It's my pleasure and thank you for using it!

I am currently testing on "Realme RMX2151 (Realme 7)" with Api level 30 (android 11

Could you please test on a google pixel emulator? See if you can reproduce the issue there. Hopefully, it is reproducible there so I can repro it myself 🙏

@atharv-appyhigh, I ran the following code using version 0.2.2.
Contacts(context).broadQuery().offset(25).limit(25).find()

I am not able to reproduce this issue the following emulators;

Pixel 4 API 32 (Android 12)
Pixel 4 API 30 (Android 11)

I am also not able to reproduce it in real physical devices I own;

Samsung Galaxy A71 SM-A715f API 31 (Android 12)
Samsung Galaxy Tab S6 Lite SM-P610 API 31 (Android 12)
Nexus 6P API 27 (Android 8.1)

Could you please see if you can reproduce this issue in an emulator or any other device?
Otherwise, this issue is probably specific to "Realme RMX2151 (Realme 7)". I don't own a Realme phone and Genymotion does not have an image of any Realme devices, so I will need your help in debugging this issue 🙏
Could you look at the error logs and see if you see anything relevant there when you are executing your query? Otherwise, just copy-paste the entire logs and I'll look through it myself. Make sure that you do NOT include private data that you don't to be public in the internet. So, I recommend using fake test data/contacts for this.

In the meantime, you could optimize your query by a LOT even if pagination does not work for certain devices you are targeting. If you only need to show the display name of the contact in a list, make sure to only include the Fields.Contact.DisplayNamePrimary. So, your code would look something like;
Contacts(context)
        .broadQuery()
        .include(Fields.Contact.DisplayNamePrimary)
        .offset(25)
        .limit(25)
        .findWithContext()

The above query should run in less than 1-2 seconds in mid-range devices for 10,000 contacts.
When you need to show all data of one contact, you can do;
Contacts(context)
        .query()
        .where { Fields.Contact.Id equalTo contact.id }
        .findWithContext()
        .firstOrNull()

The list -> detail pattern is typically used in all Contacts apps (AOSP Contacts, Google Contacts, Samsung Contacts, etc).

I think that it is issue with realme Ui only, I have also tested it on my emulator with different API versions and also some physical devices, it is a bug of phone. I have followed your optimisation techniques and it's getting my job done. I don't know what kind of sh*t os is installed in this phone. Anyways, Thanks for the help and the library, I am greatful for people like you who exist in the community. 😌
This is the output from the code above:


v2 in unprivileged mode can't use docker volumes

Describe the bug
We had a docker volume configured for the sqlite database that mounted as /opt/data. Even with the files set to the new user (1000:1000) the server would exit with a warning about unprivileged mode in the new version and stop.
To Reproduce
Steps to reproduce the behavior:

Adjust the default compose file to use a docker volume that mounts as /opt/data
docker compose up -d
See error in logs as server exits

Expected behavior
Load the database through the docker volume like a standard mount
Device (please complete the following information):

OS: Ubuntu
Version 22.04

Make sure the parent data folder also has the correct permissions. Maintainerr will test it’s read/write access to the data folder and to the database file, if existing. If either fails, it’ll complain.

That did it. My apologies.

That did it. My apologies.

No problem, glad it worked out!

I am facing similar issue. Using arrs and ran sudo chown 1000 /location/where/my/data/is but am still getting a permission error. Any help w/ troubleshooting is greatly appreciated, I love this app! Logs below:
2024-02-16 19:19:10,751 INFO exited: server (exit status 0; expected) 2024-02-16 19:19:11,754 INFO spawned: 'server' with pid 3017 2024-02-16 19:19:12,754 INFO success: server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) THE CONTAINER NO LONGER OPERATES WITH PRIVILEGED USER PERMISSIONS. PLEASE UPDATE YOUR CONFIGURATION ACCORDINGLY: https://github.com/jorenn92/Maintainerr/releases/tag/v2.0.0 Could not create or access (files in) the data directory. Please make sure the necessary permissions are set 2024-02-16 19:19:13,834 INFO exited: server (exit status 0; expected) 2024-02-16 19:19:14,836 INFO spawned: 'server' with pid 3035 2024-02-16 19:19:15,837 INFO success: server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) THE CONTAINER NO LONGER OPERATES WITH PRIVILEGED USER PERMISSIONS. PLEASE UPDATE YOUR CONFIGURATION ACCORDINGLY: https://github.com/jorenn92/Maintainerr/releases/tag/v2.0.0 Could not create or access (files in) the data directory. Please make sure the necessary permissions are set 2024-02-16 19:19:16,882 INFO exited: server (exit status 0; expected) 2024-02-16 19:19:17,884 INFO spawned: 'server' with pid 3053

Make sure you also chown the directory itself, not just the files in it. Not sure if it's your issue, but it's a common mistake


Updated PUN tariff to use the new GME website

I hope I managed to fix the PUN tariff retrieval using the new GME site thanks to the great work of @virtualdj with https://github.com/virtualdj/pun_sensor
This should (I hope) definitely close #17174
Added code to better log the various steps needed to retrieve data.

Bitte formatieren und Linter fixen- vielen Dank!

Should comply with the changes requested.


Expose error headers

Coverage decreased (-0.7%) to 88.218% when pulling 0eb1fdb751ae728afadc438edd804ffba06e60d4 on settheset:expose-error-headers into 2fcd60c30368255dab658b534b4229909ace5d43 on thelinmichael:master.

Coverage decreased (-0.7%) to 88.218% when pulling 0eb1fdb751ae728afadc438edd804ffba06e60d4 on settheset:expose-error-headers into 2fcd60c30368255dab658b534b4229909ace5d43 on thelinmichael:master.


Feat: Refactor

Done:

Breaking Change

use <!-- IMPORT ... --> to render the reactions panel

Backend part

was rewritten from callbacks via async dependency to native async/await (7645fb6)
count of calls to the database was optimized (7645fb6)

Frontend part

use new hooks module (0ff4613)
deprecated Benchpress.parse was replaced with app.parseAndTranslate (0ff4613)
tooltips now displayed when new reaction was added (99b45c5)

Misc

updated peerDependency for nodebb-plugin-emoji (543de16)
updated nodeBB compatibility (543de16)

@pichalite can you merge this or transfer this repo to nodebb-community?

@barisusakli looks like a fork of this plugin already exists in nodebb-community. If you remove that, I can transfer this repo there.

@barisusakli transfer complete

Thank you! 👍🏼


Create App using REST API

This issue is for a: (mark with an x)
- [ ] bug report -> please search issues before submitting
- [ x] feature request
- [ x] documentation issue or request
- [ ] regression (a behavior that used to work and stopped in a new release)

Minimal steps to reproduce

In the App Portal creating an application is a 2 steps process

Upload json file - roles and workflow
Upload sol  - smart contract

Trying to reproduce the same behavior using ABW Rest API is confusing:
Swagger definition for the POST API/Application specifies only json file. Microsoft documentation for this POST method is completely useless

Questions:

Is there a document that describes right  sequence of events
Is there an example that does it ( PowerShell and C# preferable)
Is there are Portal Application and/or REST Service  source code available

Hello @ygizhitsa,
I am sorry for the inconvenience that the lack of clarity in the documentation regarding this has caused you. I have created a backlog item to add a fix.
Here is how to create an application using just the REST API calls:

Upload the application's JSON file using the Application POST method (the one you have shown here -- /api/v1/applications).  One the upload is successful, you will get an application ID.

Use this application ID and ledger ID (Ethereum ledger ID value is 1 and that is the only one supported now) and do a POST on  /api/v1/applications/{applicationID}/contractCode.  Here the contract file can either be a .sol file or a .zip file.

Here is how you can do it in C#:
Posting the application's JSON file:
/*      apiRequester = instance of your API Client     appFilePath = Complete path to your application's JSON file     User.Admin = a valid admin user id (check your user and role assignment database for this ID value) */ apiRequester.Post("/api/v1/applications", Helpers.GetFileInputObject("appFile", appFilePath, out FileStream configFs), out createdApplicationId, out retStatus, User.Admin);
The output of this call is createdApplicationId.
Posting the application's contract code:
/*   apiRequester = instance of your API Client    createdApplicationId = application ID from the first POST call    ETHEREUM_LEDGER_ID = 1 (or check your database's Ledger table for the correct ID)    ledgerFilePath = Complete path to your application's contract code file (either .sol or .zip)    User.Admin = a valid admin user id (check your user and role assignment database for this ID value) */ apiRequester.Post($"/api/v1/applications/{createdApplicationId}/contractCode?ledgerId={ETHEREUM_LEDGER_ID}", Helpers.GetFileInputObject("contractFile", ledgerFilePath, out FileStream impFs), out int ledgerImplId, out retStatus, User.Admin);
The output of this call is the ledgerImplId that indicates the id of this contract code on the ledger.  This is just an informational piece and is not used in any of the REST API calls.
Please let me know if any other clarifications are needed.
Thanks,
Ramya

Hello @ygizhitsa , I am writing to let you know that I will be closing this issue since it has been over a month since a solution was suggested.  I hope this will be ok with you.  If at any point, you require more clarifications, please feel free to re-open this issue and we will be more than happy to assist you.
Thanks,
Ramya


Cannon state versioning

Proposal for handling changes to the offchain Cannon STF.

This is sick

Is there anything left to do on this doc? It seems ready to for any last reviews and to be merged, especially since the code changes are already merged. 🙂

Is there anything left to do on this doc? It seems ready to for any last reviews and to be merged, especially since the code changes are already merged. 🙂

it's good to merge. I can do so tomorrow


Bert Pretrain Nvidia Data

Hi, Thanks for your great work. I am trying to pretrain model from scratch using DeepSpeed and data from Nvidia link.
And my question is how can I get the data/128 and data/512 dataset as mentioned in bert_large_lamb_nvidia_data.json after running download_wikipedia from Nvidia-lddl.
Should I use preprocess_bert_pretrain from Nvidia-lddl ? If so, what is the exact parameters to get valid data/512 and data/128 dataset  for ds_train_bert_nvidia_data_bsz64k_seq128.sh ?

this is what I get after download_wikipedia

Same question.

Same question. My directory structure is exactly the same as yours.

Same question. My directory structure is exactly the same as yours.

Hi, I found that data/128 and data/512 is the old version provided by Nvidia, and you can check the git history of NvBert

@Hannibal046, thanks for your question. It seems you already found and shared a solution. Is that correct?

Hi, @tjruwase ,
I don't take much time to dig into this. But I can confirm that the previous version of Nvidia-Bert would create datasets like data/128 and data/512.

Same question. My directory structure is exactly the same as yours.

Hi, I found that data/128 and data/512 is the old version provided by Nvidia, and you can check the git history of NvBert

Thanks for your reply. I'm not quite sure about the exact git history you mentioned. However, I am currently working on this commit to reproduce the dataset. I found that it was committed one day before the last commit of ds_train_bert_bsz64k_seq128.sh. Am I getting it wrong?

I think https://github.com/NVIDIA/DeepLearningExamples/blob/04988752a879de969581160bbd208812faba47b6/PyTorch/LanguageModeling/BERT/data/create_datasets_from_start.sh will do.

I think https://github.com/NVIDIA/DeepLearningExamples/blob/04988752a879de969581160bbd208812faba47b6/PyTorch/LanguageModeling/BERT/data/create_datasets_from_start.sh will do.

Hi @Hannibal046 , I successfully ran DeepSpeed on this commit. Thanks a lot, and hope my experience can help you!

@haolin-nju, thanks so much for solving this issue.

I think https://github.com/NVIDIA/DeepLearningExamples/blob/04988752a879de969581160bbd208812faba47b6/PyTorch/LanguageModeling/BERT/data/create_datasets_from_start.sh will do.

Hi @Hannibal046 , I successfully ran DeepSpeed on this commit. Thanks a lot, and hope my experience can help you!

Hi,@haolin-nju, may I ask how long does it take for you to run this script if you remember? When I tried to run create_datasets_from_start.sh, it has been running for a day now. Most of the time it was spent on "Distributing data over shards".

Sorry for the late reply. It has been a long time since I last run this script. In my memory, the entire script took a considerable time to run (perhaps several days), including downloading and cleaning the dataset. If the running time is too long, perhaps you can check if there are any network issues or if some processes have triggered deadlocks?


BUG - Not accessing IMAP_DATA_DIR env var

## Description of the issue
When importing as a library, the code does not correctly read the data directory from the IMAP_DATA_DIR environment variable
Steps to reproduce the issue

Clone imap_processing dev commit a29978f3a31d5f1ff10f256245e5eb4ab20a8b37

Run the CLI with: python -m cli --instrument swe --level l1a --file_path imap/swe/l1a/2024/02/imap_swe_l1a_sci_20240203_20240203_v01-01.cdf --dependency "[{'instrument':'swe', 'level':'l0', 'version':'v01-01'}]"

See that it fails

update IMAP_DATA_DIR value to the expected directory (mine was /Users/maha7656/Documents/code/imap/imap_processing/imap_processing/imap-data)

see that  it still fails

Code Snippet:
Code

Expected behavior (What should happen)
Should read the data directory value from IMAP_DATA_DIR when it's set
Actual behavior (What does happen)
Defaults to $PWD/data as data directory
Additional notes
Reproducing this might need tweaking depending on data in the bucket
Affected areas (code, data, or process)
No response
Suggested fix?
Read config value differently

I get the same error when trying to update IMAP_DATA_DIR using the CLI

Good catch! I think that is because we hadn't fully brought the IMAP_DATA_DIR portion of the code from imap_processing over here:
https://github.com/IMAP-Science-Operations-Center/imap_processing/blob/a29978f3a31d5f1ff10f256245e5eb4ab20a8b37/imap_processing/__init__.py#L22
Now that we've switched over to having this be more of a central repo that the other projects are going to depend on I think it makes sense to lift that over and the tests as well: https://github.com/IMAP-Science-Operations-Center/imap_processing/blob/a29978f3a31d5f1ff10f256245e5eb4ab20a8b37/imap_processing/tests/test_data_access.py#L27

That's a good catch. I bet that is the  source of the issue.


Handle Trac links if needed by Twisted Trac

While the ticket migration script tries to preserve the ticket IDs, some are inevitably mismatched. Make sure the ticket links from other tickets are valid.

This was addressed in #13 for our tickets as well.


how to distinguish direct vulnerability vs transitive vulnerability

for example:
org.springframework:spring-core:4.3.17.RELEASE has known vulnerability CVE-2018-11040
while org.springframework:spring-webmvc:4.3.17.RELEASE depends on org.springframework:spring-core:4.3.17.RELEASE
dependency-check will mark  it with CVE-2018-11040 too...
the scanning results will make CVE-2018-11040 appear more than once.
I am parsing JSON report, examined the json file syntax, but found no clue, how to distinguish.

If you are using maven you can try this script: https://gist.github.com/jeremylong/ec5d496f64fc5bba6d47b2524a40ce3f


chore: update sdk

consume the latest sdk with the new error types. This also lets
topic subscribe do a little bit better with output when the
connection is interrupted without an error - whether due to
inactivity or a service deployment and h2 goaway.

Just one question - is there any way to say Unsupported Operation - for example, I had tried to use topics on an unsupported memcache

Just one question - is there any way to say Unsupported Operation

we'd have to add that support on the service, which we do not currently have.


Leetcode 860. Lemonade Change

Can you please assign this issue to me ? I will add the solution in C++
Question - 860 Lemonade Change

Please merge my pull request , I have added the solution


How can I compile once instead of twice?

In the c_rewrite branch slow.c in compiled twice since it is used by both the reduce and move modules. How can I compile it only once?
setup.py:
    ext_list = [Extension("bottleneck.reduce2",
                          sources=["bottleneck/src/reduce2.c",
                                   "bottleneck/src/slow.c"],
                          include_dirs=[np.get_include()],
                          extra_compile_args=['-O2'])]
    ext_list += [Extension("bottleneck.move2",
                           sources=["bottleneck/src/move2.c",
                                    "bottleneck/src/slow.c"],
                           include_dirs=[np.get_include()],
                           extra_compile_args=['-O2'])]

Probably because changes to sources are tracked per extension? (See also this SO question without helpful answers :disappointed: .)  I'm not sure how you want to organize the structure of the package but I suggest either creating one "library" extension that contains all the functionality or actually compile a shared library and expose parts of it via Cython.

Too bad there is no simple python solution.
I think using cython would add more problems than it solves.
I could move the one function in slow.c to slow.h. That would remove slow from setup.py and remove all the output caused by compiling slow four times.


Setup AME newsletters

the image path is 'broke' I think it has to do with connecting to staging and since auntminnieeurope.com isn't 'ours' yet.

 AME Newsletter Setup

@jwade1327 imageHost was incorrectly set on the Site Product to base.imgix.net this has been corrected to img.auntminnieeurope.com and images now load as expected.


Rebase on jupyter/minimal-notebook:4.0

@rgbkrk and I discussed briefly rebasing the minimal-image and demo-image defined in this repo on the https://github.com/jupyter/docker-stacks/minimal-notebook 4.0.x base image once all the kernels in the demo image can support 4.0.
Why?

Common base to maintain
Probably don't need minimal-image vs demo-image separation anymore

Strawman: jupyter/try-jupyter-notebook which has the specific config for that site

Suggest that others build their own image from stacks following the pattern here OR invest effort in making it easy for folks to customize the image here with their own branding for their own tmpnb setup.

PR #71

Sweet thanks

#71 is merged. tmpnb.org will be updated in the near future with the image.


Raising 500

m = {"message":{"query_graph":{
  "edges": {
    "e01": {
      "constraints": [],
      "object": "n0",
      "predicates": [
        "biolink:has_manifestation"
      ],
      "subject": "n1"
    }
  },
  "nodes": {
    "n0": {
      "categories": [
        "biolink:Disease"
      ],
      "constraints": [],
      "ids": [
        "MONDO:0004995"
      ],
      "fulltextname": "n0"
    },
    "n1": {
      "categories": [
        "biolink:PathologicalProcess"
      ],
      "constraints": [],
      "fulltextname": "n1"
    }
  }
}}}

Returns fine from strider with 14 results, then aragorn throws a 500.

fixed with recent patch to answer coalesce