Differentiating through diffeqsolve under jax 0.4.34 raises TypeError: Custom JVP rule ...

Hi @patrick-kidger, it seems that the latest jax 0.4.34 has brought a new bug.
When differentiating through diffeqsolve with jax.grad, I get the error:
TypeError: Custom JVP rule must produce primal and tangent outputs with corresponding shapes and dtypes, but got:
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])
  primal bool[] with tangent bool[], expecting tangent ShapedArray(float0[])
  primal bool[] with tangent bool[], expecting tangent ShapedArray(float0[])
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])

Here is a MWE:
import diffrax as dx
import jax.numpy as jnp
import jax

solver = dx.Dopri5()
y0 = jnp.array([2., 3.])

def tograd(a):
    term = dx.ODETerm(lambda t, y, _: -a * y)
    return dx.diffeqsolve(term, solver, t0=0, t1=1, dt0=0.1, y0=y0).ys[0, -1]

jax.grad(tograd)(1.0)

and the full stacktrace:
TypeError                                 Traceback (most recent call last)
File Untitled-6:12
      [9](untitled-6:9)     term = dx.ODETerm(lambda t, y, _: -a * y)
     [10](untitled-6:10)     return dx.diffeqsolve(term, solver, t0=0, t1=1, dt0=0.1, y0=y0).ys[0, -1]
---> [12](untitled-6:12) jax.grad(tograd)(1.0)

    [... skipping hidden 10 frame]

File Untitled-6:10
      [8](untitled-6:8) def tograd(a):
      [9](untitled-6:9)     term = dx.ODETerm(lambda t, y, _: -a * y)
---> [10](untitled-6:10)     return dx.diffeqsolve(term, solver, t0=0, t1=1, dt0=0.1, y0=y0).ys[0, -1]

    [... skipping hidden 27 frame]

File ~/miniconda3/lib/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1272, in _stop_gradient_on_unperturbed_jvp(***failed resolving arguments***)
   [1268](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1268) del primals, tangents
   [1269](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1269) perturb_val, perturb_body_fun = jtu.tree_map(
   [1270](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1270)     lambda _, t: t is not None, (init_val, body_fun), (t_init_val, t_body_fun)
   [1271](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1271) )
-> [1272](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1272) perturb_val = _resolve_perturb_val(
   [1273](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1273)     init_val, body_fun, perturb_val, perturb_body_fun
   [1274](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1274) )
   [1275](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1275) t_final_val = jtu.tree_map(
   [1276](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1276)     _perturb_to_tang, t_final_val, perturb_val, is_leaf=_is_none
   [1277](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1277) )
   [1278](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1278) return final_val, t_final_val

File ~/miniconda3/lib/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1241, in _resolve_perturb_val(final_val, body_fun, perturb_final_val, perturb_body_fun)
   [1238](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1238)         else:
   [1239](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1239)             perturb_val = jtu.tree_map(operator.or_, perturb_val, new_perturb_val)
-> [1241](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1241) perturb_val = jax.eval_shape(_resolve_perturb_val_impl).value
   [1242](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1242) return perturb_val

    [... skipping hidden 12 frame]

File ~/miniconda3/lib/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1214, in _resolve_perturb_val.<locals>._resolve_perturb_val_impl()
   [1211](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1211)     return _out
   [1213](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1213) # Not `jax.jvp`, so as not to error if `body_fun` has any `custom_vjp`s.
-> [1214](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1214) jax.linearize(_to_linearize, dynamic)
   [1215](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1215) if new_perturb_val is sentinel:
   [1216](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1216)     # `_dynamic_out` in `_to_linearize` had no JVP tracers at all, despite
   [1217](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1217)     # `_dynamic` having them. Presumably the user's `_body_fun` has no
   [1218](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1218)     # differentiable dependency whatsoever.
   [1219](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1219)     # This can happen if all the autograd is happening through
   [1220](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1220)     # `perturb_body_fun`.
   [1221](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1221)     return Static(perturb_val)

    [... skipping hidden 5 frame]

File ~/miniconda3/lib/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1207, in _resolve_perturb_val.<locals>._resolve_perturb_val_impl.<locals>._to_linearize(_dynamic)
   [1205](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1205) def _to_linearize(_dynamic):
   [1206](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1206)     _body_fun, _val = combine(_dynamic, static)
-> [1207](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1207)     _out = _body_fun(_val)
   [1208](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1208)     _dynamic_out, _static_out = partition(_out, is_inexact_array)
   [1209](~/python3.11/site-packages/equinox/internal/_loop/checkpointed.py:1209)     _dynamic_out = _record_symbolic_zeros(_dynamic_out)

    [... skipping hidden 10 frame]

File ~/miniconda3/lib/python3.11/site-packages/jax/_src/custom_derivatives.py:351, in _flatten_jvp(primal_name, jvp_name, in_tree, maybe_out_type, *args)
    [344](~/python3.11/site-packages/jax/_src/custom_derivatives.py:344)     msg = ("Custom JVP rule must produce primal and tangent outputs with "
    [345](~/python3.11/site-packages/jax/_src/custom_derivatives.py:345)            "corresponding shapes and dtypes, but got:\n{}")
    [346](~/python3.11/site-packages/jax/_src/custom_derivatives.py:346)     disagreements = (
    [347](~/python3.11/site-packages/jax/_src/custom_derivatives.py:347)         f"  primal {av_p.str_short()} with tangent {av_t.str_short()}, expecting tangent {av_et}"
    [348](~/python3.11/site-packages/jax/_src/custom_derivatives.py:348)         for av_p, av_et, av_t in zip(primal_avals_out, expected_tangent_avals_out, tangent_avals_out)
    [349](~/python3.11/site-packages/jax/_src/custom_derivatives.py:349)         if av_et != av_t)
--> [351](~/python3.11/site-packages/jax/_src/custom_derivatives.py:351)     raise TypeError(msg.format('\n'.join(disagreements)))
    [352](~/python3.11/site-packages/jax/_src/custom_derivatives.py:352) yield primals_out + tangents_out, (out_tree, primal_avals)

TypeError: Custom JVP rule must produce primal and tangent outputs with corresponding shapes and dtypes, but got:
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])
  primal bool[] with tangent bool[], expecting tangent ShapedArray(float0[])
  primal bool[] with tangent bool[], expecting tangent ShapedArray(float0[])
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])
  primal int32[] with tangent int32[], expecting tangent ShapedArray(float0[])

Thanks for the report! Looks like JAX changed how tangent dtypes for nondifferentiable types are handled. This should be fixed in https://github.com/patrick-kidger/equinox/pull/871 .
Let me know if you bump into any other issues with the latest JAX release. Once it looks like things have settled then I'll do a new Equinox release.

Thanks for the quick fix!

Either downgrade JAX or upgrade to Equinox HEAD. (And there will be an official Equinox release in the next few days.)


Add gitleaks to detect secrets

You can run the git-hook target to install the pre-commit hook. It will still run on every PR (as part of the lint target), but it's safer to execute before even committing.

@dgn: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_sail-operator_main
0ac2725b282fb8302e189d8341099200689065d6
link
true
/test lint

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

@dgn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

lint_sail-operator_main
0ac2725b282fb8302e189d8341099200689065d6
link
true
/test lint

e2e-kind_sail-operator_main
0ac2725b282fb8302e189d8341099200689065d6
link
true
/test e2e-kind

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

@dgn: The following tests failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name
Commit
Details
Required
Rerun command

e2e-kind_sail-operator_main
0ac2725b282fb8302e189d8341099200689065d6
link
true
/test e2e-kind

lint_sail-operator_main
d7a7b32213f9fd1e09a8b0fe4a776b3996bb9834
link
true
/test lint

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


Collin

Had tests in place, but did not get them passing. Seem to have forgot to implement the calculator.


Add Comment Blocks

Comment blocks allow you to annotate your scripts more clearly.

Example:

Color makes it a little hard to read the "//" text but other than that this looks good


PolicyMapper workaround caused by incorrect JSON LD provided by EDC

Link

Acceptance criteria

[ ] Workaround for Bug implemented https://github.com/eclipse-edc/Connector/issues/4179
[ ] Workaround for Bug implemented https://github.com/eclipse-edc/Connector/issues/4192

Works without any changes. It was a temporary problem that the irs was not reset while the rest of the environment had a reset. As the system was then out of sync it could not trigger the provisioning of a policy.


Use Schema#newBuilder instead of TableSchema#fromResolvedSchema

The PR removes usage of deprecated TableSchema.fromResolvedSchema

@snuyanzin Thanks for contribution.
Please rebase the master branch and make the CI pass. Thanks.
LGTM.

Thanks @snuyanzin for the great work, could you please rebase it with latest master branch?

sorry, seems I missed it
rebased


Wire Frame Rendering

Add a Rendered struct for rendering wire frame shading.

This is implemented at 8585694fb110d79b5a0cad9875b838d2fff5e900 .
There is an example truck-rendimpl/examples/wireframe. I have no idea to test this by automatically...


Finish implementing mobile wallet switcher

Make the whole top area of the header clickable.
Add a caret + badge to header.
Add check or badge to right side of wallet row.

Did my best to reproduce the badge over caret from the design:

I'm a bit worried that it's not so obvious that the account switcher is scrollable.  Below's a typical view. Perhaps we should adjust the height to show 1.5 rows or something?

Here's what the row badges look like. I had the check mark override any unread badge.

This doesn't remove the existing wallet switcher yet -- that'll be in the next PR.


chore(expr): cleanup all RwErrors

Signed-off-by: Bugen Zhao<EMAIL_ADDRESS>I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
As title.
Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

Refer to a related PR or issue link (optional)

#4077

May let #4862 merge first.


Made project parameters mandatory in code for SonarQube analysis in G…

…radle build.

Hi @HSAR, I'm your friendly neighborhood Microsoft Pull Request Bot (You can call me MSBOT). Thanks for your contribution!

In order for us to evaluate and accept your PR, we ask that you sign a contribution license agreement. It's all electronic and will take just minutes. I promise there's no faxing. https://cla.microsoft.com.

TTYL, MSBOT;

Diff has failed slightly - in the tests the following has changed:

The test case for ordinary analysis now specifies the project name, key and version (and checks for the same).

The test case for analysis on an older version of SonarQube now specifies the project name, key and version (and checks for the same).

The test case for analysis with a specified name, key and version has been deleted as it has merged into the first two.

LGTM


Suggestion for optimization

Hi Luis,
Thanks for open sourcing your solution to this problem.
In both rich_label_auto_sizer.gd and label_auto_sizer.gd, the current approach is a linear one, where the size is incremented at a consistent interval. I can see the _max_steps variable was probably added to limit the computational cost of linearly scanning across all possible sizes. Instead you could do a binary search which would take the "time complexity" of this from linear O(n) to logarithmic O(log2(n)). This should fairly quickly converge on the correct value with less need to limit the number of iterations (which introduces the possibility of incorrect sizing).

Hi, the  _max_steps variable is not at all intended to control performance of the addon.. it's directly related to the _size_per_step variable and it's there just to declare a minimum size. Like, if the base font size is 8, the size per step is 2 and the max steps is 1, the font size will never be smaller than 6.
At the moment I'm updating the addon, reworking the whole thing so it's easier for the users, and the both he max steps and size per step variables won't be around anymore, just not for performance reasons though, as I don't think there is much left to do there given it's written in GDScript and Labels only offer so many ways to achieve what the addon tries to do.


disable dependabot for now

dependabot is a bit too noise for this project so I am disabling it for now

.deploy


TST: fix and improve optimize/slsqp tests

While working on constrained minimization algorithms, I felt that slsqp test suite would benefit from a better coverage and some improvements...
Improve coverage:

test the second form of constraints (f_eqcon, etc.);
test the use of analytical jacobian for constraints;
test the use of bounds;
test some combinations of constraints/bounds;
test exit status (imode).

Fix some tests to make the code and method's name consistent.

Test 2 test_unbounded_given should have been using the analytical
Jacobian but did not and was hence identical to the first one. It uses
the analytical jacobian now.
test_bound_* did not actually use bounds, but equality or inequality
constraints only and test_bound_equality_inequality_given does not have
equality constraints nor bounds. Update methods name accordingly.

Style & co.: define constraints functions and derivatives as methods, add
docstrings, PEP8 and other minor changes.

Looks good to me, +1

Looks good--thanks!


Installing dataclasses conditionally on the python version.

There are two version of dataclasses package – one that's installable with pip and the other one which is internal for python from 3.7. The first one is needed if you're using python 3.6.
The problem arises when you're using python 3.7 and have one package that installs the "external dataclasses" (i.e. codecarbon) and another one which uses "internal dataclasses".
Given that both packages have the same name, the code imports "external" when it should be using "internal", which leaves to an error because they actually differ.
This PR solves this by installing the "external" dataclasses only if python version is lower than 3.7.

@LiamConnell – could I get some comments on this?
Is there sth wrong with this approach, any insight why the builds might be failing / how to re-run them?

@LiamConnell – could I get some comments on this?
Is there sth wrong with this approach, any insight why the builds might be failing / how to re-run them?

Hi @mstechly.
The "greetings" GH action is confusing to me as well and I've asked @Lothiraldan to help look into it.
The "build 3.8" test that is failing is due to a numerical precision error, which I've fixed recently in a different PR. Can you try merging the latest from master and trying again?

@mstechly The GH action has been removed. Merging the most recent changes from master should let this pass all the CI steps.

I've merged master in and all the checks are passing :)
Thanks!

The conda package might need to be fixed as well: https://github.com/mlco2/codecarbon/blob/master/.conda/meta.yaml

@Lothiraldan I guess I should also change requirements-dev.txt then?

Yes and unfortunately I don't think conda support environment markers:
Received dictionary as spec.  Note that pip requirements are not supported in conda-build meta.yaml.  Error message: Invalid version ''3.7'': invalid character(s)

One possible solution would be to have two recipes, one for Python < 3.7 and one for Python >= 3.7 but it will add to the maintenance cost.

@Lothiraldan It seems that another solution would be to use some templating tool like jinja? Then you could be generating meta.yaml on the fly dependently on the system / have two versions of meta.yaml that are generated this way.
Either way – I don't use conda and don't understand how it works, so would appreciate your help here :)

@mstechly Unfortunately the meta.yaml is static and not processed at installation time but rather at build time. So it isn't possible to use jinja at installation time.

@Lothiraldan Makes sense.
On the other hand, I stumbled on this guide and I think using coupling keys could be a solution to this problem.
Though I don't see conda_build_config.yaml anywhere and I don't know if that's a good way to proceed in this project, so before I jump on implementing that, I'd like to hear your opinion :)

@Lothiraldan any comments regarding my previous suggestions>?>

Hi @mstechly I gave coupling keys a try in one of our internal conda package that have a similar challenge and unfortunately I couldn't get it to work and found it was quite difficult to debug the slow build process. If you can get it to work, I will happily review it.
Keep in mind that the results of any pre-processing would be multiple conda archives and manually maintain several conda packages is indeed more maintenance work but those files shouldn't change much.

@Lothiraldan Sounds like a lot of fun and not something I think I can do a better job than you did.
It looks like there's no good way out :/
I think this suggestion is the best one so far but adds maintenance cost as you've mentioned:
https://github.com/mlco2/codecarbon/pull/97#issuecomment-771026877
?

This is now ready for review


SC27427 Document Customer JWTs

@gavinballard not sure how you feel about a table of contents but it would give a more pointed experience to outbound devs.

Thanks @matoni109!


better init failed message

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-4 of 4 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.8%) to 88.916%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/native/realm_core.dart
0
2
0.0%

lib/src/realm_object.dart
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.8%

Covered Lines:
2214

Relevant Lines:
2490

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 4 (0.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-0.03%) to 89.642%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/src/native/realm_core.dart
0
2
0.0%

lib/src/realm_object.dart
0
2
0.0%

Totals

Change from base Build<PHONE_NUMBER>:
-0.03%

Covered Lines:
2657

Relevant Lines:
2964

💛  - Coveralls


i tried it in linux but i think it's not supported yet

pip install flet-timer==0.0.13
Collecting flet-timer==0.0.13
Using cached flet_timer-0.0.13-py3-none-any.whl (4.1 kB)
ERROR: Could not find a version that satisfies the requirement interval-timer (from flet-timer==0.0.13) (from versions: none)
ERROR: No matching distribution found for interval-timer (from flet-timer==0.0.13)

Well, on Linux I develop it, it's strange that it can't find the interval-timer dependency.
I should probably drop the dependency entirely, as it’s pretty trivial what it does.
If you can contribute, I would accept pull requests.


Cron for checking stability of the plugin

Describe the solution you'd like
I have seen that this plugin breaks often due to dependency issues. It would be great to have a stability label on the page somewhere which tells you if its a plugin issue and notifies the authors/contributors about the breakage.
Screenshots
If applicable, add screenshots to help explain your problem.

If you want I can try working on this.


Add linking IDs for relocated facilities

Overview
Sometimes facilities close and relocate to a new address. In these
instances, the original facility will be marked as closed, but we
should be able to link the closed facility to the new facility ID.
Unlike deleted facilities, users should still be able to see the closed
facility's details, so they are not rerouted automatically. Instead, on
a closed facility profile, a link is added to allow users to easily
navigate to the new facility details page.
In addition, administrators require a method to link the closed
facilities to the new ids. Therefore a new page has been added to the
admin dashboard allowing a new OAR ID to be linked to a facility.
Connects #1215
Demo

Testing Instructions

Run ./scripts/manage migrate
Run ./scripts/server
Close a facility, and note the ID of the closed facility.
Obtain another facility ID. Navigate to the admin dashboard and to Link to New OAR ID.
Enter the closed facility ID and click search - the facility should be found.
Enter the other facility ID and click search - the facility should be found.
Click 'link'. You should see a label by the closed facility listing the new OAR ID.
Navigate to the closed facility details page. You should see a Closed banner with a link to the other facility.
Fetch the history for the closed facility from the API. You should see the new OAR ID change listed.

Checklist

[x] fixup! commits have been squashed
[ ] CI passes after rebase
[x] CHANGELOG.md updated with summary of features or fixes, following Keep a Changelog guidelines

Thank you for reviewing!


Query Compile Time Checking Not Working

Could you please expand on your issue? What did you want to achieve, what did you try, what did you expect and what happened? It would be best if you could also provide a reproducible example and some logs, to be able to help you quickly.

Without providing details, we can not help you. Closing this issue due to inactivity.


修复 paddle\nn\layer\norm 等 API 的文档

PR types

Bug fixes
PR changes

Docs
Description

涉及到的 API 有
docs\api\paddle\Tensor_cn.rst
docs\api\paddle\arange_cn.rst
docs\api\paddle\optimizer\Momentum_cn.rst
关联文档：https://github.com/PaddlePaddle/Paddle/pull/57112

需要解决下冲突

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

收到了，谢谢


Better save/load gui

Now Save/Load gui, allows only for 6 save slots and don't show quick and auto slots.
I need change that to make number of saves not limited and also to show quick and auto slots on load.

Done, now I must add settings for it in RakugoTheme (for slot) and in ProjectSettings add layout setting for grid or vbox

Is done :D and I forgot to close this.


inherit select element width to the Select options list

Any workaround for this ?

+1

+1 this - it looks pretty silly when they don't match https://twitter.com/ryangiglio/status/656133393785057280


DDP training with torch or apex.

It's a boilerplate implementation of Distributed Data-Parallel training.
for torch dsitributed:
CUDA_VISIBLE_DEVICES="0, 1" python  -m torch.distributed.launch --nproc_per_node=2  parallel_wavegan/bin/train.py --train-dumpdir egs/ljspeech/voc1/dump/train_nodev/norm --dev-dumpdir egs/ljspeech/voc1/dump/dev/norm --outdir ../keep --config egs/ljspeech/voc1/conf/parallel_wavegan.v1.yaml

for apex:
CUDA_VISIBLE_DEVICES="1,2,3,4,5,6,7" python3 -m apex.parallel.multiproc parallel_wavegan/bin/train.py ...

I lately tried 8 GPUs and experienced a speed up in convergence time with 4x higher learning rates. So it might be useful for other people.

Thank you for a great new feature!
Could you pull the latest master to run the CI?

Thanks a lot!


Child Page Reference in toMarkdownString() with separateChildPage = true

Hey!
Just started using this library and loving it so far!
I am running into an issue and was wondering if this was intentional or not.
When converting a Page with Child Pages with toMarkdownString() (config option separateChildPage = true), there is no markup left in the parent page content indicating that a the child page was there.
From the example:

The current output is:
{
"parent": "\nThis is parent page content \n\n\nback to the parent page\n\n [...rest of the output...],
"Level 1 page: ": "\nThis is a level 1 page [..rest of the output...]
}
However, in my situation it would ideal if the output look like this:
{
"parent": "\nThis is parent page content \n\n**[Level 1 page](/level-1-page)**:\nback to the parent page\n\n [...rest of the output...],
"Level 1 page: ": "\nThis is a level 1 page [..rest of the output...]
}
The markup it self doesn't have to exacly this but the ability to add a reference to the child page would be amazing.
Is this intentional or a missing feature?
Implementing this would (I believe) look like this: https://gist.github.com/damourChris/f3de3c46378a8e3ab169ea4055fb2c22
Thank for you work!

@damourChris apologies for the super late response. I'm working on the version 4 and would love to have your feedback on how this specific use case can be added to v4.
here is the discussion link: https://github.com/souvikinator/notion-to-md/discussions/112


Global variables new syntax

Global variables now follow this syntax $global--concept--PropiertyCamelCase--modifier--state
This is a global change in every file to reflect that.
This PR will destroy #68 but I think we should merge this and do the turn variables from CSS to SASS before fixing it.
resolves #125

@cliffpyles I think I've removed them all, can you take another look please?


Refining the Permission settings dialog

This pull-request might look like meaningless bike-shedding changes if someone already knows how Hubzilla permissions work, but I'm trying to make the permission system deducible from the user interface.
I could sorta guess how things most likely worked, but not being certain, and flip-flopping a few times in my interpretation undermined my trust in the permissions. I ended up reading the code to find out and to have some certainty.
I won't assume these changes are an improvement for everyone, they add a little bit of clutter, so I'm going to post waaay too much text about the rationale and problem each change solves - that way alternative proposals can also address these problems:
To put yourself in the head of a new user, imagine the following:

You can see there's some kind of relationship between the "Public" button and the "Show"/ "Don't show" buttons, but can't be certain what it is - the "Public" colour sometimes changes, but it's not clear what orange or white means.

You click public, then click a "show" button - which shouldn't stop it from being public because you haven't set anything to "Don't show", but the public button changes colour anyway.

So perhaps "Show" is setting something slightly different to public-ness? The word "Show" suggests an active role - perhaps the "Show" buttons are for which channels are notified of the post - where it's shown, rather than who is allowed to see it?

Channels have 3 states (normal, show, don't show), but you're not certain what "Show" means, and the normal state could mean lots of things: Use default permission, allow people to see it but don't spam it to them, etc. It could mean don't show it, but the presence of a "Don't show" button hints that the default action isn't to deny access.

Some other confusion I had was:

Permissions button missing from the edit screen (addressed in FAQ)
Search button was so wide and same colour as background that I never noticed the icon and never paid attention to it - it became a background shape, like an unlabelled button or spacer. Its position was associated with the Public button, not with channel selection.

With all that in mind, here's what this pull request changes:

Radio buttons with labels used to explicitly show the exclusive relationship between public and restricted, and which of the two you're "on".
brief text to warn that permissions can't be changed after a post (not shown if you're editing photos etc)
brief text to reinforce this is only about permissions and not about actively "showing" anything. (this one is a candidate for being culled, thanks to context help and clever wording in the brief text about Show/Dont show)
brief text to clarify how "Show" and "Don't show" differ from "normal". Also hints that "Show" is passive.
"Search" placeholder in the search box to make its purpose harder to miss.
Layout now associates search box with the channels and groups, instead of being with the public button.
lock icon to help people subliminally learn what the lock states represent in terms of permissions. Also helps emphasize when a post is public.
Context help icon. This brings up help in a seperate tab/target because the existing context help window needs to be underneath the dialog. (I've also used fontawesome locks in the help file, which I'm not certain I'm allowed to assume?)

Possible future improvements:

make it pretty. Fancy radio buttons etc.
Implement the read-only mode, so permissions for posts you have already sent can still be viewed.
Add help for items like photos (they work differently to the items that currently have a help file).
Suggestions from others for better phrasing.

Read-only mode can wait until I know what will happen with the permissions dialog.

I haven't tested yet, but I'm going to merge this and think it's awesome work. As you are a reasonably new contributor I would like to ensure that you are aware of a couple of things. (You've got a decent grasp, but there are some undocumented subtleties).

The permissions dialog is used in many things besides 'posts' and in these other contexts you are allowed to change permissions after the fact.

The word 'Public' is also only used in specific contexts as some permission combinations are possible where the term doesn't apply. Some channels have a "default audience" that is more restrictive, such as "only in this network". I believe that in cases where the default audience is anything but public we change the text from "Public" to "visible to your default audience".

To ensure the best experience overall, we may need to provide a bit more context from the calling function as traditionally the ACL widget is mostly context free in order to allow its use for lots of different things. But these different uses have slightly different requirements and perhaps we're approaching the time where we allow the tool to be more tailored to its use.

The ACL dialog does not display for me in the new post editor, but it works for photo permission editing for example.
Version 1.4.4+8c9a773

It handles contexts where you are allowed to change permissions after the fact (that warning is a dialog description field that is left blank if you don't set it - I've set it for network and channel posts), and the "visible to your default audience" phrase is also used as appropriate.
I've just remembered that I don't have any network plugins installed on the dev deployment, so the layout has not taken $jot_networks into account. The functionality shouldn't be impaired but positioning might be wrong.

The ACL dialog does not display for me in the new post editor, but it works for photo permission editing for example.

The new post editor is where extra (optional) parameters for the dialog description and help are passed to populate_acl(). I'll go make sure my dev deployment exactly matches the git repo.

Works fine for me. Might be a cache issue @anaqreon
I've now run through it and don't have any issues. (I don't see any edits for Zotlabs/Module/Rpost' which is a standalone post editor. Might be useful there). Great work. Thanks.

Nevermind, it does work. I like the new dialog. I'll pretend that it was a cache issue so I don't have to share how asinine the real problem was.

I understand that the way the permission settings dialog appears is not self-explanatory for newcomers. I am not convinced though that the radio-buttons make sense in this case... It is confusing that the "Public" button can be selected but the "Limit access" button is merely an indicator for example. I don't have anything better to contribute at the moment but will think about a solution to make the whole thing better flowing...
Another thing: we don't have any redbasic design guidelines written down anywhere (me was to lazy). Over the last two years i mostly worked on the ui/ux and with the time the thing got a certain style which would be great to maintaine throughout the application. Think about font-size, background and font colours etc. (we mostly use the darker background colour to highlight things and for toplevel posts). Also there are already a number of predefined classes for a number of things (e.g. section-content-info-wrapper for info text with a light blue background)
Me should really take the time and write down the most important things soon...

The use of the background color is to make the search box distinct from the background, so it doesn't look like a frame, and to help the actual frame be percieved like a panel. It doesn't have to be #ccc, and other solutions are possible.
I know where you're comming from with the radio button too, however the radio buttons can be customized with CSS, for example unchecked could be blank and checked could be a giant arrow ->, that way it still illustrates the state, illustrates the exclusive nature, but you don't feel like you're supposed to click on the space where the arrow goes.
I wasn't going to mention it, but if we're thinking about design guidelines... I like the how the borders of affected channels reflect the green "Show" color or the red "Don't show" - I really like it, but they probably look too similiar to colourblind people to be of use. Normally you would avoid the colorblind issue by switching green for blue, but a green border exactly matching the buttons is perfect, I don't want it to be blue. So I was wondering... should we kick this can down the road and worry about it later? Should we have a colorblind schema for redbasic? Should we have a "colourblind" accessibility option that adds a "colorblind" class to the body tag so that all themes can make adjustments where needed?

I just got an external network plugin configured to see what the jot_network stuff looks like in the permissions dialog. I can see I'm going to have to look deeper into that part of the UI, and it's not a job for tonight.

I think we should find a way of presenting the permission settings that no explanations are needed... The solution is probably (as most of the time) simplicity...

Should we have a colorblind schema for redbasic? Should we have a "colourblind" accessibility option that adds a "colorblind" class to the body tag so that all themes can make adjustments where needed?

Accessibility schemes (colorblind, high contrast, etc.) are absolutely desired...

I my opinion help and explanations should go to the context help of the module. We have this for permissions in the network module at the moment - the text might need some adjustment though to cover your points...

The problem is the context help appears underneath the acl dialog.
If the context help was moved above the acl dialog then the link it has to the acl dialog wouldn't work because the dialog would appear under the help.
Context help is definitely preferable if there's a way to do it.

The problem is the context help appears underneath the acl dialog.

That is for sure not perfect... I don't think this is an big issue though...

Post permissions cannot be changed after a post is sent.
These permissions set who is allowed to view the post.
Select "Show" to allow viewing. "Don't show" lets you override and limit the scope of "Show".

Those are all infos one needs to read once or twice maybe... It does not need to be visible always one uses the tool in my opinion... Especially not with a tool that is used on a regular basis...
I will start a discussion thread on channel one (our development discussion channel) because i am really curious now what issues/suggestions our userbase has with this tool...

a tool that is used on a regular basis

The changes are aimed at easing the first impression of Hubzilla, so people who give it a try aren't put off, or coming away not feeling in control.
The changes don't have experienced users in mind - those people have no need of the changes, but I expect the extra lines of text will fade out with regular use and regulars won't even notice the text is there. (though it is why the font is small and the text brief)

Post permissions cannot be changed after a post is sent.
These permissions set who is allowed to view the post.
Select "Show" to allow viewing. "Don't show" lets you override and limit the scope of "Show".

The middle line could go. Computer literacy, context help, and the third line all reduce its need.
The warning line cannot be replaced by context help - you don't know you need to read the help first, and even afterwards it's confusing in a way that doesn't lead to reading the manual for an answer.
I'd like to hope the third line saves people from needing to read the manual.

I will start a discussion thread on channel one

Yeah, UIs are best designed by more than one person, but I do hope people try to remember what it was like when they'd never used it before.

Yeah, UIs are best designed by more than one person, but I do hope people try to remember what it was like when they'd never used it before.
Yep


Rerun black formatting with lsst-dm guidelines

The data management team uses one custom setting for black, extending the line-length to 110. See here. All we need to do is add
[tool.black]
line-length = 110
target-version = ["py38"]

[tool.isort]
profile = "black"
line_length = 110

to our pyproject.toml and then rerun black.

also noting: our pylint is set to the default of 100 lines, is that something we want to keep?


Show buffer indicators

When running :ls, you can see buffer indicators (flags), but this plugin doesn't have them so it's quite hard to navigate between buffers. I sometimes clean unused buffers, but I need to know whether they were modified or not so I can safely close them. I really like the idea of this plugin, but lack of buffer indicators make it quite inconvenient to use.

Hello. Thanks for the feedback. I have a question. Are you interested in seeing all the indicators or just the modified buffer? Because if you are only or mainly interested in that one, the plugin provides a way of highlighting modified buffers. You just have to configure the highlight group BufferManagerModified in your config. For example:
hi BufferManagerModified ctermfg=19 guifg=#0000af

Anyway, thank you for opening the issue, because I just realized that this information is not available in the README.

Hello, thanks for the reply! Honestly for now seeing only information about modified buffer will do. Didn't know that I can highlight it, thanks for the tip. It would be really great though to have all the buffer indicators available in the future releases, I believe it will make it fully compatible with how vim works (and you never gonna be running :ls).

Hello. I created the branch buffer-indicators with the feature. Please let me know if it is working correctly for you.

Hello, yes, looks right!

As an idea, how do you think about putting indicators to the front of buffer name? It should be easy because there's a fixed number of maximum indicators per buffer. It would give a nice aligned view. Like :buffers command:

Added another commit. Now you can choose between 'before' and 'after' filenames. Please check again if it is working for you.

yeah, looking great now!

should I close it now or wait for you to merge into master?

Thank you for your help with beta testing. I will merge.


Fix init.example electric module

I've been keeping my init up-to-date with the example, but the example
still has electric-indent whereas make warns me it's been renamed to
electric. This provides the correct module name in the example.

Thanks!


Bump some of the deps

The remaining ones are somehow related to actix & futures usage

After a quick glance, looks good to me. Only one thing is a bit strange. In a point you used the base64 converter STANDARD and somewhere else STANDARD_NO_PAD.
You sure it's correct having different encodings? I don't know...
EDIT: ok, it was already like that before, so it's right

yes, it also has tests to ensure it is encoded/decoded correctly


bitrise: 2.19.0 -> 2.20.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for bitrise is: CLI for running your Workflows from Bitrise on your local machine
meta.homepage for bitrise is: https://bitrise.io/cli
meta.changelog for bitrise is: https://github.com/bitrise-io/bitrise/releases
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.20.0 with grep in /nix/store/ca27kja9b1zd4hrrr1gndsdybkqbxzmw-bitrise-2.20.0
found 2.20.0 in filename of file in /nix/store/ca27kja9b1zd4hrrr1gndsdybkqbxzmw-bitrise-2.20.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

bitrise

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/ca27kja9b1zd4hrrr1gndsdybkqbxzmw-bitrise-2.20.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A bitrise https://github.com/r-ryantm/nixpkgs/archive/19ab49934fcf3dc4fcb1a5c5b9d7015fa68d05ac.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/19ab49934fcf3dc4fcb1a5c5b9d7015fa68d05ac#bitrise

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/ca27kja9b1zd4hrrr1gndsdybkqbxzmw-bitrise-2.20.0
ls -la /nix/store/ca27kja9b1zd4hrrr1gndsdybkqbxzmw-bitrise-2.20.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

bitrise

Maintainer pings
cc @ofalvai for testing.

[!TIP]
As a maintainer, if your package is located under pkgs/by-name/*, you can comment @NixOS/nixpkgs-merge-bot merge to automatically merge this update using the nixpkgs-merge-bot.

Add a :+1: reaction to pull requests you find important.

Result of nixpkgs-review pr 337404 run on aarch64-darwin 1

1 package built:

bitrise

@NixOS/nixpkgs-merge-bot merge


Rate limiting

Implement handling for short-term rate limit explained here.
A max of 2M tokens per minute is currently allowed.

Hey I want to work on it. can you assign this to me?


feat: rename nodes

This PR adds the option to rename a selected node, also via hotkey ctrl+r
There's still a few edge cases to handle, such as preventing a node name to be overridden when the prompt of a GPT node is edited.
Closes #8

very nice— this is a really solid first pass!

@transmissions11 This should be ready. Let me know if it's missing anything else

this is looking amazing @jjranalli, rly nice job

LGTM

LGTM LFG thank you so much @jjranalli


[GHSA-2c4m-59x9-fr2g] Gin Web Framework does not properly sanitize filename parameter of Context.FileAttachment function

Updates

Affected products

Comments
A fix is now available in version 1.9.1

There is already a PR for the same: https://github.com/github/advisory-database/pull/2348

Closing as it is a duplicate of #2348


is GPTSimpleVectorIndex still being used?

is GPTSimpleVectorIndex still being used? Cause I see in some places, here on the issues section, that its been replaced by another Method.
Yet as you can see in llamahub.ai, a companion site of this project, it shows its still being used.
Can we get some clarity, and maybe even pointed to a page that has some of the recent changes, so we can update the example code.

I'm still using it without problems

@normanlove222 good catch, we should update llamahub documentation. doing that now!

Cool. Cause as a newbie who loves llama_index that has cause confusion. 😊
So thank you.
On Fri, May 12, 2023, 10:36 Jerry Liu @.***> wrote:

@normanlove222 https://github.com/normanlove222 good catch, we should
update llamahub documentation. doing that now!
—
Reply to this email directly, view it on GitHub
https://github.com/jerryjliu/llama_index/issues/3263#issuecomment-1546071547,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKMF7SBUWM3EFQOXIII6TXFZYK3ANCNFSM6AAAAAAX7HKJZA
.
You are receiving this because you were mentioned.Message ID:
@.***>

So am I on my windows computer because we installed the older code. But if
someone installs using today's instructions, they will get new code and so
it won't recognize the old examples with deprecated methods. It's weird but
that is what's happening. We really have to keep deprecated methods for a
few months at least or some other solution 😊
We know things are moving fast in AI but we can at least try not to change
the method names unless really required.
🙏
On Fri, May 12, 2023, 09:19 markusantonuis @.***> wrote:

I'm still using it without problems
—
Reply to this email directly, view it on GitHub
https://github.com/jerryjliu/llama_index/issues/3263#issuecomment-1545985539,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKMF35PUX7VC7JVPEKV7TXFZPIJANCNFSM6AAAAAAX7HKJZA
.
You are receiving this because you authored the thread.Message ID:
@.***>

AttributeError: 'GPTListIndex' object has no attribute 'query'

with what it has been replaced?

@RafayKhattak @talhaanwarch check out the latest version of the docs:
https://gpt-index.readthedocs.io/en/latest/guides/primer/usage_pattern.html
queries now use the query engine
query_engine = index.as_query_engine()
query_engine.query("my query")

GPTSimpleVectorIndex is now GPTVectorStoreIndex

Oh god thank you so much. 🙏
On Sat, May 13, 2023, 11:25 Logan @.***> wrote:

@RafayKhattak https://github.com/RafayKhattak @talhaanwarch
https://github.com/talhaanwarch check out the latest version of the
docs:
https://gpt-index.readthedocs.io/en/latest/guides/primer/usage_pattern.html
queries now use the query engine
query_engine = index.as_query_engine()
query_engine.query("my query")
GPTSimpleVectorIndex is now GPTVectorStoreIndex
—
Reply to this email directly, view it on GitHub
https://github.com/jerryjliu/llama_index/issues/3263#issuecomment-1546725381,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAQKMF4C2SBIGNBF64XF6YDXF7GZTANCNFSM6AAAAAAX7HKJZA
.
You are receiving this because you were mentioned.Message ID:
@.***>

Same in the following tow links
https://colab.research.google.com/drive/1uL1TdMbR4kqa0Ksrd_Of_jWSxWt1ia7o?usp=sharing#scrollTo=3a5cb155-cfe0-4c89-a2b4-c61d5b7cbe61
https://medium.com/@jerryjliu98/how-unstructured-and-llamaindex-can-help-bring-the-power-of-llms-to-your-own-data-3657d063e30d


Uses Makefile for build

Using the bash -c conditional in .travis.yml works fine, but it doesn't
provide great log output in builds as to what was actually run in
travis. Make is a good solution to this.

What is the problem with the output exactly?
Most rust projects don't have Makefiles. Actually, rust itself recently got read of Makefiles.

So with this approach, we see the following on the nightly build:
cargo build --features clippy
And the following on the stable build
cargo build --features "", which is equivalent to cargo build.
On master, we instead always see:
bash -c 'if [[ "$TRAVIS_RUST_VERSION" == "nightly" ]] ; then cargo build --features clippy ; else cargo build ; fi
So it's not always clear what command was run, without inspecting the enviroment of the travis log

master stable
master nightly

Why not just use rustup to run clippy through nightly? Is it really worth adding a dependancy on Make when this doesn't do any complex building and Cargo even supports build scripts now?

Why not just use rustup to run clippy through nightly? ... Cargo even supports build scripts now

@IGI-111 you've got me hooked, tell me more :) could you give a quick snippet of what this would look like? To be honest, I'm not super familiar with build scripts and cargo

Ask and ye shall receive.
Since 1.17 you don't even need to specify a path to a build script, just provide a build.rs and Cargo will detect it automatically.
But to solve this particular problem rustup run nightly cargo clippy would probably suffice.

Hmmmm interesting. But then how do we handle the stable and beta cases? We build against all three.

I don't really see the problem?
Install all versions of the toolchain with rustup and try building through all of them.
Clippy can only (by design) be run by a nightly rust anyways, even if it's on code meant for stable.

Because the travis build runs in three separate jobs, one for stable, beta and nightly. I feel like I'm missing something here.


Move handlers/pg/pjson to handlers/sjson

What should be done?
It makes sense for PostgreSQL, SQLite, and other future SQL-based databases with no idiosyncratic JSON support to share how BSON documents are stored. Let's move pjson out of pg handler and rename it. Let's also update all documentation and comments (and fix package documentation formatting where tabs and spaces are mixed). Let's not do other refactorings because moving and refactoring a lot of code in the same issue/PR is typically hard to review.
Where?

https://github.com/FerretDB/FerretDB/tree/main/internal/handlers/pg/pjson
https://github.com/FerretDB/FerretDB/tree/main/internal/handlers
search for all references to "pjson"

Definition of Done

code moved;
all comments and docs updated.

👋 Mind if I take this too? Could probably use help to update the comments though.

Hey @craigpastro, sorry for the long delay. Yes, please, feel free to take it, and thank you for your contribution!

Thanks, @rumyantseva!


export form-control

Hej @kgnugur thanks for your convenient wrap which combines formik & chakra.
I would really like to see the form-control component be exported as well, so that I can create custom controls and use form-control to wrap them accordingly.

I'm sorry that I wasn't able to merge this simple request earlier. Thank you for the PR @takethefake


ModuleNotFoundError: No module named 'scripts.unet'

I run your code on diffusion_from_scratch.ipynb, when I run this "from scripts.unet import SinusoidalPositionEmbeddings",  prompting ModuleNotFoundError: No module named 'scripts.unet'.  Details are as follows：
ModuleNotFoundError                       Traceback (most recent call last)
Cell In [29], line 2
      1 # Let's look at how the time embeddings look like
----> 2 from scripts.unet import SinusoidalPositionEmbeddings
      4 time_emb = SinusoidalPositionEmbeddings(100)
      5 t1 = time_emb(torch.tensor([10]))

ModuleNotFoundError: No module named 'scripts.unet'

Thanking you in advance for your support.

I failed in the following attempts ：
pip install scripts==1.0 pip install scripts==2.0 pip install scripts.unet

scripts is a folder, not a package that you can install with pip. The unet file is in the scripts folder: https://github.com/FilippoMB/Diffusion_models_tutorial/blob/main/scripts/unet.py
You have to download the whole project from Github, not just the notebook file.

ohhh，I see, thank you！


The color changing bid/ask upon crating new orders or trades

The color of bid/ask order should change om a brief period of time.
Creating new order on the same side with the same price will stack in one line, upon that action the order should change color to the green fro a brief second. Same with the opposite sides when bid/ask orders are met, with the red color.
The example can be found here:
https://streamable.com/q430n

Closed by #71.


[Restructuring] Resizing the logo's container

Problem
The logo's container at the top covers 100% of the viewport.
Description
A user would accidentally click at the logo's container which spans all the vw width, which may not be intended. This would distract users navigation.

Resolution
To resolve this, I see it a better way to resize the logo's container so that it be relative to the content .

Implementation
Replace the [ ] with [x] to check the box.

[x] I would be interested in implementing this feature.

Full width spanning will be appealing for smaller screen sizes.

Pretty sure this is a duplicate of #70

Acknowledged

I would be as willing to help with any issue on the same.
On Fri, 31 Mar 2023, 23:13 possumbilities, @.***> wrote:

Closed #97
https://github.com/creativecommons/cc-resource-archive/issues/97 as not
planned.
—
Reply to this email directly, view it on GitHub
https://github.com/creativecommons/cc-resource-archive/issues/97#event-8901506355,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWPMAFDHVUWXG2HFECBE433W643GLANCNFSM6AAAAAAWDKC3UY
.
You are receiving this because you are subscribed to this thread.Message
ID: <creativecommons/cc-resource-archive/issue/97/issue_event/8901506355@
github.com>


plz tell me the steps i am confuse

please refers to README  for installation and https://github.com/oney/RCTWebRTCDemo for example


GVRContext::loadMesh(GVRAndroidResource androidResource) - non-triangle meshes are not getting visible

When trying to load non-triangle meshes as parameter to GVRContext.loadMesh(GVRAndroidResource androidResource), application runs normally without crashing but the Mesh is not visible.
We are using this code (that works, the cube is visible):
     GVRAndroidResource androidResourceCube = new GVRAndroidResource(mGVRContext, R.mipmap.smallcubet);
     GVRAndroidResource androidResourceTexture = new GVRAndroidResource(mGVRContext, R.drawable.texture3);
     GVRMesh cubeTMesh = mGVRContext.loadMesh(androidResourceCube);
     GVRSceneObject objectCube = new GVRSceneObject(mGVRContext, cubeTMesh, mGVRContext.loadTexture(androidResourceTexture));
     objectCube.getTransform().setPosition(0.0f, 0.0f, -2.0f);
     mGVRContext.getMainScene().addSceneObject(objectCube);

And that code (that does not works, the cube is invisible):
    GVRAndroidResource androidResourceCube = new GVRAndroidResource(mGVRContext, R.mipmap.smallcubeq);
    GVRAndroidResource androidResourceTexture = new GVRAndroidResource(mGVRContext, R.drawable.texture3);
    GVRMesh cubeMesh = mGVRContext.loadMesh(androidResourceCube);
    GVRSceneObject objectCube = new GVRSceneObject(mGVRContext, cubeMesh, mGVRContext.loadTexture(androidResourceTexture));
    objectCube.getTransform().setPosition(0.0f, 0.0f, -2.0f);
    mGVRContext.getMainScene().addSceneObject(objectCube);

About Triangulation Ricardo Maginador explained:
The only difference between the ".obj" files is their mesh format, cubeT's mesh is divided using triangles while cubeQ's mesh by quads. The one using quads can not be rendered while  the mesh based in triangles is fully rendered. Just to complement, in Open GL quad mesh rendering is deprecated, that would explain what is happening, but the default structure used in 3D modeling is quad mesh, this generally is solved by converting quads to triangles during import.

http://ogldev.atspace.co.uk/www/tutorial22/tutorial22.html suggests that Assimp does support non-triangle meshes; a quick glance at our code shows that we don't seem to be using those APIs.
I think changing this should be a pretty low-priority, but we should probably add a 'triangles only' note to the JavaDoc, in the meanwhile.

#153 resolved this issue. A quad face from 3D model is added as 2 triangles in GearVRf


Revert "Add one include file so that compile would succeed."

Reverts tensorflow/tensorflow#31372

@jessecantu Can you please sign CLA. Thanks!


Docs 5660 update mq docs with message groups hn

Hi - this PR includes updates for:

DOCS-5660 (message group ID feature)
DOCS-5827 (prefetch/FIFO feedback)
DOCS-5846 (in-flight definition feedback)
Removed milliseconds.

Please review and comment/approve.
@phuang2019 - the screenshots I updated for delay queues were all standard (not FIFO), so they didn't need updating. :)

@hannanelson Don't we need to add some new screenshots for message group id UI? You can find two screenshots in this PR: https://github.com/mulesoft/anypoint-mq-ui/pull/312


Update non_image_data_processing.py

Removing spaces in directory names and creating directories if they do not exist.

hi - thanks for making making this PR, but it seems somewhat system-specific and would break the code with my version of the data, so I'm not going to merge it. Thanks!

Understood. The directories however (such as XRay_Image_Assessments_ASCII) would not auto-generate for me so that is why I had to include commands to add them otherwise self.semiquantitative_xray_dir = os.path.join(BASE_NON_IMAGE_DATA_DIR, 'XRay_Image_Assessments_ASCII', 'SemiQuant_Scoring_ASCII') would throw an error. - cheers


BUG: parts of our MNE-C forward workflow are missing in Python

Someone must have forgotten to implement this ;)
It's perfect for a lazy sunday hack, basiclaly convert a shell script to Python.

It's
mne_setup_forward_model

mne_setup_forward_model

I wanted to keep it interesting ;)

@lorenzo-desantis are you up for it?

Yes, but I don't think I'll be able to start right away!


feature_names parameter in summary_plots

I expected that when I would use 'feature_names' in summary_plots() I would restrict the plot only to the feature_names I specified. Is it incorrect expectation?
Example:
I expect a plot only for two features.
import pandas as pd
import numpy as np
import lightgbm as lgb
from sklearn import datasets
iris = datasets.load_iris()
data = pd.DataFrame(data= np.c_[iris['data'], iris['target']],
                     columns = iris['feature_names'] + ['target'])
y = data.target
X = data.drop('target', axis=1)  # we only take the first two features.
clf = lgb.LGBMClassifier()
clf.fit(X, y)

explainer = shap.TreeExplainer(clf)
shap_values = explainer.shap_values(X)
shap.summary_plot(shap_values, X, feature_names = ['sepal length (cm)', 'sepal width (cm)'])

throws following error:
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-43-97ff0bab767e> in <module>()
     10 explainer = shap.TreeExplainer(clf)
     11 shap_values = explainer.shap_values(X)
---> 12 shap.summary_plot(shap_values, X, feature_names = ['sepal length (cm)', 'sepal width (cm)'])

~/anaconda3/lib/python3.6/site-packages/shap/plots/summary.py in summary_plot(shap_values, features, feature_names, max_display, plot_type, color, axis_color, title, alpha, show, sort, color_bar, auto_size_plot, layered_violin_max_num_bins, class_names)
    355             left_pos += global_shap_values[feature_inds]
    356         pl.yticks(y_pos, fontsize=13)
--> 357         pl.gca().set_yticklabels([feature_names[i] for i in feature_inds])
    358         pl.legend(frameon=False, fontsize=12)
    359

~/anaconda3/lib/python3.6/site-packages/shap/plots/summary.py in <listcomp>(.0)
    355             left_pos += global_shap_values[feature_inds]
    356         pl.yticks(y_pos, fontsize=13)
--> 357         pl.gca().set_yticklabels([feature_names[i] for i in feature_inds])
    358         pl.legend(frameon=False, fontsize=12)
    359

IndexError: list index out of range

The feature_names option is just a way to pass the names of the features for plotting. It is used for example if you want to override the column names of a panda data frame, or you are just passing a numpy array for your data. To only plot a subset of features you would need to only pass those columns from the shap_values and X arrays.

Hi @slundberg
my  len(feature_names)=47,and my X.shape=(n,47),
Only 20 feature names are displayed when I execute "shap.summary_plot(shap_values, X, feature_names = X.columns.tolist())"I wonder if there is any display limit for  len(feature_names)?

@canglangshushu Just set the keyword argument max_display=100 for example.

@slundberg I see. Thank you for your quick reply

I tried max_display=100 and also sort=False but it's not work ...

Is there a way to suppress the feature names altogether? The reason I ask is that I want to create a side-by-side plot of global importance (type=barplot) and the beeswarm plot. Both of these plots show the same labels on the y axis, so I want to remove the redundancy
Thx

Hello! Is it possible to select the order of the features shown in a waterfall plot? Also, is it possible to "bundle"/add specfic features together? For example, in the Explaining an additive regression model tutorial, can we show AveOccup and Population before MedInc (see figure below)? Also, could we add Latitude and Longitude together to show as one combined feature? Thanks!


Update README.md

idk, logo thingy, makes it look more official, expresses that we actually want to do this, or do this but add a better logo. Either way, a logo would be nice.

Looks good, very interesting how it would look on white theme of GitHub, and also I replaced the file that you had on discord because discord might delete those files, instead I placed it in resources folder
If you have smth better for a logo on mind then shoot, but I think than simpler than better


Escaped @ symbols are improperly handled at beginning of non-string TagHelper attributes

This seems to be an edge case that wasn't fixed in https://github.com/aspnet/Razor/issues/436.
If you have the following TagHelper: <myth non-string="@@@DateTime.Now" /> you end up having the 3rd @ be handled as the transition character and the initial 2 @ symbols written to markup. Functionally there's no problem with this; however, in the editor you see the 3rd @ symbol highlighted instead of the first which should have been fixed by 436.
Suppper edge casey and not high priority :+1:

Why would it be an error for the 3rd @ to be highlighted? Isn't that exactly correct?

@Eilon in normal HTML, yes. In TagHelper land, no. In #436 we modified TagHelper attributes to allow a single @ symbol at the beginning of your non-string TagHelper attribute if you wanted to be explicit in showing what was code and what wasn't. This means the first @ symbol is escaped/ignored and the other @ symbols are pure C# @ symbols. The sample code @@@DateTime.Now would be a CSharp compilation error:
var th = new MyTH();
th.NonString = @@DateTime.Now;

O I C. Totally not confusing at all 😄

Moving to backlog.

Closing unless we get strong feedback


Show problem shares on SMS campaigns

Resolves #4560 . Move problem share preprocessing to dosomething_campaign_preprocess_common_vars() and output problem shares on the sms campaign template.

@angaither updated to use drupal_get_path(). As far as setting a default for that flag, it doesn't look like we need to since it is just a feature flag check box. It is either on or off.

:+1: :cool: sorry for giving you an old function!


About encoding

Thanks for making these tools.What's the encoding when insert?Can I specify the encoding?

Depend on the engine but mostly shift-jis, you can can't change encoding of game's script because the game won't work if you change it

Since generally in us this is done by modifying the game program to make the text display properly with modifyed encodeing, I would like to ask how to modify the inserted encoding. I'm not very good at C#, can you provide  a basic idea about how to add this feature so I can try to change it myself?thanks

There's no need, vntextpatch has a function called sjistunnelencoding which will output ext_sjis.bin when you insert the text has chracters which is not supported by shift-jis. Place ext_ext.bin, a proxy(.dll which the game prefers), and a .ttf/.otf font to support your language in the game folder, it will help displaying non-supporting characters in the game.

hi, I'v tryed vntextproxy in the catsystem2 game アマカノ2 ～Perfect Edition～ with version.dll, but the game crash at the begaining before windows show.can you fix it or how can i debug it?thanks


[Mockup] Create Book editing

Page to edit book related information

Reopening this 'cause the flow of editing has changed


Explain how to trigger workflow_dispatch examples from the UI

Documentation
Description
The "Optimize SVGs on Demand" example describes how to set up a workflow that can triggered at any time to optimize the SVGs in the repository.
It explains how the workflow can be triggered using a HTTP request. But, it's also possible to trigger a workflow like it through the GitHub UI. Hence, the example would ideally be updated to (additionally) include a description of how to trigger the workflow through the UI.
I'd personally prefer that's done without images. This is because 1) it adds unnecessary files to this project (at least in my opinion), and 2) images can more easily get outdated. I'd prefer a link to GitHub docs about triggering workflow_dispatch workflows from the UI that includes images, if such a page exists.

This link should suffice for the purposes of this issue:
https://docs.github.com/en/actions/managing-workflow-runs/manually-running-a-workflow


Stratographic -> Stratigraphic

"This is an early access version of a Stratographic Chart derived from data in the triple store" -> Stratigraphic

Fixed by Commit 3a1ad575344393682f4b5155c459319e3c78421d


Investigate a multipass (two-pass) version of egui

EDITED 2021-10-30: Expanded and added proposal
EDITED 2021-11-01: Realized input must be done in the second pass
Introduction
Problem
One downside of immediate mode is the difficulty in doing layouts where one needs to know the size of a section before positioning it, but to know the size of that section one needs to call the code that creates it - but that also positions it.
Consider the menus in egui: we use a justified layout to make sure the buttons cover the full width of the menu, but how wide should the menu be? We won't know until we put in all the buttons, and we don't know how wide to make the buttons until we know the width of the menu:
| Save        |
| Preferences |
| Quit        |

How do we know to make the "Save" button wide until we know there is a "Preferences" button? We don't!
Storing the size from the previous frame is also not a solution, because if we then remove the "Preferences" button, the menu will not shrink to the smaller size, but would stay at the widest it has ever been. We see this problem today with some Window:s in egui, which will auto-expand but never auto-shrink.
Because of issues like these, egui can feel janky an unreliable today. As a user it is difficult to understand why it is possible to center some widgets, but not other ("composite" widgets, which don't know their sizes beforehand). It also produces frame-delay jank (open a new window and it will often flicker the first frame, before "finding its size").
I want egui to "just work".
Two-pass
Some immediate mode UI:s take a two-pass approach to solving this a size pass and a layout pass. In the first pass, sizes of ui:s are calculated and stored, and in the second pass the sizes are used to nicely position things. This can be extended to even more passes, but with diminishing returns.
I believe a two-pass approach could solve most of the layout issues in egui.
It will also make some widgets easier to implement: instead of having to know all the sizes of its part beforehand, it can just have it automatically calculated in the first pass, and then use it in the second pass.
Things to consider
Consistency
Both passes should ideally act exactly the same, which will be impossible to guarantee when it comes to user code. For instance, say the user code checks "Is the async download complete?" before deciding to show a widget or not. What if the download completes right in the middle of the two passes? Then the layout pass would not have the stored size of the widget.
So the layout pass need to be robust against missing sizes, falling back to some "okish" behavior (e.g. what egui currently does).
Such inconsistency will always happen with input:
Input
Inputs events should only be handled in one of the passes, otherwise we would enter text twice in a TextEdit, scroll twice as much in ScrollArea etc. Inputs must be consumed, whereas currently in egui inputs are read.
We can't handle clicks in the first pass, since we don't know where the widgets are (yet), so for consistency we should probably handle all events in the second pass.
Performance
Running the UI code twice will of course be slower, but not necessarily twice as slow. We also need to store and load sizes, which adds some overhead.
However, the first pass requires no painting, so we can skip some painting code in the widgets, and of course skip the tessellation completely.
There may also be opportunities for simplifying the layout algorithms when we know the sizes of things, potentially giving some savings, though i doubt it will be much.
I expect something like 50%-100% overhead from adding a second pass.
Compatibility
Should the two-pass approach be the only thing egui support, or should we also support the single-pass approach?
What sizes are stored?
Should we store the size of each Button? Probably not - a button already knowns its own size!

Proposal
I propose we support both one-pass and two-pass modes, as a global setting to egui (or controlled by how you call it), with one-pass being default as a start. This will allow us to experiment with two-pass on master.
Example
Example for what should work:
ui.top_down_centered(add_content: impl FnOnce(Ui) -> R) -> InnerResponse<R> {
    ui.horizontal(|ui| {
        …
    });
    ui.horizontal(|ui| {
        …
    });
}

How: horizontal calls ui.scope which does all the magic:
impl Ui {
    fn scope(&mut self, add_content: impl FnOnce(Ui) -> R) -> InnerResponse<R> {
        // pseudo-code:
        let id = self.advance_scope_id();
        let size: Option<Vec2> = self.ctx.memory().sizes().get_prev_pass(id);
        let rect = self.layout.place_next(size);
        let mut child = self.child(rect);
        let r = add_content(&mut child);
        self.layout.advance_after_rect(child.min_rect());
        self.ctx.memory().sizes().set(id, rect.size());
    }
}

So a "scope" is the level at which we store sizes, and every time there is a |ui| { … } closure being passed in, the size of what is generated by that closure is being stored.
Behavior
In the first "size pass", layouts will do simplest/fastest that still calculates sizes correctly.
Centering will be ignored (left-aligned), and justified is ignored (so that the parent size can grow).
Auto-sized windows will assume zero size from the start.
User-code should almost never have to care about what pass is currently running, or even if we are running in one-pass or two-pass mode. Only layout code really cares (and should be able to check with e.g. if ctx.passes.is_first_of_two { … }.
What Context does:
fn run_two_pass(&mut self, raw_input):
    clear size memory

    run size_pass:
        read drained input (no clicks, zero scroll delta, …)
        ignore sizes (since it is empty)
        do simplified layout (left-aligned, no justified, …)
        store sizes of scopes

    update input state from raw_input
    clear any painted shapes

    run layout_pass:
        read sizes from previous pass (some may be missing)
        do proper layout
        use latest input

    drain input (*)

(*) Input draining is removing events and clearing deltas.

Future work
If this works reasonably well we can start considering if two-pass should be default.
We could also consider having one-pass as the default, but allow users to opt-in to two-pass for places where it is needed, e.g.
ui.two_pass(|ui| {
    …
});

This is a lot more work to get right though, so let's wait.

I ended up solving my need for computing layouts in a simplified two-pass-alike model. What I ended up with is a container widget that borrows all of the text contents in its constructor (while computing widths). The second pass is the show method which allocates space in the Ui and adds the widgets with the borrowed contents.
The code is all here; it implements a table similar to Grid that has unique column widths. And it is used like this:
SetupGrid::new(ui, &setups, &colors, diff_colors).show(ui, car_name);

I'm interested how this proposal will compare. IIUC, it would mean that I could combine the constructor and show method into a single function that loops over my table rows. And of course, remove all of the layout bookkeeping.
Sounds good in theory, but I'm a little concerned about the "magic" of scoping, especially if I need to do any work that is relatively heavy. Like computing the intersection of keys in a slice of HashMaps, which is something that the constructor in the linked widget does. The rest of the code is trivial enough that I don't care how often it runs. Most of the allocations are for working around egui's one-pass design (except the aforementioned key intersection, which is unavoidable with my weakly-typed internal data structures).

I think the single pass should definitely remain the default, beause it is the simpler option and is faster.

As soon as we have known bounding rectangles of all widgets we can have a way to avoid unnecessary re-rendering. Egui may become even faster then it is now.

@akhilman you mean store bounding rectangles from the previous frame? This would not help in this case I think. A size pass would use the application state at the current frame (which may be different from the last frame) to find the bounding rectangle. If you used the last frame's bounding box the layout would use stale ones if the bounding box is different this frame.

Ok. I see your point. Thanks.
The state of the application may change and the next step of event loop may already be dealing with other bounding boxes.

It's just a solution to a different kind of problem I think. But probably the implementation will be very similar and a lot could be reused.

there's a new gui project called Yakui which seems to use a single pass layout technique from flutter.
seems relevant to this issue.

We can use adjacent frames as two passes to determine the size of the child widgets. This way, in most cases, we would not have any performance penalty at all, because the game engines still redraw the GUI every frame.
Suppose we have a table with widgets of different sizes inside.

The first frame draws the table with equal cells.
The table sees that the preferred cell sizes do not correspond to the actual ones and requests a new frame.
The next frame is drawn with the preferred sizes of the child widgets in count. At this point, the table can pass own size expectations to descendants.

We can even make this kind of auto-sizing of containers an animation effect if we resize widgets gradually.

https://docs.flutter.dev/resources/inside-flutter
Seems like this might provide inspiration for single pass layout.

Unless and until this gets implemented, we need better documentation of how to code for one-pass layout and what the layout engine can and can't do.
See https://github.com/emilk/egui/issues/2796
where the layout engine broke. I may have done something wrong, but the documentation is inadequate to tell me what's right.

Hey. Just a quick question: Is this still being considered / worked on? I really like egui and this would really improve it's usefulness to me

I have given this some thought, and I think that a multi-pass immediate GUI library should be designed for that from the start. It should probably be only multipass as well, i.e. not even support single-pass. This would yield some big simplifications in the design.
I believe multi-pass can solve most layout issues. Two-pass won't fix all layout problems, but might be a sweet-spot of simplicity, speed, and power. Still, it means user code is also run twice, which can cause performance issues as well as subtle bugs, so I suspect it will make the library somewhat less easy to use.
In the end, egui was conceived as a pure single-pass immediate mode library, and an experiment to see how far such a library could be pushed in terms of layout etc. I am surprised how well it works despite being single-pass, and I've discovered many tricks along the way, such as first-frame-hiding of certain widgets, effectively using the first frame as a sizing pass. I think there are more such tricks awaiting to be discovered and implemented, and I think that's where we should focus our efforts for egui.


Address all skipped tests and code style in the samples

In the run-up to GCP next, we made a concsious choice to let a few things slip in the samples and sample test code:

[ ] Consistently use async/await instead of promises
[ ] Rationalize (remove or fix) all skipped integration tests
[ ] Use execSync over execa for execution
[ ] Use getProjectId() instead of requiring the GCLOUD_PROJECT env var

We need to come back around and clean all of these up.

There are a number of sample PRs open right now, I'm guessing this work should be done after they're merged in?

Yeah.  We're in the crunch here for GCP Next, and these samples get merged into the docs.  We are making a choice to land this, then fix after the fact.  You know me.  I promise this won't become a habit 🙃

We'll TAL at this, we need to author a set of tests for AutoML code samples across the board (all languages) which aren't flaky and complete in a reasonable amount of time & help guarantee working samples

I removed the sample testing to #161
Y'all can take full ownership of this regarding code style guidelines etc.
Please pull in @googleapis/ml-apis for product-relating issues. Thanks!


typo: strateg -> strategy

Docs Build status updates of commit 5387c24:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/cloud-adoption/governance/journeys/small-to-medium-enterprise/initial-corporate-policy.md
:white_check_mark:Succeeded
View

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


Pessimistic disconnection handling

Whenever a database connection dies while it is in the connection pool (ie. because the database server is restarted), the next query made will throw an exception and most-likely end up in a HTTP 500 for this request. This seems to be by design in SQLAlchemy it's what they call "optimistic disconnection handling". (see Disconnection handling in the documentation).
In the documentation they also provide a way to check the connection before it is used. This has a tiny performance implications but avoids most such errors.

What is the best way to use "pessimistic disconnection handling" with Flask-SQLAlchemy?
Should this be built into Flask-SQLAlchemy?
Should it be the default behavior?

Thanks for the effort, but I don't think this needs to be added to Flask-SQLAlchemy.  It's implemented by copy and pasting the recipe from the SQLAlchemy docs, the extension doesn't effect that.  This extension isn't really the place to add various recipes, as that just adds to the amount of code we need to support.

Here is recipe that might be useful to others. Who find this issue: https://github.com/moreonion/moflask/blob/master/moflask/flask_sqlalchemy.py


Hardware Revision G1 Proposed Changelog

Proposed changes from Rev F4

[x] Add SMA connector for GPS antenna
[x] Add SMA connector for WiFi antenna
[x] Make PCB fit into Hammond 1554 enclosure
[x] Add CANbus interfaces

[x] TWAI controller from ESP32-S2
[x] Backup MCP2515 controller
[x] DIP switch for dual or redundant CAN modes
[x] DIP switch to enable termination for CAN0 and CAN1

[x] External JST connectors for M12 bulkhead connectors

[x] CAN (x2)
[x] USB
[x] UART

[x] Primary power from M12 connectors (12-24V)

[x] DIP switch to enable/disable external power
[x] Convert to 5V to integrate with USB power input

Completed


Update line 543 in metrics_utils.py

Changed y_pred.shape to ops.shape(y_pred) for broadcasting of sample weights in update_confusion_matrix_variables to avoid shape error in tensorflow. Fix for issue #18620 .
    if sample_weight is not None:
        sample_weight = ops.broadcast_to(
            ops.cast(sample_weight, dtype=y_pred.dtype), ops.shape(y_pred)  # instead of y_pred.shape
        )

Codecov Report
All modified lines are covered by tests :white_check_mark:

Comparison is base (68a6135) 63.62% compared to head (a173219) 57.92%.

Additional details and impacted files
@@            Coverage Diff             @@
##           master   #18644      +/-   ##
==========================================
- Coverage   63.62%   57.92%   -5.71%
==========================================
  Files         334      334
  Lines       32593    32593
  Branches     6375     6375
==========================================
- Hits        20738    18880    -1858
- Misses      10474    12282    +1808
- Partials     1381     1431      +50

Flag
Coverage Δ

keras
57.92% <ø> (-5.71%)
:arrow_down:

keras-jax
?

keras-numpy
57.92% <ø> (?)

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

Files
Coverage Δ

keras/metrics/metrics_utils.py
82.74% <ø> (ø)

... and 145 files with indirect coverage changes

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


  A couple of months ago @effectfully mentioned that it might be more efficient to make the function that works out the memory size of a list for costing strict and tail recursive.  I tried that back then and it didn't make a lot of difference.  There's been an issue to to it properly for a while so I thought I'd quickly do that today, and also fix the function that works out the size of  adata object.  Unfortunately this seems to make things noticeably worse.  Any ideas?

Looks reasonable to me, I guess it just doesn't matter much?

Looks reasonable to me, I guess it just doesn't matter much?

I might leave it unmerged then, since it seems to make things worse.  It's only 1% or so, but when you have multiple changes like that it starts to mount up.

Just experimenting a bit.  Now memoryUsage for lists and Data is tail-recursive but not strict.
/benchmark

I think the definition for pairs is simply not tail-recursive. I'll look into it on the weekend or so.

  I thought it would be straightforward, but I tried a number of things and none of them led to any improvement.  In fact mostly they made things a little worse.
@effectfully If you have any ideas, please feel free to try them out.

@effectfully If you have any ideas, please feel free to try them out.

Given this discussion I think there's just nothing to optimize here, all overhead is negligible? In any case, I'd write it the same way as you did in this commit except I'd inline the lets, since it's enough for the accumulator to be banged.

I'm going to abandon this.  PR #4366 adds a comment to explain that it didn't help.


Update version: Clement.bottom version 0.9.6

Pull request has been created with WinGet Automation :rocket:
Microsoft Reviewers: Open in CodeFlow

Automatic Validation ended with:

Installation failed with exit code -1978335187
2023-08-28 20:08:37.896 [FAIL] Installer failed security check. Url: https://github.com/ClementTsang/bottom/releases/download/0.9.6/bottom_x86_64_installer.msi Result: 0x80004005

/AzurePipelines run


improved the user interface and user experience

I Imprved the user interface and added some transition in lamding page


[Search] Add highlighting to StackOverflow result list item

Hey, I just made a Pull Request!
As described!
Highlighting the title

Highlighting the text

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[x] Added or updated documentation
[x] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

I'm looking into what's up with https://github.com/backstage/backstage/pull/15048#issuecomment-1339405668


Issues of no (BTC) balance being displayed (error 500)

User reported not seeing Bitcoin balance. Switching browser from Chrome to Brave or Edge, had no effect.

Although the screenshot appeared to have other errors off screen... these were the only readable ones.
Checking it again later showed nothing

I'm closing as stale but please reopen if persistent.


Authenticate by token and deviceId

Change src/adapter.js:42 to merge({ deviceId: data.getDeviceId() }, req.auth), and update README.md.

Resolved by https://github.com/kukua/concava/commit/ffc284394403ce0f0dfdf8869ca3d97d20f50085.


Update typescript config related with isolatedModules in new project templates

Describe the bug
The tsconfig file needs to be updated for new typescript project templates.
With the current configuration, the application may compile successfully but fail at runtime. To fix this, we only need to add  "moduleDetection": "force" in the compilerOptions.
More info here:https://github.com/microsoft/TypeScript/issues/55785
Reproducible example here:https://stackblitz.com/edit/vitejs-vite-srbrdd
Reproduction
https://stackblitz.com/edit/vitejs-vite-srbrdd?file=tsconfig.json
Steps to reproduce

Start a new typescript react project: https://vite.new/react-ts
Add a new ts file inside the src folder (for example newfile.ts) with this content: const MY_CONST = 1
Print the value of the constant inside App.tsx : {MY_CONST},

At this point, you should be able to compile (with npx tsc --noEmit) or build the app ( npm run build ) without errors, but the app fails at runtime ( npm run dev ) in the preview.
To fix this, we only need to add  "moduleDetection": "force" in the compilerOptions.
System Info
System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  Binaries:
    Node: 18.20.3 - /usr/local/bin/node
    Yarn: 1.22.19 - /usr/local/bin/yarn
    npm: 10.2.3 - /usr/local/bin/npm
    pnpm: 8.15.6 - /usr/local/bin/pnpm
  npmPackages:
    @vitejs/plugin-react: ^4.3.1 => 4.3.1
    vite: ^5.2.13 => 5.2.13

Used Package Manager
npm
Logs
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Feels a bit edge-casey but it doesn't seem like there's downsides to adding that option. Feel free to submit a PR adding that.


Does HuMoR support separate intrinsics for each frame?

Hi, thanks for the great motion model!
I have a different situation. My data is a sequence of croped person from large images. So each image has its own size and camera center (cx, cy).
Could I modify HuMoR to feed each image its own intrinsics? I wonder that is ok in theory.

HuMoR will not work well in this setting. It is designed to recover the global motion of the person, so it assumes the camera is static. If you only have a crop from a larger image and the crop is changing at each frame, it won't be able to recover the global motion. If you have the original video with the full image size, I would recommend using this as input.


links params not detected

insert link
https://localhost:8081/?utm_source=1231&utm_medium=123&utm_campaign=1233&4f=3234&utm_content=v_{ad_id}
to https://tiptap.scrumpy.io/

And:
This is broken https://github.com/scrumpy/tiptap/issues/47 Links clickable.

localhost:8081 is not a valid domain name but you can extend the Link mark and change the regex used in pasteRules also adding Link mark before Italic and Bold marks fixes the underline issue

@reza-akbari I'm talking about a problem with a text like my_name_nikita
just compare in https://prosemirror.net/ and https://tiptap.scrumpy.io/


[Feature Request] Store without a Fetcher

Is your feature request related to a problem? Please describe.
I would like to be able to create a (Mutable)Store for local-only data.
The goal is to replace the Repositories with Stores; the issue comes when I can't write directly to a Store that is not Mutable, but to create a MutableStore I need an Updater and a Bookeeper
Describe the solution you'd like
val localStore: MutableStore =
  StoreBuilder
    .from(sourceOfTruth) // no fetcher
    .build() // it returns a MutableStore, because no Fetcher is declared

Describe alternatives you've considered

Keep repositories for local only data -> different approaches in the code-base
Pass local data source directly to the use case -> no 🙅🏻♂
Create a LocalStore in the project, which would be a clone of Store, but with local data only -> it would be confusing, it would still behave differently from the original Store, without in-memory cache and it would need to be maintained "manually"

Additional context
none

@digitalbuddha from the top of my experience, the main benefits I see are:

performance benefits, trough the built-in in-memory cache
API benefits, since one would already have a Store that matches the pattern used elsewhere in the project, with steam and get methods.

The second one doesn't give a strong practical benefit, but I don't like the idea of having a clone of Store built in the project.
Once you committed to framework, you committed 🙂
As now, the best solution I found for myself, is just using a Store for local/remote data and the classic Repository pattern for local-only one

Got it thank you for the explanation. Let me give it some thought as edge cases and breaking of the usual unidirectional flow are concerns

https://github.com/MobileNativeFoundation/Store/discussions/556


Soft returns are suffixed with a space

When importing soft returns e.g. <br>\n a space is added after the line break, effectively prefixing subsequent lines with a single space

Oh, I totally know what's causing this. There's even a friggin todo in the source:
https://github.com/sstur/draft-js-import-element/blob/0deef116e34e1ffa3a7951ccf7ac23856f750572/src/stateFromElement.js#L155
I'll try to get a fix out soon.

Awesome, thanks. I started having a look at a fix but wasn't sure of the best way to go about it.
If you can point me in the right direction I will try and fix and raise a PR, otherwise I will leave it to you.
Cheers

There's not a super easy fix. The naive solution that comes to mind is to a search and replace, but remember that modifying the content string in any way must make corresponding changes to the style and entity ranges so it becomes tricky.
I guess we could split on soft breaks and then use trimLeadingSpace/trimTrailingSpace for each part but I expect there is a better way (perhaps during the collapse white space part).
I'll have to take a closer look.

I've created #6 which seems to do the job well, but there's a lot of code there just to search & replace \n followed by a space.
I'm curious if you have any thoughts before I land this.

Honestly I don't feel knowledgable enough with draft.js right now to be able to comment meaningfully (and regrettably don't have the time to reach that stage yet). I'm happy to test this also if you like otherwise I would say go ahead an merge it.


more options to privileged mode

I would like to run some docker images with escalated privileges on a few devices (e.g. GPU), but not everything (e.g. the hard drive!). It is possible to be this fine-grained with docker on the command line but there is currently no option to enter the commands via drone.

dupe of https://github.com/drone/drone/issues/849


fix cc, make S an alias for cc

Fix #625. Makes S an alias for cc and fixes cc to do what S used to do, when combined with linewise motions.

:100: Thanks!


gcache对key没有增加过期时间的方法？

1. What version of Go and system type/arch are you using?

go1.14
2. What version of GoFrame are you using?

gf1.13.2
3. Can this issue be reproduced with the latest release?
4. What did you do?

gcache对key没有增加过期时间的方法？
就像redis里的Expire命令的作用。
5. What did you expect to see?
6. What did you see instead?

@jroam Not yet, it is now added to the development plan.


Make Imager compatible with the Craft FocusPoint plugin/fieldtype

Imager was bombing out because it didn't recognise the FieldType for the (rather awesome) Craft-FocusPoint fieldtype... https://github.com/smcyr/Craft-FocusPoint

I think maybe this will be fixed by pull request #29 when integrated. Can you try replacing the conditional containing the get_class thing with:
if ($image instanceof \Craft\AssetFileModel) {

Yes, that does appear to work as well, and would be more robust - thanks!


-LocalCustomProperties Parameter is setting Shared Properties instead of Local Properties

When specifying the -LocalCustomProperties it sets the values in the Shared Properties instead of Local Properties.

@codyrhowe   - thanks for flagging this issue. It has been fixed. Will be available in the nightly tomorrow and in the next major release.


Add Proseg

add Proseg (probabilistic segmentation), a cell segmentation method for in situ spatial transcriptomics. Xenium, CosMx, and MERSCOPE platforms are currently supported.
https://github.com/dcjones/proseg

Thanks @LSeu-Open


language switcher component

Ticket #326: add support for homepage translations
https://wings.dev/articles/wings-a-home-for-your-progressive-campaign?lang=nl is the translation for the article that is set as the home page. It should become available as https://wings.dev?lang=nl

https://usersnap.com/blog/design-language-switch/


syntax highlight for go doc

What version of Go are you using (go version)?

$ go version
go version go1.14.4 linux/amd64

Does this issue reproduce with the latest release?
yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE="on"
GOARCH="amd64"
GOBIN=""
GOCACHE="/home/cheng/.cache/go-build"
GOENV="/home/cheng/.config/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOINSECURE=""
GONOPROXY=""
GONOSUMDB=""
GOOS="linux"
GOPATH="/home/cheng/go/1.14.4"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/home/cheng/.goenv/versions/1.14.4"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/home/cheng/.goenv/versions/1.14.4/pkg/tool/linux_amd64"
GCCGO="gccgo"
AR="ar"
CC="gcc"
CXX="g++"
CGO_ENABLED="1"
GOMOD="/home/cheng/Projects/Ubudu/Rust/sbl_manager/dispatcher/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build264484111=/tmp/go-build -gno-record-gcc-switches"

What did you do?

go doc time

What did you expect to see?
syntax highlight
What did you see instead?
no syntax highlight

There is a closed issue:
https://github.com/golang/go/issues/13178
It's really surprising that some members of golang think it's not useful to have syntax highlight. At least it helps to read...., I'm not sure how developers being able to read:

Please clarify how this issue is any different than the previous one. Simply disagreeing with an issue's outcome doesn't really add anything meaningful to the discussion. It most likely will be closed as well, as a duplicate.
If you want to make a strong case, what new are you bringing to the discussion that wasn't already brought up in the previous issue?

@mvdan Let's close it then since go isn't that open to community's requests.

To be clear, that's not what I said. I only asked you to make a stronger case so that this issue isn't closed as a duplicate. It's your choice to draw your own conclusions or close the issue entirely, though :)