RFC: Plugin architecture

There are lots of tools that can be added to the prompt, they are useful for some but not generally useful for everyone, naturally. This causes the code to grow large and maintenance becomes a problem. This will become an issue as more prompts are added.
To be able to manage this issue I propose to turn most informative prompts (git, virtualenv, python, etc) into a separate file that can be loaded at runtime. This will keep separate the base prompt from the informative prompts, making maintenance a bit easier. Also performance-wise seems reasonable to keep unloaded unused prompts.
This structure will also provide the ability to create custom -user made- prompts, outside the geometry code base.
Implementation will require to establish a common interface for the prompts (function and variable names) as well as a globally available array to register a given plugins/prompt. Similar to https://github.com/zsh-users/zsh-syntax-highlighting/blob/master/docs/highlighters.md
Thoughts?

I like this idea. It's starting to become difficult to maintain and the original idea behind geometry was trying to keep it minimal. I'd rather have a clean option with sane, minimal defaults and try to remove the unused code overhead.
What's your take on option flags? For example the git conflict count. Would it still be set by an environment variable?

Yeah, I think so. All plugin-related environment variables will be defined -set up, defaults etc- in the plugin code, thus will be, sort of, invisible to geometry.

I'm definitely up for this. There are a few things we would need to decide though:

[] define minimal features
[] define plugin function API
[] define naming guidelines (function, variables and option flags)

As Minimal features:

Ability to load informative prompts at run time (git, virtualenv, docker)
Ability to load custom prompts

Plugin interface:
# One-time only function to setup plugin configuration variables
# and register with geometry as a plugin
geometry_prompt_<plugin_name>_setup

# Prompt rendering function
geometry_prompt_<plugin_name>_render

# These probably belong to the plugin itself rather than geometry
GEOMETRY_PROMPT_<plugin_name>_ENABLED (?)
GEOMETRY_PROMPT_<plugin_name>_COLOR (?)

On the geometry_prompt_<plugin_name>_setup function the plugin will register itself with geometry as a plugin as follows:
geometry_prompt_<plugin_name>_setup () {
    geometry_plugin_register <plugin_name>
}

On geometry_prompt_<plugin_name>_render it will render itself, probably already colorized. Returning the final result.
Naming guidelines could be as simple as:
`geometry_prompt_<plugin_name>_*` for functions, and `-geometry_prompt_<plugin_name>_*` for "private" functions.

`GEOMETRY_PROMPT_<plugin_name>_*` for configuration variables/flags.

Prompt rendering order will depend on the registration/loading order, so it'll be fully manipulable by the user.
I'm probably missing something out, but that's an initial attempt.

I'm fine with the setup/render approach. The function and variable naming goes with what we already have set up. I'm finishing a README draft that can include those recommendations for contibuting.
A couple more topics:
How would you implement the plugin file sourcing by geometry?
What would the register function do, internally?
What would be the core of geometry? I'm inclined to just use the theme with async properties.
I also think we should have a plugins/ directory, containing a directory per plugin with <plugin>.zsh and a README.md

How would you implement the plugin file sourcing by geometry?

In geometry's own setup function it'll iterate over the registered plugins and try to load the plugin by naming convention from geometry's own plugins: $GEOMETRY_ROOT/plugins/geometry_prompt_<plugin_name>.zsh
Custom plugins will be sourced by the user after geometry:
source geometry.zsh # Will load default plugins: git, virtualenv etc
source custom_geometry_prompt.zsh # will register itself with geometry

To enable/disable default prompts:
GEOMETRY_PROMPT_DEFAULT_PROMPTS=(git virtualenv etc)

Before sourcing geometry.

What would the register function do, internally?

It will add the plugin name to the registered plugins' array. Probably pre-formatting the prompt to keep performance reasonable.

What would be the core of geometry? I'm inclined to just use the theme with async properties.

Agreed. Most rprompt functions should be default plugins with git enabled by default.

I also think we should have a plugins/ directory, containing a directory per plugin with .zsh and a README.md

Agreed.

I like that the plugins get a setup function but if geometry will be iterating over the global array and the plugins will always be in the default directory, do they still need to register with geometry? The way I see that would be if it was a custom plugin that isn't bundled with geometry.

Can you elaborate on the shutdown function?

Geometry itself will register the default plugins from GEOMETRY_PROMPT_DEFAULT_PROMPTS array in the setup function. Instead of registering they could be sourced, but I'd prefer to use the plugin interface.
The shutdown function will be defined, if needed, by plugins in order to call unfunction, remove variables, hooks etc. Probably called on the unregister function, used to remove informative prompts at run time.

I'm fine with using the interface.
However, I think this work should start in a separate branch and break backwards compatibility. Most of the current option flags should be set aside to an external plugin and leave only some defaults like git and async, as well as the prompt symbol/colors customization. I really like the idea of stripping down the prompt in order to get it minimal and have it grow according to the needs of each developer, not having a lot of defaults. We can bundle a bunch of plugins with the prompt to be set if the user wants to.

Fine. I'll create a feature branch today and sketch the minimal working version, we'll move from there.

Cool. We can leave this issue open for future reference and for anyone to jump in and give their opinion, but we should probably keep PRs open to accompany progress and make decisions as they come up.

I'll leave this issue open for general discussion and feedback while keeping most technical details/implementation discussion on a PR.

Once #45 gets merged, the new plugin architecture will be implemented. However, as you mentioned, there are still a couple of things remaining. Off the top of my head:

[ ] README (on it)
[ ] Compile step of default plugins into geometry (not necessary for 2.0, just a nice to-have)
[ ] Complete config for custom separator (some plugins still use default :: as far as I could tell)
[ ] Enforce naming conventions
[ ] Left prompt customization

Alright. I'll be creating github issues for the point listed above. We can move from there.

I'm closing this up as plugin structure is already set up and deployed. Missing/pending points have their own issues to keep track of them.


Docs should only update on a versioned release

Currently the documentation deploys from main. This docs should only be deployed via version tags to make sure they stay in line with the current release version.
Deploying from main is fine for now, but once the overall documentation structure is in place, it should be changed.

This is implemented on tagged releases, but for the time being main will still force a release until the docs are in good shape.


Consider organizing background tasks as plugins

What type of enhancement is this?
Refactor
What does the enhancement do?
The current codebase has a TelemetryTask, and https://github.com/GreptimeTeam/greptimedb/pull/2928 introduces another background task SystemMetric. As mentioned by @shuiyisong and @killme2008, we could consider a way to organize and manage them in the flavor of plugins.
Implementation challenges
No response

Take frontend as a example. How about place init of SystemMetric or now call ExportMetric to function setup_frontend_plugins, and start it in function start_frontend_plugins
Other component do the same. It's more neat.


Issues with vertical text - how to move text to new line?

I've figured out how to force text to display horizontally instead of vertically, but all the lines are in the same row. I've tried adding a "\n" at the end of each line in _AutoGeneratedTranslations, but that did nothing.
Is there a way to force the output to move each line vertically so they don't overlap.
Thank you in advance for your help.

Try use

Tried it, no cigar. The game doesn't recognize it as a rich text tag, but merely as text.
Is there a list of rich text tags that AutoTranslator supports natively?

Tried it, no cigar. The game doesn't recognize it as a rich text tag, but merely as text.
Is there a list of rich text tags that AutoTranslator supports natively?

Hey sorry for necroing but can you share gow to make vertical text horizontal?


Include "Pumped Hydro" in Storage

A discussion started, because @robertpietzcker shifted "Pumped Hydro" from tag_electricity_input_types.yaml (and thereby from the "Secondary Energy|Electricity" and "Capacity|Electricity" variables) to the tag_storage_types.yaml storage subtypes (and thus "Secondary Energy|Electricity|Storage" and "Capacity|Electricity|Storage|XXX") in this PR:
https://github.com/openENTRANCE/openentrance/pull/352
The reason why this shift was proposed is twofold:

most databases seem to follow the convention that both capacity and output from pumped hydro storage is NOT counted under hydro, but separately (or not at all), thus comparisons to real-world data are much easier if the same convention is used in model reporting
More consistent grouping: pumped hydro storage with no external inflow is a pure storage technology, and thus should be treated as such. It cannot generate electricity by itself, it fundamentally requires electricity to pump water to the higher basin, and one cannot do anything with this water other than reconverting it into electricity. Having it included with the other storages will make the summations and analysis clearer.

on 1: some examples:
AGEB, the German energy statistics work group, reports for 2020 18.7 TWh electricity generation from hydro, explicitly stating "without pure pumped hydro storage", and output from pumped hydro storage at 6.6 TWh.
From this it can be deduced that IRENA hydro numbers also do not included pumped hydro storage, as they state 18.7 TWh from hydro for Germany in 2020 (https://public.tableau.com/views/IRENARETimeSeries/Charts?:embed=y&:showVizHome=no&publish=yes&:toolbar=no)
IEA energy balances also only report generation excluding pumped hydro, as they similarly report 18.3 TWh for Germany in 2020.
The EMBER database also reports only generation excluding pumped hydro, as they also report 18.7 TWh (https://ember-climate.org/data/)
The same is true for capacity, where both IRENA and EMBER reports 5.4 GW hydro power capacity in Germany, which is without pumped hydro storage, as pumped hydro storage capacity ALONE is around 6-7GW (eg https://en.wikipedia.org/wiki/Pumped-storage_hydroelectricity#Worldwide_use )
That being said, I am fully aware that reporting conventions are never perfect, and always open to debate :-)
So I am interested in arguments in favor of having "pumped hydro" within "hydro"

@sandrinecharousset @erikfilias @danielhuppmann

Many thanks @robertpietzcker for this very detailed post.
I just add a few more information:

We are having this discussion because we need to take a decision about where to include Pumped Storage, as it has in the past been included in the tag electricity, then kicked out and put in the tag storage, then kicked out again and put back to the tag electricity..... and it seemed to me we would like to avoid another round of this :-)

My requests are:

Avoid to have 2 different variables for the same data (eg Hydro|Pumped Storage and Pumped Hydro).
Minimise the changes as this means that former datasets / linkage scripts may not work anymore
Ensure that all the variables that are currently generated with Hydro|Pumped Storage in electricity are still generated if we move Hydro|Pumped Storage to storage (this can be done by adding variables such as Maximum Power|Electricity|Hydro|Pumped Storage to power-plant.yml for instance

For the rest I agree with how @robertpietzcker defined the different sectors of hydropower and I also agree that it makes sense to move it to storage.

I include other persons who might be interested in this discussion @arght @loeffko @IngeborgGraabak @phackstock @dc-almeida

same data (eg Hydro|Pumped Storage and Pumped Hydro).
Minimise the changes as this means that former datasets / linkage scr

Thank you, @robertpietzcker, for the discussion. In Spain, we have both pure and mixed pumped hydro systems. I agree that pure pumped hydro, which only acts as a storage system, should be categorised as storage. However, mixed systems, which also generate electricity from natural inflows, behave more like traditional hydro.
To reflect this, I propose to split pumped hydro into

Pure pumped hydro (under storage).
Mixed pumped hydro (under hydro).

@erikfilias I fully agree with you, it is the same in France. But I think the difficulty we have here is that we both want to categorize hydro when aggregated and hydro when disaggregated. The typical definition of Pumped Storage as detailed by Robert refers to the aggregated capacity at regional (or country) level. In this case, usually the mixed pumped hydro capacity is not detailed as it is, but in the end the pumping goes to pumped storage and the turbining goes to either reservoir (when there is an aggregated modelling of a valley and this turbining capacity is directly linked to the global flow in the valley) or to 'run of river ' (in french 'fil de l'eau et éclusées' , don't know how to translate 'éclusées', but it is related to the turbining capacity of short term storage reservoirs, usually downstream of a valley)
We could define Pure Pumped Storage (or closed loop pumped storage) and mixed pumped storage (I would suggest Hydro|Pumped storage|Closed loop), but this will only be used for disaggregated modelling (as you do in openTEPES), but I fear it wouldn't solve our issue......

@sandrinecharousset could you explain once more /rephrase the use case/challenge you see with either using "reservoir" for all pumped hydro with relevant natural inflow, or adding this "mixed pumped hydro" category under hydro? I have to admit I didn't fully get the problem above.
Is it that some statistics that you want to compare to use different aggregations? if yes it would be helpful to know which ones these are.
Or is it that in your model you have a technology where you have one turbine that generates electricity, but the total output is the sum of the natural inflow and pumping? but then it would be easy to split the energy amounts in the reporting, I think.

Thank you, @sandrinecharousset, for your detailed input. I agree that the classification of mixed pumped hydro is more complex, especially given how hydro valleys are modelled at different levels of granularity. As you mentioned, these systems can sometimes be classified as reservoir or run-of-river, while their pumping capacity is often classified as pumped storage. This variability adds to the challenge of creating a nomenclature that works for both aggregated and disaggregated models.
To meet the needs you have outlined:

We need to cover all variables used by different models and ensure compatibility across teams and use cases.
Clarity is key - each variable name and definition must avoid misunderstandings, especially when data is shared between models.
We need to avoid duplicate variables with different names representing the same thing.
Consistency is key - summaries such as Capacity|Electricity|Hydro must be consistent across all sub-levels.

With these points in mind, I suggest the following approach:

For tag_electricity_input_types.yaml:

Hydro|Pumped Storage: Keep this for systems with short-term storage, including pumped storage, in line with ENTSO-E. This allows it to be used for both aggregated (where pumping capacity is included in pumped storage) and disaggregated models.
Hydro|Reservoir: For systems with seasonal storage capacity, possibly including some pumping capacity.
Hydro|Run of river: For schemes without storage capacity, based purely on natural flows.
If necessary, for more detailed models, we can introduce a subcategory such as Hydro|Pumped Storage|Mixed to capture the hybrid nature of these systems, where they generate electricity from both inflows and pumping.

For tag_storage_types.yaml, pure pumped storage would still be categorised as storage, separate from electricity generation.

I think it can provide flexibility for both aggregated and disaggregated modelling, avoids duplicate variables and maintains consistency across the classification hierarchy.
One additional thing is about using the complete term Hydropower as I mentioned in #352.

@sandrinecharousset could you explain once more /rephrase the use case/challenge you see with either using "reservoir" for all pumped hydro with relevant natural inflow, or adding this "mixed pumped hydro" category under hydro? I have to admit I didn't fully get the problem above.
Is it that some statistics that you want to compare to use different aggregations? if yes it would be helpful to know which ones these are. Or is it that in your model you have a technology where you have one turbine that generates electricity, but the total output is the sum of the natural inflow and pumping? but then it would be easy to split the energy amounts in the reporting, I think.

@robertpietzcker , the typical use case that I am familiar with, and have implemented in openENTRANCE and is implementing in other projects now is that we are using the results of energy system models (typically GENeSYS-MOD) as inputs to a power system model, with an aggregated representation of hydropower (with the typical categories Reservoir=no pumping, seasonal management, pumped storage,= dayly/weekly storages, run of river= evrything else, including not only pure run of river but also a part of the downstream capacities of some hydro valleys). For feeding my model correctly I need to exactly know what each of the variables really is. Pumping, even when directly connected to a big lake, is not managed as 'seasonal storage' so it is usually accounted for in Pumped storage and this is how we have interpreted the data we have been using.
But the same model that I am using (plan4res) could be used with a disaggregated representation of hydro (cascading valleys). In that case I would use different data, and the mixed pumped storage would be represented in details.
Anyway, the thing is that what we want is to know exactly what each variable means..... and we need to have variables to host the data that do exist (eg the IEA data, the GENeSYS-MOD results.......).

Just a minor question. The names of the mixed pumped storage hydro I recommend to be open-loop, while the name of the pure should be closed-loop

another short question, @erikfilias, on "Keep this for systems with short-term storage, including pumped storage, in line with ENTSO-E" - could you point me to the place in the ENTSO-E documentation where this split is described, so I can understand how they are doing the split?

on the renaming to "Hydropower" I am skeptical - I think this is a change (with all its complications) with limited benefit. Theoretically, it could be confused with hydrogen, but most other sources I know of also use "hydro" when reporting hydropower.
Also, I have always seen "hydrogen" either spelled out as "hydrogen" or put as "H2", so I don't think this can be confused for hydro.

on the renaming to "Hydropower" I am skeptical - I think this is a change (with all its complications) with limited benefit. Theoretically, it could be confused with hydrogen, but most other sources I know of also use "hydro" when reporting hydropower. Also, I have always seen "hydrogen" either spelled out as "hydrogen" or put as "H2", so I don't think this can be confused for hydro.

I also would keep Hydro, also for the reason that Hydro can be seen as a fuel (as Gas) for producing electric ity and the variables with Hydro always have Electricity before, Electricity|Hydropower is redundant for me.

With these points in mind, I suggest the following approach:

if I understand your proposal correctly, I would then simply add "Closed-loop Pumped Hydro" in the "Storage" tags, but keep the three subcategories of "Hydro" in the electricity-input tags, correct?

Wouldn't it be Hydro|Pumped storage|Closed-loop ?

@robertpietzcker see https://eepublicdownloads.entsoe.eu/clean-documents/sdc-documents/MAF/2020/Hydropower_Modelling_New_database_and_methodology_V1_0.pdf#:~:text=In previous market modelling studies performed at ENTSO-E (e.g.%20Ten  page 6  (this is from 2019, probably there is a new version attached to the TYNPD 2024?)

@robertpietzcker see https://eepublicdownloads.entsoe.eu/clean-documents/sdc-documents/MAF/2020/Hydropower_Modelling_New_database_and_methodology_V1_0.pdf#:~:text=In previous market modelling studies performed at ENTSO-E (e.g.%20Ten page 6 (this is from 2019, probably there is a new version attached to the TYNPD 2024?)

awesome, thanks!
very interesting to see the detailed split for the different countries!


Implement shift collisions

Only needs one simple change. Instead of flipping horizontal and vertical, you should instead just multiply each by -1 to have it be the opposite direction.
Also, just realized we will need to add more to the communication protocol to be able to do this ;-;

Only needs one simple change. Instead of flipping horizontal and vertical, you should instead just multiply each by -1 to have it be the opposite direction.
Also, just realized we will need to add more to the communication protocol to be able to do this ;-;

Does this mean we are going to have to include a move vertical then horizontal function? if so, I can optimize "calcCollisions"


New version: Freeplane.Freeplane version 1.12.4u1

Pull request has been created with komac v2.5.0 :rocket:
Microsoft Reviewers: Open in CodeFlow

Hi @ItachiSan,
This manifest adds a DisplayVersion to the AppsAndFeaturesEntries that isn't present in previous manifest versions. These entries should be added to the previous versions, or removed from this version.
(Automated response - build 891.)

Close with reason: Replaced by PR 171163;


[node]: text align

[x] toolbar
[x] keyboard
[ ]  markdown support
[x] compat editor test


playground embed code and sample app flusk code are different.

I can't copy/paste playground code (see screenshot) to sample flusk/python index.js project file because it wont work for some reasons. I tried to modify sample app code to my needs, I am trying to make some design/theme changes to the dashboard, got the code piece from the sandbox and pasted into to the function. but i get error: report.applyTheme({themeJson: theme}); in this line saying that report is not defined. I am not proficient in js. So I need help.
$(function () {
    var reportContainer = $("#report-container").get(0);

    // Initialize iframe for embedding report
    powerbi.bootstrap(reportContainer, { type: "report" });

    var models = window["powerbi-client"].models;

    var reportLoadConfig = {
        type: "report",
        tokenType: models.TokenType.Embed,

        // Enable this setting to remove gray shoulders from embedded report
        settings: {
            layoutType: models.LayoutType.MobilePortrait
        }
    };

    // You can embed different reports as per your need

    const theme = {
        "name": "Sample Theme",
        "dataColors": ["#990011", "#cc1144", "#ee7799", "#eebbcc", "#cc4477", "#cc5555", "#882222", "#A30E33"],
        "background": "#FFFFFF",
        "foreground": "#007799",
        "tableAccent": "#990011"
    };

    // Update the theme by passing in the custom theme.
    // Some theme properties might not be applied if your report has custom colors set.
    try {
        report.applyTheme({themeJson: theme});
        console.log("Custom theme applied, to remove custom theme, reload the report using 'Reload' API.");
    }
    catch (error) {
        console.log(error);
    }

    $.ajax({
        type: "GET",
        url: "/getembedinfo",
        dataType: "json",
        success: function (data) {
            embedData = $.parseJSON(JSON.stringify(data));
            reportLoadConfig.accessToken = embedData.accessToken;

            // You can embed different reports as per your need
            reportLoadConfig.embedUrl = embedData.reportConfig[0].embedUrl;

            // Use the token expiry to regenerate Embed token for seamless end user experience
            // Refer https://aka.ms/RefreshEmbedToken
            tokenExpiry = embedData.tokenExpiry;

            // Embed Power BI report when Access token and Embed URL are available
            var report = powerbi.embed(reportContainer, reportLoadConfig);

            // Triggers when a report schema is successfully loaded
            report.on("loaded", function () {
                console.log("Report load successful")
            });

            // Triggers when a report is successfully embedded in UI
            report.on("rendered", function () {
                console.log("Report render successful")
            });
            //---------

            //-----------------
            // Clear any other error handler event
            report.off("error");

            // Below patch of code is for handling errors that occur during embedding
            report.on("error", function (event) {
                var errorMsg = event.detail;

                // Use errorMsg variable to log error in any destination of choice
                console.error(errorMsg);
                return;
            });
        },
        error: function (err) {

            // Show error container
            var errorContainer = $(".error-container");
            $(".embed-container").hide();
            errorContainer.show();

            // Format error message
            var errMessageHtml = " Error Details:
" + $.parseJSON(err.responseText)["errorMsg"];
            errMessageHtml = errMessageHtml.split("\n").join("
")

            // Show error message on UI
            errorContainer.html(errMessageHtml);
        }
    });
});

@fuad47
It would be great if you could add a link to the documentation you are following for these steps? This would help us redirect the issue to the appropriate team. Thanks!!

@fuad47
We are going to close this thread but if there are any further questions regarding the documentation, please tag me in your reply and we will be happy to continue the conversation.


ray() calls causing seconds execution delay when ray app not running

Describe the bug
After booting Windows 10, but not starting the Ray app, calls to ray() cause seconds delay in execution.
Versions
spatie/ray (1.19.1)
PHP 7.4.9
To Reproduce
Measure time required for ray() calls.

<?php
require_once '../vendor/autoload.php';

$startTime = microtime(true);

ray();
measure($startTime, 'ray()');

ray();
measure($startTime, 'ray()');

ray($startTime);
measure($startTime, 'ray($startTime)');

ray()->newScreen();
measure($startTime, 'ray()->newScreen()');

ray()->measure();
measure($startTime, 'ray()->measure()');

ray()->measure();
measure($startTime, 'ray()->measure()');

ray($startTime)->green();
measure($startTime, 'ray($startTime)->green()');

function measure(float $startTime, string $name)
{
    static $previousTime;
    $previousTime = $previousTime ?? $startTime;
    $endTime = microtime(true);
    printf(
        "%0.3f seconds total, %0.3f seconds later for %s
\n",
        $endTime - $startTime,
        $endTime - $previousTime,
        $name,
    );
    $previousTime = $endTime;
}

Output;
Measure time required for ray() calls.
0.020 seconds total, 0.020 seconds later for ray()
0.020 seconds total, 0.000 seconds later for ray()
1.239 seconds total, 1.219 seconds later for ray($startTime)
2.464 seconds total, 1.225 seconds later for ray()->newScreen()
3.685 seconds total, 1.222 seconds later for ray()->measure()
4.910 seconds total, 1.225 seconds later for ray()->measure()
7.365 seconds total, 2.455 seconds later for ray($startTime)->green()

Expected behavior
Performance is independent of Ray App running.
It took me hours to figure out why my app was running slowly.
The promise of ray is that it runs on all machines whithout having to remove ray() statements.
Desktop:

OS: Windows 10 64 bit x64
Version 19041.746
Without WSL
Laragon stack

Additional context
This does not happen when the ray app is running. In that case, the results on the same machine are:
Measure time required for ray() calls.
0.004 seconds total, 0.004 seconds later for ray()
0.004 seconds total, 0.000 seconds later for ray()
0.016 seconds total, 0.012 seconds later for ray($startTime)
0.024 seconds total, 0.008 seconds later for ray()->newScreen()
0.032 seconds total, 0.008 seconds later for ray()->measure()
0.049 seconds total, 0.017 seconds later for ray()->measure()
0.072 seconds total, 0.023 seconds later for ray($startTime)->green()

I'll investigate this. Do you see slowdowns when added ray()->disable() at the start of your script?

I see the same slowdown when adding ray()->disable() at the start of the test script.
Measure time required for ray() calls.
0.016 seconds total, 0.015818 seconds later for ray()->disable()
0.016 seconds total, 0.000097 seconds later for ray()
0.016 seconds total, 0.000042 seconds later for ray()
1.252 seconds total, 1.235825 seconds later for ray($startTime)
2.479 seconds total, 1.227035 seconds later for ray()->newScreen()
3.703 seconds total, 1.224305 seconds later for ray()->measure()
4.928 seconds total, 1.224870 seconds later for ray()->measure()
7.373 seconds total, 2.445502 seconds later for ray($startTime)->green()

What happens if you comment out the code of this function?
https://github.com/spatie/ray/blob/master/src/Client.php#L23-L43

After commenting the code within Client.php function send() {}, the performance measurement is:
Measure time required for ray() calls.
0.002 seconds total, 0.001608 seconds for ray()->disable()
0.002 seconds total, 0.000066 seconds for ray()
0.002 seconds total, 0.000042 seconds for ray()
0.002 seconds total, 0.000713 seconds for ray($startTime)
0.003 seconds total, 0.000075 seconds for ray()->newScreen()
0.003 seconds total, 0.000095 seconds for ray()->measure()
0.003 seconds total, 0.000059 seconds for ray()->measure()
0.003 seconds total, 0.000511 seconds for ray($startTime)->green()

When in Client.php, I replace
curl_setopt($curlHandle, CURLOPT_TIMEOUT, 2); by
curl_setopt($curlHandle, CURLOPT_TIMEOUT_MS, 200);, the performance measurement is:
Measure time required for ray() calls.
0.034 seconds total, 0.034444 seconds for ray()->disable()
0.035 seconds total, 0.000092 seconds for ray()
0.035 seconds total, 0.000046 seconds for ray()
0.201 seconds total, 0.166148 seconds for ray($startTime)
0.359 seconds total, 0.158748 seconds for ray()->newScreen()
0.519 seconds total, 0.159931 seconds for ray()->measure()
0.679 seconds total, 0.159987 seconds for ray()->measure()
0.993 seconds total, 0.313583 seconds for ray($startTime)->green()

What happens if you use
curl_setopt($curlHandle, CURLOPT_TIMEOUT_MS, 1);

When using curl_setopt($curlHandle, CURLOPT_TIMEOUT_MS, 1);
0.003 seconds total, 0.002865 seconds for 'ray()->disable()'
0.003 seconds total, 0.000068 seconds for 'ray()'
0.003 seconds total, 0.000042 seconds for 'ray()'
0.006 seconds total, 0.003470 seconds for 'ray($startTime)'
0.009 seconds total, 0.002154 seconds for 'ray()->newScreen()'
0.012 seconds total, 0.002909 seconds for 'ray()->measure()'
0.014 seconds total, 0.002422 seconds for 'ray()->measure()'
0.019 seconds total, 0.005096 seconds for 'ray($startTime)->green()'

But when I start the ray app, it does not show measurements, which seems logical since there is not enough time to transmit the request.
34: curl_errno($curlHandle == true when CURLOPT_TIMEOUT_MS == 1

@freekmurze I have been working on a PR that may resolve this (it's nearly finished) - it acts as a type of circuit breaker if an initial cURL call fails.  Should I submit this or do you have a fix in the works?

Please submit it 👍

Hi @Polfo,
Could you check again with ray versions 1.19.2? This one has the PR of @patinthehat merged that could possibly solve the problem. If that does not solve the problem we should try to tune the CURLOPT_TIMEOUT_MS parameter a bit.

It defnitly improved, but still 1.2 seconds delay due to curl_setopt($curlHandle, CURLOPT_TIMEOUT, 2);.
I see a cache in the Client code. From the documentation, I understand it is assumed to work for 30 seconds. But the cache is only kept in the Client class, so it is not persistent between webpage requests and each webpage request has the 1.2 seconds delay.
Measure time required for ray() calls.
0.003 seconds total, 0.002754 seconds for 'ray()'
0.003 seconds total, 0.000069 seconds for 'ray()'
1.235 seconds total, 1.232128 seconds for 'ray($startTime)'
1.235 seconds total, 0.000219 seconds for 'ray()->newScreen()'
1.235 seconds total, 0.000214 seconds for 'ray()->measure()'
1.235 seconds total, 0.000067 seconds for 'ray()->measure()'
1.236 seconds total, 0.000651 seconds for 'ray($startTime)->green()'

@Polfo @rubenvanassche @freekmurze I can submit a supplemental PR for spatie/laravel-ray that uses the Laravel cache to persist the disabled state between page requests.  The original "Throttle cURL after failed connections" PR was for spatie/ray, so there was no way to persist the state across page loads.
Any thoughts as to whether this will resolve the issue?

Seems a good idea to me. There still will be a 1.5 seconds delay every 30 seconds.
Can the timeout be shortened? Only during performAvailabilityCheck() probably to reduce risk.
Wouldn't it be good to warn users when the timeout occurs? Configurable, default = warning on.

Warn users in what way? I think that @freekmurze & team have avoided user warnings and the like, so that'd be their call.
As for the PR using the Laravel cache, I'll get it started and update this issue when it's ready to go.  Not sure if reducing the timeout during performAvailabilityCheck() is realistic, but I'll look into it.

I'll convert this to a discussion, as there is a fix in placate by @patinthehat, but we could still discuss the details on further improvements.


Ollama provider

Pulls available models from /tags endpoint.
Calls /generate endpoint for generating response.
API doc: https://editor.swagger.io/?url=https://raw.githubusercontent.com/marscod/ollama/main/api/ollama_api_specification.json
TODO: tests
TODO: maybe you can use the openapi lib client? Nicer request structure?

I just realized both ollama and openrouter support the /chat syntax with List[Dict[Literal["system"|"user"|"assistant"]: str]], so that you can condition the LLM to always start with
package plain

....

So I'd rework the connector to use the /chat instead of /generate (probably try to use the same client as openrouter) and I'd split the prompt into prompts:
{"system": "you are a  test engineer, and you should write tests for the code the user provides.",
"user": challenge_message,
"assistant": `
package plain

import {
  TODO
}

func`}

This would also require small modification for the runner.

Can we make this a CLI provider too?
Change this so it takes a constructor that has the command line string to eval. Should support ollama cli, llm cli ... that saves all the network headache.
https://github.com/symflower/eval-dev-quality/blob/e10632769f35243fc144873feac272ca83cbb591/provider/ollama/ollama.go#L39
For testing I would just mostly mock, but you could roll the Shakespeare mini llm for integration tests. https://github.com/ggerganov/llama.cpp/blob/master/examples/train-text-from-scratch/README.md

@rnbwdsh thanks for the PR! We have now merged all the bits and pieces, and quite some changes were necessary to get this working, tested and integrated. We did not do the automatic installation for Windows/MacOS. So if you want to add that, that would be great! Can guide you through. We are adding documentation soonish, and then a tutorial + video in the coming days.

I just realized both ollama and openrouter support the /chat syntax with List[Dict[Literal["system"|"user"|"assistant"]: str]], so that you can condition the LLM to always start with
package plain

....

So I'd rework the connector to use the /chat instead of /generate (probably try to use the same client as openrouter) and I'd split the prompt into prompts: {"system": "you are a test engineer, and you should write tests for the code the user provides.", "user": challenge_message, "assistant": `
package plain

import {
  TODO
}

func`}

This would also require small modification for the runner.

Adding to task list

Can we make this a CLI provider too?
Change this so it takes a constructor that has the command line string to shell out to. Should support ollama cli, llm cli ... that saves all the network headache.
https://github.com/symflower/eval-dev-quality/blob/e10632769f35243fc144873feac272ca83cbb591/provider/ollama/ollama.go#L39
For testing I would just mostly mock, but you could roll the Shakespeare mini llm for integration tests. https://github.com/ggerganov/llama.cpp/blob/master/examples/train-text-from-scratch/README.md

Adding this to our task list as well. Unfortunately did not find a good way of doing this yet. Might be that the more functionality we add, the harder this gets :crying_cat_face:


-[MMCoreTextView initWithFrame:] doesn't initialize fontDescent

Fixes #883. Makes sure fontDescent is properly initialized by -[MMCoreTextView initWithFrame:].

LGTM

PR updated according to comment.

Alright looks good. Thanks for the fix.


enhancement: extend localhost-getter beyond dev lifecycle

Provide environment information
System:
OS: macOS 13.5.2
CPU: (10) arm64 Apple M1 Max
Memory: 341.61 MB / 32.00 GB
Shell: 5.9 - /bin/zsh
Binaries:
Node: 18.17.1 - ~/.nvm/versions/node/v18.17.1/bin/node
npm: 9.6.7 - ~/.nvm/versions/node/v18.17.1/bin/npm
Describe the bug
This is a similar problem @johnslemmer  had a few months ago (https://github.com/t3-oss/create-t3-turbo/pull/300).
Basically, if you build and run your app using expo run:ios, the hostUri becomes unaccessible. Manifest & Manifest2 are also null (and deprecated).
There must be a way to get the localhost address without Expo Go.
Link to reproduction
https://github.com/t3-oss/create-t3-turbo/pull/300
To reproduce

Create a t3 turbo project and set db & server.
Inside the expo folder, run npx expo run:ios and wait for the project to build inside the simulator
At this moment, Constants.expoConfig.hostUri is null and there's no way to access the local host.

Additional information
Expo 49.0.11
No response

FYI
I think in expo 49 some more things changed. That line to figure out debuggerHost now looks like this in my project.
  const debuggerHost =
    Constants.expoConfig?.hostUri ??
    Constants.manifest2?.extra?.expoGo?.debuggerHost;

Hope this helps.

Thank you @johnslemmer
Unfortunately the debuggerHost is still undefined when running the app on bare workflow.
I'm using Expo 49.0.11, but I had the same problem on previous versions too.

Open for improvements here - I'm not really in the Expo ecosystem a whole ton so unsure what best practices / all the APIs are...
The current solution was meant to work for dev and then you'd point it to an actual URL when building - but if there is a way to extend the getter to work for other lifecycle scripts I'm open to include those!

@juliusmarminge Yeah, I'm trying to find a solution too.
The reason why this is important is because in order to test things like push notifications you need to run the app locally with npx expo run:ios on a physical device, so Expo Go wouldn't work in these kind of situations.

You could use ngrok or something

Hey guys! I was able to solve the issue after installing the expo-dev-client package. This package brings some of the capabilities of Expo Go to bare projects, including the ability to access the debuggerHost.
Here's my pull request. Please let me know if there are any issues:
https://github.com/t3-oss/create-t3-turbo/pull/938


programmatic server start

I'm using a backend and a set of microservices. I'd like to use phero for communication.
Problem is I'd like to start phero server in same process space as my microservice.
Also I'm using pm2 to start services. Having a programmatic way to start a phero server would allow phero code to run under a pm2 process more naturally.
This way you'd be able to spawn multiple phero servers under same nodejs process and share state, etc.
Is it possible to start a phero.ts file programmatically instead of relying on the CLI?

any feedback?

Hey @uplight-dev sorry for my late response.
What you’re asking is currently not possible. But how about the following setup:
You can define multiple services inside you phero.ts file. Each service would be a “microservice” with their own middlewares. You can even have multiple phero.ts files if that makes more sense. This helps dividing your services in separate directories. All these services will run in the same process.
hope this helps!


Binary Linux release

Let me kindly ask for a binary Linux release for testing. (I am currently using venv+pip-tools.)

Looking at current builds, I see that they link to a few system dependencies:
> ldd target/debug/rye
	/lib/ld-musl-x86_64.so.1 (0x7f01eb0de000)
	libssl.so.3 => /lib/libssl.so.3 (0x7f01eb058000)
	libcrypto.so.3 => /lib/libcrypto.so.3 (0x7f01e9c00000)
	libz.so.1 => /lib/libz.so.1 (0x7f01eb03e000)
	libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f01eb020000)
	libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f01eb0de000)

Binaries as the are now won't work on any Linux; they require that the build environment and the runtime host have matching openssl, libc and libgcc versions.
I think building statically linked binaries should be doable since these libaries are MIT, Apache2 and LGPL licensed.

It wouldn't be hard to create redistributable linux/macos binaries. It just hasn't been the priority yet. Rust is quite good at static linking everything, and particularly #15 already indicates that even for self compiled binaries shipping a SSL library is probably better.


check the api weekly

the api seems to be working fine now. i saw a problem that all the json files were empty and maybe need to keep track of this. i had this problem with defis a long time ago, but within an hour the problem there was solved. i need to ask samuel if there's a locl databse as backup.

Thanks for checking! Maybe it's even possible to check the incoming data first if it is NULL (empty) and if so, don't update?

The file is never NULL/Empty, that's the "problem"

Von: Adriano Fattizzo @.>
Gesendet: Mittwoch, 4. August 2021 05:24
An: wc-guide/wc-guide-data @.>
Cc: Christian Nüssli @.>; Assign @.>
Betreff: Re: [wc-guide/wc-guide-data] check the api weekly (#23)
Thanks for checking! Maybe it's even possible to check the incoming data first if it is NULL (empty) and if so, don't update?
—
You are receiving this because you were assigned.
Reply to this email directly, view it on GitHubhttps://github.com/wc-guide/wc-guide-data/issues/23#issuecomment-892331250, or unsubscribehttps://github.com/notifications/unsubscribe-auth/APCS7A6JYQU73NPWNDN2XPLT3CXFDANCNFSM5A6NJNTQ.

seems to be working on a reliable base. some bumps can happen.


listen to incoming webhook messages from docker hub

[ec2-user@ip-172-31-57-240 payments-env]$ sudo docker-utils listen <IP_ADDRESS> 8888
Server listening at: <IP_ADDRESS>:8888. CTRL-C to exit.
Image updated on docker hub: mozillapayments/payments-example
Pulling example (mozillapayments/payments-example:latest)...
...image updated locally.


Fix unsoundness issues (mem::zeroed / ManuallyDrop -> MaybeUninit)

Several libs in crossbeam contain unsound code (eg. Block::new). This PR fixes them and requires a MSRV upgrade to 1.36.

Thank you for the PR! Is it still in progress? Looks good to merge to me :)
We also have some instances of uninitialized memory in bounded queues (files array.rs and array_queue.rs) where it would be good to use MaybeUninit.

@stjepang Well, the issue is the MSRV bump to 1.36 (MaybeUninit), that's why I've opened this as a draft. So you are saying that we should go ahead with the MSRV bump?

We also have some instances of uninitialized memory in bounded queues (files array.rs and array_queue.rs) where it would be good to use MaybeUninit.

Yes, I will update them shortly and mark this PR ready for review then :).

@stjepang There is a failure in crossbeam's array flavoured channel: travis.
---- drops stdout ----
thread 'main' panicked at 'assertion failed: `(left == right)`
  left: `9336`,
 right: `9338`', crossbeam-channel/tests/array.rs:533:9
note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.

@stjepang It's ready for review now.

This PR is ready to merge.

@jeehoonkang @stjepang what are next steps for this PR? I think we need your decision for who to best move forward. It'd probably be good to land this PR in one form or another sooner rather than later.

I prefer maybe-uninit to bumping MSRV.  It looks like a fine temporary measure we can take.

Thanks! @cynecx, do you have the time to update the PR to use maybe-uninit?

@jonhoo Sure :) The changes should be up in a few hours!

A question though, instead of adding maybe-uninit to each crate, should I just put it in crossbeam-utils and export a type-alias (MaybeUninit)? This would have a benefit, that future updates would simply have to change the type-alias in order to change the underlying MaybeUninit implementation. Also most of the affected crates are already having crossbeam-utils as dependency so that we just have to add the maybe-uninit dependency in crossbeam-utils. Thoughts?

I would keep it separate, since (I think) it's weird for crossbeam-utils crate to publicly expose that type alias. If it could expose it just to other crossbeam crates, then sure, but I don't think that's really an option.

If you reexport it, it becomes part of the public API, including the fact that it's identical to maybe-uninit's type. You'd have to wrap it in a newtype to avoid that equality, to let you freely change the impl.

@jeehoonkang I think this is now ready for review :tada:

I hope if it's okay if I force-push now with the merge-conflicts? Because that will mess-up the review for sure xD.

Thanks!
bors r+

@jeehoonkang Nice, thanks! What's the plan for next release between this and #466 ? Would be good to land something soon to get those out.


Update docs for new java client, and other changes.

Fixes #331. I spotted a few other obsolete things in passing, and the network monitoring question is frequent enough to require a faq.

@beorn7

:+1: Thank you.
Comments are suggestions, I don't feel strongly.

Both changed, thanks.


Broken link in Compiler Options html

At the bottom of the Compiler Options page, the tsconfig.json link leads to a 404 with https://www.typescriptlang.org/docs/handbook/tutorials/tsconfig-json.html.
The right link is https://www.typescriptlang.org/docs/handbook/tsconfig-json.html.
Since the tsconfig.json.md source is in the tutorials folder, I don't know if it's the link that is broken or if the source must be published.

I tried doing this change
-* Setting compiler options in [`tsconfig.json`](./tutorials/tsconfig.json.md) files.
+* Setting compiler options in [`tsconfig.json`](./tsconfig.json.md) files.

Link in the website will work fine but navigation using the Markdown version will be broken instead.


AzureAD Group Filter problem

Hi
we have tryed to execute the script with AzureAD Group filter but if we send
./Get-RubrikM365SizingInfo.ps1 -AzureAdGroupName "grp_rubrik_365"
We always get the complete tenant in the output
We also tryed ./Get-RubrikM365SizingInfo.ps1 -AzureAdGroupName "grp_rubrik_365@>domain<"
Same result
Kind regards
Matthias

@maddeus1988 Thanks for reporting the issue!
It has been fixed in https://github.com/rubrikinc/microsoft-365-sizing/pull/14


How does the server module work?

How dose the server module (se.vidstige.jadb.server) work.

Great question!

There is a general SocketServer class that accepts connections and spawns new threads when tcp clients connect.
There is a specific AdbServer and AdbProtocolHandler that implements the adb protocol.
There is a


My Opinion: Documentation Is Not Beginner-Friendly

I believe the documentation for this project may not beginner friendly for new contributor who are just starting their contributions
can someone write here the step by steps of installation to fork or clone

fork or clone

Not sure what you would want to see here? An extra readme step of how to install the package? I am kind of assuming you know how to do that since people using this package know how to install and set up Tailwind CSS. Feel free to reopen if you have some suggestions 🙏


refactor(map_projection_loader): make important part a library

Description
I would like to make the part where the map_projector_info object is created an independent library so that not only this node but also other nodes can use this.

Tests performed

Launch logging_simulator and confirmed that localization works fine with sample rosbag and map
Colcon test passes

Effects on system behavior

No effects expected
Pre-review checklist for the PR author
The PR author must check the checkboxes below when creating the PR.

[x] I've confirmed the contribution guidelines.
[x] The PR follows the pull request guidelines.

In-review checklist for the PR reviewers
The PR reviewers must check the checkboxes below before approval.

[ ] The PR follows the pull request guidelines.

Post-review checklist for the PR author
The PR author must check the checkboxes below before merging.

[ ] There are no open discussions or they are tracked via tickets.

After all checkboxes are checked, anyone who has write access can merge the PR.

@kminoda  OK. I will review soon :ok_man:


Bookings doesn't appear on Admin Center/Settings/Org Settings    https://admin.microsoft.com/#/Settings/Services

[Enter feedback here]
Bookings doesn't appear on Admin Center/Settings/Org Settings    https://admin.microsoft.com/#/Settings/Services

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

ID: ba164b8e-a574-0744-ce02-23bda994e505
Version Independent ID: 05018469-d6f8-0eb5-956c-730991912f8b
Content: Turn Microsoft Bookings on or off
Content Source: microsoft-365/bookings/turn-bookings-on-or-off.md
Service: bookings
GitHub Login: @kwekuako
Microsoft Alias: kwekua

@rondfw Thank you for your feedback. I was able to test this in the lab and cannot repro the issue. I can view bookings under Org settings-->Services

If you have any of the below subscriptions and being a global administrator you still cannot view the bookings app, Please contact Microsoft support via the need help link in the admin center
Office 365 A3, A5, E3, E5, F1, F3, Microsoft 365 A3, A5, E3, and E5, Business Standard, Business Premium are supported.
Hope this helps!
Thanks
Sri

I don't doubt that it appears for you but please know that it doesn't appear for me.  Our license is E3 for education (but others available; see below).  As you suggested, I opened support ticket #:  27257081

@rondfw Thank you for your response. This could be an issue with the tenant, you have done the right thing by contacting support.
@yogkumgit There are no changes required in the document.
Thanks
Sri


Api endpoint /document

Hi
wishlist, the /document part of the deepl api should be supported.
Greetings,
Ganneff

There are much IO functionality should be implemented, it needs some time to complete.

Wow, that was fast.
Thank you, makes my task much easier now!

Wow, that was fast. Thank you, makes my task much easier now!

The test is simple so there might be some corner case causing bugges, feel free to open new issue :)


how can i update the offsets i cant find smt named offsets

self explained

You'll need WAY more than just offsets. The game has changed a lot since then, so unless you know what you're doing and can reverse all the new stuff you won't get far just updating offsets and signatures

i cant find smt named offsets

Maybe because I find them myself so the names I give them are my own and might not align with what other people called them, also any sigs here are unique and you won't find them on UC or other forums.

im too retarded to do all that

/shrug


Cleanup: Remove residue of pre Xcode 9 simulator boot logic

Description:
Cleaning up some dead code for pre Xcode9 simulator boot logic.

There was a crash in pretty print (unrelated to the PR). Maybe something changed in a newer RN.


Changes to how/when the loss is calculated by forward and validate in ComposerTransformers

🚀 Feature Request
Additional consideration into how/when loss is calculated in forward and validate.  HF does not give access to the loss itself and the loss is transformer variant specific.
Motivation

Inconsistent inputs/outputs and calculation method for validate in GPT2Model and BertModel:
a. BERTModel's validate method does not calculate the loss because it pops the labels and instead only returns the tensors logits and tensor of popped labels.
b. GPT2Model's validate method does not pop the labels and returns a  CausalLMOutputWithCrossAttentions object with the losses and labels

HF transformers do not give us access to the loss as a method, only the reduced CrossEntropy loss scalar after forward is run.  However, for methods like selective_backprop the loss is expected to be callable from the model. Moreover, the loss values are expected to be unreduced.3.
a. Note that the loss calculation is also transformer model class specific, and will have to be reimplemented from scratch based on the logits returned from the forward.

[Optional] Implementation
For Issue 1:
Option 1a: remove labels from batch in ComposerTransformer's validate method so this is consistent across all transformers.
Option 1b: change validate in GPT2Model to match validate in BertModel.
For Issue 2:
Option 2a: Give GPT2Model and BERTModel a method to return the unreduced loss
Option 2b: Let selective_backprop specifically handle recalculating the unreduced loss since its the only algorithm that I can think of that needs it now
Additional Context
These concerns have been previously discussed with @growlix and @moinnadeem

+1 on this -- I've been wondering if we should move loss from HF's codebase to ours, but didn't have a motivating reason to, so it felt like premature optimization. I think selective backprop is now that reason.
I view the loss being Transformer-specific as a feature, since we don't need to think about the complexity there and HF handles it for us.
Part of this might intersect with @Landanjs's proposal for adding loss function selection into Composer. Are we proceeding with that>

Seems to me like there's an expedient solution to 1: Have selective_backprop type check the output of validate() and extract the data accordingly. Though I could be mistaken about exactly how validate() works!

Closing, we won't impose this on all models


Add Donald Trump image and quote.

Added Donald Trump image and code to display Trump on quotes page.

missing change log entry.


Image links on Wiki are broken

I notice that some of the images on the wiki are not loading. It appears the links are broken.
For example:  on https://github.com/eouia/MMM-CalendarExt2/wiki/2c1.-View:daily  the image 'view1' is linked to https://github.com/eouia/MMM-CalendarExt2/raw/master/screenshot/view1.png . I believe the correct image is https://github.com/eouia/MMM-CalendarExt2/tree/master/doc/Configuration/Views/view1.png
Similar issues on configuration and all the view pages.
Thanks for a great module!

once I have moved the docs, but due to my laziness, i havent fixed the links, sorry. :)

fixed. Thanks for your report.


Support postgres datatype "jsonb"

Is your feature request related to a problem? Please describe.
Current version doesn't support jsonb type which is available in postgres.
Describe the solution you'd like
Currently model properties can specify this as follows
@property({
  postgresql: { dataType: 'jsonb' },
})
//...

It should support it the same way.
Describe alternatives you've considered
The currently supported datatype JSON can be used but it's better to to use JSONB when using postgres to utilize the full possibilities of the driver.
See the comparison here: https://www.dbvis.com/thetable/json-vs-jsonb-in-postgresql-a-complete-comparison
Additional context
Reported here: https://github.com/loopbackio/loopback-next/issues/9345#issuecomment-1470682992

Closing this as it works when type in the model is set to object
eg.
@property({
  type: 'object',
  postgresql: {dataType: 'jsonb'},
})
jsonbCol?: object;

More on this in the issue thread here: https://github.com/loopbackio/loopback-next/issues/9345#issuecomment-1473306697


Make available via CDN for Browser

Usage Browser

not going to do as there are issues with doing this and a ton of helpers.


Issue while processing multiple page pdf

<--- Last few GCs --->
11144 ms: Scavenge 969.5 (1008.3) -> 969.5 (1008.3) MB, 0.3 / 0 ms (+ 2.2 ms in 1 steps since last GC) [allocation failure] [incremental marking delaying mark-sweep].
11256 ms: Mark-sweep 969.5 (1008.3) -> 585.1 (625.8) MB, 112.6 / 0 ms (+ 2.4 ms in 2 steps since start of marking, biggest step 2.2 ms) [last resort gc].
11329 ms: Mark-sweep 585.1 (625.8) -> 585.1 (623.8) MB, 72.9 / 0 ms [last resort gc].
<--- JS stacktrace --->
==== JS stack trace =========================================
Security context: 0x298005e3ac1
2: /* anonymous / [/Documents/Nodedemo/pdf2image/node_modules/pdf2img/lib/pdf2img.js:~51] [pc=0x279bdc3b082](this=0x29800504101 ,pageCount=0x6097fb75189 <Number: 1.41414e+27>,callback=0x6097fb750f9 <JS Function %28SharedFunctionInfo 0x6097fb200a1%29)
4: / anonymous */ [/Documents/Nodedemo/pdf2image/node_modules/async/lib/async.js:638] [pc...
FATAL ERROR: invalid array length Allocation failed - process out of memory
Abort trap: 6

I fixed this with this pull request : @ #19
There was a bug on the page list construct


[hlo] algebraic simplifier select not pred pattern

select(not(pred), on_true, on_false) => select(pred, on_false, on_true)

I got below error message.
The specified bucket does not exist.

I got below error message.
The specified bucket does not exist.

I guess it is an infrastructure problem. I have notified our infrastructure team.

I got below error message.
The specified bucket does not exist.

I guess it is an infrastructure problem. I have notified our infrastructure team.

Thanks.

There was indeed an error in our infrastructure configuration, which I've now fixed -- the "Details" link for that job was pointing to the wrong place. It should be fixed for any future check runs.
FYI, Code Check - Changed Files is not a blocking presubmit. It suggests clang and python format changes that may be needed to merge, but since we're still working on finding similar linter settings for internal and external presubmits it's not guaranteed that the suggested changes are necessary.

Now that we can see the presubmit error, it seems to indicate that algebraic_simplifier.cc has the wrong chmod config. It seems it has 755, but should have 644. Can you maybe check that, and if that is true, change it to 644?

Ok, I just checked that this wrong mode is pre-existing, still it seems this blocks merging of this PR. I could also try to change it, but then you would have to rebase once my change lands (and I am not sure if rebasing will do the right thing). Please let me know if you need help with changing the mode.

I have fixed the permissions now in f4b9d3dbb2d55b73a9a02b4e31cbbf9d02bee32e
Can you please rebase your PR? Lets hope this will keep the new file mode.

Done.


Adapt thumbnail creation script to use s3

This needs to be done to get the fast sensitivity checking to production

this works in the staging system. Still needs to be installed in production


Removed boost-log and boost-thread dependencies

@zalox would you mind have a look through the changes? Tested on most platforms.

What did you do? My branch is saying: "This branch is 1 commit ahead, 1 commit behind cppit:master.". Try to avoid too advanced git commands.

Also if you made changes, I would like to see these in a commit.

I'm fixing this.

I did no changes. I used the github squash method.

I didn't realise it did a rebase in the background. I'll fix master now.

Thank you:)

Also it says: "eidheim committed with zalox Removed boost-log and boost-thread dependencies (#202)" instead of the correct: "eidheim Removed boost-log and boost-thread dependencies" in the commit log.

Now it shoud be correct.

Perfect now, thank you!:)

I don't like the "merged pull request from xxx" generated by github. The squash advertised to to everything in one commit, but it did it with a rebase, so the result got confusing.
If we merge pull requests on the command line the "merge"-commit isn't added and the log looks a lot cleaner in my opinion. The github magic with closing PR's and issues still happen though.

I agree. One can also remove the "merged pull ..." commit by git reset --hard HEAD~1 maybe? If it shows up as last commit that is.

Just to be clear; if there are conflicts a merge-commit can't be avoided :)


Avoid error when the synonyms section is not available

Thanks again, please see my comment. Also, I would wait with further pull requests on master branch because I am reworking the dudendown.py script (currently on modularize branch) so that it's more reusable.
I imagine having a module that could be used something like this:
>>> import dudendown
>>> word = dudendown.get("Hase")
>>> word.title
Hase
>>> word.article
der
>>> word.word_separation
['Ha', 'se']
>>> word.meaning_overview
[
   [
      'wild lebendes Säugetier mit langen Ohren, einem dichten, weichen, bräunlichen Fell und langen Hinterbeinen',
      'männlicher Hase',
      'Hasenbraten, -gericht',
      '(landschaftlich) Kaninchen'
   ],
   '(Sportjargon) Schrittmacher',
...
]

If you have any suggestion to this, I'd like to hear them.

I merged the PR and specified the Exception in another commit. I tagged it, so the code will still be available in v0.2.1. But I will be replacing master soon with the reworked script (without dudendown.py). I hope this won't discourage you from contributing.
In its current state it can fetch meaning overview. Synonyms, and full meaning overview are not yet supported, but are worked on.


Foundation object exists already. Only one instance per process can be created.

System:

OS version:  Ubuntu 16.04
Python version (if applicable): Python 3.6
SAPIEN version : 0.7.0.dev0
Environment:conda virtual envrionment

Describe the bug
I generate the scene in a loop, and for every scene ,I load models to scene on by one,then I remove all the models and set scene=None. But in the third cycle,when I create scene, the program exits abnormally. The error messages are as follows.
[SAPIEN] [critical] Foundation object exists already. Only one instance per process can be created.
[SAPIEN] [critical] Foundation destruction failed due to pending module references. Close/release all depending modules first.
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)
**

Can you confirm you are not creating sapien.core.Engine twice?

Can you confirm you are not creating sapien.core.Engine twice?

Oh thank you ,I actually create Engine() twice. Problem has fixed.


[BUG] Cannot calculate anything after re-establishing Databricks workspace

Observation
Given an environment where energy_result and/or wholesale_result delta tables are present (this means that some migrations have been applied):

Tear-down and re-establish databricks workspace
Start calculation -> Calculation fails (beause the schema and table has not been re-established

Environment
Any
Expected result
Table and schemas are re-established with the workspace -> Calculation succeeds,
Actual result
Calculation fails. Or fails to apply uncommitted migration.

Volt might address this issue here: https://app.zenhub.com/workspaces/team-volt-60a61059028fd7000e49956e/issues/gh/energinet-datahub/team-volt/164


Use infinite planes for slicing

Before submitting a pull request (PR), please read the contributing guide.
Description
What is this PR

[x] Bug fix
[ ] Addition of a new feature
[ ] Other

Why is this PR needed?
fixes a problem when intersecting some planes with the atlases.
The following code crashes without this PR:
import brainrender as br
import bgheatmaps as bgh
import numpy as np

atlas = br.Atlas(atlas_name="allen_mouse_25um")
root = atlas.get_region("root", alpha=1, color=None)
major_divisions = ["Isocortex", "OLF", "HPF", "CTXsp", "STR", "PAL", "TH", "HY", "MB", "P", "MY", "CB"]
regions_meshes = atlas.get_region(*major_divisions, alpha=1, color=None)
if not isinstance(regions_meshes, list):
    regions_meshes = [regions_meshes]

for actor in (root, *regions_meshes):
    # from Render._prepare_actor()
    mtx = [[1, 0, 0, 0], [0, 1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]]
    actor._mesh = actor.mesh.clone()
    actor._mesh.applyTransform(mtx) # actor._mesh.apply_transform(mtx) in newer vedo
    actor._is_transformed = True

regions_meshes = [r for r in regions_meshes if r.br_class == "brain region"]

s = bgh.slicer.Slicer(6000, "frontal", 100, root)
# CRASHES
print(s.get_structures_slice_coords(regions_meshes, root))

What does this PR do?
Instead of using a mesh as a plane, this PR uses a proper infinite plane for slicing the atlas. This effectively bypasses an open issue of vtk regarding the intersection of two meshes. See: https://discourse.vtk.org/t/vtkintersectionpolydatafilter-crashing/9428
As a bonus it is conceptually a "better" way to represent the planes.
In order to do so, I had to use a vtk function by backporting a binding from vedo=2023.4.6.
References
#11
How has this PR been tested?
I ran all examples from this repository + extensive usage in my work project.
Additionally, I made sure every combination of (frontal, horizontal, sagittal) orientations and (allen_cord_20um_v1.0,  allen_mouse_25um_v1.2,  mpin_zfish_1um_v1.0) altases had their plane's normal vector as well as u and v (x and y in 2D projections, respectively) in the correct direction by using the modified planner.
Is this a breaking change?
No, it should keep all the previous APIs and functionalities.
Does this PR require an update to the documentation?
No
Checklist:

[x] The code has been tested locally
[ ] Tests have been added to cover all new functionality (unit & integration)
[ ] The documentation has been updated to reflect any changes
[ ] The code has been formatted with pre-commit

@LeonardoLupori I knew you were interested in this fix. Albeit not being merged, if you need it in the meantime you should be able to use this solution

@carlocastoldi Thanks for this. I've closed this PR, but included your commits in #21. If you could test that PR that would be very helpful!


Ensure that /metrics endpoint uses text/plain as the content type

was returning an attachment before.

closed by https://github.com/oracle/coherence-operator/commit/ccb418fec79dc4ad395d6517ab2634ce5a2da676 into coherence-operator master branch.


Send user_id in response body for 'convert-token'?

Not an issue so much as a question:
So I'm using this with Facebook, and I've got everything set up so that I'm creating new users during the social auth pipeline flow with the details from Facebook and then successfully sending back the new OAuth token with the 'convert-token' endpoint. The new user is created in my database, but the problem is that my iOS client does not know the user-id for the newly created user.
Is there a way to extend the 'convert-token' response body to also include the user's django id?
Thanks, Charlie

I've thought about this before, and in the end, I've decided that convert-token should only be used to convert a token and nothing else.
That way it really looks like an oauth2 token call.
Moreover, I want the developer to decide what to do next and an id alone is frequently not enough data to store.
In your case, I would make a second call to a /me route allowing you to return the current user's data.
If this bothers you, you should inherit from the ConvertToken view and override the post method to include the id as well.

Okay, thanks Philip. That's exactly what I ended up doing - I store the user's Facebook ID during the Social Auth pipeline flow, and then set up a server route to retrieve users from my db with their Facebook ID. Thanks again.


Attributed 3.0 (And beyond)

Intent of this issue
Keep track of what should be added and removed from Attributed and which improvements
should be made to the existing API.
TODO

[ ] Update the attributes of an existing attributed String
[ ] Improve Support for applying attributes to ranges of a string
[ ] Improve Documentation in README
[ ] Increase code coverage past 70%

@BasThomas  @vfn You did some great work before and I would love to get feedback on what you think should be improved.


Activities that return with interrupted flag should be successfully reported as Completed

Expected Behavior
If Activity

never noticed and interrupted flag or
caught an interrupted exception, restored the interrupted flag, and continued to run or returned a result
should be reported as Completed with its returned value.

Actual Behavior
According to https://github.com/temporalio/sdk-java/pull/722#discussion_r707879325
if activity returns with an interrupted flag turned on, subsequent gRPC calls fail and the Activity result never gets reported.
Proposed solution

We should write a stable reproducible test close to a test that was changed in https://github.com/temporalio/sdk-java/pull/722
When Activity returns with interrupted flag = "true", we should hide the flag, report the result of Activity execution to the server, and return the flag back after that allowing the thread pool to stop.

@Spikhalskiy Is there any progress on this task? This is quite painful while using java sdk.


status  lock does not update

The status does not update and remains undefined, what will be the problem? the rest all works, both locking and unlocking

Please use the issue template and follow it. Than you would have found the answer in #406 or #417

I've added a comment to the readme, we can remove it once 9.0 is released.


[Question]: exception when calling RetrieverQueryEngine with a FusionRetriver

Question Validation

[x] I have searched both the documentation and discord for an answer.

Question
Hi there, I've a problem on a Jupyter Notebook  that is going to drive me crazy.  When calling the method query() on a query_engine instantiated with a FusionRetriver, I occasionally (but very frequent) get this exception

TypeError                                 Traceback (most recent call last)
Cell In[6], line 10
1 while True:
  [8](vscode-notebook-cell:?execution_count=6&line=8)     #response = query_engine.query(question)

""""""---> 10     response = query_engine_fusion.query("What are the baseline reqs for Security")"""""
(/llama_index/core/base/base_query_engine.py:40), in BaseQueryEngine.query(self, str_or_query_bundle)
38 if isinstance(str_or_query_bundle, str):
39     str_or_query_bundle = QueryBundle(str_or_query_bundle)
---> 40 return self._query(str_or_query_bundle)
File llama_index\core\query_engine\retriever_query_engine.py:186, in RetrieverQueryEngine._query(self, query_bundle)
182 """Answer a query."""
183 with self.callback_manager.event(
184     CBEventType.QUERY, payload={EventPayload.QUERY_STR: query_bundle.query_str}
185 ) as query_event:
--> 186     nodes = self.retrieve(query_bundle)
187     response = self._response_synthesizer.synthesize(
...
---> 47     product = np.dot(embedding1, embedding2)
48     norm = np.linalg.norm(embedding1) * np.linalg.norm(embedding2)
49     return product / norm
TypeError: unsupported operand type(s) for *: 'NoneType' and 'float'
Output is truncated. View as a scrollable element or open in a text editor. Adjust cell output settings...
It looks like that it cannot calculate the cosine similarity because it cannot get the embeddings of something (I don't know if the problem is my vector store o what else...).
Here's my code:
`
vector_store_retriever = get_retriever("vector",index, SIMILARITY_TOP_K)
bm25_retriever = get_retriever("bm25",index, SIMILARITY_TOP_K)
fusion_retriever = QueryFusionRetriever(
[vector_store_retriever, bm25_retriever],
similarity_top_k=SIMILARITY_TOP_K,
num_queries=3,
mode="reciprocal_rerank",
use_async=True
)
query_engine_fusion = RetrieverQueryEngine.from_args(fusion_retriever)
response = query_engine_fusion.query("What are the baseline reqs for Security?")
display_response(response)`

Just to confirm, what is get_retriever() doing?

HI @logan-markewich , HERE'S the code:
def get_retriever(retriever_name, index, similarity=0):
if retriever_name.lower() == "bm25":
bm25_retriever = BM25Retriever.from_defaults(docstore = index.docstore, similarity_top_k = similarity)
return bm25_retriever
elif retriever_name.lower() == "vector":
return index.as_retriever(similarity_top_k = similarity)

Do you think that, maybe, if I return a vectorretriever by calling the index this could a  problem?

Based on where the error is happening (in an embedding similarity calculation) I don't think this has anything to do with QueryFusionRetriever.
Can you make a more minimal example, using only the vector retriever, and without your get_retriever abstraction, to pinpoint the issue?

Is BM25Retriever available in llama 0.10.15? There's a bm25_retriever in the legacy package but no BM25Retriever under llama_index.core.retrievers. Not sure if the legacy one is compatible with the new API.

@asti009asti integrations are separated into packages.  Check out https://llamahub.ai
But in this case
pip install llama-index llama-index-retrievers-bm25
from llama_index.retrievers.bm25 import BM25Retriever


Add support for Dynamic LIT / SIT

discover device using standard means when the ICD is acting as a SIT/LIT, after realizing the change, it would call OnICDModeChange
https://github.com/project-chip/connectedhomeip/issues/31086

https://github.com/project-chip/connectedhomeip/issues/31111, we would not go with mdns discovery on this effort, thanks


Ensure all subcommands have summary description documentation

Almost all commands have info on what they are for, but a few were
missing it.
Also cleans up some copy/paste misdocumentation along the way.

r? @wycats
(rust_highfive has picked a reviewer for you, use r? to override)

@bors: r+ dc389ae3d40e71241968d4c936be27fad8f9c29a
Thanks!

:hourglass: Testing commit dc389ae with merge c8649a3...

:sunny: Test successful - cargo-linux-32, cargo-linux-64, cargo-mac-32, cargo-mac-64, cargo-win-gnu-32, cargo-win-gnu-64, cargo-win-msvc-32, cargo-win-msvc-64


Correct the capitalization of Xcode in README

This pull request corrects the capitalization of Xcode :sweat_smile:
https://developer.apple.com/xcode/

Related https://github.com/Karumi/Kin/pull/16


Get endpoint object from correct json object

@tkratky @kornys I think this is what broke systemtests :)

Test passed locally


Notify caller when apply has finished

Signed-off-by: zhangjinpeng1987<EMAIL_ADDRESS>
What have you changed? (mandatory)
Previous behavior for prewrite/commit request:

scheduler receive a request and acquire latches.
scheduler send request to local reader ask for a snapshot.
local reader fetch a snapshot and redirect request to scheduler-worker-pool.
scheduler-worker-pool check txn constraints and generate modifications and send to raftstore.
after raftstore(apply worker) has applied the modifications, raftstore send a result back to scheduler.
scheduler release latches and notify the caller.

This branch change step 5, raftstore notify the caller and send a message to scheduler after modifications has been applied. So the latency for prewrite/commit can be reduced.
What are the type of the changes? (mandatory)
The currently defined types are listed below, please pick one of the types for this PR by removing the others:

Improvement (change which is an improvement to an existing feature)

How has this PR been tested? (mandatory)
Unit tests
Does this PR affect documentation (docs) update? (mandatory)
No
Does this PR affect tidb-ansible update? (mandatory)
No

[x] Benchmark

insert threads
master (QPS/avg latency/.99 latency)
branch

1
526 / 1.89 / 2.43
541 / 1.84 / 2.35

2
1211 / 1.65 / 2.18
1239 / 1.61 / 2.52

4
2655 / 1.5 / 2.22
2651 / 1.51 / 2.11

16
7792 / 2.05 / 4.33
7844 / 2.04 / 4.33

32
10482 / 3.05 / 8.74
10499 / 3.04 / 8.38

As showed above:

When the insert load is low, this feature can reduce latency by about 2%.
Because the callbacks are involved by the apply pool, so the scheduler CPU reduced by 10%, and this part of cost transferred to apply pool, i think this is helpful when the single thread scheduler is the bottleneck.

i think this is helpful when the single thread scheduler is the bottleneck.

I think we will remove the single thread scheduler later, maybe you can let @hicqu benchmark in his PR.


Unintended process_states exposure!?

Describe the bug
There is an undocumented URL found during pentest of Artemis. The URL is https://artemis/proxy_api?download_table=true&action=process_states
Affected Component(s)

[ ] Back-End (Database, Microservices, Containers, etc)
[X] Front-End (Flask, API, etc)
[ ] Docs
[ ] Build System

To Reproduce
Steps to reproduce the behavior:

Go to 'https://artemis/proxy_api?download_table=true&action=process_states'
See JSON output.

Expected behavior
Euh, nothing I guess? Seems like an internal "are you alive" JSON output for monitoring!?
JSON output in browser
[
{
"name": "mitigation",
"running": false,
"timestamp": "2019-12-16T08:39:10.849954"
},
{
"name": "clock",
"running": true,
"timestamp": "2019-12-16T08:39:12.067733"
},
{
"name": "configuration",
"running": true,
"timestamp": "2019-12-16T08:39:12.084261"
},
{
"name": "database",
"running": true,
"timestamp": "2019-12-16T08:39:12.086263"
},
{
"name": "observer",
"running": true,
"timestamp": "2019-12-16T08:39:12.088817"
},
{
"name": "monitor",
"running": true,
"timestamp": "2019-12-16T08:39:14.067809"
},
{
"name": "detection",
"running": true,
"timestamp": "2019-12-16T08:39:17.017864"
}
]
System (please complete the following information):

OS: [e.g. iOS] CentOS7
Browser [e.g. chrome, safari] N/A
Version [e.g. 22] 20

Additional context
Add any other context about the problem here.

To the best of my knowledge, this is simply a graphql query exposed over the proxy API so that the web application can retrieve the information on the different processes that are running (or not running) in the system. So the exposure is intended. However, I will double-check with @slowr and @pgigis to be sure about the intention of this.

One of my red team members has issued some pentests against Artemis, nothing shocking (but this) came out of it. So we're tearing down the test bed, and initiate the Epic to build up Artemis in a High Availability cluster for production. 👍

@marcgweg thanks a lot for pointing this vulnerability out. You are not supposed to be able to access this endpoint while not being authenticated. I will issue a fix asap :)

@marcgweg the patch is merged on master. We will release a minor artemis version these days that will include the fix. By the way, if you have readable reports from the penetration test we would love to have them on a wiki page on the repository. Thanks again!


ndefMessage payload differs on Android and iOS

My NFC tag returns an NDEF payload of 0x2ebc5363934d591e. On iOS, this seems to be correctly represented as the payload [2, 101, 110, 46, 188, 83, 99, 147, 77, 89, 30]. On Android however, I get [2, 101, 110, 46, -68, 83, 99, -109, 77, 89, 30]. Note the two signed numbers.
Is there any way to decode this consistently on both platforms? It seems like iOS is the correct one here.
React Native version: 0.60.6
Library version: latest
iOS version: 13.3 (iPhone XS)
Android version: 9 (first gen Pixel)

Hi @chrisshiplet thanks for reporting this issue, I will check it out  soon.

Hi @chrisshiplet sorry for the late response! This issue has been fixed in the latest v2.1.5, thanks again for reporting!

Awesome, thanks for the quick turnaround!


Voyager

Please tell me if I can install and use Voyager for Fabric version 1.20.1 + Modpack of 23 mods?
I also have a question about how to download Voyager correctly, it seems to me that it would be very good if you created a Video lesson or several video lessons 1) how to install 2) how to use 3) how to upgrade to other versions 4) how to install other dependencies and mods 5) How to use Voyager ChatGpt 3.5

Hi, I think as long as you can start a multiperson game and allow the bot to join, you can run Voyager. It's compatible with many different versions of the Fabric / MC game.
We currently don't have enough bandwidth for a video tutorial. We welcome members of the community to create and share tutorials.

There are 2 videos on youtube on how to do the installation. Is Good but incomplete.
https://www.youtube.com/@ProgramwithMinecraft
There is a ticket on here # 157 with some info on how to get working with LLama3.
Is there a slack or discord community for voyager somewhere?


Make types exportable

move types (and translations) to JSON file source of truth
write script (PHP? TS?) to autogenerate readme table in place in README.md from JSON files
make JSON exportable via NPM
make JSON epxortable via Composer

I have an english language json file that contains the following for 23 fellowships:

abbr
flags
name
type_descriptions (C & O)
types

great. as a first pass i think we want a types.json that looks like
{
  "11": {
    "en": "11th Step Meditation",
    "es": "Meditación del Paso 11",
    "fr": "…"
  }
}

Here is what I have now. It's based on the PHP array from TSML. Just an example of one fellowship. Would we add "en", "es", "fr" for name, descriptions too? (not sure flags is needed, that can be removed)
"aa": {
    "abbr": "AA",
    "flags": ["M", "W", "TC", "ONL"],
    "name": "Alcoholics Anonymous",
    "type_descriptions": {
      "C": "Closed meetings are for A.A. members only, or for those who have a drinking problem and \u201chave a desire to stop drinking.\u201d",
      "O": "Open meetings are available to anyone interested in Alcoholics Anonymous\u2019 program of recovery from alcoholism. Nonalcoholics may attend open meetings as observers."
    },
    "types": {
      "11": "11th Step Meditation",
      "12x12": "12 Steps & 12 Traditions",
      "ABSI": "As Bill Sees It",
      "BA": "Babysitting Available",
      "B": "Big Book",
      "BI": "Bisexual",
      "H": "Birthday",
      "BRK": "Breakfast",
      "CAN": "Candlelight",
      "CF": "Child-Friendly",
      "C": "Closed",
      "AL-AN": "Concurrent with Al-Anon",
      "AL": "Concurrent with Alateen",
      "XT": "Cross Talk Permitted",
      "DR": "Daily Reflections",
      "DB": "Digital Basket",
      "D": "Discussion",
      "DD": "Dual Diagnosis",
      "EN": "English",
      "FF": "Fragrance Free",
      "FR": "French",
      "G": "Gay",
      "GR": "Grapevine",
      "HE": "Hebrew",
      "NDG": "Indigenous",
      "ITA": "Italian",
      "JA": "Japanese",
      "KOR": "Korean",
      "L": "Lesbian",
      "LIT": "Literature",
      "LS": "Living Sober",
      "LGBTQ": "LGBTQ",
      "TC": "Location Temporarily Closed",
      "MED": "Meditation",
      "M": "Men",
      "N": "Native American",
      "BE": "Newcomer",
      "ONL": "Online",
      "O": "Open",
      "OUT": "Outdoor",
      "POC": "People of Color",
      "POL": "Polish",
      "POR": "Portuguese",
      "P": "Professionals",
      "PUN": "Punjabi",
      "RUS": "Russian",
      "A": "Secular",
      "SEN": "Seniors",
      "ASL": "American Sign Language",
      "SM": "Smoking Permitted",
      "S": "Spanish",
      "SP": "Speaker",
      "ST": "Step Study",
      "TR": "Tradition Study",
      "T": "Transgender",
      "X": "Wheelchair Access",
      "XB": "Wheelchair-Accessible Bathroom",
      "W": "Women",
      "Y": "Young People"
    }
  }

types are now exportable to typescript from https://github.com/code4recovery/spec/pull/69
hopefully we'll be able to still export to PHP soon


timeline组件在7.x版本中无法动态变换nzDot

Reproduction link
https://stackblitz.com/edit/ng-zorro-antd-start-nuctbw
Steps to reproduce
点击按钮
What is expected?
图标切换为dotTemplate2对应图标
What is actually happening?
图标无变化

Environment
Info

ng-zorro-antd
7.5.1

Browser
chrome

v8.x可以正常切换

8.x 版本中已经修复，请尽快升级至最新版本


[CLI] Batch Conversion fail

Hi,
there seems some path issue when batch conversion on windows 10.

I just published @squoosh/cli v0.7.1 which should fix this. Can you give it another try?
I’ll close this bug, but please re-open if it’s still breaking for you!

@surma
Thanks for your help.
However, after upgrading to 0.7.1 still encounter error as below. 😢
CMD
d:\test>npm ls -g
C:\Users\b06065\AppData\Roaming\npm
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
d:\test>npx @squoosh/cli -V
error: unknown option '-V'
npm ERR! code 1
npm ERR! path d:\test
npm ERR! command failed
npm ERR! command C:\WINDOWS\system32\cmd.exe /d /s /c squoosh-cli -V

npm ERR!      C:\Users\b06065\AppData\Local\npm-cache\_logs\2021-06-17T01_33_13_040Z-debug.log

2021-06-17T01_33_13_040Z-debug.log result
0 verbose cli [
0 verbose cli   'C:\\Program Files\\nodejs\\node.exe',
0 verbose cli   'C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli   'exec',
0 verbose cli   '--',
0 verbose cli   '@squoosh/cli',
0 verbose cli   '-V'
0 verbose cli ]
1 info using<EMAIL_ADDRESS>2 info using<EMAIL_ADDRESS>3 timing config:load:defaults Completed in 1ms
4 timing config:load:file:C:\Program Files\nodejs\node_modules\npm\npmrc Completed in 1ms
5 timing config:load:builtin Completed in 1ms
6 timing config:load:cli Completed in 1ms
7 timing config:load:env Completed in 1ms
8 timing config:load:file:d:\test\.npmrc Completed in 0ms
9 timing config:load:project Completed in 1ms
10 timing config:load:file:C:\Users\b06065\.npmrc Completed in 0ms
11 timing config:load:user Completed in 0ms
12 timing config:load:file:C:\Users\b06065\AppData\Roaming\npm\etc\npmrc Completed in 0ms
13 timing config:load:global Completed in 0ms
14 timing config:load:cafile Completed in 0ms
15 timing config:load:validate Completed in 0ms
16 timing config:load:setUserAgent Completed in 0ms
17 timing config:load:setEnvs Completed in 1ms
18 timing config:load Completed in 8ms
19 verbose npm-session d99ac022c7552c79
20 timing npm:load Completed in 17ms
21 http fetch GET 304 https://registry.npmjs.org/@squoosh%2fcli 328ms (from cache)
22 timing arborist:ctor Completed in 1ms
23 timing arborist:ctor Completed in 0ms
24 timing arborist:ctor Completed in 0ms
25 timing command:exec Completed in 556ms
26 verbose stack Error: command failed
26 verbose stack     at ChildProcess.<anonymous> (C:\Program Files\nodejs\node_modules\npm\node_modules\@npmcli\promise-spawn\index.js:64:27)
26 verbose stack     at ChildProcess.emit (node:events:376:20)
26 verbose stack     at maybeClose (node:internal/child_process:1063:16)
26 verbose stack     at Process.ChildProcess._handle.onexit (node:internal/child_process:295:5)
27 verbose cwd d:\test
28 verbose Windows_NT 10.0.19043
29 verbose argv "C:\\Program Files\\nodejs\\node.exe" "C:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "exec" "--" "@squoosh/cli" "-V"
30 verbose node v15.5.1
31 verbose npm  v7.3.0
32 error code 1
33 error path d:\test
34 error command failed
35 error command C:\WINDOWS\system32\cmd.exe /d /s /c squoosh-cli -V
36 verbose exit 1

-V is not a valid flag. Can you try if your actual conversion works or if it still fails?

It doesn't seem to work.
C:\test>npx @squoosh/cli --mozjpeg '{}' 1.jpg
0/1 / ▐╌╌╌╌╌╌╌╌╌╌▌ Decoding...
node:internal/process/promises:245
          triggerUncaughtException(err, true /* fromPromise */);
          ^

[UnhandledPromiseRejection: This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason "Cannot use 'in' operator to search for 'quality' in {}".] {
  code: 'ERR_UNHANDLED_REJECTION'
}

C:\test>npx @squoosh/cli --mozjpeg '{}' *.jpg
node:internal/process/promises:245
          triggerUncaughtException(err, true /* fromPromise */);
          ^

[Error: ENOENT: no such file or directory, lstat 'C:\test\*.jpg'] {
  errno: -4058,
  code: 'ENOENT',
  syscall: 'lstat',
  path: 'C:\\test\\*.jpg'
}

Okay interesting. I wonder if this is Windows related, because I can’t reproduce this.

Looking into this, ti seems the wildcards are not working in Windows.
@samdutton is working on adding globs, so this will hopefully get solved through his work!

Any update on glob support? I had thought it was already supported from reading some other comment, but I guess not.

Same here...
squoosh-cli --webp auto icons/android*.png works fine when executed directly in bash/WSL but not on Windows (e.g. from a script in package.json)

Same here...
squoosh-cli --webp auto icons/android*.png works fine when executed directly in bash/WSL but not on Windows

can you please share how did you make it work on WSL? Thanks

@digiage starting my Ubuntu WSL in Windows Terminal then navigating to my icons folder and ran the script as seen in the screenshot. Nothing special

Does that answer your question or do you have a specific problem making it work?

starting my Ubuntu WSL in Windows Terminal then navigating to my icons folder and ran the script as seen in the screenshot. Nothing special

thanks. I was getting the "bash\r: No such file or directory" error (which was totally incomprehensible for me), but in the end I did make it work by installing Node 16.15.1 (v18 did not work) on WSL. I did not realize at first that Node installed on my Windows machine is not enough.

Right, I remember that one... Faced it too when I updated my WSL to Ubuntu 22 😅

Unfortunately, due to a few people leaving the team, and staffing issues resulting from the current economic climate (ugh), the CLI and libsquoosh packages are no longer actively maintained. I know that sucks, but there simply isn't the time & people to work on this. If anyone from the community wants to fork it, you have my blessing. The squoosh.app web app will continue to be supported and improved.


Sg core development

this pull request cover this 2 points :
1-configure and deploy sg-core
2-modify running ceilometer-agent-notification configuration to use appropriate publisher on all pipeline sinks to point to deployed sg-core
Note : in case of deployment on Standalone env the test_config file that we pass it should contains
prometheus_destination : standalone
ceilometer_pipeline_path: "/var/lib/config-data/puppet-generated/ceilometer/etc/ceilometer/pipeline.yaml"

I will just merge this now because I cannot modify Marihan's PR and continue with new PR.


Add minimal setup to README

When users first visit the project, the README should contain a minimal snippet of code they can add to their projects to get started right away. Right now it requires multiple clicks for a new user to get anything useful.

I can pick this up


What is OCR in [HRNet48V2 + OCR] any way? I haven't seen any reference from the paper or anywhere.

We prepare to submit OCR paper to CVPR-2020. Thanks for your interest in our work~


Enhancement/q2d

Added auto_assign_conductors and toggle_conductor_type methods

Looks like codecov is working!

@akaszynski very well. and very nice feature


Replace fn is_large with const IS_LARGE

Signed-off-by: remzi<EMAIL_ADDRESS>Which issue does this PR close?

Closes #1658 .
What changes are included in this PR?
Replace fn is_large with const IS_LARGE.
Unfortunately, we still can't declare BinaryArray::get_data_type as const fn. Please look at the docs.
Are there any user-facing changes?
Yes. fn is_large is deleted

Could we merge this PR, as the potential merge conflict is high?

Merged. Thanks @HaoYang670

Thank you for your review. @viirya !!


Change datepicker locale

Laravel Version: 5.4.*
Voyager Version: 0.11.14
PHP Version: 7.1
Database Driver & Version: MySQL 5.7

Description:
How can I change locale option of the datepicker that has been used in Voyager?

Hi @mhemrg.
We need to work on that, and for any other JS component requiring i18n.
We have to edit each blade where JS components are initialized, and set the locale.
This should be easy task.
Fell free to send a PR for this! :)
Thank You.

Added in #1199
Use with a format as in strftime

Thanks @emptynick .
Closing issue.


Scoring and Ranking

Compute score from assessments and rank models according to score.

I say this is done with #42


Update mentions of React Query to TanStack Query

React Query was recently renamed TanStack Query since it's now a cross-framework library.
Updating its mentions on the website and in the README will improve SEO in searches on Google and pub.dev.

I think people are still not aware of this rename. Maybe adding a something like this (formerly react-query) would be better, right?

I think people are still not aware of this rename. Maybe adding a something like this (formerly react-query) would be better, right?

Yes that probably makes the most sense!

Updated the docs :+1:


Restrict api methods with platform

Not sure how many people this could benefit, but the docs could benefit from being able to hide methods that are platform specific. For example, I'm currently hired to develop for Windows only, and have to scroll through many macOS specific methods. It would be nice to filter both the view and the sidebar to a specific platform for faster reading.

Hi,
So I played around a little bit with the website's code and understood how docusaurus is working. In my opinion the filter feature can be implemented by using .mdx instead of normal markdown files, that way we will be able to put some js logic on our markdown also we would need to update all the files such that the headings that need to be filtered are wrapped with their tags such as mac, linux or windows. If you can think of a more simpler approach to this I would love to discuss and work on this.

@DevanceJ I think we would want to do it with JavaScript on the website rather than modifying the source MDX files. The information is already embedded into the Markdown header for each API.

You mean a Remark plugin? I'm not sure how it would look in practice off the top of my head but feel free to experiment!


CSharp Client FileParameter Stream is being disposed

Good day,
I am using the same file for multiple requests:
using (var stream = new System.IO.FileStream(fileName))
{
    var response1 = await _client.Request1(new FileParameter(stream));
    // stream is now closed
    var response2 = await _client.Request2(new FileParameter(stream));
}

After the first request, the file stream gets disposed in the response (in case it is not a stream response) and cannot be used for subsequent requests.
finally
{
    if (disposeResponse_)
        response_.Dispose();
}

Is there a way to keep the file stream open or must I create a new stream for each request?

I see the request content is being disposed of by the System.Net.HttpClient.


Create task-2.py

issue: #3

Hey @Debankur04
Thanks for opening this PR 🚀. Mentor will review your pull request soon and till then, keep contributing and stay calm.
Thanks for contributing in OpenCode'24 ✨✨!

Hey @Debankur04
Your PR has been merged 🥳🥳 and you have earned 10 points.
Thanks for contributing in OpenCode'24 ✨✨


Document dotnet_style_readonly_field

Document dotnet_style_readonly_field a new rule for VS 15.7.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/ide/editorconfig-code-style-settings-reference.md
:white_check_mark:Succeeded

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.

@davkean : Thanks for your contribution! The author, @kuhlenh, has been notified to review your proposed change.

@davkean : Thanks for your contribution! The author, @kuhlenh, has been notified to review your proposed change.

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/ide/editorconfig-code-style-settings-reference.md
:white_check_mark:Succeeded

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.


add the code print "have a good day"

Pre-Submission Checklist

[ ] Your pull request targets the staging branch of freeCodeCamp.
[ ] Branch starts with either fix/, feature/, or translate/ (e.g. fix/signin-issue)
[ ] You have only one commit (if not, squash them into one commit).
[ ] All new and existing tests pass the command npm test. Use git commit --amend to amend any fixes.

Type of Change

[ ] Small bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds new functionality)
[ ] Breaking change (fix or feature that would change existing functionality)
[ ] Add new translation (feature adding new translations)

Checklist:

[ ] Tested changes locally.
[ ] Addressed currently open issue (replace XXXXX with an issue no in next line)

Closes #XXXXX
Description

This is a pure spam PR

Sorry sir did it for the tshirt
I think you would forgive
On Mon, 1 Oct 2018 7:24 pm Jalem Raj Rohit<EMAIL_ADDRESS>wrote:

This is a pure spam PR
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/freeCodeCamp/freeCodeCamp/pull/18208#issuecomment-425913243,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AptwTj2hQdeluXxwllBZn9xClJD4cD46ks5ugh6hgaJpZM4XB_g2
.

Please find an issue in the issues tab with a bug that needs fixing. Closing because this PR doesn't add any significant contribution to the project. Happy coding!