Improving procmacro error reporting

Improving error reporting of procmacro by using compile_error! macro and quote_spanned!.
Let me know what you think.
I haven't done it 100% of the way (changing is_cause would require a bit more of the refactoring).
For example, for the following code:
#[derive(Debug, Fail)]
enum Error {
    #[fail(display = "Hello")]
    Hello,
    Bye,
}

you will get:
error: All variants must have display attribute.
  --> failure_derive/tests/no_derive_display.rs:27:5
   |
27 |     Bye,
   |     ^^^

@idubrov This is a solid PR, thanks! I'm just working on fixing the merge conflict, but I'll merge right after that.

Ah, to support this, we're using a more recent version of Backtrace that doesn't work on Rust 1.18. I'll try to see if Backtrace 3.11 or 3.12 would build successfully on Rust 1.18, because https://github.com/rust-lang-nursery/failure/issues/281.

Squash merged in 15b6798695b2d4a1ed7d46d9f59ad910f473126e


No support comparison APIs

while moment.diff does a good job of displaying the difference visually/textually, it is important (at least for my selfish needs) to have comparison tools available from JS itself.
For example, to determine if a given moment is between two other moments, if a moment is before or after another moment,  etc.
Basically some of the tools that Date.js supports :)

Okay I'm an idiot.
The standard comparison operators work just fine.

Yeah, I added moment.fn.valueOf so you should be able to do something like this :
console.log(moment(20) < moment(10)); // false
console.log(moment(10) < moment(20)); // true


Converge Art and Confusion sources - step 1

combine icons, screenshots, challenge scripts, and thumbnails,

resolve minor differences that happened during previous merges.

See also https://github.com/sugarlabs/activity-turtle-confusion/pull/8
Yet to do;

[x] subclass the activity instance in TurtleArtActivity.py,
[ ] merge plugins,
[x] resolve conflict in license metadata,
[ ] test,
[ ] merge,
[ ] delete activity-turtle-confusion repository.

@walterbender, is the general approach acceptable?
@vipulgupta2048, your license assessment of Turtle Confusion was different to Turtle Art; see 0954ed8 for the difference.  Could you check your assessment?
@yashagrawal3, your port to GTK+ 3 seems reasonably healthy in further testing, but I did catch a log error about improper arguments, see 4313dfa.
@rdrsadhu, your README.md added to Turtle Confusion will need to merge with the README.md here, are you able to do that?  The end game for this convergence is that the source repository will contain two activities, something we're used to already with the TamTam group of activities.
@chimosky, your pending pull requests for GLib and flake8 may conflict, and you haven't pushed to this branch, so I'll look into cherry picking your commits.

@quozl  the subclass approach is the right way to go. Thx

Not proceeding, too much other work to do.  Abandoning Confusion.


ModuleNotFoundError Traceback

Hey folks, would really appreciate some support here. I have no idea what is happening, but somehow I get this error right at the intro when I'm trying to run the tests.
In the <%reload_ext tutorial.tests.testsuite>
I get
ModuleNotFoundError Traceback (most recent call last)
~\AppData\Local\Temp\ipykernel_14128\1023259248.py in
----> 1 get_ipython().run_line_magic('reload_ext', 'tutorial.tests.testsuite')
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\interactiveshell.py in run_line_magic(self, magic_name, line, _stack_depth)
2362 kwargs['local_ns'] = self.get_local_scope(stack_depth)
2363 with self.builtin_trap:
-> 2364 result = fn(*args, **kwargs)
2365 return result
2366
C:\ProgramData\Anaconda3\lib\site-packages\decorator.py in fun(*args, **kw)
230 if not kwsyntax:
231 args, kw = fix(args, kw, sig)
--> 232 return caller(func, *(extras + args), **kw)
233 fun.name = func.name
234 fun.doc = func.doc
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\magic.py in (f, *a, **k)
185 # but it's overkill for just that one bit of state.
186 def magic_deco(arg):
--> 187 call = lambda f, *a, **k: f(*a, **k)
188
189 if callable(arg):
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\magics\extension.py in reload_ext(self, module_str)
61 if not module_str:
62 raise UsageError('Missing module name.')
---> 63 self.shell.extension_manager.reload_extension(module_str)
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\extensions.py in reload_extension(self, module_str)
128 self.loaded.add(module_str)
129 else:
--> 130 self.load_extension(module_str)
131
132 def _call_load_ipython_extension(self, mod):
C:\ProgramData\Anaconda3\lib\site-packages\IPython\core\extensions.py in load_extension(self, module_str)
78 if module_str not in sys.modules:
79 with prepended_to_syspath(self.ipython_extension_dir):
---> 80 mod = import_module(module_str)
81 if mod.file.startswith(self.ipython_extension_dir):
82 print(("Loading extensions from {dir} is deprecated. "
C:\ProgramData\Anaconda3\lib\importlib_init_.py in import_module(name, package)
125 break
126 level += 1
--> 127 return _bootstrap._gcd_import(name[level:], package, level)
128
129
C:\ProgramData\Anaconda3\lib\importlib_bootstrap.py in _gcd_import(name, package, level)
C:\ProgramData\Anaconda3\lib\importlib_bootstrap.py in find_and_load(name, import)
C:\ProgramData\Anaconda3\lib\importlib_bootstrap.py in find_and_load_unlocked(name, import)
C:\ProgramData\Anaconda3\lib\importlib_bootstrap.py in _load_unlocked(spec)
C:\ProgramData\Anaconda3\lib\importlib_bootstrap_external.py in exec_module(self, module)
C:\ProgramData\Anaconda3\lib\importlib_bootstrap.py in _call_with_frames_removed(f, *args, **kwds)
~\Documents\Training\empa_python\python-tutorial\tutorial\tests\testsuite.py in
6 from typing import Dict, Optional
7
----> 8 import ipynbname
9 import pytest
10 from IPython.core.display import Javascript
ModuleNotFoundError: No module named 'ipynbname'

I now ran it through miniconda3 with a conda 23.5-? and it worked!

From the traceback, it looks like you didn't activate the virtual environment that was supposed to be created at this step.

Yeah, I don't know, because it did create an environment, but I'm not sure it used binder.
I did all the same steps but this time using miniconda and it worked. I'm still running locally and not using binder because I cannot access binder for some reason. I tried the launch|binder button on the main page of the official repository on GitHub of the tutorial.

>>>>>>>>>>>>>>>>>>>>>> ERROR REPORT <<<<<<<<<<<<<<<<<<<<<<
Traceback (most recent call last):
  File "/srv/conda/lib/python3.11/site-packages/conda/exception_handler.py", line 16, in __call__
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/srv/conda/lib/python3.11/site-packages/conda_env/cli/main.py", line 49, in do_call
    exit_code = getattr(module, func_name)(args, parser)
                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/conda/lib/python3.11/site-packages/conda/notices/core.py", line 123, in wrapper
    return func(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^
  File "/srv/conda/lib/python3.11/site-packages/conda_env/cli/main_update.py", line 139, in execute
    result[installer_type] = installer.install(prefix, specs, args, env)
                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/srv/conda/lib/python3.11/site-packages/mamba/mamba_env.py", line 153, in mamba_install
    transaction.fetch_extract_packages()
RuntimeError: Could not set URL (code: 14 - url = /setuptools-67.7.2-pyhd8ed1ab_0.conda)

$ /srv/conda/bin/mamba update -p /srv/conda/envs/notebook --file binder/environment.yml
environment variables:
CIO_TEST=
CONDA_AUTO_UPDATE_CONDA=false
CONDA_DEFAULT_ENV=/srv/conda/envs/notebook
CONDA_DIR=/srv/conda
CONDA_PLATFORM=linux-64
CONDA_ROOT=/srv/conda
CURL_CA_BUNDLE=
LD_PRELOAD=
PATH=/home/jovyan/.local/bin:/home/jovyan/.local/bin:/srv/conda/envs/notebo
ok/bin:/srv/conda/bin:/srv/npm/bin:/usr/local/sbin:/usr/local/bin:/usr
/sbin:/usr/bin:/sbin:/bin
REQUESTS_CA_BUNDLE=
SSL_CERT_FILE=
 active environment : None
   user config file : /home/jovyan/.condarc

populated config files : /srv/conda/.condarc
conda version : 23.5.2
conda-build version : not installed
python version : 3.11.5.final.0
virtual packages : __archspec=1=x86_64
__glibc=2.27=0
__linux=5.15.0=0
__unix=0=0
base environment : /srv/conda  (writable)
conda av data dir : /srv/conda/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/conda-forge/linux-64
https://conda.anaconda.org/conda-forge/noarch
https://repo.anaconda.com/pkgs/main/linux-64
https://repo.anaconda.com/pkgs/main/noarch
https://repo.anaconda.com/pkgs/r/linux-64
https://repo.anaconda.com/pkgs/r/noarch
package cache : /srv/conda/pkgs
/home/jovyan/.conda/pkgs
envs directories : /srv/conda/envs
/home/jovyan/.conda/envs
platform : linux-64
user-agent : conda/23.5.2 requests/2.31.0 CPython/3.11.5 Linux/5.15.0-79-generic ubuntu/18.04.6 glibc/2.27
UID:GID : 1000:1000
netrc file : None
offline mode : False
An unexpected error has occurred. Conda has prepared the above report.
time: 50.200

After conducting some online research, I couldn't locate a definitive explanation for the current situation. Since your local setup works, it's plausible that the problem is linked to connection issues, which may naturally resolve within the next day or two.
I propose to wait a little bit. If the issues remain unresolved, we have a closer look.

The problem is still there when using Binder, same error. More specifically:
    Traceback (most recent call last):
      File "/srv/conda/lib/python3.11/site-packages/conda/exception_handler.py", line 16, in __call__
        return func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/srv/conda/lib/python3.11/site-packages/conda_env/cli/main.py", line 49, in do_call
        exit_code = getattr(module, func_name)(args, parser)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/srv/conda/lib/python3.11/site-packages/conda/notices/core.py", line 123, in wrapper
        return func(*args, **kwargs)
               ^^^^^^^^^^^^^^^^^^^^^
      File "/srv/conda/lib/python3.11/site-packages/conda_env/cli/main_update.py", line 139, in execute
        result[installer_type] = installer.install(prefix, specs, args, env)
                                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/srv/conda/lib/python3.11/site-packages/mamba/mamba_env.py", line 153, in mamba_install
        transaction.fetch_extract_packages()
    RuntimeError: Could not set URL (code: 14 - url = /setuptools-67.7.2-pyhd8ed1ab_0.conda)

It's something related to the setup of the virtual environment inside the container run by Binder. Since I don't know how to reproduce the problem, I'll close this issue for now.
@Dr-Barrote Check out the README: you also have the option to run with Docker.

This seems to be a problem with an update to Mamba. See #139 for details.

it looks like the issue persists. At least the binder didn't manage to start after #139 has been merged.

#139 only affects the Docker image built by GitHub Workflows. Binder still build its own image unless we configure the repository differently. And I think they are still using a version of repo2docker with the problem with Mamba. That's my guess.

I confirm that binder now works 👍


feat!: adding Namespace to GetIDs and Commitment, fixing in Submit

It turns out the previous addition of Namespace to Submit wasn't enough to allow for a native celestia-node implementation of go-da.
GetIDs and Commitment have been extended to use Namespaces for DA layers that support it.
Note that this assumes that namespace would land in the ID, which I'm not so sure about for the following reason:
ID is supposed to represent what uniquely identifies a blob on the DA layer, but adding Namespace means ID represents the data you need to fetch a Blob uniquely from the DA layer. Also, changing the ID means that retrofitting existing op-stack rollups will break.
Whlie porting op-stack back to the blob module though, I realized that this change would only be necessary for using go-da. The id being only (height, commitment) is sufficient for fetching the data because you always know the namespace and can pass it into the blob endpoints directly.
The alternative to making Namespace a part of ID is adding Namespace to Get and Validate as well.

UPDATE:
The signature for Submit has been changed again, thanks to a good catch from @tuxcanfly during review. We got rid of SubmitOptions again and pass Namespace as the last parameter, as in the other methods.

Summary by CodeRabbit

New Features

Enhanced the ID retrieval and commitment creation process to support namespaces.

Refactor

Updated proxy client and server methods to handle the new namespace parameter.

Tests

Adjusted test suite to incorporate the new argument requirements for function calls.

@nashqueue and I are currently discussing if Validate really needs namespace - currently it is needed as part of the API to verify proofs in node (see: getByCommitment, blob.Included, nmt.Proof.VerifyInclusion). Will update this comment with results

I would rather have get and validate have namespace than id getting namespace.


⚠ Diverse AirCon & Mechanical has degraded performance

In 469f8a8, Diverse AirCon & Mechanical (https://diverseaircon.com.au) experienced degraded performance:

HTTP code: 200
Response time: 8813 ms

Resolved: Diverse AirCon & Mechanical performance has improved in 458664d.


Initial Scheme stdio support

Should support multiple Scheme implementations over stdio, very much like Racket (but without xrepl I guess).

Hi, great work with Conjure!  I'm interested in a Guile client, and may even be able to develop and maintain it (pending getting up to speed with Fennel).
Guile offers a socket-based way of connecting to a running process (run "guile --listen=").  It's just a REPL running over a socket, the same as over stdio - no nREPL or similar - but I think it would be the best way to make a client.  Almost all of the code could be shared with a stdio client, just with the I/O going to a different place.  The socket can be a TCP socket or a Unix domain socket - the latter is preferred for security (see CVE-2016-8606 - Guile has a mitigation for this, but it's still better to avoid a network socket if possible, even on loopback).  Starting Guile using option "-q" (skip loading user init file) will avoid a repeat of issue #166.
Some thoughts:  I think that having one client for all Scheme implementations might not be a good idea.  Sure, they share the same basic language, but that's where the similarities end.  Different implementations will need interfacing in completely different ways - different REPL commands to change module, different module systems, or even different ways of connecting (e.g. the REPL socket is not general to other Scheme implementations).  It seems to me that the clients are about the specifics of how to interact with the language implementation, rather than being about the language itself.  Or, did I misunderstand?
Finally, is there a reasonable way to make the configuration work with "dotted filetypes"?  See for example this Guile mode for Vim, which sets the filetype as "scheme.guile" so as to only make minor changes to the basic Scheme mode.  Setting the default in fnl/conjure/config.fnl works fine, but choosing the client in init.vim causes some trouble:
let g:conjure#filetype#scheme.guile = "conjure.client.guile.socket"
----> E121: Undefined variable: g:conjure#filetype#scheme

I've put my initial hacking on a Guile stdio client here: https://github.com/taw10/conjure (not ready for a PR yet - still needs to become "module-aware").

So very quick reply, just to ack, this is really cool! And the socket sounds good to me, there's some reusable "transport" modules already, so it'd be a new one of those presumably.
Having a client for each Scheme probably makes sense if they vary enough, yeah, then it's just a case of switching them out at config time depending on what you want.
Clients are basically drop in replacements that handle specific actions from the generic Conjure outer shell of UX. So they expose hooks like "eval this given string", they are engineered to match up to a specific filetype (which is awkward for Scheme since they're all Scheme!). So Conjure shares the same core UX and mappings completely generally but routes function calls to the right client depending on the filetype of the buffer you're in.
Oh! Dotted filetype! Yeah that should work, your issue there is that the vim syntax thinks you're trying to set the guile key of a map called g:conjure#filetype#scheme. You'll probably want something like :call set(g:, "conjure#filetype#scheme.guile", "conjure.client.guile.socket") (may be incorrect viml). That also might not work, but I'm sure there's a way to do it! You'll want to set this in fnl/conjure/config.fnl to make this a default.
I might need to hack around to support it, but I think we can get it working with the existing code tbh. If you have a crack at this and get it working to some point I can always refactor it into reusable Fennel modules etc if that's feeling too foggy to you but it's working :slightly_smiling_face: but I can also code review and leave that down to you if you wanna.

Thank you so much for showing interest and taking the initiative! It's so cool to see! :tada:

See #178 for some code!  I've also split off the discussion about dotted filetypes to a separate issue #177.

Just FYI I'm still deep in the process of modifying the guile client. Will share my changes soon! Basically just around UX and lifecycle to make it a little easier to debug and understand as a new user. It explains connection failures a little and I want it to handle the REPL hanging up, for example.
Once I'm happy with all the cases and behaviour I'll get this into a tagged release :)

Sure, the UX I came up with should definitely not be taken as the final word.  Sounds great, looking forward to testing the revision!

Okay, changes pushed! See the recent commits on the develop branch, mostly this one https://github.com/Olical/conjure/commit/084cbce8e7db3f6fbddf686e37c7da78b5f7c25e

And a first pass at the wiki entry https://github.com/Olical/conjure/wiki/Quick-start:-Guile-(socket)

I think you made the first ever wiki edit @taw10 :D thank you!

Looks great, and much tidier than my version!  I found one small(ish) problem, which I think was there before and might apply to other stdio-style clients as well - I'll put in a separate issue.


updated custom handler docs

issues
https://github.com/unitedhubs/material-ui-form/issues/22

Pull Request Test Coverage Report for Build 71

7 of 7 (100.0%) changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 65.192%

Totals

Change from base Build 69:
0.0%

Covered Lines:
207

Relevant Lines:
298

💛  - Coveralls


add openssl soft work supporting for cipher and digest engine

WARNING: do not add new typedefs
#94: FILE: src/uadk_cipher.c:47:
+typedef struct sw_cipher_s {
WARNING: Missing a blank line after declarations
#96: FILE: src/uadk_cipher.c:49:

  int nid;

  const EVP_CIPHER *(*get_cipher)(void);

WARNING: Missing a blank line after declarations
#257: FILE: src/uadk_cipher.c:262:

          int nid = EVP_CIPHER_CTX_nid(ctx);

          fprintf(stderr, "get openssl software cipher failed, nid = %d.\n", nid);

total: 0 errors, 3 warnings, 1058 lines checked
NOTE: For some of the reported defects, checkpatch may be able to
mechanically convert to the typical style using --fix or --fix-inplace.
tmp/0001-cipher-add-openssl-soft-work-supporting-for-cipher-e.patch has style problems, please review.
tmp/0002-digest-add-openssl-soft-work-supporting-for-digest-e.patch
WARNING: suspect code indent for conditional statements (8, 24)
#465: FILE: src/uadk_digest.c:491:

  if (priv->req.in_bytes <= priv->switch_threshold)

                  return 0;


how to run without blender GUI ?

I need this library to be run inside the code without GUI. My requirement is to just call it as a function and get return value as output. how to run this code without gui. and also to import it as a library into another code base

it is working good with bpy module. Thanks for a great tool.


conflict in Maven settings.xml with Closure Compiler

The instructions for building Closure Compiler with Maven state that it is necessary to "Add sonatype snapshots repository to ~/.m2/settings.xml".  After creating this file I get errors when building Dossier.
[13:34:49 ~/Documents/Programming/js-dossier]$ ./gendossier.sh
INFO: Starting clean (this may take a while). Consider using --expunge_async if
the clean takes more than several minutes.
ERROR: /Users/erikn/Documents/Programming/js-dossier/lib/maven/BUILD:94:1: no
such package '@gson//jar': Errors interpreting settings file: [[WARNING]
Unrecognised tag: 'id' (position: START_TAG seen ...<profiles>\n    <id>...
@14:9)  @ /Users/erikn/.m2/settings.xml, line 14, column 9] and referenced by
'//lib/maven:gson'.
ERROR: Loading failed; build aborted.
INFO: Elapsed time: 0.151s
ERROR: Couldn't start the build. Unable to run tests.

I tried changing the settings.xml to be more like what is shown at https://maven.apache.org/settings.html but I only got more similar errors.
If I disable that settings.xml file by renaming it to "XXXsettings.xml" then Dossier builds no problem.  But that doesn't seem like a great long term solution.
Here is the latest version of my settings.xml file.
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
  </servers>
  <mirrors>
  </mirrors>
  <profiles>
    <id>allow-snapshots</id>
    <activation><activeByDefault>true</activeByDefault></activation>
    <repositories>
       <repository>
         <id>snapshots-repo</id>
         <url>https://oss.sonatype.org/content/repositories/snapshots</url>
         <releases><enabled>false</enabled></releases>
         <snapshots><enabled>true</enabled></snapshots>
       </repository>
     </repositories>
  </profiles>
</settings>

Your settings are malformed. Should have <profiles><profile>....
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
  <pluginGroups>
  </pluginGroups>
  <proxies>
  </proxies>
  <servers>
  </servers>
  <mirrors>
  </mirrors>
  <profiles>
    <profile>
      <id>allow-snapshots</id>
      <activation><activeByDefault>true</activeByDefault></activation>
      <repositories>
         <repository>
           <id>snapshots-repo</id>
           <url>https://oss.sonatype.org/content/repositories/snapshots</url>
           <releases><enabled>false</enabled></releases>
           <snapshots><enabled>true</enabled></snapshots>
         </repository>
     </repositories>
   </profile>
  </profiles>
</settings>

Confirmed, works now. Thanks.


api created

[ ] Delete previous code
[ ] add the asyncronous JS
[ ] call the api
[ ] programming submit buttom
[ ] programming refresh buttom

All the requirements of the previous reviewer were corrected


LMNT TTS

@chadbailey59, here's an initial cut of adding LMNT as a TTSService. Happy to revisit https://github.com/pipecat-ai/pipecat/pull/87 or carry on the work here.

Awesome. Thank you! Is there any way to know when the audio is done? We use TTSStopFrame for later generating BotStoppedSpeakingFrame. This is a common problem with streaming TTS. Most services use timing, that is, if no text has been received in a short period of time it means we are probably done.

We have a buffer_empty message when the server buffer is drained (i.e. it has produced speech for all of the text sent up so far). There's no server-side delay so it could be that the server responds with a buffer_empty even though there's text in-flight to the server over the network.
We have a couple of options:

if the semantics of TTSStoppedFrame are such that the rest of the pipeline handles spurious frames gracefully (AudioRawFrame -> ... -> TTSStoppedFrame -> TTSStartedFrame -> ...) then I can use the buffer_empty signal.
if not, I can add a client-side timer task to fire off the TTSStoppedFrame signal.

WDYT?

We have a buffer_empty message when the server buffer is drained (i.e. it has produced speech for all of the text sent up so far). There's no server-side delay so it could be that the server responds with a buffer_empty even though there's text in-flight to the server over the network.
We have a couple of options:

if the semantics of TTSStoppedFrame are such that the rest of the pipeline handles spurious frames gracefully (AudioRawFrame -> ... -> TTSStoppedFrame -> TTSStartedFrame -> ...) then I can use the buffer_empty signal.
if not, I can add a client-side timer task to fire off the TTSStoppedFrame signal. Do you have a recommendation on how long the timeout should be here?

WDYT?

Since this the bot talking, the safest one is probably (2) plus it could be useful for other services which don't provide buffer_empty (or similar). I'm worried that option (1) might generate too many bot started/stopped frames when there's no need to.
About the timeout, I believe 800ms is a good number. I would take care of making this generic for other services.
Also... Any chance you could add an example to examples/foundation (07X-interruptible....).

I've added a generic mechanism to (optionally) produce TTSStoppedFrames after a configurable timeout. Please let me know if this is roughly what you had in mind.
I'll add an example to this PR in my next commit.

Thanks for the feedback! I updated the original approach to fix the missing await and only reschedule the task on RawAudioFrame. I also took your suggestion and added a commit to the PR to use a single long-lived task. Either approach works for me, let me know which one you prefer and we'll go with that.
Out of curiosity, I took some measurements to understand the baseline cost of task creation / task memory. It feels quite lightweight – about 8 microseconds to create a task on my Macbook, and about 1kB of memory per task. Since we only keep one task around at any time, the memory overhead doesn't really matter. On run time, we'd only notice a meaningful (~1ms) cost if a service is producing ~100 RawAudioFrames per second.
Task creation time
https://gist.github.com/sharvil/775ba412f120f4c48cdabd04a5261cb7
Memory use per task
https://gist.github.com/sharvil/d1b6240d46a9433d88284e521a4eda14

Thanks for the feedback! I updated the original approach to fix the missing await and only reschedule the task on RawAudioFrame. I also took your suggestion and added a commit to the PR to use a single long-lived task. Either approach works for me, let me know which one you prefer and we'll go with that.
Out of curiosity, I took some measurements to understand the baseline cost of task creation / task memory. It feels quite lightweight – about 8 microseconds to create a task on my Macbook, and about 1kB of memory per task. Since we only keep one task around at any time, the memory overhead doesn't really matter. On run time, we'd only notice a meaningful (~1ms) cost if a service is producing ~100 RawAudioFrames per second.
Task creation time https://gist.github.com/sharvil/775ba412f120f4c48cdabd04a5261cb7
Memory use per task https://gist.github.com/sharvil/d1b6240d46a9433d88284e521a4eda14

This is great! Thank you so much for taking the extra time to write this. I believe it's probably better to just have a long-lived task and a queue, it feels a bit simpler and a more common pattern in general.
Just added a couple more comments. I'll try it out after that. Thanks again!!!

LGTM! Thank you!


Write installation instructions

Or some sort of setup wizard

Make the process as smooth as possible

Link to Heroku deploy stuff etc is here - http://theodi.github.io/metrics-api/

The Heroku deploy page might be a bit too generic though - could improve this by using the Heroku Platform API, which might give us more control. What we have is probably OK for Alpha though

This is done - might be worth @pikesley trying it tomorrow to test the flow

METRICS_API_CERTIFICATE_URL is a mandatory field, which leads to a bootstrapping problem
Do I really need to care about RACK_ENV?
It allowed me to choose a terrible password
It did not work

Yeah, the certificate is a thing we need to tackle in #71 I just put # there for now
Heroku put all the env variables there, regardless of whether we need to customise them or not, which we could make easier by addressing #82
Yeah, that's another thing we can tackle with #82
Weird :/ Googling that seems like an intermittent Heroku problem - try again maybes?

Is this because it has no data?

Ah, it could well be. Try adding some, and see what happens. This is definitely A bug.

Same difference

Same error in the logs?

Well it's just giving 503s

What did you put in the RACK_ENV?

Nope, that's a red herring. Not working for me either :rage4:

This WORKED yesterday

Hah

Try changing MONGOLAB_URI to MONGODB_URI in your settings. Looks like Mongolab have changed the default env var name

And now, it works! https://my-metrics-api.herokuapp.com/metrics
We need to change the mongoid.yml to accept ENV['MONGODB_URI'] or ENV['MONGOLAB_URI']

Oh FFS now I get a 404 when trying to POST
➔ curl -X POST -H 'Content-type: application/json' -d '{ "time": "2016-04-12T10:00:00", "value": 500 }'<EMAIL_ADDRESS>
Not Found

2016-04-13T11:00:20.010082+00:00 heroku[router]: at=info method=POST path="/metrics" host=bothans-died.herokuapp.com request_id=23511b15-8393-4060-be56-acca81900b5a fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=2ms status=404 bytes=241

You need to post to /metrics/metric-name, not just to /metrics

Ooh yeah


build needs to be installed in advance

Code of Conduct

[X] I have read and agree to the GitHub Docs project's Code of Conduct

What article on docs.github.com is affected?
https://docs.github.com/en/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-pypi#updating-your-github-actions-workflow
What part(s) of the article would you like to see updated?
This workflow uses python -m build to build packages, but build is not pre-installed in the runner image. One must install build using pip install build, or combine installation and running into pipx run build.
https://github.com/github/docs/blob/a107d854397cc1a346fa011fd1d5dc0a573a2d3f/content/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-pypi.md#L61-L77
Additional information
No response

@njzjz Thanks so much for opening an issue! I'll get this triaged for review ✨

Thank you for opening this issue @njzjz! ✨ This update to the docs looks good to me. You, or anyone else, are free to open a pull request to make these changes.
I would recommend adding the step python-m pip install build before python -m build as seen in the section Publishing to PyPI.

@njzjz After looking into the issue, I've learned that changes to any files within content/actions/deployment/security-hardening-your-deployments/** are restricted due to security compliance. I'm going to transfer this open source issue into an internal issue and update the file with your changes.
Thank you again for your valued contribution 💛


chore!: remove deprecated methods

Fixes #704

This looks reasonable to me, but I would like to release:
https://github.com/googleapis/google-auth-library-nodejs/pull/909
First, and give this a chance to bake, it being 4PM, realistically I don't think we should put out #909  until the morning.

I'm ok holding off until the next major release.  J was starting to line some of these up to get on master for the node 8 deprecation.


TExp: Clean up somewhat

Used the PR as a base in recent commit, since the force push still had some issues. Thanks for doing this.


feat(overlay): replace OverlayContainer themeClass w/ addClass/removeClass methods

BREAKING CHANGE: Now that the Overlay is part of the cdk rather than Angular Material directly,
the themeClass property has been removed. To add a class to the
overlay for theming, you can do
overlayContainer.getContainerElement().classList.add('my-theme-class');

I went ahead and just removed themeClass. I'm still open open adding a more "obvious" way to apply a theme class, but I think this is good as a starting point.

Fixed typo and demo-app (which I missed before)


TypeError: Path must be a string. Received undefined

I upgraded my ionic version and an error appears when I run it in Windows cmd
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.resolve (path.js:186:7)
at Project.BaseConfig (C:\Users\zindel\AppData\Roaming\npm\node_modules\ioni
c\node_modules@ionic\cli-utils\dist\lib\config.js:27:30)
at Project (C:\Users\zindel\AppData\Roaming\npm\node_modules\ionic\node_modu
les@ionic\cli-utils\dist\lib\project.js:25:1)
at C:\Users\zindel\AppData\Roaming\npm\node_modules\ionic\dist\index.js:54:2
5
at next (native)
at fulfilled (C:\Users\zindel\AppData\Roaming\npm\node_modules\ionic\dist\in
dex.js:4:58)
When I try to ionic serve  this appears
[ERROR] Error occurred while loading plugins. CLI functionality may be limited.
Checking for CLI updates now...
[ERROR] No updates found after plugin error--please report this issue.
Ionic Version :  3.0.0
Cordova : 7.0.0
Node Version : 6.10.3
NPM : 4.5.0

Same here and curiously same versions

all ionic commands give this error after I upgraded to ionic3.0.0.

Herre is @Petruccini 's forum post with additional information:
https://forum.ionicframework.com/t/typeerror-path-must-be-a-string-received-undefined/89647

@zindelluib Does ionic info work for you?

the same issue

I am getting the same issue while creating a project

@techhunting @c350156378 @zindelluib All on Windows 10?

@dwieeb
upgrade to 2.2.3, works again.
`$ ionic info
Your system information:
Cordova CLI: 7.0.0
Ionic Framework Version: 3.1.1
Ionic CLI Version: 2.2.3
Ionic App Lib Version: 2.2.1
Ionic App Scripts Version: 1.3.6
ios-deploy version: Not installed
ios-sim version: Not installed
OS: Windows 7
Node Version: v6.10.0
Xcode version: Not installed
`

@dwieeb  Windows 8.1

Another one on Win10: v

@zindelluib We're not able to reproduce this on our Windows machine, but I may have found the offending line. Can you try with the latest alpha version? npm i -g ionic@canary

@dwieeb I got the same error and tried the latest alpha vesion -> didn't work.
I reinstalled my whole environment completely new just a few hours ago and got the error since then.
ionic v3.0.0 and 3.0.0-alpha.256503ea
cordova 7.0.0
and newest nodejs v7.10.0 (if that matters?)

@dwieeb  I just reverted version to 2.2.3

@dwieeb
uninstall the current and install the beta and it works
`$ ionic info
[WARN] You are not in an Ionic project directory. Project context may be missing.
global packages:
@ionic/cli-utils : 1.0.0-alpha.8fcb0a8d
Ionic CLI        : 3.0.0-alpha.8fcb0a8d

System:
Node       : v6.10.0
OS         : Windows 7
Xcode      : not installed
ios-deploy : not installed
ios-sim    : not installed

`

Getting the same error while creating new project ot ionic -v or ionic info
Plz help find a solution asap

Guys, please! Let's keep it simple! Noob's asking.
What's the solution for the following problem?
I've ran the commands "ionic serve" and"ionic -info" in my Git CLI.
The output, and I quote, is:
"
[ERROR] Error occurred while loading plugins. CLI functionality may be limited.
Checking for CLI updates now...
[ERROR] No updates found after plugin error--please report this issue.
global packages:
@ionic/cli-utils : 1.0.0
Ionic CLI        : 3.0.0
System:
Node       : v7.9.0
OS         : Windows 10
Xcode      : not installed
ios-deploy : not installed
ios-sim    : not installed
"
End quote.

Thank you!

@LeandroBernardino Your problem is totally different from the one you responded to (different error message) and probably solved by following this: https://github.com/driftyco/ionic-cli#existing-project

@piotrowski as u've seen, i'm no good reader also. Srry. I'll give it a try. Tks!

I have the same error when i tried to create new ionic project  :
TypeError: Path must be a string. Received undefined
at assertPath (path.js:7:11)
at Object.resolve (path.js:186:7)
Please can you advice how to fix this error .
Best regards

I have the same error with all the ionic cli commands after I upgraded ionic to the latest version. Currently I have downgraded the ionic to v2.2.3. Hope for a fix soon. Thanks in advance.

Hi @dwieeb
In what folder I can change this files? I got the same problem

@tocanto If you want to try using the alpha CLI with this fix in it: npm i -g ionic@canary


[conan] Doxygen isn't found on Linux

https://travis-ci.org/inexor-game/ci-prebuilds/jobs/241009904

doxygen/1.8.13@inexorgame/testing package(): WARN: No files copied!

Fixed by https://github.com/inexor-game/conan-doxygen/compare/fee3657d1411...5cf827cdaf7f


Added History Function But Need To Clean

Describe the feature
Hey, I added a sessions, save history and a few other smaller functions but I still need to clean them! They're very UI dependent right now but I plan on fixing that soon and then rolling the next big update next month!
Here is the link: https://github.com/Walker-Industries-RnD/Project-Replicant/tree/main

Thanks for sharing, I love seeing projects using LLMUnity :heart: !
Saving functionality is implemented in the upcoming release v2.0.0 that saves the chat history as well as the LLM cache to avoid reprocessing the prompt.

Thank you for releasing this, I look forward to continuing the development of Project Replicant with LLMUnity! Hopefully my code can be of help to you!

Great thank you, let me know if you get stuck with anything!


Add project ID argument for CLI create task

Motivation and context

The new project feature is helpful, but it is currently not compatible with the CLI create task script. This PR adds the --project_id option for the create task and sets the labels to an empty list, which defaults to the project's labels.
How has this been tested?

Add the --project_id [id] argument. For example:
docker exec -it cvat bash -ic \
  "python3 utils/cli/cli.py \
  --auth ${CVAT_USERNAME}:${CVAT_PASSWORD} \
  create --project_id 1 TaskName local /path/to/file.jpg"

Checklist

[x] I submit my changes into the develop branch
[ ] I have added description of my changes into CHANGELOG file
[ ] I have updated the documentation accordingly
[ ] I have added tests to cover my changes
[ ] I have linked related issues (read github docs)
[ ] I have increased versions of npm packages if it is necessary (cvat-canvas,
cvat-core, cvat-data and cvat-ui)

License

[x] I submit my code changes under the same MIT License that covers the project.
Feel free to contact the maintainers if that's a concern.
[ ] I have updated the license header for each file (see an example below)

# Copyright (C) 2021 Intel Corporation
#
# SPDX-License-Identifier: MIT

Coverage decreased (-0.001%) to 71.022% when pulling<PHONE_NUMBER>23bebfd43689ce83a66262a628c265 on vframeio:develop into dff57eb24bac6354081a37614378e45b92e3e927 on openvinotoolkit:develop.

@ActiveChooN It would be if we could move a task to a project i.e. if the task project id is None, we could assign a project ID to them through API. This way we could move a task that is not in any project to a project (for people who are upgrading their cvat to use this feature)

@adamhrv
Hi, something wrong with this PR now. It shows changes that actually were done in other patches.

sorry didn't realize this would mess up the PR from 2 days ago. I merged the latest commits from this develop branch to my develop branch fork thinking it would sync up, but that obviously didn't work as intended. is there way to untangle this? otherwise I'll close and resubmit a fresh PR. it's a rather small change.

sorry didn't realize this would mess up the PR from 2 days ago. I merged the latest commits from this develop branch to my develop branch fork thinking it would sync up, but that obviously didn't work as intended. is there way to untangle this? otherwise I'll close and resubmit a fresh PR. it's a rather small change.

It would be better to try fixing this PR.
Something like:
git checkout openvinotoolkit/develop
git pull openvinotoolkit develop
git checkout develop
git reset --hard<PHONE_NUMBER>2  # hash of your latest commit (check if it correct)
git merge openvinotoolkit/develop
git push origin develop --force # be sure all changes are saved before force pushing

@adamhrv , I will close the PR. Please reopen/re-create it if you are ready to resolve all problems with merge.


Services and helpers from old tool

Hi,
I have question about services and helpers which was available in an old tool, for example interactivityService, jsCommon and etc, when they will be available here? Currently with this API I can't find  a way to  cross filter based on selected datapoint.
Thanks for this great tool!
Sash

Cross filtering is explained in Selection Manager. New API has cross filtering for Categorical data sources. Show your example, we will be able to help.

module powerbi.extensibility.visual {
    /**
     * Interface for BarCharts viewmodel.
     *
     * @interface
     * @property {BarChartDataPoint[]} dataPoints - Set of data points the visual will render.
     * @property {number} dataMax                 - Maximum data value in the set of data points.
     */
    interface BarChartViewModel {
        dataPoints: BarChartDataPoint[];
    }

    /**
     * Interface for BarChart data points.
     *
     * @interface
     * @property {number} value             - Data value for point.
     * @property {string} category          - Corresponding category of data value.
     * @property {string} color             - Color corresponding to data point.
     * @property {ISelectionId} selectionId - Id assigned to data point for cross filtering
     *                                        and visual interaction.
     */
    interface BarChartDataPoint {
        value: number;
        selectionId: ISelectionId;
    }
    /**
     * Function that converts queried data into a view model that will be used by the visual.
     *
     * @function
     * @param {VisualUpdateOptions} options - Contains references to the size of the container
     *                                        and the dataView which contains all the data
     *                                        the visual had queried.
     * @param {IVisualHost} host            - Contains references to the host which contains services
     */
    function visualTransform(options:VisualUpdateOptions, host:IVisualHost):BarChartViewModel {
        let dataViews = options.dataViews;
        let viewModel:BarChartViewModel = {
            dataPoints: []
        };
        if (!dataViews
            || !dataViews[0]
            || !dataViews[0].categorical
            || !dataViews[0].categorical.categories
            || !dataViews[0].categorical.categories[0].source)
            return viewModel;

        let categorical = dataViews[0].categorical;
        var category = categorical.categories[0];
        let values = category.values;

        let barChartDataPoints:BarChartDataPoint[] = [];

        for (let i = 0, len = values.length; i < len; i++) {
            barChartDataPoints.push({
                value: values[i],
                selectionId: host.createSelectionIdBuilder()
                    .withCategory(category, i)
                    .createSelectionId()
            });
        }
        return {
            dataPoints: barChartDataPoints,
        };
    }

    export class BarChart implements IVisual {
        private root:JQuery;
        private elem:JQuery;
        private host:IVisualHost;
        private selectionManager:ISelectionManager;
        private barDataPoints:BarChartDataPoint[];

        /**
         * Creates instance of BarChart. This method is only called once.
         *
         * @constructor
         * @param {VisualConstructorOptions} options - Contains references to the element that will
         *                                             contain the visual and a reference to the host
         *                                             which contains services.
         */
        constructor(options:VisualConstructorOptions) {
            this.host = options.host;
            this.selectionManager = options.host.createSelectionManager();
            let root = this.root = $(options.element);
            var myHTML = '<input type="text" id="datepicker"></p>';
            root.html(myHTML);
            this.elem = $("#datepicker");
        }

        /**
         * Updates the state of the visual. Every sequential databinding and resize will call update.
         *
         * @function
         * @param {VisualUpdateOptions} options - Contains references to the size of the container
         *                                        and the dataView which contains all the data
         *                                        the visual had queried.
         */
        public update(options:VisualUpdateOptions) {
            var self = this;
            let selectionManager = this.selectionManager;
            let viewModel:BarChartViewModel = visualTransform(options, this.host);
            this.barDataPoints = viewModel.dataPoints;
            this.elem.datepicker({
                onSelect: function (date, obj) {
                    var value = _.find(self.barDataPoints, {'value': obj.selectedYear});
                    if (!value) {
                        return;
                    }
                    selectionManager.select(value.selectionId).then((ids:ISelectionId[]) => {
                        console.log('selection done');
                        console.log(value);
                    });
                }
            });

        }

        /**
         * Destroy runs when the visual is removed. Any cleanup that the visual needs to
         * do should be done here.
         *
         * @function
         */
        public destroy():void {
            //Perform any cleanup tasks here
        }
    }
}

here is my example, when I select some year from datepicker and it exist in the category values, I get cross highlighting, but I need behavior like slicer. here are screenshots with difference in behavior, in one case year selected from ChicletSlicer  and in second I selected year with datepicker.

PS.
btw jqurey-ui date  picker works in powerbi web only in packaged visual, and doesn't work in desktop version or in debug visual, have any ideas why?

finally find solution by diving in other slicers code, I just need to add filter property in general and persist filter from selection.

Checked not new api hasn't SemanticFilter, SQLExpBuilder and etc. Will they be available ?

We are gradually adding more features and functionality, some of them will be external dependencies that you will be able to reuse. No specific release dates now.
Please send us some detailed information about what is the top 5 missing APIs and helpers.
You can also send us a complete list ordered by the priority.

@AlexandrTuniev For the time being: I created a npm package (https://www.npmjs.com/package/powerbi-api-helper) which includes some helpers of the old API, like the valueFormatter.
Helpers for a slicer are not included (yet).

We are actually working on supplying such npm package(s) ourselves.
Stay posted

The official npm packages are actually already out.
See here.
Thumbs up for the PowerBI team!


nesting ReorderableListView throws exception on chrome

Steps to Reproduce
This is the code from main.dart file which should be enough to reproduce the issue.

Minimal reproducible code sample
import 'package:flutter/material.dart';

void main() {
  runApp(App());
}

class App extends StatelessWidget {
  final String title = 'Nested ReorderableListView Issue';
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: title,
      home: MyHomePage(title: title),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;
  final List outer = ['one', 'two', 'three'];
  final List inner = ['uno', 'dos', 'tres'];

  MyHomePage({this.title});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(title)),
      body: Center(
        child: Container(
          // main list containing nested reorderable lists
          child: ReorderableListView(
            // OuterListItem contains nested ReorderableListView
            children: outer.map<Widget>((oe) => OuterListItem(
              key: ValueKey(oe),
              children: inner.map((ie) => InnerListItem(
                key: ValueKey('$oe.$ie'),
                text: ie
              )).toList(),
            )).toList(),
            onReorder: (cIndex, nIndex) {}
          ),

          height: 300,
          width: 400,
          padding: EdgeInsets.all(10),
          decoration: BoxDecoration(border: Border.all(width: 5)),
        )
      ),
    );
  }
}

class OuterListItem extends StatelessWidget {
  final Key key;
  final List<Widget> children;

  const OuterListItem({this.key, this.children}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      key: key,
      child: ReorderableListView(
        children: children,
        scrollDirection: Axis.horizontal,
        onReorder: (cIndex, nIndex) {}
      ),
      decoration: BoxDecoration(
        border: Border.all(
          color: Colors.pinkAccent,
          width: 3,
        ),
      ),
      margin: EdgeInsets.only(bottom: 10),
      height: 100,
    );
  }
}

class InnerListItem extends StatelessWidget {
  final Key key;
  final String text;

  const InnerListItem({this.key, this.text}): super(key: key);

  @override
  Widget build(BuildContext context) {
    return Card(
      key: key,
      child: Container(
        child: Center(
          child: Text(text),
        ),
        height: 100,
        width: 100,
      ),
      elevation: 2,
      color: Colors.yellow[300],
    );
  }
}

I'm running the code using "flutter run -d chrome"
When I try to reorder any of the outer or inner nested list item,
animation breaks and following exception is thrown.

Logs
══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
The following assertion was thrown while handling a gesture:
Assertion failed: file:///C:/flutter/packages/flutter/lib/src/widgets/scroll_controller.dart:113:12
_positions.length == 1
"ScrollController attached to multiple scroll views."

When the exception was thrown, this was the stack:
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 214:49  throw_
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 24:3    assertFailed
packages/flutter/src/widgets/scroll_controller.dart 113:30                                                                 get position
packages/flutter/src/widgets/scroll_controller.dart 120:33                                                                 get offset
packages/flutter/src/material/reorderable_list.dart 333:51                                                                 [_scrollTo]
packages/flutter/src/material/reorderable_list.dart 552:11                                                                 <fn>
packages/flutter/src/widgets/drag_target.dart 553:76                                                                       didEnter
packages/flutter/src/widgets/drag_target.dart 694:22                                                                       <fn>
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/js_array.dart 260:15            firstWhere]
packages/flutter/src/widgets/drag_target.dart 691:50                                                                       updateDrag
packages/flutter/src/widgets/drag_target.dart 627:5                                                                        new
packages/flutter/src/widgets/drag_target.dart 388:35                                                                       [_startDrag]
packages/flutter/src/widgets/drag_target.dart 326:36                                                                       <fn>
packages/flutter/src/gestures/multidrag.dart 272:59                                                                        <fn>
packages/flutter/src/gestures/recognizer.dart 184:24                                                                       invokeCallback
packages/flutter/src/gestures/multidrag.dart 272:14                                                                        [_startDrag]
packages/flutter/src/gestures/multidrag.dart 262:48                                                                        <fn>
packages/flutter/src/gestures/multidrag.dart 491:14                                                                        accepted
packages/flutter/src/gestures/multidrag.dart 262:10                                                                        acceptGesture
packages/flutter/src/gestures/arena.dart 265:11                                                                            [_resolveInFavorOf]packages/flutter/src/gestures/arena.dart 224:9                                                                             [_resolve]
packages/flutter/src/gestures/arena.dart 54:12                                                                             resolve
packages/flutter/src/gestures/multidrag.dart 64:17                                                                         resolve
packages/flutter/src/gestures/multidrag.dart 477:7                                                                         [_delayPassed]
C:/b/s/w/ir/cache/builder/src/out/host_debug/dart-sdk/lib/_internal/js_dev_runtime/private/isolate_helper.dart 48:19       internalCallback

Handler: "onStart"
Recognizer:
  DelayedMultiDragGestureRecognizer#b3359
═══════════════════════════════════════════════════════════════════════════════

[  +86 ms] executing: [C:\flutter/] git -c log.showSignature=false log -n 1 --pretty=format:%H
[  +40 ms] Exit code 0 from: git -c log.showSignature=false log -n 1 --pretty=format:%H
[        ] 916c3ac648aa0498a70f32b5fc4f6c51447628e3
[        ] executing: [C:\flutter/] git tag --contains HEAD
[ +152 ms] Exit code 0 from: git tag --contains HEAD
[   +1 ms] 1.20.0
           1.20.0-7.4.pre
           1.20.1
[   +7 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref --symbolic @{u}
[  +21 ms] Exit code 0 from: git rev-parse --abbrev-ref --symbolic @{u}
[        ] origin/beta
[        ] executing: [C:\flutter/] git ls-remote --get-url origin
[  +19 ms] Exit code 0 from: git ls-remote --get-url origin
[        ] https://github.com/flutter/flutter.git
[  +47 ms] executing: [C:\flutter/] git rev-parse --abbrev-ref HEAD
[  +21 ms] Exit code 0 from: git rev-parse --abbrev-ref HEAD
[        ] beta
[  +33 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[   +3 ms] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterWebSdk' is not required, skipping update.
[   +2 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[  +13 ms] executing: C:\android\sdk\platform-tools\adb.exe devices -l
[  +28 ms] List of devices attached
[   +4 ms] Artifact Instance of 'AndroidMavenArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidGenSnapshotArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'AndroidInternalBuildArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'IOSEngineArtifacts' is not required, skipping update.
[   +1 ms] Artifact Instance of 'WindowsEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxEngineArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'LinuxFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'MacOSFuchsiaSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerSDKArtifacts' is not required, skipping update.
[        ] Artifact Instance of 'FlutterRunnerDebugSymbols' is not required, skipping update.
[ +131 ms] Generating
C:\Users\akasH\Desktop\flutterIssues\NestedReorderableListViewIssue\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +66 ms] Launching lib\main.dart on Chrome in debug mode...
[  +35 ms] Updating assets
[  +57 ms] Syncing files to device Chrome...
[  +25 ms] Generating
C:\Users\akasH\Desktop\flutterIssues\NestedReorderableListViewIssue\android\app\src\main\java\io\flutter\plugins\GeneratedPluginRegistrant.java
[  +44 ms] <- reset
[   +5 ms] C:\flutter\bin\cache\dart-sdk\bin\dart.exe --disable-dart-dev
C:\flutter\bin\cache\artifacts\engine\windows-x64\frontend_server.dart.snapshot --sdk-root C:\flutter\bin\cache\flutter_web_sdk/ --incremental--target=dartdevc --debugger-module-names -Ddart.developer.causal_async_stacks=true --output-dill
C:\Users\akasH\AppData\Local\Temp\flutter_tools.c9708663\flutter_tool.91cfb19e\app.dill --libraries-spec
file:///C:/flutter/bin/cache/flutter_web_sdk/libraries.json --packages .packages -Ddart.vm.profile=false -Ddart.vm.product=false
--bytecode-options=source-positions,local-var-info,debugger-stops,instance-field-initializers,keep-unreachable-code,avoid-closure-call-instructions --enable-asserts --track-widget-creation --filesystem-root
C:\Users\akasH\AppData\Local\Temp\flutter_tools.c9708663\flutter_tools.d2f199ab --filesystem-scheme org-dartlang-app --initialize-from-dill
build\cache.dill.track.dill --platform file:///C:/flutter/bin/cache/flutter_web_sdk/kernel/flutter_ddc_sdk.dill
[   +5 ms] <- compile org-dartlang-app:/web_entrypoint.dart
[+5835 ms] Syncing files to device Chrome... (completed in 5,910ms, longer than expected)
[        ] Synced 23.0MB.
[        ] <- accept
[        ] Caching compiled dill
[ +128 ms] [CHROME]:
[   +2 ms] [CHROME]:DevTools listening on ws://<IP_ADDRESS>:52373/devtools/browser/4d53cb6b-f272-4797-a965-b12e548d858a
[+3697 ms] Debug service listening on ws://<IP_ADDRESS>:52395/4GaNnFDPfCY=

[ +171 ms] Debug service listening on ws://<IP_ADDRESS>:52395/4GaNnFDPfCY=
[   +1 ms] Warning: Flutter's support for web development is not stable yet and hasn't
[   +3 ms] been thoroughly tested in production environments.
[  +25 ms] For more information see https://flutter.dev/web
[        ] �🔥  To hot restart changes while running, press "r" or "R".
[   +3 ms] For a more detailed help message, press "h". To quit, press "q".

Analyzing NestedReorderableListViewIssue...
No issues found! (ran in 1.9s)

[√] Flutter (Channel beta, 1.20.0, on Microsoft Windows [Version 10.0.18362.1016], locale en-IN)
    • Flutter version 1.20.0 at C:\flutter
    • Framework revision 916c3ac648 (3 weeks ago), 2020-08-01 09:01:12 -0700
    • Engine revision d6ee1499c2
    • Dart version 2.9.0 (build 2.9.0-21.10.beta)

[!] Android toolchain - develop for Android devices (Android SDK version 29.0.3)
    • Android SDK at C:\android\sdk
    • Platform android-29, build-tools 29.0.3
    • ANDROID_HOME = C:\android\sdk
    • ANDROID_SDK_ROOT = C:\android\sdk
    • Java binary at: C:\Program Files\Android\Android Studio\jre\bin\java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)
    ! Some Android licenses not accepted.  To resolve this, run: flutter doctor --android-licenses

[√] Chrome - develop for the web
    • Chrome at C:\Program Files (x86)\Google\Chrome\Application\chrome.exe

[!] Android Studio (version 4.0)
    • Android Studio at C:\Program Files\Android\Android Studio
    X Flutter plugin not installed; this adds Flutter specific functionality.
    X Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b01)

[√] VS Code (version 1.48.1)
    • VS Code at C:\Users\User\AppData\Local\Programs\Microsoft VS Code
    • Flutter extension version 3.13.2

[√] Connected device (3 available)
    • Web Server (web) • web-server • web-javascript • Flutter Tools
    • Chrome (web)     • chrome     • web-javascript • Google Chrome 84.0.4147.135
    • Edge (web)       • edge       • web-javascript • Microsoft Edge 84.0.522.63

! Doctor found issues in 2 categories.

This error will occur on all platforms when you nest scrollables with ReorderableListView. You can try the advice mentioned in https://github.com/flutter/flutter/issues/62855#issuecomment-669132093 to get around this.
I'm leaving this open since the error message and documentation for this can be improved.

I previously got it to work by changing the source code of ReorderableListView to use a new ScrollController() instead of looking for one in the context. They have now exposed the scrollController property with this commit https://github.com/flutter/flutter/commit/fd1062debd531ae1815e0b2deb647e4e260af7bf, it doesn't throw any exception now but when trying to reorder nested list other than the first one, it behaves abnormally.

@akasHSarode I verified the issue on the latest master channel and the issue does not reproduce anymore.

code sample
import 'package:flutter/material.dart';

void main() {
  runApp(const App());
}

class App extends StatelessWidget {
  final String title = 'Nested ReorderableListView Issue';

  const App({super.key});
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: title,
      home: MyHomePage(title: title),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;
  final List outer = ['one', 'two', 'three'];
  final List inner = ['uno', 'dos', 'tres'];

  MyHomePage({super.key, required this.title});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: Text(title)),
      body: Center(
          child: Container(
        // main list containing nested reorderable lists
        height: 300,
        width: 400,
        padding: const EdgeInsets.all(10),
        decoration: BoxDecoration(border: Border.all(width: 5)),
        // main list containing nested reorderable lists
        child: ReorderableListView(
            // OuterListItem contains nested ReorderableListView
            children: outer
                .map<Widget>((oe) => OuterListItem(
                      key: ValueKey(oe),
                      children: inner
                          .map((ie) =>
                              InnerListItem(key: ValueKey('$oe.$ie'), text: ie))
                          .toList(),
                    ))
                .toList(),
            onReorder: (cIndex, nIndex) {}),
      )),
    );
  }
}

class OuterListItem extends StatelessWidget {
  @override
  final Key key;
  final List<Widget> children;

  const OuterListItem({required this.key, required this.children})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Container(
      key: key,
      decoration: BoxDecoration(
        border: Border.all(
          color: Colors.pinkAccent,
          width: 3,
        ),
      ),
      margin: const EdgeInsets.only(bottom: 10),
      height: 100,
      child: ReorderableListView(
          scrollDirection: Axis.horizontal,
          onReorder: (cIndex, nIndex) {},
          children: children),
    );
  }
}

class InnerListItem extends StatelessWidget {
  @override
  final Key key;
  final String text;

  const InnerListItem({required this.key, required this.text})
      : super(key: key);

  @override
  Widget build(BuildContext context) {
    return Card(
      key: key,
      elevation: 2,
      color: Colors.yellow[300],
      child: Container(
        child: Center(
          child: Text(text),
        ),
        height: 100,
        width: 100,
      ),
    );
  }
}

flutter doctor -v (mac)
[✓] Flutter (Channel master, 3.7.0-3.0.pre.33, on macOS 12.6 21G115 darwin-arm64, locale en-IN)
    • Flutter version 3.7.0-3.0.pre.33 on channel master
    • Upstream repository https://github.com/flutter/flutter.git
    • Framework revision<PHONE_NUMBER> (38 minutes ago), 2022-12-05 18:27:21 -0800
    • Engine revision a309d239c4
    • Dart version 2.19.0 (build 2.19.0-463.0.dev)
    • DevTools version 2.20.0
    • If those were intentional, you can disregard the above warnings; however it is recommended to use "git" directly
      to perform update checks and upgrades.

[✓] Android toolchain - develop for Android devices (Android SDK version 33.0.0-rc4)
    • Android SDK at /Users/mahesh/Library/Android/sdk
    • Platform android-33, build-tools 33.0.0-rc4
    • ANDROID_HOME = /Users/mahesh/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 14.0.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Build 14A400
    • CocoaPods version 1.11.3

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 2021.2)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/9212-flutter
    • Dart plugin can be installed from:
      🔨 https://plugins.jetbrains.com/plugin/6351-dart
    • Java version OpenJDK Runtime Environment (build 11.0.12+0-b1504.28-7817840)

[✓] IntelliJ IDEA Community Edition (version 2021.2.1)
    • IntelliJ at /Applications/IntelliJ IDEA CE.app
    • Flutter plugin version 61.2.4
    • Dart plugin version 212.5080.8

[✓] VS Code (version 1.70.2)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.55.20221129

[✓] Connected device (3 available)
    • iPhone 12 Pro (mobile) • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios            •
      com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • macOS (desktop)        • macos                                • darwin-arm64   • macOS 12.6 21G115 darwin-arm64
    • Chrome (web)           • chrome                               • web-javascript • Google Chrome 108.0.5359.94

[✓] HTTP Host Availability
    • All required HTTP hosts are available

• No issues found!

logs
mahesh@Maheshs-MacBook-Air-M1 flutter_issue % flutter run
Could not load custom device from config index 0: Expected enabled to be a boolean.

Multiple devices found:
sdk gphone arm64 (mobile) • emulator-5554                        • android-arm64 • Android 11 (API 30) (emulator)
iPhone 12 Pro (mobile)    • 026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4 • ios           • com.apple.CoreSimulator.SimRuntime.iOS-14-5
(simulator)
[1]: sdk gphone arm64 (emulator-5554)
[2]: iPhone 12 Pro (026D5789-9E78-4AD5-B1B2-3F8D4E7F65E4)
Please choose one (To quit, press "q/Q"): 1
Using hardware rendering with device sdk gphone arm64. If you notice graphics artifacts, consider enabling software rendering with
"--enable-software-rendering".
Launching lib/main.dart on sdk gphone arm64 in debug mode...
Running Gradle task 'assembleDebug'...                             19.3s
✓  Built build/app/outputs/flutter-apk/app-debug.apk.
Installing build/app/outputs/flutter-apk/app-debug.apk...          940ms
Syncing files to device sdk gphone arm64...                        199ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

💪 Running with sound null safety 💪

An Observatory debugger and profiler on sdk gphone arm64 is available at: http://<IP_ADDRESS>:54347/FDLqgGW54PM=/
The Flutter DevTools debugger and profiler on sdk gphone arm64 is available at:
http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:54347/FDLqgGW54PM=/
I/e.flutter_issu( 4773): Waiting for a blocking GC ProfileSaver
I/e.flutter_issu( 4773): WaitForGcToComplete blocked ProfileSaver on ClassLinker for 13.648ms

Performing hot reload...
Reloaded 1 of 646 libraries in 399ms (compile: 84 ms, reload: 175 ms, reassemble: 48 ms).

══╡ EXCEPTION CAUGHT BY WIDGETS LIBRARY ╞═══════════════════════════════════════════════════════════
mahesh@Maheshs-MacBook-Air-M1 flutter_issue % flutterm run -d chrome
This application is not configured to build on the web.
To add web support to a project, run `flutter create .`.
Launching lib/main.dart on Chrome in debug mode...
Waiting for connection from debug service on Chrome...             12.6s
This app is linked to the debug service: ws://<IP_ADDRESS>:56814/1SrBANS0dBA=/ws
Debug service listening on ws://<IP_ADDRESS>:56814/1SrBANS0dBA=/ws

💪 Running with sound null safety 💪

🔥  To hot restart changes while running, press "r" or "R".
For a more detailed help message, press "h". To quit, press "q".

An Observatory debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:56814/1SrBANS0dBA=
The Flutter DevTools debugger and profiler on Chrome is available at: http://<IP_ADDRESS>:9101?uri=http://<IP_ADDRESS>:56814/1SrBANS0dBA=

Closing as fixed. Incase you still encounter the issue, Please feel free to write in the comments and we will reopen it.
Thank you.


Update content-page.php

if i use only  on search result page showing whole content of page. sot it should  with  like content.php file

First of all, this build failed travis. There are some formatting issues (see https://travis-ci.org/roots/sage/jobs/59226032#L257).
Second, this might work for your particular case, but I think we'd like to keep the codebase as lean as possible. Just my opinion.


Create instructions for using this with .net 7 Android or iOS without using maui.

Is your feature request related to a problem? Please describe.
I am creating a net7-android app that needs to be able to scan QRCodes.
Describe the solution you'd like
I would like to be able to use this package to read the barcodes without having to use maui.
Describe alternatives you've considered
I have looked at ZXing.maui, but it has to have .net maui.
Additional context
You mentioned in another comment that what I want is possible.  Maybe if yo could add a demo project that shows how to do it in .net 7 android without maui.

related to #193
honestly, I am not sure how it could work for native one.
Maybe copying the logic of the handler file to implement it will be better

Thanks anyway.

@JimWilcox3 : Hi, have you found a solution ?
Another Nuget like ZXing that can work for .Net 8 for iOS (without MAUI) ?

I have not.  Please let me know if you find one.

I have not. Please let me know if you find one.

Hi, my current solution :
https://github.com/Redth/ZXing.Net.Mobile/issues/1085


Does your CollectionView suffer from the recent errors with the XF Collection View that appear to be serious

I refer in particular to this issue:
https://github.com/xamarin/Xamarin.Forms/issues/15320

Can you let us know if the problem here also effects your collection view?
I believe there are many people who would like to use your collection view with MAUI.  Do you have plans to create a MAUI version?

Thanks in advance for your time and effort here

+1

Well it's very simple to test, just open the sample in vs and upgrade to last XF version :)
Yes there will be a MAUI version.


Improve consistency of widget appearance

Widget consistency (or lack thereof) has been on my mind for a long time now. I want to get this up for the sake of gathering info/feedback before I spend too much time on this. It can always be tabled for later.
In this PR:

Removed percentage-based sizes from most widget-related container classes (and replaced those with hard-coded pixels, since we know widgets will always be 290px high)
Replaced/removed some bootstrap classes:

option-link widget input is now material
list-of-links widget now spaces its circle-button links with flex grid instead
launch buttons are no longer bootstrap buttons
simple and normal widget icon position is now flex-based

Notes:

This PR is part of a package that includes myuw-overlays/entities #270 and uw-frame #285
I backlogged stories for this work here.

Screenshots
list-of-links

normal/simple (identical markup)

rss

option-link

search-with-links

generic

Note the lack of box-shadow under the launch button

:+1:


SimpleTimePlot color limitation #3197

Color and java.awt.Color can be passed to SimpleTimePlot

:+1:


Is this project dead?

Hello there.
I was just wondering if this project is going to be archived or do you intend to come back to it and keep developing?
I can see that the last commit was (at the time of this writing) 4 years ago and you have also mentioned in the README that cinterop is not an optimal tool. But in the past 4 years a lot has happened. Godot 4 has made it possible to make new extensions for the engine without rebuilding all of it from scratch.
And also, kotlin native and cinterop have been extensively improved in the past few years (KMP is currently stable and Gradle build is supporting it out of the box) so I was really excited to see Kotlin Native (and not Kotlin JVM) on Godot ecosystem.
@chippmann @raniejade  I totally understand it's gonna be a big hassle to make it work in a production-level; but I was hoping to get an answer as to if you are going to keep working on it or is this project dead ?
Thanks.

I don't think we will in the near foreseeable future. There are multiple reasons for that:
While back then, our goal was to keep this binding alive, we simply lack the resources to maintain both as this is a huge undertaking and by now, we're only 3 Maintainers; me, @piiertho and @CedNaru (@raniejade is currently not actively contributing anymore as life happens :-) ) and we're all doing this in our free time.
But more importantly (for us at least), while the performance of kotlin native has improved significantly in recent years, it's unlikely that it's anywhere near where we'd need it to be. Although we did not run specific benchmarks again for our use-cases to be fair. But it's very unlikely as the performance would've need to be not 2x or 3x it was back then, but more around 1000x faster than what it was to even come close to the performance we get with the jvm binding. And that seems more than unlikely.
@CedNaru might have our benchmarks numbers for kotlin native from back then.
Also while tooling has improved significantly since then, it still cannot compete with the jvm ecosystem and tooling. Specifically when talking about debugging. Debugging kotlin native is still far from ideal.
There are many such problems around still.
Don't get me wrong, I'm a huge fan of KMP and use it extensively at work for Android and iOS and it works awesome there, but I believe it's far from ready for something as performance sensitive as the game development space.
I'm definitely keeping an eye on it and if i find some time, do some benchmarks for our use cases again, but as it stands now, I don't have high hopes.
Besides, the JVM binding is working very well and by now we also support all major platforms. Performance is also very impressive.
So my interest lies there atm for this project.
And regarding Godot; we do have plans to move to GDExtension with the jvm project soon. We're currently in the middle of refactoring our core and after that is fully completed, we plan to move to gdextension as well.
But never say never. There might come a time we properly revisit this project. It all depends on time, resources, the circumstances and where kotlin native will be. Hence i would not archive the project as maybe someone want's to continue working on it and spend time on it.
So is it dead; from my point of view yes in the sense that we're not actively working on it, and no as i still believe that it could be something viable in the distant future and what we've done so far is a foundation to learn from and not needing to start from scratch.
Mind i ask why you do not consider the JVM binding instead? What from the JVM is holding you back to give that one a chance?

Regarding performance, saying it was bad is un understatement. We can't even talk about Python level of bad when we benchmarked Godot + Kotlin/Native. Bunnymark was already reaching 60fps with only 30 bunnies on screen, (vs dozen of thousands with Kotlin/JVM)
At the time, I tried as much as I could to optimize this binding but nothing changed, the bottleneck was Kotlin/Native itself. We profiled it at the time and 80% of the CPU was spent on MemoryAllocation (and it was not us spamming Object creation).
A lot changed since then, and I'm confident that if we tried again, the performance would be in an acceptable range today (even if far from the JVM) but like Cedric said, we don't have time for it.
I'd like to say that we can reuse a lot of code from the JVM binding, but we actually can't. As you can expect from such project, most of the code in it exist to manage interoperability with Godot C++ code (or C interface in the case of extension). And the JVM and Native got totally ways to do it. For example, all the C++ code would need to be rewritten to Kotlin and even the existing Kotlin/JVM code couldn't be reused either because it's written with the assumption of a JNI binding. So the two would need to be a totally different project.
The Kotlin/JVM project already takes a huge amount of time, so we just can't manage a second that would require as much work for lesser results. For Kotlin/Native to come back to life, 2 main conditions are necessary:

Kotlin/JVM is stable, and we only need to maintain it for Godot upgrades or small bug fixes.
More human resources, with either new people joining to help or current ones working full-time on it.

There is also the fact that Kotlin/Native doesn't have that much advantage over Kotlin/JVM when you add tools like Graal native image. The arguments I hear the most about Kotlin/Native are mostly "It's native, so we can avoid GC stalling" and "It's lightweight because no VM footprint". Except it's actually wrong. Kotlin/Native still use a GC behind the hood, being native doesn't anything to its memory management. GCs have a terrible reputation, specially in the world of gaming with of Unity + Mono, but the current JVM has an excellent GC (ZGC), "pause the world" issues are a thing of the past. And with Graal Native Image, we can already make the code native with a much smaller footprint than a regular JVM (at the cost of some performances). The JVM, its tooling and its ecosystem is just that good nowadays.
Kotlin is trying to become its own ecosystem separated from the JVM, and I have no doubt they will manage to do so, KMP is awesome but still impractical for our project. After all, the logic behind KMP is to have a bunch of "universal Kotlin" shared between all targets and a smaller part of your project using a backend specific to a target. But like I explained above, there is close to no code that can be shared between JVM, Native and WASM (if we want to take into account future web exports) because most of our project is about C++ interop and there is no universal interop API in Kotlin, each backend has its own.
Last thing to know. If that project were to come back to life, its use case would be different from the Kotlin/JVM binding.
Godot Kotlin/JVM is going to be a gdextension that allows to run Kotlin (and Java) scripts.
Godot Kotlin/Native would be a solution to export gdextensions written in Kotlin.
A lot of people struggle to understand the difference between scripts and extensions because from a user point of view there is some overlap between the two. But from a technical point of view, extensions and scripts are totally different concepts.

Found the old benchmark data: https://github.com/utopia-rise/godot-kotlin-jvm/tree/master/harness/bunnymark
At the bottom of the page you find the results from the bunnymark running with kotlin/native and above (outdated) numbers of the jvm version both running on a jre and with graal native image.

@chippmann @CedNaru
Thanks a lot for your informative answers, I loved reading them all.
I'm going to let this issue be open so if someone else stumbles upon this repo, they can read it first.


Update gradle/kotlin versions to be more compatible with Java 21.

Fixes #2486

Update gradle and kotlin versions to be more compatible, but not set, Java 21.
See compatibility tables:
https://docs.gradle.org/current/userguide/compatibility.html
https://developer.android.com/jetpack/androidx/releases/compose-kotlin

[x] Upgrade kotlinVersion to 1.9.23
[x] Upgrade com.android.tools.build:gradle to 8.3.2`
[x] Upgrade gradle-distribution to 8.7
[x] Upgrade kotlinCompilerExtensionVersion "1.5.13"

[x] Fixes local compiler issues

@gino-m PTAL!

Having this will definitely save some headaches related to JDK versions.


"Debug: Attach to Node Process" parses wrong port when IP address is included

VSCode Version: 1.24.1
OS Version: macOS 10.13.6 Beta

Steps to Reproduce:

In a terminal (internal or external, doesn’t matter), run node --inspect=<IP_ADDRESS>:9229
In VS Code, open the command palette and select "Debug: Attach to Node Process"
Observe the dropdown item corresponding to the node process you started in step 1

Expected result: the debug port is 9229
Actual result: the debug port is 0

Does this issue occur when all extensions are disabled?: Yes
Screenshot:

Discussion:
Specifying --inspect=<IP_ADDRESS>:<port> is common for running node inside Docker and debugging on the host machine (example: #23257).
I'm not sure about other use cases for specifying a host for --inspect; I guess theoretically it's possible that the host is remote, and VS Code is only trying to connect its debugger over localhost. But, I would argue that assuming localhost and parsing the port correctly is much better than the status quo.

duplicate of #46670


LUN-154: Make screen scrollable

This pull request belongs to an issue on our bugtracker.
You can find it there by looking for an issue with the key which is mentioned in the title of this pull request.
It starts with the keyword LUN.
Tested on Android (native & emulator), tested on ios native
Check comments below

This ticket was not really ready (to-be-discussed label and comment in the description) as we wanted some input on a designers point of view, if we should somehow resize the image or something if opening the keyboard. As it is still better than before, I think it would be oke to merge it.
But the scrolling on ios seems a bit of, there is to much white-space on the bottom.

Yes indeed the problem in this case is the mentioned flex issue on Android. If we want the correct height, i would have to reduce the height by navigation header and notification bar


MiniCPM-v 2.6 and llama-cpp can not work and accelerated on A770 dGPU?

Hi @yangqing-yq , upgrading to ipex-llm[cpp]>=2.2.0b20240827 may solve this problem. Then you may run
./llama-minicpmv-cli -m ../MiniCPM-V-2_6-gguf/ggml-model-Q4_0.gguf --mmproj ../MiniCPM-V-2_6-gguf/mmproj-model-f16.gguf -c 4096 --temp 0.7 --top-p 0.8 --top-k 100 --repeat-penalty 1.05 --image xx.jpg  -p "What is in the image?" -ngl 99

model page:
openbmb/MiniCPM-V-2_6-gguf

this is the result for A750. Can you help to confirm if these values are correct?
especially the TTFT is 4689 ms?!
input image is 1920x1080
"
llama_print_timings:        load time =    6392.73 ms
llama_print_timings:      sample time =      43.04 ms /    73 runs   (    0.59 ms per token,  1696.29 tokens per second)
llama_print_timings: prompt eval time =    4689.01 ms /   904 tokens (    5.19 ms per token,   192.79 tokens per second)
llama_print_timings:        eval time =    1709.74 ms /    72 runs   (   23.75 ms per token,    42.11 tokens per second)
llama_print_timings:       total time =    8175.84 ms /   976 tokens
"
@qiuxin2012

@qiuxin2012

Hi @yangqing-yq , we tested it on our A750 machine and our results were similar to yours. It should be correct.


Remove mkl dependency from environment.yml and setup.py

@jdebacker. This PR removes the mkl Intel processor numerical computation accelerator package dependency from environment.yml and setup.py. @SeaCelo noted in Issue #821 that the mkl dependency is incompatible with Apple M1 processor machines that use the M1 optimized Python distribution from Anaconda. I ran some speed tests (reported here) on Linux and the two relevant specifications of Mac OSx to see if removing the mkl package caused any big slowdowns in computation time, which it does not.
If all our CI tests pass, and the full set of tests pass on my machine, then I propose we merge this update. This will make loading the OG-Core environment and any of the country-specific calibrations compatible with all current Windows, Linux, and Mac operating system and anaconda configurations.

Codecov Report

Merging #840 (abff554) into master (86b8a3c) will not change coverage.
The diff coverage is 100.00%.

Additional details and impacted files

@@           Coverage Diff           @@
##           master     #840   +/-   ##
=======================================
  Coverage   82.24%   82.24%
=======================================
  Files          18       18
  Lines        3981     3981
=======================================
  Hits         3274     3274
  Misses        707      707

Flag
Coverage Δ

unittests
82.24% <100.00%> (ø)

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

Impacted Files
Coverage Δ

ogcore/__init__.py
100.00% <100.00%> (ø)

@jdebacker. I removed the conda.recipe/ folder from the repo because I don't think we use it since we committed to PyPI.org.

@jdebacker. This passed all tests locally on my machine.
============================= test session starts ==============================
platform darwin -- Python 3.10.8, pytest-7.2.0, pluggy-1.0.0
rootdir: /Users/richardevans/Docs/Economics/OSE/OG-Core, configfile: pytest.ini, testpaths: ./tests
plugins: xdist-3.1.0
collected 489 items

tests/test_SS.py .............................                           [  5%]
tests/test_TPI.py ...........................                            [ 11%]
tests/test_aggregates.py .....................................           [ 19%]
tests/test_basic.py ....                                                 [ 19%]
tests/test_elliptical_u_est.py .......                                   [ 21%]
tests/test_execute.py .                                                  [ 21%]
tests/test_firm.py ..................................................... [ 32%]
.............                                                            [ 34%]
tests/test_fiscal.py ..................                                  [ 38%]
tests/test_household.py ..............................................   [ 48%]
tests/test_output_plots.py ............................................. [ 57%]
                                                                         [ 57%]
tests/test_output_tables.py .............                                [ 59%]
tests/test_parameter_plots.py ...................................        [ 67%]
tests/test_parameter_tables.py .......                                   [ 68%]
tests/test_parameters.py .............                                   [ 71%]
tests/test_run_example.py ..                                             [ 71%]
tests/test_run_ogcore.py .                                               [ 71%]
tests/test_tax.py ......................................                 [ 79%]
tests/test_txfunc.py ..........................                          [ 84%]
tests/test_user_inputs.py .........                                      [ 86%]
tests/test_utils.py .................................................... [ 97%]
.............                                                            [100%]
=========== 0 failed, 489 passed, 77 warnings in 13863.08s (3:51:03) ===========

LGTM and local tests passing on my machine as well.  Thanks @rickecon.

@rickecon, @jdebacker:   FYI I cannot run the model if I use this version of the environment.yml to build the conda environment. The model complains about missing pip, pandas-datareader, ogcore, statsmodels. Adding these lines back solves the problem.
I tested by using this version of environment.yml to install the OG-ZAF model:

conda env remove --name ogzaf-dev
conda env create -f environment.yml
conda activate ogzaf-dev
pip install -e .
python run_og_zaf.py

@SeaCelo. I will look into this. I think it is because we have not yet uploaded the new package to PyPI.org, and both environment files in OG-ZAF download the version of OG-Core from PyPI.org. The current version on PyPI is 0.10.0, and it needs to be 0.10.1. @jdebacker and I will get this updated this weekend. Thanks for the reminder.

@SeaCelo. I submitted a PR to OG-ZAF that updates that repository to use this updated version of OG-Core with no mkl dependency. Everything works well on my machine, which is an Apple M1 chip, and all tests are passing.


'compile' does not preserve "execute" file permission

nanoc compile drops execute permission on text files. This is a big problem, for instance, for scripts deployed to cgi-bin/.
Steps to reproduce

create a script (say, /cgi-bin/foo.cgi) in content/
ensure script is executable (chmod +x cgi-bin/foo.cgi)
mark the script as text (text_extensions: [ 'cgi' ])
compile the site

Expected behavior
Compiled script should retain executable permission.
Actual behavior
Compiled script lacks executable permission.
Details
Permissions on binary items are preserved, however, making a script binary is not a solution if the script needs to be compiled (for instance, my cgi-bin/ script is filtered by :erb).
This misbehavior impacts the compile/deploy cycle since it's easy to forget to fix the permissions before deployment.

Hmm, Nanoc doesn’t bother with file permissions at all. The fact that binary items retain their permission is only incidental.
The question here is whether or not it makes sense for Nanoc to support file permissions. This would be a larger undertaking, and would require some thought on how to make this work. For example, how would a :chmod filter work? Should ACLs be supported, and if so, on which platforms?
I’m inclined to not consider this a bug, but rather a feature request.
For the time being, I recommend doing some post-processing to chmod whatever is necessary. You can also use nanoc check with a custom check to ensure that the permissions are set up properly before a deploy.

Fully supporting file permissions in the way you suggest would indeed be a large undertaking, but there is no need to jump immediately into the deep end of the pool. A pragmatic approach would satisfy this (obviously) legitimate real-world use-case in a way which is easy to reason about and to implement, and which does not lock you into some design which you would regret later. Take baby steps; add complexity only when shown to be necessary.
When approaching the problem from the shallow (pragmatic) end of the pool, the plan and implementation are much simpler. An obvious and conservative first approach is merely to (try to) restore execute permission on the output file if the input item is executable. Importantly, this approach does not lock you into any design and does not require you to think about and answer difficult questions about how to deal with ACLs or whether this should be handled by the core or by a filter (your :chmod example). It just works.
If, and only if, a real-world use-case arises where, for instance, a site needs write permission retained on an item, then the slightly less conservative approach of attempting a full chmod carry-over might be warranted. This also does not require heavy cogitation or lock you into a design you would regret.
If, and only if, a real-world use-case arises where ACLs or some unforeseen permission issues need to be handled, then, and only then, does it make sense to start thinking about the complexities you wrote about in your response. The pragmatic approach outlined here does not prevent you from implementing a more complex design in the future if shown necessary, nor is the suggested pragmatic approach merely an ugly hack; it's a legitimate solution which is likely to prove helpful without causing harm.

Using postprocess might be a reasonable interim answer, however, sparsity of documentation makes it difficult to determine if it would indeed be valid to do so. For instance, the postprocess documentation cites an example which only accesses in-memory item content; it does not say whether or not the output item has yet been written to the filesystem, so it does not answer the question of whether or not postprocess is the correct place for chmod. Moreover, there no longer seems to be any documented nanoc public API (at least I am unable to find it), so one can not easily know what, if any, methods an item supports, and whether or not its possible to retrieve an item's output filename.

I looked briefly at what it would take to implement permission handling in Nanoc. There’s no simple way to make it work; it’d require changes in the core entities (Item, ItemRep), data sources, core services (checksummer, dependency tracker, outdatedness checker), and probably elsewhere.
This is true even for the most trivial implementation of permissions.
This is a missing feature, not a bug (though the distinction between the two isn’t clear cut). I’ve created nanoc/features/issues/23 to track this.

As for postprocessing: a simple approach would be to invoke chmod after executing nanoc. The postprocess block is an alternative (available variables are documented here) though a bit overkill for this use case.

I’ll close this issue, but I’m happy to keep the conversation going, either in this thread or in nanoc/features/issues/23.

Thanks, Denis. I don't consider postprocess overkill if it allows me to automate fixing of permissions on the output file so that I don't have to alter my build/deploy process. If postprocess saves me from having to deal with or think about the issue ever again (or at least in the long term), then I consider it a good pragmatic solution.
It's still not clear from the postprocess documentation whether one can rely upon the output files having been created before postprocess is invoked (as opposed to the outputs only being in memory), but I'll interpret your response as an affirmative that they have been saved to disk by postprocess time.

@sunshineco That’s correct — I’ve updated the documentation (https://github.com/nanoc/nanoc.ws/commit/7f139f537f098fee13b27d2c8252045dd74734a7) to make that more clear.

Thanks, that change makes it clearer.


Laboratory work #1, Anastasiia Seliverstova - 23FPL1

Nothing to review today.
I advise you to start working as soon as possible!
Good luck!

Good job! Correct your tests in CI and raise the score to 10!
Good luck!


[SP-2797] Backport of PDI-8941 - BaseRowSet synchronization needs re-evaluated (5.4 Suite)

Backport of https://github.com/pentaho/pentaho-kettle/pull/2689 and https://github.com/pentaho/pentaho-kettle/pull/2688

@pamval , @mchen-len-son , could you please review this PR?


colour scale on the exome depth number of samples?

https://github.com/moka-guys/multiqc_plugins/blob/ba3d2437cdc488c897aa3abfaf162700e6568aad/seglh_plugin/modules/exomedepth/exomedepth.py#L28


Rename HDU keyword EVENT_CLASS to EV_CLASS

HDU header keywords may not be longer than 8 characters. I therefore propose to change EVENT_CLASS to EV_CLASS.

I see that Fermi-LAT has an EVENT_CLASS column:
https://fermi.gsfc.nasa.gov/ssc/data/analysis/documentation/Cicerone/Cicerone_Data/LAT_Data_Columns.html#PhotonFile
They don't have it as a header key (at least in the one file I checked).
As far as I can see the OGIP spec doesn't mention such a key:
https://heasarc.gsfc.nasa.gov/docs/heasarc/ofwg/docs/events/ogip_94_003/ogip_94_003.html
As far as I know, the current science tools don't use that key for anything.
So I'm OK with the change proposed here, to make our EVENTS spec a valid FITS file.
@jknodlseder and anyone else interested - Thoughts?

Following the discussion in #91, I changed to HDUCLAS2 header keyword in the EVENTS extension to be optional.

No further comments / complaints in the past 23 days. Merging now.
@lmohrmann - Thanks!


creating multisite provisioning to allow completely separate domains

Is there a way to create a multisite that allows you to create new subsites on the fly? Also is it possible with these on the fly subsites to use custom *.dev domains?
Context: working with separate clients and want to create a dev site for each of them locally so that they all have separate databases.

Nevermind.. found this in the readme https://github.com/bradp/vv
However, now my questions are how do we use vv to create subdomains in the multisite one by one or how do remove a subdomain because there are instructions on creating new sites and removing sites but not appending current ones...


[5.7] Do not test inferior Swift libraries on Darwin

5.7 cherry-pick of #5611
This is needed on all active branches because CI will upgrade to macOS 12.

I think we can close this now.


vp9_lp enc:enable vp9_lp encoding for ffmpeg-qsv

enable vp9 8bit encoding(vdenc) test for ffmpeg-qsv.
Signed-off-by: Yuankun Zhang<EMAIL_ADDRESS>

At first glance, the new file has the wrong copyright year.  Please check your other PR's too.
I will do a more thorough review of your PR's next week, as time permits.

Thanks for the patch, merging it.


Version bump

Changes since release 1.11.3:

Adds Apple Developer Id to itunes_transporter.rb. Allows deliver to work with multiple iTunes Providers

👍