nixos/grub: Add extraEntriesAtEnd

This option allows the user to specify a list of extra entries to be added to the end of the grub menu.
Description of changes
I added this new option as boot.loader.grub.extraEntriesAtEnd, This option adds entries at the end of grub, The normal extraEntries option adds entries in the middle of NixOS and NixOS-Generations entry.
I wanted to add shutdown and reboot entries and end, but that old option was never designed to do that, so I created this new option which runs after OS Prober, and after OS Prober adds those entries then from this option entries are taken.
Things done
I added an option with its description.
I added that option in the Perl file, after the line where OS Prober entries are loaded.

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

My Message
I have never worked with Perl, but I am a student studying software engineering, and I used GitHub Copilot, so it may or may not contain bugs, please check it, I want this option as I am frustrated with the old option and it's arrangement, so please add it.

For those who are facing same issue, I used extraInstallCommands option for now, this edits the grub file, after it is generated by perl file
boot.loader.grub.extraInstallCommands =  ''
cat << EOF >> /boot/grub/grub.cfg

# Shutdown
menuentry "Shutdown" --class shutdown {
  halt
}

# Reboot
menuentry "Reboot" --class restart{
  reboot
}
EOF
   '';

It works, it appends those entries in the file, but editing file like this, you should be careful.


Confusion with metrics and folder structure

Hello Anomalib team,
first of all, thank you for your very practical library and the work you have put into it.
Regarding the folder structure:
So for training only normal_dir is used? (from the config)
For testing and evaluating then:
abnormal_dir: , normal_test_dir: , mask:?
Unfortunately, I couldn't quite read this out of the documentation.
The metrics for (image and pixel) AUROC and F1 are both from Pytorch and I can read their exact function there or are they partially adapted here?
Thank you very much for your feedback :)

Hi @Mirko1998, thank you for your interest in the library.
Folder Dataset
Folder dataset is highly customisable, so it might be a bit confusing.
normal_test_dir is an optional argument. If it is set, normal_dir will only be used for training. Otherwise, normal_dir will be split into train/val/test sets for training and performance evaluation.
abnormal_dir is used for testing and evaluation.
mask_dir is also optional and depends on the task type. If the task is segmentation and you have mask_dir, Folder dataset will ensure that these are properly set. If mask_dir is None, then this means the task is a classification task.
We have a Jupyter notebook for the Folder dataset. Can you have a look at it and tell us if there is anything missing or unclear there?
Metrics
As I mentioned above, if you have a mask directory, it is possible to report segmentation metrics. Otherwise, only classification metrics will be reported.
We use metrics from the torchmetrics library, and also have some customised metrics within anomalib itself. For example, you could refer to this link to see the metrics in anomalib
https://github.com/openvinotoolkit/anomalib/tree/main/src/anomalib/utils/metrics
In theory, if you add a metric from torch metric library to your config file, anomalib should run it. If you see a metric that does not work, you could report here.
Documentation
We are aware that some of these bits might be missing in our documentation. This is mainly because we are currently developing v1.0, which we plan to release some time in October. This slowed down our documentation efforts for the existing versions. Things will hopefully be a lot more clear in v1.0 documentation. Thanks again!


[Template] Listing Templates

Template under given Template Repository is not listed

Done as part of Datastore fix


Add missing packages to the ISS analysis metapackage

2 packages were missing during the latest push:

pysmbc
periodictable (probably it was never rebuilt with it)

Is pysmbc a dependency of isstools in particular or of ISS in general? I recall adding pysmbc as a dependency of isstools but it was subsequently removed.

Correct, it's used here: https://github.com/NSLS-II-ISS/isstools/blob/08e7d9c40591049839b4cd16d1feadc38a4e5b3a/isstools/xiaparser/xiaparser.py#L12.
I propose the following plan of actions:

I will submit another PR to add pysmbc to the isstools package. We review/merge it, and wait until the package is pushed to anaconda.
remove the dependency on pysmbc in this analysis metapackage. Will keep the new version number so that we have fresh packages with new isstools. Will merge and build it.
merge #640, wait until it's built, push new envs with the updated dependencies.

Thanks for providing the references, @danielballan. Indeed, pysmbc was mistakenly removed from isstools in #614 during the major cleanup. #641 gets it back.

OK, new isstools is built. Time to merge before 3 pm iteration.


CBS manual content ID

[x] I've verified and I assure that I'm running youtube-dl 2<IP_ADDRESS>

Before submitting an issue make sure you have:

[x] At least skimmed through README and most notably FAQ and BUGS sections
[x] Searched the bugtracker for similar issues including closed ones

What is the purpose of your issue?

[ ] Bug report (encountered problems with youtube-dl)
[ ] Site support request (request for adding support for a new site)
[x] Feature request (request for a new functionality)
[ ] Question
[ ] Other

The following sections concretize particular purposed issues, you can erase any section (the contents between triple ---) not applicable to your issue

Description of my feature request
CBS extractor's first step is fetching the content id. I have a content id from a video that won't auto-detect. (http://www.cbs.com/shows/star-trek-2017/) But I can extract it manually (UnACteDDxshm4ZuS_XsNTxvpMjzZtEaJ). I would think it would be good if one can give youtube-dl the URL "http://can.cbs.com/thunder/player/videoPlayerService.php?partner=cbs&contentId=UnACteDDxshm4ZuS_XsNTxvpMjzZtEaJ" (when activating print-traffic it will show that URL for all other videos) directly and it would take it from there.

you will be able to pass the content id to youtube-dl like that:youtube-dl cbs:content_id
replace content_id with the content id you want.


KeyError: 'tasks' [bug]

Describe the bug
I am getting the following error, which appears to occur on reask.
RAIL spec
<rail version='0.1'>

<output>
    <list name="tasks" description="The list of tasks">
        <object>
            <string name="task_type" description="A brief summary of the change or changes made to the code. This should only be one to five sentences."
                format="valid-choices: {['build_tool', 'use_tool', 'edit_tool', 'write', 'human_action']}"
                on-fail-valid-choices="reask"
            />
            <string name="tool_name" description="The tool name. For 'write' and 'human_action' task types, write 'None'."/>
            <string name="tool_type" description="The tool type. For 'write' and 'human_action' task types, write 'None'."
                format="valid-choices: {['creator', 'helper', 'None']}"
                on-fail-valid-choices="reask"
            />
            <string name="description" description="Short description of the tool (for 'build_tool'), the tool change (for 'edit_tool') or the general goal of the task (for 'use_tool', write' and 'human_action')"/>
            <string name="notes" description="All other relevant information. For 'build_tool' tasks, this can include the name and type of the inputs and outputs, the helper tools used, notes about the implementation if detailed in the analysis plan or discussed with the user, etc."/>
        </object>
    </list>
</output>

<instructions>
{{system_message}}

{{project_info}}

{{research_objective}}

{{activity_log}}
</instructions>

<prompt>
We have provided the task list to the human, and they have responded with feedback. You will now update the task list to address the human's feedback. Only change what is required to address the human feedback and change nothing else.

Here are the instructions that were originally used to build the task list:
Start by writing the Build Tool tasks, then write the Use Tool tasks. For the Use Tool tasks, you will be choosing the creator tools that should be executed via command line to generate the desired outputs (plots and files).

Here is the analysis plan that was used to build the task list:
---
{{analysis_plan}}
---

Here is the current task list:
---
{{task_list}}
---

Here is the human's feedback:
---
{{user_response}}
---

The following is the XML that describes the format of the task list:
---
{output_schema}
---

Respond only with the valid JSON matching the format above. Do not provide any text other than the JSON.
</prompt>

</rail>

Traceback:
Traceback (most recent call last):
  File "/Users/chasearmer/PycharmProjects/AnalysisAgent/main.py", line 66, in <module>
    app()
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/typer/main.py", line 328, in __call__
    raise e
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/typer/main.py", line 311, in __call__
    return get_command(self)(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/typer/core.py", line 716, in main
    return _main(
           ^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/typer/core.py", line 216, in _main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/typer/main.py", line 683, in wrapper
    return callback(**use_params)  # type: ignore
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/PycharmProjects/AnalysisAgent/main.py", line 61, in make_tasks
    tasker.create_task_list()
  File "/Users/chasearmer/PycharmProjects/AnalysisAgent/create_task_list.py", line 52, in create_task_list
    self.llm_write_task_list(self.analysis_plan)
  File "/Users/chasearmer/PycharmProjects/AnalysisAgent/create_task_list.py", line 79, in llm_write_task_list
    raw_llm_output, validated_output = guard(
                                       ^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/guard.py", line 187, in __call__
    guard_history = runner(prompt_params=prompt_params)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/run.py", line 94, in __call__
    validated_output, reasks = self.step(
                               ^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/run.py", line 170, in step
    self.log(
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/run.py", line 325, in log
    self.guard_history = self.guard_history.push(
                         ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/utils/logs_utils.py", line 70, in push
    guard_log.validated_output = merge_reask_output(last_log, guard_log)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/utils/logs_utils.py", line 184, in merge_reask_output
    update_reasked_elements(pruned_reask_json, reask_response)
  File "/Users/chasearmer/miniconda3/envs/ScienceAgent/lib/python3.11/site-packages/guardrails/utils/logs_utils.py", line 172, in update_reasked_elements
    pruned_reask_json[key], reask_response_dict[key]
                            ~~~~~~~~~~~~~~~~~~~^^^^^
KeyError: 'tasks'

Code:
guard = gd.Guard.from_rail('rails/write_task_list.rail')

        project_info = "{project_folder}\n{tool_summaries}\n{file_descriptions}".format(
            project_folder=get_directory_structure(self.project_path),
            tool_summaries=get_tool_summaries(self.project_path),
            file_descriptions=get_file_descriptions(self.project_path),
        )

        # Wrap the OpenAI API call with the `guard` object
        raw_llm_output, validated_output = guard(
            openai.ChatCompletion.create,
            prompt_params={
                "system_message": TASK_LIST_SYSTEM_MESSAGE,
                "project_info": project_info,
                "research_objective": self.objective,
                "activity_log": self.format_activity_log(),
                "analysis_plan": analysis_plan
            },
            model="gpt-3.5-turbo",
            temperature=0,
        )

        self.task_list = validated_output
        self.activity_log += ["Agent has written the task list"]
        self.write_task_list_to_file()

        return

Library version:
Version (e.g. 0.1.8)

@Chasearmer thanks for creating the issue! This bug is due to an issue on our end, where the system message isn't passed through on reasking which causes schema issues with GPT-3.5. There's a fix in the works for this #199 which is ready to go and should be merged pretty soon!

Hi @ShreyaR, I just retried with gpt-3.5-turbo and it appeared to work!


Return actual boolean value instead of 1

Phaser.Math.isOdd is documented as returning {boolean} but returns {number} instead. This breaks strict comparisons and is inconsistent with Phaser.Math.isEven.

:+1:


Which Brokered Method Should I use instead of CreateFileFromApp in a C# WinRT app?

Apologies if this is the wrong place to ask, but I assume one of the WinRT around here experts can help me with this. Does anyone know a lot about the Win32 brokered FromApp methods in UWP apps?
Because I'm trying to use CreateFileFromApp() but I keep getting an error code 5 (access denied). This baffles me because the FindFirstFileExFromApp() works alongside it just fine.
Calling the method like this:
IntPtr hDir = NativeDirectoryChangesHelper.CreateFileFromApp(path, 1, 1, IntPtr.Zero, 3, 128, IntPtr.Zero);
AND the signature for PInvoke is setup as follows:
[DllImport("api-ms-win-core-file-fromapp-l1-1-0.dll", CharSet = CharSet.Auto,
        CallingConvention = CallingConvention.StdCall,
        SetLastError = true)]
        public static extern IntPtr CreateFileFromApp(
            string lpFileName,
            uint dwDesiredAccess,
            uint dwShareMode,
            IntPtr SecurityAttributes,
            uint dwCreationDisposition,
            uint dwFlagsAndAttributes,
            IntPtr hTemplateFile
        );

Essentially, I'm attempting to get a handle to a directory for use elsewhere. The requirement is that it is opened with the FILE_LIST_DIRECTORY access right, or an access right such as GENERIC_READ that includes the FILE_LIST_DIRECTORY access right. My app has full file access permissions via broadFileSystemAccess as well as FullTrust capability.
P.S. : I've spent hours playing with the numerical arguments passed into the method with no luck, maybe I missed something...

Silly me!
I forgot to specify the FILE_FLAG_BACKUP_SEMANTICS flag. Everything works so far now


Support better profiling in bench

I find myself jumping between cargo bench and valgrind/perf a lot. It would be great if bench supported better profiling.
If this is something that interests the team, would it be better to implement this as something that talks to existing profilers, or sandbox the code directly? Could start out with basic information like what's available in perf stat.

Thanks for the report! We've often thought that a specific workflow around profiling would be nice to have in Cargo, although a cross-platform story is pretty difficult unfortunately :(
I suspect that this may best be done growing as a separate subcommand for now, and if it turns out well we can merge it back in.

Great, sounds good! Will get on it and circle back soon.

just started some work here: https://github.com/pegasos1/cargo-profiler
right now i plan on gathering information with multiple linux-based profiling tools, presenting info in most user-friendly way possible. maybe we can expand from there based on interest.

It would also be cool to be able to profile individual functions with a #[profile] attribute.

It would also be cool to be able to profile individual functions with #[profile] attribute

Awesome! Sounds good to me!

Hey Alex, check out the project so far: https://github.com/pegasos1/cargo-profiler
I'm still improving some aspects of the code, but version 1 is almost complete. You can see some example output in the README. Actual output is colored. Let me know if you have any initial feedback.

Nice! That looks pretty slick. You could even recommend cargo install --git in the README :)
I wonder if we can help out valgrind to demangle symbols wherever possible as well

thanks! will add that in.
Good idea. I'm pretty sure that just means removing "$*$" and everything past the last "::", but i'll have to make sure there aren't any weird edge cases.

Do you know if those symbols are a result of valgrind or rustc?

I believe they're all from the compiler, probably around impls and closures and such.

first release! http://www.suchin.co/2016/05/11/Introducing-Cargo-Profiler/

While I feel we should make the workflow clearer for profiling, I'm not sure how we'd address the problem that users might want to use one of several profilers which also have different modes and OS support.


Fixes

This fixes Civcraft/CivMenu#5, Civcraft/CivMenu#6, Civcraft/CivMenu#8
I have tested all changes.

Spelling error corrected
PlayerMoveEvent will not process a null location
Respawning clears the old location, and the move event updates itself with the new location after respawn. This works after death, and also if the player is kicked while dead and respawns after a reconnect.

Can one of the admins verify this patch?  Type 'ok to test' to test.

ok to test

Can I even do that?

I already have #4 finished, should i just commit and pin it onto this pull or just wait until after this pull is merged so its separate?

make a new branch, pull from civcraft's master into that branch, then do your changes and make a new pull request from that branch.

Sounds good.

This should be good to merge.

ok doing so.


Config.default doesnt make sense

I am setting max depth with $GLOBALS['_kint_settings']['maxLevels'] = 5; but only to find out it is beeing overriden by $_kintSettings['maxLevels'] = 7; in config.default.php file.
I mean I can delete it there and it will work, but this doesnt make sense, I might as well then change it there. This will also not work well with updates as I will then need to redo this. This config should be other way around or maybe it is somehow imagined to work that I dont understand?

You're using a version of kint that hasn't been updated since october 2016. Please use a version that's not ancient, thanks.

Yeah @adriadrop , you have a really really old version, like closer to 2014 :) I'm the original author of what you have, it's been improved upon for years since, and now @jnvsor is taking it to another level still, so good news to you, if you have issues porting, here's my personal setup:
require ROOT . '/system/kint.phar';
Kint::$aliases[] = 'dd';
function dd(...$vars){Kint::dump(...$vars);exit;}
Kint::$file_link_format = 'http://localhost:8091/?message=%f:%l'; // phpstorm + remote call (plugin)

Sorry, I am just using drupal integration of kint. https://www.drupal.org/project/devel
Maybe I just had old version of that module which integrated old kint, will need to check. Thanx for clarification.

Yup, it still uses pre-1.0, you can override the setting via Kint::$maxLevels = 7; :)

Can I ask about the Drupal module (never used it) what is displayed with ddebug_backtrace(): is it Kint as well? :)

I tried working directly on a devel patch for a few months but I swear I could hear crickets in the background...
Gave up in the end.


Add Helm install instructions

Issue #, if available:
Description of changes:
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Codecov Report

Merging #124 (c1db537) into main (f51777a) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main     #124   +/-   ##
=======================================
  Coverage   56.09%   56.09%
=======================================
  Files           7        7
  Lines         574      574
=======================================
  Hits          322      322
  Misses        244      244
  Partials        8        8

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


New Feature Models + Some Changes

Includes feature models for the C++ projects lepton and ECT, as well as some changes of the existing feature models:

brotli/lrzip: Added header with the project revision on which the feature locations are based on
lrzip: Updated the locations respectively and added some new features
xz: Deleted one incorrect feature variable

@Keller-1998 We update the feature library, so you should be able now to use the new functionallity to specify when a Feature was introduce/removed.
related se-sic/VaRA#965


extenting CLI options

I just thought, that CLI arguments of RF could be extended with following options
--executors which accepts integers: having this option set, many instances of robot could be forked/many threads could be spawned to execute the same set of tasks in parallel
--schedule which accepts datetime string: having this option, start of execution could be scheduled to given time
I know there are option already to achieve this, but I think it could be useful to support it natively.

We've made a pretty fundamental design decision to not have this kind of orchestration functionality in the core framework. Reasons include:

There are lot of ready-made generic tools available. One great example is Jenkins.
There are also Robot Framework specific tools like Pabot available.
Having just two options wouldn't be enough for anything more complicated. Better to expose APIs for external tools that can implement features like this.
Having everything in a single tool would mean that getting new features out would require waiting for new releases of the whole big thing. External tools can have their own release schedules.
It's unlikely that there would be one good orchestration solution for all usages. Better to have this out from the core so that there can, instead, be different external solutions for different needs.


bug with anonymous classes in extends for interfaces

Bug Report

🔎 Search Terms
Nothing, found bug locally
🕗 Version & Regression Information

This is a crash
This changed between versions ______ and _______
This is the behavior in every version I tried, and I reviewed the FAQ for entries about extends and interface
I was unable to test this on prior versions because _______

⏯ Playground Link

Playground link with relevant code
💻 Code

// We can quickly address your report if:
//  - The code sample is short. Nearly all TypeScript bugs can be demonstrated in 20-30 lines of code!
//  - It doesn't use external libraries. These are often issues with the type definitions rather than TypeScript bugs.
//  - The incorrectness of the behavior is readily apparent from reading the sample.
// Reports are slower to investigate if:
//  - We have to pare too much extraneous code.
//  - We have to clone a large repo and validate that the problem isn't elsewhere.
//  - The sample is confusing or doesn't clearly demonstrate what's wrong.

🙁 Actual behavior
class Bar {
  #color: number;

  constructor() {
    this.#color = 1;
  }
}

interface Foo extends Bar {
  prop: number;
}

// error TS2420: Class 'Baz' incorrectly implements interface 'Foo'. Property '#color' is missing in type 'Baz' but required in type 'Foo'.
class Baz
  extends class {
    #color: number;

    constructor() {
      this.#color = 1;
    }
  }
  implements Foo
{
  prop: number;

  constructor() {
    super();

    this.prop = 1;
  }
}

class Baw extends Bar implements Foo {
  prop: number;

  constructor() {
    super();

    this.prop = 1;
  }
}

🙂 Expected behavior
No errors,

Duplicate of #42660.

@MartinJohns I understand idea of private fields, but why it works for regular classes, but if I modify it to anonymous it will not?

Looks at second example:
Bar class
and
extends class {
    #color: number;

    constructor() {
      this.#color = 1;
    }
  }

are same

The Baw example works because it's extending Bar. Your Baz class is not extending Bar. The interface Foo refers to the private property #color of the class Bar.

hm, got it

Same reason why this example does not compile:
class Bar {
    #color: number;

    constructor() {
        this.#color = 1;
    }
}

const Baw = class {
    #color: number;

    constructor() {
        this.#color = 1;
    }
}

const bar: Bar = new Baw();


Measuring Inference Performance

Context: For inference (map creation) a TorchScript model is packaged into a TorchServe docker container which is then deployed into Google Cloud Run to allow parallel predictions for each pixel of the map.

Issue: Currently there are no performance indicators for this stack. This makes it difficult to understand when the architecture is operating at capacity and difficult to improve performance (ie https://github.com/nasaharvest/crop-mask/issues/109).
Potential solution:
Potential performance indicators:

TorchScript Model: For a single prediction measure time, CPU, memory. (Batch size may have an effect)
TorchServe inside and/or outside Docker container:

For a single request with a single model deployed measure time, CPU, memory
For 2 parallel requests with a single model deployed same as above
For 10 parallel requests with a single model deployed same as above
For a single request with multiple models deployed measure time, CPU, memory
For 2 parallel requests with multiple models deployed same as above
For 10 parallel requests with multiple models deployed same as above
At what point does CPU overload (request amount vs model amount)
At what point does memory overload (request amount vs model amount)
TorchServe start-up time
Docker container start-up time

Cloud Run:

For a single request: measure start time, CPU, memory
For 10 parallel requests, measure start time, CPU, memory, container amount, request latency
For 1000 parallel requests, measure start time, CPU, memory, container amount, request latency

Implementation:

Individual function for each task which outputs performance indicators
General script for all tasks which outputs a log/txt file with all performance indicators

Might be useful for TorchServe: https://github.com/pytorch/serve/blob/master/docs/performance_guide.md

@Aniket-Parlikar do you think it would make sense to create a new issue "Improving Inference Performance"?


add error message to RspecAdapter#bind

Due to the way the adapter name is inferred in KnapsackPro::Adapters::BaseAdapter, RspecAdapter#bind will not write the bind file to the correct location and the command will fail.
This adds an error message when RspecAdapter#bind is called, rather than silently inheriting the method from RSpecAdapter.

@nbr Thank you for your contribution. I've released a new knapsack_pro gem version 3.2.0.


Static filters and request spec filters doesn't work

 Filter csrfInHeaderFilter = (req, resp, ctx) -> {
        XmlPath htmlPath = given().cookies(req.getCookies()).when().get("/somewhere").htmlPath();
        String csrfToken = htmlPath.getString("html.head.meta.find { it.@name == '_csrf_header'}.@content");
        req.header("X-CSRF-TOKEN", csrfToken);
        return ctx.next(req, resp);
    };

Putting this in RestAssured.filters(..) or a RequestSpecBuilder causes stackoverflow whereas using given().filters(csrfInHeaderFilter) in each test case works.

I think this is because we do a new request inside the filter, then the static filter will be applied to the inner call as well, resulting in SO. One should use noFilter .


ReferenceError: FormData is not defined (fails Next.js build)

Calling openai.createChatCompletion() from a Next.js route handler causes the build to break with the following missing dependency:
- info Collecting page data ..ReferenceError: FormData is not defined
    at Object.19445 (/home/<username>/repos/<repo>/.next/server/chunks/901.js:2202:30)
    at __webpack_require__ (/home/<username>/repos/<repo>/.next/server/webpack-runtime.js:25:43)
    at Module.91102 (/home/<username>/repos/<repo>/.next/server/app/api/<endpoint>/route.js:76:12)
    at __webpack_require__ (/home/<username>/repos/<repo>/.next/server/webpack-runtime.js:25:43)
    at __webpack_exec__ (/home/<username>/repos/<repo>/.next/server/app/api/<endpoint>/route.js:301:39)
    at /home/<username>/repos/<repo>/.next/server/app/api/<endpoint>/route.js:302:78
    at Function.__webpack_require__.X (/home/<username>/repos/<repo>/.next/server/webpack-runtime.js:138:21)
    at /home/<username>/repos/<repo>/.next/server/app/api/<endpoint>/route.js:302:47
    at Object.<anonymous> (/home/<username>/repos/<repo>/.next/server/app/api/<endpoint>/route.js:305:3)
    at Module._compile (node:internal/modules/cjs/loader:1105:14)

> Build error occurred
Error: Failed to collect page data for /api/webhooks
    at /home/<username>/repos/<repo>/node_modules/next/dist/build/utils.js:1161:15
    at processTicksAndRejections (node:internal/process/task_queues:96:5) {
  type: 'Error'
}

Here's the code snipped from my function I'm calling from an API route:
const response = await openai.createChatCompletion({
    model: "gpt-3.5-turbo",
    messages: [
      {
        role: "system",
        content:
          "You are a helpful assistant.",
      },
      { role: "user", content: prompt },
    ],
  });
  const completionResponse =
    (await response.json()) as ResponseTypes["createChatCompletion"];
  return completionResponse.choices[0].message?.content || "<fallback message>";

I temporarily resolved this by using the official library.
Is there something specific I should be doing for this function call to not break the build?
Thanks!

@ibreslauer this library currently works in environments which support FormData, so you'll need Node v18. I'll update the docs to mention this, thank you. For reference:
https://developer.mozilla.org/en-US/docs/Web/API/FormData


bg-opacity- doesn't work with extended colors

Hi,
I added some of my own colors as per this guide.
However, I found that if I use bg-primary bg-opacity-50 opacity isn't get applied.
I guess, we need to convert those colors in our own form and add css var for bg opacity.
Regards.

Yes, I do. Uno preset.
Btw, I have colors as:
colors: {
  primary: "hsl(var(--primary))",
  success: "hsl(var(--success))",
  info: "hsl(var(--info))",
  warning: "hsl(var(--warning))",
  danger: "hsl(var(--danger))",
},

:root {
  --primary: 261.4, 97.7%, 66.3%;
  --success: 94.5, 100%, 39.6%;
  --info: 200.1, 100%, 54.3%;
  --warning: 42.4, 100%, 50%;
  --danger: 358.3, 100%, 64.9%;
}


docs: release notes for beta 15

Release notes for v1.0.0-beta.15

:grey_exclamation: Build Aborted

Either there was a build timeout or someone aborted the build.'}

the below badges are clickable and redirect to their specific view in the CI or DOCS

Expand to view the summary

Build stats

Start Time: 2021-10-14T20:38:26.877+0000

Duration: 28 min 58 sec

Commit: 419b30136aaa87393c54ef5273ad9b6090fc77a8

Test stats :test_tube:

Test
Results

Failed
0

Passed
136

Skipped
0

Total
136

:robot: GitHub comments
To re-run your PR in the CI, just comment with:

/test : Re-trigger the build.


APP-583

Password passing in cleartext on command line
Remove hardcoded default password / plaintext password in source

@dnsymphony please check.

ok to test


feat(model): Combined dataset to HF pipeline

Why this PR
merge dataset in hf dataset by can set weight of dataset
Changes

hf trainer pipeline can merge dataset

Related Issues
Close #
Checklist

[ ] PR should be in the Naming convention
[ ] Assign yourself in to Assigneees
[ ] Tag related issues
[ ] Constants name should be ALL_CAPITAL, function name should be snake_case, and class name should be CamelCase
[ ] complex function/algorithm should have Docstring
[ ] 1 PR should not have more than 200 lines changes (Exception for test files). If more than that please open multiple PRs
[ ] At least PR reviewer must come from the task's team (model, eval, data)

Can you test is this data loader actually can load two datasets with the specified weight

Can you test is this data loader actually can load two datasets with the specified weight

after test this solution don't exact match by weight, and some output data are duplicate

Can you test is this data loader actually can load two datasets with the specified weight

after test this solution don't exact match by weight and some output data are duplicate.

Approve krub


Observer are being triggered left and right when a model is saved, even if no value have been changed.

Version info

DEBUG: -------------------------------
DEBUG: Ember             : 2.7.2
DEBUG: Ember Data        : 2.7.0
DEBUG: Firebase          : 3.3.0
DEBUG: EmberFire         : 2.0.1
DEBUG: jQuery            : 2.2.4
DEBUG: Ember Simple Auth : 1.1.0
DEBUG: -------------------------------

Test case
Save any kind of model twice.
Steps to reproduce
Save any kind of model twice.
Expected behavior
Not observer should be called ( or property update ) on the second save, since no value have been changed.
Actual behavior
Observer are triggered, which make everything either very slow or not practical at all. You multiply that by the fact that relationships are saved on a different pass, and you obtain a callback nightmare.

2.0.2 is released with #425, please re-open if there are any other issues.


No Save Game on Quit for Loaded Games

From help:
"quit"     Quits the game and saves

Game saves on "quit" for new stories as expected.
If you load a game and "quit" then no save is generated.

I can reproduce this issue

This is a problem. It seems when a story is loaded, it should be assigned a new ID to be saved into a new file. Or that there should be 2 saving option, default save to the same file, and another "Save new" to save to a new hash.

I've seen people using save files to share custom prompts, so it should definitely be with a new id

I know the code path where this is so I can take a whack at it. Hopefully can get a PR out by end of week.

Investigation notes: It seems the main issue here is that the quit command prompts for the scoring of the story. The score of the story is being used to check whether the story should be saved or not.


Add support for FQDN Option from rfc 4704

The FQDN option can be used to exchange information about a DHCPv6 client's Fully Qualified Domain Name (FQDN) and about responsibility for updating DNS resource records (RRs) related to the client's address assignments.
RFC4704

I think there is some work left to do here for dhcpv6, we can leave this open if you want? You could manually pull the data out of UnknownOption but we support a first class type for v4 client fqdn, we could do the same for v6.

On Thu, May 18, 2023 at 05:32:05PM -0700, Evan Cameron wrote:

... we support a first class type
for v4 client fqdn, we could do the same for v6.

Any existing examples of such in v6 and v4,
so this re-opened issue deserverse the label "good first issue"?
Groeten
Geert Stappers
Silence is hard to parse

https://github.com/bluecatengineering/dhcproto/blob/master/src/v4/fqdn.rs has an example for v4, I'd imagine v6 would work similarly and could share types if the flags section is the same (I think it is).
This is the RFC:
https://www.rfc-editor.org/rfc/rfc4704.html#section-4
should be pretty straightforward if anyone wants to take it.


Cleanup code + make Shiny work

Switch to using rserver instead of rsession (thanks to @cmd-ntrf for the idea / #7)
This gets shiny working as well as providing more robust process supervision
Set USER regardless of it being present in current env or not. rserver needs this
to not throw up a screen around authentication
rserver does a lot of the environment introspection we were doing, so remove that.

@ryanlovett done!


Compile Error due to an interface change

Compile Error: Declaration of Symfony\Bundle\AsseticBundle\Twig\AsseticNodeVisitor::enterNode() must be compatible with Twig_NodeVisitorInterface::ent
  erNode(Twig_Node $node, Twig_Environment $env)

This is happening in my environment. I am running Symfony 2.7.* and assetic-bundle ^2.6@dev.
This is happening because the first parameter of enterNode and leaveNode of  Twig_NodeInterface needs to be changed to just Twig_Node.
    public function enterNode(\Twig_NodeInterface $node, \Twig_Environment $env)
    {
        return $node;
    }

    public function leaveNode(\Twig_NodeInterface $node, \Twig_Environment $env)

Is there a fix or workaround for this already? Please let me know as my environment is foobar'd due to this.

This is because this bundle is not yet compatible with Twig 2 (this is in progress in #375) and Symfony 2.7 now allows both Twig 1.x and Twig 2.
there is several ways to fix this:

add an requirement on twig/twig: 1.* in your composer.json to force using Twig 1
don't allow dev versions of all packages (Twig 2 is not released)

btw, this bundle might not be the only one incompatible with Twig 2. I suggest you to stick to Twig 1 in your projects for now.

Ok thanks for the quick reply. I assumed this was something being worked on or was known about. I will enforce my application to use 1.*.
Thanks!

Polite ping - I think twig 2.0 is now final: https://github.com/twigphp/Twig/releases  Is this still on the radar?

JMS\TranslationBundle\Twig\NormalizingNodeVisitor has strictly nothing to do with AsseticBundle. Please read error messages you get before reproting them to a project.

Sorry about that - bad mistake. Deleting original message and this one too


Delete pod stats on pod deleted

This PR adds a garbage collector to delete stats of pods that have been deleted. It is basically a k8s informer that reacts to pod deletion events by removing all the stats related to the pod from the stats cache.
The PR also removes all stats that had information about the grpc stream_id. This was previously used to cleanup stats but it was producing inconsistent results .
/kind bug
/priority important-soon
/assign

/lgtm

/approve

/ok-to-test


Remove Date and Timestamp from supported types

What changes were proposed in this pull request?
Remove Date and Timestamp from supported type until Arrow 0.3.0
How was this patch tested?
(Please explain how this patch was tested. E.g. unit tests, integration tests, manual tests)
(If this patch involves UI changes, please attach a screenshot; otherwise, remove this)
Please review http://spark.apache.org/contributing.html before opening a pull request.

LGTM, thanks!


[Event Hubs] Generate SAS example

Summary
The focus of these changes is to add an example of generating a SAS token using C# to the authorization sample.

API change check
API changes are not detected in this pull request.

/check-enforcer override

Failure is due to time outs when provisioning a macOS host in the pipeline.   Merging, as this is sample code.


Add HTTP request properties mapping

Problem
Provide the ability to pass HTTP request parts to operation calls.
Abstract implementation
Add negotiation directives family, with the following directives:

languages: a list of supported languages
input: mapping rules for the request input (in the example below, texts.observe)
predefined negotiators (special mappings):

language: substitutes best matching language using languages directive and accept-language header values
ip: TDB
any unknown mapping key: raw header value

headers used by input (including implicit use within predefined negotiators) are added to the Vary response header value

exposition:
  /:
    negotiation:languages: [en, fr]
    /texts/:id:
      GET:
        negotiation:input:
          language: lang        # predefined negotiator
          ip: ip                # predefined negotiator
          x-access-token: token # raw http header value
        endpoint: texts.observe

Request object example for the definition above:
input:
  language: fr
  ip: <IP_ADDRESS>
  x-access-token: HGGh8vOjL0d-8Vqik83A1S570Hddl68xvoiEpzHZVY

@tinovyatkin @maxacoustic rfc

Overall, mapping template is great to have feature that would solve bunch of existing problems naturally (for example we can have intermittent implementation of if-match using HTTP headers).
For the reference mapping templates in AWS API Gateway are extremely powerful and using Apache VTL templates.
While I'm not proposing to implement something that complex, I do believe we would need at least simple transformations like expressions in Azure syntax (I would say bare minimum would be lower, split / join, replace and ideally format).
Additionally, I believe using wording negotiation is misleading in this setting as Content Negotiation in HTTP has very particular meaning and set of headers while here we want broader access from Accept-Language all the way down to custom X-* headers or Date. So something like simple request -> mapping would be easier to follow (and opens a future opportunity to have response mapping if needed).
Last but not least, I found very useful while working with AWS API Gateway being able to also know identity / auth context values, like whether or not original request is authenticated and authentication scheme, and may be credential claims like roles, scopes, etc.

@tinovyatkin
Another option for the family name is vary.
exposition:
  /:
    vary:languages: [en, fr]
    /texts/:id:
      GET:
        vary:input:
          language: lang        # predefined negotiator
          ip: ip                # predefined negotiator
          x-access-token: token # raw http header value
        endpoint: texts.observe

I may have some misunderstanding on the concept but Vary looks even more confusing to me. Why can't we call mapping settings mapping ?
exposition:
  /:
    request:mapping:searchparams:
      age: age
      sex: gender

    /texts/:id:
      GET:
        request:mapping:headers:
          language: lang        # predefined negotiator
          ip: ip                # predefined negotiator
          x-access-token: token # raw http header value
        endpoint: texts.observe

   /me
     GET
       request:mapping:identity
         claims.groups: groups

@tinovyatkin  from practical perspective, because of effect on the 'Vary' response header.

@tinovyatkin  from practical perspective, because of effect on the 'Vary' response header.

Do we want to allow to map query strings also?

Do we want to allow to map query strings also?

Not within this tasks definitely.
Currently Toa directly maps query string of HTTP requests to 'query' property of an operation call.
Mapping for arbitrary query strings is subject for a discussion.

So, my favorite is still request:mapping:headers for being self-explanatory and potentially extendable. If we have to choice between vary and negotiation:input then vary sounds less misleading for me than negotiation for a generic headers.

So, my favorite is still request:mapping:headers for being self-explanatory and potentially extendable. If we have to choice between vary and negotiation:input then vary sounds less misleading for me than negotiation for a generic headers.

IP address is one of the future subjects of this mechanism, so as the time value when the request was accepted, for example. Neither of these are headers, but both may have an influence on the operation behavior and/or its response. For me this sounds like negotiation or variance.
Let's choose vary until we'll find something more fitting.


Keep attribute does not duplicate all cells

I need to compute the following:

nc = (a&b) ^ c;
nd = (a&b) ^ d;

However, I would like to force the tool to not optimize resources and keep all the gates.
I added the keep attribute and then I noticed that when I use the vsclib013.lib ( not attached ) it does as expected and replaces nc/nd with an AND+XOR gate. However, when I am using a library that does not have this gate gscl45nm.lib ( not attached ) and it has to use NAND gate instead, it performs resource sharing of the a&b operation with a NAND gate and then duplicates the inverter.
test_with_keep.zip
In the zip file there should be:

nano_test.v which is the verilog source with the gates.
nano_test1.ys which is the yosys script for vsclib013.lib
nano_test2.ys which is the yosys script for gscl45nm.lib
vsclib013.contr/gscl45nm.contr wich are the pin constraint files.

I tested with version 0.8 and the github master.

The Yosys README says

The keep attribute on cells and wires is used to mark objects that should never be removed by the optimizer. This is used for example for cells that have hidden connections that are not part of the netlist, such as IO pads. Setting the keep attribute on a module has the same effect as setting it on all instances of the module.

Although keep will tell Yosys not to optimise away things like cell instances altogether, it is not intended to prevent optimisations across modules boundaries. Yosys provides (* keep_hierarchy *) which will prevent an instance being flattened and therefore prevent any across-boundary optimisations. If you need a flat netlist at the end, you might need to remove this attribute from the instances using attrmap -remove before a final flatten after all synthesis and optimisation.

Thanks for the response. I will definitely use (* keep_hierarchy *) attribute instead. I was confused when to use one or another.
Also, thanks for telling about the  attrmap -remove , because it might come in handy.


Hour textbox overloay label is now not displaying correctly

Fixed with https://github.com/Raathigesh/Lazymine/commit/4795e42ea253c377fc1ef5d9ba2f89a0470eb431


fix(aniskip/seekbar): Show stamps and increase thumb size

The aniskip pref check was inverted and thumb was too small.

@Samfun75 , sorry to contact you like this, but I recently learned that superstream no longer works because it's no longer free for content 2023 and onwards. Unfortunately I haven't a way to purchase the subscription, could you maybe know how to?


Open Ownership

Moving discussion from https://github.com/osscommunity/starters/issues/8 into this new project.
Aidan presented me with the idea of Open Ownership: when a contributor surpasses a given threshold of activity, they earn automatic commit rights. The active community members shape the community, as it happens in Wikimedia and StackOverflow. Also, it lowers the risk of stagnation for a project that loses interest, say, in a company, and would be effectively abandoned. @afeld, do you have more resources on this?
A Software solution would be ideal, as the whole point of Open Ownership is not to depend on people to gain commit rights. To get it started in a lean manner, though, we could add a section to project's READMEs that defines the criteria for gaining commit access. Something like (numbers need to be defined):
# Becoming a team member

You will get automatic commit access to the project when you:

* get accepted 5 patches in a month, and
* actively participate in 3 issues per week

Do you know of any community that works this way? What do you think?

What's the argument in favor of this?
If a project is abandoned, someone can always clone (fork) it and revive it.
No fully automated analysis of someone's activity is going to be a good judge of whether they should be a committer on some particular copy of a project.  Automated tools can assist other humans in making that judgement (see http://www.red-bean.com/kfogel/beautiful-teams/bt-chapter-21.html#contribulyzer for example), but having the entire decision process be automated suffers from two problems.  One, the tools have no judgement (they can't distinguish between constructive bug tracker activity and trolling, for example), and two, automatic thresholds just motivate people to game the system -- e.g., submit what should be one patch in 5 parts, so they magically reach their 5-patch threshold.
I don't know of any community that works this way, and if I did, I'd worry for them :-).
I'm not sure what the purpose of Open Ownership is in the context of open source.  The whole point of open source is that it makes ownership irrelevant in the first place, since anyone can copy the code.  Instead, in open source what matters is who endorses which particular copy, and endorsement by its nature cannot be part of an open ownership structure.

Karl, thank you for your input!

What's the argument in favor of this?

To be honest, I have no idea yet of the potential implications of this. If nothing else, it will be at least an interesting social experiment though, unlike https://github.com/illacceptanything/illacceptanything, I'd like to see it working in a "real" software project with "real" responsibilities.

If a project is abandoned, someone can always clone (fork) it and revive it.

That is technically true. And if you are lucky, or have popular communication channels, or have a good set of connections, in the midterm you can always rebuild the community. But for contributors with less reach there's always the risk of a scattered community, united before by this git hub, where people check latest version, publish issues and patches, and where it's not always easy to find what the next better fork is once upstream is abandoned.

No fully automated analysis of someone's activity is going to be a good judge of whether they should be a committer on some particular copy of a project. Automated tools can assist other humans in making that judgement [...].

Tools that assist rather than decide sound indeed more reliable (Contribulyzer looks very useful) provided there's someone to be assisted to take the decision. I agree that there's no concrete metric that can automatically tell who will be a good contributor or not. I also see the potential for gaming a simple system where there're not many humans involved.

The whole point of open source is that it makes ownership irrelevant in the first place, since anyone can copy the code.

Again, that is theoretically true, but there're practical implications when a project centralizes the community and contributions.
The concrete case that pushes me towards this idea is http://github.com/doorkeeper-gem/doorkeeper, an omniauth provider library. It was built by a company that was bought, and everyone lost interest on it. There were dozens of contributors, hundreds of people discovering bugs and security issues, and thousands of downloads from the package manager. And there were dozens of forks solving the same issue over and over again too, with similar patches being ignored waiting to be merged upstream. If the owners hadn't responded to requests for commit access, that project would have potentially died.
A friend had an analogous case, where he lost access to the open source project he maintained after leaving the company, company that isn't interested in keeping that project alive.
If these cases had had an implementation of "open ownership" as we are discussing, the community backbones wouldn't have depended solely on a small company or set of people. Companies tend to have more reach than the individuals working on the project, so individuals don't have the possibility to tell many people that the project has been moved or renamed.

Granting commit access liberally is often a good thing; it's not "open ownership" of the project per se, but rather more-oopen ownership of that particular copy of the project.  But I think it's simply a strategy -- often a good one -- for managing a project in which there is no longer a single large investor.
I don't quite understand what it means for your friend to have "lost access to the open source project he maintained after leaving the company".  If it's open source, then he didn't lose access, by definition.  He may have chosen not to participate anymore, or chosen not to create a new fork of the project if the copy he used to work on was no longer being maintained or he no longer had commit access, or whatever.  But if something is open source, that means that no one can ever "lose access" to it (unless they lose their Internet connection, or something, but that's something about the person not the project).

I don't quite understand what it means for your friend to have "lost access to the open source project he maintained after leaving the company". If it's open source, then he didn't lose access, by definition.

Indeed he didn't lose access to the source, but to the community. Many contributors know the company behind of the project, but not himself as maintainer, and his new fork. Community is the main reason why we work in the open, but community is centralized somewhere, and that can't be moved over as easily as the source.

this is how we do it over in my corner of node land: http://openopensource.org/. this is an example project that uses that method, it has 19 owners who get input on project level decisions


[KYUUBI #5271][Bug] AnalyzeTableCommand should also add table write privilege

Why are the changes needed?
Since AnalyzeTableCommand also update table's metadata, since alter command also need table write privilege, AnalyzeTableCommand need too
How was this patch tested?

[x] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Was this patch authored or co-authored using generative AI tooling?

@pan3793 @bowenliang123 @yaooqinn Could you take a look?

Codecov Report

Merging #5272 (cdd8100) into master (9302110) will not change coverage.
Report is 6 commits behind head on master.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master   #5272   +/-   ##
======================================
  Coverage    0.00%   0.00%
======================================
  Files         590     590
  Lines       33345   33345
  Branches     4406    4406
======================================
  Misses      33345   33345

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

@yaooqinn @bowenliang123 How about current?

Probably, this will make the behavior inconsistent with Apache hive

Thanks, merged to master and 1.8


Path Re-evaluation for Car Behavior

Sometimes after traveling for a bit, things open up and re-planning right then would help a lot. How can we program in this intelligence? For example, escape behavior will switch to car behavior when a clear line of sight is found, but when would car decide it too should drop its last plan in favor of something else?

This is probably not necessary enough to warrant an issue.


Refresh token request

Implement basic support for refresh_token grant_type.

I've force pushed a rebase onto @tvh's more recent master.
The refresh endpoint in the demo server now functions correctly (assuming you don't care about expiry) and the tests exercise that functionality.

Woot! Tests pass.

Looks good, I'll let you merge when you're ready.


Android studio v3 not working

After adding the plugin to v3 studio the plugin stopped working and it's not showing the generate option

I'm using it on AS 3.0.0-beta6 and everything works as before.

i have uninstalled and reinstalled it but still not working , i'm using Android Studio v3.0 beta 6

i believe there was in issue in android v3 beta 6,
However in v3 beta 7 it's working


Non-virtual calls to abstract but MethodImpl'd methods

Loader\classloader\regressions\429802\CMain

Apparently, doing a non-virtual call to an abstract method that has a MethodImpl on the same type should land on the MethodImpl.
This might be related to leftover work in #366. The CoreCLR sources seem to suggest we should have the same behavior for jmp method.

Dropping this behavior in CoreCLR. Won't fix.


Remove unneeded cfgs from examples causing errors on non G474-devices

Thanks @AdinAck for finding the problem


Not showing anything

@jmallyhakker what device are you using?

I was on windows with chrome

Check the javascript console in chrome do you see any error messages?


launch wizard text layout - can't read some things

Look at the Daffodil Debugger Classpath in the image. This is not readable.
(Tested 1.3.0-RC3)

In addition, when trying to add a jar file from under lib_managed, I am unable to actually select the jar file itself. It only lets me select the directory containing the jar file. I had to edit the launch.json directly to type in the file name+extension manually.

I added this to the DaffodilDebugClasspath
${workspaceFolder}/lib_managed/jars/com.owlcyberdefense/dfdl-ethernetip/dfdl-ethernetip-1.2.0.jar
This file does exist. I cut/pasted it into emacs and opened the jar.
However, VScode just complains it does not exist with a little dialog.

Changing this to an absolute pathname allows vscode to find the jar.

So you couldn't select a single JAR file only the directory? That is something we want to allow the user to do so I will look into that.
As for the full pathname and using ${workspaceFolder}. The issue there might be that you needed some additional folders after ${workspaceFolder}. ${workspaceFolder} is the directory that holds the .vscode folder. So if you have /home/mbeckerle/thisWorkspace/.vscode/launch.json, the ${workspaceFolder} is /home/mbeckerle/thisWorkspace/. Not sure if that helps at all.

@mbeckerle would you like this in 1.3.0 or 1.3.1?

@mbeckerle I actually found the issue, it was with us validating paths. Whenever we are validating paths currently we forget to replace ${workspaceFolder} with the actual path causing the issue you mentioned. Will add this to 1.3.0 as this is something it should have.

@mbeckerle Can you double check the issue with selecting a single JAR? I was able to do this in the launch wizard you just have to drill down all the directory to be able to select it.

@shanedell I definitely cannot select a jar file. I can only get down to the directory that contains the jar. It won't let me choose the jar to add to the classpath.

@mbeckerle Uh yeah it should allow you, I will see if I can reproduce that. But for the GUI, does those paths always look that bad or only whenever its a longer path?

With very short paths, if they fit in the black oval, it looks ok. But those are not realistic paths.
And note that the Data absolute path to the input data file oval is a long file name that doesn't fit, but it doesn't become unreadable.
So something specific is going on with the Daffodil Debugger Classpath entries.

@mbeckerle So I have an update to CSS I think will work, how does something like this look?

Basically what will now happen is the width and height of the item will fit to the content for each item. In the case of height needing adjusted the text will wrap so it doesn't look as bad.


Hi, is this a bug in codes?

In this line  _https://github.com/epfml/ChocoSGD/blob/3cb976a54499c2cdc8ea68e001217b42b58870ae/dl_code/run.py#L98_, the task_scripts=[_tasks] transmits the variable _tasks into _https://github.com/epfml/ChocoSGD/blob/3cb976a54499c2cdc8ea68e001217b42b58870ae/dl_code/tmux_cluster/tmux.py#L28_, so the len(task_scripts) should always be 1. So I guess there will be some bugs _https://github.com/epfml/ChocoSGD/blob/3cb976a54499c2cdc8ea68e001217b42b58870ae/dl_code/tmux_cluster/tmux.py#L41._

Hi, the len(task_scripts) should equal to 1, as for each IP (i.e. node), it will only initialize one process. It is an adapted usage of the tmux.py. So I think it is not a bug.
BTW, by default, we do not use this functionality (though we provided them here); the remote_exec  is our use case is always equal to False, i.e. line 93 of run.py will be executed.

Thank you!
If I want to use multiple remote machines, maybe I need to change some codes here.

I think it somehow depends on the communication backend you want to use.
These remote execution code snippets were used for my personal NCCL backend usage (that is why for each node/IP, I only initialize one process).
If you can use MPI backend, I think a more convenient way could be: configure your hostfile with the IPs of your remote machines and change the lines in run.py a bit by only initializing the MPI task on one of your nodes (the code of tmux_cluster should not be modified).

@IamTao Got it. Thank you for the detailed explanation !

hi, @IamTao
May I ask why people tend to use MPI instead of NCCL? Seems PyTorch strongly suggests using NCCL instead. Plus, seems NCCL is more for GPU-GPU communication and MPI is more for CPU-CPU communication?
do you have any plan supporting NCCL?

Hi, the reason why we choose MPI instead of the NCCL, is mainly due to the supported communication operations, as you can find them in this link.
It is much flexible to use send and recv operations, supported by the MPI backend (built from source with CUDA support), for research on decentralized deep learning.


Define image manifest artifactType and guidance

This adds an artifactType field in the image manifest, defines a scratch media type, and provides guidance on using the image manifest for artifacts. This design is based on the discussions from the 2023-03-23 meeting.

Hi all,
I have some questions on how the artifactType in this PR would be used by the referrers API /v2/<name>/referrers/<digest>.
Given this PR, I would expect /v2/<name>/referrers/<digest> to return a mix of matches on both config descriptor mediaType and artifactType (if and only if config descriptor mediaType is scratch). Is this correct?
In the server reply the artifactType field the value returned would sometimes be from config descriptor mediaType, and sometimes from artifactType, depending on the individual artifact?
Also if this is the case, I would expect the artifactType query parameter in /v2/<name>/referrers/<digest>?artifactType=<artifactType> to match sometimes the config mediaType and sometimes the artifactType.
Is this correct? It doesn't seem consistent for the consumer of the API.

@andaaron the update to the referrers API is in distribution-spec: https://github.com/opencontainers/distribution-spec/pull/395


Stringable value objects as router actions

Current situation: When creating routes, the action must be a string.
With this pull requests we'll be able to pass a value object.
Reason: Working  on several DDD projects I try to use, when it may enrich the domain, ValueObjects as an alternative to simple types. This in order to make implicit concepts more explicit.
In my project, action is not a string, its an Action which simply correspond to a value object with the __toString method.

This implementation of Str::isStringable does not support all the scalar values that php can implicitly convert to a string, like integers and floats. I understand that the router does not really want to generate actions to the number 3, but I believe that a public static method on Str should support it.

Interesting observation. I'll build some unit tests on the Str::isStringable to develop the concept.
Just, this would introduce, in cases like the router action the need for something like:
Str::isStringable($value, $strict = false)

So to avoid a router action on number 3 or on value true, in those cases(and avoid headaches on debugging bugs) with a strict set to true, it will just return false.
I'll think(unit test) on it, and see what happens.
thanks

No plans to add this. Not sure we're adding real value here.


404 on tenant routes when running HTTP tests

I'm really enjoying this package so far and really appreciate all your hard work!
I have run into something I can't figure out.
I would like to be able to write a feature test that sets up a Tenant in the database, creates a user and then attempts to login via an HTTP request similar to the Laravel HTTP Tests Documentation
The Problem
When the test sends the POST request to attempt a login - I receive a 404 on a route that is defined in the routes/tenant.php file.
The Tenant::createFrom() method is successfully creating the tenant in the central database, creating the tenants DB and creating a user with the correct credentials in the respective Tenant's database. I can verify this by visiting the tenant site and logging in with my browser.
Is it possible that the routes/tenant.php file is not loaded automatically for testing?

<?php

namespace Tests\Feature;
use App\Models\Tenant;
use Tests\TestCase;

class TenantRegistrationTest extends TestCase
{

    /** @test */
    public function a_new_tenant_can_login()
    {

        $fqdn = str_random(5).'-login.multi-tenant-app.test';

        $tenant = Tenant::createFrom($fqdn, 'name'<EMAIL_ADDRESS>'password');

       tenancy()->initializeTenancy($tenant->tenant);

        $this->withoutExceptionHandling();

        $form = $this->post('https://'.$fqdn.'/login', [
                                'email' =><EMAIL_ADDRESS>                                'password' => 'password'
                            ]);

        /**
        *   Fails here - Response status code [404] is not a successful status code. Failed asserting
        *   that false is true.
        **/
        $form->assertSuccessful();

    }
}

I have the following in routes/tenant.php
    Route::get('login', 'Auth\LoginController@showLoginForm');
    Route::post('login', 'Auth\LoginController@login')->name('login');
    Route::post('logout', 'Auth\LoginController@logout')->name('logout');

App\Models\Tenant.php
public static function createFrom($fqdn, $name, $email, $password = null): self
    {
        $tenant = StanclTenant::create([$fqdn]);

        tenancy()->init($fqdn);

        static::addRolesAndPermissions($fqdn);
        static::addDefaultSettings($fqdn);

        $admin = static::makeAdmin($fqdn, $name, $email, $password);

        tenancy()->end();

        return new self($tenant, $admin);
    }

Is it possible that the routes/tenant.php file is not loaded automatically for testing?

The routes are loaded only on domains listed not listed in tenancy.exempt_domains. Is localhost or <IP_ADDRESS> by any chance in your exempt domains? And do you see your tenant routes in artisan route:list?
I'm thinking that I could get rid of the conditional loading, since the PreventAccessFromTenantDomains middleware makes it impossible to visit tenant routes on central domains and vice versa.
Try removing the if check in vendor/stancl/tenancy/src/TenantRouteServiceProvider.php: https://github.com/stancl/tenancy/blob/2.x/src/TenantRouteServiceProvider.php#L14.

I've recreated the same symptom.
It seems the tenant routes aren't being registered.

Update: removing the wrapping if lines, but keeping the code inside the condition, does appear to resolve it.

I'll fix this as part of #169

Removing the conditional loading solved the problem. I also now have all my tenant routes showing in php artisan:list
Thank you both for the help!


How to install?

Dump from my terminal:
(py36) ❯ pip install requests-http
Collecting requests-http
  Could not find a version that satisfies the requirement requests-http (from versions: )
No matching distribution found for requests-http

I prefer to use conda-environments rather than pipenv, so it would be nice if I could install using pip.

pip install requests-html

Man, I'm stupid.


Add recursion search 'node_modules/.bin' through directory tree

It allows to find programs on monorepo configuration or even global 'node_modules' packages.  It also fixes issue #20 .

I am playing with it but it is fairly slow each time that a .js file is opened.
I am not sure about how to improve performace


(chore): release off of master

Summary

Catching some PRs we missed.

Pull Request Test Coverage Report for Build 1248

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

Totals

Change from base Build 1242:
0.0%

Covered Lines:
18030

Relevant Lines:
20105

💛  - Coveralls


Remove extra v in help file

Description

VERSION already has a v and that seemed intentional given usage in
notes files.
Related Issues

Motivation and Context

How Has This Been Tested?

 make | grep vv || echo okay
Types of Changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring (improves code quality but has no user-facing effect)
[ ] Breaking change (fix or feature that would cause existing functionality to change)
[x] Documentation

Readiness Checklist

[x] My code follows the code style of this project
[x] My change requires a change to the documentation
[x] I have updated the documentation accordingly
[x] I have added tests to cover my changes
[x] All new and existing tests passed

feel free to re-commit this if you want. I'm still struggling with commit signing.


When attempting to install a package with an incorrect spelling, the error message is confusing.

As an example:
$ zopen install findutilsport
- Querying remote repo for latest package information
Installing package: findutilsport
***ERROR: Could not get all releases for findutilsport

Using the correct spelling works:
$ zopen install findutils
- Querying remote repo for latest package information
Installing package: findutils
- Installing findutils...
- Downloading findutils-<IP_ADDRESS>31109_042435.zos.pax.Z file from remote to zopen package cache...
....

Originally, the port suffix was checked for and stripped out so both should work - something must be using the unstripped name...

Thanks for the tip Devonian!

IS this still valid as #575 & #626 changed this area of code

What do you mean still valid? Please elaborate.


progressbar button text color white in safari on macbook

e30f3ddb34bfc54a65c636a16c4183cb0f9233e7
should be dark

also button itself is black/dark on iphone + chrome

Should be fixed by a7f03a4d1b51f938e7b1e900b8198f4a4729761d, needs confirmation

Tried it on macbook, iphone, ipad, all good. Closing


"Try it online" codepen link in the docs are down

This link: https://codepen.io/hyperapp/pen/NvYdma?editors=0010
redirects to a 404 page

@Stanley-Jovel Thanks for reporting. What page in the docs?

Sorry, I did not elaborate. I updated the issue with more details

It's fixed, thanks! 🎉

That was a very fast response, thanks! 👍


Dynamic Textfield with displayAsPassword==true renders cursor in wrong place on html5 target

The cursor is rendered in the position as if the text field was displaying clear text (so if I enter "WWWWW" the cursor ends up further on the right than I enter "IIIII".
To reproduce, use any such textfield on html5 targets.

I don't have this issue on the development version,
what version of lime/openfl do you use?

currently working with 4.3.0 here. If the issue has already been fixed, all the better.

Could also be a font/browser issue, do you use the default one? and which browser?
Tested on firefox with default font.

Yes, I think I fixed this recently

Yep, it's fixed already.


Support NIO Transport Services - part 2

This is the continuation of the good work of @Yasumoto and @weissi in #135
The following code adds support for NIO Transport services. When the ConnectionPool asks for a connection bootstrap it is returned a NIOClientTCPBootstrap which wraps either a NIOTSConnectionBootstrap or a ClientBootstrap depending on whether the EventLoop we are running on is NIOTSEventLoop.
If you initialize an HTTPClient with eventLoopGroupProvider set to .createNew then if you are running on iOS, macOS 10.14 or later it will provide a NIOTSEventLoopGroup instead of a EventLoopGroup.
Currently a number of tests are failing. 4 of these are related to the NIOSSLUncleanShutdown error the others all seem related to various race conditions which are being dealt with on other PRs. I have tested this code with aws-sdk-swift and it is working on both macOS and iOS.
Things look into:

The aws-sdk-swift NIOTS HTTP client had issues with on Mojave. We should check if this is the case for async-http-client as well.

Here's a list of all the failing tests. Some of them fail both with TS and without.
With Transport Services

[ ] All the TLS tests. Issue with tests, can't get Network.framework to verify SSL certificates.
[ ] testAvoidLeakingTLSHandshakeCompletionPromise throws connectTimeout instead of NIO.ConnectionError
[] testStressGetClose

Without

[] testProxyTLS crashes inside the server code (this happens with TS as well)
[] testUDS... are crashing with a leaked promise

fyi Set Environment variable "ENABLE_TS_TESTS" to "true" to test NIOTS.

@weissi @Lukasa @artemredkin I think this is ready for another review. All the tests pass except the ones which have race conditions (and have caused issues on the non NIOTS branch) and the SSL Unclean shutdown ones.
The race condition errors I have a local change which fixes all but testStressGetClose() but @adtrevor is working on a related PR which has a similar fix and @artemredkin has also posted a PR so left the fix out to avoid merge hell.
I'm not sure what to do with the SSL unclean shutdown errors. This is an error coming from NIOSSL. Is this something that needs caught on NIOTS as well or does it deal with these issues internally.
I added a TLSConfiguration to NWProtocolTLS.Options conversion. This can set min/max TLS version and disable certificate verification. I'm not sure what other elements of this will be needed, so didn't implement anything else. Like I could implement the cipher suite but its a fair amount of code and I'm not sure it is worth it. I call preconditionFailure on anything that isn't supported.
Error Handling: I created a DNS Error which is an enum with all the DNS errors listed in dnssd. Finding this file took me ages so thought an enum would help here. I had similar issues with TLS but there are so many TLS errors I left it as the OSStatus value. If you have a list of common TLS errors we could make an enum of those. The posix error type uses the already available POSIXErrorCode enum. Although I just thought we could extend this enum to be the error.

Is this something that needs caught on NIOTS as well or does it deal with these issues internally.

Sadly it deals with them internally at the moment.

Is this something that needs caught on NIOTS as well or does it deal with these issues internally.

Sadly it deals with them internally at the moment.

So I should ignore these tests? In general I am getting other errors back, apart from testNoContentLengthForSSLUncleanShutdown which doesn't throw any error.

I suspect the tests should simply be skipped: as there's no unclean shutdown reporting, these tests are kind of moot.

I suspect the tests should simply be skipped: as there's no unclean shutdown reporting, these tests are kind of moot.

I'm ignoring these tests if running NIOTS

@Lukasa I think that's all the changes you've requested dealt with.

@swift-server-bot test this please

@adam-fowler some tests are missing from linux test definitions:
diff --git a/Tests/AsyncHTTPClientTests/HTTPClientTests+XCTest.swift b/Tests/AsyncHTTPClientTests/HTTPClientTests+XCTest.swift
index c6a8699..0ffeb42 100644
--- a/Tests/AsyncHTTPClientTests/HTTPClientTests+XCTest.swift
+++ b/Tests/AsyncHTTPClientTests/HTTPClientTests+XCTest.swift
@@ -96,7 +96,7 @@ extension HTTPClientTests {
             ("testPoolClosesIdleConnections", testPoolClosesIdleConnections),
             ("testRacePoolIdleConnectionsAndGet", testRacePoolIdleConnectionsAndGet),
             ("testAvoidLeakingTLSHandshakeCompletionPromise", testAvoidLeakingTLSHandshakeCompletionPromise),
-            ("testAsyncShutdown", testAsyncShutdown)
+            ("testAsyncShutdown", testAsyncShutdown),
         ]
     }
 }
diff --git a/Tests/LinuxMain.swift b/Tests/LinuxMain.swift
index 93e594a..de6695f 100644
--- a/Tests/LinuxMain.swift
+++ b/Tests/LinuxMain.swift
@@ -28,6 +28,7 @@ import XCTest
     XCTMain([
         testCase(HTTPClientCookieTests.allTests),
         testCase(HTTPClientInternalTests.allTests),
+        testCase(HTTPClientNIOTSTests.allTests),
         testCase(HTTPClientTests.allTests),
         testCase(RequestValidationTests.allTests),
     ])

could you please add them? you can do it by running:
scripts/generate_linux_tests.rb

thanks!

@adam-fowler some tests are missing from linux test definitions:

The only tests I added were specific to NIOTS so aren’t really valid on Linux. Do you still want me to add them?

Files and methods are still visible to swift compiler, so we have to add them, yes

@artemredkin Even though they have a #if canImport(Network) around all of them.

Ah! Thats a very good point. Our linux tests are generated automatically and tests will not succeed if automatically generated linux test descriptions do not match those in the commit. But it seems that our script does not understand #canImport macro... Correct solution would be to put those #canImport statements inside all NIO-specific methods.

Correct solution would be to put those #canImport statements inside all NIO-specific methods.

done

@swift-server-bot test this please

@swift-server-bot add to whitelist

hit #175

retrying

@swift-server-bot test this please

@weissi thank you.
I do have a fix for #175, but @adtrevor has his own version of the fix in one of his branches I believe. Do you want me to put up a PR to compare?

@adam-fowler I think the already opened PR #192 should fix #175 while also making the code simpler

@adtrevor as I mentioned in #175 if it protects against releaseAssociatedConnection being called multiple times then we're cool.


Link Payment and PaymentACK to Payment on the UI

When reviewing a Payment the transaction details should show the contents of both the BIP70 Payment and the PaymentACK to give the user a complete picture.
BIP70 indicates that the refund option remains open for 2 months so it might be worth putting a "countdown to expiry" in a friendly form (2 days -> 16 hours -> 3 seconds -> expired).

This requires an interim code review to verify that it is going in the right direction. There are still plenty of TODOs outstanding.

Looks fine so far.
Still plenty to do to hook everything up but it's a good start.
Moved back to 'In progress'.

Here is the use case covering the UX of paying a PaymentRequest.

User acknowledges the alert and sees the PaymentRequest display in Send Bitcoin wizard
After reviewing user can click "Cancel" but decides to click "Next" to proceed (no special button in the view any more)
User is taken direct to confirmation screen
User optionally enters private notes and then their password
User clicks "Send" and sees the standard report view with "Cancel" (enabled) and "Next" (disabled) buttons. Clicking "Cancel" closes the wizard but does not stop an ongoing broadcast. See failure handling section for details on this.
The send is successful. "Next" enables and "Cancel" disables to force a single path.
User clicks "Next" and sees the memo view with text area and enabled "Next" button
User optionally enters a memo, clicks "Next" and sees a final report view with enabled "Finish" button
The Payment is persisted immediately (failure count of 0)
Background operation with on-screen updates to report view (Payment sent OK, PaymentACK received OK with optional memo from merchant shown in read-only field with copy support)
If a PaymentACK is received it is persisted along with the others
If the Payment or PaymentACK fails then the Payment failure count is incremented by 1
User clicks "Finish" and wizard closes.

Handling failures
If the user experiences a failed Tx broadcast they can click "Cancel" to escape. This is treated internally as "did not try to pay" to keep handling simple. No Payment or PaymentACK is stored.
If Payment or PaymentACK fails then further attempts to re-send Payment are made at wallet unlock. Each failure causes the failure count to increment by 1 up to a maximum of 3. If the PaymentRequest has an expiry time then it is respected in this process. To allow for manual re-send of the Payment, a "Fix this" button is available next to the status of "Not acknowledged by merchant" on the PaymentDetails view.

I've put in new screens to support the Payment memo and Payment ACK memo.
A few changes from the notes above:

The initial 'show payment request screen' is in the Payments wizard - I've left it in there and so it still has the  'in panel' button that fires up the Send wizard.
On the Send Report I haven't put in a 'Cancel' but a 'Finish'. 'Cancel' suggests you can cancel the send of the tx but it is too late baby - the bitcoin is out in the network.

The hook up to events/ PaymentProtocolService / persistence isn't started yet - this is all GUI work.
Screenshots:

For the non-bip70 sends the screens are unchanged.

Screenshots aren't uploading. Oh well.
Try out the 'pay to MultiBit donations payment request' and try it out for real.

Just a quick note on the use of "Cancel" in the Send Progress report. It should only be present for BIP70 and initially disabled along with "Next". If the broadcast fails then it enables and "Next" remains disabled, if the broadcast succeeds it remains disabled but "Next" enables.

The Cancel cannot be initially disabled and then enabled on a fail as a send does not necessarily fail - it can just 'take forever'. If the Cancel is thus enabled it gives the impression you can cancel the tx send, which you cannot.
That's why I put in a finish, as you can Finish at any time and it is the same as the non BIP70

Also, you don't really need both Cancel and Finish on the display of the Payment Request - they both do the same think. Suggest we remove the cancel

I've put the cancel back onto the Send Confirm screen as per your notes for BIP70. You need something to escape if things don't work right (e.g. not enough money).
There are probably some exception paths to sort out but the sunny and rainy day paths should all be working now.
Awaiting interim review
I'll have a play with the test Payment Protocol Service to harden it but it's worth looking at now.

I have added some fixtures to PaymentProtocolHttpsServer so that MBHD can consume them but haven't got the certs to work.
I add the same fixture twice in the PaymentProtocolhttpsServer#main twice. If I consume it in main method in PaymentProtocolHttpsServer it works fine but if I consume it in MBHD I get:

I've tried putting the 'mbhd-cacerts" with the localhost from the test fixtures into the wallet data dir but that does not work. Same error.
It is definitely talking to the PaymentProtocolHttpsServer as I see a stack trace on the server. as well as MBHD. The error is:
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
	at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
	at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
	at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
	at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
	at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)

Any ideas ?

Yeah. Look at the payment protocol test to see mbhd - cacerts - with -
localhost in action.
On 5 Apr 2015 13:30, "Jim Burton"<EMAIL_ADDRESS>wrote:

I have added some fixtures to PaymentProtocolHttpsServer so that MBHD can
consume them but haven't got the certs to work.
I add the same fixture twice in the PaymentProtocolhttpsServer#main twice.
If I consume it in main method in PaymentProtocolHttpsServer it works fine
but if I consume it in MBHD I get:
[image: screen shot 2015-04-05 at 13 15 49]
https://cloud.githubusercontent.com/assets/919427/6996794/4e8a072c-db96-11e4-9671-538afc1c679d.png
I've tried putting the 'mbhd-cacerts" with the localhost from the test
fixtures into the wallet data dir but that does not work. Same error.
It is definitely talking to the PaymentProtocolHttpsServer as I see a
stack trace on the server. as well as MBHD. The error is:
Caused by: javax.net.ssl.SSLHandshakeException: Received fatal alert: certificate_unknown
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192)
at sun.security.ssl.Alerts.getSSLException(Alerts.java:154)
at sun.security.ssl.SSLSocketImpl.recvAlert(SSLSocketImpl.java:1959)
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1077)
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1312)
at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1339)
Any ideas ?
—
Reply to this email directly or view it on GitHub
https://github.com/bitcoin-solutions/multibit-hd/issues/483#issuecomment-89761118
.

Yeah I have it working in PaymentProtocolHttpsServer#main just not in MBHD
Must be the cert store.

Verified the screens. Still need a real test against an endpoint (see #491).

Screenshots for the completed usecase:

The easiest way to test this is:

Start up the PaymentProtocolHTTPSServer. This runs on localhost:8443
Fire up MBHD with the command line parameter: file:////multibit-hd/mbhd-core/src/test/resources/fixtures/payments/localhost-signed.bitcoinpaymentrequest
Run through the use case from the alert

Awaiting review and closing

Verified working (after some fiddling around to get a localhost PKIX working).
Closing.


community curation feed/ curation attribution check

I notice that a  paper of Juan's that I  put through "temporarily' is a the top  of the list:
https://github.com/pombase/curation/issues/1525
This  session, although it has been community assigned, has no actual community curation. Can we restrict the feed to only papers where the community was assigned, and some curation was made by them?
(I only changed this yesterday in the session, it was attributed to Juan the day before, so it is possible that  the website hasn't caught up...

Also this session is attributed to Takashi, but he didn't appear to do the annotation for this one?
http://preview.pombase.org/reference/PMID%3A26900649

So I took Juan's paper out of approval temporarily.
I  wanted to announce that (among other things) the communiyt curation feed was showing the most recent curation sessions, and I thought it looked bad that very incompletly curated session was at the top of the list.
It's still there though?
http://pombase2.aska.gen.nz/
(but not sure when this update is from, I think its very recent though)

So I took Juan's paper out of approval temporarily.

It looks like it's still approved:
https://curation.pombase.org/pombe/curs/3233320f8849c7ea

OK thanks reactivated, will check tomorrow!


geometryWithinRadius error when type is Point

There's an error with the geometryWithinRadius function. When the type is "Point", the pointDistance function expects the first parameter to be a coordinates array.
if (geometry.type == 'Point') {
  return gju.pointDistance(geometry, center) <= radius;
}

Should be changed to:
if (geometry.type == 'Point') {
  return gju.pointDistance(geometry.coordinates, center) <= radius;
}

Wow, sorry, I totally missed the .coordinates being read on the pt1 and pt2 arguments...


Added extended offset option

Adds an option to extend spectrums calculated offset (through getOffset). This allows to specify an offset which is applied on top of spectrums offset calculations.
List:

[x] Added extendedOffset option
[x] Added tests for extendedOffset option
[x] Added documentation for offset & extendedOffset option

Would be cool to see this go into spectrum. Not convinced about wording and naming, but any feedback is greatly appreciated 👌

I submitted this pull request #430 because it seems like setting an offset should just reposition the container relative to its current position. If you want to override the coordinates it seem like there should just be coordinates or xPosition and yPosition option.

@jwerre either way I feel like spectrum needs a relative positioning option. I just did not want to break the existing offset option.
@bgrins any thoughts?

@bgrins, @tsov offset is still undocumented isn't it? Should upset to many if you changed it.

@bgrins ping