Strava heatmap website is changed, extension seems broken

Hi,
I just noticed that Strava changed previous link (https://www.strava.com/heatmap) which now redirects to https://www.strava.com/maps/global-heatmap and I don't see extension anymore (or maybe it is just me?). Just wanted to let you know and hopefully this will not be too great of change to adapt this great extension!

Thank you for letting me know.  I am seeing the same.  It looks like they have changed the sport/activity picker UI element and the color picker is no longer available.  I've gotten the basics of the extension working again and pushed up a branch: https://github.com/zekefarwell/josm-strava-heatmap/tree/strava-update-fix
It's still a bit rough so I'm not ready to submit the extension to Chrome and Firefox, but the files can be downloaded and loaded into the browser as a temporary local extension for now.  Previously the extension would get the url for the color and sport you had selected in the strava UI, but with the changes to this I've had to remove that feature for now.  It just defaults to all sports and the red/orange color.

If it helps, I managed to figure out how to load temp add-on and it works! FWIW, I don't care about colors, but separation between bike vs hike is sometimes very important when planning route, so might be worth wait if you can support sport/activity picker
P.S. Your extension is important part of my video here😄: https://peertube.openstreetmap.fr/w/56SduK2wYnnUesnSroucbd

You can manually type in other colors

You can manually type other colors into the query string

I noticed this too.  So I could build a custom color picker.  Not sure how well that will work or if Strava plans to remove the different color tiles.  Not quite sure what the best way forward is for this.

Hey @zekefarwell this is Nick from the strava team that broke this. First of all, sorry about this. We didn't realize this change would cause an issue and are happy to work with you or answer questions (if you need) to get the extension back up and running. Let me know and we can connect.

Also for all the heatmap power users stopping by this thread - we are going to bring the Global Heatmap Color Selector and Opacity Slider, as well as the option to hide POI and map layers back to the new app within a week. Those removals were temporary. Thanks for your patience and feedback.

Hey, no worries @kafkersmash.  It's not your responsibility to know about every random browser extension that may be doing unexpected things with your UI 😜.  Thanks for dropping by with a comment, and thanks for letting use the heatmap.  It's such a great resource!
It looks like I should be able to grab the sport from the new sport selector without much issue and push out a new release shortly.  Since you plan on bringing back the color selector soon, I'll leave that option out for now and then do another update when that shows up.

@zekefarwell we love & use the extension and want to make sure it's still out there for everyone. I'll reply on this thread when we ship the promised updates. Thanks again for the patience.

Hey @zekefarwell. The color picker and opacity selector are back in the product. Let us know if we can unblock anything and thank you all for dealing with the turbulence. Get excited for lots of good map updates coming soon. 🫡

Hello again friends. An hour ago Strava released new global heatmaps for all outdoor sports on the website. We're concerned this change might again break the extension. If that's the case and it's not easy to get it back online, please let me know and we can help if need be.


Add *_raw functions to allow to outpout less clever html code

This code adds two functions pretty_print_raw and to_string_raw. They have been (maybe incompletly) documented and tested.
The problem
I was trying to write a script to remove all trailling .html from href attributes. (When url match specific pattern).
The files where produced by stog and then parsed again. But the <meta …> and other tags were creating errors, since they couldn’t be parsed back. This is  due to a transformation of tags like <meta … ></meta> or <meta … /> to <meta … >.
With this patch, the generated HTML is now correctly parsed.
Solution
The two functions allow to create tags which are always following this pattern
<tag id="…" …> … </tag>

Drawbacks
Since I don't know much the code, I used copy-paste heavily, which is maybe problem (according to OCaml Guidelines). This may need a refactoring.

It seems that you would like XHTML output. I suppose that's fair enough.
To make this change, you should rename the functions to *_xhtml, or add an ?(xhtml = false) optional parameter to the existing formatting functions. I prefer the former. You don't need to copy and paste – you just need to make a common implementation, and disregard the conditions if (_is_void_element_name name && children = []) when called from the _xhtml versions. The void elements are the ones that have to be unclosed in HTML. There may be other wrinkles, but for basic balanced tags, that should be enough.
Also, note that I am working on a pretty comprehensive HTML and XML parsing and writing library, prompted by Lambda Soup. The work is nearly done – 1 or 2 weeks left of writing more tests and good documentation. I will probably be ripping out the parsing and formatting code of Lambda Soup at that point, though I may keep the current pretty_print and to_string as helper functions that call the new writers.

Thanks for your long answer.
So I would improve this pull request if necessary after the public release of your new library.

Very well. I will keep you posted.

Ok, great.  If you need some French translation (for a website or to announce something), let me know, I would be pleased to help you.

Thank you :) On the other hand, if you think something ought to be translated into French (or any other language), please let me know. I unfortunately wouldn't know on my own, due to a lack of the same language skills to know what the French community is like.

A status update, as promised. Just uploaded this parser https://github.com/aantron/markup.ml. It will probably be some time, however, before I'm ready to make Lambda Soup depend on it.

Thanks for this great news, I will take a deeper look at this in coming days.

So, the new Markup.ml seems to contain everything needed to produce xhtml documents, once integrated to Lambda Soup.
Thus, the best would be to close this pull request unmerged.

Ok, thank you. By the way, and I am not saying that this is a good idea, but you should be able to translate the HTML output of unmodified Lambda Soup using Markup.ml right now. Something like this should do it:
let xml =
  let open Markup in
  Soup.to_string soup
  |> string |> parse_html |> signals |> xhtml |> write_xml |> to_string

At least, I would be interested if you discovered any bugs this way.

Sorry for the quite long inactivity period.
I couldn't get anything working from your code example.
Each time, the (non empty) html file passed on stdin result to this (on stdout)
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

and nothing more.
I posted the whole script here, even if the main problem stay below:
let xml soup =
  let open Markup in
  Soup.to_string soup
  |> string |> parse_html |> signals |> xhtml |> write_xml |> to_string
;;

let () =
  let soup = read_channel stdin |> parse in

  soup |> xml |> write_channel stdout
;;

This should output the input, but the only result is
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

Maybe I made something wrong.

Thank you, I found (and fixed) at least one bug from your report. Could you please provide an example of the input you are using, so I can check for more problems?

I posted my input on Gist.
It's quite long, maybe you should investigate with the simpler example.com html, which doesn't work either.

Thanks again. The example should be working now with Markup.ml master. To install,
opam pin add markup --dev-repo

Later, opam pin remove markup to reset it back to tracking OPAM releases.
By the way, both links in your last message pointed to the same HTML example.

Thanks for your bug reports. This should be in OPAM shortly (will notify). You should then be able to write Lambda Soup to XML with:
soup |> Soup.signals |> Markup.write_xml |> Markup.to_string

The new functions are documented here: http://aantron.github.io/lambda-soup/#2_Parsingsignals
Sorry this took a while, I had to do a surprisingly large amount of work to do it "the right way."

Ok, all released and ready for installation from OPAM.

Thanks, I'll try this in a few day, hopefully.

Everything works great! Documentations of your libraries are pretty clear too.
Here is my script, feel free to use it if it is of any interest.


Rename complx.h -> complex.h ?

Is this just a misspelling or is it deliberate?

Deliberate! Clang (or is it originally gcc?) seems to treat any file called "complex.h" in a very special way, which disrupts our intended use. Not sure if this should be called a compiler feature or bug, but Björn knows the details. Anyway, we found that simply renaming the file solved the problem so we preferred not to investigate any further.

Hmm, could it be that it collides with the system complex.h? Though shouldn't they have different paths? Well anyway, let's not rename... but I'll add a quick note so future me won't get bugged by it again ;)

My impression is that paths aren't considered when the compiler tries to identify the system header complex.h. Weird, but we can live ith it since the workaround is so simple.


[Storage] [Typing] [File Datalake] Decoupled _data_lake_service_client.py and async

Decoupled _data_lake_service_client.py and async. Will defer resolving mypy errors until all clients have been decoupled.
Edit: Will need to order the imports and let CI pass :)
Edit 2: Imports should be ordered.

API change check
APIView has identified API level changes in this PR and created following API reviews.
azure-storage-file-datalake

/azp run python - storage - ci


Request for adding Croatian language

Croatian
Hello, I would like to kindly request to add Croatian language.
I have tried to contact you (@ssddanbrown) by email to ask you about the possibility of opening a PR will all the files already translated.
I hope you can accept this condition due to my peculiar situation and since I already have the files almost ready :)
Thank you in advance for your understanding and for this well crafted project :)

This issue template is to request a new language be added to our Crowdin translation management project. Please don't use this template to request a new language that you are not prepared to provide translations for.

Hi @ffranchina,
Sorry, I'm can be pretty bad about replying to emails.
Sure, that would be great, feel free to provide a new language by PR. I do prefer Crowdin being used for minor changes since it keeps things manageable and it's simpler to use for most people but happy to accept PRs if that's not possible or if bulk providing a new language.
Note, Files may end up being re-commited during syncing within Crowdin. Nothing to functionally worry about but it just may end looking like my user has changed/updated all files.

Hi @ssddanbrown!
Thanks for your reply. Don't worry at all about the email, what matters is that I could reach you!
Thanks a lot for your understanding and willingness, it's very much appreciated! So I will open soon a PR with the complete Croatian translation :)
:rocket:


Update accessibility.json

Update texts regarding accessibility

This PR addresses https://github.com/corona-warn-app/cwa-website/discussions/3284


New timeout exceptions when using oauth2, how to handle

Recently switched over to oauth2, now keep on getting quite a bit of those sort of exceptions thrown:
Mogli::Client::OAuthException: Code was invalid or expired. Session has expired at unix time<PHONE_NUMBER>.
What is the recommended way of handling those?

Is there a function in Facebooker2 for doing this re-auth or do I need to implement it myself from the Facebook Javascript API?

There isn't. You can either use the mogli authenticator with the redirect or use the JS SDK
Mike
On Dec 14, 2011, at 9:02 AM, Róbert Viðar Bjarnason wrote:

Is there a function in Facebooker2 for doing this re-auth or do I need to implement it myself from the Facebook Javascript API?

Reply to this email directly or view it on GitHub:
https://github.com/mmangino/mogli/issues/95#issuecomment-3140624


Broadcasting support in tf.where

tf.where does not support broadcasting like its numpy equivalent at the moment. How easy would it be to add broadcasting?
Here are some examples.
condition = np.random.normal(0, 1, (3, 5, 1, 1)) < 0
x = np.zeros((7, 11))
y = np.ones((7, 11))

np.where(condition, x, y).shape  # (3, 5, 7, 11)
tf.where(condition, x, y)

>>> InvalidArgumentError: Shapes must be equal rank, but are 2 and 4 for 'Select_2'
>>> (op: 'Select')  with input shapes: [3,5,1,1], [7,11], [7,11].

condition = np.random.normal(0, 1, (3, 5, 1, 1)) < 0
x = np.zeros((1, 1, 7, 11))
y = np.ones((1, 1, 7, 11))

np.where(condition, x, y).shape  # (3, 5, 7, 11)
tf.where(condition, x, y)

>>> InvalidArgumentError: Dimension 0 in both shapes must be equal, but are 1 and 3
>>> for 'Select_3' (op: 'Select') with input shapes: [3,5,1,1], [1,1,7,11], [1,1,7,11].

A workaround might be the following but I don't know how bad the overheads are.
def broadcastable_where(condition, x=None, y=None, *args, **kwargs):
    if x is None and y is None:
        return tf.where(condition, x, y, *args, **kwargs)
    else:
        _shape = tf.broadcast_dynamic_shape(tf.shape(condition), tf.shape(x))
        _broadcaster = tf.ones(_shape)
        return tf.where(
            condition & (_broadcaster > 0.0),
            x * _broadcaster,
            y * _broadcaster,
            *args, **kwargs
        )

@aselle is that something we'd want?

There is also not full support for broadcasting in the other way, when condition is smaller than x or y; as indicated in the docs it only works if condition is a vector, but it could be extended to work with condition matching an arbitrary number of first dimensions of x and y (I'm not sure if this is considered also "broadcasting") and/or broadcasting singleton dimensions.
NumPy requires condition to always have the same rank as x and y, but it does broadcast singleton dimensions.

It has been 14 days with no activity and this issue has an assignee.Please update the label and/or status accordingly.


include processor index to log messages

Fixes #66.

Example messages:
2015-02-18 14:55:01,800 -0800: Embulk v0.4.3
2015-02-18 14:55:02.625 -0800 [INFO] (transaction): Fetch size is 1000. Using server-side prepared statement.
2015-02-18 14:55:02.855 -0800 [INFO] (transaction): {done:  0 / 1, running: 0}
2015-02-18 14:55:02.889 -0800 [INFO] (task-0000): Fetch size is 1000. Using server-side prepared statement.
2015-02-18 14:55:02.896 -0800 [INFO] (task-0000): SQL: SELECT * FROM `load01`
2015-02-18 14:55:02.900 -0800 [INFO] (task-0000): > 0.00 seconds
2015-02-18 14:55:02.929 -0800 [INFO] (transaction): {done:  1 / 1, running: 0}
2015-02-18 14:55:02.943 -0800 [INFO] (main): Committed.
2015-02-18 14:55:02.943 -0800 [INFO] (main): Next config diff: {"in":{},"out":{}}


Added dark mode to NFTAssetViewController

Main wallet tab, tap collectible tab, tap collectible with at least 1 token, tap any row.

1
2
3

Top before commit
Top after commit

Bottom before commit
Bottom after commit

@eviltofu created #5608


Simplifying doWithCommandeer

Problem: purpose of doWithCommandeer unclear, seemingly superfluous
Proposal: coding its functionality directly, replacing with boolean if necessary

I've been examining the code for a couple of days. Even though I didn't understand the purpose of some structs right away, over time they seemed to make a bit more sense.
However, one object seems to me to be superfluous:
doWithCommandeer func(c *commandeer) error
It's a field in commandeer and passed around in newCommandeer and initializeConfig. Do a search for it and you'll find 12 results.
You'll also find that it never does anything except once in loadConfig:
doWithCommandeer := func(cfg config.Provider) error {
	c.Cfg = cfg
	if c.doWithCommandeer == nil {
		return nil
	}
	err := c.doWithCommandeer(c)
	return err
}

That's it: Besides running a previous doWithCommandeer (which would only do the same thing), it just assigns cfg to c.Cfg. Since it's always called like c.doWithCommandeer(c), that would be c.Cfg = c.
The only other functionality not mentioned yet is to be passed on to hugolib.LoadConfig, which does:
if err := d(v); err != nil {
	return v, configFiles, err
}

with d being doWithCommandeer (an input among other functions) and v being a pointer to a viper (*viper.Viper), so it would do c.Cfg = v (and err always nil).
Could we simplify this by directly calling c.Cfg = c and c.Cfg = v? LoadConfig returns the *viper.Viper so it can be done.
If necessary, we could replace doWithCommandeer with a boolean telling us which needs to be done.

I welcome any simplification in this package! And the ugliness is all my fault, but to defend myself a little, a short history:

The commands package was all globals and no tests.
So when I had the "get rid of all globals so we can run tests in parallel" I had some really gray hairs when it the commands package. The Cobra API is a little bit clumsy.

That said, now we have decent test coverage, so I suggest that you just "do it" and open a PR.

Great, will do!

I think you did a great job btw. Hugo is very sophisticated so there is bound to be some complexity.
Regarding doWithCommandeer, I found out its purpose and decided that a simple renaming will make it much clearer:
#6881


Inconsistent border colors of input boxes

Describe the bug
Inconsistent border colors of input boxes. Make all of them same: orange

Note:

Do mention if your are working under GSSoC'21.
If you want to work on an issue, you should check if it has already been assigned to anyone. If the issue is free you can comment /assign to get the issue assigned to you.
If you are raising a new issue and want to work on it then also you should comment /assign under the issue to get it auto assigned.
Please refrain from adding labels to your issue/pull-request on your own. It is the job of the Project Admin and the Mentors to review your issue/pull-request and add labels accordingly.
According to the level of the issue, respective time will be allotted under which the task needs to be completed/resolved by the assigned person. If the issue is not resolved within the given time, it will be assigned to the next person. In case of any discrepancies, the decision of the maintainer will be final.

level - 0: 2 days
level - 1: 3 days
level - 2: 4 days
level - 3: 5 days

I would like to work on this under GSSoC'21.

/assign


Fix bug when scrolling photos

This video demonstrates the bug:
https://drive.google.com/file/d/1z8WFb4TcN2NvunT9ZrQUlYpa30H-9oHk/view?usp=sharing

@KhoaTA81, can you review this pull request?


Close the lightning payment request window if the payment request is paid

Close the lightning payment request window if the payment request is paid.

Actually after further thinking about this I've decided to not implement this feature. One of the main reasons a QR code is displayed on a separate page it to not let a payer see your balance when you display a code to them. Instantly closing a QR page defeats that purpose. Perhaps https://github.com/btcontract/lnwallet/issues/47 is a better idea after all.


Generate mock data subcommand

What does this PR do?
Moves generate-mock-data to a sub-command for run
How has this been tested?

Unit tests pass after this change
Manual tests

This is how run looks now:

This are new messages in cli after this change:

@MuratUrsavas, @vpetersson, I could use your review (optional) on the usage and messages that are in the cli after change.

Added short option:

Updated messages:


react-tinymce only works in local workbench, not remote, and does not deploy

Category

[ ] Question
[X] Bug
[ ] Enhancement

Expected or Desired Behavior
react-tinymce deploys normally.
Observed Behavior
react-tinymce works normally in the local workbench.
It is invisible (no CSS, according to the console) when run in the remote workbench, and reports errors when attempting to deploy it to a web site. (It uploads normally to the App Catalog.)
When deploying to the site, it reports the following error: Sorry, something went wrong with adding the app. Click to retry.
Clicking to retry eventually fails.
When run in the remote workbench, it reports the following errors:
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - https://xxxxx.sharepoint.com/sites/xxxxx/src/webparts/reactTinyMce/skins/pnp//skin.min.css
HTTP404: NOT FOUND - The server has not found anything matching the requested URI (Uniform Resource Identifier).
GET - https://xxxxx.sharepoint.com/sites/xxxxx/src/webparts/reactTinyMce/skins/pnp//content.min.css
Looks like the content in the src/webparts/reactTinyMce/skins directory is not getting added to the bundle, or is not being referenced properly.
Steps to Reproduce
Run gulp serve --nobrowser and test in remote workbench. Webpart will fail when added to page.
Bundle, package, upload, and install as usual, then try to deploy to a site. Deployment will fail.

It says it in the webpart sample code that where the skin is hosted is up to you, just using the code as is will not do.
https://github.com/SharePoint/sp-dev-fx-webparts/blob/master/samples/react-tinymce/src/webparts/reactTinyMce/components/ReactTinyMce.tsx
Read the first comment.

Got it, thanks Austin, next time I'll RTFM (or RTFSC). ;-)

I have tried with a specified path for the skin, but the app still doesn't deploy to a site in SPO.
Reproduce:

Upload to App Catalog. DO not check the box to deploy to all sites.
Deploy to a site manually.
Site deployment fails with an error (attached).
"Click to try again" also fails.

I am contacting SPO support to see if I can get details of the error.

Follow up: Does the webpart require that it be deployed to all sites in the tenant when uploaded? I haven't tried that yet.

That seems to solve the issue, if I deploy for all sites when uploading it works.
Any clue as to how I would change that? Is there a config setting I can change, or do I have to build a new web part from scratch with the generator if I want to make it deployable on a per-site basis?

Hi sorry, since people will have their own requirements I didn't even try to solve how to host the application, way too many variants to look after. It should be deployable to multiple sites, but maybe requries multiple builds with different CDN paths.

Fair enough, I'll see what I can figure out. Thanks for the help!

Just in case, I notice the id is the same for the generated SharePoint package and the web part. When I try to add the app in a SharePoint site, an error occurs and I can't add the app (same behaviour as the Aaron's screenshot)
When I changed the id for the web part (in ReactTinyMceWebPart.manifest.json), I could finally add the app.


Order entries alphanumerically and case-insensitively

          > Ah yes, you're right. I made the mistake of thinking the list was in alphabetical order. Apologies.

It's probably worth alphabetising them; as the list grows, duplicates are more likely.
Could be a github pre-commit command that sorts / uniques the list? 🤷🏻♂
EDIT: I realise this is massively off topic, though.
Back to the thread point... isn't recommending blocking this bot a risky move as it could cause websites to lose rich social media embedding (eg image and other OpenGraph data)?
Originally posted by @njt1982 in https://github.com/ai-robots-txt/ai.robots.txt/issues/40#issuecomment-2417342818

I think robots.json should be ordered alphanumerically by user agent as well as the list of use agents in robots.txt. This reduces the risk of duplication as the list grows, but it would also avoid slips like I made above (I didn't see an entry because I assumed the list was already in alphanumeric order).
A slight nit here is that the list may need other than a straight alphanumeric ordering so that upper and lowercase user agents are placed alongside each other.
For example, rather than the order:
...
FacebookBot
FriendlyCrawler
GPTBot
...
facebookexternalhit
...

it may be better to ignore case and order these as:
...
FacebookBot
facebookexternalhit
FriendlyCrawler
GPTBot
...

Agreed RE case insensitive sorting.

The current dark_visitors.py code, which runs daily, sorts the JSON keys alphabetically using the sort_keys=True parameter value for json.dumps(), described here.
Unfortunately, there doesn't seem to be a case insensitive sorting option for json.dumps().
Perhaps it would be possible to specify a custom JSONEncoder subclass in json.dumps which implements case insensitive sorting if sort_keys=True is passed. I don't know enough Python to guage how hard this would be.

@isagalaev After the merge of PR 46, let's wait until tonight's github action before closing this issue.

I re-ran the job manually and it didn't commit any changes. Let's see if the automatic run tonight does any better, but I don't know why it should.

I re-ran the job manually and it didn't commit any changes. Let's see if the automatic run tonight does any better, but I don't know why it should.

To the best of my job it will only commit of there are changes that are found when the script runs, so it may not be encountering anything new.

To the best of my job it will only commit of there are changes that are found when the script runs, so it may not be encountering anything new.

It should have worked at least once, because resorting would make the file different from the current one, even with the same source data.
One problem is, we don't have any logs from what's happening after we print the total number here:
print(f"Total: {len(existing_content)}")
sorted_keys = sorted(existing_content, key=lambda k: k.lower())
existing_content = {k: existing_content[k] for k in sorted_keys}
Path("./robots.json").write_text(json.dumps(existing_content, indent=4))

May be it's worth changing the last line to:
byte_count = Path(...).write_text(...)
print(f"Written {byte_count} bytes")

However, I looked at the logs of the latest run and I see that we have nothing after "Total: 40", which means that either the write was successful, or that GitHub Actions logs don't display stderr by default (any Python exception would go to stderr).

or that GitHub Actions logs don't display stderr by default

Ah, nevermind that. If the Python script had failed, the job wouldn't be marked as successful. So I have no idea why that file wasn't overwritten :-\

So to summarise the state of play: the latest automatic run also failed and robots.json is still not sorted case-insensitively.
I don't know Python, but according to w3schools:

As of Python version 3.7, dictionaries are ordered. In Python 3.6 and earlier, dictionaries are unordered.

So the behaviour would appear to depend on the Python version. However, I think the job's image contains Python 3.10.12.
I tried to find out if dictionaries in Python 3.10 are still ordered, but I couldn't follow the documentation.

Python dicts are indeed still ordered, and it's not an implementation detail, it's a guaranteed feature. And I can't imagine that "ubuntu-latest" would be so ancient to still have an old Python. Still, probably worth checking, though I don't know how.

Well, it seems the latest run actually worked! I also merged another PR that adds some logs including the diff. I'm going to declare success for now. Thanks!

 But oh well :-)

Me too. Another small mystery is that robots.txt is still in the old order and the latest run didn't update it. I think that's a separate issue though!

This issue is solved solved in
https://github.com/ai-robots-txt/ai.robots.txt/blob/24666e8b150ab135a09d7d087288454150a37a52/code/dark_visitors.py#L96-L97
For the curious: Python dictionaries are sorted in the order of addition. First thing added is the first thing out. This was already the case in 3.6 but not yet a formal guarantee. This changed in 3.7 when it became a part of the spec, IIRC.
Python 3.6 and later:

d = {"b": 1, "a": 2}
d
{'b': 1, 'a': 2}


Correct example run command

The example in the docs caused "prometheus: error: unknown short flag '-c'" error, as double - needed for config.file argument.

You're using the alpha version of Prometheus 2.0. The docs describe Prometheus 1.0. You could open the change against the dev-2.0 branch though, in case it hasn't been fixed there.
Please note that we'll rework our docs before 2.0 release to allow for versioned documentation.

Okay, my mistake. Looks like it is the same on the dev-2.0 branch, so will change it to point to that (although I understand it will all be reviewed anyway).


Temporarily use the Linux output for Tizen on Windows

OPS Build status updates of commit aec9ab2:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

scripts/azure-pipelines.yml
: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.

After a fair bit of research, I managed to isolate the issue and have reported it to both the Azure and the Tizen teams. Here is some more information on the issue: https://developercommunity.visualstudio.com/content/problem/506430/the-usepythonversion-task-breaks-the-build-for-no.html
Until I manage to determine the actual issue and if there is a fix, I am going to merge this PR as we are already building Tizen on macOS and Linux.


Make sure we're setting up paths properly

Allow the user to specify relative paths, but only store absolute paths. For example Run.dir should probably be an absolute path. There may be other places to look for this. This issue will remind me to do that :)

The goal of this is to ensure that if the users script changes cwd wandb still works (I think we would currently break in that case).


Make the version configurable at build

Just like helm has a buildtime config to allow installing a specific version of the client, it would be great if we could do the same thing for docker-compose.
mixins:
  - docker-compose:
      clientVersion: 1.25.4

EDIT: Changed version -> clientVersion

👍 Only suggestion is to change version to clientVersion, assuming we intend to enable specifying the actual mixin version via version at some point in the future.

We might as well bump the default version for this mixin at the same time when implementing this.  See https://docs.docker.com/compose/release-notes/


oops, pass in the timestamp to the legacy migration

@mmckegg this should do it

Oh, for some reason I thought old db was keyed by sequence? Is it timestamps? Awesome 🎉
Guess I should have just tried it 😆

the old db is keyed by hash, but this is the logDb but maybe it's confusing because that line is pl.old(logDB, {...})

Oh yes, of course 👍

merged into 16.3.7


how to parse JSON object to model

actually i'm just trying to parse less data from json and want to save in db.
  var myModel = new UserModel(UserObject)
but after this there is no change in the myModel it's same as UserObject

I'm not following the question. Could you write a runnable example?   Thanks

//Model

var dynamoose = require('dynamoose')
var Schema = dynamoose.Schema
IssuesSchema= = new Schema({
  id : {
    type : String,
    hashKey : true
  },
  issuesId: {
    type: Number
  }
});
module.exports = IssuesSchema

//End Model
//Use of Model

var UserObject=/*JsonData get from somewhere else*/
var myModel = new UserModel(UserObject)
myModel.save() //Error : save is not a function

@aAmitSengar Is the only error save is not a function? I can't reproduce this, so could you maybe provide a full example project so I can debug the error?
The only thing that stands out to me as the issue is you have an extra ) at the end of your require statement var myissue= require('models/issues-model.js'))

Closing this issue due to no reply from the OP. Please comment if this is still an issue and we can look at it further.


"PREDEAL" is listed in the drop-down menu

Description:
"PREDEAL" is listed in the drop-down menu alongside its corresponding county and commune, according to the law
Precondition:
The website is up an running.

Step 1
Type "Predeal" in the search bar.
Expected results
The location is listed in the drop-down menu as "Oraș PREDEAL, BRAȘOV (PREDEAL)".


page-links-div partial does not build DOI links if no other links present

In page-links-div.html in line:
https://github.com/themefisher/academia-hugo/blob/f4d5eba11eb87ca180bde088483d2a8c339e5431/layouts/partials/page_links_div.html#L18
DOI is not specified, so if DOI is only link, button  is not built. Could be fixed easily by changing this line to:
{{ if $cite_link | or $pdf_link | or .Params.external_link | or .Params.url_preprint | or .Params.url_pdf | or .Params.url_slides | or .Params.url_video | or .Params.url_source | or .Params.url_code | or .Params.url_dataset | or .Params.doi | or .Params.url_poster | or .Params.url_project | or .Params.links | or .Params.projects | or .Params.slides }}

Hello @pintodossantos ,
Thanks for your concern. It will be great if you make a pull request with this fix, or we will fix it on our next update.

Thanks for your reply @somratpro! Pull request created. :)

I have merged your PR, thanks for being with Themefisher.


Excluding certain files or folders

I would like to be able to exclude certain files or folders from the src in the Gruntfile config for the plugin, but this seems to not be supported.
I know some other plugins support a structure like files with a src attribute that supports paths with globbing patterns and I was wondering if something similar could be supported.

I just submitted a pull request with a fix for this issue. If you want, you can use my fork until the pull request gets merged (or in the event it is never merged). Uninstall the current version with npm remove grunt-purifycss and install mine with npm install raddevon/grunt-purifycss --save-dev.

@raddevon : I have seen your fork, but you haven't mentioned any syntax for excluding files or folders. Can you update your readme please.

@yashvekaria Since my fork doesn't implement any custom file exclusion solution (it merely allows the standard Grunt method of file exclusion to work), I'll refer you to the Grunt documentation on globbing patterns.
Since this is a standard all Grunt plugins can (and most do) support, the documentation should probably stay with Grunt rather than being duplicated to individual plugin documentation. I hope this helps!

@raddevon, yes it was helpful. Thanks

@raddevon Why isn't your pull request merged yet I wonder? File exclusion can really come in handy.

@gmaggio I'm not sure. You could install my fork with NPM if you want to be able to exclude files.
npm install raddevon/grunt-purifycss#grunt-glob-expansion --save-dev


Error when no detections are found

If no detections are found, you get an error on the nms_keep variable in model.refine_detections(). Defining nms_keep before this loop as an empty tensor bring up errors elsewhere.
UnboundLocalError: local variable 'nms_keep' referenced before assignment
    for i, class_id in enumerate(unique1d(pre_nms_class_ids)):
        # Pick detections of this class
        ixs = torch.nonzero(pre_nms_class_ids == class_id)[:,0]

        # Sort
        ix_rois = pre_nms_rois[ixs.data]
        ix_scores = pre_nms_scores[ixs]
        ix_scores, order = ix_scores.sort(descending=True)
        ix_rois = ix_rois[order.data,:]
        #keep = nms(boxes,scores, nms_threshold)
        #keep = nms(torch.cat((boxes, scores.unsqueeze(1)), 1).data, nms_threshold)
        class_keep=nms(ix_rois,ix_scores,config.DETECTION_NMS_THRESHOLD)
        #class_keep = nms(torch.cat((ix_rois, ix_scores.unsqueeze(1)), dim=1).data, config.DETECTION_NMS_THRESHOLD)

        # Map indicies
        class_keep = keep[ixs[order[class_keep].data].data]

        if i==0:
            nms_keep = class_keep
        else:
            nms_keep = unique1d(torch.cat((nms_keep, class_keep)))
    keep = intersect1d(keep, nms_keep)

So if I understand correctly. When there are no detections, it doesn't go into the loop which initializes the the nms_keep variable.
And when you try to initialize it outside of the loop, it gives an error.
I'd be interested to see what error it gives elsewhere. My initial thinking is that if it only gets low confidence detections or background, then you should just do a return statement. So if the keep.data is empty, there isn't anything to be refined.

Yes that's right, when no detections are made, that loop is never entered. It's not that initializing it outside gives an error, but the code assumes a detection will be there I believe. What I did is looked at the expected size of nms_keep and just create an empty tensor if that loop doesn't run. Obviously the device wouldn't always be "cuda"
    nms_keep = None
    for i, class_id in enumerate(unique1d(pre_nms_class_ids)):
        # Pick detections of this class
        ixs = torch.nonzero(pre_nms_class_ids == class_id)[:,0]

        # Sort
        ix_rois = pre_nms_rois[ixs.data]
        ix_scores = pre_nms_scores[ixs]
        ix_scores, order = ix_scores.sort(descending=True)
        ix_rois = ix_rois[order.data,:]
        #keep = nms(boxes,scores, nms_threshold)
        #keep = nms(torch.cat((boxes, scores.unsqueeze(1)), 1).data, nms_threshold)
        class_keep=nms(ix_rois,ix_scores,config.DETECTION_NMS_THRESHOLD)
        #class_keep = nms(torch.cat((ix_rois, ix_scores.unsqueeze(1)), dim=1).data, config.DETECTION_NMS_THRESHOLD)

        # Map indicies
        class_keep = keep[ixs[order[class_keep].data].data]

        if i==0:
            nms_keep = class_keep
        else:
            nms_keep = unique1d(torch.cat((nms_keep, class_keep)))

    if nms_keep is None:
        keep = torch.tensor([0, 0, 0, 0], dtype=torch.int64, device="cuda")
    else:
        keep = intersect1d(keep, nms_keep)

@bharathsivaram10 I do have a question about the depth in real/test data though. It looks like a 16 bit image, but I don't know how it's scaled. Is it normalized to some max value or a certain format? I was hoping to know because I have a depth camera for capturing depth images.


Document wasm-pack test subcommand

(Does not need to block the 0.5.0 release IMO)
I can write up some quick docs for wasm-pack test and also link to the more in-depth wasm-bindgen-test documentation.

@fitzgen do you think you'd be able to get this in today? it'd be nice to have for 0.7.0 if at all possible! if not let me know!

I think @chinedufn kindly fixed this in b72051d385fe178cbb95865942bc42b983665a63 !


Add search redirect example

What's the purpose of this pull request?
Enable IS redirect at the client side.
How it works?
Explanation at this PR: https://github.com/vtex/faststore/pull/1749
How to test it?
Add a redirect:
https://storeframework.myvtex.com/admin/search/v4/redirect/SfPElIcBpNL9br53LXbn/
https://github.com/vtex/faststore/assets/67066494/0cdd6062-6086-4c9f-a22a-f8db67f793e3

Closing this one, it was tackled in #2331


Move DacFx wizard into separate extension

This moves the DacFx wizard out of the import extension and into its own DacFx extension.

We may want to revisit the name of the extension, I can do some investigation here and add comments to the readme. It would be nice to have a basic gif/image as well.

My extension naming suggestion: DacFx Deployment Tools

@kisantia you also need to update the file build/gulpfile.vscode.js so that your extension won't be shipped with core. please refer to my recent commit:
https://github.com/Microsoft/azuredatastudio/commit/b3a16fd0ced5571608c05eb5b5ec3b1ad493f56b


Drop illuminate/support requirement

#86

Thanks @Jimlah I will review this weekend

@Gummibeer Tagging you for your thoughts too.

I've re-read the issue that you posted on #86 and I understand a bit more now why it's useful to remove it.

While working on it. I did wished we could have left the illuminate support, because of the many helper function it supported. But then again I could see that along that the helper function where not fully used. And about the collection, most non laravel users may not fully know about it. Untill they read about it.

Regarding the reason to remove it: the support package is one of the fundamental base packages of Laravel framework. Even the support package itself has a bunch of dependencies - following as of writing:
        https://github.com/doctrine/inflector: "^2.0",
        https://github.com/illuminate/collections: "^10.0",
        https://github.com/illuminate/conditionable: "^10.0",
        https://github.com/illuminate/contracts: "^10.0",
        https://github.com/illuminate/macroable: "^10.0",
        https://github.com/briannesbitt/Carbon: "^2.53.1",
        https://github.com/voku/portable-ascii: "^2.0"

These alone will quickly sum up to a pretty big tree of dependencies that can conflict with the package itself and/or the plain PHP users of the package. Laravel also has a pretty modern PHP requirement all the time. So I know it's the ideal world but the reality is that a lot of PHP projects, primarily the plain PHP ones, stay on PHP7.4 for decades.
But also for Laravel users: you will have to upgrade it at least once per year and decide if you only add the new version or drop the old one. Adding will make it easier for users and is likely what's needed as the used helpers don't really change since years. But this will increase your maintenance work. As you have to support the whole tree of dependencies for every Laravel release.  As soon as a new PHPUnit major version or PHP major version is released and used by Laravel you will have a painful time.
I've been there with @astrotomic / laravel-translatable to support as many PHP/Laravel versions as possible. It's absolutely painful! And for a plain PHP package having this trouble is absolutely not needed.

Thank you for your effort @Jimlah however I've decided that I'm going to hold off on these changes until v2, since it requires breaking changes to remove the Carbon package and Illuminate Support package, e.g for the collect method.


need 10 (positive) / 90 negative data

previous team discussed about running the test on both 10/90 skewed data as well as 50/50 balanced data to test the performance of supervised learning

This is done.


Repository Structure Update Required

The current repository structure does not meet the required format. The following files and directories need to be created:

/docs/roadmap.yml
/docs/api_design.yml
/docs/request.md
Readme.md
user_goal.md

Please ensure that these files are added to the repository to comply with the project's structure requirements.

The repository contents have been retrieved and are being reviewed for the required structure update.


How to configure LSPs  wihout mason-lspconfig

I have all the language servers that I need installed globally on my system since other text editors also rely on them. At the moment if I don't install the language servers via Mason, Neovim isn't able to use the globally avaiable ones.
I find it a bit of a waste that I should have dual copies of the language servers on my system. Can you show me a way to use the already installed language servers on my system.

Here's an example of code that enables use of system's rust_analyzer.
require('lspconfig').rust_analyzer.setup {}

For further information see :h lspconfig-setup and nvim-lspconfig repo


Steps to run on linux

@AlexeyAB @misko @r0l1  how to execute the yolov2_light source code on linux systems

@AlexeyAB  Also, i can not build yolo2_light on Linux through "make".
The following Error appears: "./src/additionally.c: In function ‘cudnn_convolutional_setup’:
./src/additionally.c:2125:57: error: ‘CUDNN_ACTIVATION_IDENTITY’ undeclared (first use in this function)
cudnnSetActivationDescriptor(l->activationDesc, CUDNN_ACTIVATION_IDENTI
^
compilation terminated due to -Wfatal-errors.
Makefile:107: recipe for target 'obj/additionally.o' failed
make: *** [obj/additionally.o] Error 1"

@ahmed-nady Use the latest version of cuDNN

@AlexeyAB I successfully build it. Also, i want to use it in python, Please, can you provide me with example in python?


Update updateVersion.sh to make it works

Signed-off-by: Chun Lin Yang<EMAIL_ADDRESS>Fixed couple of issues in updateVersion.sh

make usage works
make updateVersion.sh can be performed in install directory
remove some unimplemented params.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: clyang82
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: andraxylia
If they are not already assigned, you can assign the PR to them by writing /assign @andraxylia in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

Hi @clyang82. Thanks for your PR.
I'm waiting for a istio member to verify that this patch is reasonable to test. If it is, they should reply with /ok-to-test on its own line. Until that is done, I will not automatically test new commits in this PR, but the usual testing commands by org members will still work. Regular contributors should join the org to skip this step.
Once the patch is verified, the new status will be reflected by the ok-to-test label.
I understand the commands that are listed here.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

/ok-to-test

@clyang82: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-unit-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-unit-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-unit-tests

prow/e2e-simpleTests-cni.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Fixed https://github.com/istio/istio/issues/9880

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/istio-integ-k8s-tests.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-integ-k8s-tests

prow/istio-pilot-multicluster-e2e.sh
664fd3af597264c14465829080814dcb5d3391d3
link
/test istio-pilot-multicluster-e2e

prow/e2e-simpleTests-cni.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test e2e-simpleTests-cni

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test e2e-simpleTests-cni

prow/istio-pilot-multicluster-e2e.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test istio-pilot-multicluster-e2e

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: clyang82
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: costinm
If they are not already assigned, you can assign the PR to them by writing /assign @costinm in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@clyang82: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test e2e-simpleTests-cni

prow/istio-pilot-multicluster-e2e.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test istio-integ-k8s-tests

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test e2e-simpleTests-cni

prow/istio-pilot-multicluster-e2e.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test istio-pilot-multicluster-e2e

prow/istio-integ-k8s-tests.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3-mcp.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test istio-pilot-e2e-envoyv2-v1alpha3-mcp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/LGTM

[APPROVALNOTIFIER] This PR is APPROVED
This pull-request has been approved by: clyang82, morvencao
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

install/OWNERS [morvencao]

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

/retest

@clyang82: The following tests failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-simpleTests-cni.sh
bcb41ee1bdfc0fc99ef3839adbe3433ce36c27f0
link
/test e2e-simpleTests-cni

prow/istio-integ-k8s-tests.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test istio-integ-k8s-tests

prow/istio-pilot-e2e-envoyv2-v1alpha3-mcp.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test istio-pilot-e2e-envoyv2-v1alpha3-mcp

prow/e2e-mixer-no_auth-mcp.sh
381ee53debdccf91cb0f97281feebaba1377cd44
link
/test e2e-mixer-no_auth-mcp

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.


Scroll menu is small, any way to make it a little larger?

Some ideas:

Reducing text size on the blurb?
reducing text size in the menu area
tweaking padding?

Just brainstorming, but open to any ideas!

Happy for text size on the blurb to be reduced and also the menu stylings to be reduced too.
If we had dev time we could also make a mini 'shrinking' version of the top left logo but ehh time is not on our side now

Closed by accident is this the css to change font size @SaptakS ?

Messing around with some CSS in inspect element I got this:

Changing the line height in here:
Making font size 'small' here
Making intro text smaller here:
Making h3 headings in nav smaller here:

@Erioldoesdesign I think reducing the font-sizes make sense to me. I think the size of the logo can also be reduced a bit, since that is taking up a lot of the space, in case that is not against the design that is wanted.

I think what @Erioldoesdesign has proposed above are all correct. Only instead of using small for font-size, I would say, use a specific rem value, something like 0.5rem maybe? The other things we can do I think is reduce the padding a bit (it's a little too much right now maybe?) and reducing the logo size. I can put some dev hours tomorrow to create a PR addressing the same.

I think what @Erioldoesdesign has proposed above are all correct. Only instead of using small for font-size, I would say, use a specific rem value, something like 0.5rem maybe? The other things we can do I think is reduce the padding a bit (it's a little too much right now maybe?) and reducing the logo size. I can put some dev hours tomorrow to create a PR addressing the same.

yes yes using rem sounds good to me :D as well as reducing the logo size


'plus' replacement in replacers.py might have an issue

inspyred version: 1.0.1
Python version: 3.10.9
Operating System: Windows

Description
By performing debug printouts, I noticed something weird in inspyred.ec.replacers.plus_replacement ; in theory, "plus" should take the current population + the offspring, sort them, and return the best len(population) individuals as the survivors. However, unless I made a mistake with my debug printouts, it looks like that the 'parent' list in the argument contains only individuals that were actually selected for reproduction. So, the code for plus_replacement that goes:
    pool = list(offspring)
    pool.extend(parents)
    pool.sort(reverse=True)
    survivors = pool[:len(population)]
    return survivors

is not correct, as it creates a list with all individuals which reproduced + the offspring. In this way, it actually creates a 'survivors' list with potentially multiple copies of the same individual (if, for example, one individual was selected for reproduction multiple times). Correcting this should be easy enough:
    pool = list(offspring)
    **pool.extend(population)**
    pool.sort(reverse=True)
    survivors = pool[:len(population)]
    return survivors

However, I would double-check all other replacers, because they might have similar issues if they assume that 'parents' contains the current population and not just a list (with potential duplicates!) of the individuals that were selected for reproduction.
Here below is a printout of the content of 'parents', 'population', and 'offspring' for a problem where I have a custom individual.candidate genome (akin to Genetic Programming). I also have unique ids for the individuals. As you can see, while 'population' contains one copy of each individual, 'parents' has several copies of individuals 1 and 4, which were selected for reproduction multiple times.
[DEBUG 2023-07-21 10:09:01] Initial state of the parents:
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 5:'u' : 'max(cos(min(L,(0.6575))),min(min(L,L),((0.6309)+(0.5804))))'
[DEBUG 2023-07-21 10:09:01] 9:'u' : '(((min(P,P)-max(L,P))*(min(L,(-0.9861))+min(L,P)))/(-0.6634))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 2:'u' : '(max(L,L)+max((-0.0879),(0.9665)))'
[DEBUG 2023-07-21 10:09:01] 8:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'

[DEBUG 2023-07-21 10:09:01] Initial state of the population:
[DEBUG 2023-07-21 10:09:01] 0:'u' : 'cos(sin((-0.8001)))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 2:'u' : '(max(L,L)+max((-0.0879),(0.9665)))'
[DEBUG 2023-07-21 10:09:01] 3:'u' : 'sqrt(sin(min((L-P),max(P,P))))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 5:'u' : 'max(cos(min(L,(0.6575))),min(min(L,L),((0.6309)+(0.5804))))'
[DEBUG 2023-07-21 10:09:01] 6:'u' : 'max(max((0.7001),P),sin(P))'
[DEBUG 2023-07-21 10:09:01] 7:'u' : '(cos((0.1225))*sqrt(L))'
[DEBUG 2023-07-21 10:09:01] 8:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'
[DEBUG 2023-07-21 10:09:01] 9:'u' : '(((min(P,P)-max(L,P))*(min(L,(-0.9861))+min(L,P)))/(-0.6634))'

[DEBUG 2023-07-21 10:09:01] Initial state of the offspring:
[DEBUG 2023-07-21 10:09:01] 10:'u' : '(((P-P)+(L/P))/(P-P))'
[DEBUG 2023-07-21 10:09:01] 11:'u' : '(sin(P)/min(P,L))'
[DEBUG 2023-07-21 10:09:01] 12:'u' : 'sin(cos(min((P-P),max(P,P))))'
[DEBUG 2023-07-21 10:09:01] 13:'u' : 'L'
[DEBUG 2023-07-21 10:09:01] 14:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'

The plus replacement is implemented that way by design. The documentation
says it's a combination of parents and offspring, rather than the entire
population plus offspring. It's a design choice rather than a mistake.
Aaron
--
Aaron Garrett
On Fri, Jul 21, 2023 at 4:32 AM Alberto Tonda @.***>
wrote:

inspyred version: 1.0.1
Python version: 3.10.9
Operating System: Windows

Description
By performing debug printouts, I noticed something weird in
inspyred.ec.replacers.plus_replacement ; in theory, "plus" should take the
current population + the offspring, sort them, and return the best
len(population) individuals as the survivors. However, unless I made a
mistake with my debug printouts, it looks like that the 'parent' list in
the argument contains only individuals that were actually selected for
reproduction. So, the code for plus_replacement that goes:
pool = list(offspring)
pool.extend(parents)
pool.sort(reverse=True)
survivors = pool[:len(population)]
return survivors

is not correct, as it creates a list with all individuals which reproduced

the offspring. In this way, it actually creates a 'survivors' list with
potentially multiple copies of the same individual (if, for example, one
individual was selected for reproduction multiple times). Correcting this
should be easy enough:
pool = list(offspring)
pool.extend(population)
pool.sort(reverse=True)
survivors = pool[:len(population)]
return survivors

However, I would double-check all other replacers, because they might have
similar issues if they assume that 'parents' contains the current
population and not just a list (with potential duplicates!) of the
individuals that were selected for reproduction.
Here below is a printout of the content of 'parents', 'population', and
'offspring' for a problem where I have a custom individual.candidate genome
(akin to Genetic Programming). I also have unique ids for the individuals.
As you can see, while 'population' contains one copy of each individual,
'parents' has several copies of individuals 1 and 4, which were selected
for reproduction multiple times.
[DEBUG 2023-07-21 10:09:01] Initial state of the parents:
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 5:'u' : 'max(cos(min(L,(0.6575))),min(min(L,L),((0.6309)+(0.5804))))'
[DEBUG 2023-07-21 10:09:01] 9:'u' : '(((min(P,P)-max(L,P))*(min(L,(-0.9861))+min(L,P)))/(-0.6634))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 2:'u' : '(max(L,L)+max((-0.0879),(0.9665)))'
[DEBUG 2023-07-21 10:09:01] 8:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'
[DEBUG 2023-07-21 10:09:01] Initial state of the population:
[DEBUG 2023-07-21 10:09:01] 0:'u' : 'cos(sin((-0.8001)))'
[DEBUG 2023-07-21 10:09:01] 1:'u' : '(cos(P)/(P-P))'
[DEBUG 2023-07-21 10:09:01] 2:'u' : '(max(L,L)+max((-0.0879),(0.9665)))'
[DEBUG 2023-07-21 10:09:01] 3:'u' : 'sqrt(sin(min((L-P),max(P,P))))'
[DEBUG 2023-07-21 10:09:01] 4:'u' : 'sin(cos(((P-P)+(L/P))))'
[DEBUG 2023-07-21 10:09:01] 5:'u' : 'max(cos(min(L,(0.6575))),min(min(L,L),((0.6309)+(0.5804))))'
[DEBUG 2023-07-21 10:09:01] 6:'u' : 'max(max((0.7001),P),sin(P))'
[DEBUG 2023-07-21 10:09:01] 7:'u' : '(cos((0.1225))sqrt(L))'
[DEBUG 2023-07-21 10:09:01] 8:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'
[DEBUG 2023-07-21 10:09:01] 9:'u' : '(((min(P,P)-max(L,P))(min(L,(-0.9861))+min(L,P)))/(-0.6634))'
[DEBUG 2023-07-21 10:09:01] Initial state of the offspring:
[DEBUG 2023-07-21 10:09:01] 10:'u' : '(((P-P)+(L/P))/(P-P))'
[DEBUG 2023-07-21 10:09:01] 11:'u' : '(sin(P)/min(P,L))'
[DEBUG 2023-07-21 10:09:01] 12:'u' : 'sin(cos(min((P-P),max(P,P))))'
[DEBUG 2023-07-21 10:09:01] 13:'u' : 'L'
[DEBUG 2023-07-21 10:09:01] 14:'u' : 'sin(min(max(L,(0.7915)),(P/(0.2088))))'
—
Reply to this email directly, view it on GitHub
https://github.com/aarongarrett/inspyred/issues/27, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALRPXKAEQLWHLIGLFJGBQTXRI5DLANCNFSM6AAAAAA2SQUD6E
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

I see! However, I still think the implementation should be modified, for two reasons:

When manuscripts in EAs talk about "parent population", I think they mean "whole population at the current generation, before creating offspring", rather than "only the individuals selected for reproduction". I tried to find some pseudo-code to support my claim, and the first thing I stumbled upon is from Hansen's introduction to Evolution Strategies, http://www.cmap.polytechnique.fr/~nikolaus.hansen/es-overview-2015.pdf :

Here, it is clear that the population P at line 7, just before selection, is the union of the old population and the new offspring. Even from another point of view, since mu refers to the size of the whole population, if only the parent individuals selected for reproduction were included in the global archive before selection, the size of the population at the end of a generation, just before selection, would not be of size mu+lambda, but rather (size of an archive with just individuals selected for reproduction)+lambda. The size of such an archive would vary with the type of variators applied (e.g. 2 individuals for each activation of crossover(s), 1 individual for each activation of a mutation).

Even if the current interpretation were correct, the 'parent' list can contain multiple copies of the same individual. I don't think this is the intended behavior, as it can rapidly degrade population diversity.

Alberto is correct. For an ES(µ+λ) the pool of perspective parents and created offspring are poured into the same bucket and then truncation selection yields a new pool of prospective parents of size |µ|.  Combining just the selected parents and offspring introduces a new source of genetic drift -- that is, parents not selected drop out of sight even if they happen to be some of the best.
This is an ES example from LEAP:
    while generation_counter.generation() < max_generation:
        offspring = pipe(parents,
                         ops.random_selection,
                         ops.clone,
                         mutate_gaussian(std=context['leap']['std'], expected_num_mutations=1),
                         ops.evaluate,
                         # create the brood
                         ops.pool(size=len(parents) * BROOD_SIZE),
                         # mu + lambda
                         ops.truncation_selection(size=len(parents),
                                                  parents=parents))
        parents = offspring

pipe() takes a data source as its first argument, in this case the parents, from which offspring are accumulated via the ops.pool() operator. Then those offspring are passed to the truncation_selection() operator where the pool of prospective parents, including those that were not selected by happenstance for creating offspring, are combined and truncated by fitness; this way we do not lose the best parents (unless they happen to all be worse than the offspring).  Converting this snippet to an ES(µ,λ) would simply entail dropping the parents=parents argument to the truncation selection.

OK, I'm satisfied. If you want to make the pull request, I'll approve it.
AG
--
Aaron Garrett
On Fri, Jul 21, 2023 at 4:35 PM Mark Coletti @.***>
wrote:

Alberto is correct. For an ES(µ+λ) the pool of perspective parents and
created offspring are poured into the same bucket and then truncation
selection yields a new pool of prospective parents of size |µ|. Combining
just the selected parents and offspring introduces a new source of
genetic drift -- that is, parents not selected drop out of sight even if
they happen to be some of the best.
This is an ES example from LEAP:
while generation_counter.generation() < max_generation:
    offspring = pipe(parents,
                     ops.random_selection,
                     ops.clone,
                     mutate_gaussian(std=context['leap']['std'], expected_num_mutations=1),
                     ops.evaluate,
                     # create the brood
                     ops.pool(size=len(parents) * BROOD_SIZE),
                     # mu + lambda
                     ops.truncation_selection(size=len(parents),
                                              parents=parents))
    parents = offspring

pipe() takes a data source as its first argument, in this case the
parents, from which offspring are accumulated via the ops.pool()
operator. Then those offspring are passed to the truncation_selection()
operator where the pool of prospective parents, including those that
were not selected by happenstance for creating offspring, are combined
and truncated by fitness; this way we do not lose the best parents (unless
they happen to all be worse than the offspring). Converting this snippet to
an ES(µ,λ) would simply entail dropping the parents=parents argument to
the truncation selection.
—
Reply to this email directly, view it on GitHub
https://github.com/aarongarrett/inspyred/issues/27#issuecomment-1646211841,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AALRPXNGLV77MZWUXOJ7TTLXRLRZ7ANCNFSM6AAAAAA2SQUD6E
.
You are receiving this because you commented.Message ID:
@.***>

Fixed in #28


Refactor esmodules imports

some places are using require and others import. make it homogeneous

Hello, I'll like to work on this. Can I please be assigned to this issue?
🙂

Hello, I'll like to work on this. Can I please be assigned to this issue? slightly_smiling_face

you are welcome :)

Hello, I'm sorry for not working on this since.
I'm kind of struggling with Typescript as I don't really have any experience in it. I think you can unassign me so someone that can help would have the opportunity to.
I apologize for any inconvenience caused.

Hello, I'm sorry for not working on this since. I'm kind of struggling with Typescript as I don't really have any experience in it. I think you can unassign me so someone that can help would have the opportunity to.
I apologize for any inconvenience caused.

hi, do not be pressured, take your time to learn and experiment. We don't have to hurry. But if you want to stop is ok, feel free to unassign yourself. your choice, thanks a lot

Ohh, if it's not time-dependent, I can continue with it.
I just didn't want to hold the project back or anything.
Thanks

Hey @Zeesky-code
Are you still working on the issue
If i would love take up this issue 1

Hi @i-dipanshu ,  yeah feel free to work on it.
🙂

Hey @vczb
Could please assigm me this task

Hey @vczb
I am getting some errors while updating the imports
I'd be really helpful if u could help
Should I list down the issues here and a discord for better interaction

Hey @vczb I am getting some errors while updating the imports I'd be really helpful if u could help Should I list down the issues here and a discord for better interaction

@i-dipanshu  sure, please, share the errors let's try fix it

closed by #36


B-18327 Remove fields -"Requested delivery date", "Scheduled delivery date",  "Actual delivery date", and "Required Delivery Date"

Agility ticket
B-18327
Summary
AC copied from the Agility Ticket: Given that I am a TOO, when reviewing the PPM dashboard, then I will not see fields "requested delivery date", "Scheduled delivery date",  "Actual delivery date", and "Required Delivery Date"
It is important to note that the document containing screenshots which is attached to the Agility Ticket (PPM TOO PPM Dashboard issues.docx) shows issues also with the pick-up dates section.
Verification Steps for the Author
These are to be checked by the author.

[x] Tested in the Experimental environment (for changes to containers, app startup, or connection to data stores)
[x] Have the Agility acceptance criteria been met for this change?

Verification Steps for Reviewers
These are to be checked by a reviewer.

[ ] Has the branch been pulled in and checked out?
[ ] Have the BL acceptance criteria been met for this change?
[ ] Was the CircleCI build successful?
[ ] Has the code been reviewed from a standards and best practices point of view?

Setup to Run the Code

Instructions for starting storybook
Instructions for starting the MilMove application
Instructions for running tests

How to test

Open a PPM Move as a TOO user and view the MTO tab.
Observe that the html  tables which previously showed the following values is no longer visible.
-Required Deliver Date
-Requested Pickup Date
-Scheduled Pickup Date
-Actual Pickup Date
-Requested Delivery Date
-Scheduled Delivery Date
-Actual Delivery Date
Since this should be conditional on wether or not it's a PPM, open a non-PPM move as TOO user and view the MTO tab.
Observe that the html tables which previously showed the above values are now visible.

Frontend

[ ] There are no aXe warnings for UI.
[ ] This works in Supported Browsers and their phone views (Chrome, Firefox, Edge).
[ ] There are no new console errors in the browser devtools.
[ ] There are no new console errors in the test output.
[ ] If this PR adds a new component to Storybook, it ensures the component is fully responsive, OR if it is intentionally not, a wrapping div using the officeApp class or custom min-width styling is used to hide any states the would not be visible to the user.
[ ] This change meets the standards for Section 508 compliance.

Backend

[ ] Code follows the guidelines for Logging.
[ ] The requirements listed in Querying the Database Safely have been satisfied.

Database
Any new migrations/schema changes:

[ ] Follows our guidelines for Zero-Downtime Deploys.
[ ] Have been communicated to #g-database.
[ ] Secure migrations have been tested following the instructions in our docs.

Screenshots

When I am viewing HHG shipment as a TOO, I seem to not have the table anymore.
BEFORE:

AFTER:

This deletion was supposed to be only for PPM shipments right?
If so, I think you might be able to use shipmentType for the condition check.

When I am viewing HHG shipment as a TOO, I seem to not have the table anymore. BEFORE:
AFTER:
This deletion was supposed to be only for PPM shipments right? If so, I think you might be able to use shipmentType for the condition check.

Hmm I set this to be a draft and not ready for review. I guess it still sent out the email when I added you guys? I'll note that in the future.

When I am viewing HHG shipment as a TOO, I seem to not have the table anymore. BEFORE:
AFTER:
This deletion was supposed to be only for PPM shipments right? If so, I think you might be able to use shipmentType for the condition check.

Oh yea I agree. Will do that now.


Deletion of SSH Operations in README.md

Thanks to PR #36, the application now uses a go package to generate esdca keys instead of using the ssh-keygen program.
This pull request removes the section of the readme stating that the ssh-keygen program is a dependency.

Thanks for the docs update!


We should purge the word "darwin" from our codebase

I have been putting off updating #443 until we removed the word "darwin" from things. I have started to do it a couple of times before becoming inevitably distracted by something else shiny, since it was slightly more work than trivial.
Resolving this issue would include things such as removing the darwin namespace, renaming filenames with the word "darwin" in them, updating any old docs which reference darwins, and updating readmes, such as those changed in #443.

Should be purged as of merging #802.


Created servicers.servicers_dashboard.add_services.services_list2; Ed…

…ited servicers_registration_form.services_list.RowTemplate1, servicers.servicers_dashboard.add_services and servicers.servicers_dashboard.add_services.oxiclinic; Deleted servicers.servicers_dashboard.add_services.s_list

new update


XmlSuite.toXml() missing suite time-out property

Closes #778
Fixes #778 .
Did you remember to?

[X] Add test case(s)
[X] Update CHANGES.txt

We encourage pull requests that:

Add new features to TestNG (or)
Fix bugs in TestNG

If your pull request involves fixing SonarQube issues then we would suggest that you please discuss this with the
TestNG-dev before you spend time working on it.

ping @juherr - Please help take a look.


Prediction issue

I'm using Anaconda environment. I'm running into the following issues:
Simulation 1:
Internal Server Error: /predict_stock/PFE/6mo/1/30
Traceback (most recent call last):
File "/home/sage/anaconda3/envs/stockstat-1/lib/python3.8/site-packages/django/core/handlers/exception.py", line 47, in inner
response = get_response(request)
File "/home/sage/anaconda3/envs/stockstat-1/lib/python3.8/site-packages/django/core/handlers/base.py", line 181, in _get_response
response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/home/sage/Desktop/stockstat1/Stock/views.py", line 33, in stock_predict
data = predict_stock(symbol, period, sim, future)
File "/home/sage/Desktop/stockstat1/Stock/backend/predict.py", line 179, in predict_stock
results.append(forecast())
File "/home/sage/Desktop/stockstat1/Stock/backend/predict.py", line 95, in forecast
modelnn = Model(
File "/home/sage/Desktop/stockstat1/Stock/backend/predict.py", line 57, in init
rnn_cells = tf.nn.rnn_cell.MultiRNNCell(
AttributeError: module 'tensorflow._api.v2.nn' has no attribute 'rnn_cell'
[19/Jan/2021 14:04:36] "GET /predict_stock/PFE/6mo/1/30 HTTP/1.1" 500 83765

The code I had written uses Tensorflow version 1.15.0. You are seeing the error since the you are using Tensorflow  v2.
I would advise you to create an environment with Tensorflow version 1.15.0, which would be the easier way to deal with the error.
An alternative solution would be to migrate your code from v1 to v2, by adding the following lines in all the python files present in the backend folder.
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

I hope this helps you, and thank you for using my project :)

The code I had written uses Tensorflow version 1.15.0. You are seeing the error since the you are using Tensorflow  v2.
I would advise you to create an environment with Tensorflow version 1.15.0, which would be the easier way to deal with the error.
An alternative solution would be to migrate your code from v1 to v2, by adding the following lines in all the python files present in the backend folder.
import tensorflow.compat.v1 as tf
tf.disable_v2_behavior()

I hope this helps you, and thank you for using my project :)

Thanks. I downgraded the TensorFlow, and it works perfectly now.

Thanks. I downgraded the TensorFlow, and it works perfectly now.


unable to find a valid endpoint for witness

I'm trying to follow a tutorial by @kentbull in this web page.
I'm trying to control the directory layout for understanding purposes, but also to enable additional tests. In the incept step I'm getting the following error:
ERR: unable to find a valid endpoint for witness BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha

Is there any way I can check the witness endpoint before calling kli incept? I would like to discard any bootstrap error.
Any other hint to find the issue will be much appreciated.

The code to reproduce the issue is the following (bash script):
#!/bin/bash

# This script demonstrates how to sign and verify with Keri.

export WORKING_DIR=$(pwd)/.keri
export KERI_CONFIG_DIR=${WORKING_DIR}/scripts

# Create configuration and keystore directories

mkdir -p ${KERI_CONFIG_DIR}/keri/cf
mkdir -p ${WORKING_DIR}/{allie,brett}

# Create a witness configuration file for Allie and Brett

echo '{"dt": "2022-01-20T12:57:59.823350+00:00","iurls": ["http://<IP_ADDRESS>:5642/oobi/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha/controller","http://<IP_ADDRESS>:5643/oobi/BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM/controller","http://<IP_ADDRESS>:5644/oobi/BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX/controller"]}' \
    > ${KERI_CONFIG_DIR}/keri/cf/allie-witness-oobis.json

echo '{"dt": "2022-01-20T12:57:59.823350+00:00","iurls": ["http://<IP_ADDRESS>:5645/oobi/BM35JN8XeJSEfpxopjn5jr7tAHCE5749f0OobhMLCorE/controller","http://<IP_ADDRESS>:5646/oobi/BIj15u5V11bkbtAxMA7gcNJZcax-7TgaBMLsQnMHpYHP/controller","http://<IP_ADDRESS>:5647/oobi/BF2rZTW79z4IXocYRQnjjsOuvFUQv-ptCf8Yltd7PfsM/controller"]}' \
    >  ${KERI_CONFIG_DIR}/keri/cf/brett-witness-oobis.json

# Start witness network

cd ${WORKING_DIR} && kli witness demo &

# Initialize Allie and Brett keystores

export ALLIE_SALT="$(kli salt)"
cd ${WORKING_DIR} && kli init \
    --name allie_ks \
    --base ${WORKING_DIR}/allie  \
    --nopasscode \
    --salt ${ALLIE_SALT} \
    --config-dir ${KERI_CONFIG_DIR} \
    --config-file allie-witness-oobis

export BRETT_SALT="$(kli salt)"
cd ${WORKING_DIR} && kli init \
    --name brett_ks \
    --base ${WORKING_DIR}/brett  \
    --nopasscode \
    --salt ${BRETT_SALT} \
    --config-dir ${KERI_CONFIG_DIR} \
    --config-file brett-witness-oobis

# Create configuration files for Allie and Brett

echo '{"transferable": true,"wits": ["BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM","BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"],"toad": 3,"icount": 1,"ncount": 1,"isith": "1","nsith": "1"}' \
    > ${WORKING_DIR}/allie/magic-pencil.json

echo '{"transferable": true,"wits": ["BM35JN8XeJSEfpxopjn5jr7tAHCE5749f0OobhMLCorE","BIj15u5V11bkbtAxMA7gcNJZcax-7TgaBMLsQnMHpYHP","BF2rZTW79z4IXocYRQnjjsOuvFUQv-ptCf8Yltd7PfsM"],"toad": 3,"icount": 1,"ncount": 1,"isith": "1","nsith": "1"}' \
    > ${WORKING_DIR}/brett/secret-speaker.json

# Create KERI identifiers for Allie and Brett by making an inception event

cd ${WORKING_DIR} && kli incept \
    --name allie_ks \
    --base ${WORKING_DIR}/allie \
    --alias magic-pencil \
    -f ${WORKING_DIR}/allie/magic-pencil.json

cd ${WORKING_DIR} && kli incept \
    --name brett_ks \
    --base ${WORKING_DIR}/brett  \
    --alias secret-speaker \
    -f ${WORKING_DIR}/brett/secret-speaker.json

# $ export ALLIE_PREFIX=EGdeGrvLiZ7K8KFuSrFhc4AghPwkwi-qEMGKokaTh2JP
# $ export BRETT_PREFIX=EMFWPbZf4uG2XUV-LSJ4zWkLU-2tbuCMZh36gW1NeJiA

# Wait for witness network to end or be killed
wait

I have found that using the correct working directory is critical.
kli witness demo should have working directory ~/keripy
It is possible the other commands will work, but still I would advice against setting working directory into ~/.keri as this is where the commands will internally create files.
In my environment I'm using ~/keri-home as parent working directory for most kli commands (other than kli witness demo, kli agent demo etc)

Thanks, @psteniusubi. With ~/keripy do you mean the source code of the keripy repository?  Or it is enough that I have a keripy folder in my home path?
I have created a virtual environment in my own repository (~/projects/trykeri), and I'm installing keripy from source. That is done in the pyproject.toml as:
dependencies = [
  "lmdb",
  "pysodium",
  "blake3",
  "msgpack",
  "simplejson",
  "cbor2",
  "keri @ git+https://github.com/WebOfTrust/keripy.git@development"
]

Yes set working directory to where you have checked out keripy

@psteniusubi, but that's the thing, I have not checked out keripy. I have installed it pointing to git, and it can be found in my venv: .direnv/python-3.10.12/lib64/python3.10/site-packages/keri/.
I guess that I can not have this setting.

I have tried the following steps:

Checkout keripy repository
Create and activate virtual environment
Install source package using python3 -m pip install -e ./
Change export WORKING_DIR=$(pwd) so it points to ~/keripy

Here the script that is run at ~/keripy home, with throws exactly the same error:
#!/bin/bash

# This script demonstrates how to sign and verify with Keri.

export WORKING_DIR=$(pwd)
export KERI_CONFIG_DIR=${WORKING_DIR}/scripts

# Create configuration and keystore directories

mkdir -p ${KERI_CONFIG_DIR}/keri/cf
mkdir -p ${WORKING_DIR}/{allie,brett}

# Create a witness configuration file for Allie and Brett

echo '{"dt": "2022-01-20T12:57:59.823350+00:00","iurls": ["http://<IP_ADDRESS>:5642/oobi/BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha/controller","http://<IP_ADDRESS>:5643/oobi/BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM/controller","http://<IP_ADDRESS>:5644/oobi/BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX/controller"]}' \
    > ${KERI_CONFIG_DIR}/keri/cf/allie-witness-oobis.json

echo '{"dt": "2022-01-20T12:57:59.823350+00:00","iurls": ["http://<IP_ADDRESS>:5645/oobi/BM35JN8XeJSEfpxopjn5jr7tAHCE5749f0OobhMLCorE/controller","http://<IP_ADDRESS>:5646/oobi/BIj15u5V11bkbtAxMA7gcNJZcax-7TgaBMLsQnMHpYHP/controller","http://<IP_ADDRESS>:5647/oobi/BF2rZTW79z4IXocYRQnjjsOuvFUQv-ptCf8Yltd7PfsM/controller"]}' \
    >  ${KERI_CONFIG_DIR}/keri/cf/brett-witness-oobis.json

# Start witness network

kli witness demo &

# Initialize Allie and Brett keystores

export ALLIE_SALT="$(kli salt)"
kli init \
    --name allie_ks \
    --base ${WORKING_DIR}/allie  \
    --nopasscode \
    --salt ${ALLIE_SALT} \
    --config-dir ${KERI_CONFIG_DIR} \
    --config-file allie-witness-oobis

export BRETT_SALT="$(kli salt)"
kli init \
    --name brett_ks \
    --base ${WORKING_DIR}/brett  \
    --nopasscode \
    --salt ${BRETT_SALT} \
    --config-dir ${KERI_CONFIG_DIR} \
    --config-file brett-witness-oobis

# Create configuration files for Allie and Brett

echo '{"transferable": true,"wits": ["BBilc4-L3tFUnfM_wJr4S4OJanAv_VmF_dJNN6vkf2Ha","BLskRTInXnMxWaGqcpSyMgo0nYbalW99cGZESrz3zapM","BIKKuvBwpmDVA4Ds-EpL5bt9OqPzWPja2LigFYZN2YfX"],"toad": 3,"icount": 1,"ncount": 1,"isith": "1","nsith": "1"}' \
    > ${WORKING_DIR}/allie/magic-pencil.json

echo '{"transferable": true,"wits": ["BM35JN8XeJSEfpxopjn5jr7tAHCE5749f0OobhMLCorE","BIj15u5V11bkbtAxMA7gcNJZcax-7TgaBMLsQnMHpYHP","BF2rZTW79z4IXocYRQnjjsOuvFUQv-ptCf8Yltd7PfsM"],"toad": 3,"icount": 1,"ncount": 1,"isith": "1","nsith": "1"}' \
    > ${WORKING_DIR}/brett/secret-speaker.json

# Create KERI identifiers for Allie and Brett by making an inception event

kli incept \
    --name allie_ks \
    --base ${WORKING_DIR}/allie \
    --alias magic-pencil \
    -f ${WORKING_DIR}/allie/magic-pencil.json

kli incept \
    --name brett_ks \
    --base ${WORKING_DIR}/brett  \
    --alias secret-speaker \
    -f ${WORKING_DIR}/brett/secret-speaker.json

# $ export ALLIE_PREFIX=EGdeGrvLiZ7K8KFuSrFhc4AghPwkwi-qEMGKokaTh2JP
# $ export BRETT_PREFIX=EMFWPbZf4uG2XUV-LSJ4zWkLU-2tbuCMZh36gW1NeJiA

# Wait for witness network to end or be kill
wait

kli witness demo

Would it be possible to run this providing the necessary input myself, instead of using demo?

If you look at the code for "kli witness demo" you would see that you would need to modify the code to be able to specify your own inputs. It's doable, yet not without modification.
The Abydos Tutorial I wrote shows how to initialize and run your own witnesses. Go to the "Witness Network" section.

Glad you got it working! Plagiarize whatever you want. That's the point of a tutorial :)

Adding here for others who run into this issue while using docker (and docker compose):
Witness configuration needs proper configuration files, using something like this in docker compose for your witness container:
volumes:
- ./scripts/keri/cf/main/:/keripy/scripts/keri/cf/main/


CodeSysytemName -> Codesystemoid

Use oid in codes instead of name for code system
Pull requests into cqm-converter require the following. Submitter and reviewer should :white_check_mark: when done. For items that are not-applicable, note it's not-applicable ("N/A") and :white_check_mark:.
Submitter:

[ ] This pull request describes why these changes were made.
[ ] Internal ticket for this PR: https://jira.mitre.org/browse/CYPRESS-519
[ ] Internal ticket links to this PR
[ ] Code diff has been done and been reviewed
[ ] Tests are included and test edge cases
[ ] Tests have been run locally and pass
[ ] If applicable, the library version number in cqm-converter.gemspec has been updated
[ ] Update cqm-execution test fixtures using update_cqm_execution_fixtures.sh script from server-scripts repo

Bonnie Reviewer:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Cypress Reviewer:
Name:

[ ] Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose
[ ] The tests appropriately test the new code, including edge cases
[ ] You have tried to break the code

Codecov Report

Merging #43 into master will increase coverage by 1.31%.
The diff coverage is 86.66%.

@@            Coverage Diff             @@
##           master      #43      +/-   ##
==========================================
+ Coverage   57.78%   59.09%   +1.31%
==========================================
  Files           7        7
  Lines         488      511      +23
==========================================
+ Hits          282      302      +20
- Misses        206      209       +3

Impacted Files
Coverage Δ

lib/cqm/converter/hds_record.rb
93.93% <86.36%> (-1.3%)
:arrow_down:

lib/cqm/converter/bonnie_measure.rb
96.11% <87.5%> (-0.73%)
:arrow_down:

Continue to review full report at Codecov.

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


Improve the error message for missing required inputs

Description
This PR includes the following changes:

Refactored the code for column validation by separating target validation and evaluator validation.
Fixed a regression where an error was not raised when the target doesn't generate columns needed by the evaluator.
Instead of raising missing inputs error for a single evaluator,  all evaluators are now reported at once, enhancing the customer experience. Below is one example:

All SDK Contribution checklist:

[ ] The pull request does not introduce [breaking changes]
[ ] CHANGELOG is updated for new features, bug fixes or other significant changes.
[ ] I have read the contribution guidelines.

General Guidelines and Best Practices

[ ] Title of the pull request is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[ ] Pull request includes test coverage for the included changes.

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

This looks great - thanks!

/check-enforcer override


Add overlay chart if selecting two saved results

Resolves #180.
When two items are selected from the saved results, the chart displays 4 datasets, with one saved result's 2 datasets overlayed on top of the other result's 2 datasets.
This introduces a weird bug in which the chart sometimes temporarily stops displaying one of the two saved results. It is rather inconsistent to reproduce, but clicking to hide and show datasets often triggers the bug. I'm not sure if this bug lies in my code or in Chart.js

I checked out the branch and it's super cool - thanks for this !
What can we do about the title though ?
(can we do the html table or that would take longer / for another PR)
for the 2 can you change the title to show what is A and what is B - then we can merge this
(and do the table additionally later)

found a small bug (that I had to fix when I first added multi chart) : resize doesn't work correctly, it looses the 2-chart or switches to multi-chart when you resize the window

Both the original weird bug and the resizing bug are solved by separating an overlayChart and destroying the other charts as you switch 'modes'.
The title is pretty long but does label and show data for A and B. It can be adjusted / removed later like you said.

This is sweet ! thanks! 2 issues though, 1 for title space, let's apply:
ldemailly-macbookpro:fortio ldemailly$ git show 57ba5c9431e81c9c77888964b0e1d72efea91523
commit 57ba5c9431e81c9c77888964b0e1d72efea91523 (HEAD -> Tahler-overlay-180)
Author: Laurent Demailly<EMAIL_ADDRESS>Date:   Thu Apr 26 19:06:24 2018 -0700

    use fewer lines (skip 3rd one and collapse first 2)

diff --git a/ui/static/js/fortio_chart.js b/ui/static/js/fortio_chart.js
index da1668b..ef6ce99 100644
--- a/ui/static/js/fortio_chart.js
+++ b/ui/static/js/fortio_chart.js
@@ -202,11 +202,9 @@ function toggleVisibility () {
 function makeOverlayChartTitle (titleA, titleB) {
   // Each string in the array is a separate line
   return [
-    'A',
-    ...titleA,
+    'A: ' + titleA[0], titleA[1], // skip 3rd line for now
     '',
-    'B',
-    ...titleB
+    'B: ' + titleB[0], titleB[1]
   ]
 }

(I tried to put that in your fork but don't know how, for fortio feel free to make branches in this repo directly (unlike istio where it's not recommended))
2, I get errors when typing a max (like 400) and hitting return (it used to set the max to 400 right away)
    at setChartOptions (fortio_chart.js:370)
    at updateChart (fortio_chart.js:404)
    at <anonymous>:1:1

for title I tried
'A: ' + titleA[0], ...titleA.splice(1)

which works but takes too much space


raw Button

Hey, just wondering, where is the raw button/file cannot find it.

If you're wondering, no android or ios. Anyways there


56 - Fix conflict generated with editorjs-undo

Developing #56.

Hi @juanhurtado10, @MarioRodriguezS, and @jcamilocp. This PR closes #56.
The items attribute was changed, It was an array of objects like this:
{
    type: 'toggle',
    data: {
        text: 'Toggle A',
        status: 'open',
        items: [
            { type: 'paragraph', data: { text: 'A1' } },
            { type: 'paragraph', data: { text: 'A2' } },
            { type: 'paragraph', data: { text: 'A3' } },
        ],
    }
},

Currently, items is an integer number, which indicates how many blocks after the toggle should be nested in the toggle, like this:
{
    type: 'toggle',
    data: {
        text: 'Toggle A',
        status: 'open',
        items: 3,
    }
},

{
     type: 'paragraph',
     data: { text: 'A1' }
},

{
    type: 'paragraph',
    data: { text: 'A2' }
},

{
    type: 'paragraph',
    data: { text: 'A3' }
},

The class methods were updated according to the implemented changes. In particular, the save method was updated to avoid conflicts with the editorjs-undo plugin. So now, the toggle isn't incompatible with that plugin. In #57 the toggle will be compatible with the editorjs-undo plugin.