2.15 Beta 6 Testing

Upgraded a sandbox from 2.13
Installed succeeded
Created account and 2 child records for an existing Schedule rollup
ran full calculate, rollup value = 2
tested a realtime trigger based rollup, with 2 children, the total was accurate


o200k_base pretokenizer - regex error?

What regex flavor is this encoded in?
After joining the patterns, I get:
[^\r\n\p{L}\p{N}]?[\p{Lu}\p{Lt}\p{Lm}\p{Lo}\p{M}]*[\p{Ll}\p{Lm}\p{Lo}\p{M}]+(?i:'s|'t|'re|'ve|'m|'ll|'d)?|[^\r\n\p{L}\p{N}]?[\p{Lu}\p{Lt}\p{Lm}\p{Lo}\p{M}]+[\p{Ll}\p{Lm}\p{Lo}\p{M}]*(?i:'s|'t|'re|'ve|'m|'ll|'d)?|\p{N}{1,3}| ?[^\s\p{L}\p{N}]+[\r\n/]*|\s*[\r\n]+|\s+(?!\S)|\s+

https://github.com/openai/tiktoken/blob/main/tiktoken_ext/openai_public.py#L101-L111
And so far I thought the patterns are PCRE2, but I see an error:

I'm also curious to the practical pretokenization differences between o200k and cl100k - what did cl100k do too aggressively, or what does o200k add?

It's similar to Perl, but in practice whatever https://docs.rs/fancy-regex/latest/fancy_regex/ will accept.
You can probably escape the / character, but I'm curious why that is needed. Reading through https://www.pcre.org/current/doc/html/pcre2pattern.html I couldn't find any mention of what meaning regex101.com is assigning to / or what it means by "delimiter". Seems fine to just escape it though.
Regarding changes between o200k and cl100k, the only thing I can speak to is the one thing I contributed (I'd probably have done a few things differently in o200k if I was working on it). That is, o200k_base no longer forces splits on Unicode mark codepoints. This is important because it greatly improves compression in other scripts. For instance, in Hindi, forcing splits on Unicode mark codepoints basically means you'd split on most vowel sounds (i.e. tokens would be more like syllables and less like words).
This didn't matter much in cl100k because it didn't allocate too much vocab to other scripts, but one of the goals with o200k was to improve compression on more languages. And if you go five years back in time, r50k / gpt2 vocab was trained basically entirely on English.

Thanks!


feat: upgrade to be compatible with Dart 3

Screenshot from built application for MacOS in Dart SDK version: 3.0.7 (stable) (Mon Jul 24 13:17:56 2023 +0000) on "macos_x64".

@jakelumetta it doesn't look like we've added versioning in for the dart SDK yet - do you want the current version of it tagged as v1 and then have a version bump for this PR, as this is a pretty big change?

@ViolanteCodes Hmm yeah - not sure why we don't have versioning on this yet but we definitely should. Sounds good to me. Can we possibly tag what's currently released as v1 and then tag this new PR as 1.1 or 2?

@ViolanteCodes Hmm yeah - not sure why we don't have versioning on this yet but we definitely should. Sounds good to me. Can we possibly tag what's currently released as v1 and then tag this new PR as 1.1 or 2?

@jakelumetta
After some more poking around, I determined what we currently have out already had a version number, 0.3.0, inside of pubspec.yaml but not github.
I didn't want to manually edit the pubspec.yaml to tag what we had out as version 1.0.0, as I wasn't sure if that would require changes to the lock files, etc., and I don't have the architecture on my system to run this package (and people are already using the current 0.3.0)
As such, I tagged what we currently had in github as 0.3.0 to match what was in the pubspec.yaml (especially since people are already using it with that version), and am requesting agency tag the dart 3 upgrades (which are backwards compatible), as v1.0.0, just so everything stays clean and easy to follow.
Let me know if that's an issue - if so, i'll see if I can't get the current pubspec.yaml updated to v1.0.0, and then have the agency move the dart 3 PR to v1.1.1.


error hint for 'limit is out of date

the remote end throwing 'limit results in the following being printed:
An error occurred during execution of the query.
The server sent the response:
limit
Studio Hint: Possibly this error refers to tried to generate a list longer than 2,000,000,000

this is out of date for modern q; for current meanings, see https://code.kx.com/q/basics/errors/#runtime-errors

how precisely can you guess the q version from the ipc handshake?


The workflow doesn't work.

Diagnostic
My alfred version is 5.0.6[2110]
My 1password version is 8.10.4
My system is MacOS Monterey 12.6
I've turned on the 1password's CLI, like that.

Debugger output
![image](https://user-images.githubusercontent.com/34998928/234463426-42aaeece-533a-4cce-8c59-3dd0f5e3227e.png)

always updating.

More details
No response

sorry, the last picture is following.


Dcv 1043 change how source and model props ymls are created when running generate sources

Codecov Report
Base: 35.27% // Head: 33.81% // Decreases project coverage by -1.45% :warning:

Coverage data is based on head (ab0d59b) compared to base (a90ce84).
Patch coverage: 14.54% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #237      +/-   ##
==========================================
- Coverage   35.27%   33.81%   -1.46%
==========================================
  Files          29       29
  Lines        1919     2055     +136
==========================================
+ Hits          677      695      +18
- Misses       1242     1360     +118

Flag
Coverage Δ

unittests
33.81% <14.54%> (-1.46%)
:arrow_down:

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

Impacted Files
Coverage Δ

dbt_coves/utils/flags.py
16.52% <0.00%> (-0.60%)
:arrow_down:

dbt_coves/tasks/generate/sources.py
18.30% <12.08%> (-4.26%)
:arrow_down:

dbt_coves/tasks/generate/base.py
25.00% <25.00%> (ø)

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

dbt_coves/config/config.py
60.80% <100.00%> (+0.31%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


OverlayGUI (Popups)

Description: For the Node Editor to properly work at runtime, we need support for all kinds of popups (GenericMenu, EnumPopup, IntPopup, etc., even Tooltip). This will also fix some bugs regarding node focussing problems, as these will not block user input straight away when clicking it (even the first click event). Additionally, this will open up the possibility to let them account for the zooming - respective built-in controls will simply ignore the GUI scaling:/
State: This is easily possible using the Popup Engine I already made for the GenericMenu to work.
Location: OverlayGUI.cs and RTEditorGUI.cs for implementing new popups

When curEditorState.zoom != 1,the hint&popups wouldn't draw on the node.It troubles me the whole daytime,but I have no idea what's the renderring space when use the GUI class instead of GUILayout.
I was trying to fix it with GUI.BeginArea(Node.rect) but failed. I'm looking for your suggestion, thank you.

That's an internal error of Unity. Apparently they considered the GUI scaling not as important to adjust popups, generic menus and tooltips to it:/
So these controls do not consider that their controls have been scaled and so they are offsetted very weirdly.
I'm partially trying to fix this, by replacing these messed controls. This is why the context menu in this framework is not looking the same as it does in the rest of the editor, because it's a custom one that accounts for scaling:)

That's what I explained to my teammates.I just want to check out whether you guys have any idea.I made a solution that, when fouces  a node, scale would automatically (#･∀･) become 1.
在 "Levin G."<EMAIL_ADDRESS>下午10:32写道：
That's an internal error of Unity. Apparently they considered the GUI scaling not as important to adjust popups, generic menus and tooltips to it:/
So these controls do not consider that their controls have been scaled and so they are offsetted very weirdly.
I'm partially trying to fix this, by replacing these messed controls. This is why the context menu in this framework is not looking the same as it does in the rest of the editor, because it's a custom one that accounts for scaling:)
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHubhttps://github.com/Baste-RainGames/Node_Editor/issues/38#issuecomment-224299295, or mute the threadhttps://github.com/notifications/unsubscribe/AS4IZDLUEYkpjE6lofxr47BWaR9DaXmXks5qJYEAgaJpZM4HdVSI.

That's what I explained to my teammates.I just want to check out whether you guys have any idea.
As I say above, GUI.BeginArea(Node.rect) could make these draw at a certain point. But the position would also be influenced with scaling and window size. And I try a function to make this position come close to the node. It do work but because of some mistake it still not render correct,so I finally make scale become 1.
Finally, I want to show you my usage and thank you for your answer and great work.

Not one that I know of. I've had plans to extend this - which isn't too hard given the base of the popups already in the framework - but not came to this so far. OverlayGUI is where I would put it, if you want you can check it out and see if it's something you want to tackle yourself.


eldoc error: (void-function nil)

Hi,
I'm getting this error in the modeline with ycmd-eldoc enabled. Invoking (funcall eldoc-documentation-function) manually produces the following error:
Debugger entered--Lisp error: (void-function nil)
  nil()
  apply(nil nil)
  #[128 "\301\302\300!\"\207" [eldoc-documentation-function apply default-value] 4 "\n\n(fn &rest ARGS)"]()
  apply(#[128 "\301\302\300!\"\207" [eldoc-documentation-function apply default-value] 4 "\n\n(fn &rest ARGS)"] nil)
  #[128 "\300\301\"\206\300\302\"\207" [apply ycmd-eldoc--documentation-function #[128 "\301\302\300!\"\207" [eldoc-documentation-function apply default-value] 4 "\n\n(fn &rest ARGS)"] nil] 4 nil]()
  funcall(#[128 "\300\301\"\206\300\302\"\207" [apply ycmd-eldoc--documentation-function #[128 "\301\302\300!\"\207" [eldoc-documentation-function apply default-value] 4 "\n\n(fn &rest ARGS)"] nil] 4 nil])
  eval((funcall eldoc-documentation-function) nil)
  eval-expression((funcall eldoc-documentation-function) nil)
  call-interactively(eval-expression nil nil)
  command-execute(eval-expression)

I'm using spacemacs 0.200.8 with the ycmd layer enabled. ycmd completion and other functions seem to work just fine. This problem started occurring with the 0.200.8 release of spacemacs where ycmd-eldoc was enabled with ycmd.
I have a theory as to what could be happening. Specifically, in the the ycmd-eldoc-setup function we seem to be using add-function to wrap an existing value of eldoc-documentation-function in the event that it is already used. However this wrapping depends on the result of eval-when-compile, not on whether eldoc-documentation-function is actually bound. This means that when the function is compiled, it will always wrap - even when eldoc-documentation-function is nil. This produces the error above.
To test this theory I added (setq-default eldoc-documentation-function #'(lambda ())) to my init file. This seems to fix the problem - least it no longer drops into the debugger.
Let me know if I can provide any more information. Thanks in advance for your help.

@ptrv I think this is your baby. Any idea what's going on? @randomphrase's analysis seems pretty sound at first glance.

I had a quick look, but I can not reproduce the issue.
@abingham You are using spacemacs, right? Can you reproduce this?
@randomphrase Can you provide more information? In which mode is this issue happening? Which emac version?

@ptrv I notice this in c++-mode. I don't know if this occurs in other modes, because this is the only one I use ycmd for. I see this problem on my two main workstations, both running emacs 24.5.1, one on Debian Testing (with the standard ycmd package) and one on Fedora 22 (with ycmd built from source).
If it helps any, my spacemacs init file is here.

What is the default/globale value of eldoc-documentation-function in your Emacs version?
It should be set toignore by default.
Does spacemacs set it to nil at some point?
The way we set it in ycmd-eldoc is the default way from the documentation:

Major modes should modify this variable using ‘add-function’, for example:
(add-function :before-until (local 'eldoc-documentation-function)
#'foo-mode-eldoc-function)
so that the global documentation function (i.e. the default value of the
variable) is taken into account if the major mode specific function does not
return any documentation.

Do you have an outdated byte compiled version of ycmd-eldoc lying around maybe which messes up your config?

OK, so here's the current value:
 eldoc-documentation-function is a variable defined in `eldoc.el'.
 Its value is #[128 "\300\301^B\"\206^K^@\300\302^B\"\207"
       [apply ycmd-eldoc--documentation-function
              #[128 "\301\302\300!^B\"\207"
                    [eldoc-documentation-function apply default-value]
                    4 "\n\n(fn &rest ARGS)"]
              nil]
       4 nil]

 Local in buffer pearson.cpp; global value is nil

So yes, the global value is nil. From grepping my .emacs.d directory (which includes spacemacs and installed packages) I could see some assignments to eldoc-documentation-function - but they were always buffer local values.
I'm not sure why you say the default value is ignore though? I'm looking in the eldoc.el.gz source file and I see it defined thus:
(defvar eldoc-documentation-function nil

Thanks for the help, hopefully we can get to the bottom of this.

OK this is an emacs version issue. I upgraded to emacs 25 and confirmed that the issue is fixed.

This is strange. I think I used Emacs 24.5 with ycmd-eldoc without problems. But since we are supporting older Emacsen, maybe we should gueard against this error.

@randomphrase Anyway, I am glad your issue is resolved. And thanks for the report.

NP. I'm not sure what the etiquette is here, but given that it's fixed for me, I'll close this issue.

The default of eldoc-documentation-function has been changed in Emacs 25. I tried to reproduce this issue by setting the the value to nil, but I still don't get an error.
Amyway I changed now the code to not use add-function in #410


#23 Make responses synchronous explicitly.

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Predictable virtualenv location

Pipenv is looking very good for personal development, but it's not very easy to use it for deployments to our servers because of the unpredictable virtualenv locations:

I don't want to put .venv in the source directory, because I believe that the directories on the server should be a clone of the git repo with as little corruption as possible. (It's nice to rsync from a clean clone, for example)

I don't like the automatically-generated venv names because to have any control over them at all you need the anachronistically-named WORKON_HOME, they're hard to predict in advance (you can't even get pipenv to report the path until it's created the venv), and it's hard to know how to tidy them up afterwards.

At present, with pip, we know that the virtualenv for an app is in /virtualenvs/{app} on our servers and everything is very easy.  We can configure uwsgi, for example, knowing where it should find the python environment.
I think the only official way to get this nice behaviour with pipenv is to create the environment independently using virtualenv or similar, activate it, and then run pipenv from within it - is that right?
I can live with that, but it seems a pity that pipenv will never be able to replace our use of virtualenv until or unless it gets the ability to specify where the virtualenv should be.
If that really goes too much against the philosophy of the project, could the --venv option be modified to show where the virtualenv would be, even before it's created?

First of all, you can always create/activate the environment manually, and use Pipenv inside it. It automatically picks up the surrounding environment.
I think I agree with your reasoning. It would be very nice if it is possible to know where the environment would be before hand, without being stuck with ./.venv.[#] The problem here, however, is that this is already established, and already working. To offset that, you’d need to provide both a very convincing argument (you’re getting there, but I don’t think this is enough to convince all), and a working alternative. The second part is extremely important. It is not enough to say what you want; you need to actually try to provide a way to get there. This is how (non-corporate-backed) OSS works, generally.
[#]: Technically the virtual environment name is predictable. It is not random at all. But in practice it is not very useful because there is no public API to get this information before the creation.

Thanks @uranusjr ,
Yes, I'd be happy to do the work and provide a PR if I thought it might be accepted, but we'd need to get reasonable agreement before that made sense.
I do understand and have some respect for the idea that the virtualenv should be named based on the lockfile that created it, but I can see problems there too in some situations.  So I do think an option to override the location is definitely needed, if others can be convinced.
In the meantime, I may just have a more complex stack:

Ubuntu gives me an environment in which I can run Python
Python gives me an environment in which I can run pip
pip gives me an environment in which I can run virtualenv
virtualenv gives me an environment in which I can run pipenv

:-)

Your setup at work is like mine — where you put things on a server and deploy them. Pipenvs approach is built for the docker/kubernetes universe where everything is throwaway besides the instructions for rebuilding it. Deterministic hashing is designed to abstract away virtualenv locations and avoid naming collisions.  It’s not configurable because knobs tend to make people think they should configure things.
At work, we just set WORKON_HOME and use the hashed names. In the next release of pipenv it will be possible to figure out which venv is associated with a pipenv environment, and at some point we will make an interface for that. Until then pipenv pipes has been doing tons of work on this.

I set WORKON_HOME to our old virtualenv location to be consistent. The hashes are an issue since they are random. It would nice to be able to disable them since we don't need them.
Currently I'm using:
$(cd /pipenvs/<pipenv name>; pipenv --venv)
in place of the predictable location.
Any better solutions?

Thanks for the feedback @tbsf. The hash is not random; if it were, we would never be able to find your virtualenv again. The hash is a segment of a sha256 of the absolute path to the project on your filesystem.
If you want to get the path to the virtualenv without changing directories, simply set the environment variable PIPENV_PIPFILE to the path to the relevant pipfile and then get the output of pipenv --venv.
To your other point— pipenv is designed to manage specific projects and their environments, which means a directory and its virtualenv. Pipenv is not meant to simply create and activate virtualenvs for you. If this is what you want to do, there are much better tools that already exist (such as virtualenvwrapper, pew, etc). The sha256sums are not really optional at this time as they prevent collisions, but there is a possibility that we will add flexibility around this in the future.
If you want a tool to manage your pipenv projects, check out https://github.com/gtalarico/pipenv-pipes by @gtalarico which is quite nice.

Let keep thing simple.
Python is opinionated.
Setup.py is.
Pip is.
For example i don’t like the same manner setup.py clearly prefer the main lib folder to have the savent name has the library, instead of a “src” folder, but I live with it.
If you want to test your app on several environment, use tox.
Pipenv allows to get the same lib sources in différents folder without conflict, the job is done for the majority.
A .venv folder in the current dir is a pretty classic and acceptable solution. Just add it in your .gitignore.
The other solution would be to have a lot of environment variable to change the default behavior.

Thanks, Dan - that's useful.
I think I'm right In saying that ‘pipenv —venv’ will only tell you the location once the virtualenv exists?  Would it be ok to allow it to report the path just based on the filename? I could work around most of my issues if I could predict the path in advance.
Then I could do
VENV_DIR=$(WORKON_HOME=foo/foo/foo PIPENV_FILE=bar/bar/bar pipenv —venv)
Or I could copy the hash function and right my own utility, but it would be sad if that ever got out of sync with pipenv's way of doing it.
Mmm. Perhaps you're right: it's easier just to use other tools like virtualenv for now :-)

Note: this is actually possible to do now with Python because I added a Project.get_location_for_virtualenv() method, but we need a place to put it ins the CLI.

So I wanted to cache the virtual env, but with GitLab CI that required my ability to specify a location explicitly, and it was okay if it would reside in .venv which pipenv would pick up on if it was found.
So, I did the following
pip install pipenv
pipenv install --dev
mv $(pipenv --venv) .venv

Simply create .venv prior to using pipenv:
mkdir .venv
pipenv install --dev

We also recently added the ability to specify PIPENV_CUSTOM_VENV_NAME in the environment, preferably in the .env file.


Forward extra parameters to update command too

Currently the extra parameters are forwarded to list --outdated only, but not to pip install. Changed to forward extra parameters to pip install, to allow automatic update of pip package on alternate package server.

there's also the option to just pass configuration to pip via environment variables, e.g.
<EMAIL_ADDRESS>pip-review ...

Closing this because I think the issue was resolved in version 1.1.0 (released just now).


Ticks values

Hi there,
nice job!
Is it possible to have the values of the ticks in the face of the control?
thanks!

Hello,
Thanks, actually it's not possible.
BR.

Feature added in version 1.0.7


Create meme.scott.9212messenger chats

Description of change

Pre-Merge Checklist

[ ] Tests and/or benchmarks are included
[ ] Documentation is changed or added
[ ] Lint process passed (npm run lint)
[ ] Tests passed (npm run test)

need to see a few things , been cheated on and need to know who


Need consistent path behavior

Original thread: https://groups.google.com/forum/?utm_medium=email&utm_source=footer#!msg/polymer-dev/JcBQZCPamcY/OMKhLetXg-4J
If I create an element that looks like this:
<polymer-element name="x-foo">
  <template>
    <template repeat="{{link in links}}">

Ok Hash Link {{link}}

    </template>

Bad Hash Link

  </template>

</polymer-element>

and then import it into my project, it will treat the hrefs differently. The href's inside of the repeating template will look like this:

but the href outside of the repeating template will look like this:
Bad Hash Link

@sorvell, was it intentional to rewrite href for anchor elements? It doesn't seem like those should be rewritten at all.

Yes, the idea is that you should always be able to link resources with paths relative to the importing document. If it's an absolute url or a # based one we should bail.

The rewriter doesn't check that the node is an anchor, it just rewrites href. The simplest fix is to ignore hash-only hrefs for rewriting.


Use a pre-installed Minikube instance for integration tests.

This changes the integration test workflow to assume that Minikube is already installed on the testing machine. Previously, the integration tests downloaded Minikube in the build cycle, and started/stopped the Minikube VM on every test execution. However, this made it such that multiple integration tests cannot run concurrently.
This commit allows multiple tests to share a single Minikube instance, and also requires users that run integration tests to have Minikube pre-installed. If the minikube instance has enough resources, multiple tests can run against it at the same time. Each test needs to use its own set of Docker images, so the docker image builder now tags images uniquely on every test execution.

This build won't pass until Minikube is pre-installed on our Jenkins node. Conversely, if we set up Minikube on the Jenkins node, all outstanding PRs will need to rebase on top of this commit once it merges in to pass those builds. i'm not sure what the best way forward is with regards to sequencing these changes.
This change allows tests to run on the Riselab Jenkins environment as well.
@ash211 @ifilonenko for review, @ssuchter @shaneknapp for infrastructure considerations.

We could but I'd prefer to avoid having to maintain two code paths if possible. If we're sending this upstream, it would be best to make the system simple.

Is this waiting for any more changes? Do we need the pepperdata build system also to install minikube?

Still ironing out some errors in the Riselab system, but yes we will need Pepperdata Jenkins to install minikube as well. Once we merge this into branch-2.2-kubernetes, ALL open PRs need to rebase on top of this change to pass CI... and to not delete Minikube accidentally.

Great to have the option to run concurrent integration tests on an already existing minikube instance with different tags. I haven't read the proposed changes, but how do you create the image tags : rebuilding or simply tagging an initial build?
However I'd like to second  @ssuchter about the interest in keeping the previous behavior: a CI server should not have minikube pre-installed. I think it will be harder to ask Apache infra to have this on their servers, rather than letting maven download it.
My vote would go for concurrent run (with tags) on a downloaded minikube, but an option to connect to an existing one, so a mix of existing and proposed behavior.

I have run the integration test on this branch and get a failure, which I suppose, is a random one as described in #571.
- Run PySpark Job on file from SUBMITTER with --py-files
- Run PySpark Job on file from CONTAINER with spark.jar defined
- Run SparkR Job on file locally
- Run SparkR Job on file from SUBMITTER
- Simple submission test with the resource staging server.
- Enable SSL on the resource staging server
- Use container-local resources without the resource staging server
- Dynamic executor scaling basic test
- Use remote resources without the resource staging server.
- Mix remote resources with submitted ones.
- Use key and certificate PEM files for TLS.
- Use client key and client cert file when requesting executors
- Added files should be placed in the driver's working directory. *** FAILED ***
  java.net.ConnectException: Failed to connect to /<IP_ADDRESS>:30941
  at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:225)
  at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:149)
  at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:195)
  at okhttp3.internal.connection.StreamAllocation.findHealthyConnection(StreamAllocation.java:121)
  at okhttp3.internal.connection.StreamAllocation.newStream(StreamAllocation.java:100)
  at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.java:42)
  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:67)
  at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.java:93)
  at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.java:92)
  ...
  Cause: java.net.ConnectException: Connection refused
  at java.net.PlainSocketImpl.socketConnect(Native Method)
  at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350)
  at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206)
  at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188)
  at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
  at java.net.Socket.connect(Socket.java:589)
  at okhttp3.internal.platform.Platform.connectSocket(Platform.java:124)
  at okhttp3.internal.connection.RealConnection.connectSocket(RealConnection.java:223)
  at okhttp3.internal.connection.RealConnection.connect(RealConnection.java:149)
  at okhttp3.internal.connection.StreamAllocation.findConnection(StreamAllocation.java:195)
  ...
- Setting JVM options on the driver and executors with spaces.
- Submit small local files without the resource staging server.
- Use a very long application name.
...


[CMake] Windows static build LNK2001

If you're building openvdb as a static library on Windows, you need to define OPENVDB_STATICLIB to circumvent the following definition of OPENVDB_DLL:
https://github.com/AcademySoftwareFoundation/openvdb/blob/e4daaad54338c0d36171d88eca394bda92cf67d2/openvdb/openvdb/PlatformConfig.h#L14
Else it will cause errors like these:
Error	LNK2001	unresolved external symbol "__declspec(dllimport) int __cdecl openvdb::v7_1::util::printBytes(class std::basic_ostream<char,struct std::char_traits<char> > &,unsigned __int64,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > const &,bool,int,int)" (__imp_?printBytes@util@v7_1@openvdb@@YAHAEAV?$basic_ostream@DU?$char_traits@D@std@@@std@@_KAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@5@2_NHH@Z)
Shouldn't CMake take care of this and add it to the PUBLIC defines of the target?
https://github.com/AcademySoftwareFoundation/openvdb/blob/064606e7ae04fc3c651f86714c28853517a2f72b/openvdb/openvdb/CMakeLists.txt#L425-L447

Hey @diiigle, I believe you're correct - it currently assumes that specifying /MD or /MDd alone is enough to infer the lib type which is not true.
This header existed pre CMake - I'm wondering if we can't now remove this logic as it is a bit weird (and the shared builds already correctly specify OPENVDB_DLL) though this would break downstream projects who are linking dynamically against VDB and relying on this behaviour without specifying -DOPENVDB_DLL...
Simplest solution is, as you say, to add that define to the static build.

https://github.com/AcademySoftwareFoundation/openvdb/pull/826

Thanks again for reporting @diiigle, this change has been merged


New Term Request: wing/haltere motor neurons

For new term requests, please provide the following information:
not sure if we need these, I could just curate these to subsets of haltere muscle motor neuron or wing motor neurons.
Preferred term label
haltere Dorsal Ventral [Indirect Flight] Muscle (motor neuron)
posterior haltere axillary muscle i1 (motor neuron)
Synonyms
hDVM (motor neuron)
hi1 (motor neuron)
Textual definition
FBrf0243782
hDVM - as DVM, not sure if we want a wing and haltere specific term for these (there's also wDVM). Need the motor neuron for this paper.
hi1 - "he more posterior haltere axillary muscles (hI1, hI2, hIII1, hIII2, and hIII3"
Suggested parent term
haltere muscle motor neuron
Attribution
If you would like a nanoattribution, please indicate your ORCID id

Based on the descriptions and on figure 1A in FBrf0243782, I think that:

hDVM (the pendant of the dorso-ventral indirect flight muscle for the haltere) is our haltere muscle 77;
hB1 and hB2 (the haltere basalar muscles) are our haltere muscle 78a;
hI1, hI2, hIII1, hIII2, and hIII3 (the haltere axillary muscles) are our haltere muscle 78.

But we don’t have any terms for the motor neurons for each of those muscles – we just have haltere muscle motor neuron.
So what we can at least do:

add synonyms to our existing haltere muscle terms to reflect the nomenclature used in this paper;
add a subclass of haltere muscle motor neuron for all three of them (motor neuron of hDVM, motor neuron of haltere basalar muscle, motor neuron of haltere axillary muscle).

But I am reluctant to create more precise terms for the two basalar muscles (hB1, hB2) and the 5 axillary muscles (hI1, hI2, etc.), since they are not described in any details (same for their corresponding motor neurons).
@admclachlan Would a single haltere basalar muscle motor neuron, which would represent indiscriminately the motor neurons of both hB1 and hB2, be enough? Or do you need hB1 motor neuron and hB2 motor neuron as separate terms? Ditto for the hI1, hI2, etc.
Regarding the wing motor neurons, we can add a dvm motor neuron to represent the motor neurons of the wing dorsal ventral indirect flight muscle, which are currently not represented. The new term will be on par with the existing dlm motor neuron, which represents the motor neurons of the wing dorsal medial indirect flight muscle.

Thanks Damien, the less specific terms would be fine.


在CRNN 中训练数据时 RuntimeError: DataLoader worker (pid 2918) exited unexpectedly with exit code 1

Traceback (most recent call last):
File "train.py", line 163, in
cost = trainBatch(net, criterion, optimizer, train_iter)
File "train.py", line 70, in trainBatch
data = train_iter.next()
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 280, in next
idx, batch = self._get_batch()
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 259, in _get_batch
return self.data_queue.get()
File "/usr/lib/python3.5/multiprocessing/queues.py", line 343, in get
res = self._reader.recv_bytes()
File "/usr/lib/python3.5/multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/usr/lib/python3.5/multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File "/usr/lib/python3.5/multiprocessing/connection.py", line 379, in _recv
chunk = read(handle, remaining)
File "/usr/local/lib/python3.5/dist-packages/torch/utils/data/dataloader.py", line 178, in handler
_error_if_any_worker_fails()
RuntimeError: DataLoader worker (pid 2918) exited unexpectedly with exit code 1.
这种错 如何解决呢

一样的问题啊

老哥这个问题你解决了吗

解决了吗，我也遇到了

我也遇到了，如何解决？


Suggested addition for "Testing" section on this page

Intel has discovered while implementing DFx on non-WDF drivers that several drivers perform incorrect PoFx D-State accounting across S4 transitions.
I would suggest a line item in the "Testing" section to strongly suggest testing DFx after an S4 transition has been performed.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 53456e5d-2f98-0b55-dfb0-dcb25c4eb7f9
Version Independent ID: 3ca90a7c-0bf7-7711-9235-cb423cc11764
Content: Introduction to the Directed Power Management Framework - Windows drivers
Content Source: windows-driver-docs-pr/kernel/introduction-to-the-directed-power-management-framework.md
Product: windows-hardware
Technology: windows-devices
GitHub Login: @tedhudek
Microsoft Alias: tedhudek

Thanks @tzimmer1 for the suggestion and apologies for the delay.  I pushed a99803a324 to address your feedback.


chore(verfication): remove {:only}

Issue #, if available:
Description of changes:
Squash/merge commit message, if applicable:
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Although the action, Check {:only} decorator presence / grep-only-verification-keyword is failing it is safe to merge in this instance since we are removing it. The action we have set up is very basic and is made to ensure we fail if we either add it or remove it from code. Since this is the only occurrence of {:only} in the code, the action will never get triggered for removing it, only if we add it. I will merge this as is and make it a required action in the branch protection settings.


testing ci

Description
Fixes #
Note: It's a good idea to open an issue first for discussion.
Checklist

[ ] I have followed Sample Guidelines from AUTHORING_GUIDE.MD
[ ] README is updated to include all relevant information
[ ] Tests passes
[ ] Lint passes
[ ] These samples need a new API enabled in testing projects to pass (let us know which ones)
[ ] These samples need a new/updated env vars in testing projects set to pass (let us know which ones)
[ ] Please merge this PR for me once it is approved.
[ ] This sample adds a new sample directory, and I updated the CODEOWNERS file with the codeowners for this sample

Yay! successful test.


setup:: ERROR Time not set (yet).

I'm having some problems with the NTP server, I tried three different combinations, and I always have the same error:
WlanConnect:: Now starting WlanStatus
WlanStatus:: CONNECTED ssid=WayFay
WlanConnect:: WlanStatus Connected
MAC: , len=17
Host=esp8266-3c8634 WiFi Connected to WayFay on IP=<IP_ADDRESS>
Local UDP port=1700
UDP Connection successful
Gateway ID:, Listening at SF7 on 903.90 MHz.
resolveHost:: OK=ar.pool.ntp.org IP=<IP_ADDRESS>
setup:: ERROR Time not set (yet). Time=-17829890
setup:: ERROR Time not set (yet). Time=-17829890
My setup is ESP8266+RFM95W, No GPS, No OLED and no gateway sensor.
I tried with different ntp servers, as listed for my country, but all with the same error:
ar.pool.ntp.org
http://1.south-america.pool.ntp.org/
http://0.south-america.pool.ntp.org/
UPDATE: what is really strange, is that if I define WIFIMANAGER  as 0, I got a different type of error:
resolveHost:: ERROR hostByName=ar.pool.ntp.org, len=16

Please upgrade to the latest version of the software. Version 5 is there fore historical reasons, ad the ESP-1ch_Gateway (without the version number) is the latest version
regards,
Maarten

Was solved? I'm having the same problem and using the latest version.


Support for Text Embedding Inference (TEI) from HuggingFace

Feature request
Similar to Text Generation Inference (TGI) for LLMs, HuggingFace created an inference server for text embeddings models called Text Embedding Inference (TEI).
See: https://github.com/huggingface/text-embeddings-inference
Could you integrate TEI into the supported LangChain text embedding models or do you guys already plan to do this?
Motivation
We currently develop a rag based chat app and plan to deploy the components as microservices (LLM, DB, Embedding Model). Currently the only other suitable solution for us would be to use SagemakerEndpointEmbeddings. However being able to use TEI would be a great benefit.
Your contribution
I work as an ML Engineer and could probably assist in some way if necessary.

I made a minimal working example, if anyone want to use before langchain supports tei:
import requests

from langchain_core.embeddings import Embeddings

from pydantic import BaseModel

class HuggingfaceTEIEmbeddings(BaseModel, Embeddings):
    """See <https://huggingface.github.io/text-embeddings-inference/>"""
    base_url: str
    normalize: bool = True
    truncate: bool = False
    query_instruction: str
    """Instruction to use for embedding query."""

    def embed_documents(self, texts: list[str]) -> list[list[float]]:
        response = requests.post(
            self.base_url + "/embed",
            json={
                "inputs": texts,
                "normalize": self.normalize,
                "truncate": self.truncate,
            },
        )
        return response.json()

    def embed_query(self, text: str) -> list[float]:
        instructed_query = self.query_instruction + text
        return self.embed_documents([instructed_query])[0]

I have a problem when using HuggingFaceHubEmbeddings to call the local TEI endpoint. The input parameter of TEI's embed API   is
{   "inputs": "string",   "normalize": true,   "truncate": false }
but the final parameter passed is
{   "inputs": "string",   "parameters": _model_kwargs }
, This causes the embed API to only receive the inputs parameters and ignore the other two parameters. I modified the embed_documents function as follows, which can correctly pass parameters to the embed API:
    def embed_documents(self, texts: List[str]) -> List[List[float]]:
        """Call out to HuggingFaceHub's embedding endpoint for embedding search docs.

        Args:
            texts: The list of texts to embed.

        Returns:
            List of embeddings, one for each text.
        """
        # replace newlines, which can negatively affect performance.
        texts = [text.replace("\n", " ") for text in texts]
        _model_kwargs = self.model_kwargs or {}

        responses = self.client.post(
            json={"inputs": texts} | _model_kwargs,
            task=self.task,
        )
        return json.loads(responses.decode())


JetBrains: "Document Code" and "Generate Unit Tests" commands stopped working when switching between projects.

Cody Version
v5.5.12-nightly
IDE Information
IntelliJ IDEA 2023.3.4 (Community Edition)
Build #IC-233.14475.28, built on February 13, 2024
Runtime version: 17.0.10+1-b1087.17 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11.0
GC: G1 Young Generation, G1 Old Generation
Memory: 2048M
Cores: 12
Registry:
ide.experimental.ui=true
Non-Bundled Plugins:
de.sgalinski.typoscript.enterprise.plugin.id (2.8.0)
org.jetbrains.plugins.hocon (2023.1.0)
PythonCore (233.14475.9)
com.soywiz.korge.korge-intellij-plugin (4.0.4)
com.sourcegraph.jetbrains (5.5.12-nightly)
Kotlin: 233.14475.28-IJ
Describe the bug
Platform: Windows
Steps to reproduce:

Have Cody plugin installed in your JB IntelliJ editor
Login to Cody with Free user
Open any source code file from Project-A
Go to Commands and run "Document Code" command
Switch to Project-B and open any source code file
Go to Commands and run "Document Code" command
Repeat above steps-3 to step-6

Observed behavior:
"Document Code" and "Generate Unit Tests" commands stopped working
Expected behavior
"Document Code" and "Generate Unit Tests" commands should continue working just like remaining commands i.e. Explain Code
Additional context
Attaching idea logs
idea.log
Video link:
https://drive.google.com/file/d/1nmkPcQH1NwLQkwNCq7FV378QXsiLlOKm/view?usp=drive_link

I retried it a few times and I cannot reproduce it now. We made a great progress in terms of Inline Edit stability (fixup session handling, document sync, etc). closing


Register output has __esModule flag in 3.0.0 branch

I just noticed this when testing out the new branch -
System.register([], function (_export) {
  "use strict";

  var p;
  return {
    setters: [],
    execute: function () {
      p = _export("p", "p");
      exports.__esModule = true;
    }
  };
});

This is throwing because exports is undefined. I don't think we need the flag for this scenario.
Looking forward to the release, hope to synchronise as closely as possible!

Weird, this should only be inserted when using the CommonJS/AMD/UMD formatter.

No idea how this snuck in there. Thanks!

Amazing, thanks for the quick response!! Note that Lodash hasn't been updated to 3.0.0 on this branch yet too.

Ah, haven't merged from master yet.

@sebmck I'm assuming all the stuff since the last 2.x release is just going into 3.0?

@thejameskyle Yup.


Bug: Hitting backspace on android removes both characters which are adjacent to the caret

When you have a collapsed selection, aren't in composition mode, and you hit backspace in the middle of a word using Android Keyboard apps like Gboard or Microsoft SwiftKey, both characters adjacent to the caret will be removed, instead of just the character prior to the caret.
Video for demonstration:
https://user-images.githubusercontent.com/56631072/165106914-f5655cdc-9079-4c87-928c-7bbd742a294d.mp4
Lexical version: 0.2.4
Android: 12
Steps To Reproduce

go to https://playground.lexical.dev/
place your caret in any word, e.g. "Playground", between letter "o" and "u"
Hit backspace
It should now say "Playgrnd" instead of "Playgrund"

The current behavior
Hitting backspace removes both characters adjacent to the caret.
The expected behavior
Hitting backspace removes only the character prior to the caret.

I can reproduce this using the standard Android keyboard in Android Chrome.  Android Firefox does not have the same behavior.

@trueadm seems like a recent change caused a regression. Just had some people complain describing this bug. Tested on my pixel 5 and sadly it's happening again.
Can we re-open this?

@StormVanDerPol Would you mind helping me find what version of Lexical was the culprit? Was it 0.7? I wonder if it might have been https://github.com/facebook/lexical/pull/3434.

I wonder if a change in Chromium may have caused this then? :O

@trueadm we're still on 0.6.4. I can reproduce it in the latest playground however.
I went around and tested a bunch of older vercel previews and seems this regression happened quite some time ago, sorry for not catching it earlier.
Everything works as intended in PR #2412, which was your fix. However it already didn't work in the relevant release 0.3.4 (#2443).
I also tried #2416 which edits the same bit of code and here too it is broken, maybe it's related

This was definitely working as intended until recently. I have a feeling that https://github.com/facebook/lexical/pull/2416 may have "broken" the fix in the latest Chromium changes relating to the selection.
With the duplication occurring, I'm guessing the logic to call event.preventDefault(); isn't working?

So what I think might be happening, is that a recent change in Chromium has caused this logic:
https://github.com/facebook/lexical/blob/main/packages/lexical/src/LexicalEvents.ts#L450-L459
To now no longer "recover" to a previously good range selection. Meaning the logic below it isn't being executed properly because it thinks selection is null. With some debugging I think we can first determine if this might be true, and then work to figure out how we can get a valid selection so we can properly trigger a character deletion.

It could also be that event.preventDefault() is no longer actually blocking the backspace anymore on Chromium Android. Which is clearly a regression in Chromium itself!

Tried the below on Chromium Android and it looks like a definite issue with Chromium:
<!DOCTYPE html>

    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>preventDefault example for deleteContentBackward</title>

Text to edit and in which to use backspace.

Logged a related Chromium bug here: https://bugs.chromium.org/p/chromium/issues/detail?id=1403455

Intersting discussion, I have some concerns i would like to raise:
1- if it's regression in chromium and that it would be solved in newer versions, how to solve this issue for older versions ?
2- We have code in production and we assume meta does as well with this package, how is this resolved on their part ? or is it left as is ?
3- This issue has been risen multiple time in #4941, #4374, #4340, #4149, #3896, #1973 and the solution is to wait for chromium to fix it. what are we suppose to tell our users ? wait ?
4- Codemirror manage to solve this issue (here)[https://github.com/codemirror/view/blame/main/src/input.ts#L834]  two year ago, they ditched reliance on preventDefault , can this be ported here ?


Moved tests from Mocha to Node.js Test Runner.

Hi,
As an initial experiment I moved the tests from Mocha to Node.js Test Runner.
https://github.com/AaronNGray/Wasmnizer-ts/tree/nodejs-test-runner
Thought you might want to take a look !

Hi @AaronNGray
Thanks a lot, this is cool!
I've navigated nodejs document and noticed that the test runner is available in node 20, I think it would be great if we reserve both mocha (for node before version 20.0) and nodejs test runner (for node after version 20.0).
Would you like to create a pull request? Your contribution is welcome!

@xujuntwt95329 Great, thanks I will do, sorry for the deal I must have checked this issue a few days before you replied.
Is it possible to put together a proper road map for the project please ?
Either in dicussions or GitHub Projects.

@xujuntwt95329 I have an issue with the fact the mocha tests require an import "mocha" in the TypeScript files, where as I have removed that from the node test runner versions. I do not think its a good idea to duplicate all the test source code.


Adding full finetuning

As before, this pull request contains changes to the code to feature full finetuning, files changed are lora.py, trainer,py and the LORA.md file for the new arguments.
the new training arguments are now:
python -m mlx_lm.lora \
    --model  \
    --train \
    --fine-tune-type full \
    --data  \
    --iters 100 \
    --batch-size 1 \
    --val-batches 1 \
    --adapter-path

to change the method of finetuning, simply change --fine-tune-type to dora, lora, or full, default is LoRA. Path where the adapters of the full model weights are stored is still --adapter-file.

Trainable parameters: 100.000% (2.049M/2.049M)
Starting training..., iters: 10
Iter 1: Val loss 12.459, Val took 0.455s
Iter 2: Saved model checkpoint weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/0000002_checkpoint.safetensors.
Iter 4: Saved model checkpoint weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/0000004_checkpoint.safetensors.
Iter 6: Saved model checkpoint weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/0000006_checkpoint.safetensors.
Iter 8: Saved model checkpoint weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/0000008_checkpoint.safetensors.
Iter 10: Val loss 12.456, Val took 0.346s
Iter 10: Train loss 12.456, Learning Rate 1.000e-05, It/sec 17.743, Tokens/sec 17372.541, Trained Tokens 9791, Peak mem 6.281 GB
Iter 10: Saved model checkpoint weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/0000010_checkpoint.safetensors.
Saved final full model weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain/model.safetensors.

Trainable parameters: 0.022% (0.000M/2.049M)
Starting training..., iters: 10
Iter 1: Val loss 12.459, Val took 0.372s
Iter 2: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/0000002_adapters.safetensors.
Iter 4: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/0000004_adapters.safetensors.
Iter 6: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/0000006_adapters.safetensors.
Iter 8: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/0000008_adapters.safetensors.
Iter 10: Val loss 12.457, Val took 0.219s
Iter 10: Train loss 12.457, Learning Rate 1.000e-05, It/sec 25.792, Tokens/sec 25253.294, Trained Tokens 9791, Peak mem 6.128 GB
Iter 10: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/0000010_adapters.safetensors.
Saved final adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-lora/adapter.safetensors.

Trainable parameters: 0.023% (0.000M/2.049M)
Starting training..., iters: 10
Iter 1: Val loss 12.460, Val took 0.241s
Iter 2: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/0000002_adapters.safetensors.
Iter 4: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/0000004_adapters.safetensors.
Iter 6: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/0000006_adapters.safetensors.
Iter 8: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/0000008_adapters.safetensors.
Iter 10: Val loss 12.457, Val took 0.164s
Iter 10: Train loss 12.457, Learning Rate 1.000e-05, It/sec 26.589, Tokens/sec 26033.065, Trained Tokens 9791, Peak mem 6.129 GB
Iter 10: Saved adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors and /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/0000010_adapters.safetensors.
Saved final adapter weights to /Users/gokdenizgulmez/Desktop/tinyGemma-pretrain-dora/adapter.safetensors.

Thanks!! Will review shortly!

Thanks!! Will review shortly!

Perfect!

Any idea how to correct this error?
  File ".../venv/lib/python3.8/site-packages/mlx/nn/utils.py", line 34, in wrapped_value_grad_fn
    value, grad = value_grad_fn(model.trainable_parameters(), *args, **kwargs)
RuntimeError: QuantizedMatmul::vjp no gradient wrt the quantized matrix yet.

You can't fine-tune the quantized layers. You can use a fp16, bf16, or fp32 model for full fine-tuning. The half precision types need care to avoid numerical issues, so ymmv. If you want to use a quantized model you can do QLoRA.

You can't fine-tune the quantized layers. You can use a fp16, bf16, or fp32 model for full fine-tuning. The half precision types need care to avoid numerical issues, so ymmv. If you want to use a quantized model you can do QLoRA.

OK. Thanks for the info.
I probably won't attempt this on my 2021 M1
I was trying to fine tune  mlx-community/DeepSeek-V2-Lite-Chat-4bit-mlx
but failed with this error:
File ".../llms/mlx_lm/tuner/utils.py", line 132, in linear_to_lora_layers
    raise ValueError(f"Lora does not support {model.model_type}")
ValueError: Lora does not support deepseek_v2

@Jonathan-Dobson here is a fix for that https://github.com/ml-explore/mlx-examples/pull/932. Will put it in a new pypi release once it lands.

@Jonathan-Dobson here is a fix for that #932. Will put it in a new pypi release once it lands.

#932 fixed the error and allows Fine Tuning to start now.

Given a --fine-tune-type full training,
When attempting to use generate.py like this:
  python -m mlx_lm.generate \
  --model mlx-community/Qwen2-0.5B \
  --prompt $P \
  --adapter-path adapters

The command fails with this Error:
  File ".../venv/lib/python3.8/site-packages/mlx/nn/layers/base.py", line 204, in load_weights
    weights = list(mx.load(weights).items())
RuntimeError: [load_safetensors] Failed to open file adapters/adapters.safetensors

Here are the contents of adapters after the full fine tune with updated lora.py:
adapter_config.json
model.safetensors

It looks like the full type saves the name as model now, but the generator.py still depends on the original adapters name.

It’s not saving all the model files correctly, what I tried is dragging the original config and tokenizer files to this adapters folder and then generating without the —adapter flag (and adding the adapters path to the—model flag), because it’s saving the full model weights, this flag is only needed for LoRA fine tuning. I’ll push the fix later, thanks for the feedback. Try it again after renaming the adapter_config.json to config.json.

Hey I'm back and it's fixed.
It now saves the full model with it's needed files like config.json, tokenizer, and so on.
You can now just generate with:
  python -m mlx_lm.generate \
  --model path/to/adapters \
  --prompt $P

Hey @awni, I want to ask if I need to do or change something for it to be merged?

Hey @awni, I want to ask if I need to do or change something for it to be merged?

Apologies for the delay. Let me take a look this week and get back to you!

Thanks for the quick reply! removed unnecessary code, merged the lora and dora cases and added the new lora layers.

@awni @Goekdeniz-Guelmez it could be nice to add a FINETUNE.md to mlx-examples/llms/mlx_lm imho

@awni @Goekdeniz-Guelmez it could be nice to add a FINETUNE.md to mlx-examples/llms/mlx_lm imho

A nice and detailed description on how to fine-tunine is already in the LORA.md file here. Do you mean there shoud be a seperate and more detailed explaination?

@awni @Goekdeniz-Guelmez it could be nice to add a FINETUNE.md to mlx-examples/llms/mlx_lm imho

A nice and detailed description on how to fine-tunine is already in the LORA.md file here. Do you mean there shoud be a seperate and more detailed explaination?

Yeah I meant a separate file, I think full fine-tuning warrants its own guide as it's a feature long wanted for MLX. Great work btw 👏


Remove legacy handling of attribute fields removed in 2.10 or older

From discussions arising out of #17043, it was decided to perform a code cleanup of legacy handling for attribute fields that were removed in 2.10 or older.
The legacy handling is done in .code files, in ProcessOldVersions for xml2atts (processes saved config/session files) and setattr/getattr for xml2python. So the .code files should be modified and the generators run (xml2atts, xml2python).
For ProcessOldVersions, there is a "VersionLessThan" check that can be a guide. Most of the python code doesn't list when the fields were deprecated, so might take some digging (especially if there is no corresponding ProcessOldVersions).
There is also a slew of VersionLessThan checks in ViewerWindowManagerAttributes that should be examined.
Any regression tests that fail due to the code removal should be updated to use current attributes.

To be handled:

[X] common/state atts
[ ] operator atts
[ ] plot atts

Resolved by #17438 #17439, #17448, #17462


Add --enable-redis-index-resume flag

So far there has been no progress with my upstream pr so I am opening it down stream for now and will rebase it when needed

Just realized the linting issue is here too will fix soon

Just realized the linting issue is here too will fix soon

On review it's passing locally and seems to be failing on other pull requests, opening again


Bounding Box

Is there a way to access the bounding box and edit it's properties (e.g. colour)?

check this:
https://github.com/3dcitydb/3dcitydb-web-map/blob/master/js/CitydbKmlTilingManager.js#L419

That's what I changed. I was wondering if the properties were editable without altering the script file code.

No, the only way for that is to adpat the source code.

Hi Walter,
This is Lucas. Richard and I gave you a training a while back at virtualcitysystems.
How is it going? Good to be reading you guys are working with the 3d-city web map! What are you building? Already something to look at? ;)
Here is something that might be handy:
CitydbKmlTilingManager.prototype.createBboxGeometry = function(bbox, opt_color) {
        opt_color = opt_color || Cesium.Color.BLUE
    	var rectangle = Cesium.Rectangle.fromDegrees(bbox.xmin, bbox.ymin, bbox.xmax, bbox.ymax);
    	var cesiumViewer = this.citydbKmlLayerInstance.cesiumViewer;
    	this.boundingboxEntity = {
        	id: Cesium.createGuid(),
            rectangle : {
                coordinates : rectangle,
                fill : false,
                outline : true,
                outlineWidth : 20,
                outlineColor : opt_color
            }
        }
        cesiumViewer.entities.add(this.boundingboxEntity);
    },


Fix pyilmbase tests

fixes the pyilmbase tests to work without needing a make install, lessen their dependence on other python modules, and also fix building the python extensions when compiling the set of libraries as a static lib

ignore this - it wanted to merge to master?


[Bug]: Language Server Installed and Running but does not work in a sandbox environment - Worked until 2 versions ago.

Before Reporting

[X] I have checked FAQ, and there is no solution to my issue
[X] I have searched the existing issues, and there is no existing issue for my issue

What happened?

Node path & installation paths are correct - verified.
From Console-
Language server is not installed. Please install it in the host app.
Try getting suggestions again: Language server error: Server error: -32602 D
How to reproduce the bug.
It just happened!
Relevant log output
No response
macOS version
13.6.1
Xcode version
15.2
Copilot for Xcode version
0.33.4

What do you mean by sandbox environment? If you mean the App Sandbox capability, the service app doesn't work with it enabled because it has to run other processes, for example Node, to perform its jobs. App Sandbox will prevent this.

@intitni i've node and other necessary services. Rolling back to a couple of versions ago works, the newer versions don't.
Does the logs signal you anything?
Thanks for looking into.

@varyP But what do you mean by sandbox environment?

This error throws only when the app can't find or access the language server js file. Please make sure it has the right permission to access the files in the folder inside Application Support, If you are using my releases, it should be "~/Library/Application Support/com.intii.CopilotForXcode"

@intitni - got a sandboxed environment running at a work Macbook.
I don't see the language-server.js here.
But the suggestions work outside sandbox on this version, but not inside.
Any other logs I can check?

Update to .0.35, still works outside but doesn't inside.
I keep seeing errors that it is unable to access files opened in XCode inside the sandboxed environment.
Language server error: Server error: -32602 Document for URI could not be found: file:/

The older versions of the language server uses agent.js.
But what is a sandboxed environment? How to enable the sandboxed environment?

If it works before 0.33.0, the app was launched by launch agent, and macOS may accidentally grant extra permissions to the app. But this method causes severe performance issues to the app so we will not go back.

But it's still weird, because you can access language server from the host app.

What happens if you quit and open the CopilotForXcodeExtensionService.app manually? If Copilot for Xcode.app has the permissions, the cause may be the way we launch the service app.

@intitni

Sandbox is an internal tool that we use at work.
Importing the host app inside results in this error

The host app works fine because it's outside the sandbox.
Manual trigger has no affect.
Might be due to the way it was launched in the past, but if we can get to the root cause - might be helpful.

I can't test it for you since it's an internal tool. But I can offer something that you can experiment with:
In the past the service app is launched by launch agent, now it's launched by the CoomunicationBridge target, which is launched by the launch agent.
Could it be that the old method is launching the service app outside of the sandbox?
If the service app is now launched inside the sandbox, two things may have changed:

It may be looking for a different directory when it looks for the language server. You can verify it by creating an app that prints the path to the application supports folder

FileManager.default.urls(
            for: .applicationSupportDirectory,
            in: .userDomainMask
        )

You need to verify if it can still run other processes. You can verify that by sending /run some_command in the chat.

Or you can simply try installing the language server again in the sandboxes host app. It's fine that it can't register the launch agent.

This has been happening for Me If project has build errors. So seems like if your project has some file references but File doesn't exists. Extension throws the error.
I my self would fix it. and will raise a PR.


v0.3.0

On MacOS, the contents scale is updated when set_buffer() is called, to adapt when the window is on a new screen (#68).
Breaking: Split the GraphicsContext type into Context and Surface (#64).
On Web, cache the document in the Context type (#66).
Breaking: Introduce a new "owned buffer" for no-copy presentation (#65).
Enable support for multi-threaded WASM (#77).
Fix buffer resizing on X11 (#69).
Add a set of functions for handling buffer damage (#99).
Add a fetch() function for getting the window contents (#104).
Bump MSRV to 1.64 (#81).

I don't think that I've missed anything; I also don't think any of the pending issues are so bad that they should stop a new release.
cc this


plex: 1.9.6 -> 1.13.0

Things done

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

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

Thanks for this; I'm ostensibly the maintainer, but since I have Pass, I use my own private expression... Merging.


Add support back in for Paml users for limited time with some kind of notification

I think since we did transition back to xaml, we still should allow the extension to work with paml file for a limited time to make transitioning a little easier for some users.

I think this should be our next priority if possible.

I am working on a PR.

Okay so Paml support is back in, we just need to add a notification somewhere. Something like "Perspex is changing! Please convert you .paml files to .xaml. For more information see . Then we meed a doc for the link.
Basically:

Notification that shows until a user closes and doesnt show again.
Doc explaining the mogration (Why and how)
Possibly even a migration tool (for example I had to modify the file name and project file outside of VS for class libraries... the nested file's name was locked)


fixed mongoose deprecation warning

fix #180 issue

Looks good. Tested locally, Mongoose deprecation warning is fixed.


Add basic codecov

Codecov
This PR adds basic code coverage reporting.
Resolves #29

Feel free to merge when you're happy :+1:

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

FYI: This will be fixed when code coverage starts getting uploaded for master.


Remove E2E tests requirement on Cut Release v PR

Fixes #4296

@pierremtb , @nadr0 added kcl-samples as a new test suite - could you contact him about making that a required test for release?

@pierremtb , @nadr0 added kcl-samples as a new test suite - could you contact him about making that a required test for release?

The job is called yarn-unit-test-kcl-samples. I made it required as of right now. I thought I did two days ago but I appears I didn't click the save button.

@lf94 @nadr0 Yes looks good in the settings!
Back to this PR here, I don't like the way it's done at all. Can't have weirdo checks on PR titles spread across workflows like that. I think as we gained stability on pw tests we could just reject this for now?

Closing for now as per comment above. Will reopen if needed.


how to inject Func<T,C>

I have type that takes a Func<CallInfo, ISession> as a constructor argument.
I have injected it using a Factory in a module
[Factory]
public Func<CallInfo, ISession> CreateSessionFactory()
{
 ....
}

However I'm getting the following error:

Error while resolving dependencies for Pttox.Core.Services.ILinkHandler: we have no source for instance of type 'Pttox.Core.Services.ISession'

This is odd for several reasons,

firstly nothing has a direct ISession dependency (only via the Func)
secondly ILinkHandler does not have any dependency at all on ISession not even through the Func

I was missing Static there was a warning but was hidden by all the errors.


Add redshift_replication_other to 1.8 whitelist

Don't prioritize jobs in the redshift_replication_other DAG, which is handled by Airflow 1.8

:eyes: #dp-tools

+1

:dash:


[WIP] Notifications

Implementation of the notification spec here: https://github.com/solid/notifications-panel/blob/main/proposals/solid-notifications.md and here: https://github.com/solid/notifications-panel/blob/main/proposals/solid-webhook-notifications.md

[x] /.well-known/solid route (https://github.com/solid/notifications-panel/blob/main/proposals/solid-notifications.md#discovery)
[ ] Notification Gateway (https://github.com/solid/notifications-panel/blob/main/proposals/solid-notifications.md#notification-gateway)
[ ] Notification Subscription (https://github.com/solid/notifications-panel/blob/main/proposals/solid-notifications.md#notification-subscription)
[ ] WebSocketSubscription2021

[ ]  TODO: Fille out requirements for WebSocketSubscription2021

[ ] WebHookSubscription2021

[ ] Subscription API (https://github.com/solid/notifications-panel/blob/main/proposals/solid-webhook-notifications.md#subscription-api)
[ ] Webhook API (https://github.com/solid/notifications-panel/blob/main/proposals/solid-webhook-notifications.md#webhook-api)
[ ] Unsubscribe API (https://github.com/solid/notifications-panel/blob/main/proposals/solid-webhook-notifications.md#unsubscribe-api)
[ ] Webhook-Auth Feature (https://github.com/solid/notifications-panel/blob/main/proposals/solid-webhook-notifications.md#features)

I see that webhooks are in the codebase already, but I'm not sure if they are an old implementation or the new one. I've contacted @joachimvh on slack for clarification (it's late at night for him right now).

I see that webhooks are in the codebase already, but I'm not sure if they are an old implementation or the new one.

I'll reply here so there's a paper trail. The notification format currently in the codebase is the old one with (unsecure) websockets. This was added to have consistent behaviour with NSS at that point.

The Unofficial Draft (the proposal URL linked in the comment in this PR) is in the process of being removed from the proposals directory. Current locations:

Solid Notifications Protocol repository: https://github.com/solid/notifications
Solid Notifications Protocol Editor's Draft: https://solid.github.io/notifications/protocol

As mentioned in two Notifications Panel meetings, the use of .well-known URI is at risk. Needs an issue pending resolutions to:

https://github.com/solid/specification/issues/355
https://github.com/solid/specification/issues/356

Will follow up with updates to Notifications Protocol thereafter.

Hi there, we have actually started an implementation of the NotificationGateway, NotificationSubscription and WebHookSubscription2021 according to the specifications listed above. We intend to provide these as a Pull Request to this repository very soon.
Additionally, we discovered the need for more descriptive events fired upon resource changes in order to provide meaningful Notifications (Activitiy Streams 2.0). We'll open up a pull request today with that implementation. This will be useful for the specific implementations, such as the WebHookSubscription2021 and WebSocketSubscription2021.

@jaxoncreed Thank you for the pull request.
@ixuz Thank you for jumping in with code as well.
I think PRs #1074 and #1075 show something really important: we have to coordinate as a community when it comes to CSS.
Major features like these should not be implemented without having a joint architectural discussion. For most features, we can start this discussion in an issue here on GitHub. This is how we have always worked: in the open. For more complicated features, we might want to jump on a call. So let's do that 🙂
I will invite all of the people in this PR for a call, so we can see how to proceed together.

Thanks @RubenVerborgh for coordinating. @ixuz how soon do you think you'll make your PRs available. I'd love to help out.

@RubenVerborgh, I was already aware of @ixuz' progress on this, and would like to follow up the implemenation closely.  Could you invite me to the call as well?
About coordinating ourselves as a community: https://github.com/solid/community-server/discussions/1079

@woutermont Absolutely; agree with your idea regarding roadmap, and you (and others) are most welcome to the meeting.

This can be closed in favor of https://github.com/solid/community-server/pull/1080


Make it possible to abort more types of processing tasks via /tasks/cancel

When we cancel a documentAdditionOrUpdate task that is being processed, meillisearch aborts its execution immediately. This should the behaviour for more types of tasks.  For example, there is currently no way to abort a snapshotCreation processing task, even though a snapshotCreation task could take a long time to finish.

Moved to the meilisearch/product repo discussion: https://github.com/meilisearch/product/discussions/589


weave connect timed out.  remote protocol header not recognised.

node1:
weave launch && weave launch-dns && weave launch-proxy
weave expose
node2:
weave launch && weave launch-dns && weave launch-proxy
weave connect $NODE1
weave expose
The two nodes failed to connect with "remote protocol header not recognized" message on node1.
node1:
weave 2015/08/06 00:04:45.349461 Sniffing traffic on &{20 65535 ethwe a2:d3:b0:0e:f8:2d up|broadcast|multicast}
weave 2015/08/06 00:04:45.349526 Discovered our MAC a2:d3:b0:0e:f8:2d
weave 2015/08/06 00:04:45.466639 Discovered local MAC 6a:24:cd:77:b7:9f
weave 2015/08/06 00:04:48.221140 Discovered local MAC 2e:fc:94:e4:3f:8a
weave 2015/08/06 00:04:53.929151 Discovered local MAC 72:c5:41:6c:45:d4
weave 2015/08/06 00:08:42.413337 ->[<IP_ADDRESS>:54682] connection accepted
weave 2015/08/06 00:08:44.317251 ->[<IP_ADDRESS>:54682] connection shutting down due to error during handshake: remote protocol header not recognised: [13 10 13 10 13 10 13]
weave 2015/08/06 00:14:45.365506 Expired MAC a2:d3:b0:0e:f8:2d at 2e:fc:94:e4:3f:8a(bao-dev-lighthouse)
weave 2015/08/06 00:15:45.372228 Expired MAC 6a:24:cd:77:b7:9f at 2e:fc:94:e4:3f:8a(bao-dev-lighthouse)
weave 2015/08/06 00:15:45.372248 Expired MAC 2e:fc:94:e4:3f:8a at 2e:fc:94:e4:3f:8a(bao-dev-lighthouse)
weave 2015/08/06 00:15:45.372257 Expired MAC 72:c5:41:6c:45:d4 at 2e:fc:94:e4:3f:8a(bao-dev-lighthouse)
node2:
weave 2015/08/06 00:07:16.854305 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:09:24.153382 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:09:27.101436 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:11:34.329368 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:11:36.911792 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:13:44.249386 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:13:48.665797 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:15:55.961416 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:16:01.824088 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:17:10.655477 Expired MAC 8e:a1:b3:0c:e6:e9 at fa:2c:a4:7f:04:c5(bao-dev)
weave 2015/08/06 00:18:09.081365 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:18:10.655847 Expired MAC 16:64:52:28:62:2e at fa:2c:a4:7f:04:c5(bao-dev)
weave 2015/08/06 00:18:10.655868 Expired MAC fa:2c:a4:7f:04:c5 at fa:2c:a4:7f:04:c5(bao-dev)
weave 2015/08/06 00:18:22.306239 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:20:29.497372 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:20:49.140537 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:22:56.441381 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out
weave 2015/08/06 00:23:22.652713 ->[<IP_ADDRESS>:6783] attempting connection

weave 2015/08/06 00:08:42.413337 ->[<IP_ADDRESS>:54682] connection accepted
weave 2015/08/06 00:08:44.317251 ->[<IP_ADDRESS>:54682] connection shutting down due to error during handshake: remote protocol header not recognised: [13 10 13 10 13 10 13]

That looks like somebody telnetting to the weave port and hitting 'return' three times.

weave 2015/08/06 00:07:16.854305 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 00:09:24.153382 ->[<IP_ADDRESS>:6783] error during connection attempt: dial tcp4 <IP_ADDRESS>:6783: connection timed out

This, plus the fact that none of these attempts show up in the other node's logs, suggests that the connections aren't getting through. Might be some firewall in the way.

I believe I telnet into the weave port when the connection timed-out. (Node2 -- telnet --> Node1)

As I said, none of the node2 weave connection attempts show up in the node1 weave logs. node2 weave simply cannot reach node1 weave.

if you really can telnet from node2 to node1:6783 (please do double check that), then next thing to try would be to run the same telnet from inside a container on node2.

telnet from node2 to node1 works.
telnet from node2's container to node1 did not.  I ran docker with --iptablels=false, which caused containers not able to access the network.  removed --iptables=false fixed this.
Now I'm getting a different error messages from both logs:
Node1:
weave 2015/08/06 18:03:50.530274 ->[<IP_ADDRESS>:57528|76:e7:66:04:17:6b(bao-dev)]: connection deleted
weave 2015/08/06 18:03:50.530345 Removed unreachable peer 76:e7:66:04:17:6b(bao-dev)
weave 2015/08/06 18:03:50.531391 ->[<IP_ADDRESS>:57529] connection accepted
weave 2015/08/06 18:03:50.532000 ->[<IP_ADDRESS>:57529|76:e7:66:04:17:6b(bao-dev)]: completed handshake; using protocol version 1
weave 2015/08/06 18:03:50.532098 ->[<IP_ADDRESS>:57529|76:e7:66:04:17:6b(bao-dev)]: connection added (new peer)
weave 2015/08/06 18:03:50.533072 ->[<IP_ADDRESS>:57529|76:e7:66:04:17:6b(bao-dev)]: connection shutting down due to error: Received new version for entry I own!
weave 2015/08/06 18:03:50.533175 ->[<IP_ADDRESS>:57529|76:e7:66:04:17:6b(bao-dev)]: connection deleted
weave 2015/08/06 18:03:50.533247 Removed unreachable peer 76:e7:66:04:17:6b(bao-dev)
weave 2015/08/06 18:03:50.534400 ->[<IP_ADDRESS>:57530] connection accepted
weave 2015/08/06 18:03:50.535100 ->[<IP_ADDRESS>:57530|76:e7:66:04:17:6b(bao-dev)]: completed handshake; using protocol version 1
weave 2015/08/06 18:03:50.535186 ->[<IP_ADDRESS>:57530|76:e7:66:04:17:6b(bao-dev)]: connection added (new peer)
weave 2015/08/06 18:03:50.544945 ->[<IP_ADDRESS>:57530|76:e7:66:04:17:6b(bao-dev)]: connection shutting down due to error: Received new version for entry I own!
weave 2015/08/06 18:03:50.547069 ->[<IP_ADDRESS>:57530|76:e7:66:04:17:6b(bao-dev)]: connection deleted
Node2:
ouse)
weave 2015/08/06 18:03:26.470532 ->[<IP_ADDRESS>:6783] attempting connection
weave 2015/08/06 18:03:26.482966 ->[<IP_ADDRESS>:6783|ce:ee:fa:ec:fb:68(bao-dev-lighthouse)]: completed handshake; using protocol version 1
weave 2015/08/06 18:03:26.483138 ->[<IP_ADDRESS>:6783|ce:ee:fa:ec:fb:68(bao-dev-lighthouse)]: connection added (new peer)
weave 2015/08/06 18:03:26.687464 ->[<IP_ADDRESS>:6783|ce:ee:fa:ec:fb:68(bao-dev-lighthouse)]: connection shutting down due to error: read tcp4 <IP_ADDRESS>:6783: connection reset by peer
weave 2015/08/06 18:03:26.687531 ->[<IP_ADDRESS>:6783|ce:ee:fa:ec:fb:68(bao-dev-lighthouse)]: connection deleted
weave 2015/08/06 18:03:26.687549 Removed unreachable peer ce:ee:fa:ec:fb:68(bao-dev-lighthouse)

That is because you defer the connect. You either need to tell the 2nd weave to connect to the first as part of weave launch, or you need to specify a -initpeercount 2. From our docs: "you must either supply the list of all peers in the network to weave launch or add the -initpeercount flag to specify how many peers there will be."

Hi Matthias,
Thanks for your help, I got two nodes connected.  This is what I did, with a couple clarification questions hope you can help me with.

on node1:
weave launch -initpeercount 2
weave launch-dns
Container e38f75ea55ffe35e9a4d1a82eeb30762c9a7226deaf163856cde7ccd92beb44f not running.

Question: This is because weaver is waiting for its peer?  weave launch-dns && weave launch-proxy cannot be run until the weave cluster has quorum?

on node1:
weave launch -initpeercount 2

on node2:
weave launch -initpeercount 2
weave connect $NODE1
node1:
weave launch-dns && weave launch-proxy
node2:
weave launch-dns && weave launch-proxy
node1 & 2:
weave expose
The weave network is connected.
Question: If I want to add a 3rd node (possibly up to 32 nodes or more), what is the work-flow I should follow?
Thank you,
Bao

re 1) yes, it's failing due to the lack of quorum. The error message could be better, but actually in weave 1.1 weavedns will no longer require an IP address, so that will no longer be an issue.

If I want to add a 3rd node, what is the work-flow I should follow

See the "More on -initpeercount" section of our docs.
The following sequence should work:
host0: weave launch && weave launch-dns && weave launch-proxy
host1: weave launch -initpeercount 2 host0 && weave launch-dns && weave launch-proxy
host2: weave launch -initpeercount 3 host0 && weave launch-dns && weave launch-proxy
host3: weave launch -initpeercount 4 host0 && weave launch-dns && weave launch-proxy
...

Be careful though: "The one thing you have to watch is if the early ones get restarted, you must restart them with the current number of peers - if they use the smaller number that was correct when they first started then they could form an independent set again."

Thanks for the help Matthias


Ramping Apple Effects parameters doesn't change the parameter at all

Here is code to show that using LowPassFilter.$cutoffFrequency.ramp(to: value, duration: someTime) has no effect on the actual filter.cutoffFrequency
I put this code in GenericNodeTests.swift
func testLowpass() {
    let engine = AudioEngine()
    let url = Bundle.module.url(forResource: "12345", withExtension: "wav", subdirectory: "TestResources")!
    let input = AudioPlayer(url: url)!
    let effect = LowPassFilter(input)
    engine.output = effect
    let startFreq: Float = 100
    let targetFreq: Float = 1000
    let rampDuration: Float = 0.1
    effect.cutoffFrequency = startFreq
    effect.$cutoffFrequency.ramp(to: targetFreq, duration: rampDuration)
    let audio = engine.startTest(totalDuration: 1.0)
    input.start()
    audio.append(engine.render(duration: 1.0))
    testMD5(audio)
    XCTAssertEqual(effect.cutoffFrequency, targetFreq)
}

This seems to be true for all the Apple effects. Delay, Distortion, etc. all of the ones that come with the regular AudioKit swift package.

Add a warning when trying to ramp a parameter that is intrinsically not rampable. Apple should be made aware of this limitation so I've added this as one of the radars we should file with them: https://github.com/AudioKit/AudioKit/issues/2570


FongoData can't use $comment modifier in count and aggregation operations.

I started to use the $comment modifier in count operations with my DAO.
Since I use Fongo to mock my DAO, the Fongo started to use count commands with this kind of modifier too.
My unit tests reported that this query are returning a wrong result using Fongo:
Assert.assertEquals(17, mongoInstance.count(COLLECTION, dbQuery));
This mongoInstance is a instance of my DAO and will only execute this kind of command:
try {
    return getMongoCollection(collection).count(dbQuery.append("$comment", "Comment for this query");
} finally {
    dbQuery.remove("$comment");
}

The same $comment are added to cursor modifier on find operations and this are working fine. But count doesn't have a cursor to set modifiers and we need to use the $comment annotation (MongoDB Documentation). This same issue will make aggregation operations not work, because this kind of operation need to add $comment inside the $match pipeline stage.
I also have a test using a local instance of MongoDB. For the original instance of MongoDB all results are OK and the $comment modifier works fine in every kind of operation.
A link to the MongoDB Documentation reggards to $comment modifier:
https://docs.mongodb.com/v3.2/reference/operator/query/comment/
This link is about MongoDB version 3.2, since we use Fongo version 2.1.0 with MongoDB default version 3.2.

I will be editing FongoConnection.java removing $comment from all commands and also the Aggregator.java removing $comment from all stages of the pipeline until we have some fix about this.
This fix will make the Fongo compatible for using $comment modifiers but will exclude the feature itself.


Introduce log file feature

Made code changes to capture and save all logs (from start to finish) generated from webex_bot library to a file with more data in the logs. Log enhancement is made to coloredLogs as well.

My tool was not able to pick up the webex_bot's log messages. I mapped my tool to use "webex_bot" logger created by webex_bot.py, but it missed out webex_websocket_client module's logs (from webex_websocket_client.py), as it was logging to its own logger created via "logging.getLogger(name)".
Also, even when I mapped my tool to use webex_bot's logger, it still missed out the initial log messages of webex_bot.py module.
With the code changes in this PR, all modules of webex_bot module will log to "webex_bot" logger and we can save the logs to a file, from the scratch.
Also, I have added code changes to trigger logger flush and close (via logging.shutdown()) when stop() is called.


[Feature request] Implement decimalPlaces method

As title, and I refer the bignumber.js and this is the JavaScript library. I notice that some methods are useful. Consider the JS code snippets:
var big = require('bignumber.js');
big(0.15).dp(1).toString(); // '0.2'
big(0.15).dp().toString(); // '2'
big(0.15).dp(0).toString(); // '0'

It seems that the method approach is as follows:

Give the precision integer and it will round the number with specific precision.
If the passed precision integer is zero, the result will return the float number length.

I will be marking this library as "abandoned" in the near future, and I recommend brick/math as a replacement. Thanks!