Release Narwhal 7 major version

With the changes from #793, all the apps will need to change their build and launch processes or they'll break. I.e., a flag day. So, we want to make a new major version 7 (codename Narwhal) and then stage the app updates to switch away from current version 6 Manatee. @manuq has already prepped the app changes.
If you want to make Manatee releases, the desired changes need to be cherry picked to the stable branch with the release made from there.
I'm a bit worried about what the automatic trigger to build and release the Android and Windows apps will do when the major version release happens. Hopefully they'll just fail in CI, but I think it may be better to have a way not to have the triggers when making a release.

Making this one unbreak now, as many things are dependent on this including QA.

Specifically, the PRs needed are:

https://github.com/endlessm/kolibri-installer-android/pull/183
https://github.com/endlessm/endless-key-app/pull/156

For endless-key-flatpak I opened:

https://github.com/endlessm/endless-key-flatpak/issues/68

It appears that the android build will fail if it automatically builds the major release. The Windows build is currently restricted to =~6.0, so it won't try to build the major release. The flatpak is not currently automatically built by and has explicit versions. So, I think we can make the major release first and then land the app upgrades without accidentally releasing a broken app.

I opened #821 to support making a 7.0.0rc1 release candidate. That would make it a lot easier to test the apps with a pre-release since the wheel can be downloaded from PyPI.

At this very moment it seems like you can run master, so I'm going to attempt to push a v7.0.0rc1 tag. I kinda suspect the push a tag flow doesn't work, though.

As I thought might happen, pushing the v7.0.0rc1 tag didn't trigger a release because none of the workflows execute on a push to a tag. I manually started the build workflow with the tag in https://github.com/endlessm/kolibri-explore-plugin/actions/runs/6238801921, but I have a small workflow refactor that should make it work the next time a v* tag is manually pushed.

That also blew up because download-artifact makes extra directories when you download all artifacts.

The PyPI upload failed. Hopefully fixed and trying again with rc3.

Finally:
https://github.com/endlessm/kolibri-explore-plugin/releases/tag/v7.0.0rc3
https://pypi.org/project/kolibri-explore-plugin/7.0.0rc3/

endless-key-app was building with 6.47.0 but the 7.0.0rc3 apps-bundle.zip. That's probably going to be broken, so I cancelled it. Unfortunately, I forgot to cancel the Android build and it completed. It's likely broken.
I have a PR that disables app build triggering for major and RC releases.

@dylanmccall put together https://github.com/endlessm/endless-key-flatpak/pull/72 to use 7.0.0rc3 in the flatpak. That should give us a chance to smoketest things and possibly QA a few of the items here.
In the meantime, I pushed the v7.0.0rc4 tag, which properly created the release. Notice that it did not automatically trigger the Windows and Android builds this time.
Unfortunately, I noticed that the backend translations weren't included, but that's not a huge deal as it's one string that's rarely shown.

My plan today is to smoketest the debug flatpak using an explore plugin rc. If it runs, test that all the explore plugin localization works. Then release 7.0.0 and get all the apps on it.

The smoketest went well. The localization was landed, but it doesn't fully work. I spent some time looking at it but ultimately couldn't figure anything out. I'm going to make the release and we'll just have to keep poking at the translations.
The release is running here.

The release is out:
https://github.com/endlessm/kolibri-explore-plugin/releases/tag/v7.0.0
https://pypi.org/project/kolibri-explore-plugin/7.0.0/
All the apps have PRs to use it:

https://github.com/endlessm/endless-key-flatpak/pull/81
https://github.com/endlessm/kolibri-installer-android/pull/183
https://github.com/endlessm/endless-key-app/pull/156

I also opened https://github.com/endlessm/endless-key-flatpak/issues/82 to make the endless-key-flatpak released so that the flathub build can be updated.

The flatpak was updated to 7.0.0 and appears to be working, so I think this can be closed.


Allow gzip compression in high-level server response interface

Add encoding kwarg to enable_compression to select gzip or deflate and
set Content-Encoding header.
This is for issue #396.
I have a few concerns about this code:
I think that when using a high level interface one would generally want to simply enable all types of compression that are supported by the library, with selection automatically made based on the Accept-Encoding header.  Potentially one may want to optionally specify a subset of the available encoding types, such as if we had compress support, maybe one would want to allow gzip and compress but not deflate.
I considered changing the signature to accept a sequence of encodings, however if we do this it is no longer intuitive to me how the force argument behaves.
Let me know how you think it would best to proceed.

Please fix pep8 errors

Maybe force parameter should accept False, True (synonym for 'deflate'), 'deflate' and 'gzip'?
Does it make sense?

Enum with 3 values?
Отправлено из Outlook
On Tue, Jun 9, 2015 at 9:58 AM -0700, "Andrew Svetlov"<EMAIL_ADDRESS>wrote:
Maybe force parameter should accept False, True (synonym for 'deflate'), 'deflate' and 'gzip'?
Does it make sense?
—
Reply to this email directly or view it on GitHub.

@fafhrd91 I believe enum is the perfect solution but we still should support True and False without breaking backward compatibility.
Also IIRC enum library is not available in Python 3.3. Would you add https://pythonhosted.org/flufl.enum/ as requered dependency?

Let's drop py3.3 support
Отправлено из Outlook
On Tue, Jun 9, 2015 at 12:18 PM -0700, "Andrew Svetlov"<EMAIL_ADDRESS>wrote:
@fafhrd91 I believe enum is the perfect solution but we still should support True and False without breaking backward compatibility.
Also IIRC enum library is not available in Python 3.3. Would you add https://pythonhosted.org/flufl.enum/ as requered dependency?
—
Reply to this email directly or view it on GitHub.

Let's drop py3.3 support

+1

@fafhrd91 you are moving too fast from my perspective.
I'd like to support 3.3 until 3.5 release at least.
Anyway, how enum may process True and False? That's required for aiohttp backward compatibility.
Do you suggest accept both bool and enum for force parameter? That's makes sense.

I prefer to use enum. Is flufl.enum compatible with py3.4 enums?
I am fine with enum dependency
Отправлено из Outlook
On Tue, Jun 9, 2015 at 12:43 PM -0700, "Andrew Svetlov"<EMAIL_ADDRESS>wrote:
@fafhrd91 you are moving too fast from my perspective.
I'd like to support 3.3 until 3.5 release at least.
Anyway, how enum may process True and False? That's required for aiohttp backward compatibility.
Do you suggest accept both bool and enum for force parameter? That's makes sense.
—
Reply to this email directly or view it on GitHub.

It's fully compatible and it is the base library for standard enum.

Lets then just use enum
Отправлено из Outlook
On Tue, Jun 9, 2015 at 1:06 PM -0700, "Andrew Svetlov"<EMAIL_ADDRESS>wrote:
It's fully compatible and it is the base library for standard enum.
—
Reply to this email directly or view it on GitHub.

Okay so based on this discussion here is a rough draft of what the new documentation might look like:
.. method:: enable_compression(force=None, *, encodings=None)

Enable compression.

When *force* is unset (default) compression encoding is
selected based on the :class:`TransferEncoding` in *encodings*
and the *Accept-Encoding* request header.  The default encodings
are :class:`TransferEncoding.deflate` and
:class:`TransferEncoding.gzip`.

When *force* is set to a :class:`TransferEncoding`, this encoding
will be used and *Accept-Encoding* is not checked.

If *force* is set to ``True``, :class:`TransferEncoding.deflate`
will be used.

@danielnelson did you mean .. method:: enable_compression(force=None) ?

I'm not sure I understand.  Are you saying you don't expect a encodings kwarg or are you asking about the default value of force?

I say encoding is redundant and force should accept True/False for backward compatibility and TransferEncoding for actual encoding specification. False is alias for TransferEncoding.none, True for TransferEncoding.deflate.

I wouldn't worry about backward compatibility here.
Отправлено из Outlook
On Wed, Jun 10, 2015 at 2:41 PM -0700, "Andrew Svetlov"<EMAIL_ADDRESS>wrote:
I say encoding is redundant and force should accept True/False for backward compatibility and TransferEncoding for actual encoding specification. False is alias for TransferEncoding.none, True for TransferEncoding.deflate.
—
Reply to this email directly or view it on GitHub.

Sorry, but I do care about backward compatibility.
Maybe the compromise is:

introduce compress property and enable_compress(transfer_encoding:  TransferEncoding) method.
Deprecate compression and enable_compression().
Call new API from deprecated one.

content_coding is the term used by RFC 2616, we can use this name.
But maybe it's sounds a bit confusing.

compress is a verb but content_coding is a noun.

Anywhere I said transfer encoding above should definitely be content coding, and of course the header is Content-Encoding.
Having backwards compatibility here wouldn't introduce too much cruft, and I also think we are not completely sure what we would need from a compress interface.  So I would prefer to just add backwards compatibility for now.

I have updated the pull request with the suggested changes.

LGTM

Merged. @danielnelson thanks for patience :)


"Not ready for alien host"

Most tests are skipped on non-linux systems. But it seems that running the test suite on FreeBSD systems is no worse than on Linux systems --- all tests but the sass.t test pass, but this one also fails on my Linux system (maybe due to unexpected output from the CSS::Sass --- see http://matrix.cpantesters.org/?dist=Mojolicious-Plugin-AssetPack 0.41 )

I don't get the error message: It says "Cannot execute 'sass'..." which comes from https://github.com/jhthorsen/mojolicious-plugin-assetpack/blob/0.41/lib/Mojolicious/Plugin/AssetPack/Preprocessor.pm#L94, but the only way to get to there (from what I can undestand) is by https://github.com/jhthorsen/mojolicious-plugin-assetpack/blob/0.41/lib/Mojolicious/Plugin/AssetPack/Preprocessor/Sass.pm#L52
That doesn't have anything to do with CSS::Sass. Could it be that a5bdb275bdbafb720a1d54fc55cf09a095e7060c fixed this..?

Possinly, test failures stopped with 0.43.
And with the following change tests still pass on my freebsd system (though I don't know if it would work on more exotic systems like MSWin32):
diff --git i/t/Helper.pm w/t/Helper.pm
index 28f422c..2a74f0f 100644
--- i/t/Helper.pm
+++ w/t/Helper.pm
@@ -21,7 +21,7 @@ sub import {
   my $class  = shift;
   my $caller = caller;

-  plan skip_all => 'Not ready for alien host' unless $^O eq 'linux';
+#  plan skip_all => 'Not ready for alien host' unless $^O eq 'linux';

   unlink glob 't/public/packed/*' unless $ENV{TEST_KEEP_FILES};

Version 0.46 is on it's way to CPAN, without the "skip_all" rule above.
I wonder how it will turn out this time, but I feel more confident I can get to the bottom of the failing tests with your help.
Thanks for the insight you have provided allready :+1:

First impression: http://<IP_ADDRESS>/cgi-bin/cpantestersmatrix.pl?dist=Mojolicious-Plugin-AssetPack 0.46
The two failures in the 5.10.1 line are probably systems with Mojolicious 5. And MSWin32 does not look good, as suspected.

These are the reports I have:

MSWin32-x86-multi-thread / 5.16.0:

FAIL http://www.cpantesters.org/cpan/report/661a17f9-6bf5-1014-99e3-837b5c3ee46f

MSWin32-x86-multi-thread-64int / 5.20.2:

FAIL http://www.cpantesters.org/cpan/report/fd28bb89-6c10-1014-b211-abc6c4a9a683

amd64-freebsd / 5.10.1:

FAIL http://www.cpantesters.org/cpan/report/0ff0d6e2-d896-11e4-977e-7d7ae0bfc7aa

i86pc-solaris-thread-multi-64 / 5.16.0:

FAIL http://www.cpantesters.org/cpan/report/dba91daa-d8bc-11e4-b221-9e126cbd7f71

x86_64-linux / 5.10.1:

FAIL http://www.cpantesters.org/cpan/report/11423b44-d896-11e4-977e-7d7ae0bfc7aa

Do you have any other?

Seems like one of the reasons for so many failing tests is because I depend on an old Mojolicious version. I've bumped and released a new version now. Looking forward to more test results.

Can you provide any details on what is going on here? http://www.cpantesters.org/cpan/report/959aef60-d9fb-11e4-b952-c4ccdfbfc7aa

Looks like Mojolicious 5.41 is causing the problems here. I can reproduce the same failures on Linux systems if downgrading to this Mojolicious version. All other tester reports list Mojolicious 6.05 (checked with ctgetreports Mojolicious-Plugin-AssetPack --q mod:Mojolicious).

Checked also with Mojolicious-5.82 --- this version works fine with your module. So the breakage is probably somewhere between 5.41 and 5.82.

Thanks! I found the issue: ->tap() does not support arguments before Mojolicious 5.57. Fixed the issue in 7bebc95.

I would say this is done now. Thanks for the help!
http://matrix.cpantesters.org/?dist=Mojolicious-Plugin-AssetPack+0.49
Not sure why I had to skip the tests on cygwin though, but I'm in no position to figure it out: 0c738b91b05268f1ea6e0791d6d876cc1c7cc803


Update docs to explain how configuration properties can be encrypted/decrypted

Spring Cloud provides a mechanism to allow properties be encrypted. It also provides a way to decrypt those settings on the fly as the web application instance comes to life. Update the docs to briefly explain how that all might work for a given CAS adopter, referencing Spring Cloud docs as much as possible.

Should show up in the docs in about 40 mins. Tested and confirmed all.


Disable refetch?

How can I disable refetch?
Here is my QueryClient:
const queryClient = new QueryClient({
  defaultOptions: {
    queries: {
      refetchOnReconnect: false,
      refetchIntervalInBackground: false,
      refetchOnMount: false,
      refetchOnWindowFocus: false,
    },
  },
});

export default {
 /* ...rest */
  setup() {
    useQueryProvider(queryClient);
  },
};

But when I switch to another tab, then go back to website's tab. It refetch itself. Is this a bug?

Oh nevermind, it works now. My eslint complain that my code was wrong, but vue show nothing about the error. (I forgot to check the devtools). So it didn't works. ;D


Audio dropouts on mobile when using mobile

Most appropriate sub-area of p5.js?

[ ] Accessibility (Web Accessibility)
[ ] Build tools and processes
[ ] Color
[ ] Core/Environment/Rendering
[ ] Data
[ ] DOM
[ ] Events
[ ] Friendly error system
[ ] Image
[ ] IO (Input/Output)
[ ] Localization
[ ] Math
[ ] Unit Testing
[ ] Typography
[ ] Utilities
[ ] WebGL
[x] Other (specify if possible) - p5 Sound, Mobile compatibility

Details about the bug:

p5.js version: 1.4.0
Web browser and version: Safari iOS, Chrome  iOS
Operating System: iOS 14.6 (iphone SE)
Steps to reproduce this:

Compare the following two sketches on a mobile. One use the standard HTML audio element and the other uses the p5 sound library. Both are very simple sketches based on the p5 demo. On mobile, the p5 sound version produces notable audio dropouts (producing a glitchy, distorted sound). This is more noticeable if you interact with the phone, e.g. change the volume.
Standard HTML audio element
https://editor.p5js.org/ttoommmmiiee/sketches/JOriW7nvk
p5 Sound
https://editor.p5js.org/ttoommmmiiee/sketches/udTIRZqF6

This might be a regression in Safari/Webkit. There are issues with the latest version of Safari that cause distorted audio when using the WebAudio API. This this similar bug filled in the Webkit bug tracker. https://bugs.webkit.org/show_bug.cgi?id=227199
You may want to file a separate report yourself.


Execute in Terminal doesn't work when the Terminal app is active

First, thanks a lot for maintaining DTerm.
After upgrading to the latest release (1.7.73-4a3bc5c), Execute in Terminal does not work unless if the Terminal (iTerm) is not opened. Before it was fine, where it opens a new terminal (iTerm) window regardless of if iTerm is running or not.
My system info:

El Capitan 10.11
DTerm: Version 1.7.73-4a3bc5c (1.7.73)
Default Terminal: iTerm

Problem;

Nothing happens when I click cmd-enter, if iTerm is active.

thanks again.

HI!
This is also happening with DTerm 1.7.69-4b36131 (1.7.69). Are you using the latest iTerm 2 version?
This is happening since I updated to Build 2.9.20160206 of iTerm I think

Yep, using latest iTerm 2.1.4

When was the 2.1.4 version released? I'm on the beta, and I haven't updated DTerm, but I did update iTerm2 around the time the integration stopped working.

Check out the awesome v3 beta just came out :) https://www.iterm2.com/version3.html

That's the one I've been running for a while :wink:
iTerm2 Build 2.9.20160206 is the latest v2 Beta
Unfortunately the "Execute in Terminal" integration is broken as they've changed some things.
I opened a case with their support: https://gitlab.com/gnachman/iterm2/issues/4210 and their response was pretty clear:

George Nachman @gnachman 2 days ago

DTerm will need to be updated to use the new applescript syntax. I've reached out to their support folks by email.

Hope this is fixed soon-ish as it's quite a showstopper for me...

@iamaziz, @jjarava sorry for not having noticed this issue for so long… I fixed such an issue back in january, and forgot to push my changes… :-/

@muhqu great thank you :+1: it now work like a charm.

@iamaziz because I'm already at it… I wanted to adjust the default DTerm window size. how about 70% of other apps window? what do you think?

It sounds good.. my biggest dreamed wish was that DTerm can maintain the last adjusted window size. For example, when I resize it (with option-drag) to a certain size (say 90%), it will always stay like that even after deactivation :-)

@muhqu but not sure if that is implementable, overall I think 70% is a great choice.

@iamaziz here you go 1.7.75-4e88dc3
Please try it, if you still feel the need to adjust the size submit a feature request and I'll try to make it an option.

@muhqu it's awesome now :-) thanks! wider and a lot better.
I guess, that would be sufficient for resizing the window.


Par Removal by Mux Insertion

This pass should remove parallel enables where there are edges between the enable sub-graphs.
For example, consider the following structure:
+-+   +-+
|A+--->C|
+++   +++
 |     |
+v+   +v+
|B|   |D|
+-+   +-+

In this case (par (enable A B) (enable C D) is not equivalent to (enable A B C D) because of the edge A -> C. This pass should generate a mux that transforms the structure into this:
 +-+    +-+    +-+
 |A+---->m+---->C|
 +-+    +-+    +-+
  |             |
 +v+           +v+
 |B|           |D|
 +-+           +-+

and modifies the control to be
(enable A B C D)
This pass will also have to find when the old edge A -> B was used and change the control to
(enable A m B).

That's a tri-state buffer. MUX should have >= two inputs.

I'm using the term mux pretty losely. I just mean some hardware to choose between some number of input signals. Also, my understanding is that tri-state buffers don't exist on FPGAs. Is that correct?

I think so. At implementation, they are all converted to lookup table.

For this issue, I feel we might need some way to specify the ports that are enabled, not the component. A component can have multiple input and output ports. What does it mean by enable a component? All the ports are enabled at the same time. That will cause some function/operation impossible to be represented. enable port rather than component may also help the FIFO representation.

Can you be more explicit about what would be impossible to be represented? I'm a little worried about single port enabled because the semantics become trickier. What does it mean to enable just one port of a component? Presumably the entire component still needs to be run? This means that 'single port' enable implies some kind of implicit hardware to disable the outputs of wires sometimes. I think it may just be better to generate disabling explicitly? I'm not sure though.

Port might be the wrong word. Edges/wires might be better?
The example you give is a good one. Also, registers have both read and write ports. What if we just want to read from the register, not writing to it? If we add a tri-state buffer, the register got some xxxx signal, but it's still signal! And signals will be updated to the register. I feel tri-state buffer is not enough to represent the graph you draw and registers.

I will implement this.

Current remove_par pass can change
(define/namespace prog
  (define/component main () ()
    ([new-std x0 (std_reg 4 0)]
     [-> (@ const0 out) (@ x0 in)]
     [new-std const0 (std_const 4 0)]
     [new-std y0 (std_reg 4 0)]
     [-> (@ const1 out) (@ y0 in)]
     [new-std const1 (std_const 4 10)]
     [-> (@ const0 out) (@ y0 in)]
     ;[-> (@ const1 out) (@ x0 in)]
     )
    (seq
     (enable y0 const0)
     (par
      (enable x0 const0)
      (enable y0 const1)))))

to
(define/component main
  ((port valid 1))
  ((port ready 1))
  ([new-std const0 (std_const 4 0)]
   [new-std const0_y0_id (std_id 4)]
   [new-std const1 (std_const 4 10)]
   [new-std x0 (std_reg 4 0)]
   [new-std y0 (std_reg 4 0)]
   [-> (@ const0 out) (@ const0_y0_id in)]
   [-> (@ const0 out) (@ x0 in)]
   [-> (@ const0_y0_id out) (@ y0 in)]
   [-> (@ const1 out) (@ y0 in)])
  (seq
   (enable y0 const0)
   (par
    (enable x0 const0 y0 const1))))

There is one more step we need to perform: changing
   (enable y0 const0)

to
   (enable const_y0_id y0 const0)

Is there anyway more elegant way than adding another pass, i.e. the second part of pass remove_par, so that the visitor goes through enables and check if id is presented?
Or, is const_y0_id is already sufficient by its name to illustrate there is an out edge from const to y0?

Because I couldn’t come up with a way that untill par  is encountered, enable knows it needs to add id ahead of time, like in this example
  (seq
   (enable y0 const0)
   (par
    (enable x0 const0 y0 const1))))

enable y0 const0 cannot know in par, y0 and const0 requires separation, so that id is inserted between them.

Even when we need another pass to finish changing enable y0 const0, it would ideal to get the information in the pass, like a hashmap recording modified components. I am not sure how to do it in futil structure.

That's a good point, @tissue3, and something I've been thinking about as well: the "analysis results" that come from detecting conflicts for this pass seem like they should be useful outside of the pass. Generalizing slightly, it would be really nice to have some way for one pass to create intermediate results that multiple other passes can consume to decide whether an optimization is legal, whether it's "in the IR" or on the side. LLVM itself has this for alias analysis, for example—and I suspect we will want something very much like conservative alias analysis once we have "loans" (#48).
Of course, on-the-side data structures can be bad too: in the limit, for example, you can imagine that we'd make HLS scheduling results into a non-IR data structure, and that would be bad—we want substantial changes to the program's level of abstraction like that the captured in the Futil IR itself. So if we do this we'll need to be careful to make a hard distinction between analysis results (which are just "caches" of information deduced about a program) from optimization/transformation decisions (which directly dictate what the resulting program will look like).

Futil has been redesigned to use go/done holes and groups in #139.


How to use my own dataset ？

How to use my own dataset ？

@diamonazreal  The easiest way is to rename the point cloud topic in your own dataset to /robot_x/pointcloud and /robot_x/imu
Or you can modify the config and launch files in Localization/src/FAST_LIO/launch/ and Localization/src/FAST_LIO/config/


[PORT] Remove default value for inputHint from activityFactory

Port this change from botbuilder-dotnet/master branch:
https://github.com/microsoft/botbuilder-dotnet/pull/3382

ref: #3344
Remove default value when just using the text activity.
Changed projects

Microsoft.Bot.Builder.Dialogs.Adaptive
Microsoft.Bot.Builder.Dialogs.Adaptive.Templates.Tests

Needs porting

fixed by https://github.com/microsoft/botbuilder-js/pull/1883


Unbump version

Previous version bump was unnecessary because previous author has already bumped.

@erich-wang Can you approve? Thanks.


Fix electrs data dir user at update

After RC upgrade I had this error.
Mar 16 12:43:43 raspberrypi electrs[93270]: Error: electrs failed
Mar 16 12:43:43 raspberrypi electrs[93270]: Caused by:
Mar 16 12:43:43 raspberrypi electrs[93270]:     0: failed to open DB: /mnt/hdd/app-storage/electrs/db/bitcoin
Mar 16 12:43:43 raspberrypi electrs[93270]:     1: IO error: While renaming a file to /mnt/hdd/app-storage/electrs/db/bitcoin/LOG.old.1710593023497237: /mnt/hdd/app-storage/electrs/db/bitcoin/LOG: Permission denied

All files have this rights:  -rw-r--r-- 1 joinmarket joinmarket    135154 Mar 16 11:55 LOG
This was the fix:
chown -R electrs:electrs /mnt/hdd/app-storage/electrs
This PR will fix the rights of the external storage. Not sure if this is really needed or it was some sort of problem I self inflicted some how.
But this change should do no harm on any system.

Thank you for pointing this out. The index store directory now will be checked upon the activation of the service.

since testing here, might as well use the latest release https://github.com/romanz/electrs/releases/tag/v0.10.4

[x] tested on am64 ok
[ ] test on rpi


Add input function for training and testing (#9617)

Add input function for training and testing

Estimator is decoupled from Scikit Learn interface by moving into separate class SKCompat. Arguments x, y and batch_size are only available in the SKCompat class, Estimator will only accept input_fn

remove extra comma

Can one of the admins verify this patch?

Can one of the admins verify this patch?

Didn't I already do this in https://github.com/tensorflow/tensorflow/pull/9658 ?  Closing but feel free to reopen if somehow we should merge this again.


Cmdstan will now trigger Cmdstand performance tests on success. Cmdst…

…an performance tests Job will run detached from the Cmdstan job.
Submisison Checklist

[ ] Run tests: ./runCmdStanTests.py src/test
[ ] Declare copyright holder and open-source license: see below

Summary: Cmdstan will now trigger Cmdstand performance tests on success.
Intended Effect:
How to Verify:
Side Effects:
Documentation:
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company):
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:

Code: BSD 3-clause (https://opensource.org/licenses/BSD-3-Clause)
Documentation: CC-BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Hey @serban-nicusor-toptal this didn't seem to work when develop was updated yesterday: http://d1m1s1b1.stat.columbia.edu:8080/blue/organizations/jenkins/CmdStan/detail/develop/302/artifacts Would you mind looking into that? Thanks!


add md-floating-label to mapPicker

Codecov Report

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

@@           Coverage Diff           @@
##           master     #579   +/-   ##
=======================================
  Coverage   98.48%   98.48%
=======================================
  Files         254      254
  Lines        4039     4039
=======================================
  Hits         3978     3978
  Misses         61       61

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 ff1bcfe...62f21e5. Read the comment docs.

This makes the address autocomplete in store edit/create look like an input field, same as in group edit/create.
I think that gives better UX. @D0nPiano what do you think?


Unable to list filename without directory slash in .vtt file

I would like .vtt entries to look like this:
00:00:00.000 --> 00:00:05.000
video.png#xywh=0,0,384,216
i.e. the .png file is referred to directly, not prepended with anything.
But if I choose generator.base = "", then the filename is prepended with generator.output.
And if I choose generator.base = " ", then the filename appears as:
\video.png#xywh=0,0,384,216
Could you fix this?
Many thanks!

Hi @philipgoyal, thanks for the report.
It is because the run directory depends on the path calculation. It uses paths relative to the running directory. So you can just run the script or CLI from the directory where the video is.
Thanks, I hope this fixes your issue.

Thanks for your reply, Artyom.  If I run the script pointing to the input file, and simply omit the generator.base and generator.output variables, then the .vtt file automatically includes the actual filesystem path to the video.png file.  And, as I say, I don't want that—I'll be moving the .vtt file to a website, where the .png file will be in the same directory, so there is no need for a full path.
So could you perhaps introduce a flag that allows this behaviour to be user-selected?

On Apr 17, 2023, at 2:34 AM, Artyom Vancyan @.***> wrote:
Hi @philipgoyal https://github.com/philipgoyal, thanks for the report.
It is because the run directory depends on the path calculation. It uses paths relative to the running directory. So you can just run the script or CLI from the directory where the video is.
Thanks, I hope this fixes your issue.
—
Reply to this email directly, view it on GitHub https://github.com/pysnippet/thumbnails/issues/65#issuecomment-1510782665, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMO6XV4C6TQBLLUOBZRJIPTXBTP6NANCNFSM6AAAAAAXAWV4GA.
You are receiving this because you were mentioned.

Sorry @philipgoyal, for the misunderstanding. It is my fault for not having a proper issue template requiring the things you've tried, your expectations, and the actual result. Yes, the output value matters in calculating the thumbnail path in the .vtt. It is just the directory path where the generated files should be placed, and the base is the URI prefix as described in the thumbnails -h result, and it overrides the path prefix even if output is set.
If the above information doesn't solve your issue and you still have any questions, please answer these questions as detailed as possible.

Are you using the CLI version or the Python package?
How do your files' paths relate to each other? (please provide the files tree, including the videos and the script if you use the Python package, otherwise the path where the command is run)
Expected result in a few lines.
Actual result in a few lines.

Please do not hesitate to ask questions about the non-mentioned cases if there are some. I will wait for you to reply.

Many thanks for your detailed reply.
First, I am using the Python package rather than the CLI.  That suits my needs better.
Second, the video is a folder, and has path "/path_to_video_folder/video.mp4".
Third, the desired result is that the .png and .vtt files are written to the folder "/path_to_video_folder".  And that the .vtt file contains lines of the form:
00:00:00.000 --> 00:00:05.000
video.png#xywh=0,0,384,216
Fourth, when I set the variable generator.base = "", then the actual .vtt file contains lines of the form:
00:00:00.000 --> 00:00:05.000
/path_to_video_folder/video.png#xywh=0,0,384,216
(i.e. the file path of the input video is not removed).
If I instead set the variable generator.base = " ", then the .vtt file contains lines of the form:
00:00:00.000 --> 00:00:05.000
/video.png#xywh=0,0,384,216
i.e. a space followed by '/' are prepended to video.png
I hope this helps clarify the situation.  What I would hope is that setting generator.base = "" would lead to .vtt omitting any reference to the directory in which "video.png" is located.

On Apr 17, 2023, at 1:18 PM, Artyom Vancyan @.***> wrote:
Sorry @philipgoyal https://github.com/philipgoyal, for the misunderstanding. It is my fault for not having a proper issue template requiring the things you've tried, your expectations, and the actual result. Yes, the output value matters in calculating the thumbnail path in the .vtt. It is just the directory path where the generated files should be placed, and the base is the URI prefix as described in the thumbnails -h result, and it overrides the path prefix even if output is set.
If the above information doesn't solve your issue and you still have any questions, please answer these questions as detailed as possible.
Are you using the CLI version or the Python package?
How do your files' paths relate to each other? (please provide the files tree, including the videos and the script if you use the Python package, otherwise the path where the command is run)
Expected result in a few lines.
Actual result in a few lines.
Please do not hesitate to ask questions about the non-mentioned cases if there are some. I will wait for you to reply.
—
Reply to this email directly, view it on GitHub https://github.com/pysnippet/thumbnails/issues/65#issuecomment-1511774444, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMO6XV6XBGGBOYKIMOOHBKTXBV3QFANCNFSM6AAAAAAXAWV4GA.
You are receiving this because you were mentioned.

Hey @philipgoyal, check out the latest release by pip install --upgrade thumbnails and try to set the base to an empty string. It works for me. Please verify if it works for you as well.

Thank you @ArtyomVancyan—it works perfectly.  i.e. setting generator.base = "" now creates a .vtt file which references video.png without prepending it with path information.

On Apr 18, 2023, at 3:11 PM, Artyom Vancyan @.***> wrote:
Hey @philipgoyal https://github.com/philipgoyal, check out the latest release by pip install --upgrade thumbnails and try to set the base to an empty string. It works for me. Please verify if it works for you as well.
—
Reply to this email directly, view it on GitHub https://github.com/pysnippet/thumbnails/issues/65#issuecomment-1513669943, or unsubscribe https://github.com/notifications/unsubscribe-auth/AMO6XV5J3UCS7B2BYQBXYHTXB3RPTANCNFSM6AAAAAAXAWV4GA.
You are receiving this because you were mentioned.

I've closed the issue as it has been resolved by the update.


breaking change: use a key type

Currently line attributes use strings as keys.
The current behavior is simple.
There is a performance cost when encoding keys in non-binary situations like JSON: they have to be checked for characters that need escaping.
In Open Telemetry, keys are named type that is simply a string.  An advantage of making keys a non-string is that it encourages behavior or pre-registering keys.
That has a cost though: it's harder to log things if you have to keep looking up what the pre-registered key names are.
In this PR, keys are structs that embed slices.  This means keys can't be used as map keys which is annoying.  Creating a new key is easy:
var newKey = xop.Key("myKey")

While easy, that's harder than just using a string.
Is this change a good idea?
Plus:

performance boost for encoding in JSON and other base loggers that need to escape certain characters
encourages users to pre-register keys

Minus:

more friction to log something
performance cost for one-off keys

Codecov Report
Patch coverage: 90.30% and project coverage change: +0.03 :tada:

Comparison is base (6d6ace3) 76.51% compared to head (a194a28) 76.55%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
Additional details and impacted files
@@            Coverage Diff             @@
##             main      #95      +/-   ##
==========================================
+ Coverage   76.51%   76.55%   +0.03%
==========================================
  Files          63       64       +1
  Lines        9410     9446      +36
==========================================
+ Hits         7200     7231      +31
- Misses       1812     1819       +7
+ Partials      398      396       -2

Flag
Coverage Δ

go_tests
76.55% <90.30%> (+0.03%)
:arrow_up:

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

Impacted Files
Coverage Δ

logger.go
83.87% <ø> (ø)

xopbase/base.go
50.00% <ø> (ø)

xopbase/skip.go
7.14% <0.00%> (ø)

xopjson/models.go
76.47% <ø> (ø)

xopotel/models.go
93.75% <ø> (ø)

xopotel/buffered.go
58.31% <47.05%> (ø)

xopjson/jsonlogger.go
75.00% <80.00%> (+0.15%)
:arrow_up:

xopresty/resty.go
51.07% <80.00%> (ø)

xopotel/otel.go
83.64% <88.18%> (ø)

xoprecorder/replay.go
78.76% <95.65%> (+0.14%)
:arrow_up:

... and 14 more

... and 1 file with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Messages can't be disabled in CLI

It would be nice to be able to disable messages when using cssnext CLI. Also you might want to consider having the browser messages disabled by default as this is pretty intrusive and can't be hidden (I'm using a CSS DSL that generates some invalid CSS and always trigger the reporter).

One workaround is to make a plugin that will remove some messages you don't want to see
// cssnext config
{
  plugins: [
    function(css, result) {
      for(var i=0; i < result.messages.length; i++) {
        if (result.messages[i].text == "THE WARNING YOU HATE") {
          result.messages = result.messages.slice(0,i).concat(result.messages.slice(i+1))
        }
    }
  ]
}

You can use a regex using  ...text.match(/regex/) if messages are dynamic.

Can I do that when using cssnext CLI? I'm using it as a shell command from a build tool without node support.

I think CLI support a config file. Try $ cssnext --help.
Your file might be a .js and like this
module.exports = {
  // cssnext config here
}

It works perfect thanks!
For the record I used cssnext -C config.js
with config.js
module.exports = {
  messages: false
}

postcss-cssnext do not handle messages anymore (cssnext is now postcss-cssnext. cssnext is deprecated.) See postcss-cssnext migration guide http://cssnext.io/postcss/


if two models have two attributes with the same name, how can we get from the error validations object the modelName info for each attribute?

Environment

Ember CLI Version: 2.11.1
Ember CP Validations Version: 3.3.2

Steps to Reproduce
I have two models with has-many relationship, and both models have attributes with the same name  (ex:- "title") .. when I get the "validation.errors" I get an array which contains two validation objects for both "title" of the first model and "title" of the second model .. the question is how can I get the modelName where each one of the "title"s belong to?

@NouranMahmoud any chance you can reproduce this in a twiddle so I can play around with it?

Sure Offirgolan thanks a lot of your help, I've created a  full example of my case here I've added comments on the part that has the issue.
In a nutshell:

The example contains main form (multi-step-form controller) and two models (page, post`).
Page and post have (has-many relationship) and both have property  "title" on their models.
I validate the form on "goNext" action.
As this is a multi-step form so validation must be in specific fields (per step)
validation on the first step won't pass because there is a "title" property on "posts" model.
Question: how can I know which model does this title belong to? line: 48, file: controllers/multi-step-form.js

@NouranMahmoud this seems to be a discovery issue on your end. I think think there is much I can do on the library side.
If I'm understanding this correctly, you have a page model with a hasMany of posts and you dont know which one is invalid.
You can do a couple of things here:

Just do a quick look up to get the invalid ones pageModel.get('posts').filterBy('validations.isInvalid'). That will return all invalid post models that belong to that page model.
You can restructure your logic. Im not really sure whats going on in your twiddle since it's a bit involved but if you're creating a new page object, step 1 should have an empty posts hasMany.
You can disable the hasMany validations on step one, and then re-enable it on step two. See the docs on the disabled option.

@NouranMahmoud the issue is quite old. Did you manage to solve your problem? Can we close the issue?


Warding bond Vanilla bug?

Is it possible to enable Warding Bond Spell to the Cleric list?
In the Vanilla game it is possible to find scrolls with this spell in random lots, but no character is able to use.
I believe they first created the spell and then in the last minute they made a decision to remove from the game, but ended up leaving remnants that did not remember erasing.
It would be nice if there is a lost code inside the game with this spell somewhere for you programming gods to restore to UB.

This spell hasn't been completed in game. Should ignore these scrolls.


TTD css tweaks

Hopefully finish up Top Experiences. (At least for now)

Kill that whitespace though.


More text investigation

Some of our grants lack a Synopsis but contain a Lay Summary or Research question so this investigation is all about understanding how our model performs in those fields and whether we should apply it to all of them together or individuall or train a new model per field. The summary results below. What is decided is to use the same model and apply it to all available text concatenated which seems to perform the best.

 Investigate performance difference when adding more text in science tagging

@aCampello @lizgzil no need of a thorough review, you can just skim read this one, it is mainly configs and results


Kinoshita Momoka

I approved this, however, currently all work (and all index updates) are happening on the new-index branch. There's several members missing from master (e.g. Yuiri) and even more now that I've added the SKE48 8th Gens to new-index.
I'm probably going to overwrite master with new-index shortly.

Didn't even realise you had branches. Well, it's a quick copy-paste work, I can redo it on the branch if you don't care to

It's already done on the branch.


Dnd feature

Could you please explain me how to use "dnd" in our widget

You need to look at jsTree docs.
This is only a wrap for Yii2.


Improve performance of GROUP BY hashing

I'm not sure what the exact problem is, but when running a huge GROUP BY (1B+ groups per worker) that had a small number of rows per group I saw very poor performance (< 1K rows per cpu sec). Profiling showed that almost all the time is being spent in hashing:

82.56%  presto-facebook  perf-170.map                   [.] com_facebook_presto_$gen_PagesHashStrategy_71.positionEqualsRow

This must have been the call from MultiChannelGroupByHash.positionEqualsCurrentRow, since I wasn't doing a SEMI JOIN in my query.
I'd start with a benchmark that does a simple count(*) with a large number of groups, then one thing to look at is our fill ratio in MultiChannelGroupByHash which is set to 90% (HashMap uses 75%, and 90% seems pretty high to me)

Follow-up task: #4133


samples: usb: cdc_acm*: Fix device testing

The device testing harness for the cdc_acm & cdc_acm_composite samples
has some expected console output to tell if the sample is running
propertly.  However that output is handled via LOG_DBG() statements in
the code.  To ensure we see those LOG_DBG() statements enable
CONFIG_LOG_IMMEDIATE.
Signed-off-by: Kumar Gala<EMAIL_ADDRESS>

CONFIG_LOG_IMMEDIATE=y should not be used with usb device stack because it impacts the performance of the system and will lead to timeouts during enumeration/configuration of the usb device, it may work for LOG_LEVEL_ERR only.

will switch to using printk for what we need then.

@galak Do those printk really help? I think they expect that we connect via USB to the Host.

I have an alternative patch for that.

@finikorg @galak Please take a look at #18573 - commit 055d785ab49062aa0b365dc3c7fc1ddf94d1b4a7

@galak Do those printk really help? I think they expect that we connect via USB to the Host.

It does.  The testing harness for these tests should be improved for having communication on both sides of the USB link.  However, right now it just expects that the Zephyr side is ready.  So printk addresses the main issue of getting the output into the log.


Fix VF2Layout and VF2PostLayout handling of instructions without error

Summary
This commit fixes an issue in the VF2Layout and VF2PostLayout pass where the passes would potentially error in cases when a target was specified and there were instructions present without any error rates defined. In such cases the instructions should be treated as ideal (having no error) and the passes shouldn't fail. In cases where there are no error rates in the target for VF2Layout the first perfect match should be used, and for VF2PostLayout it should effectively be a no-op and not select a new layout.
Details and comments
Fixes #8970

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

25 of 37 (67.57%)  changed or added relevant lines in 3 files are covered.
42 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.06%) to 84.353%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

qiskit/transpiler/passes/layout/vf2_post_layout.py
17
29
58.62%

Files with Coverage Reduction
New Missed Lines
%

qiskit/extensions/quantum_initializer/squ.py
2
79.78%

src/results/marginalization.rs
40
65.52%

Totals

Change from base Build<PHONE_NUMBER>:
-0.06%

Covered Lines:
61687

Relevant Lines:
73130

💛  - Coveralls


Errors suspected on momig-custom-backend server

Hi, I normally confirmed demo data (CHM1) on beautiful visual panels, but could not do my custom-data.
Thanks to your instructions, I prepared my vcf file and succeeded in executing vcf2xg script without errors.
Then I put my .xg and .pcf as well as config.yaml (copied from the instruction, and changed vg: "vg" and vg_tmp: "vg" both to "vg/bin/vg", which is a PATH of vg indicated in Dockerfile.backend)  into ~/MoMI-G/static directory.
Then I build momig-custom-backend docker image successfully:
docker build -t momig-custom-backend -f Dockerfile.backend .

And I ran docker image as follows, but the docker container automatically exited after a few seconds when I checked by docker container ls -a.
$ docker run --init -p 8081:8081 momig-custom-backend

So, thereafter, I (sed- changed target to localhost:8081 and ) yarn, yarn started and it once showed [compiled successfully] as follows;
Compiled successfully!
 You can now view MoMIG in the browser.
	Local:            http://localhost:3000/
        On Your Network:  http://xxx.xxx.xxx.xxx:3000/
Note that the development build is not optimized.                    \
To create a production build, use yarn build.

but
when I connected to localhost:3000 with firefox browser, error messages appeared and data was not loaded or visualized into MoMI-G frontend ( I suppose). I suspected that backend is not working (momig-custom-backend docker container is presumed to be working while I connect to localhost:3000, right ?).
Proxy error: Could not proxy request /api/v2/overview?source=features from localhost:3000 to http://localhost:8081/.                        See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).                                                                                [HPM] Error occurred while trying to proxy request /api/v2/overview?source=features from localhost:3000 to http://localhost:8081/ (ECONNREFUSED)
(https://nodejs.org/api/errors.html#errors_common_system_errors)

Proxy error: Could not proxy request /api/v2/overview?source=chromosomes from localhost:3000 to http://localhost:8081/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).                                                                                [HPM] Error occurred while trying to proxy request /api/v2/overview?source=chromosomes from localhost:3000 to http://localhost:8081/ (ECONNREFUSED)
(https://nodejs.org/api/errors.html#errors_common_system_errors)

Proxy error: Could not proxy request /api/v2/overview?source=metadata from localhost:3000 to http://localhost:8081/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).                                                                                [HPM] Error occurred while trying to proxy request /api/v2/overview?source=metadata from localhost:3000 to http://localhost:8081/ (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)

Proxy error: Could not proxy request /api/v2/graph?raw=true&cache=true&gam=true&steps=3&path=chr12:80851974-80853202 from localhost:3000 to http://localhost:8081/.
See https://nodejs.org/api/errors.html#errors_common_system_errors for more information (ECONNREFUSED).

[HPM] Error occurred while trying to proxy request /api/v2/graph?raw=true&cache=true&gam=true&steps=3&path=chr12:80851974-80853202 from localhost:3000 to http://localhost:8081/ (ECONNREFUSED) (https://nodejs.org/api/errors.html#errors_common_system_errors)

Thank you for using MoMI-G.

momig-custom-backend docker container is presumed to be working while I connect to localhost:3000, right ?
Yes. As you mentioned, MoMI-G frontend raises errors when frontend cannot connect to a backend server. Did you see any error messages when MoMI-G backend automatically exited?

Thank you for your reply.
I did not see any error messages when MoMI-G backend automatically exited.
For positive control, I tested nginx server (docker image) by docker run and I can normally saw [welcome to nginx] page on localhost:80 on firefox browser.
But I ran momigteam/momig-backend as follows:
~/MoMI-G$ docker run momigteam/momig-backend ./graph-genome-browser-backend --help
~/MoMI-G$

it did not show any options or any error messages, but only exited automatically.
(Exited container can be confirmed by docker container ls -a command.)
Maybe something is wrong with momigteam/momig-backend docker image or setting for docker.
Could you give me any suggestions, please ?

How about using docker logs command?
https://docs.docker.com/engine/reference/commandline/logs/

Thank you for your instruction. I tried, and got the following result (nothing appeared in logs).
~/MoMI-G$ docker run momigteam/momig-backend ./graph-genome-browser-backend --help
~/MoMI-G$ docker container ls -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                        PORTS               NAMES
665b15876c53        momigteam/momig-backend   "./graph-genome-brow…"   37 seconds ago      Exited (132) 19 seconds ago                    frosty_lamport
~/MoMI-G$ docker logs 665b15876c53
~/MoMI-G$

For comparison, I did the same thing on nginx image and got logs as follows:
~/MoMI-G$ docker run nginx
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
^C
~/MoMI-G$ docker container ls -a
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                       PORTS               NAMES
2cf2a198f3d2        nginx                     "/docker-entrypoint.…"   19 seconds ago      Exited (0) 11 seconds ago                        hardcore_solomon
665b15876c53        momigteam/momig-backend   "./graph-genome-brow…"   7 minutes ago       Exited (132) 7 minutes ago                       frosty_lamport
~/MoMI-G$ docker logs 2cf2a198f3d2
/docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration
/docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/
/docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh
10-listen-on-ipv6-by-default.sh: Getting the checksum of /etc/nginx/conf.d/default.conf
10-listen-on-ipv6-by-default.sh: Enabled listen on IPv6 in /etc/nginx/conf.d/default.conf
/docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh
/docker-entrypoint.sh: Configuration complete; ready for start up
~/MoMI-G$

In general, error 132 is SIGILL signal, which is CPU generated exception.
Some feature used in building momig-backend on dockerhub seems not supported on your machine.
I suspect the docker is running on machine that doesn't support avx2.
I'd like to know if the cpu supports given feature looks like this:
cat /proc/cpuinfo | grep flags | head -1 | grep avx2

Thank you. I executed the command and nothing appeared. I think that avx2 is not supported, as you say.
Should I build backend myself  from source ? (if possible)
$ cat /proc/cpuinfo | grep flags | head -1 | grep avx2
$

I see. I will rebuild backend to support cpu which doesn't have avx2.

https://hub.docker.com/r/momigteam/momig-backend/tags?page=1&ordering=last_updated
The latest is built with -C target-feature=-avx2 option.

Thank you very much ! ...but I git pulled and tried this new image and ended up with the same result and  the same 'Exited (132)' code when I executed "$ docker run momigteam/momig-backend ./graph-genome-browser-backend --help".
cpu flags are as follows:
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr
 sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon pebs bts rep_good nopl xtopology
 nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm pcid
dca sse4_1 sse4_2 popcnt aes lahf_lm epb pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid dtherm ida
 arat flush_l1d

Do you need some more information on CPU ?

May I ask you which CPU target is the default in your environment?
$ rustc --print target-cpus
Available CPUs for this target:
    native         - Select the CPU of the current host (currently broadwell).

In this case, broadwell is the default target cpu.

Thank you.
As rust has not been installed, I installed rust and executed the command:
$ rustc --print target-cpus
Available CPUs for this target:
native         - Select the CPU of the current host (currently westmere).
and so on

https://hub.docker.com/r/momigteam/momig-backend/tags?page=1&ordering=last_updated&name=westmere
Is it possible to try the Docker image of westmere tag?

Uhmm,,,,thank you very much indeed. but the result is again the same Exit(132) error.

I built the momig-backend-server for generic cpu. https://hub.docker.com/r/momigteam/momig-backend/tags?page=1&ordering=last_updated&name=westmere Could you try it again?

Thank you very much. However, Itried and got the same result and the Exited(132) code.

That's strange... Is it possible to build the rust binary or the docker image from the source?
https://github.com/MoMI-G/MoMI-G_backend

Thank you very much for many special modifications. I tested MoMI-G_backend in my another environment(hardware) and confirmed it works. It seems likely that my first environment specifically has intrinsic problems not compatible with MoMI-G_backend after I discussed with the IT-manager. I stop to try to drive backend in the first environment, but anyway many thanks to Dr. 6br. I will be using MoMI-G in another environment.

Hello again.
Now  I retried with docker build (in Dockerfile rustflags target-feature=-avx, -avx2 etc) and successfully ran --help command:
$ docker run momig-custom-backend ./graph-genome-browser-backend --help

However, when I proceeded to execute the following command, the program exited(101) and produced the error:
$ docker run --init -p 8081:8081 momig-custom-backend
thread 'main' panicked at 'couldn't parse config: Scan(ScanError { mark: Marker { index: 239, line: 4, col: 18 }, info: "while parsing a block mapping, did not find expected key" })', src/main.rs:121:21
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
$

Could you give advices to solve this problem if possible ?

This error is raised when config.yaml is malformed. Could you check it again?

Thank you again. I fixed the config.yaml a few times and succeeded in starting up momig-custom-backend and therafter frontend.


Root block authentication + related tests + related fixes

this PR adds
-an HMAC wrapper to the crypto library
-tests for the HMAC function
-an authenticator field in the root block
-tests for checking whether the authenticator (and so the root block) is correct
-several fixes to make the tests work
-add another test in run-tests

@g2flyer could you take a look at this as well?


Excluding default from conditions

Hi,
Great to find such a library, thank you.
I was wondering whether you might add an option such as noDefault to remove checking for default in exports.
https://github.com/lukeed/resolve.exports/blob/master/src/utils.ts#L16
I'm only interested in types or typings.
Thanks!

A proposal with option.noDefault:
Type: boolean
Default: false
When truthy, the "default" field is removed from the list of allowed/known conditions.
resolve.exports(pkg, '.', { noDefault: true });
//=> Conditions: ["import", "node"]

resolve.exports(pkg, '.', {
  noDefault: true,
  unsafe: true,
  conditions: ["types"],
});
//=> Conditions: ["types"]

export function conditions(options: t.Options): Set<t.Condition> {
  let out = new Set(options.conditions || []);
  options.noDefault || out.add('default');
  options.unsafe || out.add(options.require ? 'require' : 'import');
  options.unsafe || out.add(options.browser ? 'browser' : 'node');
  return out;
}

An other proposal with option.types:
Type: boolean
Default: false
When truthy, the "types" field is set to the list of allowed/known conditions.
resolve.exports(pkg, '.', { types: true });
//=> Conditions: ["types"]

resolve.exports(pkg, '.', {
  types: true,
  conditions: ["typings"],
});
//=> Conditions: ["types", "typings"]

export function conditions(options: t.Options): Set<t.Condition> {
  let out = new Set(options.conditions || []);
  if (options.unsafe) {
    out.add('default');
  } else if (options.types) {
    out.add('types');
  } else {
    out.add('default');
    out.add(options.require ? 'require' : 'import');
    out.add(options.browser ? 'browser' : 'node');
  }
  return out;
}

The first option sounds the most reusable (in case there were any other use cases for dropping default) though either should work for us.

Why not simply an array of the conditions you want to check? Then it's not specific to "default", or to types.

Why not simply an array of the conditions you want to check? Then it's not specific to "default", or to types.

That's what conditions already is, but because the existing behavior is to also add default, therein lies the problem. If you're suggesting changing it to avoid the auto-adding of default, then of course, that'd be a breaking change.

that'd work for me too, though I do see an argument for having default preferred by default.

A third proposal with negative conditions:
If you want to undo one of default conditions, you can use the ! prefix, for example: ["!node"].
resolve.exports(pkg, '.');
//=> Conditions: ["default", "import", "node"]

resolve.exports(pkg, '.', { conditions: ["!import"] });
//=> Conditions: ["default", "node"]

resolve.exports(pkg, '.', { conditions: ["!node", "deno"] });
//=> Conditions: ["default", "import", "deno"]

resolve.exports(pkg, '.', { conditions: ["!default", "!import", "!node", "types"] });
//=> Conditions: ["types"]

resolve.exports(pkg, '.', { conditions: ["!import", "require"] }); // Same as { require: true }.
//=> Conditions: ["default", "require", "node"]

resolve.exports(pkg, '.', { conditions: ["!node", "browser"] }); // Same as { browser: true }.
//=> Conditions: ["default", "import", "browser"]

resolve.exports(pkg, '.', { conditions: ["!import", "!node"] }); // Same as { unsafe: true }.
//=> Conditions: ["default"]

export function conditions(options: t.Options): Set<t.Condition> {
  let out = new Set(['default']);
  options.unsafe || out.add(options.require ? 'require' : 'import');
  options.unsafe || out.add(options.browser ? 'browser' : 'node');
  for (const condition of options.conditions || []) {
    if (condition.startsWith("!")) {
      out.delete(condition.slice(1));
    } else {
      out.add(condition);
    }
  }
  return out;
}

If you want to remove options.require, options.browser and options.unsafe:
export function conditions(options: t.Options): Set<t.Condition> {
  let out = new Set(['default', 'import', 'node']);
  for (const condition of options.conditions || []) {
    if (condition.startsWith("!")) {
      out.delete(condition.slice(1));
    } else {
      out.add(condition);
    }
  }
  return out;
}

I'm fine myself with the latter approach added to #31 . If that's ok, can it be reviewed?


Fixed Batch not reporting response exceptions.

Not sure if this is the right way to fix this but...
I noticed a problem with batch not reporting any exceptions even though the execution log said otherwise.

Hi,
Thanks for contribution. I have fixed the SimpleXML issue.
Best,
Hao


[PDN] Power switch API update

Update set_voltage_domain, define_pdn_grid, add_global_connection and create insert_power_switches to place switched power domain and selected power switch. Testcase are provided in sky130hd. It replaces VDD rail with VDD_SW, insert VDD_SW strap near VDD, and place power switch instances on the intersection. It automatically add via for power switch connection and move the tap cell to prevent overlapping.

Signed-off-by: minghungumich<EMAIL_ADDRESS>

I think my old fork is too out of date and will have merge issue. So I decided to close the original PR #1579.
Now the tap cell movement is implemented well and all of change is put on a new PR #1744.
Please help me add the reviewer. Thanks!

The code has been updated to the latest OR code, but TCL code to insert power switches is no longer active.

The code has been updated to the latest OR code, but TCL code to insert power switches is no longer active.

@Colin-Holehouse once it is in, I'll migrate it over to the C++ version so the functionality in TCL should only be missing for a little while.


generate readme examples

@premun I think we could with a minimal docfx-like markdown rendered (to markdown, not html)
This will ensure our readme us accurate

Interesting, more lightweight than the other proposal in your other repo.
This solves part of the challenge, this only addresses the readme file, not the C# documentation comments

I like it and I guess it will work better but I think we also need a pipeline step verifying we have exported the documentation.
I guess we will also need some unindentation? Or we would just unindent the code in the source file?
I'm not sure we need, the snippet-generator unindents all of the lines based on the first line assuming the first line will have the least amount of leading spaces

I think we also need a pipeline step verifying we have exported the documentation.

I think we should try to call it in a PR build and fail if there's a change in README.md?

example failure -

@premun The remaining documentation files will be added in a follow up PR


Fix button appearance

Now button appears as the default GH

Thanks!

Thanks!

Thank you for the merge and for letting me know about the md-code... right now I am trying to make this work with this extension GitHub Writer - Chrome Web Store (google.com) as it add some nice features too but breaks some userscripts including this one...

Nice extension! I'll take a look when I have some free time (which is rare 😿)


Large or Many Writes on a Stream get blocked

I am facing an issue where, when I am sending too much data at once over a BidirectionalStream, it gets blocked on .Write() and this part of the application just hangs. Other UnidirectionalStreams, which send much smaller packets, still work simultaneously even when the first stream is "blocked".
(Update: this may be a Firefox issue, since I cannot reproduce this with a Go client or Chromium ...)
For lack of a better method – stepping through the application with VSCode produces lots of "timed out" and "stream closed" errors – I tried inserting some fmt.Println() messages and I think I can pinpoint it to the <-s.writeChan line in quic-go/send_stream.go. (Maybe this issue would be better suited in that repository but I am experiencing this issue in the context of WebTransport in the Browser, so I am first reporting it here.)
This happens either with a single large (~ 32 MB) write or multiple smaller (~ 100 KB) writes in short succession. If I insert a 10 ms delay between those smaller packets, everything runs smoothly. But that can't be the correct way to go about this ...

 If I uncomment the time.Sleep(10 * time.Millisecond) in the loop, everything is sent correctly. In my application, the stream is passed on to a Worker and sending blocks even earlier.
Is this a race condition? Is there a way to "flush the buffer" or anything like that?

UPDATE: unfortunately (or luckily, however you look at it ..) I can neither reproduce this with a Go client, nor Chromium ...

Sounds like a Firefox issue then? Have you recorded a qlog and loaded it into qvis yet? That would allow you to see why exactly things are getting stuck.

Well, this is fun ..
I am trying to capture a qlog by setting network.http.http3.enable_qlog in about:config .. and this generally works. Visiting Google produces a useful trace, too. But my application on localhost only seems to record the handshake for some reason. When I try to host the application on a Hetzner server, the issue does not appear at all; probably because the round-trip times are long enough to avoid whatever is going wrong here. I'll give it a few more attempts.

I somehow managed to grab a successful qlog of a connection where this issue occured. In the visualization it looked like all data has been received successfully by Firefox this time (the "Packetization" tab showed the expected number of "Bytes received"). Yet the async iterator in Firefox was still stuck after about 1.2 MiB.
Two days ago I thought that maybe increasing the receive buffer size would help. But it turns out that decreasing it actually solved my issue.
The setting network.http.http3.recvBufferSize is set to 1048576 by default for me. I reduced this to 32768 (32 KiB) and all data was transmitted correctly. When network.http.http3.enable_qlog is also enabled, I can increase the receive buffer size further to 65536 (64 KiB). So it seems that I just need to "slow down" reception of frames somehow.
Anyway. This really seems like a Firefox issue to me, so I'm closing this issue. I have no idea how to debug this further but I'm happy to have found a way around it for now.

You could also try recording a qlog from the quic-go side. Might be interesting to get the server's perspective on this.

Sure. I've added a connection tracer to the reproducer per the example in quic-go and recorded a connection where this issue occured from "both sides". For this I reset the receive buffer size in Firefox to its default value.

quic_server.qlog.txt
quic_client.qlog.txt

You can see that the server hangs after 19 iterations (~ 1945600 bytes):

And the browser only "received" 889941 bytes. (The CHUNKs don't map cleanly to iterations because I am just sending zeroes and log the chunks as fast as they arrive in the async iterator.)

I haven't looked at the qvis of those two logs in detail yet but maybe you can find something interesting in them. Luckily, the client log is not corrupted this time; it apprears this also only happens sporadically.


Revamp Hosted GitOps

Harness Developer Pull Request
Thanks for helping us make the Developer Hub better. The PR will be looked at
by the CODEOWNERS.
What Type of PR is This?

[ ] Issue
[ ] Feature
[ ] Maintenance/Chore

If tied to an Issue, list the Issue(s) here:

Issue(s)

House Keeping
Some items to keep track of. Screen shots of changes are optional but would help the maintainers review quicker.

[ ] Tested Locally
[ ] Optional Screen Shoot.

This PR's build is failing due to several broken links. Some can be fixed by rebasing/updating from main.

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app

Please check the Execution Link of the Pipeline for the Website Draft URL. This is located in the Preview Step behind the Harness VPN and also is available in #hdh_alerts. E.g Website Draft URL: https://unique-id--harness-developer.netlify.app


Improve dashed version parsing

Hi! Hope you don't mind that I wrote some quick code for this. It was breaking on the dash in version 3.2.3-2 of functools32, which is preventing me from sharing some pipenv code with colleagues.
With this PR, instead of truncating the ends of versions containing dashes, it will keep them intact. Also I added some tests for the parse_download_fname function.

Hi! Hope you don't mind that I wrote some quick code for this. It was breaking on the dash in version 3.2.3-2 of functools32, which is preventing me from sharing some pipenv code with colleagues.

✨🍰✨


Error on Package Install

I dropped the community_store_square package into the "packages" directory under "community_store_square" using C5 version 8.1.0 on my local machine and I am getting this error on install:
Concrete\Package\CommunityStoreSquare\Controller::on_start(): Failed opening required 'vendor/autoload.php' (include_path='/Applications/MAMP/htdocs/theme-name/concrete/vendor:.:/Applications/MAMP/bin/php/php7.1.0/lib/php')
Is this a composer error? Do you have a suggestion that I can try to resolve the issue?

Make sure you've downloaded Composer, following the instructions here.
In the terminal change directory to packages/community_store_square
Run the following command: php composer.phar install


Go fmt issues

Gofmt formats Go programs. We run gofmt -s on your code, where -s is for the "simplify" command
Algo/rabinkarp/rabinkarp_test.go
Line 1: warning: file is not gofmted with -s (gofmt)
Algo/insertsort/insertsort_test.go
Line 1: warning: file is not gofmted with -s (gofmt)
Algo/rabinkarp/rabinkarp.go
Line 1: warning: file is not gofmted with -s (gofmt)

is this still on?


"Skip if not a valid torrent URL" is bad user experience

You should use the notification, an option, or describe it on Add-ons site.

Yeah, I was hoping to just not show it at all, but until 1280370 is fixed, a notification is probably the best solution.

54615cc adds a notification. Two extra strings to localize, though.


fix: increase the default for proxy requests

What this PR does / why we need it:
Increases the default proxy timeout based on experiences in GKE (which was failing).
Which issue this PR fixes
Adds fixes that supports https://github.com/Kong/kubernetes-ingress-controller/issues/1095
Supports the analysis found in https://github.com/Kong/kubernetes-ingress-controller/issues/1519
PR Readiness Checklist:

[x] the CHANGELOG.md release notes have been updated to reflect any significant (and particularly user-facing) changes introduced by this PR

Can we use some retry library instead of implementing retries ourselves? The second best thing to do is unit test the retry mechanism implemented in this PR but I think it would not be good use of our time.

Given that there's any contention I've opted to remove the retry mechanism from this PR in favor of focusing on the better default so we can get this fix quicker.


Add audio editor WaveShop

add new audio editor "WaveShop"
add link to official website for WaveShop
add short description for WaveShop
add contribute link + shieldimage to "http://waveshop.sourceforge.net/development.html"
add donate link + shieldimage to "https://sourceforge.net/p/waveshop/donate"

@merlindoescode WaveShop doesn't seem to be actively developed.

@sereneblue
yeah thats true. i used it alot in the earlier days and remembered it was oss
but i thought it would be find since no where is said that committed projects have to be in active development 🤔

@merlindoescode No, it isn't stated anywhere but I thought this project might have been abandoned since the latest release seems to be about 9 years ago. The author did leave a comment a couple years ago saying that the project was stable and is open to contributions so I think it's fine.


TechSmith.Snagit.2023 version <IP_ADDRESS>30

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.2 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hello @ajsween,
The package manager bot determined there was an issue with some of the URLs included in the manifest file. Please check the pull request for more details and make sure the urls are correct.
Template: msftbot/validationError/urls/smartScreen

I've double checked the URLs. They all work. My guess is that the site is blocking access to the release notes based on user-agent used by the validation pipeline.

Not sure what to do here. It appears the support urls at TechSmith blocking crawling.


Update http4s-circe, http4s-dsl, ... to 0.21.17

Updates

org.http4s:http4s-circe
org.http4s:http4s-dsl
org.http4s:http4s-server

from 0.21.0 to 0.21.17.
GitHub Release Notes - Version Diff
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

Applied Migrations

dependency:v0_21@org.http4s:http4s-scalafix:0.21.5

Documentation:

https://github.com/http4s/http4s/releases/tag/v0.21.5

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "org.http4s" } ]

labels: library-update, semver-patch, scalafix-migrations

Superseded by #343.


[devtools] Remove outdated Styles pane instructions

Remove the outdated Styles pane documentation on More Actions toolbar.
Fixes: crbug.com/1124615
Target Live Date: 2020-09-08

[x] This has been reviewed and approved by (@chybie )
[x] I have run npm test locally and all tests pass.
[x] I have added the appropriate type-something label.
[x] I've staged the site and manually verified that my content displays correctly.

CC: @petele

Whoops!
There were 2 warnings that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.
WARNINGS
src/content/en/tools/chrome-devtools/css/reference.md#L67 - Common typo found: 'javascript' Should it be 'JavaScript'?
src/content/en/tools/chrome-devtools/css/reference.md#L469 - Common typo found: 'Material Design' Should it be 'material design'?

up


run.dlang.org: Compiler flags ignored after adding dependency

This issue is combining together issues 734 747.
run.dlang.io is ignoring compiler flags when dependencies are included. Those two issues detail the issue with respect to -main and -unittest. I have also noticed the issue with --version, whereby the version information is produced when there are no dependencies and then it is not displayed when a dependency is added.

run.dlang.io is ignoring compiler flags when dependencies are included.

That's a known, although undocumented limitation. Without dependencies, our command-line invitation looks something like this:
$DC -g $args "${d_files[@]:1}" $with_run "${d_files[0]}" ${run_args}

($args are the compiler options, while $run_args are the command-line arguments to your program.)
On the other hand, when you have dependencies we use this:
dub -q --compiler=$DC --single --skip-registry=all onlineapp.d ${run_args}

You can check the entry point source code of our docker container here: https://github.com/dlang-tour/core-exec/blob/master/entrypoint.sh
In order to set compiler arguments using dub, you need to use dflags build setting in the dub.sdl portion of your code: https://dub.pm/package-format-sdl.html#build-settings
I agree that it would be nice if setting the compiler flags in run.dlang.io would set them automatically.
Pull request are welcome :P

The code below properly runs the unittest. However, it also gives a big warning from dub that it should be called with --build=unittest.
The more I've thought about it, the more it seems the solution isn't so easy.
The entrypoint.sh file depends on the dub.json comment so you'd need to update that, maybe whenever hitting run, with whatever $args there are.
Some other potential solutions:

Pass $args to dub when dub is used (annoying because if you add a dependency then the right $args to use will change, for instance you start with -unittest, add a dependency, now you have to change to --build=)
A button to force the use of dub and send any $args to dub. (kind of ugly)
Handle a few main dflags like -unittest by adjusting the dub calls manually (code becomes uglier)
Add the ability to include extra dflags in dub with a command line switch (I kind of like this)

/+dub.sdl:
dependency "mir-algorithm" version="*"
dependency "mir-core" version="*"
dflags "-unittest"
+/

unittest {
    import std.stdio: writeln;
    writeln("here");
}

void main() {

}

@PetarKirov I have done some work here for getting dub test to work if -unittest is passed as an argument. However, I have no idea how to actually test this.  I don't see anything wrong with it, but I still feel a bit nervous suggesting a PR I haven't actually tested.


Filter re-registered domains in the Git way

git blame shows a clear view of when a domain is supposed to be registered, combine it with the registered date could help us detect potential re-registered domains.
I just tried blame and quickly found https://github.com/publicsuffix/list/pull/193 as a result.
This process could be automated using GitPython. Would you be interested in working on that, or would you prefer I tackle it during the Chinese New Year vacation?

@fakeboboliu This is a great suggestion! The git blame approach would definitely help us validate PSL entries, especially for domains added after we implemented newer requirements like the _psl TXT record and 2-year expiration policy. It would be really valuable for automating compliance checks.
I actually tried using git blame myself last year but wasn't expert enough with Git to implement it successfully. I'd really appreciate your help with this. And I'm familiar with your work - I was a user of natfrp project.
If it would make things easier, I'm happy to give you permissions to the PSL-private-domains-checker repo for implementing this. But no rush at all - please enjoy your rest before and during Chinese New Year! The vacation time should come first.
Let me know if you'd like to discuss this further when you're back. Thanks for offering to help improve our validation processes.

Good, I'll do it ASAP, hope this could help reduce abuse of PSL ;)


Passing "robot_calibration.yaml" not working via lauch-parameter "kinematics_config"

Affected ROS2 Driver version(s)
Package: ros-humble-ur Version: 2.2.10-1jammy.20240126.081445
Used ROS distribution.
Humble
Which combination of platform is the ROS driver running on.
Ubuntu Linux with realtime patch
How is the UR ROS2 Driver installed.
From binary packets
Which robot platform is the driver connected to.
Real robot
Robot SW / URSim version(s)
3.12.0
How is the ROS driver used.
Through the robot teach pendant using External Control URCap
Issue details
Summary
Launching and passing the robot_calibration.yaml file via the launch-parameter kinematics_config does not work.
Steps to Reproduce
The launch-command I used was
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=my_robots_ip launch_rviz:=false initial_joint_controller:=joint_trajectory_controller kinematics_config:=/path/to/my_robot_calibration.yaml
The calibration-file was extracted via the tutorial in this repo while the robot was turned on. I'm certain that my calibration file and path to it are correct.
When launching the driver, I get multiple deprecation warnings, one of them is about passing the robot description parameter. Once the ur_ros2_control_node-1 gets to the calibration checksum, it does not output the checksum of my yaml-file, but the default checksum 'calib_17227329492635474227' from the default UR10 kinematics file. So the correct calibration file is certainly not passed. This obviously results in an error (mismatched checksums).
Expected Behaviour
I'd expect to be able to pass the calibration file via a simple launch parameter, similar to how it was on the ROS1 version of this driver. If that's not possible anymore, I'd like to know for certain what is the proper way of passing that calibration file.
Workaround Suggestion
I'm aware of issue #711, I decided to create a new issue because it is not clear from that issue that passing the calibration file at launch does not work. I know that there are different ways of launching with a calibration file mentioned in #711 (modify the launch.py-file directly, or creating a separate description package based on the Universal_Robots_ROS2_Description-Repo. Both of those options seem quite complicated and are not really well documented anywhere.
I'm also aware that you want to work on documenting the usage of the calibration file (#799), I'd love to see you follow through with the documentation.
The same can be said for the huge number of deprecation warning. When you alert of something being deprecated (like here, passing the calibration file), I think there should be a distinction between "it's deprecated, but the old way still works, the new way is better/more convenient/whatever" and "it's deprecated, the old way does not work anymore, you are forced to use the new way / add a line to your launch script or set a new parameter in your launch command".
I know you want to reduce the number of deprecation warnings (#855). I do not really care about the number of warnings, I'd prefer you do some documentation for the warnings (why was that changed, what is the added functionality of the change, what will break, and how can one properly use the driver, modify his launch code and get rid of the warning). Figuring all of that out only from the deprecation-warnings is quite hard.
Relevant log output
[ur_ros2_control_node-1] [WARN] [1706621580.699260669] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
.
.
.
[ur_ros2_control_node-1] [WARN] [1706621580.710764051] [controller_manager]: [Deprecated]: Automatic activation of all hardware components will not be supported in the future anymore. Use hardware_spawner instead.
.
.
.
[ur_ros2_control_node-1] [WARN] [1706621581.756432981] [UR_Client_Library:]: DEPRECATION NOTICE: Setting the keepalive count has been deprecated. Instead use the RobotReceiveTimeout, to set the timeout directly in the write commands. Please change your code to set the read timeout in the write commands directly. This keepalive count will overwrite the timeout passed to the write functions.
[ur_ros2_control_node-1] [WARN] [1706621581.756467176] [UR_Client_Library:]: DEPRECATION NOTICE: Setting the keepalive count has been deprecated. Instead you should set the timeout directly in the write commands. Please change your code to set the read timeout in the write commands directly. This keepalive count will overwrite the timeout passed to the write functions.
[ur_ros2_control_node-1] [INFO] [1706621581.756476774] [URPositionHardwareInterface]: Calibration checksum: 'calib_17227329492635474227'.
[ur_ros2_control_node-1] [ERROR] [1706621582.762050289] [URPositionHardwareInterface]: The calibration parameters of the connected robot don't match the ones from the given kinematics config file. Please be aware that this can lead to critical inaccuracies of tcp positions. Use the ur_calibration tool to extract the correct calibration from the robot and pass that into the description. See [https://github.com/UniversalRobots/Universal_Robots_ROS2_Driver/blob/main/ur_calibration/README.md] for details.
.
.
.
[ur_ros2_control_node-1] [WARN] [1706621583.169140952] [joint_trajectory_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.

Accept Public visibility

[X] I agree to make this context public

Thank you for reporting this. We are currently restructuring things a bit (for rolling) where this will be covered.

Hey @A13X15,
I tried to reproduce your issue and I noticed that for Humble, differently from Rolling, it's not possible to pass the robot calibration as launch argument. To add that I opened a pull request (#1001) which introduces the kinematics_params_file argument, like in Rolling.
In this way, changing your command to:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10 robot_ip:=my_robots_ip launch_rviz:=false initial_joint_controller:=joint_trajectory_controller kinematics_params_file:=/path/to/my_robot_calibration.yaml
should do the trick, I tested it and it correctly uses the calibration file that I indicate.
Regarding documentation, we are currently working on the one for Humble, but I can point you to the updated documentation for Rolling, where you can check:

calibration docs
the robot cell tutorial which describes how to create a custom description package.

For the deprecation warnings, we are currently tackling those in order to make them disappear from Rolling and on.

Since the PR regarding the calibration file has been merged and the deprecation warnings have been removed from Rolling and Jazzy, I will close this issue.
Feel free to reopen if still relevant.

Just updated the driver and passing the calibration file works. Thanks a lot for fixing!

I'm still running into this issue on Jazzy using the latest version of the driver (2.4.13). But it seems like this was fixed a few releases ago. Am I missing something?
output of apt list --installed | grep ur-robot:
ros-jazzy-ur-robot-driver/noble,now 2.4.13-1noble.20241118.194418 amd64 [installed,automatic]

I discovered my problem - I didn't realize that the parameter was changed from kinematics_config to kinematics_params_file. All is working now :+1: Leaving the comment in case someone else runs into the same problem


Added arm in build for

Added arm in build for environment. It defaults to 386, amd64 and arm64. Thus, it wasn't able to work in arm devices.

Does this work on termux? I got some refused connection error. When I compiled it. Had to make some change in the settings to make it work

Is there a way to incorporate the CGO_ENABLED change into this PR such that the above would work for Android/Termux?

Adding Android might need other dependencies(gcc for android). I will create a new PR If the build is successful. I will close this. Is that okay?

Yup sounds good!

Sorry, It auto merged in this

Any ideas on when this can be merged? Builds are still failing on latest @railway/cli
npm ERR! path /Users/ian/.nvm/versions/node/v16.13.0/lib/node_modules/@railway/cli
npm ERR! command failed
npm ERR! command sh -c go-npm install
npm ERR! Installation is not supported for this architecture: arm64
npm ERR! Invalid inputs

This SHOULD be handled via @JuanM04's install script I believe
Tested on my M1 and seems to work. Can someone else verify?

This SHOULD be handled via @JuanM04's install script I believe

These lines have to be modified: https://github.com/railwayapp/cli/blob/64f6a1715d226ffd48af887687f6796134325624/npm-install/config.js#L36-L37
Also, is Android still necessary? Isn't CGO_ENABLED=1 enough?

CC @GrimZZZ-404

Recent linux release works perfectly fine on termux. I dont think android is necessary now.

Some people are still facing issues on Android. I guess we should keep Android


Changing font size changes also the font size of the buttons Find, Replace,All and the fields for the search and replace value

Changing the font size changes also the fonsize of the 2 fields for the find and replace values and also the text size of the buttons "find", "replace" and "all".
But this is not seen immediately. When changing font size only the change in the script editor window is visible. But after a restart of GLX2 also the textsize of the above mentioned fields and buttons has changed.
So larger font sizes make at least the buttons not completely readable

Fixed in the latest build. I'm assigning a fixed font size to the Find/Replace text row now.


Expose ResultErrorFields.String() from ResultError

I suspect you meant to have this... Looking at the README your examples wouldn't work without...
Ok, to be fair this is random guess, I didn't actually try it... :)

+1


HandleFailureActivity throws System.Runtime.Serialization.SerializationException

Discovered alongside #507, when trying to handle the error thrown by TeamsConversationOrchestrator.
In PrepareToSendOrchestrator function, it calls TeamsConversationOrchestrator. But TeamsConversationOrchestrator calls TeamsConversationActivity which throws the error mentioned in #507.
The function catches the error, and try to call HandleFailureActivity, but throws the following error:

with the following exception message:

@nhtngo the latest PR #509 fixes this. Closing the issue.


Categorization

Lola to contact Kalle Kukk
Markus & Lucas to check it in parallel

Closed after moving the issue to the main repo: https://github.com/smart-grid-use-cases/github-pages/issues/91


String split incorrect output

function main() {
    trace("hello".split(""));
    // Rnd.hx:2: []
    // Expected: Rnd.hx:2: [h,e,l,l,o]
}

Oooo! Nice catch, thanks!

Fixed! What's weird is I even had a test already for this, but I had the correct thing set wrong. Think I got "".split() and "something".split("") confused.
Anyway, thanks again for the catch!


Add documentation covering all current aspects of the configuration file

Add a markdown document detailing all the configuration options provided by log4rs.
Fixes: #291
Fixes: #304
Fixes: #306

Thank you @bconn98

Thanks 👍🏻

Hey @estk
It's been a while since I've seen a PR approved, I don't see much activity. What are the plans to approve this PR and the others pending review?

@dertin I'm working with him to start getting PRs moving again. Look for updates soon!

Thank you very much, I really think this is a very good library with lot's of potential to be even better.

@bconn98 thanks so much for your work on this. I have a couple procedural comments:

Can you please add a md lint to CI which lints the docs folder?

See https://github.com/marketplace/actions/markdown-linting-action

Can you set up our docs.rs to pull in this explainer?

Can you please also review the docs there and be sure there is no duplications

Please double check for consistent capitalization of titles and sections

Please double check grammar and wording for clear comms

Thanks so much!
@estk

@estk Thanks for the comments. Should be all set. Looks like the workflows need approved prior to executing though.

@bconn98 looking good, can you split out the markdown lint to a separate CI job?
You'll also need to bump the minimum rust version in the CI to 1.57

@estk ✅ and ✅

seems like there is a rustfmt issue.
Also the markdown-lint is not actually linting anything, maybe we need to tell it about the .md files?

@estk 👍 actually ran the linters locally so should be good for both MD's and the rustfmt

Looks like there are version issues. I'll fight these tomorrow.

fwiw im open to moving to 1.60 as a minimum but let split that into a sep PR

alright, i think we're in the home stretch.
I generated the cargo docs and realized we need to move the docs you wrote to the config module. Its just too much for the root page.
Can you also replace the configuration section with a link to the config page and dedupe the text in the first para?
Can you also add a link to the examples folder in the first para?

🎉


Feature Request: Manual/OnChange trigger for metadata.yaml template creation/rerendering

Problem description
As of LXD 4.8 there are only 3 options when to trigger a render for a template. [copy,start,create]
If the configuration of a container changes, while it is running no change is applied.
This results in inconsistencies if the template mechanismn is used for cloud-init.
(Like in the "ubuntu:" containers. A change is only applied there if the container is created or copied.)
Example:
A container is launched with user.network-config set to use IP Address X for configuration/installation purposes, and must not be restarted.
The (now configured) container is ready to switch into the production network (IP Address Y is needed there).
A change to user.network-config is made. But the template using this variable is not rerendered, thus rerunning the cloud-init seed with the old IP Address X instead of IP Address Y. Generating once more the netplan configuration for IP Address X.
Feature Idea
Create 2 additional ways to trigger a rerender of templates:
Manual
A command is needed to rerender the templates like
lxc metadata templates render <container> [templatename]
if templatename is empty, all templates are to be rerendered.
This can be accompanied with a flag --dry-run to only show the result of the template
or lxc metadata templates show <container> [templatename]
OnChange
If a variable (referenced in a template) is changed via lxc config edit <container> or lxc config set <container> <key>=<value> the template will be rerendered.
This is maybe the consumer friendliest method, but also the one with the most complexity.
TL;DR
Please create a way (or ways) to reflect config changes on a container to be reflected immediately inside the container.

There is a way to manually re-run the templates, it's the volatile.apply_template key which is processed on the next instance start. Doing lxc config set blah volatile.apply_template create will re-run all templates that use the create trigger.
on-change would certainly be great to have, but we have no idea what variable a template may use. All LXD does is expose a bunch of context to the template, we don't know what's being pulled from that context.
For the specific case of network config, the plan is for the cloud-init team to implement a full LXD backend, deprecating those templates and config keys in favor of first class cloud-init integration in LXD.
Closing as those two options should address your current and future needs.

Thank you

Hi @stgraber , after a long time I need to reopen this issue albeit for different reasons.
I need to render/generate templates while the container is running.
Basically
lxc config template render [<remote>:]<instance> <template> [flags]

@monkz sorry for the delay.
I've been thinking about this on and off for the past few days and I'm struggling to find a safe way to allow this as well as provide something which will work the same way across both containers and virtual machines. In general, the template mechanism was designed to render files in the instance prior to it starting with the various triggers letting you decide on what kind of startups it should kick in.
The fact that we know the instance is guaranteed to be off allowed us to run a traditional templating engine (pongo2) directly from LXD without fearing a hostile container trying to mess with us as we interact with its filesystem.
Changing this to be able to run in a hostile environment makes things significantly harder as we'd then need to move that logic to a dedicated subprocess (forktemplate or something along those lines), implement a C loader that performs the critical security bits and then chain to the Go code to run the actual template. Templates in such a confined environment would also be unable to perform includes or access any other files, potentially breaking some existing templates.
This is effectively having to change the templating logic to work within the same confined environment that lxc file push and lxc file pull use. One in which we can't trust symlinks, we can't trust mounts and we can't trust any past results as a hostile user in the instance may be actively messing with the filesystem under us.
Those are the implications for doing this for containers. On the VM front, things are a bit easier because we don't really need to trust the guest, we'd just tell the agent to re-run the template. This would need some added logic for us to re-generate/re-populate the config drive that the VM agent uses and adding an API to have the agent reload the template file and apply it.
An additional catch that both would need to handle is that the file being templated could be currently locked or actively being read/written to by another process. This may need additional logic to first record attributes of the existing file, delete the existing file, template the file as a new one and then reset the attributes. Well, some non-racy variation of this anyway.
So I guess the TLDR here is that it's not impossible to do, but it'd be a lot of security sensitive work that'd need to be done for a very edge case feature and effectively just saving a manual edit through lxc file or a quick instance restart.

Thank you for your extensive answer.  We'll resort to template outside of LXD and lxc file push it.