Add ability to reconnect to Jupyter kernel

For #7014
Adds two new user-facing parameters presented after entering a remote jupyter URI which allow the user to reconnect to a kernel already running on the server and the option to leave that kernel running when the interactive window is closed

[X ] Pull request represents a single change (i.e. not fixing disparate/unrelated things in a single PR)
[X ] Title summarizes what is changing
[X ] Has a news entry file (remember to thank yourself!)
[X ] Appropriate comments and documentation strings in the code
[X ] Has sufficient logging.
[X ] Has telemetry for enhancements.
[ ] Unit tests & system/integration tests are added/updated
[ X] ~Test plan is updated as appropriate~
[ X] ~package-lock.json has been regenerated by running npm install (if dependencies have changed)~
[ ] The wiki is updated with any design decisions/details.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.:x: kdkavanagh sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

Awesome suggestion and great work! Just starting to use remote kernels in VSCode myself and this would be really helpful.

This is great, thank you! We will review it ASAP.

@kdkavanagh . Sorry about the delay here. I've added myself on as a reviewer for this and will take a look first thing tomorrow.

One thing to note - If you choose to start your own kernel, VSCode ends up creating two sessions/kernels when you initially load the interactive window.  I saw the code for this, but failed to grasp the reasoning behind it, so left it alone.  This can be somewhat confusing when you come back to reconnect to the server and see two kernels when you wouldve only expected one

One thing to note - If you choose to start your own kernel, VSCode ends up creating two sessions/kernels when you initially load the interactive window.  I saw the code for this, but failed to grasp the reasoning behind it, so left it alone.  This can be somewhat confusing when you come back to reconnect to the server and see two kernels when you wouldve only expected one

The second session is used for the restart kernel command. We essentially always have a backup session running, and when user asks for a restart we just swap in the backup. Was a pretty big speed up for the restart operation.

Hi,
I've applied the requested changes with some extras.
Mainly, the user can now specify which kernel to start instead of using the base kernel every time.
How would you like me to proceed? Create a new PR?

Since @hochshi has taken this over, closing this PR


Resize PIP rectangle to match screen width(Question)

Hi,
thanks for this amazing library.
I was wondering if there's a way to make the rectangle in PIP mode to match the screen width, so far I've tried to change the aspectRatio with PictureInPictureParams but it can't go over a specific number.
Ideally I'd like to have it like Whatsapp PIP size, but I don't know if is possible.

Hi, I'm not sure if there's a way to do it, but the library is definitely not limiting the size of the rectangle, since the player always fills the whole space.


Update zh_cn.json

its ready to be merged

oh now its ready to be merged

will be merge with 11.1 :)


Fixed failed comparison of Fixnum with True

When setting :critical or :warning and using ruby 2.1, an "ArgumentError comparison of Fixnum with true failed" was obtained. These changes fix those errors.

Thank you, @iramello :)


context.CreateCollector(matcher, event) depreciated, example for replacement?

Just getting my head into Entitas and the fantastic project that it is.
A small issue I've has has been in following the 'Simple Entity View and Movement' tutorial, specifically Step 4.
View System seems to use the depreciated 'context.CreateCollector(matcher, event)' .The release notes say use 'context.CreateCollector(triggerOnEvent)' .Being totally unfamiliar with Entitas, I'm a little stumped as to what this should change to:

protected override Collector<GameEntity> GetTrigger(IContext<GameEntity> context)     {         return context.CreateCollector(GameMatcher.Sprite);     }

Any help, greatly appreciated, thanks.

https://github.com/sschmid/Entitas-CSharp/blob/develop/Tests/Unity/VisualDebugging/Assets/Examples/VisualDebugging/Systems/AReactiveSystem.cs - An example of a reactive system using the new changes, trigger on event.
https://github.com/sschmid/Entitas-CSharp/blob/develop/Tests/Unity/VisualDebugging/Assets/Examples/VisualDebugging/Systems/SomeMultiReactiveSystem.cs - An example of a multi reactive system using Trigger on event.
You won't be able to do that without generating code first though. Since it uses matcher generation code to make things shorter.

Just put Added, Removed or AddedOrRemoved on the end of sprite. https://github.com/sschmid/Entitas-CSharp/blob/master/Entitas/Entitas/Collector/TriggerOnEventMatcherExtension.cs

Perfect, thanks a mill, I think I was having a compile issue that was also complicating the issue.  👍

Awesome, If the problem has been solved please close this issue. :)


Support for ipv6 - partial patch

Several issues mention an EINVAL error that happens with ipv6 addresses. This patch should fix the initialization, but there's still a couple of hardcoded ip4 calls on https://github.com/Atlantis-Software/node-turn/blob/master/lib/allocation.js that I don't understand why they are used, but should be adjusted too. Perhaps the same kind of check on the IP type on relayedAddress?

this has been fixed in current code


feat: prints bigger values on top

Sorts tags with bigger values on top

Hi @ftapajos and thanks for your PR!
For my use case, I need the output to be sorted by the tag name(s). Ideally, this behavior would be configurable via timewarrior.cfg. A potential configuration option could be something like: extensions.tagsum.sort_by = {length, tag} (I'm not aware of any established naming convention for custom config option names, so this is just a suggestion.)
This would allow users to choose between sorting by duration or by the tag name itself, depending on their preference.


Added benchmarks for larger regex fsm and runtime benchmarks for the same

Step towards #549,
This PR adds a lager regex benchmark and a few runtime benchmarks.

Thanks for this work, it's really important that we prevent performance degradation!
Related / conflicting PR which moves tests from pytest-benchmark to ASV: https://github.com/outlines-dev/outlines/pull/903
If you're looking to add additional benchmarks after this PR, you might consider adapting some benchmarks from https://github.com/outlines-dev/outlines/pull/587 there's a lot of benchmarks in there for CFG generation.

Hi @kc611 the ASV infrastructure is in main. Could you please move these to benchmarks/?
Here is an example :https://github.com/outlines-dev/outlines/blob/main/benchmarks/bench_regex_guide.py


Enable redirecting to parent in entity/view for some types - closes #363

I added the possibility to redirect to the parent. Please take a look if it's OK to use the already existing "toType" parameter, even though "parent" is actually not a type.
The redirecting happens for:

grouped-text-exercise
SC/MC answers
input exercises
solution
hint

Also, is a multiple redirect a problem? Because for example a solution of grouped-text-exercise redirects to the grouped-text-exercise which redirects to the exercise-group.

Did you introduce the parent type to avoid setting the types manually?

Because in most cases you can replace parent with text-exercise-group and avoid the extra logic and implications of/for parent

No the problem is that the parent isn't always text-exercise-group but also text-exercise. Another option I thought of would be changing toType to an array instead of a single string and then using the first type that matches the condition. Maybe that's cleaner? Or do you have a different idea?

Ah I see, that makes sense. What would happen if the child had two parents? For example a course page which has been added to more than one course.

Currently this isn't allowed because they have multiple => false for their parents, however they could be added to two different types (so for example a text-solution added to both an text-exercise and a grouped-text-exercise)
And then allways the first one would be chosen for redirect. I essentially use the same logic as those backlinks currently do (e.g. https://github.com/serlo-org/athene2/blob/master/src/module/Ui/templates/entity/page/text-solution.twig#L5 )

Sounds good!


Make Shannon its own type?

@Datseris Sorry, one last thing that popped up as you work on #227 A thing that has been bugging me wile working on upstream stuff is as follows:
Why isn't Shannon an EntropyDefinition in itself? There are multiple entropy definitions that, in some limit, approach the Shannon entropy. This is the case at least for Tsallis, Kaniadakis and Renyi, and probably many more. It seems completely arbitrary that Shannon should be an alias for Renyi with a certain parameter.
This alias made sense when we only had Shannon and Renyi entropy, but that is no longer the case. There will be many more entropies, many of which also convergence to Shannon entropy.
This has bugged me a while when working on upstream stuff. It means I have to write a Renyi-to-Shannon wrapper for every method that uses the Shannon entropy.
In information theory, Shannon is the entropy. The star of the show, so to speak. I think it should be its own type.

sure you can do this if you want. I don't care because this is a change that has no actual impact, nothing would change in neither our code nor future extensions.

sure you can do this if you want. I don't care because this is a change that has no actual impact, nothing would change in neither our code nor future extensions.

Ok, I'll fix it after #227 is merged.

Since this doesn't change anything for the user of Entropies.jl, this doesn't need to go in 2.0. It is a non-breaking change, so can just go in 2.1. Let's not let more stuff hold the new release back.


more readable errors

if I've forgot scope i received this error
E               KeyError: None

..\..\AppData\Local\pypoetry\Cache\virtualenvs\shvatka-7O9jFSMq-py3.11\Lib\site-packages\dishka\registry.py:84: KeyError

please add to error provider name (and will be greate if method name or provided type for case with really many @provide functiuons in one provider)
if I created sync container and add async provider i receive next error:
ValueError: Unsupported type FactoryType.ASYNC_GENERATOR

will be greate to add to error why (wrong type of container)

i've got next error
  File "C:\Users\ychebyshev\PycharmProjects\Shvatka\shvatka\tgbot\middlewares\init_middleware.py", line 67, in __call__
    data["file_gateway"] = await request_dishka.get(FileGateway)  # type: ignore[type-abstract]
                           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

  File "C:\Users\ychebyshev\AppData\Local\pypoetry\Cache\virtualenvs\shvatka-7O9jFSMq-py3.11\Lib\site-packages\dishka\async_container.py", line 114, in _get_unlocked
    raise ValueError(f"No provider found for {dependency_type!r}")
ValueError: No provider found for <class 'shvatka.infrastructure.db.dao.holder.HolderDao'>

in line 66 i've just received HolderDao. it was incomprehensible error.
Isolved it, when found that dao is in REQUEST scope and FileGateway is in APP scope (that was my mistake, both should be in REQUEST scope)


Why Python is the best programming language for Machine Learning and Artificial Intelligence

Be sure to visit our Resources Page for tools, resources, and example articles to go over.
NOTE: (Please ensure that you have only one open issue + linked pull request at a time. This will ensure that we complete the article in a timely manner from inception to publishing.)
We're looking for the first 2-3 paragraphs of the article that appropriately summarize what your article will be about.
NOTE: We tend to stray away or tend not to publish reviews/comparisons of commercial product offerings.
Proposed title of article
Why Python is the best programming language for Machine Learning and Artificial Intelligence
Introduction paragraph (2-3 paragraphs):
In this article, We'll look at a few features of the Python programming language that make it suitable for Machine Learning engineers. Projects based on machine learning and artificial intelligence are clearly the way of the future.  The majority of businesses now use Python for AI and Machine Learning. Python development services are a necessity for high-scale companies and startups as predictive analytics and pattern recognition become more prevalent than ever.
Python programmers are in high demand, owing to what they can do with the language. Programming languages for artificial intelligence must be efficient, and easy to understand. Intelligence (AI) has improved the user experience and added value across many industries by allowing our apps to see, hear and react.
Key takeaways:

Why you should use Python software for Machine Learning and Artificial Intelligence
To know the best Python libraries for AI.

References:
Templates to use as guides

How To Guide Template
Software Review Template
Tutorial Template

@majiezra please only open one topic suggestion at a time. I've just approved the previous one that you proposed and will close this one.


Sweep: Implement a Spinner for Background Process Feedback

Please implement a spinner to indicate when a background process is running, especially during the loading of large language models. This will enhance user experience by providing clear feedback while they wait

Sweep: Retry


Refine functions

Refine functions:

raw (ms)
human (humanly readable)
estimate (xmys)

Done https://github.com/edoardottt/go-readingtime/commit/29d072e257aab462e6bf20b97e56638c7a86713e


feat(lang): PHP support

Configures tree-sitter, phpactor as LSP server and xdebug/vscode-php-debug as DAP server.

I never wrote Lua before, nor ever configured NeoVim nor lazy.nvim. I just looked at other language configs and tried to do the same, it worked surprisingly well, but probably there are some things that could be improved, so please review it thoroughly.
Thanks for this project!

It would be great to have this feature!

This is one flavour of PHP suppport, which would be highly appreciated. However: The more mature LSP server is in my opinion "intelephense". phpactor is great, too. Maybe this can made configurable? or optional? It is a matter of taste, I suppose.
For testing there is also a neotest adapter, which would fit into the Lazyvim ecosystem:

https://github.com/olimorris/neotest-phpunit

I have created a custom plugin using the config on this PR and it's working great! I prefer to use Phpactor as it's free and has many features. For anybody interested, here is my config. https://github.com/willopez/LazyVim/blob/main/lua/plugins/php-lsp.lua

I work as a web dev (using php a lot) and found this combination to be working pretty well:

lsp: intelephense (it has limited features if you don't buy a license, but I've tried the alternatives and they didn't seem to work properly after installed by Mason)
linter: phpcs (first one I got to work and was able to set a coding standard using args)
formatter: pretty-php (first one I got to work and was able to set a coding standard args)

I've set both formatter and linter to follow psr12 so that the linter doesn't complain about how the formatter is formatting.
Just wanted to share my experience and maybe get some inspiration for improving my config from other php devs. :-)

@gmnz
You may want to share your configuration, so everyone interested can take a look.

@Tmeister
return {
  "mfussenegger/nvim-lint",
  opts = function(_, opts)
    local phpcs = require("lint").linters.phpcs
    phpcs.args = {
      "-q",
      "--standard=PSR12",
      "--report=json",
      "-",
    }
    --
    opts.linters_by_ft = vim.tbl_extend("force", opts.linters_by_ft, {
      php = { "phpcs" },
    })

  end,
}

return {
  {
    "stevearc/conform.nvim",
    opts = function(_, opts)
      opts.formatters_by_ft = vim.tbl_extend("force", opts.formatters_by_ft, {
        php = { { "pretty-php", }, },
      })

      opts.formatters = vim.tbl_extend("force", opts.formatters, {
        ["pretty-php"] = {
          prepend_args = {
            "--psr12",
          },
        },
      })
    end,
  },
}

Any feedback on this is welcome, I'm not an expert on lua nor linters, nor formatters. :-)

Are there any updates regarding PHP support?

I use a lot of PHP, WordPress and for other projects, it would be great to have PHP support! @folke thanks a lot for your work!

Updated and merged. Thanks!

@folke what's the recommended approach for language extras that have multiple good variants for lsp? For example, the lang extra now merged in this PR uses phpactor but a lot of php devs use intelephense instead. I tested it out today and the two seem to be able to coexist peacefully (e.g. they can both be enabled simultaneously) although i'm not sure about whether this is actually a good idea.
It feels a bit weird to me that the LazyVim community would need to be opinionated about which lsp is the best for a particular language. Is there a value to having language variants in extras, e.g. lang.php-phpactor and lang.php-intelephense? Are there other languages which have multiple good lsp implementations that should be considered?

You can take a look at Python Extra about taking into considerations different variants of which LSP server will be used. Of course the users can add whatever they want to their personal configurations as well.
The Extras are mostly best effort setups in my opinion and it depends on the PR creator's experience with the language as well. It's not a be-all/end-all kind of thing.
If you think you can improve some Extra, then just make a PR and it will either be accepted or not.

Like @dpetka2001 says.
Feel free to submit a PR similar to how it's done in the pyhthon extra.
Ideally the php extra should default to the best LSP available, but since I don't do php anymore, I'm not the best person to decide on that.

@esetnik if intelephense is better or more widely used, then feel free to make it the default

[LSP] Format request failed, no matching language servers.
it says it all the time

That's because no formatting has been set up for this Extra. Feel free to improve it.

Many people use intelephense and phpactor. I prefer phpactor because it uses a libre license, and does not require buying one for unlocking features. IMHO proprietary software should never be a default on a FLOSS project.

It seems like there are 2 thing more to do in the this extra, configure formatting, Lin ing with the way python extra does, for formatting there could be 3 options ppl go for, php cs fixer, pint or pretty-php, and about linting there seems to be options in .phpactor.json for choosing phpstan and/or psalm, but there are other linters too like php codesniffer, tlint, etc


Don't Merge! PR real time test for webhook case

Docs Build status updates of commit 539bf43:
:clock10: Full build: the average full build time is 6 min(s) 8 sec(s), this is based on the last 251 build(s) for this repository.
:warning: This is a FULL build due to the 'pr-webhookbackup' branch being a new branch in Docs Build service and is still building, or there are build errors in 'pr-webhookbackup' branch so the cache for incremental build is not available. Normally no action is required on your part, but if the full build persists, please contact your repository admin to manually perform a full build on the 'pr-webhookbackup' branch. For more detailed info, please click here.

Docs Build status updates of commit 539bf43:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details
Dependent Files

docs-ref-conceptual/testing.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile) View (azure-cli-2018-03-01-hybrid)

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Redeliveries in sagas

Is this a bug report?
No.
Suggestion
Occasionally when using the state machines I would like to have the option to redeliver a message in case of a missing instance. Something along the lines of
Event(() => GoatEnteredTheBarn, cfg => {
    cfg.CorrelateById(x => x.Message.BarnId);
    cfg.OnMissingInstance(x => x.Redeliver(TimeSpan.FromMinutes(5), throwAfterFailedRedeliveries: 3);
});

This would then redeliver this message to the state machine using the redelivery support in MT, and after the 3rd failed redelivery it would act the same as x.Fault().
Bonus suggestion
Redelivery in general would be a nice thing to have in the process managers. Being able to say that certain messages in certain states should be redelivered later could lower the complexity of some cases where the state machine needs to wait for an operation that makes it enter a later state before handling later requests. Retries can ofc help some, but they seem more geared towards smoothing out the cases where you expect things to "clear up" relatively fast, so they dont really solve the same issues.
If these suggestions seem useful Id be happy to at least try to send a PR to help out (if I manage to figure it out ;) ).

Goat entered the barn? The things MassTransit is used to automate never stops surprising me!

Part of me dont want to admit this now, but I may have just made that part up ;)
Although I kinda feel like Im telling someone that santa doesnt exist now, which feels really bad. Sorry.

So why wouldn't you just accept the GoatEnteredTheBarn and transition to the expected state, and then when the GoatCrappedInThePasture event arrives, record the details, but acknowledge that you're already in the GoatInBarn state?

@wastaz let me know if this works for you - it did for me, quite a nice addition by the way.

@phatboyg That looks great :) Only problem is now I realized that I have one case where the instance might not be missing but rather Id have an instance but it wouldnt be in the right state yet. Though currently I solve that case by "remembering" that I have seen it and having extra logic checking for remembered things when I enter the state where I accept it. It would probably be cleaner to just redeliver those messages later instead. But thats a totally different issue. This addresses the missing instance case quite nicely :)


Code refactoring for the driver package and its references

Codecov Report

Merging #52 (79231e8) into main (868a447) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main       #52   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           41        41
  Lines         1306      1306
=========================================
  Hits          1306      1306

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


[Feature] Supports filter predicate in Parquet format of paimon

Search before asking

[X] I searched in the issues and found nothing similar.

Motivation
Parquet format is the main file format of table store, which doesn't support filter predicate. Filter predicate should also support in Parquet format, not only the ORC format.
Solution
No response
Anything else?
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

I have interest to work for this issue. Could you please assign this issue to me.
@JingsongLi

I have interest to work for this issue. Could you please assign this issue to me. @JingsongLi

Is there any progress? Can I help?

@JingsongLi @liugddx @golden-yang
Can i try this out?
We must translate the Paimon filters to Paraquet FilterPredicate format and pass it to the ParaquetReaderFactory. In the factory, we just need to pass the filters using ParaquetReadOption recordFilter.
Please let me know if I missed anything.


Removed redundant &&

The template URI contains a un superfluous "&" character.
The double "&&" causes some issues with our automated tests
Overview
Related Issue / Discussion
Additional Information
Contributions and Licensing
(as per https://github.com/geopython/pycsw/blob/master/CONTRIBUTING.rst#contributions-and-licensing)

[x] I'd like to contribute [feature X|bugfix Y|docs|something else] to pycsw. I confirm that my contributions to pycsw will be compatible with the pycsw license guidelines at the time of contribution.
[ ] I have already previously agreed to the pycsw Contributions and Licensing Guidelines

Hi @menegon thanks for the patch.  If possible:

update the 'Contributions and Licensing' section and check off the first checkbox (given it is your first commit to pycsw)
the tests are failing because the 'expected' response for that functional test has not  been updated and thus differs.  Can you update tests/functionaltests/suites/csw30/expected/get_OpenSearch-description.xml to remove the extra & there too?  The tests will then pass

thanks very much @menegon!


Implement new ODE Heat-Mapper API - New object to overlay a heat-map of ODE Occurrences

Implement a new ODE Component that can be added to an ODE Trigger to map the Trigger's ODE occurrence metric(s) over consecutive frames. The Heat-Mapper uses a RGBA Color Palette to generate a map of RBGA Rectangles. The color selected for a specific rectangle/square is based on the number of accumulated occurrences for the rectangle/square. The Rectangle metadata is added to each Frame's metadata when the trigger post-processes each frame.
New constants
#define DSL_HEAT_MAP_LEGEND_LOCATION_TOP                            0
#define DSL_HEAT_MAP_LEGEND_LOCATION_RIGHT                          1
#define DSL_HEAT_MAP_LEGEND_LOCATION_BOTTOM                         2
#define DSL_HEAT_MAP_LEGEND_LOCATION_LEFT                           3

New API
/**
 * @brief Creates a new ODE Heat-Mapper that when added to an ODE Trigger, maps the
 * bounding-box test point for objects that trigger an ODE Occurrence over time.
 * The source-frame, with width and height, is partitioned into a two-dimensional grid of
 * rectangles as defined by the input parameters cols and rows. A color value from the
 * provided RGBA Color Palette is assigned to each rectangle based on the percentage
 * of test-points per rectangle. The RGBA Display Metadata is added to the Frame's metadata
 *  when the Trigger post processes each frame.
 * @param[in] name unique name for the ODE Heat-Mapper
 * @param[in] cols number of columns for the two-dimensional map.
 * @param[in] rows number of rows for the two-dimensional map
 * @param[in] bbox_test_point one of DSL_BBOX_POINT values defining which point of a
 * object's bounding box to use as coordinates for mapping.
 * @param[in] color_palette a palette of RGBA Colors to assign to the grid rectangles
 * based on the percentage of center-points per-square.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_new(const wchar_t* name,
    uint cols, uint rows, uint bbox_test_point, const wchar_t* color_palette);

/**
 * @brief Gets the RGBA Color Palette in use by the named ODE Heat-Mapper
 * @param[in] name unique name of the ODE Heat-Mapper to query
 * @param[out] color_palette name of the RGBA Color Palette in use
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_color_palette_get(const wchar_t* name,
    const wchar_t** color_palette);

/**
 * @brief Sets the the RGBA Color Palette to use by the named ODE Heat-Mapper
 * @param[in] name unique name of the ODE Heat-Mapper to update
 * @param[in] color_palette name of the RGBA Color Palette to use
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_color_palette_set(const wchar_t* name,
    const wchar_t* color_palette);

/**
 * @brief Gets the current Legend settings for the named ODE Heat-Mapper.
 * @param[in] name unique name of the ODE Heat-Mapper to query.
 * @param[out] enabled true if display is enabled, false otherwise.
 * @param[out] location current frame location, one of DSL_HEAT_MAP_LEGEND_LOCATION_*
 * @param[out] width width of each entry in the legend in units of columns.
 * @param[out] height height of each entry in the legend in units of rows.
 * @return DSL_RESULT_SUCCESS on successful query,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_legend_settings_get(const wchar_t* name,
    boolean* enabled, uint* location, uint* width, uint* height);

/**
 * @brief Gets the current Legend settings for the named ODE Heat-Mapper.
 * @param[in] name unique name of the ODE Heat-Mapper to update.
 * @param[in] enabled set to true to enable display, false to disable.
 * @param[in] location frame location, one of DSL_HEAT_MAP_LEGEND_LOCATION_*
 * @param[in] width width of each entry in the legend in units of columns.
 * @param[in] height height of each entry in the legend in units of rows.
 * @return DSL_RESULT_SUCCESS on successful query,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_legend_settings_set(const wchar_t* name,
    boolean enabled, uint location, uint width, uint height);

/**
 * @brief Calls on an ODE Heat-Mapper to clear its current heat-map metrics
 * returning the map to its initial all-zero state.
 * @param[in] name unique name of the ODE Heat-Mapper to call on.
 * @return DSL_RESULT_SUCCESS on success,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_metrics_clear(const wchar_t* name);

/**
 * @brief Get the current heat-map metrics from an ODE Heat-Mapper
 * @param[in] name unique name of the ODE Heat-Mapper to query.
 * @param[out] buffer a linear buffer of metric map data. Each row or
 * map data is serialized to a single buffer of size cols*rows.
 * Each element in the buffer indicates the total number of occurrences
 * accumulated for the position in the map.
 * @param[out] size size of buffer - cols*rows.
 * @return DSL_RESULT_SUCCESS on success,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_metrics_get(const wchar_t* name,
    const uint64_t** buffer, uint* size);

/**
 * @brief Calls on an ODE Heat-Mapper to print its current heat-map metrics
 * to the console.
 * @param[in] name unique name of the ODE Heat-Mapper to call on.
 * @return DSL_RESULT_SUCCESS on success,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_metrics_print(const wchar_t* name);

/**
 * @brief Calls on an ODE Heat-Mapper to log its current heat-map metrics
 * at the INFO log level.
 * @param[in] name unique name of the ODE Heat-Mapper to call on.
 * @return DSL_RESULT_SUCCESS on success,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_metrics_log(const wchar_t* name);

/**
 * @brief Calls on an ODE Heat-Mapper to write its current heat-map metrics to file.
 * @param[in] name unique name of the ODE Heat-Mapper to call on.
 * @param[in] file_path absolute or relative file path of the output file to use
 * The file will be created if one does exists, or opened/used if found.
 * @param[in] mode file open/write mode, one of DSL_EVENT_FILE_MODE_* options
 * @param[in] format one of the DSL_EVENT_FILE_FORMAT_* options
 * @return DSL_RESULT_SUCCESS on success,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_metrics_file(const wchar_t* name,
    const wchar_t* file_path, uint mode, uint format);

/**
 * @brief Deletes a uniquely named ODE Heat-Mapper. The call will fail if
 * the ODE Heat-Mapper is currently in use.
 * @brief[in] name unique name of the ODE Heat-Mapper to delete
 * @return DSL_RESULT_SUCCESS on successful delete,
 * DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_delete(const wchar_t* name);

/**
 * @brief Deletes a Null terminated list of ODE Heat-Mappers. The call will fail
 * if any of the ODE Heat-Mappers are currently in use.
 * @brief[in] names Null terminated list of ODE Heat-Mapper names to delete
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_delete_many(const wchar_t** names);

/**
 * @brief Deletes all ODE Heat-Mappers. The call will fail if any of the
 * ODE Heat-Mappers are currently in use.
 * @return DSL_RESULT_SUCCESS on success, DSL_RESULT_ODE_HEAT_MAPPER_RESULT otherwise.
 */
DslReturnType dsl_ode_heat_mapper_delete_all();

/**
 * @brief Returns the size of the list of ODE Heat-Mappers.
 * @return the number of ODE Heat-Mapper in the list.
 */
uint dsl_ode_heat_mapper_list_size();

complete - merged into v0.24.alpha


Instructions for Docker Contianer and Python Version Management in Sagemaker

I am going through the repo and on the SMA strategy I am getting error when trying to run Step 4) Backtest locally It seems we need to have a docker container running locally for this to work? There's no instructuons so hard to tell. Also, I am using Sagemaker kernel conda_mxnet_latest_p37 and for some reason getting an error saying i need to update from 3.6 to 3.7. I checked in the terminal and both pip and python versions good... pip 22.0.4 from /home/ec2-user/anaconda3/envs/JupyterSystemEnv/lib/python3.7/site-packages/pip (python 3.7), Python 3.7.12

This has been fixed in the dockerfile.


Handle row stride when reading from a file like object.

Previously the row stride was not accounted for and the wrong region of the image was read.
Fixes #347

included in new update version 1.3.10


Dispose not being called on module after navigating to another one

Like I talked to @jacobaraujo7 ,
The scenario is like this:

App starts in HomeModule ("/")
Navigate to NewPage in NewModule ("/new") with Modular.to.pushNamed('/new')
Navigate to Page2 in NewModule ("/new/page2") with Modular.to.pushNamed('/new/page2')
Navigate back to HomeModule ("/") with Modular.to.pushReplacementNamed('/')

When executing step 4, it should dispose NewModule, but it never happens. That can cause issues when navigating back to NewModule.
It only disposes correctly if I navigate to "/" inside the "/new" route (first route inside NewModule), if I try to navigate from 2+ page in stack, it doesn't dispose. You can test this scenario uncometing the line 24 inside new_page.dart
Minimal reproducible project:
https://github.com/Gustav0ar/modular_route_bug

Wrong place


Client Allocation Request for: Elixirpay

Client Allocation Questions
Core Information

Name: Elixirpay
Website / Social Media: https://www.elixirpay.com
Region: Asia excl. Greater China
DataCap Requested: 100TiB
Addresses to be Notarized: f3ukpbw7etidnzsbwxdvnqzm2jxj45zl3ti5qbomk7vo522xparxghjlp72th7rygsdylh7zlkwcxdmekefzpq
Notary Requested: IreneYoung

@BrownKong Please subscribe to notifications for this Issue to be aware of updates. Notaries may request additional information on the Issue.

Sorry @BrownKong , I don't have enough DataCap, if you need a lot of datacap, I suggest you issue a large Dataset application. You can apply here: https://github.com/filecoin-project/filecoin-plus-large-datasets/issues

@BrownKong, Sorry I don't have enough DataCap, if you need a lot of datacap, I suggest you issue a large Dataset application. You can apply here: https://github.com/filecoin-project/filecoin-plus-large-datasets/issues


Algorithm for sleep (a/k/a pause, wait, delay)

It would be nice to have a function to stop the propagation of chained computations for an arbitrary number of milliseconds. I don't see one in the API. Do you have an undocumented function you could share, or a suggestion on how to go about coding one.
I have been chaining monadic creations (https://github.com/dschalk/reactive-monads, explained at https://github.com/dschalk/mobservable-monads. With setTimeout, chain propagation continues while setTimeout does its thing, resulting in failure. Bringing the whole browser tab to a screeching halt with "while" algorithms isn't cool. I'm using React.js with webpack, so I have easy access to ES6 promises and they do work (see https://github.com/dschalk/mobservable-monads) but the two-step procedure is unsatisfying.
Suggestion: you might want to consider incorporating a function like JQuery's "delay()" in streamjs.

Thanks for your feedback. In the current state Stream.js is completely synchronous. Asynchronous operations via setTimeout is not supported out of the box.
What you can do today with Stream.js is to create an iterator by calling iterator() at the end of the stream. This returns immediately  without processing any operation. You can then use this iterator to process the stream asynchronously by yourself.
I could imagine to add convenient methods to support asynchronous processing in the future, e.g. vja terminal operation: iterateAsync(fn, delay)

However some stateful operations like sorted will still be performed synchronously on the whole input collection.


metrics service: use snapshot time for all metrics flushed

Commit Message: use snapshot time for all metrics flushed
Additional Description: use snapshot time for all metrics flushed during a flush cycle instead of computing timestamp for every metric.
Risk Level: Low
Testing: Updated tests
Docs Changes: N/A
Release Notes: N/A
Fixes https://github.com/envoyproxy/envoy/issues/13782

@jmarantz  addressed comments. PTAL


Add heatmap layer

A finer-grained heat map layer as compares to the grid layer.

[x] Add custom FS support to Transform for running KDE on offline rendering.
[x] Add Heatmap Layer.
[x] Docs
[ ] Render tests
[ ] Unit tests
[ ] Whats-new

Anyone working on this? Might make time to look into it this weekend if not - the one bundled w/ map-gl has some really major perf issues

Hi @contra, we are currently working on some other features and can definitely use some help here :)

Hey @contra! If you're talking about https://github.com/vicapow/react-map-gl-heatmap-overlay would love to hear more info on the perf issues you're experiencing.

@vicapow The issue with react-map-gl-heatmap-overlay is:

location accessor map over dataset not being cached - immutablejs .get() and .getIn() are super costly!
iterating every data point on every draw for mercator projection

Even with only ~10K items in immutable the framerate is incredibly low and the main thread is locked up consistently.
Doing the projections on the gpu (with this module) solves all of these problems.
Caching the output of mapping locationAccessor over the data set alleviates the major bottleneck and allows you to render ~20K items with a decent framerate, but I still think doing the projections in JS at all is going to be a bottleneck for our case (10M+ data points, trying to render as many as possible @ 60fps).

Will be resolved by #1414

We will be working on this layer for next major deck.gl release (6.0 or 6.1, currently building GPU aggregation pieces).

is this still coming in 7.0.0? a port of @vicapow 's webgl heatmap for both geospatial and identity based systems would be amazing and super relevant to the use case im working through in #2673

This will likely not make it in for 7.0 release.  I expect this will release in 7.1 or 7.2.

Can I add a request that the elevation of a point be considered, and therefore render the heatmap in 3D?

@SymbolixAU , it is possible, but can you give more details of your use case?

I don't have a specific use-case in mind yet, but a lot of the data I work with has elevation, so I thought it might be an interesting component of a heatmap.

This can be closed once #3384 is merged, remaining issues are tracked here: #3385

nice work!


using predicate func in make_batch_reader

values = [5]
predicate = in_set(values, "imageid")
with make_batch_reader(dataset_url,  predicate=predicate) as train_reader:
when using predicate func in make_batch_reader, it raises an error about "TypeError: 'Series' objects are mutable, thus they cannot be hashed". So I check the code:
def do_include(self, values):
     return values[self._predicate_field] in self._inclusion_values
make_batch_reader's values[self._predicate_field] type is Series, but make_reader's values[self._predicate_field] type is int32
So can we replace make_batch_reader's _load_rows_with_predicate(arrow_reader_worker) with make_reader's _load_rows_with_predicate(py_dict_reader_worker) partially  or any other method?
I tried it by myself, it works!

I think it may even better to use in_lambda predicate as it allows you to write more flexible conditions. You can use panda series's isin() method to achieve your goal as shown in the following example:
from petastorm.predicates import in_lambda

with make_batch_reader(url, predicate=in_lambda(['imageid'], lambda imageid: imageid.isin(values)))

I think I will also fix the in_set predicate, although, it maybe best to deprecate that function since using in_lambda seems to be more straight forward.

OK, thx, I will check it


fix version line parser

Summary

This addresses the issue outlined here, where it seems like the version line parser was allowing certain lines that shouldn't have been passing.
Use Cases

This change should allow users to get more direct error messages when building their apps with custom framework versions
Checklist

[x] I have viewed, signed, and submitted the Contributor License Agreement.
[x] I have linked issue(s) that this PR should close using keywords or the Github UI (See docs)
[x] I have added an integration test, if necessary.
[x] I have reviewed the styleguide for guidance on my code quality.
[x] I'm happy with the commit history on this PR (I have rebased/squashed as needed).

The test case has one concern regarding the specificity of the error - currently, the version parse function returns an error detailing that the TargetFramework property is missing, when there can be cases of malformed version lines in otherwise valid TargetFramework properties that gets errored as missing, instead of something more specific.
Maybe the error message could be generalized to reference both kinds of errors, or another check can be used to differentiate missing from malformed version lines?


Update CI

Following warnings reported during the release, this PR updates the CI:

actions/cache: v3 → v4
codecov: v3 → v4
actions/create-release: replace with use of gh release command (the action is unmaintained). This use of gh release is the similar to what is done in ggshield tag workflow.

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 94.55%. Comparing base (215f529) to head (136ef69).
Report is 32 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #130      +/-   ##
==========================================
+ Coverage   94.45%   94.55%   +0.09%
==========================================
  Files           6        6
  Lines         830      918      +88
==========================================
+ Hits          784      868      +84
- Misses         46       50       +4

Flag
Coverage Δ

unittests
94.55% <ø> (+0.09%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Cannot log in

When I open the squad builder, at the top it says "Checking auth status..." with a spinning wheel for a good minute or two. After that, the Login button appears, but doesn't do anything. It doesn't take me to the login page or anything. It appears to literally do nothing. Attempting to open the login page in a new tab just takes me to the squad builder again, where it does "Checking auth status..." again.
I've tried it with both Google Chrome with and Firefox. I've tried logging out of my gmail account and back in. I'm not sure what else I can try on my end to get it working, but I simply cannot log in.

Nevermind, it eventually started working again. Must have been a weird server issue or something.


Keras deployer

Based on the tensorflow deployer, I have implemented this Keras deployer
Currentlly a docker build command needs to be run to create the keras-container image
docker build -f dockerfiles/KerasDockerfile -t keras-container .

This is until build_docker_images.sh will be updated with the build commands
a working example would be:
from clipper_admin import ClipperConnection, DockerContainerManager
from clipper_admin.deployers import keras as keras_deployer
import keras

# run this first
# docker build -f dockerfiles/KerasDockerfile -t keras-container .

# creating a simple Keras model
inpt = keras.layers.Input(shape=(1,))
out = keras.layers.multiply([inpt, inpt])
model = keras.models.Model(inputs=inpt, outputs=out)

clipper_conn = ClipperConnection(DockerContainerManager())

# Connect to an already-running Clipper cluster
clipper_conn.connect()

def predict(model, inputs):
    return [model.predict(x) for x in inputs]

keras_deployer.deploy_keras_model(clipper_conn=clipper_conn,
    name="pow",
    version="1",
    input_type="ints",
    func=predict,
    model_path_or_object=model,
    base_image='keras-container')

# sending an inference request
import requests
import json

req_json = json.dumps({
    "input": [1, 2, 4, 6]
})

headers = {"Content-type": "application/json"}
response = requests.post("http://localhost:1337/keras-pow/predict", headers=headers,
    data=req_json)

Can one of the admins verify this patch?

This is awesome! Can you add a test like https://github.com/ucbrise/clipper/blob/develop/integration-tests/deploy_tensorflow_models.py?

just pushed an integration test and a small exception for the model validation part
should I add the following lines to build_docker_images?
create_image keras-container KerasDockerfile $public py &
create_image keras35-container KerasDockerfile $public py35 &
create_image keras36-container KerasDockerfile $public py36 &

Thanks again! Sorry about the late reply. I can take care of that. We are in the midst of integration testing infrastructure refactoring (https://github.com/ucbrise/clipper/pull/595). I will add building container support to this PR once CI is ready.

Hi, I'm trying to run this locally and I am running into an issue running the following command:
docker build -f dockerfiles/KerasDockerfile -t keras-container .
The error message I'm getting is:
pull access denied for clipper-base, repository does not exist or may require 'docker login'
It seems like there is no such image as clipper-base on docker hub. Not super familiar with docker but any ideas what I'm doing wrongly?

my bad
I believe I built it locally from Py2RPCDockerfile
docker build -f dockerfiles/Py2RPCDockerfile -t clipper-base .

@simon-mo, sorry about that. should I update the docker file with FROM ${REGISTRY}/${RPC_VERSION}-rpc:${CODE_VERSION} ?

Yes please that would be great! In the future, building clipper images will be simpler. But for now this is the correct approach.

Just build a model container using this PR, awesome! One problem we ran into was the keras-container expects to find the .h5 model as a file on the local filesystem, but we packaged it inside our pickled function (func.pkl). Would it make sense having the following added to this PR?
diff --git a/containers/python/keras_container.py b/containers/python/keras_container.py
index e2dd47f..cb96bc9 100644
--- a/containers/python/keras_container.py
+++ b/containers/python/keras_container.py
@@ -27,7 +27,12 @@ class KerasContainer(rpc.ModelContainerBase):
             dir=path, predict_fname=predict_fname)
         self.predict_func = load_predict_func(predict_path)

-        self.model = load_model(os.path.join(path, "keras_model.h5"))
+        model_file = os.path.join(path, "keras_model.h5")
+        if os.path.exists(model_file):
+            self.model = load_model(model_file)
+        else:
+            print("keras_model.h5 not found, it's probably pickled")
+            self.model = None

     def predict_ints(self, inputs):
         preds = self.predict_func(self.model, inputs)

One downside of using the stock deployers is that they build&ship in one step, something we split in a two-stage process. Our pickle step is as simple as just save_python_function(None, make_prediction).

@simon-mo  Will we merge this PR?

@simon-mo @rkooo567
How about try to merge this PR? I think that the Keras deployer is too awesome and many people wait for this.

We are still missing

Keras integration test
Keras docker container

@rkooo567 do you want to handle that?

@simon-mo Sure. I can work on it from 18th.
Btw, I can see the integration test as well as KerasContainer + Dockerfile. Are there any missing parts from those two?

sorry I mean we need to add them to the CI. So add a line here:
https://github.com/ucbrise/clipper/blob/8051a4e5ecf814177c0442b0b56760e4e505beb1/bin/shipyard/clipper_docker.cfg.py#L159-L170
and here:
https://github.com/ucbrise/clipper/blob/8051a4e5ecf814177c0442b0b56760e4e505beb1/bin/shipyard/clipper_test.cfg.py#L15-L29

@simon-mo Gotcha! That sounds simple. Let's wait for @eavidan, and see if he can add one more commit first. If he wouldn't appear, I will add them within a few days.

Jenkins test this please

Jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1958/
Test FAILed.

Jenkins test this please

@simon-mo This also failed with mxnet test. Maybe it is better reverting mxnet update for now? I think it is pretty unstable

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1963/
Test FAILed.

@rkooo567 i don't think this failed with mxnet yet. the rbac one failed with k8s but other tests like tensorflow and sparkml also failed.

@withsmilo @simon-mo I will use tensorflow=1.16.* for KerasContainerDockerfile, which is same as the one defined in PythonDevDockerfile.

Jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1969/
Test FAILed.

@simon-mo.
Should we push a KerasContainerDockerfile to our Dockerhub first? Seems like we start CI from prepull (to utilize cache), and it pulls the image. I suspect it is broken there because our KerasContainerDockerfile:develop is not in Clipper Dockerhub

@rkooo567 no because the prepull process will ignore any errors. Its just there to speed up caching. The real issue is:
 [keras-container] = is not a valid operator. Did you mean == ?

I'm fixing it now

Jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/1972/
Test FAILed.

I found this.
Starting MXNetContainer container
ERROR: CLIPPER_MODEL_NAME environment variable must be set
Encountered error not related to missing packages. Please refer to the container log to diagnose.

Looks like it doesn't even run mxnet container.
===== start: integration_py2_mxnet =====

[integration_py2_mxnet] Starting Trial 0 with timeout 2400.0 seconds

[integration_py2_mxnet] Starting Trial 1 with timeout 2400.0 seconds

[integration_py2_mxnet] All retry failed.

CI_test.Makefile:152: recipe for target 'integration_py2_mxnet' failed

make: *** [integration_py2_mxnet] Error 1

Jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2002/
Test FAILed.

Jenkins test this please

@rkooo567 https://amplab.cs.berkeley.edu/jenkins/job/Clipper-PRB/2005/ shows,
 [integration_py2_keras] Traceback (most recent call last):
 [integration_py2_keras] File "/clipper/integration-tests/deploy_keras_models.py", line 12, in <module>
 [integration_py2_keras] import keras
 [integration_py2_keras] ImportError: No module named keras

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2005/
Test FAILed.

Jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2008/
Test FAILed.

jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2011/
Test FAILed.

jenkins test this please

jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2014/
Test FAILed.

jenkins test this please

jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2020/
Test FAILed.

jenkins test this please

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2022/
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Clipper-PRB/2024/
Test FAILed.

@simon-mo So, there are 2 things.

I got this error log.

BuildError: pull access denied for keras-container, repository does not exist or may require 'docker login'

Do I need any additional setup for pulling an image?

Keras log is not organized at http://clipper-jenkins-viewer.herokuapp.com/. Do you need any steps to take to enable it?

Also, it looks like http://clipper-jenkins-viewer.herokuapp.com/ is broken for now?

jenkins ok to test

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

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

@simon-mo @withsmilo I think it is ready to go. @simon-mo Please add a keras-container repo at dockerhub, so that people can pull the image outside CI environment.

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

@rkooo567 the docker repo will be automatically created when we push to master. I restarted travis.


Load semanticdb files in parallel during initialization

They could be a lot.

Related #40, we should be able to measure the difference to see if it's worth it or not

It's unclear if we need to index all semanticdb files during startup and if it turns out we need it I'm not sure if it will be on a critical path in that case. I am also not sure if the slow startup performance was caused by the slowness of reading semanticdb payloads, reading protobuf data is fast in my experience. I've run semanticdb analysis for ~3 million lines of code in ~20 seconds on a single thread. I suspect the overhead comes more from the cost of building very large collections with indexing data.


Updated Plyr to version 3.3.21. Hides cursor in full screen mode

This change updates the version of Plyr used to version 3.3.21. The original motivation behind the update was to get the Speed option in the player menu. As discussed in issue #54, later versions of Plyr automatically hide the mouse cursor in full screen mode so that problem is fixed with these changes.

Awesome that speed functionality is great, thanks for the PR @Ryochan7 !


Can't compile <IP_ADDRESS> on windows.

Compilation fails with following message
[13 of 13] Compiling Criterion ( Criterion.hs, dist\dist-sandbox-9711dd26\build\Criterion.o )
cbits\cycles.c:55:2:
     error: #error Unsupported OS/architecture/compiler!

Version <IP_ADDRESS> compiles fine.
It looks like this commit is responsible https://github.com/bos/criterion/commit/0673606c70ba22234b8908a8f30e8ea588c6d776
Update: I have 32-bit GHC 7.10.2

Some issue here with 32bit GHC7.10.3 on WIndows/Cygwin

@erikd, a quick search reveals your PR is responsible for this breakage. Is there an easy way to restore 32-bit Windows compatibility?

I'll take a look.

https://github.com/bos/criterion/pull/105 should fix it.

Does anyone have experience setting up CI for windows?  We're in good shape for linux testing now on travis, but that's it....

@rrnewton: I've been experimenting with using AppVeyor for Windows CI builds. I still have a long ways to go to make it on par with the very well tested Travis CI scripts floaing around in the Haskellverse, but in theory AppVeyor should provide a very similar experience.

We used to have a windows VM hooked up to our in-house Jenkins setup.... but it was too much of a pain to keep up.  Someone could put bring it back up if they wanted, but AppVeyor sounds promising.

After PR #105 it compiles but tests fail:
alex@alex-PC MINGW64 /d/projects/criterion (Branch_3b6797b1fffa8b133d9a8577e17d34d3cd709d8e)
$ cabal test
Preprocessing library criterion-<IP_ADDRESS>...
Preprocessing test suite 'sanity' for criterion-<IP_ADDRESS>...
Preprocessing test suite 'tests' for criterion-<IP_ADDRESS>...
Running 2 test suites...
Test suite sanity: RUNNING...
benchmarking fib/fib 10
time                 4.464 us   (4.453 us .. 4.473 us)
                     1.000 Rsanity: [Failed]
ERROR: <stdout>: commitBuffer: invalid argument (invalid character)

         Test Cases  Total
 Passed  0           0
 Failed  1           1
 Total   1           1
Test suite sanity: FAIL
Test suite logged to: dist\test\criterion-<IP_ADDRESS>-sanity.log
Test suite tests: RUNNING...
Test suite tests: PASS
Test suite logged to: dist\test\criterion-<IP_ADDRESS>-tests.log
1 of 2 test suites (1 of 2 test cases) passed.

dist\test\criterion-<IP_ADDRESS>-sanity.log:
Test suite sanity: RUNNING...
benchmarking fib/fib 10

time                 4.464 us   (4.453 us .. 4.473 us)

                     1.000 Rsanity: [Failed]

ERROR: <stdout>: commitBuffer: invalid argument (invalid character)

         Test Cases  Total

 Passed  0           0

 Failed  1           1

 Total   1           1

Test suite sanity: FAIL
Test suite logged to: dist\test\criterion-<IP_ADDRESS>-sanity.log

@vagarenko Thats a problem with the locale setup. The Criterion output requires UTF-8. Sorry, no idea how so set that up on Windows.

@erikd

Are you getting that same error on 64 bit Windows?
No I don't get compilation error anymore.

That (invalid character) is a problem with the locale setup. The Criterion output requires UTF-8.
Oh. I thought that git bash console would handle utf properly but it failed.

Sorry, no idea how so set that up on Windows.
It's chcp 65001 command for windows console. After it all the tests succeeded.

Thanks for fix!

Perhaps it's worthwhile to modify the codepage before printing out to the screen in criterion. Something like:
#if defined(mingw32_HOST_OS)
import Control.Exception (finally)
import System.Win32.Console (getConsoleCP, setConsoleCP)
#endif

-- | Run in a modified codepage where we can print UTF-8 values on Windows.
withUnicode :: IO a -> IO a
#if defined(mingw32_HOST_OS)
withUnicode m = do
  cp <- getConsoleCP
  (setConsoleCP 65001 >> m) `finally` setConsoleCP cp
#else
withUnicode m = m
#endif

This would require depending on the Win32 package on Windows.

@RyanGlScott sounds good to me!

@RyanGlScott sounds good to me too.  I don't have a windows box to test atm, but if you can confirm that works, please commit it on iu-parfunc/criterion or send a PR.

On Win10 x64, GHC 8.0.1 tests fail for me with  1.000 Rtt: <stdout>: commitBuffer: invalid argument (invalid character)

@danilaml invalid argument (invalid character) is due to criterion requiring UTF-8. See above.

FWIW, if you want Windows CI through AppVeyor, here's a configuration file that suits my needs (except for now because Criterion <IP_ADDRESS> is broken on Win32 ;-)): https://github.com/NicolasT/reedsolomon/blob/master/appveyor.yml
You'll most likely not need to install autotools and make, not need to run autoreconf etc.

See also Harendra Kumar's post about package-test, which supports AppVeyor.  I've been trying it out, but my build failed because of Criterion, which is how I ended up here.  😃

Hopefully this is fixed with the release of <IP_ADDRESS>.


Added an ESRP step for signing extensions

This PR fixes #

Coverage decreased (-2.7%) to 37.749% when pulling af3c04b78fac237603597e119d33bc8f3eeb4a71 on aasim/extensionsigning into 9c6783288063a826578ec30d50eee975fa286d28 on main.

Nope, it didn't


Click failed when invisible overlay is present

I have a very specific problem happening between using the select2 library. I'm seeing Other element would receive the click issues because select2 has a drop mask that covers the entire page. This makes sense, but the overlay is invisible to the user.
Is there any way to ignore overlapping elements? I know in 99% of all cases this would be a bad idea, but for this 1% case, I'm not sure how to get around the issue other than to execute some JS in my test to hide the element.

:+1: on this -- it's pretty common practice to use an invisible overlay for styling e.g. input[type=radio].

:+1:

@jferris, @mhoran Is this issue needed to keep track of this potential feature or should it be closed in favor of pull requests?

I'm going to close this, since we haven't figured out a solution. The behavior in capybara-webkit is the same as Selenium or Poltergeist when it comes to overlapping elements.
If somebody can think of a good way to tell Capybara "I want to click on this element, but I expect another element to be in the way so actually click on that one," it's probably worth opening a pull request to Capybara itself to figure out how the API should work. However, we can't simply ignore overlapping elements, as it's not clear what the intended behavior is in those cases.

@calleerlandsson @jferris
This is a real issue.
For example, when using capybara on a Web application with iToggle-styled checkboxes, one gets:
 Capybara::Webkit::ClickFailed:
    Failed to click element (...) because of overlapping element (...) at position 0, 0;

The reason for this is that the library "hides" the original checkbox by setting its position to:
left: -9999px;
top: -9999px;

I tried with :visible => false but it doesn't work because it is not really hidden.

The reason for this is that the library "hides" the original checkbox by setting its position to

If the label is matched up with an invisible element, there's no way to click the element for that label, because you can't click invisible things as a user.
If you want to move forward with an unclickable checkbox, you can instead target the element that's actually on the page. I'm not familiar with iToggle, but you'd use find("css-selector").click to click the visible element.
If capybara-webkit is having trouble finding your elements, it might be a good idea to do an accessibility and usability audit on your form elements. For example, does your page make sense in a screen reader? Can you still navigate your form using only the keyboard? Using JavaScript to re-implement native elements is a common way to break pages, both for automated tests and for some human audiences.

@jferris Thanks for your answer. I replaced "iToggle" with "jQuery Toggles" and it allowed me to use find("css-selector").click.


Stacks created via API are incorrectly marked as private with no owner

Bug description
If I create a stack via API using the Postman tool, the ownership is set to private with no owner.
Expected behavior
Ownership should default to administrators only.
Steps to reproduce the issue:

Deploy a stack against stack api endpoint http://<IP_ADDRESS>:9000/api/stacks?endpointId=1&method=string&type=1
with this content:

{
    "Name": "test",
    "SwarmID": "jhhl3jj3h5jh34jh7356735676nn",
    "StackFileContent": "version: '3'\nservices:\n  test:\n    image: busybox",
    "Env": []
}

See in the Portainer UI ownership of the stack is private with no assigned owner

Technical details:

Portainer version: 1.23.2
Docker version (managed by Portainer): 19.03.8
Platform (windows/linux): Linux (Ubuntu)
Command used to start Portainer (docker run -p 9000:9000 portainer/portainer): docker stack deploy
Browser: FireFox, Chrome

Additional Info:
In my testing I have confirmed this was introduced in Portainer v1.23.0 with the ownership rewrite. Previous versions are not affected

Still present in the 2.0-dev image. Some things I noted:

In the stacks view stacks always show as limited and owned by administrators, no matter if they are created by admin or not and I would expect them to be total and show the correct ownership

In the stack details view they always show as private even when created by admin
Also the API response always returns "AdministratorsOnly": false, when creating stacks even if using the admin JWT

I just found the following after creating stacks as Admin via API:

Inclusion of AdministratorsOnly: true in the JSON of the request will lead to a Limited Control stack owned by administrators
I would expect this to be total control, I think this is a bug
Omission of AdministratorsOnly property in the JSON will lead to a Total Control stack that is private with no owner and  AdministratorsOnly: false property. If stacks have previously always defaulted to AdministratorsOnly: true and should still default to this, then it would seem this is a bug The reason this wasn't encountered via the UI is because we are now doing a second PUT API call from our UI to the resource_control endpoint to update the associated resource control for the stack.

Could be related/introduced via https://github.com/portainer/portainer/pull/3337

seems like the needed fix is here:
https://github.com/portainer/portainer/blob/9d18d47194c902c2be1d7b43bc4b76ac1e7d6ce0/api/http/handler/stacks/stack_create.go#L186
We can check if the user is admin and in that case make the stack created for administrators


St/avk/efmtool flip reac

cleaning up unused imports
formating using autopep8
My IDE comaplains AttributeError: module 'efmtool_link.efmtool4cobra' has no attribute 'get_reversibility'
So I added a test for get_reversibility()
I guess the efmtool_link package must be updated to pass the test

* cleaning up unused imports

* formating using autopep8
  My IDE comaplains `AttributeError: module 'efmtool_link.efmtool4cobra' has no attribute 'get_reversibility'`
  So I added a test for `get_reversibility()`
  I guess the efmtool_link package must be updated to pass the test

Yes, the current efmtool_link master is needed (v0.0.2)

Ok, the test is passing now.
I moved the computation to core.py, have a look!
I think that's finished you can merge if you like.


Support for RITA language

Introduces Lexer for RITA

Some times one of the builds freezes. Any ideas?

I have to guess but I believe it's a randomized test hitting a regex which causes catastrophic backtracking.

I have to guess but I believe it's a randomized test hitting a regex which causes catastrophic backtracking. Can you try to run it locally with the same random seed: --randomly-seed=2266720041 and see if you get the same hang?

Yes, thank you, can reproduce it with this seed and indeed it crashes on RitaLexer. Looking how to fix regex so it would not hang

Bump :) this one is still not merged


Spanner: generator raises StopIteration under Python 3.7 (due to PEP 479)

Running the following code (modified slightly from actual example, for clarity) under Python 3.7 results in RuntimeError('generator raised StopIteration').
from google.cloud import spanner
import traceback

spanner_client = spanner.Client()
instance = spanner_client.instance('my-test-instance')
database = instance.database('spanner')

with database.snapshot() as snapshot:
  results = snapshot.execute_sql(
      "SELECT 'Success from Spanner!' as message")
  for row in results:
    print(row)

database.close()

Here's the traceback:
RuntimeError('generator raised StopIteration')
Traceback (most recent call last):
  File "/env/lib/python3.7/site-packages/google/cloud/spanner_v1/streamed.py", line 140, in __iter__
    self._consume_next()  # raises StopIteration
  File "/env/lib/python3.7/site-packages/google/cloud/spanner_v1/streamed.py", line 114, in _consume_next
    response = six.next(self._response_iterator)
StopIteration

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "xxx", line xx, in page_index
    for row in results:
RuntimeError: generator raised StopIteration

This is the result of PEP 479, which changes the behaviour of StopIteration exceptions raised in generators: pre-3.7, these cause the generator to exit, but in 3.7 they result in a RuntimeError, so must be caught inside the generator.

@myelin Thanks for the report and for digging up the root cause (and trying it out on Python 3.7)!

@myelin , Thanks again for reporting this. The fix is in master and the next release of spanner will have this fix.


count table with geneIDs instead than EnsemblID

Hi,
Thank you for this pipeline! I use it and it run smoothly. however, the count table generated has as rows Ensembl IDs, how could I transform them in gene IDs?
Thank you!

If you mean Entrez ID, there are quite a few tools to do the conversion.
If you mean gene symbol (e.g., TP53), could you please modify the config file to change the FEATURE_ID to 'gene_name' rather than 'gene_id'. This is the least programming work but needs a re-run so takes some time.

Assume problem solved with the above solution; issue closed.


运行时报一下错

github.com/eryajf/go-ldap-admin/service/isql
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\service\isql\user_isql.go:176:18: invalid operation: funk.MinInt(roleSortList) (value of type int) is not an interface
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\service\isql\user_isql.go:197:29: invalid operation: funk.MinInt(currentRoleSorts) (value of type int) is not an interface
github.com/eryajf/go-ldap-admin/public/client/dingtalk
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:51:29: rsp.DeptDetailUsers undefined (type response.DeptDetailUserInfo has no field or method DeptDetailUsers)
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:80:12: rsp.HasMore undefined (type response.DeptDetailUserInfo has no field or method HasMore)
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:83:19: rsp.NextCursor undefined (type response.DeptDetailUserInfo has no field or method NextCursor)
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:106:25: rsp.UserIds undefined (type response.GetHrmEmployee has no field or method UserIds)
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:107:10: rsp.NextCursor undefined (type response.GetHrmEmployee has no field or method NextCursor)
C:\Program Files\AllSoft\Go\pkg\mod\github.com\eryajf\go-ldap-admin@v0.5.9\public\client\dingtalk\dingtalk.go:110:24: rsp.NextCursor undefined (type response.GetHrmEmployee has no field or method NextCursor)

您好 @13265435206👋，我已收到您的反馈，我将安排时间考虑您提交的信息并进行回复。-- 这条信息是由自动回复的机器人发出的。
Hello @13265435206. I have received your feedback, and I will arrange time to consider the information you submitted and reply. -- This message is sent by an automatic reply robot.


Register routers that don't need to be triggered by a user event

I would like the ability (or if this already exists, advice would be much appreciated) to set up routes on slapp that will allow me to pipe the result of one handler into another without having to wait for user feedback
Example use case:
module.exports = (slapp) => {
    slapp.action("some_callback_id", "some_value", firstPartOfPipeline)
        .route(secondPartOfPipeline);

    return slapp;
};

I realize that a potential workaround is to use the EventEmitter functions .on and  call .trigger in firstPartOfPipeline function and do something similar to below, but in that case anything can trigger the "test" event and it makes it difficult to track the path of the message.
For example, the second action handler could trigger "test", and you would have no way of knowing by just looking at index.js. My goal is to have a sane method of tracing messages as it flows through my app instead of having to hunt down which module calls what.
module.exports = (slapp) => {
    slapp.action("some_callback_id", "some_value", firstPartOfPipeline)
        .on("test", secondPartOfPipeline);

    slapp.action("some_other_callback_id", "some_value", firstPartOfPipeline)

    return slapp;
};

Interesting idea.  What do you think the benefit would be by having a built-in way to do this as opposed to having your handler for firstPartOfPipeline just call a function internally to trigger secondPartOfPipeline, or doing some type of pipeline management in the handler itself?  Do you think you'd be triggering secondPartOfPipeline from anywhere else too?

I'm sorry to say, but the maintainers of this project (bolt-js) no longer support the slapp library. Please let us close this issue now.


[Tensor] out-of-place to in-place call uniformly

Out-of-place operations call in-place operations with different clones and checks everywhere
Make a common abstraction to do this and use it for cleaner and readable code.
Signed-off-by: Parichay Kapoor<EMAIL_ADDRESS>

:memo: TAOS-CI Version: 1.4.20191203. Thank you for submitting PR #481. Please a submit 1commit/1PR (one commit per one PR) policy to get comments quickly from reviewers. Your PR must pass all verificiation processes of cibot before starting a review process from reviewers. If you are new member to join this project, please read manuals in documentation folder and wiki page. In order to monitor a progress status of your PR in more detail, visit http://nnsuite.mooo.com/.

:octocat: cibot: @kparichay, One of the module of prebuild group is failed. If you want to get a hint to fix this issue, please go to https://github.com/nnstreamer/nntrainer/wiki/.

:octocat: cibot: @kparichay, A builder checker could not be completed because one of the checkers is not completed. In order to find out a reason, please go to http://nnsuite.mooo.com/nntrainer/ci/repo-workers/pr-checker/481-202008261353310.12813711166382-998e5e845f2a7bb59fb0f5da6d7482d57fcd463a/.


Problem with PKCE and generateLink()

Version
@nuxtjs/supabase: v1.1.2
nuxt: v.3.6.5
Problem description
Hi, I attempted to update my authentication flow to include PKCE, but I've encountered an issue during the registration and email confirmation process.
Some details about my implementation:

I disabled the redirect option, because I had implemented my own middleware to manage the necessary redirects.
For user registration, I utilize a local API endpoint to generate a link and send a confirmation email via Postmark, as demonstrated in the code snippet below:

await client.auth.admin.generateLink({ type: 'signup', email, password, redirect_to })

Here's the problem: When I click the confirmation link with PKCE enabled, the user is redirected to my verification page, but they are not automatically logged in. I can see all the tokens and parameters in the URL, but the user session is not established. I also attempted to redirect the user to the callback page, but the result remains the same.
Is there something I might be overlooking or is there a configuration issue causing this behavior?

I'm facing the same issue.

Unfortunately this is a known issue discussed in https://github.com/supabase/auth-helpers/issues/610

You can also check this solution. It's related: https://github.com/nuxt-modules/supabase/issues/397#issuecomment-2306476428


AccessTokenLifetime Policy doesn’t work

I want to shorten access token lifetime to 30 min but AccessTokenLifetime policy but didn’t work and still expire around 75 min

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

ID: 02ff3d62-dc0e-ad0c-f5ae-418337cf31e4
Version Independent ID: d50952b5-6b98-c40d-d3a3-f9cbec58dd28
Content: Configurable token lifetimes - Microsoft Entra
Content Source: articles/active-directory/develop/active-directory-configurable-token-lifetimes.md
Service: active-directory
Sub-service: develop
GitHub Login: @rwike77
Microsoft Alias: ryanwi

@hoikin
Thanks for your feedback! We will investigate and update as appropriate.

@hoikin
Thank you for your feedback!
Since this issue isn't directly related to improving our docs, and to gain a better understanding of your issue, I'd recommend working closer with our support team via an Azure support request. Or you can leverage our Q&A forum by posting your issue there so our community, and MVPs can further assist you in troubleshooting this issue or finding potential workarounds.
Teams Q&A forum for technical questions about the configuration and administration of Microsoft Teams on Windows.
Microsoft Teams Community forum
Thank you for your time and patience throughout this issue.


Styling a component

I'm trying to style the vue slide up down component  and am having issues doing so. My code is as follows.
const VueSlideUpDown = Vue.component('slide-up-down');
export const StyledSlideUpDown = styled(VueSlideUpDown)`
  ....
`;

I'm getting this error when trying to do so.
      this._init(options);
    } is not allowed for styled tag type.
    at styled (vue-styled-components.es.js?9c56:3070)
    at eval (styled.js?b5e2:32)
    at Module../src/components/SlideUpOverlay/styled.js (app.js:7430)
    at __webpack_require__ (app.js:724)
    at fn (app.js:101)
    at eval (cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SlideUpOverlay/SlideUpOverlay.vue?vue&type=script&lang=js&:2)
    at Module../node_modules/cache-loader/dist/cjs.js?!./node_modules/babel-loader/lib/index.js!./node_modules/cache-loader/dist/cjs.js?!./node_modules/vue-loader/lib/index.js?!./src/components/SlideUpOverlay/SlideUpOverlay.vue?vue&type=script&lang=js& (app.js:1489)
    at __webpack_require__ (app.js:724)
    at fn (app.js:101)
    at eval (SlideUpOverlay.vue?c6f3:1)```

Any help would be greatly appreciated.

Please provide a sandbox with your example :)

https://codesandbox.io/s/vue-template-99gbj
Let me know if there's anything else you need.

I am having a similar issue when trying to style router-link component:
`import styled from 'vue-styled-components';
// unfortunately you can't import directly router-link, you have to retrieve contstructor
const RouterLink = Vue.component('router-link')
const StyledLink = styled(RouterLink)  color: palevioletred;   font-size: 1em;   text-decoration: none;;
export default StyledLink;
Custom Router Link`

Uncaught Error: undefined is not allowed for styled tag type.

Any help would be appreciated. OP have you got anywhere with this?

All I am doing is this .....
import Vue from "vue"; const RouterLink = Vue.component('router-link');

I haven't. I really wish I had the time to figure this out.

I am having a similar issue when trying to style router-link component:
`import styled from 'vue-styled-components';
// unfortunately you can't import directly router-link, you have to retrieve contstructor
const RouterLink = Vue.component('router-link')
const StyledLink = styled(RouterLink)color: palevioletred; font-size: 1em; text-decoration: none;;
export default StyledLink;
Custom Router Link`

Uncaught Error: undefined is not allowed for styled tag type.

Any help would be appreciated. OP have you got anywhere with this?

@joeharrison-code if you import
import SlideUpDown from "vue-slide-up-down";

and instead of registering globally you just
styled(SlideUpDown)

Works for me.

Sorry, but that is Stephen-Tsen issue.
My issue is that styling router-link from documentation is not working.
Am I best to post this as a new issue?
Thanks for this beautiful library :)

I wasn't able to style router-link as well.

I wasn't able to style router-link as well.


Switch to parser-inserted scripts, fix script preloading for legacy bundles

Summary

Fixes script preloading in legacy browsers

Replaces dynamic script loading with scripts in markup to ensure the scripts are marked as parser-inserted. Not all browsers respect defer attributes for scripts that are not marked as parser-inserted. This caused problems in FF/Edge. https://html.spec.whatwg.org/multipage/scripting.html

Replace runtime Edge UA check with server-side UA check (to avoid bugs with native classes)
Replace runtime nomodule support check with server-side UA check for Safari 10.1 (to prevent double script download/execution)

!merge


📚 DOCS: Updating logos

Updates the logos for our newly-designed style.

LGTM, but the branch seems to be outdated?

updated the branch - there was one CI job failing but it was just because codecov wasn't responding properly, so I think it's OK


feature/docker image improvement

RELENG-6306 misconfiguration webhook
Reduce the size of the docker image build context
Specify tag in image build

Hello tcarmet,
My role is to assist you with the merge of this
pull request. Please type @bert-e help to get information
on this process, or consult the user documentation.
Status report is not available.

Missing Jira issue
It is mandatory to specify a Jira issue in the source branch name
in order to merge into development/3.6. The issue key must follow
the prefix of the branch.
I could not find such an issue in feature/docker-image-improvement.


Adopt Enhanced Resource Customizations

Is your feature request related to a problem? Please describe.
https://blog.argoproj.io/argo-cd-v2-1-first-release-candidate-is-ready-c1aab7795638

Argo CD allows customizing resources health checks and configuring custom actions using resource.customizations key in the argocd-cm ConfigMap. In the upcoming release, the resource.customizations key has been deprecated in favor of a separate ConfigMap key per resource. This allows to decompose the Argo CD configuration and makes it more convenient to use with config management tools such as Kustomize.

Although this feature is already available in Argo CD, it needs to be ported into the configuration model for the OpenShift GitOps operator, where the configuration is moved from a ConfigMap to the ArgoCD resource itself: This PR did not work with OpenShift GitOps and it looks like it is blocked by this Argo CD issue:
https://github.com/redhat-developer/gitops-operator/issues/248
Describe the solution you'd like
Match the new specification for custom resource health.
Describe alternatives you've considered
None. The requirement is pretty narrow.
Additional context
Add any other context or screenshots about the feature request here.

I just checked again and this feature is still not enabled in the OpenShift GitOps operator. Since it has been nearly 18 months and the corresponding PR in the GitOps operator has not been accepted (or acknowledged for that matter,) I am closing this issue for now.


High availability using two broker

Describe your question
Hi,
I need create a high availability MQTT system. The aim is that if one MQTT broker is down (for example the server is broken), the other MQTT continue running and the full sistem can be working.
My question is if MQTT.net allow this configuration between brokers, to allow the broker synchronization and the client integration with the multiple brokers, because no view this functionality in the documentation either opened issues.
Thanks
Mario Rivas
Which project is your question related to?

Client
Server

I have created a project that uses Microsoft Orleans to achieve clustering. It's not perfect (And not really well maintained as I didn't have the time to work on it again). Maybe you want to check it out: https://github.com/SeppPenner/NetCoreMQTTExampleCluster


remoteData and RemoteData do net work directly in template-only components

example:
  {{#let (RemoteData (concat "https://swapi.dev/api/people/" @id)) as |person|}}
    {{#if person.isLoading}}
      ... loading ...
    {{else if person.isError}}
      {{person.error}}
    {{else if person.isResolved}}
      {{person.value.name}}
    {{/if}}
  {{/let}}

the problem

RemoteData returns a function (which is the function registered with the appropriate helper manager
((RemoteData "url")) breaks ember
(()) (double paren) needed to "invoke the function returned by RemoteData"


Chore: upgrade dependencies and supported versions

Coverage remained the same at 100.0% when pulling 72e26c3979b051e0df006d4150a1bc24ab6c2649 on chore/upgrade-dependencies into 1336df40eb1e21482858cc3bdbbebecd8205326d on v2.


Implement tests for API

Create tests for the API using an in memory database as storage.
A few test cases that should be present:

Given product does not exist, create new raster product. Validate new product exists
Given product exists, lookup raster product. Validate product returned
Given product exists, lookup status of raster product. Validate correct status returned
Given product does not exist, lookup raster product. Validate error returned indicating product not found

Closed with PR merge of #8


Add a configuration file with application settings

Add a configuration file in the root of the project tree with application settings (website URL, google analytics ID, deployment URL etc.)
config.js

..or, maybe it must be in docs instead?

Looks like this has been implemented.  config.js in the root of the project contains:
/**
 * React App SDK (https://github.com/kriasoft/react-app)
 *
 * Copyright © 2015-present Kriasoft, LLC. All rights reserved.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE.txt file in the root directory of this source tree.
 */

const config = {

  homepage: 'htts://www.kriasoft.com/web-app/',

  // Web analytics settings
  analytics: {
    google: { trackingID: 'UA-XXXXX-Y' },
  },

  // Deployment settings
  deployment: {
    repository: 'https://github.com/kriasoft/react-app.git',
    branch: 'gh-pages',
  },

};

module.exports = config;


Updated istanbul to version 0.3.21

:rocket:
One of your dependencies has just updated, so this PR bumps the corresponding version number in your package.json.
You can now check that the dependency update doesn't break your code, and then release the new version of your software safe in the knowledge that it will stay in this working state, regardless of when your users do $ npm install.
Have a good day!

This pull request was created by greenkeeper.io.
It keeps your software, up to date, all the time.

Tired of seeing this sponsor message? Upgrade to the supporter plan!
You'll also get your pull requests faster :zap:

Current coverage is 92.80%

Merging #496 into master will not affect coverage as of cebd12d

@@            master   #496   diff @@
=====================================
  Files           16     16
  Stmts         1057   1057
  Branches         0      0
  Methods          0      0
=====================================
  Hit            981    981
  Partial          0      0
  Missed          76     76

Review entire Coverage Diff as of cebd12d

Uncovered Suggestions

+0.67% via ...tives/formly-form.js#288...294
+0.57% via .../formlyCustomTags.js#9...14
+0.57% via ...tives/formly-form.js#307...312
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Simplify transfer learning by modifying get_model()

🚀 The feature
Currently torchvision.models.get_model() doesn't allow you to build a model architecture with a different number of classes and keep existing pre-trained weights backbone for certain types (namely Image Classification models like EfficientNet).
Could something like this be incorporated into the get_model() method, or could another method be created to accommodate?

model = torchvision.models.get_model(self.model_type, weights=self.weights_backbone)

# fix the in/out features of the final layer of the classifier to match num_classes.
# We have to do this after get_model() so we can retain the pre-trained weights, but
# modify the model architecture for our use case.

classifier_layer = model.classifier
last_layer_index = len(classifier_layer) - 1

original_linear_layer = classifier_layer[last_layer_index]

new_linear_layer = torch.nn.Linear(in_features=original_linear_layer.in_features, out_features=self.num_classes)
classifier_layer[last_layer_index] = new_linear_layer

Motivation, pitch
Raising an error about the backbone weights having a mismatch guides users in a direction that isn't helpful.
Alternatives
No response
Additional context
No response

Hi @david-csnmedia ,
that kind of model surgery is probably too specific to each model for it to be reliably implemented within get_model().
Note that some model builders allow num_classes to be passed.


refactor(Params): Simplify params services by removing select method

Removes the select method from RouteParams and QueryParams. Simplifies both services by giving them an abstract class to use as a DI token provided with factories that project params from route set.
Also removed the replace method from QueryParams, instead moving this to the Location service with a new search method.
cc @robwormald

Is it too early to add breaking changes to commit messages?

I don't think so, but also doesn't seem helpful without the change log generation.
Should probably get that put into the build step first. Did you want to take care of that? I'll fix the commit message.

Yea, I can work on that.

Will you rebase?

Done

Should be BREAKING CHANGE:

Fixed


Regenerated the docs for environments_proxy_configuration and other c…

…hanges
I also updated the release instructions.

@gregito can you please merge this PR and release this as v0.4.1?


Python 3.11?

Python 3.7 reached end-of-life on June 27th, 2023 and is quite obsolete. It makes sense to upgrade to e.g. 3.11 for new features and better support.

Dear yfiua,
Thank you for reaching out and for your suggestion regarding the Python version upgrade.
We appreciate your attention to the end-of-life status of Python 3.7. As you rightly pointed out, upgrading to a newer version of Python is essential for accessing new features and ensuring better support.
In line with your suggestion, we have already upgraded our system to Python 3.10. This version provides a balance between newer features and stable performance, ensuring compatibility with our existing codebase and dependencies.
To install the necessary libraries with this updated Python version, you can refer to our README file or visit the documentation section at Quantiacs Python Library Documentation. These resources provide detailed instructions and guidance for a smooth installation process.
We are committed to continuously improving our platform and are grateful for your input. If you have any further questions or face any issues during the installation process, please do not hesitate to reach out.
Best regards


Error while building the project

ld: /Users/user_name/Library/Developer/Xcode/DerivedData/Project_Name-gblnftdcyqwoicfexphoypuxrrfl/Build/Products/Debug-iphonesimulator/ResponseDetective/ResponseDetective.framework/ResponseDetective compiled with older version of Swift language (2.0) than previous files (3.0) for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
XCode 8 Beta 3
I've enabled the "Use Legacy Swift Version" to 'yes' but still getting this error.

Hi! Swift 3 migration is tracked by #13, and a pull request #18 is already in progress. Will keep you updated!

@akashivskyy if it supports Swift 2.3 then it should work with "Use Legacy Swift Version" set to 'yes'

It is set to YES in ResponseDetective-Common.xcconfig. 😉
It looks like you're trying to import a pre-built Swift 2.3 version in Swift 3. If you're using Carthage, please use --no-use-binaries flag.

@khurramengr: Just FYI, ResponseDetective 1.0 has been released. 😉


azcopy does not process embedded whitespace correctly

Which version of the AzCopy was used?
10.19.0
Which platform are you using? (ex: Windows, Mac, Linux)
Linux
What command did you run?
Note: Please remove the SAS to avoid exposing your credentials. If you cannot remember the exact command, please retrieve it from the beginning of the log file.
azcopy cp "tmp\ dir/hello.txt" "some_azure_fs"
What problem was encountered?
failed to perform copy command due to error: cannot start job due to error: failed to scan path tmp\ dir/hello.txt due to stat tmp\ dir/hello.txt: Invalid argument
How can we reproduce the problem in the simplest way?
Create a local directory with an embedded space.  Attempt to do an azcopy cp from local to Azure FS.
Have you found a mitigation/solution?
Tried various solutions to escape the whitespace (including those found in #1040).  Removing the whitespace resolves the issue.

Disregard...azcopy does process the whitespace correctly, but the shell tries to escape the whitespace.  If the whitespace is escaped, azcopy doesn't recognize it as whitespace.  So the solution here is to not escape whitespace!


unknown errors on build 2310 - 2018.3.8

hello,
i got these errors on latest Mirror [2310] on 2018.3.8:

but everything is working good !??
what is these errors??

@rodolphito

I cannot reproduce this with the latest Mirror. Could you provide a repro project, or give more information about your setup? Also, please test #586 to see if it fixes it.

@rodolphito
so, what are these??

my manager:

Could you test https://github.com/rodolphito/Mirror/archive/animator-fix-2.zip to see if it fixes your issue?

ok ... fixed :]

What do you mean the animator on zombies does not work? Does it give errors, does it fail to synchronize?

yup ... sync fail ...

@rodolphito
ok ... fixed :]
but animator on zombies does not working!!
never mind!! be better to using latest Mirror ... at least everything are working!

sounds like it's working for you in latest mirror version. closing this now.

@vis2k
yes ... its working on latest ...
but got errors messages ...
nevermind ;]


Change scroll sensitivity using neko api.

Is there a way to change scroll sensitivity using neko open api, now we can change scroll sensitivity from neko settings manually but I need to do it from api.
Because scroll is very fast by default.
Thanks for advance!

Hello, that is currently not possible because that information is never stored on backend. It is only available in client therefore it is not configurable from API.

May be it is possible to set some default sensitivity for all rooms? For example when n.eko is building or do it in some other way.
Default scroll is too fast now and it is not comfortable to use.

You could change it in client store here and build custom image that can be used in new value.
But I agree with you that the default sensitivity is not optimal (and as well dependent on OS and browser) and could be reconsidered.

Thanks but I am using n.eko rooms, how can I do it with neko rooms, as I know each room is a new docker container bulit by n.eko,  what I need to change in n.eko rooms?

Sorry for so many questions. But where I need to clone neko and build that neko-rooms starts using my local neko?

Anywhere on your system, e.g. your $HOME directory /home/user or /opt or /tmp.
git clone https://github.com/m1k1o/neko
cd neko
# ... do your changes
cd .docker
./build base
./build chromium

Now you have successfully build your custom m1k1o/neko:chromium image. Everytime there is update just do git pull origin master and rebuild again.
Don't worry that it is named the same as the official image but it contains your changes. Of course, only on that server where you built that.

Thanks a lot.


Add Sentry for frontend error tracking

Supports React Native: https://sentry.io/for/react-native/
Has a free tier for nonprofits: https://sentry.io/for/good/

Love the idea, +1 from me


Allow callers too specify the script ticket

Background
For resilience we need to be able to specify the ScriptTicket so as to prevent scripts from re-running.
How to review this PR

Quality :heavy_check_mark:

Pre-requisites

[ ] I have read How we use GitHub Issues for help deciding when and where it's appropriate to make an issue.
[ ] I have considered informing or consulting the right people, according to the ownership map.
[ ] I have considered appropriate testing for my change.

https://app.shortcut.com/octopusdeploy/story/83058/update-the-resilient-pipeline-to-use-scriptservicev2-if-go-cli-does-not-use-ssv1


[bug]: Very slow with IPadapter (SDXL)

Is there an existing issue for this problem?

[X] I have searched the existing issues

Operating system
Windows
GPU vendor
Nvidia (CUDA)
GPU model
RTX3050
GPU VRAM
6GB
Version number
4.2.7post1
Browser
Chrome 127.0.6533.89
Python dependencies
No response
What happened
I have an RTX 3050 and the normal generation is very fast, but the moment I add a global IP adapter, 1 generation takes about 15 minutes. Am I doing something wrong? Or is this normal?
What you expected to happen
that the generation would be fast.
How to reproduce the problem
No response
Additional context
No response
Discord username
No response

It's normal, your GPU doesn't have enough VRAM to hold the both main and IP Adapter models at once.
It's triggering a Windows feature called shared GPU memory, which lets your GPU use some of the system RAM as VRAM. This lets you use bigger models than you'd otherwise be able to use, but is very slow.
You could disable the feature as described in the link, but you'd get an error when attempting to add IP Adapter to SDXL. Unfortunately those are you options with 6GB of VRAM.

Are there any parameters like med-vram that can be used?

No - we suggest 8GB VRAM minimum for SDXL.


Forward and set environment variable

It would be nice to have the possibility to enrich the environment with information like Remote IP / Headers / Port / URI args ...
One way could be with variable environments with the spawned process.

I am very interested in this feature, too.