WSL instructions should mention apt-get install

Hello! We are looking into using lethe here at UNC and a postdoc is installing it right now.
I happen to know that you can do sudo apt-get install libdeal.ii-dev but he did not, and the instructions for WSL are only for candi. It would be great to mention that it's possible to get deal.II via apt here instead of using candi in the WSL docs.

Hey @drwells!
Glad to see you guys are interested in using it.
The only issue is that right now Lethe does not support deal.II 9.4 ( I need to update the installation instructions).
Is libdeal.ii-dev compatible with 9.5 yet? @voferreira tried it out and it seemed to still install 9.4

@voferreira  and @drwells I think we have a new ubuntu deal.II package now right?

@blaisb Apparently yes. I will try it out right now.

@blaisb It seems all clear. It is working well for Lethe installation, application tests, and applications. I just updated the WSL and regular installation procedures.
Thank you for pointing that out and for your interest in Lethe, @drwells!


Delete temporary files on exit

Related to https://github.com/gradle/gradle-private/issues/2366#issuecomment-504732482
As the docs recommend:

This method provides only part of a temporary-file facility.  To arrange for a file created by this method to be deleted automatically, use the deleteOnExit method.

Those temporary files are used by tasks to obtain locations to write files to. Some tasks depend on the temporary directories/files not to be deleted between runs, since the put some state there. So we cannot delete the directory/file on exit.
TmpDirTemporaryFileProvider is the provider which creates the files in the Java tmpdir and not in the build directory.
Deleting on exit of the JVM = exit of the daemon also sounds like a bad idea. Those temporary files should probably be deleted when the build is finished, not when the daemon exits.

Thanks for taking the time, closing the issue in that case.
I wonder why no tests have failed, if that is indeed a requirement.

The daemon won't exit during the tests, only afterwards. So you won't see the test failures.


Get a lost of user roles?

Quite new to auth0 so really like your repo here. Is there any way to get all the roles, assigned to a user?

Not possible to get role from the access token, because it's an anti-pattern to implement authorization by checking role names.
Instead, auth0 roles contain sets of permissions, and the access token of the user contains the combined permissions of the roles assigned to the user.
Then the api endpoints implement checks for the specific permissions.


Updated finetune/lora.py to accept parameters from the command line

lit-gpt.py updated to take all hyperparameters from command line (they can also be specified in a configuration file)
tested with a few runs, both using the same command as previously (all params are autofilled with defaults) and by providing a few manually. Output is saved on wandb (see eg. this)

Meta note: Do we want to add a branch protection rule for work we do on this fork? Right now, its open to merge regardless of approval.
Also, do we want to bring these changes into main, or continue to just work off dev ?


Push DynamoDB updates to Elasticsearch

Dupe of https://github.com/wellcometrust/platform-api/issues/68.


bug: java.util.concurrent.ExecutionException: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: accessing Sourcegraph Grap (...)

Plugin version: 5.3.27
IDE version: PS-232.10227.13
Stacktrace:
java.util.concurrent.ExecutionException: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: accessing Sourcegraph GraphQL API: FetchError: request to https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription failed, reason: getaddrinfo ENOTFOUND sourcegraph.com (https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription)

Error: accessing Sourcegraph GraphQL API: FetchError: request to https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription failed, reason: getaddrinfo ENOTFOUND sourcegraph.com (https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription)
    at C:\snapshot\dist\agent.js
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async C:\snapshot\dist\agent.js
	at java.base/java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:396)
	at java.base/java.util.concurrent.CompletableFuture.get(CompletableFuture.java:2073)
	at com.sourcegraph.cody.initialization.EndOfTrialNotificationScheduler.lambda$1$lambda$0(EndOfTrialNotificationScheduler.kt:44)
	at com.sourcegraph.cody.agent.CodyAgentService$Companion.withAgentRestartIfNeeded$lambda$1(CodyAgentService.kt:134)
	at com.intellij.openapi.application.impl.ApplicationImpl$2.run(ApplicationImpl.java:272)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: org.eclipse.lsp4j.jsonrpc.ResponseErrorException: accessing Sourcegraph GraphQL API: FetchError: request to https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription failed, reason: getaddrinfo ENOTFOUND sourcegraph.com (https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription)

Error: accessing Sourcegraph GraphQL API: FetchError: request to https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription failed, reason: getaddrinfo ENOTFOUND sourcegraph.com (https://sourcegraph.com/.api/graphql?CurrentUserCodySubscription)
    at C:\snapshot\dist\agent.js
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async C:\snapshot\dist\agent.js
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.handleResponse(RemoteEndpoint.java:209)
	at org.eclipse.lsp4j.jsonrpc.RemoteEndpoint.consume(RemoteEndpoint.java:193)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.handleMessage(StreamMessageProducer.java:194)
	at org.eclipse.lsp4j.jsonrpc.json.StreamMessageProducer.listen(StreamMessageProducer.java:94)
	at org.eclipse.lsp4j.jsonrpc.json.ConcurrentMessageProcessor.run(ConcurrentMessageProcessor.java:113)
	at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
	at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
	at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
	at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
	... 1 more

Hi @aymanalhattami 👋
I am sorry you encountered these troubles 🙇 we noted the problem already and we are working on fixing it.
Let me close this issue in favour of the wrapper issue: https://github.com/sourcegraph/jetbrains/issues/915


Static Field Import

I get "Unresolved Symbol" when doing an import of a static field as per the import docs. Many of the JS externs rely on this for providing a more concise syntax. You can look at any of the HXNodejs examples, like this one for instance.
Note that the aliasing of an import is also broken with the same "Unresolved Symbol" message. I tried both the 'as' and 'in' keywords.
I am running Ultimate 2016.3 and the latest RC plugin listed in the Releases page.

The "latest RC plugin" at the time this bug was written was 0.10.1-RC2, which does have "in" and "as" keyword support.

appologies for the mistake on the aliased imports they are working as expected, just the static imports that aren't.


Check using the type annotation for default parameter value and try-catch variable

putting these together because they are pretty much the same implementation
Default parameter value
currently no exception is raised here
function x(a: number = "hi") {}

it should raise an exception for the default parameter value, as the RHS is not subtype-able under number
the code is here, using type_is_subtype with parameter_constraint against value (default_value) and sending the result to checking_data.diagnostics_container with the position using A::expression_position
https://github.com/kaleidawave/ezno/blob/b6ead3efaebbfa8c1692f296e30860b3be10f17c/checker/src/features/functions.rs#L136-L147
Catch variable
currently no exception is raised here
try {
	throw 5
} catch (e: string) {

}

it should raise an exception here 5 is RHS is not subtype-able under number
the code should go here https://github.com/kaleidawave/ezno/blob/b6ead3efaebbfa8c1692f296e30860b3be10f17c/checker/src/synthesis/statements.rs#L250
The shape of code
Here you can see how it is done for x satisfies Type. You simply want to import the type_is_subtype function and give the type from the annotation as the LHS type/first argument, then follow the rest.
https://github.com/kaleidawave/ezno/blob/b6ead3efaebbfa8c1692f296e30860b3be10f17c/checker/src/types/subtyping.rs#L760-L764
and emitting the error diagnostic
https://github.com/kaleidawave/ezno/blob/b6ead3efaebbfa8c1692f296e30860b3be10f17c/checker/src/lib.rs#L382-L400

You want to create custom TypeCheckErrors for both these scenarios, to annotate that it was a InvalidDefaultValue or ThrowDoesNotMatchCatchVariableAnnotation
You also want to add tests to specification.md for the cases above.
As with any issue, if you want more help or questions feel free to ask

@kaleidawave please assign me this issue

@kaleidawave @n-keerthi-gayathri
Hey, I'm interested in taking on this task as my first contribution. I'll be following the detailed steps in the issue description, but I'll post again if I run into any issues.


Using external browser

Hey, i wanted to know if it is possible to use external browsers such as browserless-v2 https://docs.browserless.io/ ?

No, supporting browser-less is not supported and out of scope for this project.


social media blocker

I would like to create a social media blocker extension that would block the social media sites which keeps us away from distractions.
do assign me.(GSSOC'22)

@Nehalmiglani Please check once Block site, maybe you can enhance that extension.

Yes, @Nehalmiglani you can look at  AD BLOCKER extension also for enhancement

@Nehalmiglani would you like to go ahead or not with the issue?

@Nehalmiglani please update

@harshita214  can you assign me this issue?

@harshita214 can you assign me this issue?

You will be working as an enhancement of the issue, right?

can you explain what you want to say?
i was saying that can i make this chrome extension if you assign me this issue then i can work it.
@whiteHatpro

@whiteHatpro  okay i will see if i can make any change then i will do that


Mage deploy/Build uses kind v0.12 which creates clusters at 1.23.x

Describe the bug
Using the current magefile we are creating kind clusters that are of the type of 1.23.x.  Using the latest kind<EMAIL_ADDRESS>it will create clusters at v1.27.3
To Reproduce
Steps to reproduce the behavior:

Run mage build

Expected behavior
To have the latest kind cluster be created  with kind being upgraded.
Steps to fix
Update magefile to use kind (ensure kind) at version 0.20.0 to build clusters with 1.27

https://github.com/getporter/magefiles/pull/29 <--- This is the PR that fixes this in the magefiles repo.
Golang song and dance to update deps when this is merged over there.


Edges of plot disappear after first loop

I am using celluloid to plot a function over 17 years and i love it so far, it works great!
I have one small problem though, the edges of my plot disappear after the first loop. I have attached images of how this looks.
First loop:

Second loop:

I am using cartopy and matplotlib in jupyter notebook and this is my code for the animation:
`
import matplotlib
matplotlib.use('Agg')
from IPython.display import HTML
from celluloid import Camera
fig=plt.figure(figsize=(9,5))
cmap=matplotlib.cm.RdBu_r
norm=matplotlib.colors.Normalize(vmin=0, vmax=50)
ax=plt.axes(projection=ccrs.PlateCarree(),extent=[-180, 180, -90, 90])
ax.set_xticks([-180, -120, -60, 0, 60, 120, 180], crs=ccrs.PlateCarree())
ax.set_yticks([-90, -60, -30, 0, 30, 60, 90], crs=ccrs.PlateCarree())
plt.xlabel('Longitude [deg]')
plt.ylabel('Latitude [deg]')
camera = Camera(fig)
for i in range(0,(stop-start)+1):
ax.coastlines()
plt.scatter(nphi[i], nthe[i], c=mag[i], s=40, norm=norm, cmap=cmap, edgecolor="k")
ax.text(0, 1.05, 'Global Observatory Plot of SV magnitude from target year '
+ str(start+i) + ' in the dB_' + out + '-direction', fontsize=9, transform=ax.transAxes)
camera.snap()
cbar=plt.colorbar()
cbar.set_label('Magnitude of SV [nT/yr$^2$]')
animation = camera.animate(interval=800)
animation.save('Figures/GlobalSVMag.mp4')
HTML(animation.to_html5_video())
`
Is there a way to make the edge appear all the way through the animation?

I have the same issue when plotting with cartopy and creating an animation with this package. It would be great to understand how to fix this problem.


Regex doesn't match and replace groups.

I've tried matching groups, so that I can change the order of characters in my titles. E.g. if I want to move FOO from the start to the end, I might do
Existing: FOO(.+)
Replacement: $1FOO
But the preview shows no change.
I have also tried with \1 and \1 instead of $1.

see this thread (same request): https://github.com/OlegLustenko/obsidian-bulk-rename/issues/20

Well, I can work on it, Could you help me to add some specific cases so I can verify the results?
Since existing libraries have a different implementation of RegExp
cc: @cvh-obsi, @Chriswaterguy
Ideally, results will include -> Existing, Replacement

Since existing libraries have a different implementation of RegExp

Could we have exactly the same flavour as the Obsidian search function? That would minimise confusion.

So, Status update:

RegExp is not currently supported in Existing or Replacement, only strings can be pasted here.

However, I'm working on making it work there too

Ok, I made it work going to release it today or tomorrow!
Thanks everyone for feedback

Solved in the scope of https://github.com/OlegLustenko/obsidian-bulk-rename/pull/23
Feedback is welcome!
Released with 0.5.2 version
Thanks, everyone for contribution
cc: @cvh-obsi, @Chriswaterguy

Closing as implemented


Upgrade AMQP-Client compatibility to 3.5.1

Should fix: https://github.com/jlavallee/JMeter-Rabbit-AMQP/issues/21
Appears to be backwards compatible to 3.4.x as well...

Thanks - could you bring this up-to-date now that I've merged PR #22 ?

@jlavallee All set...


parse objective c metadata tables in Mach-O for symbol names

See subject.

There is a plugin written by @joshwatson that helps with Obj-C types.

There is a plugin written by @joshwatson that helps with Obj-C types.

https://github.com/trailofbits/ObjCGraphView

https://github.com/trailofbits/ObjCGraphView

Available through Objective-C plugin in builds ≥3559.


Create faceted UMAPs by cell type

Closes #611
Closes #612
In evaluating some of the reports from running cell typing, I noticed that it was hard to discern which cell belonged to which cell type because of the colors we were using. I tried some other color palettes, including Okabe-Ito, and it improved the colors, but there are definitely still some issues with discerning cells in the plot. After talking through this with Stephanie on Slack, we decided to try a different approach and make a panel of UMAPs. Here, each UMAP shows the cell type of interest in red and all other cells in grey. We are still limiting it to only show the top cell types, but I actually think this is a lot more clear and easier to distinguish cells. To accomplish this I did the following:

I created a new function for producing each of the UMAP panels. For each cell type, we have to make a new column designating if the cell belongs to the cell type of interest or other cells. That column is used to color the UMAP.
I also created a function to generate the list of top cell types. I tried just pulling the unique labels from the celltype_annotation_lumped column, but doing that pulled them in a random order and I want the UMAPs to be in order of cell type frequency. I also want All remaining cell types to be the last plot.
For each of the top cell types, I generate a UMAP panel and then use patchwork::wrap_plots to combine them.
I updated the number of cell types to keep before lumping all the rest to be 8. We were previously only showing 7 because we were limited by color palettes. Now by using 8 + the All remaining cell types, we have a 3x3 grid for the UMAPs.

While working on this, I also switched the axes labels for the automated annotations heatmap to address #611.
A few other notes:

I was seeing cases where we had ties, so the lump_celltypes was actually returning more than the specified cell type number. I updated that to always take the first match.
I did hard code the figure height and width for the UMAP plots to be 9 x 9. I don't imagine very many scenarios where we have fewer cell types, because I haven't really seen that when looking at some of the reports. However, that doesn't mean that can't happen. Do we want to try and adjust the number of cols, rows, and then figure height and width based on the number of cell types?
I didn't adjust the text yet, because I want to make sure we like these plots. Then I can update the explanatory text for interpreting the plots in another PR.

Here's an example of the updated plots.

And an updated report.
main_qc_report.html.zip

Just a comment that I would rather see this as real facets, to save some redundancy in the axis labels. You can do this with something like this:
ggplot(umap_df)+
    geom_point(data = select(umap_df, -annotation_column), color = "grey") +
    geom_point() +
    facet_wrap(vars(annotation_column))

This can preserves the multiple colors if you like, which could be nice. Or you can assign the foreground colors as you like in the second geom_point()

I just learned from #615 (comment) that faceting is possible 😲

Full disclosure, I learned it from Hadley: https://ggplot2-book.org/facet#sec-group-vs-facet (last plot in the section)

🤯 This was so much easier! I used ggplot directly to create the faceted plot as Josh suggested and it is so much simpler. Here I am keeping the original color palette and coloring each cell type with a unique color. The only problem there is that we can only keep 7 cell types again because of color restrictions so it sadly doesn't make a perfect grid. What do others think?

I also was able to remove the little helper function for re-ordering, since we don't need it this way. It automatically is ordering them the way I want them, by frequency with All remaining cell types last.
I wasn't planning on updating the text, because I was going to do that separately. Since this PR just got smaller, I went ahead and updated it. Definitely looking for feedback on the wording there!

Looks good!

The only problem there is that we can only keep 7 cell types again because of color restrictions so it sadly doesn't make a perfect grid. What do others think?

Let's turn that negative into a positive! We can put the legend in the last spot... I haven't tested this, but something like:
theme(
  legend.position = c(1,0),
  legend.justification(legend.justification = c("right", "bottom"))
)

Let's turn that negative into a positive!

I think you meant, "Let's make lemonade out of lemons!" 🍋

Faceting for the win! I think we might want to go with a lighter gray though to emphasize some of the points that are also light colored. Maybe gray80?

What do we think? I moved the legend and used lighter grey. I'm 50/50 on the legend placement, but because we are using different colors I do think we should keep it.

What do we think? I moved the legend and used lighter grey.

The lighter gray is much easier to see!! I still sort of think the legend isn't crucial given the faceting, but I also think it's charming in its little bottom right corner home. Charming wins.


Handle missing data

This PR is probably best to review this PR commit-by-commit and does a few things:

Gracefully handles attempts to make API calls with a missing participant ID or experiment ID. Now the client won't even attempt the API call if one of those parameters is missing. I wanted to do this not as a matter of optimization, but rather to make it easy to opt certain users out of experiments. Eg for our landing page experiment, if the user in question has already signed up, I don't want them to participate in the experiment at all, as that would throw off the numbers. With this change that sort of thing is easy to do: just have the function for getting the user's participant ID return None if the user exists in the database.
DRYs out the try_conversion and try_assignment methods which have been getting more and more complex and share  the vast majority of their functionality.
Adds more details to the logging that try_assignment and try_conversion do.
Explicitly sets the content type of the client's requests to application/json. Not having done this was causing the Hyp API to return HTML error messages in some cases due to this code. Because I made this change I also had to re-record our HTTP requests in the test suite, which is what the changes in the cassettes directory are.

Thanks for the feedback! When reviewing a PR the norm is not to close it if you have feedback, but to let the person who made the PR respond to and potentially address that feedback :).

I left a comment in the code, at line 50 of v1.py. Also, I posted a comment in Discord about the init function. The linter I am using flagged the argument default for the session parameter: def __init__(self, access_token, session=requests.Session()): It said,

Do not perform function calls in argument defaults.  The call is performed only once at function definition time. All calls to your function will reuse the result of that definition-time function call.  If this is intended, assign the function call to a module-level variable and use that variable as a default value.

Good call, I've updated this 👍

I need to bump the package version number and re-deploy it to pypl with the changes from 614a73b


I want the entire input value.

Is there a way to compare it to other values?
const validator = Schema({
  pw: string,
  confirmPw: (input: unknown, ctx: unknown) => input === ctx.pw,
}).destruct();

https://github.com/neuledge/computed-types#creating-new-types

Not right now, we may push it on future versions.
The way to do it is to validate the schema it self as well:
const validator =
  Schema({
    pw: string,
    confirmPw: string,
  })
  .test((obj) => obj.pw === obj.confirmPw, 'Passwords not match')
  .destruct();

Thank you🎖


Mocking methods that already exist on proxied object is impossible

Hi.
I submitted just merged pr: https://github.com/florinn/typemoq/pull/38, but problem with callable proxy was only a half of solution to my problem.
I wrote an utility that accepts function in constructor. Second argument is an optional context, that - if provided - should be bound to function:
constructor(fn: Function, context?: any) {
   if(context) {
      this.fn = fn.bind(context);
   } else {
      this.fn = fn;
   }
}

I wanted to write test for it:
fnMock.setup(fn => fn.bind(context)).returns(fn => fn);

But such code results in mysterious result:
MockException - more than one setup expression found for ('Function.length'; setup should contain only one expression

First of all, this error message is not very informative. What is an 'setup expression'? It turns out that someone simply tried to call fn.length on my proxied function. But who? Well... fn.bind did!
It turns out that in typmoq es6 proxy implemenation, if property (for example bind) really exists on object, it will be used, instead of mocked/proxied one.
This means that essentially all tests checking calls to functions from prototype chain are impossible to mock (at least in es6 proxy mode).
I did not provide a pr because this behaviour in code seems very deliberate, as seen here (https://github.com/florinn/typemoq/blob/master/src/Proxy/ProxyES6Handler.ts#L30). What is the reason for such behaviour and can we find a way to make existing properties 'mockable' as well?
Thanks in advance and have a great day!

Indeed your PR was just part of the solution due to the quirky logic required to discriminate between getters and regular methods and functions.
Please confirm if this patch fixes the issue.

This solves my use case, but could you explain further why this check for existing property on underlying object is important? I am both curious and confused.
Anyways, thanks for fast responses and fixes!

Typemoq uses the ES6 Proxy object for the dynamic mocking feature.
Intercepting a function/method call including the call args with the ES6 Proxy takes a couple of steps.
First to intercept the target property name, the ES6 Proxy calls the handler.get method with the target property name as one of the args.
Then to intercept the target property args, a function must be returned from handler.get which in turn will get called by the ES6 Proxy.
The above works fine excepting for getter methods where the second part doesn't apply. The if statement you noticed it is used to handle this special case.
I hope the explanation makes sense, let me know otherwise.

It does... Kind of.
I just assumed you would want to write something like:
mocked.setup(o => o.property).returns((() => 'property value');

Perhaps such usage is overkill (you can pass real object with such property after all), but for uses where object has both some methods and properties you want to mock it would make sense.
I would even assume that es6 proxy is returned recursively, so that you could write:
mocked.setup(object => object.firstMethod().secondMethod().someProperty).returns(() => value);

Perhaps such usage is rare and maybe there are some implementation problems that we are not aware of right now, but es6 proxy is so flexible, that it seems doable and (in my opinion) much more robust than assuming that user wants to mock only simple method call.
Anyways, just some food for thought. ;)

Definitely something to ponder about. A PR implementing the idea would be welcomed.


Delete outcomes and reflections

It should be possible to delete outcomes and reflections.
On every card, there should be an X that allows for that card (outcome or reflection) to be deleted.
When clicking delete, the user needs to be prompted properly (Are you sure you want to delete this thingy thing?).

This should be inside edit, just as it is with hot spots right now


Update installation.rst

Updated the installation docs to meet the current workflow.

Codecov Report

Merging #91 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #91   +/-   ##
=======================================
  Coverage   98.11%   98.11%
=======================================
  Files          10       10
  Lines         318      318
  Branches       40       40
=======================================
  Hits          312      312
  Misses          3        3
  Partials        3        3

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 4ae6e0a...fef7dd7. Read the comment docs.


Unable to Checkout from Azure DevOps TFVC

Trying to test the Rider IDE but having issues checking out anything from Azure DevOps TFVC.
The login process works fine. I'm connected and are able to login but when I select Create Workspace....

Following error message comes up.

Anyone having an idea of the reason behind this problem?
Regards
Magnus Wallström

@magwalls, hello. This is, inveed, very strange. Could you please collect your IDE logs (Help → Compress Logs And Show in Explorer), and send them to<EMAIL_ADDRESS>Thanks.

I can't see anything suspicious in your logs. "The syntax of the command is incorrect" is a message from cmd: could it be that something's wrong with the tf.cmd script itself?
Could you please try executing tf.cmd /help in your command line (preferably in Rider terminal, to use the same set of environment variables)? It is a script path to which you have set up in your IDE settings, here:

It could be that the credentials cached for this particular connection use some strange/unusual characters that break something in the TF client command line parser. If that's the case, please try to clear the cached credentials by opening the Azure DevOps Services / TFS settings page and removing everything with the Delete configuration… button:

I can't see anything suspicious in your logs. "The syntax of the command is incorrect" is a message from cmd: could it be that something's wrong with the tf.cmd script itself?
Could you please try executing tf.cmd /help in your command line (preferably in Rider terminal, to use the same set of environment variables)? It is a script path to which you have set up in your IDE settings, here:

Thank you for investing your time into this Ivan! My fault totally. I didn't read the instructions of how to use the plugin. It turned out that I didn't have Java installed on my computer. After installing Java everything seem to work great!

Honestly that's strange. We use our own embedded Java to run the plugin binaries, and from your logs I can see that some of the calls worked.
But, anyway, I'm glad that the situation has been resolved. I won't close the issue yet, because I want to perform a small additional research on how the plugin handles the command line arguments in some cases. Will close it later.

Yes, I also assumed that Java wasn't required, other than if you actually were going to contribute in the development of the plugin.
When I ran the command tf.cmd /help I got this error message
java is not recognized as an internal or external command so that's when I figured that Java was required somehow.

Actually, if you have no Java installed system-wide, this is expected (but I've unfortunately forgot to mention it). You then could run something like this (cmd):
set PATH=C:\Users\%USERNAME%\AppData\Local\JetBrains\Toolbox\apps\Rider\ch-0\193.4744.92\jbr\bin;%PATH%
tf.cmd

(where …\jbr\bin points to the Rider installation, here I've used an instance from Toolbox)
It is unusual that you have your issue fixed by installing Java: I can't see how it could have any influence of TF Everywhere client execution when run from IDE.

I think I've figured out all the information that has been bothering me.
So, we have two ways of running the TF client: the "fast one" and the "slow one".
In the slow mode, we're passing all the arguments through the client command line (and it breaks for some reason on your machine: probably the credentials themselves are too long which happen sometimes).
In the fast mode, we start the client "worker" process with the only argument @ which means "read the command line from stdin", and then pass the arguments through stdin, which is probably more reliable.
Good news are that we're going to retire old client soon, and are now working on the new reactive client that will work faster and won't require tedious command line argument parsing routines.
I'll close this issue after we implement the checkout functionality in the reactive client.
For now, your workaround would be to do one of this:

open your TFVC settings and press the Test button on the client setup page: it should load the client version and will allow it to use the "fast mode" that isn't so bugged
always check out the repositories from the already started IDE (e.g. open another TFVC project before checking out a new one): when opening any TFVC project, we cache the client version, too, and will use the "fast mode" for further actions, even for checking out a new project

Ok! Looking forward to try the new reactive client :)
However, I ran into another issue trying to connect to my existing workspace used in Visual Studio where I have mapped the root folder $/ to C:\TFS locally.
But that probably belongs to a separate issue :)
I followed the guide from here
https://rider-support.jetbrains.com/hc/en-us/articles/360000335099-How-to-use-Visual-Studio-s-TFVС-local-workspace-in-Rider?flash_digest=c0b1059e560c9fdd30080cfa5e1e6a00c15d733c
But still getting teamProjectName is empty for some reason

@magwalls this is definitely a known issue #250 which I've already fixed in the master branch, but we haven't published a new build (yet). I'll try to make the publication faster.
For now, the only workaround is to not do that (i.e. to not map the server root directly).

Most likely, this is a duplicate of (more thoroughly investigated recently) issue #323.


Allow running outside of pull request event context

I'd like to be able to run this action on the deployment_status event instead of on updates to a pull request to avoid constructing URLs from the PR number. When running it against deployment_status there is no context.payload.pull_request object, resulting in the following error.
Run<EMAIL_ADDRESS>Error: Cannot read properties of undefined (reading 'number')

In our own actions code we have some scripts to look up the PR based on the ref, so ideally we'd have something along the lines of this PR to enable explicitly passing a PR number.
I'm happy to change this implementation as you see fit (and add tests). Or if you'd prefer not to bring this functionality into yours we could fork and rename it, or bring a minimal version of the code into our codebase

I can confirm this works for workflow_dispatch events as well. Great job.
https://github.com/storybookjs/storybook/pull/23508/commits/cf2bb2c1b7808ec1c8451586fa0d35bcb723b039

@JReinhold I will finish this PR and merge it tomorrow then ^^.

README updated, tests I left because they have some side effects so it'd require quite a bit of change to add additional without changing the source (see my other reply on the thread)

As for the tests I will add some once I've merged your updated PR before releasing a new version so the code will be a bit safer.

@ivangabriele this hasn't been "released" yet, has it?


[SA1019] rand.Seed has been deprecated since Go 1.20

Error: SA1019: rand.Seed has been deprecated since Go 1.20 and an alternative has been available since Go 1.0: Programs that call Seed and then expect a specific sequence of results from the global random source (using functions such as Int) can be broken when a dependency changes how much it consumes from the global random source. To avoid such breakages, programs that need a specific result sequence should use NewRand(NewSource(seed)) to obtain a random generator that other packages cannot access.  (staticcheck)
(from: https://github.com/KEINOS/go-hostpital/actions/runs/4157924643/jobs/7192766819#step:4:23)

Fixed in<PHONE_NUMBER>de26be1902ff056d5491fc74956085
- rand.Seed(time.Now().UnixNano())
+ randGen := rand.New(rand.NewSource(time.Now().UnixNano()))
- sec := rand.Intn(secMax * mil)
+ sec := randGen.Intn(secMax * mil)


Resurrect JIT functionality and loading of models

The PyTorch C++ guide shows that loading of modules means using the JIT loading: https://pytorch.org/tutorials/advanced/cpp_export.html
The JIT functionality was removed after the extensive churn in Pytorch C++ API in v1.01 --> 1.50.
It needs to be resurrected.
The more direct Load/Save that was present on modules should probably not be resurrected directly.
Also need to add ONNX load/save support

@NiklasGustafsson What's your thinking on this for the roadmap for TorchSharp?  It feels like it should be there?

I think this is one area that requires very careful consideration. I'm not convinced that TorchSharp needs to follow the PyTorch recipe for externalizing models exactly.
While we have spent a lot of effort making the eager evaluation of models as close as possible to what PyTorch developers are doing, we do not have to make the externalized model experience the same. For example, there may be a role for Roslyn analyzers for the C# solution, rather than a clone of the Python solution. Likewise for F# -- there may be a F#-specific solution.
I think this should come post-v1.0, and we also need to consider how we will support ONNX export from TorchSharp. To me, they are two sides of the same coin.

@dsyme @NiklasGustafsson
Currently, I could be wrong, it seems the continuity from pytorch saved model to Torchsharp is through ONNX.
There is a need for a proof of concept that the state dictionary exported (using TorshSharp export.py script) from pyTorch can be loaded back to TorchSharp by having the requirement that both the TorchSharp and PyTorch models are compatible.
As Nikas has implied in a few occasions, one possible option is the TorchSharp support for ONNX import of PyTorch exported ONNX.
It seems TorchSharp ONNX import is equally and perhaps more important than TorchSharp ONNX export.
Again, I hope this issue is evaluated post-v1.0
Congratulation of rapid progress towards v1.0!

@NiklasGustafsson I see for loading (though I'd still think we need to support loading of the pytorch format, if Java or Rust or Scala bindings do, we should check)
What about JIT? That's really what I was asking about, I forgot this issue referred to loading too.

Here are relevant links from Rust PyTorch bindings
https://github.com/LaurentMazare/tch-rs#using-some-pre-trained-model
https://github.com/LaurentMazare/tch-rs/tree/main/examples/jit
I haven't checked how the ".ot" files are extracted.  At least, we should be matching this

Looks like they have load:
let model = tch::CModule::load(model_file)?;

@dsyme @NiklasGustafsson
Based on new intiative from @dsyme, I recall the challenges of Netron dealing with PyTorch support.

PyTorch support is experimental. The recommended approach is to save the model to ONNX.

a .pth file might contain only tensor data or a partial module hierarchy without graph connections.

Rust binding approach
Then I look into the Rust binding approach as suggested by @dsyme
Rust seems to work only with TorchScript instead of PyTorch model
Example (tracing an existing module):
import torch
import torch.nn as nn

class Net(nn.Module):
    def __init__(self):
        super(Net, self).__init__()
        self.conv = nn.Conv2d(1, 1, 3)

    def forward(self, x):
        return self.conv(x)

n = Net()
example_weight = torch.rand(1, 1, 3, 3)
example_forward_input = torch.rand(1, 1, 3, 3)

# Trace a specific method and construct `ScriptModule` with
# a single `forward` method
module = torch.jit.trace(n.forward, example_forward_input)

# Trace a module (implicitly traces `forward`) and construct a
# `ScriptModule` with a single `forward` method
module = torch.jit.trace(n, example_forward_input)

The trained PyTorch model can then be serialized in a Torch Script file. The Torch Script file contains a description of the model architecture as well as trained weights. This file can be loaded from Rust to run inference for the saved model.

Given a "PyTorch" trained and save model, (e.g. pth or pt) the extension itself does not reveal if it is a PyTorch model or a TorchScript serialized model. (lots of discussion on that)
To address that in Rust.

Rust controls that ONLY saved TorchScript model is used and converts that into a format (with extension "ot"), loadable by Rust.

The rust CModule  is described here
However, it seems in practice, Rust goes from a save Jit model (e.g. "pt"), through an intermediate format ".nz", before ending up with the "ot" format.
This is what I could gather and I am not 100% sure if my understanding is correct.

@dsyme, @GeorgeS2019 -- we can and should look at JIT post-v1.0. In my opinion, we should decide on what is right in the context of .NET and the tooling options we have at our disposal. Tracing is simple, it's the scripting option of TorchScript that is going to take some thought and consideration.
I think ONNX is a good solution for exchange between languages (that's what it's for), but the reason for JIT support is primarily about performance and being able to deploy models for inference on a wide variety of platforms, so the JIT question is distinct from loading, IMO.
I'm working on an example (for the examples repo) with a simple ONNX -> C# converter that relies on the .NET model binary format. It should be ready in a week or so.

@NiklasGustafsson @dsyme
In some way, I am thinking along what Niklas has said.
We may need to learn from the PyTorch experience faced by both Netron and Rust.
To avoid not knowing the origin of PyTorch "model", Netron recommends ONNX.
For Rust, it requires a Controled workflow of migrating a TorchScript to a proprietary Rust format that is non standard and only used within Rust, and perhaps some projects of Rust dealing with PyTorch.
Recommendation

Stay dealing with ONLY ONNX import and export. There is no more proprietary TorchSharp format which is currently the case. If this is the case, immediately TorchSharp will have access to ONNX model coming from not just PyTorch, but other ML frameworks.

If there is a need to deal with TorchScript, provides a tool to detect if a given file is a PyTorch Model or TorchScript. Provide a brief explanation why only deals with TorchScript. Instead of following the path of Rust, TorchScript will be converted to ONNX within TorchSharp. There is no need to deal with a proprietary non standard TorchSharp format which is currently the case.

The core design philosophy for TorchSharp seems to be "if it's in LibTorch, and stable, then TorchSharp should expose it".  That is from the perspective of the coherence of the TorchSharp design: TorchSharp is the one and only wrapper for LibTorch in the .NET ecosystem.
So for any LibTorch functionality (incl JIT and loading) I'd say "if it's there, if it's stable, if it's feasible, if other languages bind to loading, then TorchSharp should in theory do to". That's from the perspective of TorchSharp as a .NET Foundation project.  So I believe we should say we would accept community PRs for these. It's not saying we need to put it into v1.0 ourselves, but it's hard to argue against accepting these things if someone contributes them.
I guess there's chance that @gbaydin and I may like to use the JIT functionality from DiffSharp to allow quotation-based compilation. Or I might try to build a different toolchain that compiles models written in F# statically using FSharp.Compiler.Service and JIT.

What I learn from this recent use case suggest the following challenges when using save pytorch model ( more like saving dict_states) in torchsharp.
if __name__ == '__main__':
    # Create model
    model = BasicConv1d(1, 32)

    #Export model to .dat file for ingestion into TorchSharp
    f = open("bug510.dat", "wb")
    exportsd.save_state_dict(model.to("cpu").state_dict(), f)
    f.close()

One has to examine if all the save dict states have been implemented internally in torchsharp for the torchsharp model.load to work.
I discuss here so more users check to cover (if any) more missing internal implementation (if possible submitting PRs) to make mode.load more reliable when loading saved pytorch dict_states.
Once we have a reliable model.load for almost all scenarios, then it will be less challenging to load ONNX in torchsharp.
Any comment??
How can we coordinate with the community to write unit tests to increase code coverage for achieving reliable model.load when exporting using the provided torchsharp python code.

What I learn from this recent use case suggest the following challenges when using save pytorch model ( more like saving dict_states) in torchsharp.
if __name__ == '__main__':
    # Create model
    model = BasicConv1d(1, 32)

    #Export model to .dat file for ingestion into TorchSharp
    f = open("bug510.dat", "wb")
    exportsd.save_state_dict(model.to("cpu").state_dict(), f)
    f.close()

One has to examine if all the save dict states have been implemented internally in torchsharp for the torchsharp model.load to work.
I discuss here so more users check to cover (if any) more missing internal implementation (if possible submitting PRs) to make mode.load more reliable when loading saved pytorch dict_states.
Once we have a reliable model.load for almost all scenarios, then it will be less challenging to load ONNX in torchsharp.
Any comment??
How can we coordinate with the community to write unit tests to increase code coverage for achieving reliable model.load when exporting using the provided torchsharp python code.

Once we have a reliable model.load for almost all scenarios, then it will be less challenging implement torchsharp codes to load ONNX in torchsharp.

Model.load() has nothing to do with loading ONNX models in TorchSharp, it relates only to loading model state_dicts() generated from either TorchSharp or PyTorch.

@NiklasGustafsson

Model.load() has nothing to do with loading ONNX models in TorchSharp, it relates only to loading model state_dicts() generated from either TorchSharp or PyTorch.

I got the part on ONNX and state_dict() and nothing to do with Model.Load().
Model.Load() ONLY works if

torchsharp csharp module corresponding to that of pytorch is available
torchsharp python script was used to export the pytorch state_dict.

@NiklasGustafsson
We have discussed the limitation of pytorch pth model
Here @fwaris address that by creating a parser going through TensorFlow saved model.

instead of exporting ONNX from pytorch, use the provided saved Tensorflow checkpoint model.
instead of going through pytorch saved state_dict and the need of manual creating a corresponding torchsharp csharp module, perhaps using the graph structure provided by TfCheckpoint to half manual create the corresponding torchsharp csharp module.

@GeorgeS2019 at this time, TfCheckpoint only reads the tensor data (variables) - not the model structure. TfCheckpoint has minimal dependencies (really just IronSnappy and the required protobuf definitions).
However, Tensorflow.NET seems to have the required functionality but the documentation is sparse. The "Restoring the Model" part is not written yet.

This has now been implemented -- TorchSharp can load and saved TorchScript files, but not create them from scratch. See PR #644


[WB-3442] Ground truth overriding annotations

Cause
When saving annotations to JSON file the same id(/filename) was being used. When not in an array no id_ is set, so the annotations hash is used instead.
Fix
Set the id using the image index and annotation index. Previously it was just using the image index. Not really sure if this is the best way...
I added a None check so that if no id is passed in, it would default to using the annotations hash. This was done to keep the same behaviour as previously.
I also tried setting the id_ to None for all annotations but this failed when passing in an array with 2 of the same images since they both have the same media hash.
Testing

wandb.log tests, test all cases with bounding boxes and masks

wandb.log({'data': img})
wandb.log({'data': [img]})
wandb.log({'data': [img, img]})
wandb.log({'data': [img, img2]})

Ran tox

circle didnt run, not sure why,  I have noticed this happening on forked PRs.  I would like to get that running before merging.


A2C loss calculations

https://github.com/cyoon1729/Reinforcement-learning/blob/d157d0d86c37734be4b430b7d311eb9bb0379d93/Policy-Gradient-Methods/a2c/a2c.py#L42
Sir, can you please explain why value_targets = rewards + discounted_rewards ?
Why do you need to add rewards and discounted rewards together ?

That was a mistake on my part, sorry for the late reply. I have fixed those changes in the recent refactoring!


Upgrade eslint-plugin-react to latest

Fixes this issue seen in IntelliJ/WebStorm eslint: https://github.com/yannickcr/eslint-plugin-react/issues/221

Coverage remained the same at 98.953% when pulling 91557c708bce6a6f701e94f0d061d56f09ef6b3e on belongapp:lint-react into 148da8c3f4d4604f71e65a29fb409c9544005909 on mxstbr:dev.

LGTM

Included in #1044.
Thanks for researching and submitting this. I'm sure it will be helpful to Webstorm users on 'older' versions of react-boilerplate (including the just-released 3.2.1) who experience the error discussed in the referenced issue yannickcr/eslint-plugin-react#221
ESLint failed: Cannot parse checkstyle XML
Thanks for contributing 👍


mark box files as PRECIOUS

... so they aren't treated as intermediate files and deleted on cancel or completion

Thanks.


Unexisting variable named value produces strange result

Is this expected behaiviour? Seams strang to me that the literal 'value' is treated specially.
        [Fact]
        public void PropertyNamedValueBehavesStrange()
        {
            var handlebars = HandlebarsDotNet.Handlebars.Create(new HandlebarsConfiguration());
            var render = handlebars.Compile("{{value}}");
            var output = render(new
            {
                anotherValue = "Test"
            });
            //This is what is produced and this test passes
            Assert.Equal("{ anotherValue = Test }", output);

            //This is what i expected and this is uncommented the test fails
            //Assert.Equal("", output);
        }

Great!


Rendering to a bitmap causes the SVG lines to look thicker than in Chrome

Description
When rendering an SVG file as a bitmap at 16px the rendered version looks much thicker than when viewed in Chrome at the same size. I have attached an image showing the comparison between this library and Chrome. Is there anything I can do to tweak the output to have it match? Thanks!
Example data

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"> 	<path d="M256 0C114.6 0 0 114.6 0 256s114.6 256 256 256s256-114.6 256-256S397.4 0 256 0zM256 464c-114.7 0-208-93.31-208-208S141.3 48 256 48s208 93.31 208 208S370.7 464 256 464zM256 336c-18 0-32 14-32 32s13.1 32 32 32c17.1 0 32-14 32-32S273.1 336 256 336zM289.1 128h-51.1C199 128 168 159 168 198c0 13 11 24 24 24s24-11 24-24C216 186 225.1 176 237.1 176h51.1C301.1 176 312 186 312 198c0 8-4 14.1-11 18.1L244 251C236 256 232 264 232 272V288c0 13 11 24 24 24S280 301 280 288V286l45.1-28c21-13 34-36 34-60C360 159 329 128 289.1 128z"/> </svg>
Used Versions
NuGet v3.3.0
Windows 11 x64
.NET 4.6.2

When rendering an SVG file as a bitmap at 16px the rendered version

How do you do it ?

Sorry to report this, it looks like the issue was with replacing the colours. It didn't maintain the alpha channel value of the colour so it made the edges blocky. I re-wrote the colour replacing code to keep the alpha value and use the new colour's RGB values and it's looking much better now. Thanks for the quick response and sorry for the ticket. Keep up the great work!


Add district offices for 115th Congress

legislators-current.yaml has been updated, most members have URLs, should be able to load district offices.

Commit 7a611f8 adds district offices for members with working URLs as of 2017-12-11.
Some members still do not have URLs, or have not set up district offices.
New Senate Members:

D000622,Tammy Duckworth
C001113,Catherine Cortez Masto
H001075,Kamala Harris
H001076,Maggie Hassan
K000393,John Neely Kennedy
V000128,Chris Van Hollen
Y000064,Todd Young

House Members without district offices:

B001301,https://bergman.house.gov,Rep. Jack Bergman,MI
C001110,https://correa.house.gov,Rep. J. Correa,CA
E000297,https://espaillat.house.gov,Rep. Adriano Espaillat,NY
H001077,https://clayhiggins.house.gov,Rep. Clay Higgins,LA
T000477,https://taylor.house.gov,Rep. Scott Taylor,VA

I have a branch ready that has geocodes for all offices, a geocoding script, and address corrections, but I don't have permission to push to the remote. Could you grant me permission and then I'll send a pull request? Thanks!

Hey there!
That's awesome, thank you.  I can't give you push rights because we feed production systems from this fork, so need the ability to review, but you shouldn't need them to submit a pull request.  We merged a pull request from another github user who didn't have any special rights last week.  I think all you'll need to do is create your own fork on Github and then submit the pull request from that fork.
Let me know if I'm missing something!

Ok will do a fork-based pull request instead of a branched-based one. Incoming.

Thanks for integrating the geocodes!
In the course of doing them I discovered a few too many cases where the addresses are wrong, typically with street names omitted. So I'm a little worried about the data quality, because I was only able to catch cases where geocoding was obviously wrong and not cases where Google Maps did a best-guess and gave a result that could be miles away but still in the same town.
For example, Rep. James Risch (bioguide R000584) had an office listed as "1411 East" when the real address is "1411 Falls Avenue East". And Rep. Christopher Smith (bioguide S000522) had an address as "539 Road)" which should have been "405 Route 539". This scares me as to the reliability of the Mechanical Turk workers to do things correctly. Or perhaps there was a bug in an address parser/validator that threw out address elements erroneously?
I've written a quick script that looks for the distance of each office in the dataset to a corresponding office in my dataset at https://github.com/jlgoldman/membersofcongress, and found another 60 offices that seem to be miles from their correct locations. I will go try to fix these this week, but I'm wondering if either (1) there should be another Mechanical Turk job to provide an office address and the website and have a worker validate that it is indeed correct, or (2) pull the data from my dataset instead. I pulled them all myself with the help of a parers and at this point trust my ability not to make mistakes a little more than the Turkers.
What do you guys think?

(And oops, meant to make these comments from my other Github account, sorry for the confusion.)

Commit 8bf5d13 adds offices for more members, leaving just a few holdouts:
Senate:
K000393,https://www.kennedy.senate.gov/,John Neely Kennedy,LA
V000128,https://www.vanhollen.senate.gov,Chris Van Hollen,MD
House:
C001110,https://correa.house.gov,Rep. J. Correa,CA
H001077,https://clayhiggins.house.gov,Rep. Clay Higgins,LA
T000477,https://taylor.house.gov,Rep. Scott Taylor,VA

7912a34 closes this issue, with offices for all (initial) members of the 115th Congress.


make title and message pretty

This works out great.
Here you got the updated commit message:
[updatecli] Update external-dns version to 2.20.4

Key 'versions.externalDns', from file 'system-services/helm/values.yaml', was updated to '2.20.4'

Not sure making name required is desired or not but for my use-case it works.
I was thinking of taking the name from source if none is supplied but it became cumbersome changeset.
for maven you would use artifactId and github release you would use repository
for docker you would use imageName and helm chart you would use chart name
WDYT?

@olblak would be great if you could review it :)
somewhat blocked by #55

That's really great, thanks for the PR


Feature request: Add option to run Action if ALL applied Conditions are met

Add option to run Action if ALL applied Conditions are met
For example:
Condition1: Floating Profit raised 10%
Condition2: Open trades less than 10
Action: Close 100% of open trades
Now:
All positions will be closed once opened, because Condition2 met
Then:
Wait for 10% profit if open trades number is less than 10
If open trades number more than 10 - do nothing (wait human manual intervention)

@EarnForex Hello! What do you think? Is it possible?

It's an interesting suggestion, but it's not that simple to implement in the current AP. I will see if it can be done.

My vision (could be wrong):
To Main add Option "Wait all Conditions"
Declare 2 variables:
1st for count applied Conditions
2nd for count activated Conditions
Update Event listeners:  after each "true" add 2nd variable +1
In action logic add IF Option enabled check if 1stVariable == 2ndVariable
Then do Actiona
Else - continue regular process


[Bug]: Breaks Mermaid preview extension support

Describe the bug

Install bierner.markdown-mermaid
Add markdown with in-line mermaid
Preview (diagram drawn)
Install  vscode-markdown-github
Preview (code block is rendered instad of diagram)

To Reproduce
Use with bierner.markdown-mermaid
Expected behavior
Diagram is rendered
Screenshots
Before

After

Environmental information
Windows 22 2H22
Additional context
I see mermaid is on your road map for v2, but a fix for this would be nice...

Yes, I will add support for this soon.

You can uninstall bierner.markdown-mermaid, I updated


CREATED  WINDOWS 10 PE AND  WINDOWS RE 1903

I successfully created  windows 10 PE 1903 bootable iso and  windows 10 RE 1903  bootable iso.
I want to contribute  those iso  as free of  cost .
I used only windows adk and peadds tools  to create and i included some applications  for personal use.
If anyone needs  those iso , users can download from online storage.
Thanks for the article and i wish all the authors to export their knowledge to docs.microsoft.com.
Thanks a lot .i love docs.microsoft.com

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

ID: 3354f6b4-1316-8af6-c7d9-0c2f9681b3f0
Version Independent ID: 1efc63fe-8380-2113-7985-1775bcccd3be
Content: Windows ADK for Windows 10 scenarios for IT Pros (Windows 10)
Content Source: windows/deployment/windows-adk-scenarios-for-it-pros.md
Product: w10
Technology: windows
GitHub Login: @Dansimp
Microsoft Alias: dansimp

Suggestion for the issue title (please avoid using ALL CAPS when writing an issue title):
Created Windows 10 PE and Windows RE 1903

Ok sir, I will take care sir. Thanks for pointing out

@officedocsbot assign @e0i

@officedocsbot close

@RAJU2529 : Thank you for the nice words regarding the documentation.
About the ISO files you offered to upload free of cost:
I recommend posting those in one of the community forum pages instead,
after finding the right forum thread/section and talking to the users there.

@illfated. Will you give me the links sir , so i can able to post

I was mostly thinking about sites like https://answers.microsoft.com/ and https://social.microsoft.com/Forums/ .

OK, fair enough. Then I don't have much else to recommend. Maybe you could look around and see if there are any related threads on the Microsoft Technet Forum pages (https://social.technet.microsoft.com/Forums/en-US/home)?


remote-ssh]Can I create only one ~/.vscode-server/bin/[hash] ?

Does this issue occur when all extensions are disabled?: No

VS Code Version: 1.70.2
OS Version: windows 10

ls -alh bin
Jul 14 11:44 30d9c6cd9483b2cc586687151bcbcd635f373630/
Jul 29 09:04 3b889b090b5ad5793f524b5d1d39fda662b96a2a/
Jun 17 11:16 4af164ea3a06f701fe3e89a2bcbb421d2026b68f/
Jul 24 17:39 b06ae3b2d2dbfe28bca3134cc6be65935cdfea6a/
Aug 19 18:32 e4503b30fc78200f846c62cf8091b76ff5547662/

du -sh bin
964M bin

The contents of the bin/[hash] directory are all node servers.
LICENSE bin/ extensions/ node node_modules/ out/ package.json product.json server.sh
Seeing that it contains the same content, I tried to differentiate between versions, but it takes up too much space.
Can I set it so it doesn't continue to be created?
Or I would like to automatically delete old files.
It is also good to maintain only one server without hash, and to warn you to update first if the version is upgraded and does not match the version of vscode.
thank you.

Hello! We should only be keeping at maximum 5 versions of VS Code around on your machine. Does your system requirements need even fewer versions installed?

Yes.
Even if there are only two, it is 1gb, so it would be good if only two revisions were maintained.
thank you.


Add documentation

I made this one large issue. To me, this contains

[x] installation instructions
[ ] A brief overview of the main classes and functions
[ ] use examples
[x] Maybe some sort of API reference

Great work on this.

Can we somehow include the Readme function in the RTD?
The NamedDimArray class documentation is central to using sodym. It should appear quite prominently when explaining the design ideas and usage.

We could look into adapting the ODYM tutorials as examples. No need to re-invent the wheel...

How do we want to showcase all the different ways to use sodym? Here's what I mean in particular:

DataReader:

use an existing one
code your own one
input values directly

Data plotting:

export to df and use plotly
use ArrayPlotter

MFASystem:

use from_definition
pre-make all inputs (flows, stocks)

flow naming

standard
custom function

To introduce them all, we could...

Option 1: Just vary the way one-by-one introduce them in the existing examples. But the examples already differ in what kind of system they compute, so it could be confusing if things are done differently all of a sudden.
Option 2:

I'd like to directly contrast the different options for each part of the library in one example. Like "You could do it like A, but also like B"
The current examples to me seem more like use cases. Often, they don't show new functionality, just new applications. This is different from the above. Maybe we can separate it.

I agree with option 2 and I would make separate examples for these comparisons, with file names specifying what the example is illustrating, e.g. data_reader_example, mfa_initialisation_example etc.
I also think it's good to have the use_case examples (i.e. the ODYM examples) as well, as this then shows how everything is put together and can be used in specific applications.


fake change to allow PR and CI

[DRAFT] - this is not going to actual merge, it's for CI runs only
Here are some reminders before you submit the pull request

[ ] Add tests for the change
[ ] Document changes
[ ] Communicate in the mailing list if needed
[ ] Pass make installcheck
[ ] Review a PR in return to support the community

Failed job Resource group isolation tests on x86_64: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/1184449

Failed job Resource group isolation tests on ppc64le: https://gitlab.adsw.io/arenadata/github_mirroring/gpdb/-/jobs/1184450


nil point transfer '' not transfer NULL

GORM Playground Link

https://github.com/go-gorm/playground/pull/179
Description

type UserWithUUID struct {
	ID        uint `gorm:"primarykey"`
	CreatedAt time.Time
	UpdatedAt time.Time

	TestID     *uuid.UUID `gorm:"type:uuid"`
}

value := UserWithUUID{}

createErr := DB.Save(&value).Error

sql is
INSERT INTO "user_with_uuids" ("created_at","updated_at","test_id") VALUES ('2020-10-14 02:20:47.3','2020-10-14 02:20:47.3','<nil>') RETURNING "id"

TestID nil point transfer <nil>

I would like to take this issue to work on it!

I would like to take this issue to work on it!

thank you, most likely it is a logger format issue.

What was expectation @blakejia ?

What was expectation @blakejia ?

sql is
INSERT INTO "user_with_uuids" ("created_at","updated_at","test_id") VALUES ('2020-10-14 02:20:47.3','2020-10-14 02:20:47.3','<nil>') RETURNING "id"

this is should be
INSERT INTO "user_with_uuids" ("created_at","updated_at","test_id") VALUES ('2020-10-14 02:20:47.3','2020-10-14 02:20:47.3', NULL) RETURNING "id"

if type is fmt.Stringer() and  fmt.Sprintf("%v", v) is used , it does not trigger the Stringer() function  of the object.That is why it gives '' not NULL as we wanted. The case fmt.Stringer is removed from the switch and pushed.


Fix parsing 'Sunday 12pm'

Hey again!
Looks like Chronic is expecting weeks to start from Sunday and go from 0-6, but the standard lib in Elixir for dates (Date) treats them as going from 1-7 and starting on a Monday. See here.
This meant that it would continue to try to find the next day and would never match Sunday. Here's the exact test case output from the failing test I've provided:
  1) test Sunday 12pm (Chronic.RelativeTest)
     test/relative_test.exs:71
     ** (FunctionClauseError) no function clause matching in Calendar.ISO.date_from_iso_days/1

     The following arguments were given to Calendar.ISO.date_from_iso_days/1:

         # 1
         3652425

     Attempted function clauses (showing 2 out of 2):

         def date_from_iso_days(days) when is_integer(days) and (days >= 0 and days <= 3652424)
         def date_from_iso_days(days) when is_integer(days) and is_integer(-3652059) and is_integer(-1) and (-3652059 <= -1 and (days >= -3652059 and days <= -1) or -1 < -3652059 and (days <= -3652059 and days >= -1))

     code: {:ok, time, offset} = Chronic.parse("Sunday 12pm", currently: {{2018, 9, 28}, {8, 0, 0}})
     stacktrace:
       (elixir) lib/calendar/iso.ex:211: Calendar.ISO.date_from_iso_days/1
       (elixir) lib/calendar/date.ex:613: Date.from_iso_days/2
       (chronic) lib/chronic.ex:391: Chronic.find_next_day_of_the_week/2
       (chronic) lib/chronic.ex:302: Chronic.process_day_of_the_week_with_time/3
       (chronic) lib/chronic.ex:80: Chronic.parse_natural_language/2
       test/relative_test.exs:72: (test)

3652425 is how many days it takes to fill 10k years, which seems to be the upper bound for this function that Date.add relies on.
As I've noted in my commit descriptions, I think one of two things probably needs to happen here for actually dealing with the root cause which is either shifting to days of the week as they're handled in the standard library functions or possibly documenting this behaviour as a shift away from that. It may be worth trying out some property based testing to catch a lot more cases, too, but that's just an aside. 🙂

I'll fixup that credo error now.

Thank you! I can certainly verify the issue. I will write some more tests around the other days of the week also I think!

I've just published Credo 3.2.0 with this fix. It also contains regression tests for the other days of the week and I refactored your code a tiny bit after writing those tests.

No worries and thanks for the prompt response!


RUMM-787 Add view.is_active attribute to RUM Views

What does this PR do?
Add view.is_active attribute to RUM Views to let the frontend know when a View is still in progress.
Motivation
This will allow the website to display an icon indicating that the view is currently active, meaning that some information can be missing.

Codecov Report

Merging #430 (fb73f13) into master (e2b11f6) will increase coverage by 0.05%.
The diff coverage is 100.00%.


Bluetooth L2CAP TX fragmentation state not cleared upon disconnect

Describe the bug
When reconnecting, previous l2cap TX fragmentation state is kept, resulting in that we may send l2cap fragments to the controller without an l2cap header.
To Reproduce

Run a connection with a long connection interval.
Set max data length to 27 bytes.
Send long ATT/L2CAP packets
Disconnect one of the device
Reconnect. Observe that the next L2CAP fragment will be sent without header

Setting le_chan._pdu_remaining = 0 in bt_l2cap_chan_del() resolves this issue.
Expected behavior
Upon disconnection all previous state shall be cleared.
Impact
Showstopper
Logs and console output
Logs extracted from a custom test
bt_l2cap: L2CAP: push: pdu 0x819ddc8 len 200 cb 0x8055130 userdata (nil)
bt_l2cap: l2cap_pull: Adding L2CAP PDU header: buf 0x819ddf0 chan 0x8186280 len 200 / 200
app: disconnected: err 13 addr DC:52:5F:AA:9A:74 (random)

app: connected: err 0 addr DC:52:5F:AA:9A:74 (random)
bt_l2cap: L2CAP: push: pdu 0x819ddf0 len 200 cb 0x8055130 userdata (nil)
bt_l2cap: l2cap_pull: Not adding L2CAP header, handling remaining 123

Environment (please complete the following information):
Zephyr 3.7.0
Additional context
The bug was introduced in https://github.com/zephyrproject-rtos/zephyr/pull/72090

This bug led to repeated disconnects in an internal application (same one as in #76738). L2CAP initially works fine, but falls into a loop of connecting and disconnecting once the connection drops for the first time. Error logs:
sender:bt:l2cap: channel connected
[00:00:19.132,690] <err> bt_l2cap: chan 0x200000e8 timeout
[00:00:19.145,019] <wrn> bt_conn: conn 0x20000fc0: not connected
[00:00:19.754,211] <err> bt_conn: Unexpected first L2CAP frame
[00:00:19.755,249] <err> bt_l2cap: SDU length mismatch
sender:bt:l2cap: channel disconnected

The receiving side usually receives an invalid packet when this happens:
[00:01:37.419,250] <wrn> bt_l2cap: Ignoring data for unknown channel ID 0x0040

The fix listed above (Setting le_chan._pdu_remaining = 0 in bt_l2cap_chan_del()) works wonderfully.

So I managed to reproduce the bug.
The thing is, it shouldn't happen:

internal users of L2CAP (e.g. ATT, SMP) memset the struct bt_l2cap_le_chan object
applications should always memset that struct when accepting a connection

@EaselinkBachmann What exactly are you doing with L2CAP? I know Rubin is using private APIs.

Okay, that might be it.
I have a static global of a bt_l2cap_le_chan that I use for creating a single channel that I repeatedly use for connections without memsetting in beyween. I didn't know that users of the L2CAP API were supposed to memset their channels before
each connection and assumed that the disconnect logic would leave the channel in a clean state, ready to be reused. It might be that I missed this in the docstring of the relevant functions.
I will double-check this tomorrow to verify if this is the case.
Sent from
Outlook for Android
From: Jonathan Rico @.>
Sent: Friday, August 9, 2024 3:23:31 PM
To: zephyrproject-rtos/zephyr @.>
Cc: Ferdinand Bachmann @.>; Mention @.>
Subject: Re: [zephyrproject-rtos/zephyr] Bluetooth L2CAP TX fragmentation state not cleared upon disconnect (Issue #76737)
So I managed to reproduce the bug.
The thing is, it shouldn't happen:
internal users of L2CAP (e.g. ATT, SMP) memset the
struct bt_l2cap_le_chan objectapplications should always memset that struct when accepting a connection
@EaselinkBachmann
What exactly are you doing with L2CAP? I know Rubin is using private APIs.
—
Reply to this email directly,
view it on GitHub, or
unsubscribe.
You are receiving this because you were mentioned.Message
ID: @.***>
External email | Be CAUTIOS, especially with links and attachments

missed this in the docstring of the relevant functions

Unless you could see into the future, it wasn't there. So the fault lies with the Host.
Those two should address your issue: https://github.com/zephyrproject-rtos/zephyr/pull/76935 and https://github.com/zephyrproject-rtos/zephyr/pull/76890


Update dockerfiles

Dockerfile were added and updated to support Ubuntu 18.04

Currently we have the following list of actual docker images:
  1. SDL:
    - label: linux_build      => docker_image: sdl_build.u18.04
    - label: linux_coverage   => docker_image: sdl_build.u18.04.cppcheck
    - label: cppcheck         => docker_image: cppcheck_ubuntu18:latest
    - label: linux_build_u20  => docker_image: sdl_build.u20.04
  2. ATF:
    - label: atf_runner       => docker_image: remote_atf:u18_runner
    - label: remote_atf       => docker_image: remote_atf:u18
    - label: atf_runner_u20   => docker_image: sdl_build.u20.04
  3. Git sync
    - label: git              => docker_image: git:1

Please add missing ones

Can we combine sdl_build.u18.04 and remote_atf:u18_runner (and also remote_atf:u18)
E.g. for Ubuntu 20 we have single image for all purposes: sdl_build.u20.04


[ Bug ] In-game view not reloading

Describe the bug
I have some bugs, the whole ingame template doesnt update every second, and must reload the template to see all changes. Thus this problem probably causes the baron, dragon and herald events to not trigger either.
To Reproduce
Use the in-game template
Expected behavior
It is expected to reload live so everything matches the game
Screenshots
Video as proof: (Click to play)

System:

OS: Windows 10
Node: 8.13.2
Prod Tool Version: 1.3.7 (Downloaded latest modules)
Observer Tool Version: 4.0.0
Streaming Software & Version: OBS
Browser: Chrome

Additional context
Logs: (Shown errors are before I loaded the game, so I don't think it helps)
2023-02-23T14:59:36.358Z [info ] main        :  _          _       _____           _ _    _ _
2023-02-23T14:59:36.359Z [info ] main        : | |    ___ | |     |_   _|__   ___ | | | _(_) |_
2023-02-23T14:59:36.359Z [info ] main        : | |   / _ \| |       | |/ _ \ / _ \| | |/ / | __|
2023-02-23T14:59:36.359Z [info ] main        : | |__| (_) | |___    | | (_) | (_) | |   <| | |_
2023-02-23T14:59:36.359Z [info ] main        : |_____\___/|_____|   |_|\___/ \___/|_|_|\_\_|\__|
2023-02-23T14:59:36.359Z [info ] main        :
2023-02-23T14:59:36.789Z [info ] lpte-svc    : Initialized event bus.
2023-02-23T14:59:36.789Z [info ] module-svc  : Initializing module service.
2023-02-23T14:59:38.784Z [info ] module-svc  : Initialized 15 module(s). Now loading plugins.
2023-02-23T14:59:38.785Z [info ] module-svc  : Loaded 15 plugin(s).
2023-02-23T14:59:39.797Z [info ] main        : LoL Toolkit started up successfully.
2023-02-23T14:59:39.798Z [info ] module-svc  : Plugin status changed: plugin=plugin-webapi, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.799Z [info ] module-svc  : Plugin status changed: plugin=plugin-prod-clock, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.799Z [info ] module-svc  : Plugin status changed: plugin=plugin-database, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.799Z [info ] module-svc  : Plugin status changed: plugin=plugin-config, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.800Z [info ] module-svc  : Plugin status changed: plugin=module-league-runes, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.801Z [info ] module-svc  : Plugin status changed: plugin=module-league-prm, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.801Z [info ] module-svc  : Plugin status changed: plugin=module-league-end-of-game, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.801Z [info ] module-svc  : Plugin status changed: plugin=module-league-champselect-ui, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.802Z [info ] module-svc  : Plugin status changed: plugin=module-league-caster-cockpit, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.802Z [info ] module-svc  : Plugin status changed: plugin=module-caster, old=UNAVAILABLE, new=RUNNING
setting storageRoot to C:\Users\Joan\Desktop\Twitch\RCVolus UI\modules\plugin-webapi\node_modules\leaguejs\StaticDataDefaultRoot
2023-02-23T14:59:39.819Z [info ] module-svc  : Plugin status changed: plugin=plugin-theming, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.823Z [info ] module-svc  : Plugin status changed: plugin=module-league-state, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.823Z [info ] module-svc  : Plugin status changed: plugin=module-league-in-game, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:39.827Z [info ] module-svc  : Plugin status changed: plugin=module-teams, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:40.013Z [info ] module-svc  : Plugin status changed: plugin=module-league-static, old=UNAVAILABLE, new=RUNNING
2023-02-23T14:59:40.021Z [info ] server      : Listening for requests on http://localhost:3003
2023-02-23T15:00:41.419Z [info ] module-league-state: Flow: lobby - active
2023-02-23T15:01:17.104Z [info ] module-league-state: Flow: champselect - active
2023-02-23T15:03:01.013Z [info ] plugin-webapi: Fetching livegame data for summoner=JoanJuan10
2023-02-23T15:03:01.502Z [warn ] plugin-webapi: Failed to get spectator game information for summoner=JoanJuan10, encryptedId=p5GneUASQPqbIU3is25V9Wzk51WkX-9sLjiXKFIROirQQT0. Maybe this summoner is not ingame currently? Retrying. error=StatusCodeError: 404 - "{\"status\":{\"message\":\"Data not found\",\"status_code\":404}}"
2023-02-23T15:03:03.509Z [error] plugin-webapi: Failed to get spectator game information for summoner=JoanJuan10, encryptedId=p5GneUASQPqbIU3is25V9Wzk51WkX-9sLjiXKFIROirQQT0, after retries.
2023-02-23T15:03:03.525Z [error] module-league-state: Loading livegame failed for summoner=JoanJuan10
2023-02-23T15:03:18.716Z [info ] module-league-state: Flow: champselect - game started (spectator delay)
2023-02-23T15:03:18.735Z [info ] plugin-webapi: Fetching livegame data for summoner=JoanJuan10
2023-02-23T15:03:19.907Z [info ] module-league-state: Flow: lobby - inactive
2023-02-23T15:03:21.304Z [info ] plugin-webapi: Fetched livegame for summoner=JoanJuan10, gameId=6290341592
2023-02-23T15:03:35.014Z [info ] plugin-webapi: Fetching livegame data for summoner=JoanJuan10
2023-02-23T15:03:37.234Z [info ] plugin-webapi: Fetched livegame for summoner=JoanJuan10, gameId=6290341592
2023-02-23T15:04:50.226Z [info ] module-league-state: Flow: champselect - inactive
2023-02-23T15:05:19.059Z [info ] plugin-webapi: Fetching livegame data for summoner=JoanJuan10
2023-02-23T15:05:21.557Z [info ] plugin-webapi: Fetched livegame for summoner=JoanJuan10, gameId=6290341592
2023-02-23T15:05:53.003Z [info ] plugin-config: config for module-league-in-game saved!
2023-02-23T15:11:54.080Z [info ] plugin-config: config for module-league-in-game saved!
2023-02-23T15:11:58.712Z [info ] plugin-config: config for module-league-in-game saved!
2023-02-23T16:04:29.868Z [info ] plugin-webapi: Fetching livegame data for summoner=El Duk1
2023-02-23T16:04:30.477Z [error] plugin-webapi: Failed to get information for summoner=El Duk1. Maybe this summoner does not exist? error=StatusCodeError: 404 - "{\"status\":{\"message\":\"Data not found - summoner not found\",\"status_code\":404}}"
2023-02-23T16:04:30.480Z [error] module-league-state: Loading livegame failed for summoner=El Duk1
2023-02-23T16:04:32.087Z [info ] plugin-webapi: Fetching livegame data for summoner=El Duk1
2023-02-23T16:04:32.625Z [error] plugin-webapi: Failed to get information for summoner=El Duk1. Maybe this summoner does not exist? error=StatusCodeError: 404 - "{\"status\":{\"message\":\"Data not found - summoner not found\",\"status_code\":404}}"
2023-02-23T16:04:32.635Z [error] module-league-state: Loading livegame failed for summoner=El Duk1
2023-02-23T16:04:51.147Z [info ] plugin-webapi: Fetching livegame data for summoner=OOF Bloodhunter
2023-02-23T16:04:52.328Z [info ] plugin-webapi: Fetched livegame for summoner=OOF Bloodhunter, gameId=6290406053

Game State:

Is this with released versions of modules or built from the source?

Never mind the question; the newest release already includes this. The ingame module version is ahead of the observer tool release, which is why things aren't working well.
You can manually downgrade the module by placing the contents of an earlier release in the module folder.

This patched is removed again and should not cause an issue anymore


Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.

I just installed the library and then run react-native run-android the error pops on the console.
$ react-native run-android
Starting JS server...
Building and installing the app on the device (cd android && ./gradlew installDebug)...

Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed at the end of 2018. For more information see: http://d.android.com/r/tools/update-dependency-configurations.html

FAILURE: Build failed with an exception.

What went wrong:
Could not determine the dependencies of task ':app:compileDebugJavaWithJavac'.

Could not resolve all task dependencies for configuration ':app:debugCompileClasspath'.
Could not resolve project :react-native-maps.
Required by:
project :app
Unable to find a matching configuration of project :react-native-maps: None of the consumable configurations have attributes.

Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

Get more help at https://help.gradle.org

BUILD FAILED in 1s
Could not install the app on the device, read the error above for details.
Make sure you have an Android emulator running or a device connected and have
set up your Android development environment:
https://facebook.github.io/react-native/docs/getting-started.html
package.json
"react": "16.6.1",
"react-native": "0.57.5",
"react-native-maps": "https://github.com/react-community/react-native-maps.git",
"react-native-google-places-autocomplete": "^1.3.9",
I also tried, but nothing changed. Any help ?
$ react-native link react-native-google-places-autocomplete

This library does not use any native android (or iOS) code.  The error you are showing is most likely coming from react-native-maps or another package (although by now, i'm sure it has been fixed).


Add Changelog for Ireland release

Add Changelog for Ireland release (V2)
The Changelog would be based on the changelog-generator
https://jenkins.edgexfoundry.org/view/EdgeX Foundry Project/job/edgexfoundry/job/cd-management/job/changelog-generator/

Done with #3591


Make ESP32 pinout compatible between your lib and SmartMatrix?

Howdy again, I tried your library to see if it would look better on video than SmartMatrix which is ok with the naked eye, but looks very flickery on video, see
https://community.pixelmatix.com/t/working-around-sync-offsets-and-flicker-when-filming-taking-pictures/346
https://www.youtube.com/watch?v=1f2aDTCmLcE
Louis recommended that I try your lib, which I got working in 32x64 (not 64x64 yet). One issue though is the two libs use different pinout. See
https://github.com/pixelmatix/SmartMatrix/blob/teensylc/src/MatrixHardware_ESP32_V0.h#L64
Would you be willing to change your pinout to be compatible with it so that people can switch between both libs without rewiring?
ESP32-RGB64x32MatrixPanel-I2S-DMA.h:
#define R1_PIN  2
#define G1_PIN  15
#define B1_PIN  4
#define R2_PIN  16
#define G2_PIN  27
#define B2_PIN  17
#define A_PIN   5
#define B_PIN   18
#define C_PIN   19
#define D_PIN   21
#define E_PIN   12
#define LAT_PIN 26
#define OE_PIN  25
#define CLK_PIN 22
Thank you and Merry Xmas,
Marc

BTW, it looks like you may have been able to use my ESP32 AnimatedGifs port. If so, glad it worked https://github.com/marcmerlin/AnimatedGIFs

Hi Marc, I'll look to enhance it so the pin-out can be defined on loading of the library. The pin is currently as it is such that hooking up the LOLIN D32 to one of these HUB75 panels is a lot more straight-forward, in that the pins on one side of the HUB75 connector connect to pins on one side of the LOLIN D32 (top to bottom) etc.
As for the AnimatedGif port - I based this off the example code in the original SmartMatrix library. I'll look at your enhancements and potentially just port your example instead. Good work.

Do I however understand that you're not using a level shifter (74HC245 or equivalent)? If so, nice to know it works without one.
For AnimatedGifs, you can look at
http://marc.merlins.org/perso/arduino/post_2018-07-13_AnimatedGIFs-for-SmartMatrix-or-NeoMatrix-_Neopixel-WS2812B_-from-SDcard-or-SPIFFS_-on-Teensy-3_x_-ESP8266_-or-ESP32.html for a quick demo, but mostly it adds the file browser (next/previous), jump to gif #x, and gamma correction.
See https://github.com/marcmerlin/AnimatedGIFs/blob/master/AnimatedGIFs.ino#L313
Feel free to close this issue, I totally understand that making 13 or so pins arguments of the lib, is kind of a pain. It's not so bad to change them in the .h file. Cheers.

Cool, thank you.
I'm still stuck on https://github.com/mrfaptastic/ESP32-RGB64x32MatrixPanel-I2S-DMA/issues/3 which sadly is a dealbreaker for me, but on the plus side, it gave me the opportunity to add a GFX + FastLED layer to SmartMatrix which supports up to 128x128. It doesn't do DMA though, but it supports 24bit color instead of 12bit color. https://github.com/marcmerlin/SmartMatrix_GFX  and demo code https://github.com/marcmerlin/FastLED_NeoMatrix_SmartMatrix_LEDMatrix_GFX_Demos
I'll send you another PR with details. Cheers

This issue is resolved, so I'll close it.
Thanks.


removed index.shard setting from crate.yml

since the default number of shards is calculated and set upon table creation it
overwrites this setting.
(see https://github.com/crate/crate/commit/b35ea1eff5583e551850fdb75ca6addca6803bd7)

@seut can you take a look at it?

Current coverage is 80.94% (diff: 100%)

Merging #4190 into master will increase coverage by 0.02%

@@             master      #4190   diff @@
==========================================
  Files          1300       1300
  Lines         44294      44294
  Methods           0          0
  Messages          0          0
  Branches       7056       7056
==========================================
+ Hits          35843      35852     +9
+ Misses         5798       5791     -7
+ Partials       2653       2651     -2

Powered by Codecov. Last update 0e6476a...ce35177


wow price bug

https://github.com/ff14-advanced-market-search/saddlebag-with-pockets/assets/17516896/8389ea46-946a-4873-811f-671775b2cbb5

@cohenaj194
Is this still in the site or has it been fixed?


gui.remove is not a function

Saw that a sample that was using dat.gui is failing with gui.remove is not a function
https://jsgist.org/?src=c7a46e2519f534df07f1be4f2a2fa35d

Yes, that was an intentional API change, gui.remove is replaced by controller.destroy(). It didn't really make sense to me that you needed a reference to the parent GUI to do this. https://lil-gui.georgealways.com/#Migrating
I could see a world where gui.remove exists as a synonym to make the lib more "drop-in" complete. But there's a few other renames and API changes besides this one. It begs the question as to whether they should all be "forwarded" in some way (IMO probably not).

ugh, you can do what you want but you list the lil.gui as a drop in replacement. three.js dropped it in and it appeared to work but in actually tons of stuff is broken. If lil.gui is not a drop in replacement then please consider not advertising it as such

To be more helpful, just a suggestion, I'd suggest changing the readme from

Works as a drop-in replacement for dat.gui.

to something like

Works similar to dat.gui (see below)
...
Using lil.gui as a replacement for dat.gui
You can use lil.gui as a replacement for dat.gui but you'll need to be aware of these changes

remove ....
empty folders as labels ....
out of range values
accessing gui.__controllers directly
setEnable...
etc....

Sorry it broke things for you! I agree, some kind of "mostly" language could go in the "drop-in" sentence—I was just trying to keep it short.
I think the migrating section achieves what you're describing. It's pretty explicit about breaking changes, but perhaps it could be featured more prominently in the readme.

For most projects, moving from dat.gui to lil-gui should be as simple as changing the import URL. The API is designed to be as backwards-compatible as is reasonably possible, but this section aims to address any breaking changes.

It is missing __controllers => .controllers though, thanks for pointing that out.
In general, I'm happy to share my reasoning behind any of the API or cosmetic changes.

I don't mind that the API changed. Rather, "drop in replacement for dat.GUI" effectively tells me "no need to read the docs if you already know dat.GUI because you can just drop it in and it all works"

Just random thinking out loud, not a judgement 😜
I don't know if parent.remove(elem) or elem.destroy() is a better API. I've done both in my life. But, one argument for parent.remove(elem) over elem.destroy() is the thing being modified is the parent's list of children, not the elem. The elem shouldn't be able to affect the parent. Further, you should arguably be able to do this
 gui1.remove(elem)
 gui2.add(elem)

I'm not suggesting you change it. The logic that it's convenient to be able to not have to have a reference to the parent is good too. The HTML DOM has both, parent.removeChild(elem) and elem.remove()

Sure, let's put it back as a synonym for destroy(), there's valid arguments for both and it helps with compatibility.
I don't think gui.add should be overloaded to accommodate gui.add( controller ) though. The added complexity doesn't feel justified given how simple it is to make a new controller. I don't think we put that in dat.gui either.

I'm going to change this to a won't-fix. The dat.gui => lil-gui transition feels like it's just about done, and I think we've provided enough migration notes and legacy support to make the switch easy. Thanks for your feedback.


Python 3.x compatibility?

Thanks very much for pyrrd. I would like to use it with Python 3.x (3.2 to be
specific).

Original issue reported on code.google.com by<EMAIL_ADDRESS>on 14 Feb 2011 at 9:22

Guess we'll have to find another library for rrdtool?


TS4095: fix the plugins/experimental/Makefile.am for webp_transform plugin.

Could not build the master branch this morning as there were build errors with the webp_transform plugin.
$ autoreconf -vif
$ ./configure --prefix=/opt/trafficserver --with-user=ats --with-group=ats --enable-experimental-plugins
$ make
make[3]: Entering directory /home/jrushf1239k/trafficserver/plugins/experimental/webp_transform' make[3]: *** No rule to make target all'. Stop.
make[3]: Leaving directory /home/jrushf1239k/trafficserver/plugins/experimental/webp_transform' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory /home/jrushf1239k/trafficserver/plugins/experimental'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jrushf1239k/trafficserver/plugins'
make: *** [all-recursive] Error 1

I think you need to go further here. The C++ API is an optional component, so we also need to check that it is being built.

Yup, just as James said. enable-cppapi check is needed as well.
Also thanks for the fix.

I think this change is good as the configure.ac has the enable-cppapi check. so, configure won't create a makefile unless both options are used.  I tested the change in my environment and it fixes the problem.  with only --enable-experminental-plugins, all builds okay.  When I add --enable-cppapi and as long as I have the imagemagick libraries and the check passes, the webp_transform plugin is built.:
1941 AS_IF([test "x$enable_experimental_plugins" = "xyes"], [
1942   AS_IF([test "x$enable_cppapi" = "xyes"], [
1943     AC_CONFIG_FILES([plugins/experimental/webp_transform/Makefile])
1944   ])])

:+1:

:+1:


ht16k33: add support for LED alphanumeric display

Add support for the Pimoroni's Rainbow HAT with a lot of peripherals. I also created the driver for the HT16K33 that drives the Alphanumeric display on the hat.
Product page: https://shop.pimoroni.com/products/rainbow-hat-for-android-things

gohci

Would you mind splitting this PR in two?
One for ht16k33 and another one for rainbowhat?

But I'll have to send the PR for the rainbowhat without the ht16k33? I'm updating the PR with some of the recommended changes.

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@99fc3c1). Click here to learn what that means.
The diff coverage is 0%.

@@            Coverage Diff            @@
##             master     #298   +/-   ##
=========================================
  Coverage          ?   70.93%
=========================================
  Files             ?       96
  Lines             ?     8225
  Branches          ?        0
=========================================
  Hits              ?     5834
  Misses            ?     2237
  Partials          ?      154

Impacted Files
Coverage Δ

experimental/devices/ht16k33/alphanum.go
0% <0%> (ø)

experimental/devices/ht16k33/ht16k33.go
0% <0%> (ø)

experimental/devices/rainbowhat/rainbowhat.go
0% <0%> (ø)

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 99fc3c1...887779c. Read the comment docs.

gohci


specify the VERSION and SOVERSION when building library shared objects

Description
In this change, we specify the VERSION and SOVERSION properties of library
shared objects so that the SONAME in the shared object contains the OSL version
number suffix (major.minor). This also results in the build creating versioned
symlinks back to the installed shared objects. Code that links against the
libraries can then link against a specific version of OSL such that the correct
version can be dynamically linked at runtime.
This follows a similar pattern to the one used in OpenImageIO.
Tests

Checklist:

[x] I have read the contribution guidelines.
[x] I have previously submitted a Contributor License Agreement.
[ ] I have updated the documentation, if applicable.
[ ] I have ensured that the change is tested somewhere in the testsuite (adding new test cases if necessary).
[x] My code follows the prevailing code style of this project.

Hi all!
I wanted to put up this change for consideration. My main interest here was getting the SONAME of the built shared library objects to include the OSL version number suffix, and to get version number-suffixed symlinks generated by the build. I followed a pattern similar to what I found in OpenImageIO that does this already.
This addresses an issue for us where we're attempting to dynamically link multiple versions of OSL in the same process. The libraries that depend on OSL simply declare for example "liboslquery.so" as a dependency, so it's not currently possible for them to find the version that they were built against. That should be addressed with this change if that code is rebuilt, as its dependency should then include the version number suffix.
Let me know what you think when you have a chance! Thanks!

LGTM, thanks!
Do you need this backported to release branches?

That's great, thanks very much Larry!
Yeah, if you're comfortable with it, we'd love for this to get into the 1.8 release branch, as that is currently the most recent release we have in active production.

Yes. Not a clean merge, but I ported by hand. Testing now, if it passes CI, I will merge it into RB-1.8 and cut an end-of-month release for you.

Merged the equivalent patch into RB-1.9 and RB-1.8.

Sweet! Thanks again, Larry! :)


Simplify language of beginner tutorial

I kept wanting to edit the wording of the tutorial as I was reading, so I did. I might add more commits to this as I go through the docs for the first time, I wanted to open this up for feedback though.

thanks. sounds good for me


Issue with Metadata (Json) where we have multiples characters per image

Thanks to @nftchef for creating this fork! I have been facing an issue and attempted many ways but it didn't get resolved.
Actually, I wanted to create a collection where we have 5 characters per image. We have traits for each character. Let me explain the structure of the folder.
I-Heroes
|--Hero 1
I----Hairs
l------Blackhair.png
l------Blondhair.png
l------Brownhair.png
I----Cloth
l------Blackcloth.png
l------Whitecloth.png
l------YellowCloth.png
I----Skin
l------Blackskin.png
l------Brownskin.png
l------Whiteskin.png
|--Hero 2
I----Hairs
l------Blackhair.png
l------Blondhair.png
l------Brownhair.png
I----Cloth
l------Blackcloth.png
l------Whitecloth.png
l------YellowCloth.png
I----Skin
l------Blackskin.png
l------Brownskin.png
l------Whiteskin.png
|--Hero 3
I----Hairs
l------Blackhair.png
l------Blondhair.png
l------Brownhair.png
I----Cloth
l------Blackcloth.png
l------Whitecloth.png
l------YellowCloth.png
I----Skin
l------Blackskin.png
l------Brownskin.png
l------Whiteskin.png
|--Hero 4
I----Hairs
l------Blackhair.png
l------Blondhair.png
l------Brownhair.png
I----Cloth
l------Blackcloth.png
l------Whitecloth.png
l------YellowCloth.png
I----Skin
l------Blackskin.png
l------Brownskin.png
l------Whiteskin.png
|--Hero 5
I----Hairs
l------Blackhair.png
l------Blondhair.png
l------Brownhair.png
I----Cloth
l------Blackcloth.png
l------Whitecloth.png
l------YellowCloth.png
I----Skin
l------Blackskin.png
l------Brownskin.png
l------Whiteskin.png
I-Background
I-Birds
Now, the generator works well for this but its metadata is not well structurally organized. It is how metadata is shown.

 {       "trait_type": "Background",       "value": "background 2"     },     {       "trait_type": "Birds",       "value": "birds 2"     },     {       "trait_type": "Hero 1",       "value": " Skin"     },     {       "trait_type": " Cloth ",       "value": "Black Cloth"     },     {       "trait_type": " Hair",       "value": "dark brown"     }     {       "trait_type": "Hero 2",       "value": " Skin"     },     {       "trait_type": " Cloth ",       "value": "Black Cloth"     },     {       "trait_type": " Hair",       "value": "dark brown"     }
There are three issues here -

The structure is not good for multiple characters exist in each image

It does not tell the value of Skin. See how it writes:
"trait_type": "Hero 2",
"value": " Skin"

The metadata does not tell Hair, Skin and Cloth are the traits of Heroes.

Can anyone help me to make the metadata organized for this case?

Do you have weighted chances on each outcome (ie. Black Skin#30)?
Have you turned this feature on/off to see what you get: const useRootTraitType = false;?
Sometimes it's playing around with Folder/Images names until the metadata shows right. As long as the art is generating correctly, there's a lot of room in how you name your folders/images to work like you want.


3 Signers with Embedded signing using Docusign

Hi,
Can we get three signers sign to docusign using embedded signing
As of now we are using below code
$signer1 = new Signer([
'email' => $envelope_args['signer1_email'],'name' => $envelope_args['signer1_name'],
'role_name' => "d", 'recipient_id' => "1",
'routing_order' => "0",
'client_user_id' => ################################
]);
$signer2 = new Signer([
'email' => $envelope_args['signer2_email'],
'name' => $envelope_args['signer2_name'],
'recipient_id' => "1",
'routing_order' => "0",
'role_name' => 'p',
'client_user_id' => @@@@@@@@@@@@@@@@@@@@@@@@@@@
]);
$envelope_definition->setTemplateRoles([$signer1, $signer2
]);
can we add one more member for signing

You can have more than one embedded signer on an envelope. But only one at a time.
So your application must ensure that only one embedded signing session is active at a time.
(If you have embedded signing session 1, and then open embedded signing session 2, embedded signing session 1 is immediately canceled.)


Replace thread sleep with spin_sleep implementation for vsync thread

Windows sleep may have poor results due to low timer resolution set by default, and even with high resolution timer, the error can still be within +/- 2ms. spin_sleep handles timer resolution change before sleep and then does busy-wait for the remaining time to improve accuracy.
Both tests are done at 90hz (target time is 11.11ms).
Time slept with spin_sleep::sleep():

Time slept with thread::sleep():

LGTM!