Add implementation detail for recommend

Add implementation detail for recommend

Codecov Report

Merging #249 (118bd76) into master (5d9a6bf) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #249   +/-   ##
=========================================
  Coverage     75.34%   75.34%
  Complexity      817      817
=========================================
  Files           121      121
  Lines          2288     2288
  Branches        253      253
=========================================
  Hits           1724     1724
  Misses          506      506
  Partials         58       58

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 5d9a6bf...118bd76. Read the comment docs.


Add Rank Graph

This closes #23.
First of all, thanks for any time you're willing to spare to check out this pull request. I know working through another developer's code takes a lot of time and effort, especially when that dev is new to the project.
Advice needed: I've got the rank graph working, with a major caveat. The method I'm using to check for the presence of rankGraph data, which comes back from the KGS API asynchronously, is to have a function in the render method of UserDetailsModal that either creates the graph or displays it if already present, which sometimes generates this warning:
warning.js:36 Warning: setState(...): Cannot update during an existing state transition
(such as within `render` or another component's constructor). Render methods
should be a pure function of props and state; constructor side-effects are an
anti-pattern, but can be moved to `componentWillMount`.

That makes sense, but I'm not sure how else to respond to the API response for the rank graph. The KGS client doesn't seem to have any callback / promise interface. Do you have any advice on what the best way to do this would be?
The other note I'd make is that I've never used Flow before, so I may have made some rather obvious errors in how I've set things up.

Thanks Nate! I may not be able to review this right away, but I'll dig in as soon as I'm able. Screenshot looks perfect :)

No problem at all, Justin--I wanted to get it at least to the point where I could ship it off to you for comment, but now I'm happy to work on other things for a while. 😄

I may be missing something, but can't you move the call to this._createGraph() to the componentDidUpdate() lifecycle method?

Good suggestion, @yishn, thank you! I'm still curious if there's a more specific way of listening for the DETAILS_RANK_GRAPH API response—it seems a little strange to me to have to check the constant stream of updates for this condition every time. But I'm new to the whole setup. :smile:

Thanks for all of your feedback: I'll see if I can make my next PR take less work.
Looks like the primary issue is that I need to test the graph against a wider range of possible data from KGS.
The Flow and other comments all make sense and help me understand the system better. I'll start working on changes asap.

No worries on the amount of work! The main blocker is the graph not always showing correctly. Code quality issues are quick to review plus I'm ok fixing them up myself after merging sometimes. I figured since you may be contributing a lot it was worth going into more depth this round.

I definitely hope to contribute regularly to the project. I don't want to make any promises, of course, but I'm a long-time KGS fan and an as-long fan of Eidogo, so I'd love to help ShinKGS and also, of course, learn a lot from your code and project structure in the process. So the education is appreciated.

Quick thought: https://date-fns.org/ is a nice, modular lib for doing stuff with dates. I'm ok with pulling in a few functions from there in place of moment.

date-fns looks perfect, actually. I tend to get a little lazy about bundle size on some of my personal projects, so it's good to be nudged to be smarter about value / weight. I'll add this tonight.
Sorry to be a little late in responding to your feedback: with all the AlphaGo stuff this week at the National Go Center, it's been uniquely busy. 😄

I've responded to all of the feedback you (generously) left on the PR. The main issue was caused by an embarrassing oversight in my original PR: a failure to add logic to adjust the y-axis on the rank graphs appropriately.

Move rank graph rendering code into UserRankGraph component
(UserRankGraph so it doesn't conflict with RankGraph type)
Switch to date-fns module for date formatting
0 yarn lint errors
Fix logic for setting min/max range on y axis in rank graphs
Add logic to adjust for different time spans of data. Some users have
less than a month's worth
Account for data that's too large / small to be real. Not sure why
KGS's API has random absurd data, but it's the reason rank graphs
sometimes have empty sections in them
Fix logic in render function that set tab to game summaries if bio
wasn't present

You have a stray console.log call in UserRankGraph.js line 34
😊

Could we show a "No rank graph available" type message when there's no data returned? E.g. for unranked users.

Good idea!

Merged! Thanks so much! This will go into the next release (hopefully within the next week or so)

Sweet! Thanks again for your help getting it shaped up.


[add-resource] New Plugin: logger-channels

I would like to add my new plugin to the Grav Repository.
Here are the project details: https://github.com/stephan-strate/grav-plugin-logger-channels

Added to GPM for next update


create a npm package

a npm package fort the project would be really useful

you're in luck!
https://www.npmjs.com/package/reallysimple


Explicitly choose between config merging and clobbering configuration

At present, it seems from conversations with @rowanc1 and @fwkoch that we're selecting an extension policy for each particular key in myst.yml.
I wonder if it would be nice to have a user-facing control mechanism for this, e.g.
site:
   options:
      extend: merge

I don't think this should be done at the config level, but rather per config-section. Thoughts?

Hmm, I don't love that either - how do you merge multiple configs? This needs more thought.


Update for wallabag 2

Download the archive with all libs already fetched
Update the install msg to fit to wallabag v2
Move the configuration file in /etc/webapps/wallabag
WARNING: User needs to follow the migration steps before upgrading from wallabag v1 to v2: http://doc.wallabag.org/en/master/user/migration.html

Sorry, the optional dependencies were not correct, I've fixed it. The commit is squashed with the old one and I pushed -f.

Thanks!
You might want to pull my last commit too, there was an issue with wrong tabulations. Sorry about that :(


[#4702] ASM version update

#4702
ASM 6.2.1 version.

Codecov Report

Merging #4703 into master will increase coverage by 0.19%.
The diff coverage is n/a.

@@            Coverage Diff            @@
##           master   #4703      +/-   ##
=========================================
+ Coverage    40.2%   40.4%   +0.19%
=========================================
  Files        2559    2575      +16
  Lines       77826   78371     +545
  Branches    10638   10644       +6
=========================================
+ Hits        31292   31662     +370
- Misses      43627   43823     +196
+ Partials     2907    2886      -21

Impacted Files
Coverage Δ

...rp/pinpoint/profiler/sender/LoggingDataSender.java
0% <0%> (-55%)
:arrow_down:

...pinpoint/profiler/context/storage/SpanStorage.java
0% <0%> (-50%)
:arrow_down:

...om/navercorp/pinpoint/io/request/EmptyMessage.java
0% <0%> (-50%)
:arrow_down:

.../io/ChunkHeaderBufferedTBaseSerializerFactory.java
0% <0%> (-50%)
:arrow_down:

...r/datasource/DefaultDataSourceMetricCollector.java
23.8% <0%> (-42.86%)
:arrow_down:

...t/profiler/context/storage/SpanStorageFactory.java
0% <0%> (-33.34%)
:arrow_down:

...itor/metric/gc/GarbageCollectorMetricSnapshot.java
77.77% <0%> (-22.23%)
:arrow_down:

...corp/pinpoint/profiler/context/DefaultAsyncId.java
33.33% <0%> (-16.67%)
:arrow_down:

...er/monitor/metric/memory/MemoryMetricSnapshot.java
86.66% <0%> (-13.34%)
:arrow_down:

...rp/pinpoint/profiler/context/id/DefaultShared.java
40% <0%> (-13.34%)
:arrow_down:

... and 198 more

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 f95a87b...db27e2b. Read the comment docs.


Setting up SSL to Cloud SQL (Postgres)

System information:

Operating system (distribution) and version : Ubuntu 18.10
DBeaver version : 5.3.4
Java version : open_jdk 1.8_191
Additional extensions

Connection specification:

Database name and version : Google Cloud SQL - PostgreSQL
Driver name : postgresql?
Do you use tunnels or proxies (SSH, SOCKS, etc)? SSL

Describe the problem you're observing:
I have used the files (server/client/client-key) created  by Google and this all works in pgAdmin4 and psql via a proxy
Steps to reproduce, if exist:
Trying to connect shows the following message :
"FATAL: connection requires a valid client certificate"
Some information as to why it is invalid might able me to solve the problem myself in case it is a setup issue.
Include any warning/errors/backtraces from the logs

Please, read and verify your SSL crt file by OpenSSL or analog. Example for reading
openssl x509 -in /etc/ssl/certs/client.crt -text -noout
so must be equal your components, for example
openssl x509 -noout -modulus -in /etc/ssl/certs/client.crt | md5sum
and
openssl rsa -noout -modulus -in /etc/ssl/certs/client.key | md5sum

I have done as you suggested by converting the pem's to .crt and .key and validated them but still the same error.
I have tried putting the files in /etc/ssl/certs but it makes no difference.
Any other ideas?

In any cloud SSL services CommonName field in crt must be equal to user′s name.
So, "for reading openssl x509 -in /etc/ssl/certs/client.crt -text -noout" means, that you can read  dates for crt.  If your crt yet not valid?
openssl x509 -in /etc/ssl/certs/client.crt -noout -dates
Note: if it′s only jdbc, address of crt/key/... is′t success factor at all.

Dates are valid. postgres is the name of the certificate I created on Google Cloud SQL

I have used the same certificates with pgAdmin4 and they work (Google is happy with them). I had to set some  permissions on one of the files to make pgAdmin4 happy tho'
I much prefer dbeaver's interface so I'm hoping we can get this to work.

I think the problem was in permissions (mode) of key file. It must be not readable for group and other. For example chmod 700 file.key or chmod 700 file.key.

I have tried 500 600 and 700 on the key file but no difference. Is there no debug output somewhere that can be seen to find out why it thinks the certificate is invalid. I am assuming the problem is ith dbeaver not google?

Yes, i think it's problem with SSL java classes in dbeaver.
Base example of SSL connection to PostgreSQL use psql. I think, you can read diagnostic messages from psql terminal. I always test connection with psql and this conditions

DER key
Valid certificate by dates
key have no permissions to other users (group and other).

You can construct base example from my case (See p. 830, https://www.postgresql.org/files/documentation/pdf/11/postgresql-11-A4.pdf). Please, modify for Your situation.
echo "SELECT now();" | PGHOST="$cloud_serv" PGPORT=5432 PGDATABASE="试用数据库" PGUSER="王莉" PGAPPNAME="psql test" PGSSLMODE="require" PGSSLCERT="/home/pgcloud/王莉.crt" PGSSLKEY="/home/pgcloud/王莉.der" PGSSLROOTCERT="/home/pgcloud/AWS.crt" ;
The right answer is server's time.


Improved Docs

Seems to be Hacktoberfest spam. 😞

Seems to be Hacktoberfest spam. 😞

Yeah plz verify it

@agarrharr

@agarrharr you need to add the invalid or spam label for the PR to not be counted towards Hacktoberfest. (They have now changed the mechanism to be opt-in, but PRs created before that are not subject to the new rules.)


Modernize Build Stack

It has been a while since this project was created. It relies on partially outdated technology, which should be updated.
Ideas:

Esbuild?! - but seems that no IIFE is possible out of the box
Use pnpm
Use turborepo
Modernized Typedoc?! - are there alternatives to typedoc.org

done


Updating Jenkins lib version from previously 20211123 to 1.0.0

Signed-off-by: Jeff Lu<EMAIL_ADDRESS>Description
Updating Jenkins shared lib version from previously 20211123 to 1.0.0
Updating existing regression files accordingly
Updating tests lib and their regression files
Issues Resolved
This update is to match the lib version with the current tag 1.0.0
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

LGTM but this is going to get annoying quickly. I proposed https://github.com/opensearch-project/opensearch-build-libraries/issues/7 to avoid having to do this every time we release.

LGTM but this is going to get annoying quickly. I proposed #7 to avoid having to do this every time we release.

Hi @dblock , the idea here is each file can have it own version that the file needs to be used. For example, we add some library that will only be used by dashboards. Now only dashboards jenkinsFile will use the new version (1.2.0).
In this way not every jenkinsFile needs to change the version but only the concerned one.


clang-tidy shows usage info

See travis output for https://api.travis-ci.org/v3/job/449990761/log.txt. This happens locally as well if you run make check-clang-tidy. Checks do seem to still happen for the rest of the files.

This is annoying.
Running things manually, it appears that it spits out the usage information, every time we invoke it on libpg_query files, where we've put a clang-tidy configuration that suppresses all checks. Running -list-checks says that "no checks are enabled", which is as intended. As far as I can tell, it is not complaining about the syntax of the clang-tidy configuration.
So, from what I can tell:

it is correctly checking everything desired
it complains about all files in suppressed directories (libpg_query).

Need to find a way to quiet down the spurious complaints.

Confirming that in clang-tidy-6.0, this situation returns 0, i.e. does not result in an error being returned.
In the latest version of the code, this will result in an error (returns 1)

We should talk to @lmwnshn about why we went away from Arrow's approach of invoking clang-tidy from a shell script that greps the results against a blacklist. I seem to remember it suppressed the actual error messages and just gave a vague "clang-tidy found errors" message at the end, but we may need to go down that route if we really need to suppress output.

An alternate to wrapping run-clang-tidy.py with a shell script, is to modify the former. It looks easy.  Run clang-tidy, except when the directory or file is black-listed.
Are there cases where we want to run clang-tidy directly, i.e. without going through the run-clang-tidy.py script?


how do you flatten an xarray?

I got a version of TomAugspurger's Spectral Clustering modified to work with GeoTIFFs http://localhost:8839/notebooks/geo-spectral-geotiff-da.ipynb, and I have been working to modify it to run using xarrays http://localhost:8839/notebooks/geo-spectral-geotiff-xa.ipynb.
I'm currently stuck on getting the xarray flattened/reduced.  I keep getting errors similar to: "TypeError: 'axis' is an invalid keyword argument for this function" no matter what I have tried.  I need to find some way to change the array into nbands x (1 x N).  I have not been able to figure out how to do this via the examples or docs I've read.
Suggestions?  Also if you have other suggestions on how to clean up either example let me know.
Also, these are using publicly available data and will be free to post some place if desired.

I think you are looking for stack:
http://xarray.pydata.org/en/stable/reshaping.html#stack-and-unstack
On Tue, Apr 17, 2018 at 1:01 PM, John (EBo) David<EMAIL_ADDRESS>wrote:

I got a version of TomAugspurger's Spectral Clustering modified to work
with GeoTIFFs http://localhost:8839/notebooks/geo-spectral-
geotiff-da.ipynb, and I have been working to modify it to run using
xarrays http://localhost:8839/notebooks/geo-spectral-geotiff-xa.ipynb.
I'm currently stuck on getting the xarray flattened/reduced. I keep
getting errors similar to: "TypeError: 'axis' is an invalid keyword
argument for this function" no matter what I have tried. I need to find
some way to change the array into nbands x (1 x N). I have not been able to
figure out how to do this via the examples or docs I've read.
Suggestions? Also if you have other suggestions on how to clean up either
example let me know.
Also, these are using publicly available data and will be free to post
some place if desired.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/pydata/xarray/issues/2065, or mute the thread
https://github.com/notifications/unsubscribe-auth/ABJFJsmXNCEBNikb-Ms9Z-iVk9P4V1jqks5tph_wgaJpZM4TYsde
.

Thank you rabernat .  I just tried:
array.stack(z=('x', 'y'))
X
> <xarray.DataArray (band: 3, z: 1647861)>
> dask.array<shape=(3, 1647861), dtype=float64, chunksize=(1, 1647861)>
> Coordinates:
>   * band     (band) int64 1 2 3
>   * z        (z) MultiIndex
>   - x        (z) float64 1.939e+05 1.939e+05 1.939e+05 1.939e+05 1.939e+05 ...
>   - y        (z) float64 4.986e+06 4.985e+06 4.985e+06 4.984e+06 4.984e+06 ...
nX = client.compute(X)

and got the following error:

/home/jldavid3/anaconda3/envs/pangeo/lib/python3.6/site-packages/distributed/worker.py:741: UserWarning: Large object of size 6.61 MB detected in task graph:
([[["('reshape-33c73e5277bff381fea27bc752d60c16',  ... e, None), None)
Consider scattering large objects ahead of time
with client.scatter to reduce scheduler burden and
keep data on workers
future = client.submit(func, big_data)    # bad

big_future = client.scatter(big_data)     # good
future = client.submit(func, big_future)  # good

% (format_bytes(len(b)), s))
distributed.worker - WARNING -  Compute Failed
Function:  _dask_finalize
args:      ([[[array([[ 1.11333953,  0.15302669,  2.30724196, ..., -0.49583333,
-0.31415252,  0.17898109]])], [array([[ 0.2049355 ,  1.32097473, -1.11873895, ..., -0.10651731,
0.69806911,  1.34692913]])], [array([[ 0.59425151, -0.52178773,  0.80188672, ..., -0.83324054,
-0.54774213, -0.15842612]])]]], <function Dataset._dask_postcompute at 0x7fbaded21158>, ([(False, 'band', <xarray.IndexVariable 'band' (band: 3)>
array([1, 2, 3])), (False, 'z', <xarray.IndexVariable 'z' (z: 1647861)>
array([(193899.75, 4985847.0), (193899.75, 4985391.0), (193899.75, 4984935.0),
..., (805851.75, 4427703.0), (805851.75, 4427247.0),
(805851.75, 4426791.0)], dtype=object)), (True, , (<function Variable._dask_finalize at 0x7fbadee159d8>, (<function finalize at 0x7fbaf986e8c8>, (), ('band', 'z'), OrderedDict(), None)))], {'z', 'band'}, {'band': 3, 'z': 1647861}, None, None, None), None)
kwargs:    {}
Exception: KeyError(,)
distributed.scheduler - ERROR - error from worker inproc://<IP_ADDRESS>/2193/2:

Do you have any suggestions?  I will read up more on stack later to see what else I can learn, but do you have any suggestions?  I figure I probably am missing an argument or got something out of order.
Thanks again.

On Apr 21 2018 10:17 PM, Keisuke Fujii wrote:

How about reset_index?
array.stack(z=('x', 'y')).reset_index('z')

Before I left work for the weekend I had tried array.stack(z=('x',
'y')), but I had not come across reset_index yet.  I will give that a
try ASAP.
EBo --

Closing. Please feel free to reopen this if you have an API suggestion.


python.pkgs.faker: lift restrictive dependencies

Motivation for this change
Fixes the test suite
https://github.com/joke2k/faker/issues/970
Things done

[ ] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS)
Built on platform(s)

[ ] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nix-review --run "nix-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Assured whether relevant documentation is up to date
[ ] Fits CONTRIBUTING.md.

nix-review shows two unrelated failures, probably also caused by the recent python package set update (paperless and python37Packages.rl-coach). No time to look into these right now, may do it as a followup.


Update google-cloud-nio to 0.123.5

Updates com.google.cloud:google-cloud-nio from 0.123.3 to 0.123.5.
GitHub Release Notes - Changelog - 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!

Ignore future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "com.google.cloud", artifactId = "google-cloud-nio" } ]

labels: library-update, semver-patch

Superseded by #711.


Should preview mode also contained important rule behavior changes?

FBT001 could be changed to have more positive cases. This will break the current behavior.
Should we include rule behavior changes in the preview mode?

This could introduce a lot of new positives.
Is it possible to have a preview of rules behavior change?

Originally posted by @JonathanPlasse in https://github.com/astral-sh/ruff/issues/7501#issuecomment-1724351749

I believe yes, once we reach 0.1.0 but depends on the change. See the versioning policy proposal.

Technically we don't need to adhere to this until 1.0, but yes, the intent is that significant rule changes (that aren't bug fixes) are gated behind preview, and go out in minor releases. However, there's a carveout for bug fixes (as I said) and changes that adhere to the intent of the rule, so this one is a good test case for that criteria.

Would love to get @zanieb's input next week.

Technically we don't need to adhere to this until 1.0, but yes, the intent is that significant rule changes (that aren't bug fixes) are gated behind preview, and go out in minor releases. However, there's a carveout for bug fixes (as I said) and changes that adhere to the intent of the rule, so this one is a good test case for that criteria.

This should already apply with 0.1.0

Oh sorry, that was a typo.

Yes this sounds great to me and follows the intent of preview. I don't think we need to wait until 0.1.0 to begin using this.


FindWords-4 causes error in webactivity.py

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/sugar3/activity/webactivity.py", line 166, in _app_scheme_cb
    request.finish(Gio.File.new_for_path(path).read(None),
gi.repository.GLib.Error: g-io-error-quark: Error opening file /usr/share/sugar/activities/FindWords.activity/%22activity:/org.sugarlabs.FindWords/activity/icon.svg%22: No such file or directory (1)

Out of curiosity, would there be any other changes required other than copying the latest version of sugar-web Sugarizer to the Sugar repo? According to the architecture described in the README, it is independent and just copying would do?

Sorry for delay, notification was filed in spam.  Yes, that's the general idea.  One would also look for regressions.


Edit: Star Channel 1

Channel ID (required)
StarChannel1.jp
Channel Name
Star Channel
Alternative Names
No response
Network
No response
Owners
Japanext Broadcasting
Country
No response
Subdivision
No response
City
No response
Broadcast Area
No response
Languages
No response
Categories
No response
NSFW
None
Launched
No response
Closed
No response
Replaced By
No response
Website
No response
Logo
https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Star_Channel-Japan.svg/640px-Star_Channel-Japan.svg.png
Notes
Officially merged with Japanext Broadcasting on June 1st, 2024.

Said to move to "BS Japanext / BS10" on January 1st, 2025.
https://www.bs10.jp/


Adapt to new timeframe

2 hours in beginning of day 4. This is the beginning of week 2, so the beginning of the lesson could be used to put everything already done and everything coming up into perspective.
Include break and minimum 10 min for each exercise, consider demos, where applicable; think researcher.

Lesson could start with a look back on git, why did we teach this and what does it enable in terms of reproducibility.

Yes! Creating context with schematic. That's great.

We could also use this one for the overview and add the CodeRefinery lesson titles ?
-> https://heidiseibold.substack.com/p/6-steps-towards-reproducible-research-2fd


@iammukeshm @unchase, Do you think have solution to solve MudBlazor performance problems  in WASM mode

MudBlazor component(table, select) has performance issues when loading a lot of data ( over 200 items)  in the wasm model.
Has anyone else encountered it? Have you applied this framework to a real project?
I asked mudblazor team  and was told that the underlying WASM issues  and it's ok in server-mode

have u consider server side pagination where u load from the server what screen as display?

yes, I have using server-side paging load data.
you try to load over 200 items with a table or select component.

fetch data 40ms,but rending component 20s.
https://user-images.githubusercontent.com/1549611/127496859-f937e97b-9ade-4df3-99b4-ed64ac6b5dd6.mp4

https://user-images.githubusercontent.com/1549611/127499591-40c9230c-4282-42a2-a580-704b8d808bf3.mp4

you can import brands item testing.

These are some of the major issues of WASM, not necessarily MudBlazor. Hope to see some updates on this in 6.0 maybe.

Hi, @neozhu
At the moment, I have not found a solution for this issue. Performance should probably get better after .NET 6 release

But this problem is a bit serious, as far as the current performance is worrying, it is unacceptable for users.
@unchase , You can try importing a few thousand rows of data into the brands table.

please, see the following videos, one is run wasm, the other run server,
https://user-images.githubusercontent.com/1549611/127594309-3198def2-1547-4d38-b867-959dacfdfc84.mp4
https://user-images.githubusercontent.com/1549611/127594313-de8b5c94-bf1d-4b82-a887-e732fcc1d882.mp4

@neozhu is the data rendered at the server or client side? Each Pagination click calls the API?

following code:
@page "/"
@using MudBlazor

<MudTable
          Height="calc(100vh - 290px)"
          FixedHeader="true"
          FixedFooter="true"
          Items="@Elements"
          MultiSelection="true"
          @bind-SelectedItems="SelectItems"
          Hover="@hover">
    <HeaderContent>
        <MudTh>Nr</MudTh>

    </HeaderContent>
    <RowTemplate>
        <MudTd DataLabel="Nr">@context</MudTd>

    </RowTemplate>
    <PagerContent>
        <MudTablePager PageSizeOptions="new int[]{50, 500,1000,2000}" />
    </PagerContent>
    <FooterContent>
        <MudTd colspan="5">Select All @SelectItems.Count</MudTd>
    </FooterContent>
</MudTable>
@code {
    private bool hover = true;

    private List<int> Elements = new();
    private HashSet<int> SelectItems=new();

    protected override async Task OnInitializedAsync()
    {
        Elements = await Task.FromResult(Enumerable.Range(0,6500).Select(e=>e).ToList());
    }
}

Do you really do this in production? Trying to load 6.5k records in one go? I think you can optimize this by paginating and stuff.

You can also use timers or benchmarking NuGet packages to identify the bottlenecks in this code, so we have more data to analyze this issue.

there's the problem right there...

recommend Close

I testing what fetch 2000 items of data from server-side times, It takes very little time only 20-40sm, Spend all your time rendering the UI.

seriously why bring even 200 items back - no human can read over 200 in one go - it's just not going to end in a happy story.  'Paging' is your friend.

there's the problem right there...

recommend Close

this is initialized data , it's ok, When you turn the page, it gets stuck very slowly

it's not ok in my opinion and you're paying the price of bringing so much data back in one go.  continue with what you have but I would strongly recommend otherwise.  all the best!

@274188A  I chose 2000 rows of data a page just to test obviously, but 200 rows of data is also very slow

@274188A  now, you can import 2000 rows of data from the brands page and test it yourself in this project

I usually paginate with 25-50 records at a time. It doesn't make sense to load 2000 or so records and give a hard time to the UI components to render it. Yes, there are projects that require you to load 6000 records in a time, but in that case, you shouldn't even use EFCore for it. Better stick to Dapper / Raw SQL and lighter UI components.

@274188A now, you can import 2000 rows of data to the brands page and test it yourself in this project

I would never bother because the amount is not realistic - to read more that 100/page is getting up there.  make sure you only bring back the columns you actually show in the grid.  if a user clicks to see details then you fetch-by-id the full object.

yes, not so much data is usually loaded at once,I just found out about this problem by doing performance testing.
But I've found this problem in my projects, it's very slow when there are multiple controls that bind data on a page

A public-facing SPA application where Customer / UX is important will never load even 50+ records at a time. This amount of data will have issues with mature client frameworks like Angular / react too. Blazor already has quite a lot of performance issues considering the usage of WASM. But this particular issue may not be related to WASM or MudBlazor as such.

yes, not so much data is usually loaded at once,I just found out about this problem by doing performance testing.
But I've found this problem in my projects, it's very slow when there are multiple controls that bind data on a page

so now you've shifted from 'slow to load records' to slow to bind...?

Cause I have no idea how to control any of my apps. I was waiting on a direct deposit from my
@.***)  email account or I think I may have setup something or erased someone. Anyway. iCloud, Drive, Dropbox, Onedrive, Amazon Drive have all of my Microsoft account on each one. Subscriptions I didn’t know I have signed up for.
Méa Kistabish
105, Rue Shiwa
Amos, Québec
J9T 3A3
Canada
Get Outlook for iOShttps://aka.ms/o0ukef

From: 274188A @.>
Sent: Friday, July 30, 2021 1:49:19 AM
To: blazorhero/CleanArchitecture @.>
Cc: Subscribed @.***>
Subject: Re: [blazorhero/CleanArchitecture] @iammukeshm @unchase, Do you think have solution to solve MudBlazor performance problems in WASM mode (#253)
so now you've shifted from 'slow to load records' to slow to bind...?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fblazorhero%2FCleanArchitecture%2Fissues%2F253%23issuecomment-889645838&data=04|01||96de43242fe74a52b51808d9531dc6ce|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637632209613874039|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=YJfGgAMK%2F28Ib64Gdc9ljZlzYAkyCPXsmDodIZdE5no%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUG5REUH2T42WUIMLHLXX5TT2I4N7ANCNFSM5BF74KMA&data=04|01||96de43242fe74a52b51808d9531dc6ce|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637632209613883983|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=e4M9QvQv8SLsF5j1K3gjbLYX7LAB%2BcQZaklToe8tE%2FU%3D&reserved=0.

now, it's ok.
I found no performance issues after deploying to the IIS server.
http://wasm.i247365.net/
http://aot.i247365.net/
I'm relieved for the moment
thank you for your response.

Cause I have no idea how to control any of my apps. I was waiting on a direct deposit from my @.) email account or I think I may have setup something or erased someone. Anyway. iCloud, Drive, Dropbox, Onedrive, Amazon Drive have all of my Microsoft account on each one. Subscriptions I didn’t know I have signed up for. Méa Kistabish 105, Rue Shiwa Amos, Québec J9T 3A3 Canada Get Outlook for iOShttps://aka.ms/o0ukef
…
________________________________ From: 274188A @.> Sent: Friday, July 30, 2021 1:49:19 AM To: blazorhero/CleanArchitecture @.> Cc: Subscribed @.> Subject: Re: [blazorhero/CleanArchitecture] @iammukeshm @unchase, Do you think have solution to solve MudBlazor performance problems in WASM mode (#253) so now you've shifted from 'slow to load records' to slow to bind...? — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fblazorhero%2FCleanArchitecture%2Fissues%2F253%23issuecomment-889645838&data=04|01||96de43242fe74a52b51808d9531dc6ce|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637632209613874039|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=YJfGgAMK%2F28Ib64Gdc9ljZlzYAkyCPXsmDodIZdE5no%3D&reserved=0, or unsubscribehttps://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAUG5REUH2T42WUIMLHLXX5TT2I4N7ANCNFSM5BF74KMA&data=04|01||96de43242fe74a52b51808d9531dc6ce|84df9e7fe9f640afb435aaaaaaaaaaaa|1|0|637632209613883983|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|1000&sdata=e4M9QvQv8SLsF5j1K3gjbLYX7LAB%2BcQZaklToe8tE%2FU%3D&reserved=0.

@iammukeshm - possible spam...i cannot report it

Just a little contribute to this closed task.
Please remember the double rendering of Blazor.
So, is far better to load data in the AfterRender instead in the Initialized.
Like this:
protected override async Task OnAfterRenderAsync(bool firstRender)
        {
            if (firstRender)
                await LoadDataAsync();
        }

in the razor page you can render the entire page excluding the list/table or combo you're loading.


bower conflict issues:

Tried running bower install on my CI and getting the following issues (note the:  bower                                                ECONFLICT Unable to find suitable version for angular):
				   {
				  "name": "angular-seed",
				  "description": "A starter project for AngularJS",
				  "version": "0.0.0",
				  "homepage": "https://github.com/angular/angular-seed",
				  "license": "MIT",
				  "private": true,
				  "dependencies": {
					"angular": "~1.2.x",
					"angular-loader": "1.2.x",
					"angular-mocks": "~1.2.x",
					"angular-ga": "~0.1.3",
					"expect": "~0.3.1",
					"bootstrap": "~3.1.1",
					"angular-route": "~1.2.x",
					"angular-ui-router": "0.2.11",
					"jquery-ui": "1.10.3",
					"jquery.easing": "1.3.1",
					"jquery-migrate": "1.2.1",
					"jquery": "1.10.2",
					"superfish": "1.7.4",
					"html5shiv": "3.7.2",
					"bootstrap3-wysihtml5-bower": "0.3.2",
					"fullcalendar": "1.6.4",
					"iCheck": "1.0.1",
					"ion.rangeSlider": "1.8.2",
					"jquery-knob": "1.2.11",
					"bower-jvectormap": "1.2.2",
					"morris.js": "0.5.1",
					"slimScroll": "1.3.0",
					"bootstrap-timepicker": "0.2.3",
					"raphael": "~2.1.2",
					"angular-translate": "2.5.2",
					"angular-translate-loader-partial": "~2.5.2",
					"angular-sanitize": "~1.3.8"
				  },
				  "resolutions": {
					"jquery": "1.10.2",
					"bootstrap": "~3.1.1",
					"raphael": "2.1.1"
				  },
				  "devDependencies": {
					"sinonjs": "~1.10.2"
					   }
					}

This is my build output:
				bower wysihtml5x#0.4.9                                resolved git://github.com/Edicy/wysihtml5.git#0.4.9
				bower bootstrap#3.1.0                                 resolved git://github.com/twbs/bootstrap.git#3.1.0
				bower jquery-ui#1.10.3                            invalid-meta jquery-ui is missing "ignore" entry in bower.json
				bower jquery-ui#1.10.3                                resolved git://github.com/components/jqueryui.git#1.10.3
				bower                                                ECONFLICT Unable to find suitable version for angular
				[INFO] ------------------------------------------------------------------------
				[INFO] BUILD FAILURE
				[INFO] ------------------------------------------------------------------------
				[INFO] Total time: 1:06.064s
				[INFO] Finished at: Thu Jan 15 18:54:40 UTC 2015
				[INFO] Final Memory: 21M/1121M
				[INFO] ------------------------------------------------------------------------
				[ERROR] Failed to execute goal pl.allegro:grunt-maven-plugin:1.4.1:bower (default) on project cointraders-frontend: Unable to execute mojo: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
				org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal pl.allegro:grunt-maven-plugin:1.4.1:bower (default) on project cointraders-frontend: Unable to execute mojo

Try adding inside "resolutions": { ... } an "angular": "1.2.28" (or whatever version of angular 1.2 you're on).

Also: #1362
For now resolutions are only used when there's actually a conflict. This might be slightly confusing.


ADS changes for new engine edition

Changes for supporting new engine edition.

These documents need to be formatted
File not formatted. Run the 'Format Document' command to fix it: extensions/mssql/src/contextProvider.ts
File not formatted. Run the 'Format Document' command to fix it: src/sql/workbench/parts/dataExplorer/browser/mssqlNodeContext.ts
File not formatted. Run the 'Format Document' command to fix it: src/sql/workbench/parts/restore/browser/restore.contribution.ts

You also have some formatting issues :
File not formatted. Run the 'Format Document' command to fix it: src\sql\azdata.d.ts
File not formatted. Run the 'Format Document' command to fix it: src\sql\workbench\api\common\sqlExtHostTypes.ts


Update to new GPT 3.5-Turbo type

From our existing ChatDev typing.py:
class ModelType(Enum):
    GPT_3_5_TURBO = "gpt-3.5-turbo-16k-0613"
    GPT_3_5_TURBO_NEW = "gpt-3.5-turbo-16k"
    GPT_4 = "gpt-4"
    GPT_4_32k = "gpt-4-32k"
    GPT_4_TURBO = "gpt-4-turbo"
    GPT_4_TURBO_V = "gpt-4-turbo"

    STUB = "stub"

    @property
    def value_for_tiktoken(self):
        return self.value if self.name != "STUB" else "gpt-3.5-turbo-16k-0613"

Where in official OpenAI's models page:

The current GPT 3.5-Turbo types (gpt-3.5-turbo-16k-0613 & gpt-3.5-turbo-16k) used in ChatDev is considered legacy and will be deprecated very soon (next week).
Advise to update the types to remain updated to use OpenAI's latest GPT 3.5-Turbo, by just using the value "gpt-3.5-turbo" should be sufficient (which is already supports 16k context window by default).

However, I would suggest to do some testing before pushing this changes. In my local repo I modified it to use "gpt-3.5-turbo", ChatDev seems underperforming. More observation from different users is required to prove the latest "gpt-3.5-turbo" type works well with ChatDev.


Derivatives don't need their own memory

The output of a layer can be used to store the derivative from the next layer.
The reason for this is that the output of a layer is not used in the backwarding (except for softmax backwarding which can be handled as a special). As the shape of derivative and output layer is exactly same, this saves the memory of all the layer return derivatives, reducing the peak memory by a LOT.

:octocat: cibot: Thank you for posting issue #765. The person in charge will reply soon.


Fixed i64.trunc_sat_fXX opcodes

Re-enabled last two disabled conversion tests, fixed corresponding opcodes.

Sure thing, but I'm away from my computer so I won't be able to until tonight or tomorrow morning.

Thanks, no rush :-) holiday time here as well.


Create Android App

Create android app and submit to play store.

App Created https://play.google.com/store/apps/details?id=com.hepilo.twa

Hi,
Would it be possible to tag your releases and attach a signed release APK to it, so that people without Play Store can still download and use your app?
Thanks

Hey @Poussinou,
I'll do that. See https://github.com/NdoleStudio/hepilo/issues/4


msidn duplicate exception

I know that this issue might be more related to the API itself but ..
<?php
require 'vendor/autoload.php';
$ACCESS_KEY = '';//FILL access key

$c = new \MessageBird\Client($ACCESS_KEY);
$contact = new \MessageBird\Objects\Contact();
$contact->msisdn = "31613371337";
$contact->firstName = "Foo";
$contact->lastName = "Bar";
$contact = $c->contacts->create($contact);

$contact->firstName = "Foo changed";
$c->contacts->update($contact, $contact->getId());

This code snippet causes an exception like:

contact with this msisdn already exists in your contact list

The system checks if the msidn already exists, but in this case i am just not changing it...
Why? Keeping track if the phone number did or did not change is not very practical in a lot of use cases. I can work around it by always deleting and then adding the contact again but that has some disadvantages.

Hi @svoss, thank you for opening an issue!
I've been able to reproduce this bug: the problem is that the API accepts a HTTP PATCH request with a body containing only the fields that are actually being updated.
When you invoke MessageBirdClient->contacts->update with an existing object, like you are, it will have the MSISDN set - but you're not updating it. This is why the API returns this error.
While I look for ways to fix this in a clean way, you can work around the issue by unsetting the MSISDN before updating the contact:
$contact = new \MessageBird\Objects\Contact();
$contact->msisdn = "31613371337";
$contact->firstName = "Foo";
$contact->lastName = "Bar";
$contact = $c->contacts->create($contact);

unset($contact->msisdn);

$contact->firstName = "Foo changed";
$c->contacts->update($contact, $contact->getId());

Unsetting the lastName does not seem to be necessary.
Please let me know if you have any other questions!

Hi @svoss, hopefully you've managed to resolve the problem based on the information above. I'm closing this issue for now: feel free to comment or re-open in case you're still running into problems!


Release 0.0.21

Pull Request Test Coverage Report for Build 579271599

7 of 7 (100.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.2%) to 78.505%

Totals

Change from base Build 579229552:
0.2%

Covered Lines:
252

Relevant Lines:
321

💛  - Coveralls


LibreTiny-ESPHome: arm-none-eabi-g++: not found

Hi,
I previously had LibreTuya-ESPhome working in a docker container and have several blk72* devices setup off a raspberry pi.   I noticed that it has noe become LibreTiny-ESPhome and I cloned LibreTiny-ESPhome and installed the LibreTiny module as directed.   Then build the docker image, when I tried to create the esphome binary I get the error arm-none-eabi-g++: not found.   So I then tried via the cli method in my local account and I get the same message here is the output from a sample yaml using the wizard for a wb2s:
      rpaul@libretuya:~/libretiny-esphome $ python -m esphome compile example.yml
      INFO Reading configuration example.yml...
      INFO Generating C++ source...
      INFO Core config or version changed, cleaning build files...
      INFO Compiling app...
      Processing test-device (board: cb2s; framework: arduino; platform: https://github.com/kuba2k2/libretiny.git)
      ------------------------------------------------------------------------------------------------------------------------------------
      Platform Manager: Installing git+https://github.com/kuba2k2/libretiny.git
      INFO Installing git+https://github.com/kuba2k2/libretiny.git
      git version 2.30.2
      Cloning into '/home/rpaul/.platformio/.cache/tmp/pkg-installing-k0tcxmgu'...
      remote: Enumerating objects: 597, done.
      remote: Counting objects: 100% (597/597), done.
      remote: Compressing objects: 100% (443/443), done.
      remote: Total 597 (delta 135), reused 448 (delta 123), pack-reused 0
      Receiving objects: 100% (597/597), 367.38 KiB | 3.09 MiB/s, done.
      Resolving deltas: 100% (135/135), done.
      Platform Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      Tool Manager: Installing git+https://github.com/libretiny-eu/framework-beken-bdk#v2021.06.07
      INFO Installing git+https://github.com/libretiny-eu/framework-beken-bdk#v2021.06.07
      git version 2.30.2
      Cloning into '/home/rpaul/.platformio/.cache/tmp/pkg-installing-wiuoxsr3'...
      remote: Enumerating objects: 3486, done.
      remote: Counting objects: 100% (3486/3486), done.
      remote: Compressing objects: 100% (2785/2785), done.
      remote: Total 3486 (delta 586), reused 3430 (delta 586), pack-reused 0
      Receiving objects: 100% (3486/3486), 24.50 MiB | 9.47 MiB/s, done.
      Resolving deltas: 100% (586/586), done.
      Note: switching to '6491b8c001b737c790cba0bee16e548859d5e6fe'.

      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.

      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:

        git switch -c <new-branch-name>

      Or undo this operation with:

        git switch -

      Turn off this advice by setting config variable advice.detachedHead to false

      Updating files: 100% (3077/3077), done.
      Tool Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      Tool Manager: Installing git+https://github.com/libretiny-eu/ArduinoCore-API#2022.08.24
      INFO Installing git+https://github.com/libretiny-eu/ArduinoCore-API#2022.08.24
      git version 2.30.2
      Cloning into '/home/rpaul/.platformio/.cache/tmp/pkg-installing-_h2j7cfx'...
      remote: Enumerating objects: 145, done.
      remote: Counting objects: 100% (145/145), done.
      remote: Compressing objects: 100% (106/106), done.
      remote: Total 145 (delta 59), reused 84 (delta 32), pack-reused 0
      Receiving objects: 100% (145/145), 197.01 KiB | 2.29 MiB/s, done.
      Resolving deltas: 100% (59/59), done.
      Note: switching to '237b10a4f6da14bf32e5e0963b7f28865216a60c'.

      You are in 'detached HEAD' state. You can look around, make experimental
      changes and commit them, and you can discard any commits you make in this
      state without impacting any branches by switching back to a branch.

      If you want to create a new branch to retain commits you create, you may
      do so (now or later) by using -c with the switch command. Example:

        git switch -c <new-branch-name>

      Or undo this operation with:

        git switch -

      Turn off this advice by setting config variable advice.detachedHead to false

      Tool Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      Tool Manager: Installing git+https://github.com/libretiny-eu/lwip#2.1.3-bdk
      INFO Installing git+https://github.com/libretiny-eu/lwip#2.1.3-bdk
      git version 2.30.2
      Cloning into '/home/rpaul/.platformio/.cache/tmp/pkg-installing-glstrkv9'...
      remote: Enumerating objects: 450, done.
      remote: Counting objects: 100% (450/450), done.
      remote: Compressing objects: 100% (403/403), done.
      remote: Total 450 (delta 77), reused 197 (delta 26), pack-reused 0
      Receiving objects: 100% (450/450), 1.31 MiB | 6.61 MiB/s, done.
      Resolving deltas: 100% (77/77), done.
      Tool Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      Tool Manager: Installing git+https://github.com/libretiny-eu/library-freertos#9.0.0
      INFO Installing git+https://github.com/libretiny-eu/library-freertos#9.0.0
      git version 2.30.2
      Cloning into '/home/rpaul/.platformio/.cache/tmp/pkg-installing-wophlcak'...
      remote: Enumerating objects: 34, done.
      remote: Counting objects: 100% (34/34), done.
      remote: Compressing objects: 100% (30/30), done.
      remote: Total 34 (delta 2), reused 34 (delta 2), pack-reused 0
      Receiving objects: 100% (34/34), 179.44 KiB | 1.87 MiB/s, done.
      Resolving deltas: 100% (2/2), done.
      Tool Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      Tool Manager: Installing platformio/tool-scons @ ~4.40400.0
      INFO Installing platformio/tool-scons @ ~4.40400.0
      Downloading  [####################################]  100%
      Unpacking  [####################################]  100%
      Tool Manager<EMAIL_ADDRESS>has been installed!
      INFO<EMAIL_ADDRESS>has been installed!
      HARDWARE: BK7231N 120MHz, 256KB RAM, 1.03MB Flash
       - framework-arduino-api @ 2022.8.24+sha.237b10a
       - framework-beken-bdk @ 0.0.0+v2021.06.07.sha.6491b8c
       - library-flashdb @ 1.2.0+sha.d5c892f
       - library-freertos @ 9.0.0+sha.95cc959
       - library-freertos-port @ 2023.3.13+sha.bd96e82
       - library-lwip @ 2.1.3-bdk+sha.4ee4d34
       - library-printf @ 6.1.0+sha.28a79bd
       - tool-ltchiptool @ 4.0.0+sha.788ba4e
      PLATFORM VERSIONS:
       - libretiny @ 1.0.2+sha.5c4da6e
       - ltchiptool @ 4.1.1
      CUSTOM OPTIONS:
       - fw_name = esphome
       - fw_version = 2023.5.0-dev
      No dependencies
      Compiling .pioenvs/test-device/src/esphome/components/api/api_connection.cpp.o
      sh: 1: arm-none-eabi-g++: not found
      Compiling .pioenvs/test-device/src/esphome/components/api/api_frame_helper.cpp.o
      sh: 1: arm-none-eabi-g++: not found
      Compiling .pioenvs/test-device/src/esphome/components/api/api_pb2.cpp.o
      sh: 1: arm-none-eabi-g++: not found
      *** [.pioenvs/test-device/src/esphome/components/api/api_connection.cpp.o] Error 127
      Compiling .pioenvs/test-device/src/esphome/components/api/api_pb2_service.cpp.o
      *** [.pioenvs/test-device/src/esphome/components/api/api_frame_helper.cpp.o] Error 127
      *** [.pioenvs/test-device/src/esphome/components/api/api_pb2.cpp.o] Error 127
      sh: 1: arm-none-eabi-g++: not found
      *** [.pioenvs/test-device/src/esphome/components/api/api_pb2_service.cpp.o] Error 127
      =================================================== [FAILED] Took 22.50 seconds ===================================================

during the install of LibreTiny module via platoformio I do see the toolchain was installed:
  Tool Manager<EMAIL_ADDRESS>has been installed!
  INFO:Tool<EMAIL_ADDRESS>has been installed!
  Tool Manager: Installing toolchain-gccarmnoneeabi
  INFO:Tool Manager:Installing toolchain-gccarmnoneeabi
  Downloading  [####################################]  100%
  Unpacking  [####################################]  100%
  Tool Manager<EMAIL_ADDRESS>has been installed!
  INFO:Tool<EMAIL_ADDRESS>has been installed!
  Tool Manager: Installing git+https://github.com/libretiny-eu/ltchiptool#v4.0.0
  INFO:Tool Manager:Installing git+https://github.com/libretiny-eu/ltchiptool#v4.0.0

Any insight on what I might be missing or if you need any other output.
Thanks for creating this port so we don't have to solder replace with an ESP chip.
Thanks
Rick

You can use prebuilt docker images for libretiny now: https://www.youtube.com/watch?v=sSj8f-HCHQ0&t=100s

From the posted logs I'm not sure if you're running this inside docker or not, but I suspect that you aren't. The paths printed are referring to your /home directory, which Docker wouldn't have access to.
What Raspberry Pi are you running this on, and is this a 32 or 64 bit OS?

the logs I posted above was not from inside docker. it was in my local account on the pi.  When the docker was not working I figured would try the cli path outside of docker to confirm all was installed correctly and noticed it was getting the same failure.   running 64 bit
Linux libretuya 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux
Awesome video and huge kudos for the HASS add on, which is a much better place where I would like it.
back to the rpi, so I did the docker pull of the ghcr.io image and started it.  the dashboard came up and when I tried to compile one of the devices the same error occurred again.  Have attached the log output from the dashboard running in the rpi docker image.
logs_kitchen-main-2-switch_compile.txt
Interestingly the image running via my HA installing compiles just fine so I will move my yaml's over to there and use it from there.    My HA runs on a intel nuc so is a different image.
not sure why it is not working for me on the pi.   I guess next step is to basically wipe the pi out and start fresh again.  I use it mainly for the tuya-cloudcutter path.
I will wipe and retry later today, if that resolves it, i will close this issue out.
Thanks

Well a fresh install did not solve it.   This time I followed your steps in the video on installing the 32 bit lite version, install python and docker.  Then installed the docker image and I still get the compile error:
Compiling .pioenvs/garage_west_switch/src/esphome/components/api/api_connection.cpp.o
sh: 1: arm-none-eabi-g++: not found
Compiling .pioenvs/garage_west_switch/src/esphome/components/api/api_frame_helper.cpp.o
sh: 1: arm-none-eabi-g++: not found
Compiling .pioenvs/garage_west_switch/src/esphome/components/api/api_pb2.cpp.o
sh: 1: arm-none-eabi-g++: not found
*** [.pioenvs/garage_west_switch/src/esphome/components/api/api_connection.cpp.o] Error 127
*** [.pioenvs/garage_west_switch/src/esphome/components/api/api_frame_helper.cpp.o] Error 127
*** [.pioenvs/garage_west_switch/src/esphome/components/api/api_pb2.cpp.o] Error 127
Compiling .pioenvs/garage_west_switch/src/esphome/components/api/api_pb2_service.cpp.o
sh: 1: arm-none-eabi-g++: not found
*** [.pioenvs/garage_west_switch/src/esphome/components/api/api_pb2_service.cpp.o] Error 127
Attached is the screen shot of the fresh install, only slight mod was I changed the hostname.  Also is the logs of the docker compile along with the yml file.   This was compiling under LibreTuya and not sure why it is not under LibreTiny.
Here are the logs:
logs_garage-west-switch_compile.txt
libretiny docker install.txt
garage_west_switch.txt had to change ext from yml to txt to upload.
As I mentioned previously it is working for me under the HASS add on and will use it from there.  I wanted to confirm if it was something on the previous image that was causing it.  Now with a fresh install and still seeing it, will leave it up to you if you want more info.

Try with framework version dev instead of latest

Still same compile error.   I even tried using just the generic config when you create a new device and still see the compile error.   using this yaml file:
esphome:
name: test-device
friendly_name: test-device
libretiny:
board: generic-bk7231t-qfn32-tuya
framework:
version: dev
Enable logging
logger:
Enable Home Assistant API
api:
encryption:
key: "tC8kAdNSGgeHIlyungY+56AbCGWrKAIUFTxiNKrCt6g="
ota:
password: "eefa6e79797b95506b9d43e6358c1ffc"
wifi:
ssid: !secret wifi_ssid
password: !secret wifi_password
Enable fallback hotspot in case wifi connection fails
ap:
ssid: "Test-Device Fallback Hotspot"
password: "p3LlgjjyaSK4"


libheif-tools missing from base image

Describe the package
I'd like to request the package libheif-tools to allow for additional functionality around HEIF files such as viewing thumbnails from HEIF files.
Information on the package
Last metadata expiration check: 0:00:08 ago on Sat 23 Dec 2023 12:13:51 PM MST.
Available Packages
Name         : libheif-tools
Version      : 1.16.2
Release      : 2.fc38
Architecture : x86_64
Size         : 73 k
Source       : libheif-1.16.2-2.fc38.src.rpm
Repository   : updates
Summary      : Tools for manipulating HEIF files
URL          : https://github.com/strukturag/libheif
License      : MIT
Description  : This package provides tools for manipulating HEIF files.
Image
All Images

Describe the package
I'd like to request the package libheif-tools to allow for additional functionality around HEIF files such as viewing thumbnails from HEIF files.
Information on the package
Last metadata expiration check: 0:00:08 ago on Sat 23 Dec 2023 12:13:51 PM MST. Available Packages Name : libheif-tools Version : 1.16.2 Release : 2.fc38 Architecture : x86_64 Size : 73 k Source : libheif-1.16.2-2.fc38.src.rpm Repository : updates Summary : Tools for manipulating HEIF files URL : https://github.com/strukturag/libheif License : MIT Description : This package provides tools for manipulating HEIF files.
Image
All Images

This package is already available:
https://github.com/ublue-os/main/blob/main/packages.json#L21C1-L21C33

The packages are there but they don't appear to be working. https://github.com/tigranbs/test-heic-images

Hmm... this is odd. I'm running a ublue-os/main Silverblue F39 derivative image but I don't think I'm adding anything related to thumbnails and heic preview works for me.

@samicokar what image are you using? silverblue/kinoite based? Or one of the others?


Add meta/extensions.yml file for displaying EDA on Automation Hub

Adding the meta/extensions.yml file, which is required to display EDA content in documentation on Automation Hub. This file points to the EDA plugin paths inside the collection. Eventually, ansible-doc will use this file to display EDA plugins and list their full contents on Automation Hub, exactly like other Ansible plugins. This feature is in development. Currently, galaxy-importer directly consumes this file to display EDA plugins in Automation Hub.

@vkrizan @msager27 please review/merge.


"Unknown transaction optional data" error when calling GetBlock()

Hello,
We are experiencing an error when calling GetBlockCount() on Litecoin Mainnet network. This is the code snippet:
var Network = Litecoin.Instance.Mainnet;
var Rpc = new RPCClient($"{RpcUser}:{RpcPassword}", RpcUrl, Network);

var blockCount = Rpc.GetBlockCount();
var block = Rpc.GetBlock(blockCount);               // this line generates the error

Error: "Unknown transaction optional data"
The code works fine with other networks, such as Bitcoin.
Has anyone seen anything like this?

This is not a NBitcoin error but a Litecoin error message. Open and issue in Litecoin's github repo.


fixes #30. add openAPIV3Schema to CRD

Add required CRD field

duplicated with https://github.com/zakkg3/ClusterSecret/pull/33


Show green Tick when current task is completed

To better indicate that you should pick something new add a green tick to the minimized button if the task is completed.

Where this tick should be displayed ?

Yeah but after the last changes this actually makes no sense anymore.
Because if there is a task then it is shown. If there is no assigned task (all are completed) then there is an indication for how many tasks are still available...
I'll close this. It's impractical at the moment.


Heap Sort

Submission Title
Heap Sort
Submission Type
Algorithm
Submission Description
Heap Sort is a popular and efficient sorting algorithm in computer programming. Learning how to write the heap sort algorithm requires knowledge of two types of data structures - arrays and trees.
Contributors

[ ]  C++ -
[ ]  C -
[ ]  Python -
[ ] Java -
[ ] JavaScript -
[ ] TypeScript -
[ ] Golang -
[ ] Ruby -
[ ] Scala -

@ahampriyanshu I would like to contribute to this, please assign me this task to implement Heap sort in C++.

Can i work on this in python3?

Please assign me this. I would like to implement this in c++.

Please assign me this. I would like to implement this in c++.

@sbhavya18 I have already assigned @Namanmittal0007 in C++ language
Please opt a different language ✌🏽

I would like to work on this issue. I can implement heapsort in c++. Please allow me to work on this issue. I'll also add an explanation in my code.

Please assign me this. I would like to implement this in c++.

@sbhavya18 I have already assigned @Namanmittal0007 in C++ language
Please opt a different language ✌🏽

I can implement it in C language. Can u now assign me the task?

I can implement this issue in C language.

I can contribute towards this issue in java. Please assign me this.

I can contribute to this issue in javascript, please assign me.

@ahampriyanshu Pull Request added 👍

I can contribute in Ruby.

thanks everyone :v:


Transformer plugin for parcel

Created a transformer plugin for parcel: parcel-transformer-telefunc. Note: It must be published as an individual package to follow parcel plugin's naming standard
express-and-parcel example
export the transformer api under: ./transformer
minor: ignore all example's package-lock files
dev: gitignore .idea ide files

👍 Will have a look after I release vps 0.4.
Looking forward to add the Parcel transformer.

(I will also apply the changes to the docs we discussed then.)

👍 Will have a look after I release vps 0.4.

ETA next week.
Looking forward to review you PR :-).

Ok, just take your time !

Alright. Let's merge this.

It must be published as an individual package to follow parcel plugin's naming standard

Is that strictly needed? While in the long run I'd agree that we should publish it independently, for now I'd rather include the Parcel plugin within the telefunc package.

It must be published as an individual package to follow parcel plugin's naming standard

Is that strictly needed?

Yes, unfortunately: It's a strict requirement and also the plugin "repository" is just a simple pattern matching over NPM.

We don't need to be included in Parcel's plugin listing.
So, what happens if we do the following?
{
  "extends": "@parcel/config-default",
  "transformers": {
    "*.telefunc.*": ["telefunc/parcel", "..."]
  }
}

Hey, it's half a year ago now. Try it yourself... ;)

Makes sense :-).
Closing. New PR welcome.


Shaded version of firebase-admin-java sdk jar w/ dependencies relocated

There is already an issue regarding this - https://github.com/firebase/firebase-admin-java/issues/162
I think it would really be helpful it there was a shaded (packaged with dependencies) version of firebase-admin-java SDK & dependencies relocated to some different package to avoid version conflict.
I'm currently facing issues because we have a different version of netty which is getting conflicted with this & breaking the code.

I think our position on this hasn't changed. Neither Firebase nor GCP currently ship any shaded jar files due to multiple reasons. I don't see this changing in the near future.


Infinite negative dimensions on window

The windows created by eframe on my system seem to not be able to detect their dimensions, which I noticed due to ViewportBuilder::with_min_inner_size not doing anything. (To potentially save time for people reading this, I suspect this is due to my somewhat bleeding-edge desktop environment, which I included details about below in the relevant section).
To Reproduce
Steps to reproduce the behavior:

Put the following contents into the respective files:

# Cargo.toml
[package]
edition = "2021"
name = "scratch"
version = "0.1.0"

# This happens both on the latest published version and when depending directly on the latest master branch
[dependencies]
#eframe = "0.26.2"
eframe = { git = "https://github.com/emilk/egui", branch = "master" }

# src/main.rs
use eframe::{egui::ViewportBuilder, NativeOptions};

fn main() {
    eframe::run_simple_native(
        "is this dark matter?",
        NativeOptions {
            viewport: ViewportBuilder::default().with_min_inner_size([1000.0, 1000.0]),
            ..Default::default()
        },
        |ctx, _| {
            dbg!(ctx.used_size(), ctx.used_rect());
        },
    )
    .expect("wait that wasn't supposed to be what went wrong...");
}

cargo run or cargo run --release

Check that the window is rendered properly

Check the print output and see the following:

[src/main.rs:11:13] ctx.used_size() = [-inf -inf]
[src/main.rs:11:13] ctx.used_rect() = [[inf inf] - [-inf -inf]]
[src/main.rs:11:13] ctx.used_size() = [-inf -inf]
[src/main.rs:11:13] ctx.used_rect() = [[inf inf] - [-inf -inf]]
[src/main.rs:11:13] ctx.used_size() = [-inf -inf]
[src/main.rs:11:13] ctx.used_rect() = [[inf inf] - [-inf -inf]]
[src/main.rs:11:13] ctx.used_size() = [-inf -inf]
[src/main.rs:11:13] ctx.used_rect() = [[inf inf] - [-inf -inf]]
...

Expected behavior
The dimensions reported by Context::used_rect and Context::used_size would be accurate (presumably positive, given that the window does seem to render fine) and the minimum size specified would be respected.
Screenshots

Desktop:
I suspect this might be where the issues lies; I'm using Plasma 6 from the Arch Linux testing repos, which only became available this week.

OS: Linux (details from uname shown below)

→ uname -a
Linux bunchacrunch 6.7.8-zen1-1-zen #1 ZEN SMP PREEMPT_DYNAMIC Sun, 03 Mar 2024 00:30:23 +0000 x86_64 GNU/Linux

Wayland (see attached output of wayland-info for details)

wayland_info.txt
I'm unfortunately not sure what the best way to determine which rendering output is being used by eframe. I'm fairly certain that it's not using X11 because I generally can identify windows using XWayland by using wmctrl because it doesn't ever list info about native Wayland windows, and it similarly doesn't have any output related to the window opened by eframe. I'm not sure if it's using the wayland backend or glow (or if those are entirely different things rather than mutually exclusive options; I'm pretty inexperienced in programming GUIs).
Assuming this isn't reproducible easily on other desktops, I'm happy to add any additional info (either from my system or updating the repro code to print something else) that would be helpful to try to narrow cause what's causing this! If there's a different destkop environment that would be helpful for me to check, it shouldn't be too much of an issue; reverting back to Plasma 5 to test this would unfortunately be a bit of a pain given that I plan to keep using 6, but if there's no other way to sanity check things, I might be able to find an old laptop or something to boot up and try it out on that.

Internal information must be used using ctx.input().
use eframe::{egui::ViewportBuilder, NativeOptions};

fn main() {
    eframe::run_simple_native(
        "is this dark matter?",
        NativeOptions {
            viewport: ViewportBuilder::default()
                .with_min_inner_size([1000.0, 1000.0]),
            ..Default::default()
        },
        |ctx, _| {
            dbg!(ctx.used_size(), ctx.used_rect());
            let monitor_size = ctx.input(|i| i.viewport().monitor_size);
            let inner_rect = ctx.input(|i| i.viewport().inner_rect);
            let outer_rect = ctx.input(|i| i.viewport().outer_rect);
            println!("{:?}", monitor_size);
            println!("{:?}", inner_rect);
            println!("{:?}", outer_rect);
        },
    )
    .expect("wait that wasn't supposed to be what went wrong...");
}

Thanks for the tip! I updated the print statements you gave to identify which value was being printed to make sure I could differentiate them, and I got this as the first set of results (with the print statements repeating the last three values afterwards):
monitor size: None
inner rect: None
outer rect: None
monitor size: None
inner rect: None
outer rect: None
monitor size: Some([2048.0 1152.0])
inner rect: None
outer rect: None
monitor size: Some([2048.0 1152.0])
inner rect: None
outer rect: None
monitor size: Some([2048.0 1152.0])

I imagine that the None values on the first two sets of calls are just from it taking a moment to start up. My monitor is 2560x1440, but I use a 125% scaling factor, so I think the monitor size seen by the the view port is reasonable. I'm not sure why inner_rect and outer_rect are always returning None though, but it seems likely that's related to why the size restriction isn't being followed.

That works fine on windows.
Please check again as follows.
use eframe::{egui::ViewportBuilder, NativeOptions};

fn main() {
    eframe::run_simple_native(
        "is this dark matter?",
        NativeOptions {
            viewport: ViewportBuilder::default().with_min_inner_size([1000.0, 1000.0]),
            ..Default::default()
        },
        |ctx, _| {
            egui::CentralPanel::default().show(ctx, |ui| {
                let monitor_size = ui.ctx().input(|i| i.viewport().monitor_size);
                let inner_rect = ui.ctx().input(|i| i.viewport().inner_rect);
                let outer_rect = ui.ctx().input(|i| i.viewport().outer_rect);
                println!("{:?}", monitor_size);
                println!("{:?}", inner_rect);
                println!("{:?}", outer_rect);
            });
        },
    )
    .expect("wait that wasn't supposed to be what went wrong...");
}

Hmm, this has the same issue, but weirdly it reports slightly different dimensions for the monitor as a whole:
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None
Some([2048.0 1152.0])
None
None

There is no problem on Windows, so I think someone using Linux will have to solve it.

Yeah, I suspect this might even be more specific than just Linux in general. I'm having this issue on the Plasma 6 desktop environment that just came out last week, so I wouldn't be surprised if this is specific to that DE.

Yeah, I suspect this might even be more specific than just Linux in general. I'm having this issue on the Plasma 6 desktop environment that just came out last week, so I wouldn't be surprised if this is specific to that DE.

Can you apply the following to check if there are any problems and let me know the results?
Pull Requests #4182

Thanks for the suggestion! Running off that branch seems like it might have fixed the issue; the window starts up with a size lower than the minimum I set, but then as soon as I try to adjust it, the size immediately becomes the minimum I set and then won't allow resizing lower. I imagine that I should be able to just set the initial size manually to the same as the minimum to avoid needing to do that initial adjustment.

Thanks for the suggestion! Running off that branch seems like it might have fixed the issue; the window starts up with a size lower than the minimum I set, but then as soon as I try to adjust it, the size immediately becomes the minimum I set and then won't allow resizing lower. I imagine that I should be able to just set the initial size manually to the same as the minimum to avoid needing to do that initial adjustment.

To change the size, try using ViewportCommand::InnerSize().
                ctx.send_viewport_cmd(ViewportCommand::InnerSize(window_size));

It seems to be the same problem as below.
Related content :

#4196
#4207

@saghm
Could you please apply the following once more to see if there is a problem and let me know the results?
Pull Request :

#4182


Doesn't work when devDependencies are empty

Im experimenting with using this in Astro, I didn't list dev deps at first, so I got an error on line 27 of create-diff.mjs - cannot convert undefined or null to object. After adding dev deps, the error resolved.
Looks like this would happen to dependencies too, though it would be rare for dependencies to be empty.

Fixed and pushed as 1.0.3


chore(*): Bumps versions of dependencies and fixes a few lints

I also took care of removing our direct dep on atty, though we still have a transitive one. This is a follow up to https://github.com/deislabs/bindle/pull/368#issuecomment-1697759126

Once this is released, I can cut a 0.9.2 release

@bacongobbler Would you mind breaking out your rubber stamp for me?


Updated Reactive Streams to RC3

Comments from the review on Reviewable.io

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 202 [r1] (raw file):
This is going TDocument as well if you lgtm my CR.

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 224 [r1] (raw file):
This one too

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 341 [r1] (raw file):
Remove all occurrences in javadoc of: This can be of any type for which a {@code Codec} is registered
As it's no longer true.

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 480 [r1] (raw file):
I've been debating whether this should go to BsonDocument, even though it's awkward to use.  What do you think?

driver/src/main/com/mongodb/reactivestreams/client/MongoDatabase.java, line 110 [r1] (raw file):
Same here: BsonDocument?  Rather than privilege the Document class?

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 21 [r1] (raw file):
Just a thought: No @since tags in this project?  I just noticed it for the first time.

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 22 [r1] (raw file):
This is ugly, but I don't have any better ideas.

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 23 [r1] (raw file):
Requires a Javadoc comment, no?  Is checkstyle not enforcing this?

Comments from the review on Reviewable.io

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 341 [r1] (raw file):
Done.

driver/src/main/com/mongodb/reactivestreams/client/MongoCollection.java, line 480 [r1] (raw file):
Document won out I think

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 21 [r1] (raw file):
The ones that were there were all @since 3.0.  I have updated to @since 1.0
Anyway to enforce via checkstyle?

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 23 [r1] (raw file):
Checkstyle doesn't enforce it  - but have added

Comments from the review on Reviewable.io

driver/src/main/com/mongodb/reactivestreams/client/Success.java, line 23 [r1] (raw file):
Perhaps if we write a custom module, but not worth it right now.

Comments from the review on Reviewable.io

LGTM

Rebased and merged


MemoryLayout: swap struct/array table header align & size

Small fix on "WebGPU Data Memory-Layout" page.
On the section that explains how Struct and Array have unique rules for Alignment & Size, the table which is a reflection of WGSL spec, have the header names swapped.
I've believe only the ukranian translation also contains the same table, which have also been updated. Others don't appear to, but if I missed any, please let me know and I'll patch the PR.

The table above that informs align and size for each WGSL type has size in second column and align in the third. If you rather keep things consistency, we can also swap the table content instead of the header. Lemme know which you prefer.


Too many 400 and a few 429.

Elassandra version: Latest
Plugins installed: []
JVM version (java -version): JDK 8
OS version (uname -a if on a Unix-like system): Ubuntu
Description of the problem including expected versus actual behavior:
Now that I took care of the open file descriptor problem, I am now getting a lot of 400 errors from my load testing tool.
What can I do to tune the HTTP ElasticSearch daemon further?
PS: I have changed my index refresh_interval to 5m

Looks like using _bulk API is the answer?


electron release: new scene building indicator not working

The export command makes the new "are we done rendering" indicator Lee added to the bottom hang in it's spinning state, I suspect because it makes the last command message received back not be an "execution-done" message.

fixed in https://github.com/KittyCAD/modeling-app/pull/3770 but will need a regression test


Add Corpenicus DEM dataset to catalogue

In Table 1, can you please change the product names to the name in the ODC? ie dem_cop_30, dem_cop_90

@cbur24 I also changed them in Table 2. https://github.com/digitalearthafrica/deafrica-docs/pull/61/commits/f781c59cf738b0aa6892fced1a777fe3b46708d2


Adapt changelog to Identifier 2000->2048 + AssetLink

Adapt changelog to changes of PR https://github.com/admin-shell-io/aa…s-specs-api/pull/271
Identifier 2000 -> 2048

AssetLink added as new class

@sebbader can you please review this PR? Thanks

@BirgitBoss note that I have also pushed fixes for the mentioned properties into this branch.


Can't Post Crashes to Databases with Underscores

https://github.com/psf/requests/issues/6518
Apparently _ is not a valid subdomain character anymore.
Current workaround is to use requests 2.28.0
pip install --force-reinstall -v "requests==2.28.0"

This was resolved in #12


Import text

see #139 支持纯文本请求发送

Codecov Report

Merging #149 into master will increase coverage by 0.33%.
The diff coverage is 86.36%.

@@            Coverage Diff             @@
##           master     #149      +/-   ##
==========================================
+ Coverage   93.84%   94.17%   +0.33%
==========================================
  Files          32       33       +1
  Lines        1413     1459      +46
==========================================
+ Hits         1326     1374      +48
+ Misses         57       54       -3
- Partials       30       31       +1

Impacted Files
Coverage Δ

gout.go
100% <ø> (ø)
:arrow_up:

debug.go
97.05% <100%> (+9.18%)
:arrow_up:

dataflow.go
100% <100%> (ø)
:arrow_up:

req.go
87.94% <25%> (-0.7%)
:arrow_down:

import.go
90.9% <90.9%> (ø)

bench/task.go
87.8% <0%> (+1.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 f67b080...19b538a. Read the comment docs.


Change license from CC-BY-SA to CC-BY

Motivation (discussion on the Carpentries mailing list): https://carpentries.topicbox.com/groups/discuss/Td64229aeb252a027
In short, the motivation is to simplify reuse for those who wish to take parts of our lessons and remix them into material which is CC-BY.
At the team meeting 2019-08-12 we have decided to change the license to CC-BY provided that all contributors to this lesson material agree to this change.
This issue will track the progress of this change.

I agree to a license change to CC-BY. @wikfeldt do you agree?

I agree to a license change to CC-BY


Execute SQL statement considers empty lines and comments as statement delimiters

Description
When you click "Execute SQL", or press Ctrl+Enter, in the SQL editor, DBeaver only seems to consider a "statement" to be a contiguous block of text from the cursor position, rather than an actual SQL statement.
For example, this is a complete SQL statement:
select id,

       -- Some comment
       some_field,
       other_field,

       -- Another comment
       yet_another_field

from   some_table;

DBeaver, however, considers this as four separate statements and executes the one where the cursor is located:

select id,

       some_field,
       other_field,

       yet_another_field

from   some_table;

If this is configurable behaviour, then it shouldn't be the default.
DBeaver Version
Community Edition <IP_ADDRESS>206050206
Operating System
NixOS Linux 22.05
Database and driver
Driver agnostic (reproduced with AWS Redshift and SQLite drivers)
Steps to reproduce

Write a SQL statement containing empty lines or comments.
Try to execute that statement.
DBeaver will only send the contiguous text block, relative to the cursor, to the SQL driver and that will probably result in a syntax error (or worse, do something you don't expect if the block happens to be syntactically correct).

Additional context
n.b., You can work around this problem by selecting the text you want to execute.

@Xophmeister could you try to disable Blank line is statement delimiter option in preferences and check if it helps?

Thanks @uslss -- That does fix the problem, but that seems like a curious default.


Add the input to the optimal process as an output of the OptimizationWorkChain

Often, the input value is just as, or more, important than the output value of a function when optimizing. So, to make access to the input of the optimal process, we add the optimal_process_input as an output of the OptimizationWorkChain and update all of the currently implemented optimization engines to support the new output.

I'll put in some new assert checks in the check_optimization fixture


Tiers hack to always respect user choice

Coverage remained the same at 76.978% when pulling 47233ed8d64f90dd11f2d1e254e12b88c7c9758a on tier-hack into 97c61c89c1f488415a52399bc67bb74fb40aca67 on master.


Use recaptcha expired called

Resolves #57 by using recaptcha's expired-callback instead of a hard-coded 2 min timeout

Thanks @TheSharpieOne !


Components are not loaded for first request in node SSR

🐛 Bug Report
At the start of the node server i loop through all my react routes which are loadable components and get a needs property set to them
routes
    .map(route => {
      const match = matchPath(req.path, route)
      return match && route.component.needs && needs.push(route.component.needs)
    })

I do this to find all the fn calls that is required for SSR and dispatch API calls
for this route.component on the first-ever request when node server starts gives me:
{$$typeof: Symbol(react.forward_ref), render: ƒ, preload: ƒ, load: ƒ}
$$typeof: Symbol(react.forward_ref)
render: ƒ (props, ref)
arguments: (...)
caller: (...)
length: 2
name: ""
prototype: {constructor: ƒ}
__proto__: ƒ ()
[[FunctionLocation]]: loadable.esm.js?30a7:294
[[Scopes]]: Scopes[6]
preload: ƒ (props)
load: ƒ (props)
__proto__: Object

as the component which does not include my route component and the attached needs property
Hoever on subsequest requests i get
Module {default: {…}, __esModule: true, Symbol(Symbol.toStringTag): "Module"}
default:
$$typeof: Symbol(react.memo)
type: ƒ ConnectFunction(props)
compare: null
WrappedComponent: {$$typeof: Symbol(react.forward_ref), displayName: "WithTheme(Home)", render: ƒ, needs: ƒ, apply: ƒ, …}
displayName: "Connect(WithTheme(Home))"
needs: ({ store: { dispatch } }) => {…}
apply: ƒ apply()
bind: ƒ bind()
call: ƒ call()
Symbol(Symbol.hasInstance): ƒ [Symbol.hasInstance]()
__proto__: Object
__esModule: true
Symbol(Symbol.toStringTag): "Module"
__proto__: Object

which clearly is a module and has the needs property
When using react-loadable i would have to use something like await route.component.load() to get the component, would i have to do the same for each request?
To Reproduce
https://github.com/raven619claw/starter-kit/tree/develop
run yarn and run the start command
in file serverRenderer.js line 49 it would not return the module for the first request but from the next requests module is returned
Expected behavior
It should return the module in the first request as a sync require call in node
Link to repo
https://github.com/raven619claw/starter-kit/tree/develop
## System:
 - OS: macOS 10.15.2
 - CPU: (4) x64 Intel(R) Core(TM) i5-7360U CPU @ 2.30GHz
 - Memory: 78.06 MB / 8.00 GB
 - Shell: 3.2.57 - /bin/bash
## Binaries:
 - Node: 10.14.1 - /usr/local/bin/node
 - Yarn: 1.15.2 - /usr/local/bin/yarn
 - npm: 6.4.1 - /usr/local/bin/npm
## npmPackages:
 - @loadable/babel-plugin: ^5.11.0 => 5.11.0
 - @loadable/component: ^5.11.0 => 5.11.0
 - @loadable/server: ^5.11.0 => 5.11.0
 - @loadable/webpack-plugin: ^5.7.1 => 5.7.1

loadable-component should be always React.forward_ref, as well as always not contain any static props from the underlaying component, as long as it's "not known yet".
I am not yet sure why your setup is "sometimes" working - it should not - but I would try to encourage you to change your data loading logic until it is not too late.
It's time to hoist "needs" above the loadable, to be able to load what is needed - data and the code - in the parallel.

I replaced the above
const needs = []
routes
    .map(route => {
      const match = matchPath(req.path, route)
      return match && route.component.needs && needs.push(route.component.needs)
    })

with
  const routeComponents = await Promise.all(
    routes
      .map(route => {
        const match = matchPath(req.path, route)
        if (!match) {
          return
        }
        return route.component.load()
      })
  )
  routeComponents.map(
    ({ default: route }) => route.needs && needs.push(route.needs)
  )

this consistently gives the correct Module
I'm just not sure if this is the right approach as this logic runs for each request
As for the  It's time to hoist "needs" above the loadable, to be able to load what is needed - data and the code - in the parallel. I'm sorry, I didn't understand this part
The idea behind the needs property is that in any route component
I would add something like
class Home extends Component {
  render() {
    return (
      <div>
        Home
      </div>
    )
  }
}

Home.needs = ({ store: { dispatch } }) => dispatch.count.incrementAsync()

and then get this in SSR from routes and run promise.all for all needs for all matched routes
and do the same for the browser. so essentially keep same logic to get API data on route changes
also I am not yet sure why your setup is "sometimes" working  it works correctly every time expect the first request to node

I'm sorry, I didn't understand this part.

I am referring to Render-as-You-Fetch pattern.
First now to render a page you have to 1) first load the component 2) then load the data for the component. You should try your best to do 1 and 2 simultaneously, and the only way to do it - define needs above splitting point. For example in Routes.
Yes, that's breaking "component model", but what is "component" and do you really need it? Probably the better user experience is the only thing which really matters.

Hello,
I got the same issue than you
And someone once told me this is a normal behavior.
check this link https://github.com/gregberge/loadable-components/issues/473#issuecomment-561973760
Cheers.


Put inductive/structure documentation before field documentation

Consider a user trying to find out what Std.Format is. They navigate to
https://leanprover-community.github.io/mathlib4_docs/Init/Data/Format/Basic.html#Std.Format
and the first thing they read is that .nil is “The empty format”. Only a good page further down, and separated from the last constructor’s doc with only an easy-to-miss change of indentation and font size, they find

A string with pretty-printing information for rendering in a column-width-aware way.
The pretty-printing algorithm is based on Wadler's paper A Prettier Printer.

Would it be possible to put the main documentation for the structure/inductive before the fields? See maybe the Haskell docs for inspiration.

Funnily enough this was the original behavior and people on the Zulip explicitly requested me to do the change to how it is now. See commit d3d67c1d927663e64d40c1bf6413ece72a2ba9a5 and e5ff71991d8102b9711211a6d8e8880534100e41. So if you want this to be changed I guess you'll have to arrange yourself with @eric-wieser^^

Originally we used to have the ctor documentation above the ctor type but that was changed by @eric-wieser. If we do this change of swapping the whole type docs above the thing, would it be sensible to also reswap the ctor doc? And what do you, Eric, think about switching the type doc above given that you originally advocated for the ctor doc switch?

I still firmly believe that constructors and fields names should be shown before their descriptions. I don't think I ever expressed an opinion on where the main docstring belongs, beside it appearing somewhere after the name.

So inductive name, type, docs, followed by list of ctor, type, docs makes sense, does it?


[Issue-3005] Extension - Don't display network on Mission pool details

Related issue: #3005

🚀 Deployed on https://pr-3009--sw-web-runner.netlify.app


Improve grep search

Reduce the context line number to 1, make "git grep" search respect the include/exclude patter, and fix #30785

Why the line number reduction?

During my daily usage, I found showing 3 lines (one before, one hit, one after) is better.
Showing too many lines makes it more difficult to find the hit result.


Add option to force plotting as a notebook

When the environment isn't recognized, drawing defaults to launching a web browser. This is generally good but requires a list of compatible "notebook" environments as each notebook has its own naming. Many of these notebooks prevent launching a web browser which can lead to a cryptic error for users. Add an option to force plotting as if it was in a notebook and include documentation around this common issue.

Added draw(..., force_notebook=True) which forces the visualizer to plot as if it was in a notebook even if the environment isn't recognized as a notebook.


Sql Server command timeout issue

Hi
We have an issue with sql server command timeout. It seems that it uses default timeout when running migrations:
https://github.com/canton7/Simple.Migrations/blob/master/src/Simple.Migrations/Migration.cs#L64
The command timeout ends up with default 30 seconds.
It would nice to have the option of configuring this for a migration.
We work around it right now by overriding Execute in the migration. So this is a nice-to-have, not a need-to-have :)

Fair point: the timeout is configurable on the database provider, and it makes sense that it's used in the migration as well.

Does that look OK from your perspective?

Thumps up from here

Cool, I'll release that soon. Thanks for your input!


Added: support of external references

Added API to support integration with other applications.  Based on
harvesthq platform button.

We may want to get some more test coverage on the new ExternalRef property on DayEntry. Other than that I have not problem with these changes if you want to reopen.


Doesn't work in project that depends on MDX 2

I have a project that I'm trying to upgrade to MDX 2 (where I use MDX outside of Storybook)
🐞  Minimal reproduced test case here
After yarn installing, my node_modules looks like this:
node_modules/
  @mdx-js/
    mdx/ (2.0.0, the one my project explicitly depends on)
  storybook-builder-vite/
    node_modules/
      @mdx-js/
        mdx/ (1.6.22, the one storybook-builder-vite and vite-plugin-mdx depend on)
      vite-plugin-mdx/
        dist/
          imports.js (the source of the error)

I think that should be fine. storybook-builder-vite and vite-plugin-mdx should find 1.6.22 because dependency resolution.
But vite-plugin-mdx is actually attempting to load 2.0.0 from the root node_modules, and exploding because it's not finding the expected commonjs export from 1.6.22:
$ yarn storybook
yarn run v1.22.17
$ start-storybook -p 6006
info @storybook/react v6.4.18
info
info => Loading presets
ERR! Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from /Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js not supported.
ERR! Instead change the require of index.js in /Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js to a dynamic import() which is available in all CommonJS modules.
ERR!     at Object.requireMdx (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js:10:12)
ERR!     at Object.createTransformer (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/transform.js:16:27)
ERR!     at Object.configResolved (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/index.js:46:43)
ERR!     at /Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:70984:127
ERR!     at Array.map (<anonymous>)
ERR!     at resolveConfig (/Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:70984:35)
ERR!     at async createServer (/Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:56354:20)
ERR!     at async Object.start (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/dist/index.js:43:20)
ERR!     at async Promise.all (index 0)
ERR!     at async storybookDevServer (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/dev-server.js:126:28)
ERR!     at async buildDevStandalone (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/build-dev.js:115:31)
ERR!     at async buildDev (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/build-dev.js:161:5)
ERR!  Error [ERR_REQUIRE_ESM]: require() of ES Module<EMAIL_ADDRESS>from /Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js not supported.
ERR! Instead change the require of index.js in /Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js to a dynamic import() which is available in all CommonJS modules.
ERR!     at Object.requireMdx (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/imports.js:10:12)
ERR!     at Object.createTransformer (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/transform.js:16:27)
ERR!     at Object.configResolved (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/node_modules/vite-plugin-mdx/dist/index.js:46:43)
ERR!     at /Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:70984:127
ERR!     at Array.map (<anonymous>)
ERR!     at resolveConfig (/Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:70984:35)
ERR!     at async createServer (/Users/me/test-case-mdx-import/node_modules/vite/dist/node/chunks/dep-c9c9d3e5.js:56354:20)
ERR!     at async Object.start (/Users/me/test-case-mdx-import/node_modules/storybook-builder-vite/dist/index.js:43:20)
ERR!     at async Promise.all (index 0)
ERR!     at async storybookDevServer (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/dev-server.js:126:28)
ERR!     at async buildDevStandalone (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/build-dev.js:115:31)
ERR!     at async buildDev (/Users/me/test-case-mdx-import/node_modules/@storybook/core-server/dist/cjs/build-dev.js:161:5) {
ERR!   code: 'ERR_REQUIRE_ESM'
ERR! }

If I yarn remove @mdx-js/mdx (so the only one left in the project is the one you're depending on) everything works.

I don't know anything about Vite plugins or Storybook builders to know where to start on this one.
I know vite-plugin-mdx isn't this repo, but I could only reproduce the error when I coupled it with a storybook setup like this.
Cheers!

@IanVS I don't think so, this is the only really relevant thing I could find that seems to indicate they're sticking on 1 for now https://github.com/storybookjs/storybook/issues/17455#issuecomment-1034060377

Thanks for looking into that.  Do you think we can close this issue until/unless MDX 2 is supported by storybook?

@IanVS couple of reasons I don't think we should close this (but I have a personal interest in getting it working 😄 so take this with a grain of salt)

It seems unique to storybook-builder-vite. If I delete this and go with the default builder, it works fine
It doesn't feel like the dependency versions used by Storybook internally should (or usually do) dictate the dependencies of application code. To be clear I'm not trying to get Storybook to use MDX 2 for .stories.mdx files, they can upgrade at their pace, but I think my application code should be able to specify its dependencies independent of Storybook's internals.

Ah I see, I misunderstood the original issue, thanks.  I don't use MDX personally, so I'll need to rely on community members to step in here.

I have this repository https://github.com/Stunext/docsBug  with React 18 and MDX2... I have this error in the console:
Uncaught SyntaxError: The requested module '/node_modules/.vite-storybook/deps/@mdx-js_react.js?v=7dce4f03' does not provide an export named 'mdx'

This happens in mdx files. The root of this error can be seen in the source tab at the line:
import React from 'react'
import { mdx } from '@mdx-js/react' <- This line

I think it's important not to close this issue because mdx2 will be the base for storybook 7. Even mdx2 has support for @mdx-js/esbuild and @mdx-js/rollup.
mdx1.x use this sintax:
import mdx from '@mdx-js/mdx'

const result = await mdx('# hi')

console.log(result)

Instead, mdx2 uses:
import {compile} from '@mdx-js/mdx'

const result = await compile('# hi', {
  providerImportSource: '@mdx-js/react',
})

console.log(String(result))

Migration instructions here https://mdxjs.com/migrating/v2/

Thanks @Stunext.  I think we need to check for the previewMdx2 feature flag and use @storybook/mdx2-csf here: https://github.com/storybookjs/builder-vite/blob/97f9ce42c3ade3e8e1052dfe56518c6a22c6ab07/packages/builder-vite/mdx-plugin.ts#L2.  I'll be happy to review a PR if anyone wants to jump in and make one.  Otherwise, I'll try to get to it soon.

I've spent some time digging into this, and made some progress.  The main issue right now is that the @storybook/mdx2-csf package uses babel to process the jsx, adding the react-runtime commonjs dependency.  Instead, we need the jsx to be intact so that we can pipe the resulting code through @vitejs/plugin-react to get the vite react refresh set up.  @shilman is going to take a look at providing a way to avoid this babel transform for the vite builder.