[Feature Request] MangaDex in API Improvements

Thanks for the great project, have been experimenting with it, and am enjoying the automatic mangadex download utility.
I am planning on trying to integrate this as a server option for tachiyomi and Neko. There are a few things that would really help me in this process:

Report the mangadex id and chapter ids in the api
An api endpoint which allows for returning of the mango "book" queried by mangadex id

Describe the solution you'd like
What would be nice is if the local manga has a mangadex id, that the API reports this and the chapter id.
I see that it is stored in the queue db, but the actual /api/library or /api/book/ don't report this external manga and chapter id.
I am not sure how this will work for multiple plugins, but a simple way would to have these as additional columns in the database that could then be displayed in the api (for example a id_mangadex in both the titles and entries). If the manga is not one downloaded from mangadex, this value could just report null.
Additionally, it would be nice to have an API endpoint to return a local "book" based on the mangadex id and not the id that mango uses. This would be useful for quickly checking if mango has a given mangadex manga downloaded.
Additional context
For example this would be ideal for this manga:
{
  "dir": "/root/mango/library",
  "titles": [
    {
      "dir": "/root/mango/library/Tondemo Skill de Isekai Hourou Meshi_ Sui no Daibouken",
      "title": "Tondemo Skill de Isekai Hourou Meshi_ Sui no Daibouken",
      "id": "8bed99917ac34a63a97987103dcf21c2",
      "id_mangadex": "37392", //< ***THIS HAS BEEN ADDED***
      "signature":<PHONE_NUMBER>,
      "display_name": "Tondemo Skill de Isekai Hourou Meshi_ Sui no Daibouken",
      "cover_url": "/api/cover/8bed99917ac34a63a97987103dcf21c2/a85eeb6ca9f34b1caefc0402e4920217",
      "mtime":<PHONE_NUMBER>,
      "titles": [],
      "entries": [
        {
          "zip_path": "/root/mango/library/Tondemo Skill de Isekai Hourou Meshi_ Sui no Daibouken/Vol.1 Ch.1 The Man Dragged into Another World, Fenrir, and the Slime.cbz",
          "title": "Vol.1 Ch.1 The Man Dragged into Another World, Fenrir, and the Slime",
          "size": "6.22MiB",
          "id": "a85eeb6ca9f34b1caefc0402e4920217",
          "id_mangadex": "635134", //< ***THIS HAS BEEN ADDED***
          "title_id": "8bed99917ac34a63a97987103dcf21c2",
          "display_name": "Vol.1 Ch.1 The Man Dragged into Another World, Fenrir, and the Slime",
          "cover_url": "/api/cover/8bed99917ac34a63a97987103dcf21c2/a85eeb6ca9f34b1caefc0402e4920217",
          "pages": 22,
          "mtime":<PHONE_NUMBER>
        }
      ],
      "parents": []
    }
  ]
}

Hi, thank you for your interest in working on the Tachiyomi integration!
Yes I agree these are all useful features to have, but currently we do not store the MangaDex IDs of chapters and manga downloaded from MD. The queue.db contains the download queue, but after the download is completed the rows will be deleted. We could store the MD IDs for future downloads, but then the old chapters won't have the IDs and this would break the user expectations. I can't think of a user-friendly way to handle this, but any suggestions are welcome!

Maybe notice the user that he need to redownload said manga for it to be integrated. Or add a id field in the manga edit. Both are not great I reckon but do the job.

Yeah, I am not sure about how to support existing manga's / chapters downloaded, but I think for new ones download this would be a nice addition.
As Nerothos mentioned, the web interface could also show this id / chapter and I think it would be nice to have it linked directly to the mangdex (similar to how the download plugin rows gives links to the chapters so you can click and view it on mangadex).
Seems like a bit of work, so I think just having it would be stored for newly downloaded chapters / mangas would be the best solution for me (right now I am fine with re-downloading everything)

I created a first version of it here:
https://github.com/tachiyomiorg/tachiyomi-extensions/pull/6034
Some improvements that would be make this work really nicely:

Pull and store the manga description (and maybe tags?)
Have the manga thumbnail be set the one on mangadex by default (not sure how they are generated now, but seems to be a random page in the manga)

@Nerothos Adding an extra field for the MD ID sounds like a good idea 👍 Will try to implement this.
@goldbattle Thanks for your effort on the extension! Hopefully we can close #33 with it. Regarding the improvements:

Yes, I agree we should store more metadata. I would love each manga to have a wide array of metadata fields that you can edit (similar to what they have in Plex), and it would be even better if manga downloaded from MD would have these fields automatically filled in. I am currently (slowly) working on #148, and this feature can come after that.
Currently we use the first page of the first entry in a title as its thumbnail. I agree it would be nice to retrieve the thumbnails from MD.

So to summarize, the features requested in this issue are:

[ ] Store the MD IDs of manga and chapters downloaded from MD.
[ ] Add some additional fields to the manga edit modal. We can include the MD ID, description, cover URL and artists/publishers.
[ ] Automatically fetch metadata (including the MD cover URL) for manga and chapters downloaded from MD.

I was wondering, @goldbattle, I'm not sure if that's feasible from source plugin on Tachiyomi but would it be possible to sync read chapter between the two? I doubt source plugin allow API call while reading though

Correct, this type of support is being tracked here:
https://github.com/tachiyomiorg/tachiyomi/issues/4282

@goldbattle Congrats on getting the PR merged! I wanted to try the extension but encountered an issue, and would appreciate your help.
I was trying to configure the extension by tapping the gear icon, but this crashed the app. The same icon works without any issues for other extensions. Is this a bug or am I missing something? I am using the latest version of Tachiyomi (0.10.9).

@goldbattle Congrats on getting the PR merged! I wanted to try the extension but encountered an issue, and would appreciate your help.
I was trying to configure the extension by tapping the gear icon, but this crashed the app. The same icon works without any issues for other extensions. Is this a bug or am I missing something? I am using the latest version of Tachiyomi (0.10.9).

He is already working on it
This is what he said in a new PR
"Would crash on startup if the address field is empty since it has zero length so you can't get a .last()."

@dmswd Ah I didn't see the new PR. Thanks for letting me know!

@hkalexling you're welcome 😊


[feature request] add support for radio stations

... actually - I don't think there is any API's for this yet..


Tests - Single additional test to cover properties on gridd2drepresentation objects

Single test to cover property collections with a grid2drepresentation as a support. Properties with indexable of cells and nodes added for testing.

Codecov Report

Merging #356 (5b3db73) into master (06f44ee) will increase coverage by 0.00%.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master     #356   +/-   ##
=======================================
  Coverage   72.16%   72.17%
=======================================
  Files         157      157
  Lines       28119    28119
=======================================
+ Hits        20293    20294    +1
+ Misses       7826     7825    -1

Impacted Files
Coverage Δ

resqpy/property/_collection_get_attributes.py
82.72% <0.00%> (+0.21%)
:arrow_up:

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 06f44ee...5b3db73. Read the comment docs.


Flaky-tests: misc tests failing with java.lang.NoClassDefFoundError: Could not initialize class org.apache.pulsar.common.protocol.Commands

Search before asking

[X] I searched in the issues and found nothing similar.

Example failure
https://github.com/apache/pulsar/runs/7884887469?check_suite_focus=true
Exception stacktrace
java.lang.NoClassDefFoundError: Could not initialize class org.apache.pulsar.common.protocol.Commands
  	at org.apache.pulsar.client.impl.ClientCnx.<init>(ClientCnx.java:220)
  	at org.apache.pulsar.client.impl.ClientCnxRequestTimeoutQueueTest.setupClientCnx(ClientCnxRequestTimeoutQueueTest.java:63)

Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

This is probably caused by JDK ZGC issue https://github.com/openjdk/jdk17u-dev/pull/605
IIUC this will released in the next hotfix version of JDK 17

@nicoloboschi I have changed here, the test get passed. It looks like related to Mockito and reuseForks. I'm not sure what exactly the problem is but disabled the reuse fork can help.

I think the reuseForks=false can fix this problem.
Link: https://maven.apache.org/surefire/maven-surefire-plugin/examples/fork-options-and-parallel-execution.html
So, I closed the question and opened it when it reappeared.

I'm not sure we should close this issue. reuseForks=false may helps but it means we don't know the real source of the problem.
@codelipenghui have you verified how much time the suite get now? is it relevant for the CI pipeline?

@nicoloboschi Yes, we can keep it open until we find the root cause.


Sunstone: There is no possibility for hide unwanted or just select type and default storage for uploading images

Author Name: kvaps kvaps (kvaps kvaps)
Original Redmine Issue: 5474, https://dev.opennebula.org/issues/5474
Original Date: 2017-10-19
Original Assignee: Abel Coronado

!2.png!

We still think that makes sense for an end user to select the datastore to upload the image, as it may have different cost, performance, quotas etc... You can always restrict the access to just one datastore

Yes, I know, but there is no way for change the priority for displaying.
For example use case:
*We have 2 datastores in this list:

first one with our images, and it's not allowed for upload images by simple user
second one with user images.

There is no way to hide first datastore from this list, or change it to second one by default
any time users should open dropdown menu for select second datastore, because if user will not do this, he will recieve an error.
For now there is only one way for change this behavor: You need to have users datastore with lover id than first one. But this is always difficult, and it is almost never possible to think in advance


Icsaas 438 change facet behavior   part 1 quickfix

please update with screenshots and why you removed code. maybe comment code out would be better in this situation as we have a followup ticket?


Vec3 / operation undefined

Mat4x4f::create_lookat is trying to normalize a Vec3.
error C2676: binary '/': 'Blah::Vec3' does not define this operator or a conversion to a type acceptable to the predefined operator
I did this in the
template
Vec3 Vec3::normal() const {
// return Vec3(x, y, z) / length();
return Vec3(x / length(), y / length(), z / length()) ;
}

Thanks! should be fixed as of https://github.com/NoelFB/blah/blob/master/include/blah/numerics/spatial.h


GraphEntityMapper doesn't load correctly all the relationships

Expected Behavior
When you load an entity I expect it has all the relationships mapped.
Current Behavior
Now it only loads one relationship.
Steps to Reproduce
I think it's something wrong in the GraphEntityMapper, because I can debug it and it looks all the edges are found but at the end I get only a relationship entity in the collection.
Example uploaded to github: spring-boot-neo4j
In the test class, I create an actor, two movies, two roles (Relationship Entity) and connect them correctly. When I load the entity by it's id, it has just one relationship on the Collection.
Context
I can't load all the relationships from an entity.
Your Environment

spring-boot version: 1.5.4.RELEASE
spring-data-neo4j version: 4.2.4.RELEASE
OGM Version used: neo4j-ogm 2.1.3
Java Version used: java 8u131
Neo4J Version used: 3.2.1
Operating System and Version: Mac OSX Sierra

This looks like a bug, but there is a simple workaround.
The problem is due to this line in the Actor.class
private Collection<Role> playedIn;
Because Collection is implemented by many concrete classes that have different behaviours, the OGM seems unable to figure out which one to instantiate, although my expectation is that it should default to an order-preserving Set (i.e. TreeSet). However it appears to be assigning a new 'container' object reference for every edge returned from the graph, which is why you end up only get one Role in the Collection. So this looks like a bug.
However, you can work around this problem by declaring an unambiguous interface instead:
private List<Role> playedIn;

It works perfectly with List but it should work also with Collection
Thanks @vince-bickers

@dasensio13 Hi David, please could you try this branch to see if it fixes your issue.
https://github.com/neo4j/neo4j-ogm/tree/issue/385

Now, it works with Collection.
Thx.


Seemingly random failed Mobileclient logins

A couple people are seeing this here: https://github.com/christopher-dG/gpymusic/issues/36
I figured I'd post a heads up while it's still developing in case you have any insights.

Huh. I haven't heard of any issues and CI seems to be working fine.
Best idea I've got is to look at the full output of gpsoauth here. That might give a hint as to what's going on.

I just attempted to use gmusicapi and am not able to sign in either, here is the output of gpsoauth:
{u'Url': u'<redacted>', u'ErrorDetail': u'To access your account, you must sign in on the web. Touch Next to start browser sign-in.', u'Error': u'NeedsBrowser'}

It looks like I had to enable 2 step authentication on my Google account and then create an app password! I'm now logged in. It would be helpful if enabling 2 step authentication / app password creation was noted somewhere in the gmusicapi documentation.

Very interesting. 2FA is definitely not a requirement for this, so there must be something weird going on.

Nice find. My bet would be that Google's ATO detection got a bit more sophisticated, and that app passwords are treated as more trustworthy than a normal login.

I'm also struggling with this. I can authenticate via a docker container locally, but not when running python locally, or at all on heroku - all failed authentications. I'll try what @prestonconnors did.

So enabling 2FA and adding an app password, then using that app password as my "ANDROID_ID" still didn't work for me. Sad times. How come the old Webclient used to work without the ANDROID_ID and now we need one? Can't the Mobileclient use the same system if there is no ANDROID_ID?

I can confirm that the Webclient login works just fine for me, which makes me believe that it's related to the ANDROID_ID

Behind the scenes each client only accepts auth from their respective system: google play services oauth vs normal google SSO. Details are in https://github.com/simon-weber/gmusicapi/blob/develop/gmusicapi/session.py.
The app password is intended to be passed in place of your password rather than the android id: does that work for you?

That works like a charm. Thanks!

I had this problem as well. I got around it (by accident) without 2fa by replacing 'Mobileclient.FROM_MAC_ADDRESS' with my actual device id. To find that, run self.api.login(email, password, '1234567890abcdef'). It should return an error message saying that id is invalid (duh). It then lists valid device ids - choose the 16 digit one.
Be careful, only '1234567890abcdef' will work! Other bogus ids just return False.

More discussion on the client id angle in https://github.com/simon-weber/gmusicapi/issues/589.

Since this was related to device ids, I'm going to merge this with https://github.com/simon-weber/gmusicapi/issues/590.


Math equations written in markdown is not being rendered

I want to write math equations, but it's not being rendered, for example, when I write:
$\rho c \frac{\partial T}{\partial t} = \frac{\partial q}{\partial x}$
$\alpha$

It remains the same in the Preview window, it's not being rendered as a Math equation in Preview Window.

Discussion is over there: https://github.com/math2001/MarkdownLivePreview/issues/43


How to make the fields in TimelineSummary being collected by skia

I added some new fields in TimelineSummary in this PR: https://github.com/flutter/flutter/pull/95699
Including: '30hz_frame_percentage',  '60hz_frame_percentage', '90hz_frame_percentage',  '120hz_frame_percentage', 'illegal_refresh_rate_frame_count'.
These fields are not shown in the skia perf tool: https://flutter-flutter-perf.skia.org/e/
I have run the local tests and confirmed that the timeline summary file was generated and it contains the new key-values.
Is there anything that I'm missing for these new fields to be collected by Skia?
CC @keyonghan
@dnfield @flar I heard you two might know how to do it :)
This is blocking https://github.com/flutter/flutter/issues/95700

I haven't lookeda t it in a while, but I think your PR should have done this if the values were getting reported. You should try grabbing a timeline summary from a LUCI run of your benchmark and make sure the values are there as expected.

I haven't lookeda t it in a while, but I think your PR should have done this if the values were getting reported. You should try grabbing a timeline summary from a LUCI run of your benchmark and make sure the values are there as expected.

Thank you for the response! Where do I find the "timeline summary from a LUCI run of your benchmark"? There is no particular benchmark that I added, everything I added is in the PR. I was hoping some magic happens and these fields are included in the exciting benchmarks.

It looks like they are being tracked:
https://flutter-flutter-perf.skia.org/e/?queries=sub_result%3D120hz_frame_percentage

The next step would get them listed on our alerts page so that a gardner gets notified when their results trend. @zanderso

We really need to re-organize the alerts, but in the meantime, I'd suggest adding these to Time-based alerts at https://flutter-flutter-perf.skia.org/a/

illegal_refresh_rate_frame_count

Added the new fields to Time-based alerts.


Console error

Versions

PocketMine version: 1.0.5 (Tesseract)
BlockSniper version: 1.3.0
Game version: PE

Crashdump and/or console errors
[PluGPluS] [20:44:52] > Enabling BlockSniper v1.3.0
Warning: yaml_parse_file(/root/pvp/plugins/BlockSniper/settings.yml): failed to open stream: No such file or directory in /root/pvp/plugins/BlockSniper-master/src/Sandertv/BlockSniper/data/ConfigData.php on line 18
[PluGPluS] [20:44:52] > [BlockSniper] [BlockSniper] Language selected: ru

Is the settings.yml file added in the plugins/BlockSniper folder?

The file settings.yml was created! - Tesseract the latest version. Modifications no! Messages in the console to change the plugin

Can you try exceeding the limit in the settings.yml brush size, by just doing /b size 50 as a test?

Fixed locally, I'll push it to the repository once I'm done with the other changes. It's not a very critical issue.


[i2c,doc] Overhaul theory of operations document for multi-controller and SMBus features

See the commit descriptions for more info about specifics. Since it's a documentation PR, though, probably the contents of the commits are self-documenting. ;)
I stopped editing at the Interrupts section. The line count for changes had already grown fairly large.

The failure is unrelated, so I'll go ahead and merge.


Bug with graph (possibly with can-connect in reality)

bin/import
Go to restaurants, pick Wisconsin / Green Bay / Cheese Curd City.
Order from Cheese Curd City.
Select onion fries.  Name: GOTO, Address: Chicago, Phone: 312.  Place order.
Go to Order History.
Mark GOTO as preparing, out for delivery, delivered, then delete it.
Go to:
http://localhost:3030/app/order/analytics/analytics.html
No data.
Mongo gives:
NotFound: No record found for id undefined
    at /Users/justin/dev/place-my-order/node_modules/feathers-mongodb/lib/mongodb.js:89:19

Clearing localStorage fixes the problem.

This is fixed, too.


MERGE TEMPLATE

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!

[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/viralrecon branch on the nf-core/test-datasets repository.

[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Replace #344 and #347

@nf-core-bot fix linting pretty please :pray:


the i plot disappears (might be caused by my rrd files)

See #2.

It seem that it's actually there.

http://<IP_ADDRESS>:8085/deliver/3600000_10000/1000/420/LINE2:tempaiC0000ff_LINE2:tempaC00aa00_LINE1:tempiCaaaaff_LINE1:tempaxCff0000_LINE2:tempxCffaa00


build: name workflow

Coverage remained the same at 100.0% when pulling b222adf7b11948c9ea84441ce9c09c66bab9bc38 on name-workflow into 3d0d24e96833079dffaeeb53cefb01edc0ce3d0b on main.

:tada: This PR is included in version 2.0.3 :tada:
The release is available on:

GitHub release
npm package (@latest dist-tag)

Your semantic-release bot :package::rocket:


Missing << operator for rust::String

This page https://cxx.rs/binding/string.html lists
std::ostream &operator<<(std::ostream &, const String &);

as a part of the rust::String public API, but it appears to be missing. The generated header file contains the following declaration:
class String final {
public:
  String() noexcept;
  String(const String &) noexcept;
  String(String &&) noexcept;
  ~String() noexcept;

  String(const std::string &);
  String(const char *);
  String(const char *, size_t);

  String &operator=(const String &) noexcept;
  String &operator=(String &&) noexcept;

  explicit operator std::string() const;

  const char *data() const noexcept;
  size_t size() const noexcept;
  size_t length() const noexcept;

  String(unsafe_bitcopy_t, const String &) noexcept;

private:
  std::array<uintptr_t, 3> repr;
};

The public API is what is declared by #include "rust/cxx.h", which includes operator<<.
https://github.com/dtolnay/cxx/blob/9754dafe8a1e6f40785ae69dd32e20ed7384fa20/include/cxx.h#L277
It should be available if you add #include "rust/cxx.h".

I see. I'm curious, what's the rationale behind duplicating significant potions of declarations between the lib.rs.h, lib.rs.cc and cxx.h files, but excluding some of them? Is this something to be cleaned up later? I'm better with C++ than Rust, but perhaps I could try to draft a PR for this if you give me some pointers of what needs to be tweaked?


Demoknight charge glitches while fast acceleration is on

Fast acceleration ain't needed while demo is charging so it should turn off until charge has stopped, or else it will look like demo is charging sideways but the server teleporting you back

Maybe manually turn it off? Problemo slovef

fast accel isnt needed at all but it makes antiwarp significantly better and i want it on all the time cause im a movement player

fast accel isnt needed at all but it makes antiwarp significantly better and i want it on all the time cause im a movement player

But how can it help if i use demoknight shield charge, im already moving at full speed, only thing that changed is i cant control it and just glitching around the map

fast accel isnt needed at all but it makes antiwarp significantly better and i want it on all the time cause im a movement player

But how can it help if i use demoknight shield charge, im already moving at full speed, only thing that changed is i cant control it and just glitching around the map

I think it should turn off for a moment while im using shield charge and turn on when i start moving without charge

Fixed (Kinda), still happens very rarely

uhh no this is not fixed at all
atleast it is much better than before

yeah, that fixed it, but i dont know how to contribute changes im too dumb


squid:UselessParenthesesCheck - Useless parentheses around expressions should be removed to prevent any misunderstanding

This pull request is focused on resolving occurrences of Sonar rule
squid:UselessParenthesesCheck - Useless parentheses around expressions should be removed to prevent any misunderstanding.
You can find more information about the issue here:
https://dev.eclipse.org/sonar/coding_rules#q=squid%3AUselessParenthesesCheck
Please let me know if you have any questions.
George Kankava

Can one of the admins verify this PR? Comment with 'ok to test' to start the build.

Thanks @georgekankava. Would it be possible to squash the commits into single one?

I tried it but got mix of old rule and this new rule.

@georgekankava Only one commit should be pushed. I think you need to rebase remote/master and squash if needed.

I Will resubmit this pull request.


Qustion regarding proxy

Hello,
First of all, I love your autobuyer!
I'm about to set up the autocaptcha and everything worked perfectly with the external provider. I have a question concerning the proxy now. Can I just enter a random proxy server from the web lets say from the same country and not do any of the steps you described in your video? Or does that not work and I have to create my own server?
Regards,
Trigs

I'd want to know the answer too, I tried a lot amount of proxies and no one works, so maybe I'm missing something.
Can anyone help me with this?
Thank you!

You should be able to use any proxy server, the video is just a guide for people who dont have a proxy server


Fosspay Tutorial

It'd be cool to see a tutorial considering the guide on the sourcehut page is kinda lacking

Yeah I've set it up a couple times and was thinking about adding it here.
I sort of wanted to make a slimmer equivalent in Go, but there are a lot of little things to get moving together, so Fosspay might be fine. After I port over this site to Hugo I might add it.

Not sure if the developer of fosspay is even still maintaining the thing, so I don't know how good of an idea it is to add it.
Either way, there is a nearly finished draft in the new Hugo site that I might release after some doublechecks.

Added.


OpenAi not supported in Vietnam

This project is extremely simple: it opens https://chat.openai.com/chat in a popup. It does absolutely nothing else (why it exists, beats me; it's basically a bookmark).
So it won't help with OpenAI not being supported in Vietnam.

Thanks for clarifying, @dandv :)


⚠ Bofrost.lu has degraded performance

In 33a46f0, Bofrost.lu (https://www.bofrost.lu) experienced degraded performance:

HTTP code: 200
Response time: 1429 ms

Resolved: Bofrost.lu performance has improved in 8c80b99 after 6 minutes.


Callback to return custom string on MissingTranslationEvent

What steps will reproduce the problem?
$thisMessageIdNotExist = 'xyz';
echo $translator->translate($thisMessageIdIsNotExist);

What do you get?
xyz
What do you want to get?
Oh no, "xyz" is not translated yet!
When event MissingTranslationEvent was triggered I want to return result of my callback not messageId string or fallbackLocale result.
Telegram conversation
Additional info

Q
A

Version
1.0.2

PHP version
8.0

Operating system
KDE Neon

Could be achieved by using result of dispatch() method that returns modified event with the message to format.


Grid distributions

Adds support for grid-based data/computation distributions.

Basic implementation:

[x] Grid distributions, implemented with MPI Cartesian distributions
[x] Descriptors for subset of (distributed) data, implemented with MPI Sub-arrays (see MPI_create_subarray)
[x] Re-destribution of data among different grid distributions

Clean-up, tests, etc.:

[x] Grid distributions
[x] Sub-array descriptors
[x] Data re-distribution

Mostly the PR is good. There are two general comments about it:

with all this generated code, I'm wondering: could we just add some of that stuff to the runtime  and write it as C++ code?
I don't like adding new properties to SDFG that are not relevant to every SDFG. This is more like library properties. We need to discuss how we want them in and why are they relevant to an entire SDFG. (to be clear, I am also not a fan of openmp_sections living in SDFG, we just need a better option as this spams the SDFV view in VSCode)

another minor comment is that the PR should use the existing APIs as much as possible.

Answering both 1 and 2.
There are 3 points of code generation:

dace::distr_types: This is for DaCe Program/SDFG distributed descriptors, where we want code to run on init/deinit. This is code that should be reused and not be tied to a particular instance of a library node. Also, it is code that we do not want to have in the "critical path" of the runtime.
Library nodes: Mainly the Redistribute node; outputs code in the SDFGState subgraph for actual MPI communication.
Runtime dace::comm: Helper methods to be called by the generated code

It is probably possible to move some of the init/deinit code to the runtime (as helper methods). However, this code is heavily customized with (string) replacements. I am not sure it would be nice to have runtime methods where we pass 5 int and 10+ const char[] parameters.


Running SplitClone fails with grpc transport errors

I've run this before a couple of months ago and it seemed to work fine but now I'm unable to run SplitClone without triggering failure. I can't identify the cause.
The intention is to reshard from keyspace/0 (taken from production slaves) to keyspace/-80 and keyspace/80- which are empty and configured ready to take the data.
Environment

CentOS 7
tried with go: versions 1.9 / 1.9.2
Vitess build commit e784ac3db372c4b1dc5a652dae7f64d11bc1ac84

# Merge: 8a5d0b3b1 a7a8ee578
# Author: Alain Jobart<EMAIL_ADDRESS># Date:   Wed Nov 22 07:52:37 2017 -0800
#
#     Merge pull request #3402 from alainjobart/simpletopo
#
#         Simplifying topo implementations.

Servers in environment
$ vtctlclient -server :15999 ListAllTablets cell1
cell1-0000000100 keyspace -80 master db-009:15302 db-009:17201 []
cell1-0000000101 keyspace -80 rdonly db-006:15302 db-006:17201 []
cell1-0000000102 keyspace -80 replica db-004:15302 db-004:17201 []
cell1-0000000200 keyspace 80- master db-005:15302 db-005:17201 []
cell1-0000000201 keyspace 80- rdonly db-007:15302 db-007:17201 []
cell1-0000000202 keyspace 80- replica db-008:15302 db-008:17201 []
cell1-0000000300 lookup 0 master db-002:15300 db-002:17300 []
cell1-0000000301 lookup 0 replica db-002:15301 db-002:17301 []
cell1-0000000302 lookup 0 replica db-002:15302 db-002:17302 []
cell1-0000000303 lookup 0 replica db-002:15303 db-002:17303 []
cell1-0000000304 lookup 0 replica db-002:15304 db-002:17304 []
cell1-0000002997 keyspace 0 rdonly db-997:15201 db-997:3306 []
cell1-0000002998 keyspace 0 replica db-998:15201 db-998:3306 []
cell1-0000002999 keyspace 0 replica db-999:15201 db-999:3306 []

logging of ip addresses
10.aaa.bbb.cc  --> db-002
10.eee.fff.g   --> dns server in /etc/resolve.conf

checking that the tablets are reachable
$ for alias in $(vtctlclient -server :15999 ListAllTablets cell1 | awk '{ print $1 }'); do echo  "$alias: $(if vtctlclient -server :15999 Ping $alias; then echo OK; fi)"; done
cell1-0000000100: OK
cell1-0000000101: OK
cell1-0000000102: OK
cell1-0000000200: OK
cell1-0000000201: OK
cell1-0000000202: OK
cell1-0000000300: OK
cell1-0000000301: OK
cell1-0000000302: OK
cell1-0000000303: OK
cell1-0000000304: OK
cell1-0000002997: OK
cell1-0000002998: OK
cell1-0000002999: OK

Anonymisation
The following have been anonymised as consistently as possible

paths
hostnames and ip addresses
keyspace names

The log file will be attached separately.
Any thoughts on what I'm doing wrong would be most appreciated.

splitclone.log
Uploaded log file showing failed SplitClone run

This is a known issue in master. It's a regression from upgrading to gRPC 1.7.1. If you instead grab a build from b9599f4a06dc831ab826e166b23eff0a27c7b97a it works better. Unfortunately this version doesn't build because of an old ZK version. You have to bump it up in bootstrap.sh: zk_ver=3.4.11

hm. ok. I'll try and see if I can figure this out next week with Sougou. I'd prefer not to backout of the latest vitess codebase and work with an older version of grpc if that works. Let's see the best way forward next week then.

This is a different variation of #3401. So, let's keep this open because the fix will need to be done at a different place.
As for the grpc spam, it's normal and expected. You'll see those even if things are working fine. It's an unfortunate decision we had to make (enabling grpc logging), because the grpc API does not return underlying errors to the caller: https://github.com/grpc/grpc-go/issues/1633.
FTR, This was the actual failure:
E1124 09:34:12.602199   32851 vtworker.go:98] online clone() failed: failed to split table into chunks: Cannot determine MIN and MAX of the first primary key column. ExecuteFetchAsApp: rpc error: code = Unavailable desc = grpc: the connection is unavailable

I'm fine keeping this open and was able to determine the actual problem. I just haven't been able to determine where in the grpc code this is broken etc. Please let me know if I can help debug this further or any suggestions you have to make progress resolving this.

I tried bumping the grpc version up to 1.7.2 (and remove $VTROOT/dist/grpc`) to see if that would help but it doesn't. I get the same error.

@sjmudd Looking at the code here: https://github.com/youtube/vitess/blob/master/go/vt/worker/chunk.go#L95. I think all you need to do is set a higher value for remote_actions_timeout.
I was going to add retries here, but setting a higher timeout should essentially do the same thing because grpc should retry. The default value is 1min. Can you try increasing to something higher?

I don't understand that.
The failure happens immediately (within a second) so it never gets to 1 minute. My logging shows this quite clearly.  So I do not think that adjusting that setting is going to make a difference.

It looks like extensive work is going on in grpc for retries. See the proposal here: https://github.com/grpc/proposal/blob/master/A6-client-retries.md.
Until then, can you try this small patch? I think this will make grpc retry if a connection is not ready: https://github.com/sougou/vitess/tree/grpc.

Also, if it doesn't work for 1.7.1, can you try upgrading to the 1.8.0 release (along with this patch). They seem to have added some additional retry logic in this latest release.


fix: texture bounds on atlas with spacing

When an atlas texture had spacing the column calculation and sprite offsets were not being calculated correctly.
This patch fixes the math required to correctly calculate the texture bounds for the tile in the atlas on Square tile maps.

Can we add an example so we can properly test this in the future? I think just adding a new example with a new texture that has 1 pixel of spacing around the existing square tiles should be enough.


Incompatible with other jwt libraries

I am having trouble getting tokens to validate across libraries. If I do not set a secret then validation, however, with a secret used there seems to be a compatibility issue between jwt libraries.
Example, if you create a signed token with node-jwt-async and then paste the token and secret into either of the following online JWT decoding sites they both fail to validate with a given secret phrase...
http://kjur.github.io/jsjws/tool_jwt.html
https://jwt.io/
I haven't dug deeper yet but it appears to only be an issue with the secret phrase.

I dug deeper and found the problem. The result returned by the crypto HMAC stream and crypto sign stream is a binary string but the JWT.base64urlEncode() ends up treating them as utf-8 strings.
With some minor changes to the encoding I was able to get the library working cross functionally with other JWT libraries. I'll put together a pull request shortly...


Remove list_types.md page

Selected Reviewer: @Kludex

@hramezani conflicts here too. Might be better to make this one big PR with organized commits instead of multiple PRs that lead to conflicts.


Proposal: get rid of dropcss' html parser

Looks like beastcss parses html anyway. And it does it in a more spec-compliant way.
Having dropcss to parse it again is both redundant and error-prone (dropcss cuts quite a number of corners in an attempt to make html parsing fast).
We could probably use a patched dropcss version that receives html AST as an input instead of a raw string.
Any thoughts?

Yes you are right about the redundancy. The AST html of node-html-parser is obviously very different from that of dropcss. I faced this issue and came to the conclusion that the potential speed gain is not worth the work involved. At least for my use-case.
There is a lot of steps in the overall processing. I measured the duration of each step to assert that.
I should do it again and come back with the results for multiple cases (few/many DOM nodes, small/big CSS).
In this way we should have a good overview to determine which step can/should be improved in order to have a significant gain in terms of speed.
An other approach would be the exact opposite of what you proposed. I mean, to get rid of node-html-parser.
PS: Did you use the same beastcss instance for every html processing or did you create a new instance each time you need to process html ?

Well, it's less about speed and more about stability. As you know, dropcss is very sensitive (to the extent of being fragile) to html structure. These are 2 issues I immediately came across just testing with a single page from our project: https://github.com/leeoniya/dropcss/issues/52, https://github.com/leeoniya/dropcss/issues/53 . I imagine there can be more like that.
Actually most of my tests I did with my own custom version of critters. It's quite similar to beastcss - but now I see that you implemented cacheing of parsed css - that's smart! It seems to give 2x boost, comparing to my own naive implementation. Overall around 10x comaring to the original critters

As you know, dropcss is very sensitive (to the extent of being fragile) to html structure. These are 2 issues I immediately came across just testing with a single page from our project: leeoniya/dropcss#52, leeoniya/dropcss#53 . I imagine there can be more like that.

yep, this is certainly something to consider. i wrote dropcss to process the output of a HTML-ified vdom AST and CSS that was generated from JS objects. both of these were SSR use-cases, and the output was expected to be clean. any additions to the lib to handle manually authored or poorly processed HTML and CSS are just niceties. if the input needs to be made nice, then the expectation has always been that it will be pre-processed by html and css parsers or minifiers which are spec-compliant and more tolerant.
fun fact: i did not originally intend to write my own parsers. v0 of dropcss relied on the fastest external libs for everything that i could find at the time [1].

dropcss is an unused CSS cleaner based on Fast HTML Parser, CSSTree and css-select.

while this achieved the thoroughness goals (mostly), the perf was still several factors slower than PurgeCSS, so i decided to try my hand and writing my own parsers :)


[NM]patch samefile method for windows user whos python version under 3.2

ref #133
https://github.com/python/cpython/blob/3.2/Lib/ntpath.py#L20
https://github.com/python/cpython/blob/3.1/Lib/ntpath.py#L19
As links shown above, we could found the samefile method was included since 3.2 on windows.
need to be tested

@halfcrazy can you add a test for this please?

@lxyu It seems travis-ci does not support specify os like windows. It may difficult to write an unit test.
see https://github.com/travis-ci/travis-ci/issues/2320

ok, then have you tested this patch in windows env to make sure it works?

@lxyu I'll test this weekend. LOL

@lxyu This patch works under window7 python2.7


Multi-volume work missing a volume

https://wellcomecollection.org/works/yn8nshmc
has been reported as missing a volume (vol 3), which does appear on OPAC:
https://catalogue.wellcomelibrary.org/record=b3298733

I'm not sure what the underlying issue was, but I see volume 3 there now.


Error While executing

l/cached_train_restaurants_10mio_ep3_128_semeval2014-atsc
Traceback (most recent call last):
File "run_glue.py", line 475, in
main()
File "run_glue.py", line 428, in main
train_dataset = load_and_cache_examples(args, args.task_name, tokenizer, evaluate=False)
File "run_glue.py", line 267, in load_and_cache_examples
all_input_ids = torch.tensor([f.input_ids for f in features], dtype=torch.long)
File "run_glue.py", line 267, in
all_input_ids = torch.tensor([f.input_ids for f in features], dtype=torch.long)
AttributeError: 'list' object has no attribute 'input_ids'

Thanks.
Looking into it...

Hey @gaurav-bothra
I made a fresh install and was able to reproduce your error.
I updated the code and the README section (some packages where also missing in the requirements).
Downstream classification should work now.
Cheers

Thanks @xelda1988 ,
Let me try!


Improve UI for when data source not found / loading (allow removal too)

Should resolve as part of #198


disable torch.nn.init when counting parms in initializing PipelineModule

Disable any function call in torch.nn.init when counting parameters in initializing PipelineModule.
This change can greatly save the launching time of pipeline parallelism, by speeding up parameter partitioning. I have tested it with Llama2 70B, reducing the partition time from 8 minutes to less than 1 second.

@microsoft-github-policy-service agree


Images are not clear. Words are blurry.

🛑 IMPORTANT: You can get your feedback addressed faster if you use the comment section for the article in which you encountered a problem.
Link to article:
Tell us where exactly a problem occurs.
https://docs.microsoft.com/en-us/sql/relational-databases/backup-restore/complete-database-restores-full-recovery-model?view=sql-server-2017
https://docs.microsoft.com/en-us/sql/relational-databases/sql-server-transaction-log-architecture-and-management-guide?view=sql-server-2017
Problem:
What's wrong with the article?
The images embedded in this page and many others are not clear. The words are looking blurry. Please upload clear images. Thanks!

Hi @Powerhelmsman, @MikeRayMSFT,
I just found that the image looks very clear in light background however when I change it to dark, the image turns blurry. I can switch the backgrounds for viewing the images however it will be nice to have the images look crisp in dark background as well. Hopefully you can repro that on your side.
I am copying a screenshot here showing the html inspection and color of the words in image when the background is dark vs light.

Thanks guys!
Mohsin

@mohsin1811 Yes, you are right. the image doesn't work in dark mode. I will let author know.

Thanks! @Powerhelmsman

@rothja The picture in dark mode is still blur.  When can fix it?

@Powerhelmsman @mohsin1811 , So sorry for the unacceptable delay on this issue. I will work on this today. Thank you.

I have a PR submitted that should fix theses (and other) articles when publishing happens today. Thank you!

Trick :
Just take a Screenshot , crop it , re-upload


⚠ Turnos 24x7 has degraded performance

In 46be433, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 4216 ms

Resolved: Turnos 24x7 performance has improved in db05ad2.


render eroor: border in

Description
Render error: border-top, border-left, border-bottom, border-right in  is different.
if i use border-top, it get border for four sides. But if i use border-left , border-right or border-bottom, it can't rendered as expected.
Environment

ios, iphonexs
Broken Example

online editor of Weex
Steps to Reproduce

It works fine for me. http://dotwe.org/vue/539c38f46c2d232009b76e8d6c0ce294

@Hanks10100 i mean using border in  instead of

if u need to use border in scroller, you may need add div as scroller's wrapper.
u can see demo here:http://dotwe.org/vue/1b5c2dd85b197ed683b7038db1bef91d


Importing config in javascript

So my problem is that my config is in ./ as opposed to ./src so I can't simply import it as storybook and other things will consider that a virtual import.
WindiCSS allows you to import your config, but I don't see a way to do that with this plugin, nor is it documented.

wrote a plugin to do this myself.
https://www.npmjs.com/package/vite-plugin-windicss-theme
Still think this should be part of vite-plugin-windicss directly, though


Serial UART deleted as dupplicate?

Seems Serial UART got deleted as may have been duplicate, but seems Both SerialUART and CustomSerialDeviceAccess have both been removed? Is this intenttional?
https://github.com/Microsoft/Windows-iotcore-samples/issues/153
Also 'SerialUART' seems worthy of a separate project amongst the notable others, as its a very common device for most IoT projects.

This has been reverted. Thank you for the heads-up.


focus the repo readme on this OpenZiti-embedded fork

@camotts goals and thinking here included

link the README to the tutorial you wrote
trim down the README so it's more focused on the Ziti use case

@dovholuknf This is an older PR that I sent after you and I talked about changing the main README of this repo to be more focused on the OpenZiti use case.


Implement partial file updates

Source 2 OSX binaries are quite big, it would make sense to only download chunks that changed.

test

I did add checking for existing chunks in existing file, but this approach fails whenever something changes in the file somewhere in the beginning, and everything shifts as a result. I'm not really sure how Steam handles this. Depot downloader doesn't appear to handle this either.

:dragon_face:


Prepare release notes for v2.0.0-beta.2

See generated notes https://gist.github.com/dmcgowan/68f63519848bb0838623f6edf4e8ee28

I guess the notes are generated after you do the tag? I don't see any problems with the commit, but I see the generated notes have v2.0.0-beta.1 in the opening sentences versus beta.2.

@estesp that is just an argument for the release tool, updated


Heads-up: Copy edits

Docs Build status updates of commit f9b3ef3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

mixed-reality-docs/about-this-design-guidance.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


Test against Ruby 2.3.7 2.4.4 2.5.1

Thank you! Sorry for delay (was not sure because of falling specs)


Set default for apiURL

What

Set default for apiURL
Remove envar NGROK_API_ADDR

How
Describe the solution
Breaking Changes

Possibly... this envar is not supported and users should be using the values key anyways. We can mention it in the CHANGELOG nonetheless

#432  👈
main

This stack of pull requests is managed by Graphite. Learn more about stacking.

Join @hjkatz and the rest of your teammates on  Graphite

Merge activity

Sep 16, 11:26 AM EDT: @hjkatz merged this pull request with Graphite.


Playing audio clip at X position

How to start playing audio in a certain position?
I have an AudioSource that is already playing and I need UBA to start playing the audio in the exact position where my AudioSource Clip is
Please can you help me?

You can use the Seek() method to seek to the desired position, it takes position in seconds as the parameter.
So to seek to 15 seconds you would do.
Instance.Play();
Instance.Seek(15);

Do keep in mind that the seek methods adds the seconds instead of moving to it.
For example if the audio playing is already at 15seconds then when you call the seek method it will go to 30seconds

Thank you very much
Em sáb., 16 de nov. de 2019 às 01:43, Faizan Durrani <
<EMAIL_ADDRESS>escreveu:

Do keep in mind that the seek methods adds the seconds instead of moving
to it.
For example if the audio playing is already at 15seconds then when you
call the seek method it will go to 30seconds
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/FaizanDurrani/UnityBackgroundAudio/issues/2?email_source=notifications&email_token=AHTALRFVG2Z23G7N5STSR7LQT46ZLA5CNFSM4JNXOKDKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEEHENXY#issuecomment-554583775,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AHTALRB3G2CJZVBVGMLN7ATQT46ZLANCNFSM4JNXOKDA
.


Add optional drag delay

Adds an option to introduce a delay between the mouseDown event and when mouse movement triggers a drag.  I'm submitting this pull request because in our web application my boss keeps accidentally dragging items when intending to click on them.

This somewhat seems like a solution for my issue described here:
https://github.com/bevacqua/dragula/issues/524

Hi all!. The delay option is not needed because this problem has more predictable solution
https://github.com/bevacqua/dragula/pull/502

That also seems like a good solution.  Either one solves the root problem.

Added @apoterenko's suggestion in latest commit


Wrong background color on hover

On hovering on Let’s create an awesome website button:

background color according to figma design is different as current background color on hover

Current

In figma

Note : Add hacktoberfest label
Assign me I will do it:
Thank you 😃

I was just experimenting with other button designs. I like the current one better. but can you make smooth hover effect?

Like currently when we hover, Button changes in gradient without any transition/animation. I am assigning you to make a smooth transition in the buttons


Signed-off-by: William Albertus Dembo<EMAIL_ADDRESS>

Address #53


Feature request: path_finder

It would be nice to have a path_finder module to calculate an optimal contraction path for a tensornetwork with a specific structure so that this path can be reused for tensornetworks of the same structure.
In this way a lot of computation time can be saved if you want to calculate  tensornetworks of the same structure over and over again and you don't have to compute contraction paths each time as you have to do with the available tn.contractors.
An option in such a path_finder module to specify constant tensors would be nice too, analogous to https://optimized-einsum.readthedocs.io/en/stable/reusing_paths.html

Thanks @olliw94 for the request! This would definitely be nice to have. We have for now added a similar feature to tn.ncon, our contraction routine for tensors. tensornetwork.contractors.custom_path_solvers.ncon_solver allows you to compute the optimal path and reuse it in calls to ncon.  Let me know if this helps!


✨ Adds Log Viewer add-on

Proposed Changes
This PR will add the Lovelace Migration to the beta repository.
Related Issues
N/A


Why are you using the  Basel 2009 model instead of the Basel Face Model 2019?

Wondering why you chose the 2009 model?

Actually, we just simply follow the face model in AD-NeRF, which uses Basel 2009.

yes


to workaround mysql bug #84940

MySQL Server crash possibly introduced in InnoDB statistics calculation
for 5.6.35 . https://bugs.mysql.com/bug.php?id=84940
Before we got new persona xtradb cluster version, we need this fix as
workaround to avoid the crash possibility.

retest

retest

retest

retest

retest


Travis configuration

PR for debugging travis.

Codecov Report

:exclamation: No coverage uploaded for pull request base (develop@fdb8efb). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff             @@
##             develop     #887   +/-   ##
==========================================
  Coverage           ?   33.02%
==========================================
  Files              ?       59
  Lines              ?     5453
  Branches           ?        0
==========================================
  Hits               ?     1801
  Misses             ?     3652
  Partials           ?        0

Continue to review full report at Codecov.

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


3.22

Hello,
I want to write a plugin to add-on. Any suggestion on template/doc to write?
Thank in advanced,

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you all sign our Contributor License Agreement before we can accept your contribution.1 out of 9 committers have signed the CLA.:white_check_mark: alejandrosanchezcabana:x: Rohit Pawar:x: lchen89:x: madhukard:x: zebs97:x: lodimas:x: tucu00:x: hprop:x: adriaaapRohit Pawar seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


Report resource usage

Description
This PR introduces a ResourceMonitor class to measure resource usage (RAM, CPU time, wall time). Additionally, it updates the repository's pull request template to standardize the inclusion of performance and accuracy benchmarking results and make it more descriptive.
Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that causes existing functionality to not work as expected)
[ ] Other (please describe):

Detailed Summary
The primary motivation for this PR is to begin tracking performance to avoid regressions and monitor the evolution of the framework over time. While the repository's tests and CI pipelines test correctness, they do not account for efficiency changes. Additionally, while the tests ensure that wavemap's different map types and measurement integrators are lossless with respect to each other, they do not assess the overall end-to-end accuracy of our reconstruction pipelines.
To address this gap, we have set up a dedicated benchmarking server and extended the evaluation code from our RSS paper. This will allow us to benchmark different wavemap releases against each other and attach updated performance and accuracy results to future PRs.
On a practical level, the code changes in this PR:

Extends the repository's pull request template to be more descriptive and include benchmarking results.
Adds a ResourceMonitor class for measuring CPU time, wall time, and RAM usage during macro-benchmarking.
Reports resource usage stats after processing a dataset using rosbag_processor from wavemap_ros, to make it easier for users to run their own benchmarks.
Adjust wavemap config schemas to resolve false positive validation warnings caused by CLion bug IJPL-63581.

API Changes
List any changes to wavemap's APIs to help users update their code. Write "None" if there are no changes.
C++ API:

Additions

ResourceMonitor class in library/cpp/include/wavemap/core/utils/profile/resource_usage_monitor.h

Refactoring

Header wavemap/core/utils/profiler_interface.h moved to wavemap/core/utils/profile/profiler_interface.h

Python API:

None

ROS1 Interface:

None

Review Notes
We are particularly interested in feedback on the new pull request template.
Testing
Automated Tests
Tests have been added for the ResourceMonitor, and extended for the Stopwatch and ThreadPool classes.
Manual Tests
No manual tests were run for this PR, other than the benchmarks below.
Benchmarks
A benchmarking server has been set up with the following specifications:

CPU: Intel i9-9900K (8 cores, 16 threads)
GPU: Not relevant
RAM: 32GB DDR4 at 3200 MHz
OS: Debian 12
API: C++ and ROS1
Installation: local catkin

To ensure accurate results, we run the benchmarks with no other jobs active and allow the server to cool down between each run. The server is liquid-cooled with its CPU power profile set to performance. The CPU frequency varies depending on each framework's load, which we consider representative of real-world use, but generally ranges from 4.8 to 5GHz.
The same custom data loader, based on wavemap_ros's rosbag_processor, is used for all frameworks. To ensure fairness, we tried to keep the settings of each framework as consistent as possible (e.g., voxel sizes, perception ranges, calibrations). In terms of datasets, we use Newer College multi-cam's cloister sequence and Panoptic Mapping's run1. For more details on the evaluation procedure and metrics, please refer to our RSS paper.
Resource usage
Newer College 20cm

Framework
RAM (MB)
Map size (MB)
CPU time (s)
Wall time (s)

supereight2
249.25
102.80
455.87
59.74

octomap
198.49
19.82
688.71
709.99

voxblox
279.07
63.25
219.13
40.06

ours (beams)
153.31
13.80
92.30
41.38

ours (rays)
148.70
13.17
69.18
35.52

Newer College 5cm

Framework
RAM (MB)
Map size (MB)
CPU time (s)
Wall time (s)

supereight2
2842.90
2225.81
3276.71
390.95

octomap
14067.15
935.58
36252.70
35790.60

voxblox
3643.60
2253.13
1717.05
142.29

ours (beams)
871.07
576.56
2384.99
194.63

ours (rays)
826.55
409.39
1152.18
113.68

Panoptic Flat 5cm

Framework
RAM (MB)
Map size (MB)
CPU time (s)
Wall time (s)

supereight2
158.82
43.96
26.85
3.64

octomap
158.55
6.19
130.32
129.00

voxblox
260.06
35.19
63.14
8.98

ours (beams)
122.03
6.44
6.42
3.59

ours (rays)
124.53
7.10
4.32
3.02

Panoptic Flat 2cm

Framework
RAM (MB)
Map size (MB)
CPU time (s)
Wall time (s)

supereight2
443.50
271.86
46.04
5.87

octomap
6057.02
48.58
773.16
763.39

voxblox
670.52
332.02
237.53
21.37

ours (beams)
269.81
58.44
53.78
7.79

ours (rays)
261.01
61.94
25.02
4.92

Area under ROC curve
Newer College 20cm

Framework
ROC AUC

supereight2
0.87

octomap
0.82

voxblox
0.92

ours (beams)
0.91

ours (rays)
0.91

Newer College 5cm

Framework
ROC AUC

supereight2
0.89

octomap
0.90

voxblox
0.97

ours (beams)
0.97

ours (rays)
0.96

Panoptic Flat 5cm

Framework
ROC AUC

supereight2
0.93

octomap
0.95

voxblox
0.99

ours (beams)
0.99

ours (rays)
0.99

Panoptic Flat 2cm

Framework
ROC AUC

supereight2
0.95

octomap
0.99

voxblox
1.00

ours (beams)
1.00

ours (rays)
1.00

Accuracy over distance

Checklist
General

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated tests as required
[x] Any required changes in dependencies have been committed and pushed

Documentation (where applicable)

[x] I have updated the installation instructions (in docs/pages/installation)
[x] I have updated the code's inline API documentation (e.g., docstrings)
[x] I have updated the parameter documentation (in docs/pages/parameters)
[x] I have updated/extended the tutorials (in docs/pages/tutorials)

Looks good overall to me, think once the code to prevent it causing compile errors on non-linux systems is in we're good. Maybe adding the "summary generator" could be nice for this PR as well.

Looks good overall to me, think once the code to prevent it causing compile errors on non-linux systems is in we're good. Maybe adding the "summary generator" could be nice for this PR as well.

Both features are now available, and I'll highlight them with comments.


Fix typo in bus size in a testbench

I found this problem in the code and fixed it before discovering the pull request.  So it has been done, but thanks!


Migrating patchpatchPluginXml.changeNotes property to 1.0 in Groovy code?

I was using the plugin in 0.7.3 and used the following syntax, however migrating to 1.0 this doesn't work anymore.
changeNotes = {
                Jsoup.parse(file('build/docs/CHANGELOG.html').getText('UTF-8'))
                        .select("#releasenotes")
                        .get(0)
                        .nextElementSibling()
                        .children()
                        .stream()
                        .map { e ->
                            e.html().replaceAll('\\(preview, available from GitHub releases\\)', '')
                                    .replaceAll('#([0-9]+)', '#$1')
                            // regex for GitHub user names from https://github.com/shinnn/github-username-regex
                                    .replaceAll('(?i)@([a-z\\d](?:[a-z\\d]|-(?=[a-z\\d])){0,38})', '@$1')
                        }
                        .collect()
                        .join("\n")
}

The task is now expecting a Property object for this property:
https://github.com/JetBrains/gradle-intellij-plugin/blob/231a7ea4270511b385a70bc71c4f25ecfeb8aa83/src/main/kotlin/org/jetbrains/intellij/tasks/PatchPluginXmlTask.kt#L51-L53
Although I don't quite get how to do that with the groovy DSL. The migration guide only gives Kotlin DSL example.
Using changeNotes({ "a".repeat(2) }) raises the following :
A problem occurred evaluating root project 'jd-intellij'.
> No signature of method: build_8h1qj0kzsdfx7b5wv4gh8bj8n.patchPluginXml() is applicable for argument types: (build_8h1qj0kzsdfx7b5wv4gh8bj8n$_run_closure6) values: [build_8h1qj0kzsdfx7b5wv4gh8bj8n$_run_closure6@5985014]

And due the changeNotes being a Property I cannot perform that operation in a doLast block
This is somewhat similar to #677

@bric3 Thanks for asking!
In the migration guide, we've mentioned:

Using the Gradle Changelog Plugin requires delaying of the changelog.getLatest() method invocation to make its output available for the patchPluginXml.changeNotes property. Now it is available to use the built-in Provider from the Gradle API.

That applies also to your case and Gradle as well. Try with:
changeNotes = provider {
  ...
}

The gradle documentation on lazy init is barely mentioning this very important API I found this API in their map example via providers.provider({ ... }).
Since the example are in Kotlin I assumed that provider was specific to Kotlin DSL (just as closure is).
I am neither a Groovy/ Gradle or Kotlin expert, I think the migration guide could be a bit more explicit in this matter and offer  groovy based DSL example as well.
Regardless it works. Thanks a lot.

Thanks for pointing it out, I'll update the guide page!

@hsz Cool thank you !

@hsz By the way I also noticed a small difference with untilBuild.  Before 1.0 setting untilBuild to null (untilBuild null), had the effect to not output the until-build attribute in plugin.xml; with 1.0 setting it to null (untilBuild = null), does not have this effect.
https://github.com/JetBrains/gradle-intellij-plugin/blob/cc1f4672d7e5762e0439ceb1d90089c312f45a0d/src/main/kotlin/org/jetbrains/intellij/tasks/PatchPluginXmlTask.kt#L72-L74
In order to disable until-build output one has to write untilBuild = providers.provider({ null }). Maybe there's a simpler way.

@bric3 thank you so much, this finally worked!


pyconv

can you tell me how to use this pyconv in shufflenetv2 blocks?thanks
dw
when i use this       PyConv2(oup_inc, oup_inc, pyconv_kernels=[3,5],stride=stride,pyconv_groups=[1,4]),
to replace      nn.Conv2d(oup_inc, oup_inc, 3, stride, 1, groups=oup_inc, bias=False),
error is
raise ValueError('in_channels must be divisible by groups')
ValueError: in_channels must be divisible by groups
can you tell me the reason?

The reason is one of the grouped convolution requirements: the number of input feature maps must be divisible by the choose groups. We shortly addressed this aspect in our paper (https://arxiv.org/pdf/2006.11538.pdf).
For instance, if you want to use the grouped convolution:
nn.Conv2d(in_channels=69, out_channels=64, kernel_size=3, padding=1, groups=4, bias=False)
it will give you the same error, as the number of input feature maps (69) is not divisible by the number of groups (4).
Similarly, the number of output feature maps should be divisible by the groups, for instance:
nn.Conv2d(in_channels=64, out_channels=73, kernel_size=3, padding=1, groups=2, bias=False)
it will give you also an error as the number of output feature maps (73) is not divisible by the number of groups (2).
So, when using our PyConv, you need to pay attention to the number input/output feature maps and also the the groups for each pyramid level (this becomes straight forward when all three (groups, input and output feature maps) are a power of 2).

thanks!


Add Clear Search Option to clear search

Is your feature request related to a problem? Please describe.
As the search is getting stored, so the user might want to clear stored search, instead of disabling the whole feature.
Describe the solution you'd like
Add a clear search icon to clear the search
Additional context
PS:: I want to work on it.
@makkoncept  Please Review

@AmanR28 Looks like a good idea! This was actually the main reason why the option to toggle off the search in localstorage is needed, because some users might want to start a fresh session when they open the extension.
An icon that would clear the search, both from the UI and the localStorage, would be a good addition.
I suppose we need to merge #119 before you can work on this (?). A lot is happening in that PR. I would test and review it soon.

I suppose we need to merge #119 before you can work on this (?). A lot is happening in that PR. I would test and review it soon.

They might be independent.

Okay :+1:


Cut release v0.24.5

What's Changed

So many bug fixes from the whole team
KCL: add polar function to standard library by Jess (#3158)
KCL: add int function to standard library by Jon (#3116)
KCL: add assert family of functions to standard library by Paul
Tag functions no longer need their sketch as an arg thanks to Jess (#3143)

Full Changelog: https://github.com/KittyCAD/modeling-app/compare/v0.24.4...v0.24.5

Smoke tests on mac and windows feel good, merging


go_1_21: install go.env

Description of changes
fix build error: "GOPROXY list is not the empty string, but contains no entries"
see: https://github.com/golang/go/issues/57179

Things done

Built on platform(s)

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

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

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

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

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

[ ] Fits CONTRIBUTING.md.

Thanks!


locale: format dates to match locale of page

Checklist

[x] npm test passes
[ ] documentation is changed or added (if applicable)
[ ] permission has been obtained to add new logo (if applicable)
[x] contribution guidelines followed here

@karianna updated PTAL

Too bad that useI18next only knows "en" and not "en-GB" so my dates have gone all American!


Hello, I would like to ask, why is there such a big gap between the models trained by the focal loss of the cuda version and the pytorch version?

Could you provide the results and implementations of the two models? Usually, a small fluctuation is normal in the deep learning model.

This is the non_cuda focal_loss
def py_sigmoid_focal_loss(pred,  # tensor(n,cls_out_channels)
target,  # (n,)
weight=None,  #(n,)
gamma=2.0,
alpha=0.25,
reduction='mean',
avg_factor=None):
pred_sigmoid = pred.sigmoid()
target = target.type_as(pred)
pt = (1-pred_sigmoid) * target + pred_sigmoid * (1-target)
focal_weight = (alpha * target + (1-alpha)*(1-target))*pt.pow(gamma)  # focal_loss权重
loss = F.binary_cross_entropy_with_logits(pred, target, reduction='none') * focal_weight
if weight is not None:
weight = weight.view(-1, 1)
loss = weight_reduce_loss(loss, weight, reduction, avg_factor)
return loss
@LOSSES.register_module()
class FocalLoss(nn.Module):
def init(self,
use_sigmoid=True,
gamma=2.0,
alpha=0.25,
reduction='mean',
loss_weight=1.0):
# 为True表示已经经过sigmoid计算，直接计算loss;否则，要先进行sigmoid，再计算loss
super(FocalLoss, self).init()
assert use_sigmoid is True, 'Only sigmoid focal loss supported now'
self.use_sigmoid = use_sigmoid
self.gamma = gamma
self.alpha = alpha
self.reduction = reduction
self.loss_weight = loss_weight
def forward(self,
            pred,
            target,
            weight=None,
            avg_factor=None,
            reduction_override=None):
    assert reduction_override in (None, 'none', 'mean', 'sum')
    reduction = (reduction_override if reduction_override else self.reduction)
    if self.use_sigmoid:
        num_classes = pred.size(1)
        target = F.one_hot(target, num_classes=num_classes + 1)
        target = target[:, :num_classes]
        loss_cls = self.loss_weight * py_sigmoid_focal_loss(
            pred,
            target,
            weight,
            gamma=self.gamma,
            alpha=self.alpha,
            reduction=reduction,
            avg_factor=avg_factor)
    else:
        raise NotImplementedError
    return loss_cls

The non_cuda focal loss:
import torch.nn.functional as F
import torch.nn as nn
from ..registry import LOSSES
from .utils import weight_reduce_loss
def py_sigmoid_focal_loss(pred,  # tensor(n,cls_out_channels)
target,  # (n,)
weight=None,  #(n,)
gamma=2.0,
alpha=0.25,
reduction='mean',
avg_factor=None):
pred_sigmoid = pred.sigmoid()
target = target.type_as(pred)
pt = (1-pred_sigmoid) * target + pred_sigmoid * (1-target)
focal_weight = (alpha * target + (1-alpha)*(1-target))*pt.pow(gamma)
loss = F.binary_cross_entropy_with_logits(pred, target, reduction='none') * focal_weight
if weight is not None:
weight = weight.view(-1, 1)
loss = weight_reduce_loss(loss, weight, reduction, avg_factor)
return loss
@LOSSES.register_module()
class FocalLoss(nn.Module):
def init(self,
use_sigmoid=True,
gamma=2.0,
alpha=0.25,
reduction='mean',
loss_weight=1.0):
super(FocalLoss, self).init()
assert use_sigmoid is True, 'Only sigmoid focal loss supported now'
self.use_sigmoid = use_sigmoid
self.gamma = gamma
self.alpha = alpha
self.reduction = reduction
self.loss_weight = loss_weight
def forward(self,
            pred,
            target,
            weight=None,
            avg_factor=None,
            reduction_override=None):
    assert reduction_override in (None, 'none', 'mean', 'sum')
    reduction = (reduction_override if reduction_override else self.reduction)
    if self.use_sigmoid:
        num_classes = pred.size(1)
        target = F.one_hot(target, num_classes=num_classes + 1)
        target = target[:, :num_classes]
        loss_cls = self.loss_weight * py_sigmoid_focal_loss(
            pred,
            target,
            weight,
            gamma=self.gamma,
            alpha=self.alpha,
            reduction=reduction,
            avg_factor=avg_factor)
    else:
        raise NotImplementedError
    return loss_cls

The cuda version of focal loss, I directly call the official implementation of focal loss.

I have tested py_sigmoid_focal_loss on COCO dataset. The results look normal. I consider the fluctuation is caused by the dataset. The results may face a large fluctuation when the dataset is small.


Error: Cannot find definition for package zstd.

I get this error with the latest vcpkg (commit: def997b9dd562b31e1648e165fce4d1091621970)
Error: Cannot find definition for package zstd. Both on Windows and Ubuntu. E.g. when doing vcpkg upgrade or installing say boost-property-tree.

Sorry, looks like I needed to re-build the vcpkg executable with bootstrap-vcpkg. It was 4 months old.


Feature/correct ssr map

Thanks @vlach1989 .
@tmdmc what is your opinion? There is still possibility to fake window on server, but I did not try it.

SSR was resolved my mocking window, document and navigator object.


1.2.0 is missing from download page

Expected Behavior
1.2.0 should be on http://stellar.cct.lsu.edu/downloads/
Actual Behavior
Only 1.1.0 is there
Steps to Reproduce the Problem

Go to the page
Read

Specifications
This page is use for https://release-monitoring.org/project/18314/ to inform Fedora of updates.

It simply hasn't been updated yet. With Thanksgiving it may take until next week until it's updated. 1.2.0 is on this download page though. You could presumably also use the GitHub release page for this?
@hkaiser @aserio, this may be a topic for another day and may have political reasons, but is it really necessary for the two nearly identical sites stellar.cct.lsu.edu and stellar-group.org to exist? It has caused confusion to me in the past, and I imagine users looking for HPX would be wondering which one they should be using.

Ok, I changed  https://release-monitoring.org/project/18314/  to use http://stellar-group.org/libraries/hpx/downloads/ instead. The reason to not use GitHub is mainly that I don't want rc releases to be pulled.


Improved Provider Handling

From @JordanEllis6809 on June 13, 2018 14:59
Currently we're using a localhost provider. We should also be able to support MetaMask as a provider. Allowing the user to choose through a settings menu would be nice.
Others would be nice (like public full nodes, or a local node), but for the hackathon we could require MetaMask.
Here's an example implementation:
https://dev.to/yukkurisinai/using-metamask-as-web3js-provider-2do4
Copied from original issue: JingyuZ/GithubColony#18

From @JordanEllis6809 on June 13, 2018 14:59
https://web3js.readthedocs.io/en/1.0/web3.html#providers

Closed by https://github.com/colonyportal/GithubColony/commit/40a4ef37766be8b434c465f9ac11ff3ac90146cc

Closed by https://github.com/colonyportal/GithubColony/commit/40a4ef37766be8b434c465f9ac11ff3ac90146cc


Data Viewer displays small floating-point numbers as 0

Applies To

[X] Notebooks (.ipynb files)
[ ] Interactive Window and/or Cell Scripts (.py files with #%% markers)

What happened?
Create variable in a .ipynb notebook
a = np.zeros((10,10)) + 1e-11

and show a in the Data Viewer:

It appears that numbers larger than or equal to 1e-10 are displayed correctly:

but numbers smaller than 5e-11 replaced with 0. Numbers between 5e-11 and 1e-10 are rounded to 1e-10.
Is this a bug or the intended behavior? I couldn't find any information on this.
VS Code Version
1.71.1
Jupyter Extension Version
v2022.8.1002431955
Jupyter logs
No response
Coding Language and Runtime Version
Python 3.9.12
Language Extension Version (if applicable)
v2022.14.0
Anaconda Version (if applicable)
conda 4.12.0
Running Jupyter locally or remotely?
Local

plugin Excel Viewer in vscode has same behavior as described above.
https://marketplace.visualstudio.com/items?itemName=GrapeCity.gc-excelviewer

closing as the jupyter data viewer was deprecated https://github.com/microsoft/vscode-jupyter/issues/15486


[feature request] Add wavelet synchrosqueezed transform to SciPy

Is anyone savvy enough to add the new Wavelet Synchrosqueezed Transform (wsst) (including inverse iwsst) to SciPy?
WSST has recently been implemented in MATLAB (R2016a): https://au.mathworks.com/help/wavelet/ref/wsst.html
The method is based on these two papers:

I. Daubechies, I., J. Lu, and H. T. Wu. "Synchrosqueezed Wavelet Transforms: an Empricial Mode Decomposition-like Tool", Applied and Computational Harmonic Analysis. Vol. 30(2), pp. 243–261.
Thakur, G., E. Brevdo, N. S. Fučkar, and H. T. Wu. "The Synchrosqueezing algorithm for time-varying spectral analysis: robustness properties and new paleoclimate applications." Signal Processing. Vol. 93, pp. 1079–1094.

The second one contains the algorithm and is available from arxiv.
I have used this method a few times for research projects and it is fantastic! However, I am new to Python, so am unable to implement this (just yet). Availability of wsst/iwsst in SciPy would convince me to give up Matlab for good.
Many thanks for considering :)

Seems interesting. It's out of scope for SciPy though, should go into PyWavelets. I'll open an enhancement request there and Cc you on it.


Plugins: create XpUpdater plugin

moves the CML plugin to a new XpUpdater plugin
and includes TempleOSRS as another site to
send xp updates to

added in 553e56862927f8591fd37ad3e86425e640b23eaf


Fixing issue #1 and other items.

New functionality, cleanup, and fixing issue #1.

Closing due to bugs found.


CommandItem components inside options.map doesn't get rerendered when changing options dynamically

I tried to implement lazyloading by requesting data from BE upon typing in the search input
new data doesn't get rendered until i close the popover and reopen it

I don't quite understand what exactly isn't working, can you provide me an example?

@sersavan Check this video
https://drive.google.com/file/d/17LO-pm7hLUdiEGrdV2HEo5bDw5txBQPC/view?usp=sharing


"RRULE:" is missing

It seems that lib-recur is missing substring "RRULE:" before any recurrent rule as in rfc5545 doc

That's by intention. The RRULE: string is not part of the actual recurrence rule. It's the name (including the delimiter char :) of the icalendar property that holds the recurrence rules of an event (or task). A properly layered icalendar library will return RRULE as the key and the actual rrule string (without RRULE:) as the value of that property.
This library essentially supports the RECUR value type as specified in RFC 5545, section 3.3.10, hence the name.
I know that the Goole rfc 2445 library accepts (or maybe even requires) this part, but in my opinion this is a bug (or design error, if you will).


models not showing \ refreshing

I'm only seeing 4-5 models in my dropdown, despite having many:
$ ollama ls
NAME                                  ID              SIZE      MODIFIED
dtweet:latest                         6d226a1a5fc3    8.5 GB    4 hours ago
quotes:latest                         7f3096f2ad3c    3.4 GB    6 days ago
l32quote:latest                       f6545d591188    6.4 GB    7 days ago
yi9:latest                            c90a8c8ee786    9.4 GB    9 days ago
nemb:latest                           eb582a1e8585    13 GB     12 days ago
sdate:latest                          8dd8b7e2a7f1    7.7 GB    4 weeks ago
cognitivetech/obook_title:q4_k_m      2a04e6d9f242    4.4 GB    5 weeks ago
cognitivetech/obook_summary:q5_k_m    19cc9e3d018e    5.1 GB    5 weeks ago
mtitle:latest                         163c12795997    5.9 GB    6 weeks ago
gemma2:latest                         ca5f76641a2a    5.2 GB    7 weeks ago
nem:latest                            b424d68f6973    13 GB     3 months ago
hermes3:latest                        2428bfdb7604    8.5 GB    3 months ago
llm318bI:latest                       aa3c22548b01    8.5 GB    3 months ago
dd8b:latest                           ac24742c8836    8.5 GB    3 months ago
nemo:latest                           35fcd0cd948f    8.7 GB    3 months ago
dolphin:latest                        b231648d14c4    8.5 GB    3 months ago
llm31a:latest                         2cf599fc82db    8.5 GB    3 months ago
mbn:latest                            eb63651f511e    7.7 GB    4 months ago
mq8:latest                            a9133323e68d    7.7 GB    4 months ago
mq83:latest                           5b94b179c8e6    7.7 GB    4 months ago

perhaps because many of mine are manually added... yet the custom models list is empty.
deleting models from ollama doesn't remove them from the list in page_assist... nor does deleting models from page_assist "free up room" to display others...
there should be an option to refresh the list, and ofc I would like access to all of my models, regardless of whether they were downloaded from ollama or not.
thanks!

then I should be able to add one custom for ollama models, too 🤔 yes?

ok, nevermind, this is my fault.
I'm running on a network computer rather than the server, I forgot to enter my server url as base


Can't add Google accounts in Mac

Tried adding my Gmail/Drive/Calendar to Station.  When I go to login to those accounts, it says "Error 400: invalid_request
Missing required parameter: client_id"

Same issue as here: https://github.com/getstation/desktop-app/issues/2

Thanks.


Favicons

Add a favicon for the browser window.
Ideas:
VSCode Icon
Codercom logo
Currently editing file type icon (ex. js, cpp, css)
Ability to interface via extensions (for customizability)

@oonqt I think the Coder logo would be a nice touch

It’d be nice to include iOS app icon (#802) and default to Coder logo, with option for custom icon —there’s a VS Code logo in neon lights that I really like.
@nol166 @code-asher would a PR be helpful? I can put something up later today or tomorrow. Anything else that should be taken into account?

@kylecarbs


request: clientside encryption

I would like to keep a personal log of my tracks but would host any data collection service on an endpoint not under my physical control.  I'd love to be able to put a public key into the app, or set a suitably strong PSK (or a passphrase from which a symmetric encryption key could be derived using a strong time-and-memory-hard PBKDF), so that the updates that go to the server are encrypted in such a way that they cannot be decrypted by the server at all.  Then I could fetch them all later, decrypt them locally on a trusted machine, and analyze them as I wish.

This is a neat idea, but unfortunately the way this app works makes this pretty impractical. The app expects to be able to send a POST request to a URL, it isn't really built around the idea of storing data in a file. I think this would be too big of a change for me to take this on, sorry.

I'm suggesting that you just POST the data up, but POST up encrypted data.  Let the server deal with it as it wishes.

hm, I guess that's the easy way to handle it. I'll reopen and mark as under consideration, but fair warning this isn't high on my priority list.


ValidationObserver with passes

vee-validate: 3.0.3
vue: 2.6.10

I use the 'passes' function, but I pass an argument with the function: passes(save(data))
It throws an error in console:
vee-validate.esm.js?7bb1:1556 Uncaught (in promise) TypeError: cb is not a function
at eval (vee-validate.esm.js?7bb1:1556)

Passes require the callback to be a function, you called it in the template which will not behave as expected.
You could wrap it in an arrow function:
passes(() => save(data))


Website: Resource cards at top of component pages

Task

[ ] Edit the ComponentFooter and SpecLinks component to render the spec links as two Resource cards.
[ ] Place Resource cards at top of page, as 1st item under Anchor links

Useful info: https://gatsby-theme-carbon.vercel.app/components/ResourceCard
Content:
H2 Heading: Resources
Card 1:

Card heading Design specifications
Sketch icon
link to box folder of component

Card 2:

Card heading Functional specifications
Github icon
link to Website Github wiki

Note: Even though Resources is an H2 heading, it doesn't get an anchorlink. It's more of a handy feature (quick dive in) than part of the chronological structure of the page. This was a decision made with Mike Abbink for IDL and also the Carbon web pages.

Background
This is a "quick win" to make the design specs and functional specs easier to find.
Following the model shown here: https://www.ibm.com/design/language/color
This change would be made across all components.

It's a dev task so returning to To be triaged col for discussion

@ariellalgilmore, thanks for meeting this morning. Here is the mockup of what we talked about this morning. This addition would involve removing both the Design and functional specificationss and Development documentation sections from the page and the anchorlinks. And replacing everything contained in these sections with mini cards.
Just like before, the mini cards would be in the first section called Resources and this H2 would not be included in the anchorlinks.
I decided to go with the React icon for the React card, to leverage that visual recognition. I'm not sure if there is an icon for Web Components, so I just put the Storybook one in there as a placeholder for now.
Let me know if you have any questions!


Create Intro

What type of PR is this? (check all applicable)

[x] Refactor
[ ] Feature
[ ] Bug Fix
[ ] Enhancement
[ ] Documentation Update

What I did

here's my intro

Hi @Mayank0Kansal1
I didn't understand the content of your PR. It appears to be a profile readme file. I guess you created/merged it for the wrong repo instead of your own.
For that reason, I will close it, ok!?


Fix Zshrc link

https://github.com/ChrisTitusTech/ArchTitus/issues/263

@khaneliman
The problem here is that the relative path is in quotes and so it's treated as an absolute path. If you ls -la your home folder, you'll see the symlink is broken due to this.
The only thing that needs changed is:
ln -s "~/zsh/.zshrc" ~/.zshrc -> ln -s ~/zsh/.zshrc ~/.zshrc
Everything else can be left as is

I'm aware, that's why I changed to use $HOME like we do elsewhere to be consistent.


New task runner does not show multiple tasks from old configuration

VSCode Version: Code - Insiders 1.13.0-insider (afe47dc84467b487ce0079ff72f55e7ef4f7ebca, 2017-05-30T10:34:18.253Z)
OS Version: Darwin x64 15.6.0
Extensions: none

Testing #27471
The old task runner offers the two tasks hello and bye to choose from, the new task runner only shows the echo task:
{
  "version": "2.0.0",
  "command": "echo",
  "isShellCommand": true,
  "args": [],
  "showOutput": "always",
  "echoCommand": true,
  "suppressTaskName": true,
  "tasks": [
    {
      "taskName": "hello",
      "args": [
        "Hello World"
      ]
    },
    {
      "taskName": "bye",
      "args": [
        "Good Bye"
      ]
    }
  ]
}

Dups https://github.com/Microsoft/vscode/issues/27548


Create user button not correctly disabled

Context
As an organization owner, the "Create User" button is not correctly disabled. Graphically it is disabled, but you can still click the button:

Steps to Reproduce

Set the number of seats of the organization (both builder and viewer) to the current usage
Try to create a new user

Current Result
Button shows as disabled, but is clickable
Expected result
Button is not clickable
Browser and version
Chrome and Firefox
P.S: This kind of error keeps popping up in different places. Recently, notifications and image export.
cc @xavijam

I just experienced this while testing #12101.

Still an issue. @ivanmalagon @ramiroaznar for priorization (or not)

LGTM!

Deployed! 🚀


Use LLD as a linker

Analysis in #10503 has shown that switching from the GNU linker to LLVM's lld improves build times, especially when building incrementally (where linking is a significant bottleneck).
Hence the linker should be switched.

All PRs merged.

The PR apparently broke seem local builds, and the flag changes have hence been reverted. Re-opening this issue to devise a more adaptative script, using classic GNU linker if LLD is not available.

Turns out, to do this properly i.e. to change build flags dynamically depending on what linker is installed, we need either:

an ugly bash script, which is hard to make available to every subproject given the current setup (including a dune flag with the desired env in several dune files),
the some script, written as OCaml, but we have a similar problem,
native dune rules using bin-available, which is only available in dune > 3.0

The last solution is the more robust one. It's also a good opportunity to upgrade to dune 3, which brings other benefits and shouldn't be too hard.

Below, an example script which could be used to detect linkers. For now, I prefer waiting until dune is upgraded.
#/bin/bash

# This script outputs on stdout what linker flag should be passed to
# GCC's -fuse-ld=X option, depending on the available linkers on the system

# Linkers supported by GCC, from newer/faster to older/more available
possible_linkers=("lld" "gold" "bfd")

# Checks if X or ld.X is available (GCC can detect both)
test_availability () {
  (command -v "ld.$1" &> /dev/null) || (command -v "$1" &> /dev/null)
}

output_flag () {
  echo "-ccopt=-fuse-ld=$1"
}

for linker in "${possible_linkers[@]}"; do
    if test_availability $linker; then
      echo "$linker is available, selecting it." >&2
      output_flag $linker
      exit 0
    else
      echo "$linker is not available..." >&2
    fi
done

# If nothing is found, no flag is outputted, which will select
# the default linker upstream (and this one should always be available).

Now that #10816 is done, #10946 is a PR making use of dune 3 to simply detect available linkers.

Merged!