docs(README): Add JCS-ELPA badge

People can use my ELPA before submitting it to MELPA.

I wanted to mention that peopl can also use the Guix R' Us channel where it is available as well though out of date probably IIRC:
https://toys.whereis.みんな/?search=emacs-copilot
You could use a package transformation if you need the latest version:
https://guix.gnu.org/manual/en/html_node/Package-Transformation-Options.html
https://git.sr.ht/~whereiseveryone/confetti/tree/e/item/conf/confetti/minimal-emacs.scm#L82


apps orientation settings not inherited?

my app doesn't rotate, but when I do rotate the device, the banner ads are re-positioned off screen with circa 30 pixels visible on screen.
Is there a setting to override the auto orientation code?
cheers
Nik

The orientation should inherit from your view controller's configuration.


Add lyarwood as reviewer

What this PR does / why we need it:
Self nominating myself as a reviewer.
/cc @davidvossel
Release note:

NONE

Looks like we need some skip_if_only_changed in the prow configs :)

Looks like we need some skip_if_only_changed in the prow configs :)

https://github.com/kubevirt/project-infra/pull/2389 FWIW

/approve

/lgtm


Response streaming

Problem Statement
As of now, it can take more than 60 seconds to get final response if the user query requires BingChat to search for information or conduct any other intermediate actions
Proposed Change
Adjust API surface to allow the user to either stream intermediate response state or opt in to await the final response.
Discussion
Because Bing Chat implementation is world-class, it does not bother with trivialities such as efficiency, saving bandwidth or having an event type to send response parts over websocket (and cancel previous output where BC refuses to honor user prompt) and instead just re-sends the whole thing instead (see below).
This creates an issue where we can't just expose IAsyncEnumerable<string> because it can confuse the users of the library by sending the same message with extra words appended, making for cumbersome user experience. Thus, I'm creating this issue for feedback while I'm trying out a couple of prototypes to encapsulate the response into a public type ConversationResponse (placeholder) so that the users can either explicitly .GetCompletedResponse() or .ReadIntermediateMessages() (also placeholders).
Ideally, I want to make it more user-friendly than what WSS API exposes by detecting whether we're still receiving the continuations of the previous response message or if BingChat decided to completely rewrite it so that the user can just Console.Write(msg) until it is done.
Let me know what you think.
Example WSS output (cut out for brevity):
t":"Generating answers for you...","hiddenText":"Generating answers for you...","
18:32:33.849
{"type":1,"target":"update","arguments":[{"cursor":{"j":"$['cb8f7fa8-4055-4452-9a
18:32:33.858
{"type":1,"target":"update","arguments":[{"messages":[{"text":"The","author":"bot
18:32:33.864
{"type":1,"target":"update","arguments":[{"messages":[{"text":"The weather","auth
18:32:33.864
{"type":1,"target":"update","arguments":[{"messages":[{"text":"The weather in","a
18:32:33.864
{"type":1,"target":"update","arguments":[{"messages":[{"text":"The weather in Ky"

Thanks for creating the discussion. I am also concerned about the problem of waiting too long for a complete answer.
I agree with the idea @neon-sunset provided, which allowing users to explicitly choose to receive a complete response or intermediate message. Here is my understanding. GetCompletedResponse is an asynchronous method, which users should wait for a complete answer to be returned. ReadIntermediateMessages is a synchronization method that users may call as many times as they wish to update the latest status.
I wonder if we can combine the two together. Based on the existing IBingChattable interface, add an optional parameter as a callback function to the AskAsync method. The definition is as follows
public interface IBingChattable
{
    /// <summary>
    /// Ask for a answer.
    /// </summary>
    /// <param name="message">Question content</param>
    /// <param name="callback">Callback function for streaming response</param>
    Task<string> AskAsync(string message, Action<string>? callback = null);
}

In this way, user provides a callback function, and the client passes the intermediate message (containing the previous part) to the user. Then user decides how to make updates, either by overwriting previous contents, or picking out the new parts and writing it.
Example codes for different users are as follows
//For single response
string answer = await conversation.AskAsync(prompt);
Console.WriteLine(answer);

//For streaming response - example 1
int lastCursorTop = Console.CursorTop;
string answer = await conversation.AskAsync(prompt, (string message) =>
{
    //update
    Console.SetCursorPosition(0, lastCursorTop);
    Console.Write(message);
});
//final answer
Console.SetCursorPosition(0, lastCursorTop);
Console.WriteLine(answer);

//For streaming response - example 2
int lastCursorTop = Console.CursorTop;
int lastMessageLength = 0;
string answer = await conversation.AskAsync(prompt, (string message) =>
{
    //update
    Console.Write(message[lastMessageLength..]);
    lastMessageLength = message.Length;
});
//final answer
Console.SetCursorPosition(0, lastCursorTop);
Console.WriteLine(answer);

What do you think of this?

Ah, I think I did not explain it in full detail. The intention is to expose an object that represents a response state but it won't have any synchronization methods - it will be internally filled by websocket listener. The user will have the ability to either stream the intermediate messages with IAsyncEnumerable<string>-returning method or simply wait for the complete response instead .GetCompletedResponse().
As for callbacks, I'm strictly opposed to their usage in C# unless absolutely necessary and would prefer to keep AskAsync as simple as possible. The design does not assume whether it is used in CLI or as a component of mobile application, or anywhere else.

Thanks, yes I agree with this idea. One question: why append Async suffix even though there is no synchronous alternative?

Thank you. Yes, I agree with this idea.
One question: why append Async suffix even though there is no synchronous alternative (i.e. SendAsync is the same the HttpClient has, but then GetCompletedResponseAsync is uhh, a long method name? :D
Anyways, I'll get back to working on this, will submit a PR soon.

Then maybe GetFullResponseAsync, GetCompletedAnswerAsync or GetFullAnswerAsync? :D
I think we should add the Async suffix to fit the .NET naming convention. I think the reasons are as follows:

Microsoft's documentation clearly states that publicly exposed asynchronous methods in .NET need to have the Async suffix.
Having the Async suffix clearly reflects that this is an asynchronous method without causing confusion, as this is the default naming convention for most official, or third-party libraries.
Even though we don't provide a synchronous method directly, users can write their own extension method to convert it to synchronous. This extension method can then be simply named without Async. As an example, Microsoft.Extensions.Hosting does this (IHost.StartAsync() and HostExtensions.Start()).

Anyway looks good to me, thanks!


Upgrade react-native to v0.71.2

Details

This PR upgrades the react-native version to v0.71.2 & also upgrades the react-native-quick-sqlite to v8.0.0-beta.2 as that includes the v0.71.2 upgrade.
Related Issues

https://github.com/Expensify/App/issues/15124
Automated Tests

No tests have been added as just upgrading the dependancy versions
Linked PRs

https://github.com/Expensify/App/pull/15130 is dependent on this PR

I have read the CLA Document and I hereby sign the CLA

@mountiny @roryabraham What's the best way to test this?

I think @marcaaron or @kidroca had some ways before how to test react-native-onyx with the App, do you have any tips here?

What is this related to? I see no linked issue.

One way to test this with the App repo is to just build the web dist with npm run build and then replace the entire react-native-onyx folder in node_modules.

native doesn't need to build but web does IIRC.

Yes to what Marc suggests
I have been doing this for ages, because npm link does not work with metro the bundler react-native uses (it does not follow symlinks)
When I work on Onyx, and I want to test changes in App I do the following:

Use a tool that syncs my projects/Expensify/react-native-onyx to projects/Expensify/App/node_modules/react-native-onyx
Make changes in Onyx project, then run the Onyx build script (npm run build)

If this is for a one time test, you can just build the Onyx project and then copy it over to App/node_modules/
(You can also only copy dist and lib)
(Native doesn't have to build, it directly uses the code from lib)

@priyeshshah11 Do these steps sound good? We should be able to test it with the RN update PR then

@mountiny yes the above mentioned steps worked & I was able to test web & it looks all good. Is there anything specific that I should be looking out for?
Thanks @kidroca & @marcaaron ❤

@priyeshshah11 I think we just want to test usual from through the app:

create chat report
send a message
request money
Create workspace
send a message in the workspace chat
invite a member to a policy
upload profile picture

I think this should cover all the actions. Also SQLite is used in native device afaik so we should test this in web and also in native device 🙌

Tested the above on web but still waiting on testing this on native, currently blocked by errors on https://github.com/Expensify/App/pull/15130

Finally, was able to fix the native build errors & have tested the above & it all looks good. I think we should now merge this & release & then perform thorough testing on https://github.com/Expensify/App/pull/15130

@priyeshshah11 it looks like the commits are not signed and we can't merge this one. Could you please check?

Thank you!


Compilation problem (make)

Hi!
I am having some issues running make on SURVIVOR:
Building file: ../src/vcfs/Filter_vcf.cpp
Invoking: Cross G++ Compiler
g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/vcfs/Filter_vcf.d" -MT"src/vcfs/Filter_vcf.o" -o "src/vcfs/Filter_vcf.o" "../src/vcfs/Filter_vcf.cpp"
../src/vcfs/Filter_vcf.cpp: In function ‘void translate(const char*, int, float, int, strentry&)’:
../src/vcfs/Filter_vcf.cpp:18:6: warning: variable ‘lumpy’ set but not used [-Wunused-but-set-variable]
  int lumpy = 0;
      ^
Finished building: ../src/vcfs/Filter_vcf.cpp

Building file: ../src/vcfs/Generate_distMat.cpp
Invoking: Cross G++ Compiler
g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/vcfs/Generate_distMat.d" -MT"src/vcfs/Generate_distMat.o" -o "src/vcfs/Generate_distMat.o" "../src/vcfs/Generate_distMat.cpp"
Finished building: ../src/vcfs/Generate_distMat.cpp

Building file: ../src/vcfs/Merge_VCF.cpp
Invoking: Cross G++ Compiler
g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/vcfs/Merge_VCF.d" -MT"src/vcfs/Merge_VCF.o" -o "src/vcfs/Merge_VCF.o" "../src/vcfs/Merge_VCF.cpp"
In file included from ../src/vcfs/Merge_VCF.cpp:7:0:
../src/vcfs/../GzipStream.h: In constructor ‘GzipStreamBuf::GzipStreamBuf(const char*)’:
../src/vcfs/../GzipStream.h:93:16: error: ‘BUFSIZ’ was not declared in this scope
    _init(fname,BUFSIZ);
                ^
../src/vcfs/../GzipStream.h: In member function ‘virtual int GzipStreamBuf::underflow()’:
../src/vcfs/../GzipStream.h:105:33: error: ‘EOF’ was not declared in this scope
    if(gzeof(this->gzin)) return EOF;
                                 ^
../src/vcfs/../GzipStream.h:109:12: error: ‘EOF’ was not declared in this scope
     return EOF;
            ^
../src/vcfs/Merge_VCF.cpp: In function ‘std::vector<strvcfentry> parse_vcf(std::string&, int)’:
../src/vcfs/Merge_VCF.cpp:560:91: error: ‘errno’ was not declared in this scope
   std::cerr << "VCF Parser: could not open file: " << filename.c_str() << " " << strerror(errno) << std::endl;
                                                                                ^
make: *** [src/vcfs/Merge_VCF.o] Error 1

I am running on Red Hat 7.6
Is this something on my end?
Thanks!
/Alvar

Dear Alvar,
I just tried to compile it and it seems to work on my end.
Let me check the code as this was a pull request yesterday from @lindenb .
Thanks
Fritz

I ommited
#include <cerrno>
#include <cstdio>

using namespace std;

at the top of the file. (Worked on my machine...)

Dear Alvar,
can you test this suggestion and let me know? The code as is compiled without a problem on my machine.
Thanks
Fritz

Sure! Which file are you referring to? I checked makefile and didn't find the lines mentioned.
Additional info concerning g++:
[root@medair1 src]# g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC)

@alvaralmstedt
can you please add
#include <cerrno>
#include <cstdio>

using namespace std;

after the line: https://github.com/fritzsedlazeck/SURVIVOR/blob/master/src/GzipStream.h#L39
and recompile please
make -B

Thanks Pierre!
It seems to have worked (?):
[root@medair1 Debug]# make -B
Building file: ../src/vcfs/Annotate_vcf.cpp
Invoking: Cross G++ Compiler
g++ -O3 -g3 -Wall -c -fmessage-length=0 -MMD -MP -MF"src/vcfs/Annotate_vcf.d" -MT"src/vcfs/Annotate_vcf.o" -o "src/vcfs/Annotate_vcf.o" "../src/vcfs/Annotate_vcf.cpp"
Finished building: ../src/vcfs/Annotate_vcf.cpp

[root@medair1 Debug]#

It doesn't seems like I have the ./SURVIVOR file in /Debug, which I expected from the readme.
/Alvar

it's a problem with the makefile:
run
make -B SURVIVOR

That worked! Just some warnings but I guess thats to be expected :)
Thanks!
/Alvar


Initial integration of codespace URL rewriting logic into hosting.

Description
Adds support for GitHub Codespaces by automatically rewriting the URLs in the dashboard to point to the GitHub Codespaces proxied events.
Fixes #1178
Checklist

Is this feature complete?

[x] Yes. Ready to ship.
[ ] No. Follow-up changes expected.

Are you including unit tests for the changes and scenario tests if relevant?

[x] Yes
[ ] No

Did you add public API?

[ ] Yes

If yes, did you have an API Review for it?

[ ] Yes
[ ] No

Did you add <remarks /> and <code /> elements on your triple slash comments?

[ ] Yes
[ ] No

[x] No

Does the change make any security assumptions or guarantees?

[ ] Yes

If yes, have you done a threat model and had a security review?

[ ] Yes
[ ] No

[x] No

Does the change require an update in our Aspire docs?

[ ] Yes

Link to aspire-docs issue:

[x] No

Microsoft Reviewers: Open in CodeFlow

I assume this is also post 9.0

I assume this is also post 9.0

I think so. This change is about the app host changes required to support codespaces better. But there are still some gotchas around the codespace devcontainer itself which I don't think are fully fleshed out.
For example you need a devcontainer which supports Docker-in-Docker (ideally) which the default universal one does. But then you want to install the C# DevKit. I don't know if we've got options to streamline this experience for customers.

One option would be to have a GitHub template with the DevContainer pre-configured with the right decontainer file and the recommended VSCode extensions and then the workflow would be that people create their repo based on that template, and then do dotnet new themselves.

/azp run


[Tags]catch if message is deleted already before bot can delete

This shouldn't be an issue since discord.HTTPException will catch it. Have you seen this error in a tag?

Yee
Case where some lag coerced user to delete after their invocation and got exception on tag process for that delete when the bot caught up to handle the task (as it was no longer there etc)
I can give ss tomorrow when I'm at a console.

You're right it does inherit - I wonder if the exception is deriving from how the bot is slated to handle an HTTPException (which I would think would cover all tbh)
I'll load back to current revision, so I can be sure I snag the log capture. I've not seen it mishandle since adding the secondary except pass for NotFound but now I'm curious as to why I was getting it at all
Reference:
class NotFound(HTTPException)
 |  NotFound(response, message)
 |
 |  Exception that's thrown for when status code 404 occurs.
 |
 |  Subclass of :exc:`HTTPException`
 |
 |  Method resolution order:
 |      NotFound
 |      HTTPException
 |      DiscordException
 |      builtins.Exception
 |      builtins.BaseException
 |      builtins.object
 |
 |  Methods inherited from HTTPException:
 |
 |  __init__(self, response, message)
 |      ...

Most likely this was due to trying to catch the exception while creating a task.. which was a mistake in the first place. It should've been gathering everything at once rather than creating a task. I updated the code last night to gather everything at the end rather than create a task to avoid requests causing slower response time.


Remarkable fail to lauch on openSUSE

Remarkable fail to lauch on openSUSE Leap 42.1
remarkable
*Spellchecking not enabled.
*To enable spellchecking install pygtkspellcheck
*https://pypi.python.org/pypi/pygtkspellcheck/
/usr/lib/python3/dist-packages/remarkable_lib/Builder.py:86: Warning: The property GtkWidget:margin-left is deprecated and shouldn't be used anymore. It will be removed in a future version.
  Gtk.Builder.add_from_file(self, filename)
/usr/lib/python3/dist-packages/remarkable_lib/Builder.py:86: Warning: The property GtkWidget:margin-right is deprecated and shouldn't be used anymore. It will be removed in a future version.
  Gtk.Builder.add_from_file(self, filename)

(remarkable:13918): Gtk-WARNING **: No object called:
openjdk version "1.8.0_72"
OpenJDK Runtime Environment (build 1.8.0_72-b15)
OpenJDK 64-Bit Server VM (build 25.72-b15, mixed mode)
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/remarkable/RemarkableWindow.py", line 1329, in update_live_preview
    html_middle = markdown.markdown(text, self.default_extensions)
AttributeError: 'module' object has no attribute 'markdown'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/remarkable/RemarkableWindow.py", line 1332, in update_live_preview
    html_middle = markdown.markdown(text, extensions =self.safe_extensions)
AttributeError: 'module' object has no attribute 'markdown'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/bin/X11/remarkable", line 66, in <module>
    remarkable.main()
  File "/usr/lib/python3/dist-packages/remarkable/__init__.py", line 48, in main
    window = RemarkableWindow.RemarkableWindow()
  File "/usr/lib/python3/dist-packages/remarkable_lib/Window.py", line 54, in __new__
    new_object.finish_initializing(builder)
  File "/usr/lib/python3/dist-packages/remarkable/RemarkableWindow.py", line 143, in finish_initializing
    self.update_live_preview(self)
  File "/usr/lib/python3/dist-packages/remarkable/RemarkableWindow.py", line 1334, in update_live_preview
    html_middle = markdown.markdown(text)
AttributeError: 'module' object has no attribute 'markdown'

I got this problem in opensuse leap42.1,too.  I had already installed python3-markdown lib, but still didn't work

V1.75 has since been released, please check if the error still exists.
The repository is now located here.

version 1.75 still doesn't work in opensuse 42.1 !!!! I have download github repository and .rpm ,both of them work failed.
Error code:
Traceback (most recent call last):
File "/usr/bin/remarkable", line 65, in
import remarkable
File "/usr/lib/python3/dist-packages/remarkable/init.py", line 30, in
from remarkable import RemarkableWindow
File "/usr/lib/python3/dist-packages/remarkable/RemarkableWindow.py", line 26, in
gi.require_version("WebKit", '3.0')
File "/usr/lib64/python3.4/site-packages/gi/init.py", line 100, in require_version
raise ValueError('Namespace %s not available' % namespace)
ValueError: Namespace WebKit not available

You have to install libwebkitgtk3-devel too, than it works fine. So all you have to do is install Remarkable's rpm and theses libraries:
sudo zypper in libwebkitgtk3-devel python3-Markdown

I know this issue is rather old, but I was able to fix this by editing the RPM and adding the required dependencies, here's a quick rundown.
sudo zypper install rpmrebuild
rpmrebuild -e -p remarkable-1.87-1.rpm

change the line
Requires:	python3-markdown to
Requires:	python3-Markdown
Add the following line
Requires: libwebkitgtk3-devel
Write the file
Install wkhtmltopdf for your version of openSUSE from here: https://software.opensuse.org/package/wkhtmltopdf
Install the newly built rpm
sudo zypper in ~/rpmbuild/RPMS/noarch/remarkable-1.87-1.noarch.rpm

Lasted Tumbleweed snapshot doesn't contain libwebkitgtk3-devel, the one-click install from https://software.opensuse.org/package/libwebkitgtk3-devel solves it for me (there are many dependencies). Hopefully, they return the package back someday.

Doesn't work for Fedora 27.
ValueError: Namespace WebKit not available on Fedora 27 after installing using DNF. There is no available GTK3 version of WebKit libraries. Moving on to another notetaking application, I suppose.

doesn't work on F28
get "ValueError: Namespace WebKit not available " error.

the same problem arise in Leap 15.2


feat: add NIP 44 encryption support

I've added added for NIP-44 encryption and decryption so that users can access nostr features built on the new primitives.
Fixes #2652

feat: New feature (non-breaking change which adds functionality)

How has this been tested?
No testing yet
Checklist

[x] Self-review of changed code
[ ] Manual testing
[ ] Added automated tests where applicable
[ ] Update Docs & Guides

@staab Thanks for the PR! :raised_hands: Are there already any clients that implement NIP44?

Yep, Coracle does (private key login only right now for obvious reasons). Amethyst, Snort, and 0xChat are actively working on implementations.

Ok, I think this is ready for review. It took a while to finalize the NIP 44 spec, but it was finally merged this week. I did add nostr-tools as a dependency, let me know if you'd like to copy the nip44 code into the project instead.

Hey @staab, thanks again for the PR - there are currently some typescript checks failing:
https://github.com/getAlby/lightning-browser-extension/actions/runs/7303976512/job/20279852843?pr=2653
I'll try to get my hands on it this week and do some more testing.
nostr-tools should be fine to include as we also use it already in @getalby/sdk (which is also used in the extension)

@staab as soon as I navigate to send a DM to someone on coracle using this branch I get a popup:

I do not know what I am signing or why this is needed, and it should only popup to sign once I have typed a DM and pressed send, right?

Pr's still uses nip04 encryption as you don't specify calls in content scripts and instead nip04 prompts are executed can you please try and fix this?

also there are many codewise fixes we need to do here. for eg this function has 3 arguments passed but function expects only two

also we need to make this pr in sync with new nostr signing improvements where we split screens for encrypt and decrypt

I'll try to address some of these issues today, as far as

as soon as I navigate to send a DM to someone on coracle using this branch I get a popup

You can ignore that WRT to this PR, that's an event Coracle publishes to track when the user last opened a thread.

Ok, pushed an update with the new separated dialogs. The new commit also changes the api to fit what's proposed here. Unfortunately this makes the prompt potentially overwhelming since it might include hundreds of messages. I'm not sure how you want to handle that. Let me know if there's anything else you spot that I can fix! Also, there are a number of type errors and a couple failing tests that appear to be unrelated to this PR.

You can ignore that WRT to this PR, that's an event Coracle publishes to track when the user last opened a thread.

@staab it was not a standard sign event request though (with a kind, etc), but a NIP-04 encryption

Yep, it encrypts the payload before sending to keep read receipts private.

Hey guys, anything I can do to push this forward? Also interested in feedback about the bulk use case.

The bulk case makes sense for remote signing and is similar to the new multi_ methods for split payments introduced in NIP-47. For decryption would the user need to really review what they are decrypting (and would they understand it anyway)? maybe we can simplify the dialog there and say "decrypt X messages from ".
For bulk encryption, this would just be for bulk DMs, right (e.g. for advertising?) or is there another common usecase?

Yeah, that UX would make sense I think. Use cases would be anything wrapped, so DMs, encrypted chat (NIP 17 draft), key exchange for encrypted groups (NIP 87 draft), anything else requiring encryption. The bulk use case is helpful because a lot of the time these events are requested in the background and many need to be encrypted to get the user up to speed.

a lot of the time these events are requested in the background and many need to be encrypted to get the user up to speed

How does the user control this though? I am worried they just end up using the "remember" option and automatically signing everything if they get too many random popups, which in my opinion defeats the point (and you might as well just trust or not trust specific apps).

That's definitely an issue, I've run into it as well. But itn order to create a rich UX I think that's necessary. I was thinking through this question with a user yesterdayl the shift in responsibility from the platform to the user makes the user have to think about a lot more stuff than they normally do. This is good in many ways, and wasn't a problem when clients were simple and only asked them to sign a kind 1 or whatever.
But now that clients are attempting to build a better UX — in an interoperable way — there are lots of things going on in the background for which they need the user's approval. And these have to be stored on nostr if other clients want to keep user state synchronized. The reason for this is that nostr events are the only way to create interoperable data structures. Here's a short list:

Read receipts for DMs (encrypted to the counter party and signed)
A list of notifications the user has seen (encrypted and signed)
Key exchanges that have to be decrypted in the background
NIP 96 AUTH needs to be signed
AUTH needs to be signed

The UX in Coracle is already basically unusable if you don't click "remember". Key storage is still useful, since you're keeping the user's nsec safe. A good option on the client side might be "secure mode", which skips all the background work, but most users are going to prefer to have those features.

@staab I like the idea of clients giving the user the option to choose.
There's some failing checks (typechecks, unit tests) which are not failing on master - are you able to have a look? if you get stuck let us know and we can try to fix them.

Just pushed, looks like I had a missing comma in the json.

when i try to push changes to pr it creates new branch. dont't what's exactly the problem. i created pull request on the fork please merge and reflect changes in this pr https://github.com/coracle-social/lightning-browser-extension/pull/1

Sorry for the delay, just pulled that commit in.

any updates on this @staab  https://github.com/getAlby/lightning-browser-extension/pull/2653#issuecomment-1933849369

I cherry-picked the commit rather than merged the branch, since it created a bunch of conflicts. The important changes should be in though. I'm not sure why that PR is showing all my changes, because they're in the merge target.

@staab  any updates on my feedback? do you need any help?

It should all be addressed, please review the PR and let me know if anything's missing

After much debate we have decided to stick to the same interface that nip 04 uses: https://github.com/nostr-protocol/nips/pull/1063
Lots of linting is failing from upstream I believe, let me know if there's anything I can do to improve the PR.

@staab can you please update this PR so we can directly push updates to it?
I created a PR here for some fixes: https://github.com/coracle-social/lightning-browser-extension/pull/2

@staab do you know why nip44 encryption is not triggered on coracle on scoial? if i try it on console functionality works great. but i always get nip04 prompt when trying on website. thanks!

can you please merge Roland's follow up pr so that tests and functionality fix is present in the pr

Got that PR merged.

i always get nip04 prompt when trying on website

04 will still be used for most things, since it depends on new NIPs to invoke nip44. I would suggest sending a DM to yourself. If window.nostr.nip44 is defined, Coracle will ask if you want to send a legacy dm or nip44 one. Click NIP44 to encrypt then reload the page to test decrypt.

@staab can you please sync your fork as with upstream. so that i can push latest changes on your fork

@staab i created a new pr for nip44 support and based it off from alby's master branch. i also extracted nip44 into extension itself cause we don't want to introduce nostr2.x now. we do it when alby-js-sdk is upgraded to 2.x. thanks a lot for your pr. closing this in favour of #3075


Linked error with Version 1.4.0

When I upgraded from 0.2.10 to 1.4.0, I fixed some API compatibility issues. But when I try to run the project, the compiler produces some errors.
Xcode Version 15.1 (15C65)
And Minimum Deployments is iOS  14.0
ld: warning: ignoring duplicate libraries: '-lc++'
ld: warning: object file (/Users/xxxxx/Library/Developer/Xcode/DerivedData/iOS-bctxqhmlisygbobqivwjjvcbeuhq/Build/Products/Debug-iphoneos/XCFrameworkIntermediates/AuthCoreAdapter/AuthCoreAdapter.framework/AuthCoreAdapter[3](AuthCoreAdapter.o)) was built for newer 'iOS' version (16.2) than being linked (14.0)
ld: warning: Could not find or use auto-linked framework 'CoreAudioTypes': framework 'CoreAudioTypes' not found
ld: Undefined symbols:
  dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol], referenced from:
      ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[176](WalletViewController.o)
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Podfile of Using Particle
# Particle
  pod 'AuthCoreAdapter', '1.4.0'
  pod 'ParticleAuthCore', '1.4.0'
  pod 'ParticleMPCCore', '1.4.0'
  pod 'Thresh', '1.4.0'

  pod 'ParticleWalletGUI', '1.4.0'
  pod 'ParticleWalletAPI', '1.4.0'
  pod 'ParticleNetworkBase', '1.4.0'
  pod 'ParticleWalletConnect', '1.4.0'
  pod 'ParticleAA', '1.4.0'

  pod 'ParticleConnect', '0.2.19'
  pod 'ConnectWalletConnectAdapter', '0.2.19'
  pod 'ConnectEVMAdapter', '0.2.19'
  pod 'ConnectSolanaAdapter', '0.2.19'
  pod 'ConnectPhantomAdapter', '0.2.19'
  pod 'ConnectCommon', '0.2.19'

  # from 1.14.0 you need add this line.
  pod 'SwiftyUserDefaults', :git => 'https://github.com/SunZhiC/SwiftyUserDefaults.git', :branch => 'master'
  # from 1.14.0, if you need ParticleWalletConnect, you should add this line.
  pod 'WalletConnectSwiftV2', :git => 'https://github.com/SunZhiC/WalletConnectSwiftV2.git', :branch => 'particle'
  # if you need ParticleAuthCore or ParticleWalletGUI, you should add this line.
  pod 'SkeletonView', :git => 'https://github.com/SunZhiC/SkeletonView.git', :branch => 'main'

What is the JXSegmentedView pod version in Podfile.lock?
is it above 1.3.1 ?

Yeah, it's 1.3.3
  - JXPagingView/Paging (2.1.3)
  - JXSegmentedView (1.3.3)

pod 'JXSegmentedView', '1.3.1'

Specify JXSegmentedView version to 1.3.1 to fix this error, I support it changes something from 1.3.1 to 1.3.3.

pod 'JXSegmentedView', '1.3.1'

Specify JXSegmentedView version to 1.3.1 to fix this error, I suppose it changes something from 1.3.1 to 1.3.3.

After modification, it can be run successfully

I am using the React Native version and encountered the same problem.
Undefined symbols for architecture arm64 ┌─ Symbol: dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol] └─ Referenced from: ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[arm64][176](WalletViewController.o)

I am using the React Native version and encountered the same problem.
Undefined symbols for architecture arm64 ┌─ Symbol: dispatch thunk of JXSegmentedView.JXSegmentedView.indicators.getter : [__C.UIView & JXSegmentedView.JXSegmentedIndicatorProtocol] └─ Referenced from: ParticleWalletGUI.WalletViewController.(reloadTextAndColor in _36257EB54940F3C40877429E1DD641A7)() -> () in ParticleWalletGUI[arm64][176](WalletViewController.o)

add this to your Podfile.
pod 'JXSegmentedView', '1.3.1'


Training and test set split.

Hi @m-niemeyer , Thanks for your great work and clean code.  I noticed that you uploaded a pre-trained model on all categories. But the dataset split for this pre-trained model is unavailable. Just wondering whether you may release it?

Hi @JasonMilesCS , thanks a lot for your interest in our project!
If you download the datasets, you will find the files "train.lst", "val.lst", "test.lst" in each class folder; these are the train/val/test splits for each class.  I hope this helps a little!

Hi @JasonMilesCS , thanks a lot for your interest in our project!
If you download the datasets, you will find the files "train.lst", "val.lst", "test.lst" in each class folder; these are the train/val/test splits for each class.  I hope this helps a little!

I downloaded this several times but failed since it is too big... I will try it again. Thanks for your reply.

I downloaded this several times but failed since it is too big... I will try it again. Thanks for your reply.


Fix criteria form

Fix https://www.notion.so/rilldata/v0-50-0-QA-114ba33c8f5780bd897ecb99547ed623#114ba33c8f5780c29dbedd81e2cf7f8e
Offer null to width prop in input

The Notion doc is referring to a different element of the form. I'm also not able to reproduce the Notion screenshot to begin with.
As for the last element, it's not really that you want width to be "null", but rather "auto" or some fixed value like "120px". I'd rather not accept null here.
That said, I do see some issues with the Select component not always respecting the width property. I can look into that.
A larger issue is that this form does not appear to function properly. The measure name dropdown for each criteria only ever has one option and the ids are in conflict, so the triggers open up menus in the wrong places (though they do work). That latter one may have only surfaced when moving to shadcn a week or two back.


Incompatible with IEDA latest version 2021.2(IU-212)

@will7200

Pushed out b4b0b1bffab40fb60e2b7961708edcbec9bc1201 to jetbrains should be approved within a couple days.

its on the market now


Switch to a pinned image instead of building the Dockerfile

This allows us to get around the bitrotted notebook environment and avoid
blocking interns. We will eventually have to upgrade to the latest version of
everything, but can defer that until June when we will have more intern support.
This is a workaround for https://github.com/e-mission/em-public-dashboard/issues/37

Images pushed to docker, merging
$ docker push emission/em-public-dashboard-notebook:latest
The push refers to repository [docker.io/emission/em-public-dashboard-notebook]
latest: digest: sha256:7ab909a49c86b72f76120ff5ae9401b33fd7ef412337abf2054422dcfbfadb79 size: 4912

$ docker push emission/em-public-dashboard-notebook:1.0.0
The push refers to repository [docker.io/emission/em-public-dashboard-notebook]
1.0.0: digest: sha256:7ab909a49c86b72f76120ff5ae9401b33fd7ef412337abf2054422dcfbfadb79 size: 4912


Update sdk/spring/spring-reference.yml

Description
As title, this PR is used to update sdk/spring/spring-reference.yml to fit the latest SpringCloudAzure released version: 4.3.0
All SDK Contribution checklist:

[x] The pull request does not introduce [breaking changes]
[x] CHANGELOG is updated for new features, bug fixes or other significant changes.
[x] I have read the contribution guidelines.

General Guidelines and Best Practices

[x] Title of the pull request is clear and informative.
[x] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For more information on cleaning up the commits in your PR, see this page.

Testing Guidelines

[x] Pull request includes test coverage for the included changes.

Hi, @saragluna, @chenrujun. Please help to review this PR.


vscode: Fix file:// URI for gotodef

Looks like we weren't quite prepending a whole file:// URI, which caused goto-def to struggle to find the files when you would run goto-def.
This seems like a new-ish issues, I'm not sure if it's a regression in jakt or a difference in how vscode runs in recent versions.

The git history says it's been like that since https://github.com/SerenityOS/jakt/commit/6da79b2d08da14ad1249432eeef7eeb49a10718a, so a while!

I don't know why it broke recently, then. I know vscode got updated in the last two weeks, so it's possible it no longer lets us cheat on the number of forward slashes 🤔

Works directly by using F12. No links to click though


TEST-#7073: Explicitly check for exceptions in test_default.py

What do these changes do?

[x] first commit message and PR title follow format outlined here

NOTE:  If you edit the PR title to match this format, you need to add another commit (even if it's empty) or amend your last commit for the CI job that checks the PR title to pick up the new PR title.

[x] passes flake8 modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] passes black --check modin/ asv_bench/benchmarks scripts/doc_checker.py
[x] signed commit with git commit -s
[x] Resolves #7073
[ ] tests added and passing
[x] module layout described at docs/development/architecture.rst is up-to-date

BaseOnPython failed


Threat Management Gateway

Hi Brock,
in our environment all incoming external requests are handled by Microsoft TMG, which makes SSL Offload and then internally it goes from TMG to Application Server via HTTP. With such a configuration we cannot make Identity Manager work using current configuration:

Content-Security-Policy

Mixed-Content:
Mixed Content: The page at 'https://xxx/admin/#/users/edit/5ae56d47-7720-4656-971b-e27bfdbcbd37' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://xxx:443/yyy/admin/api/users/5ae56d47-7720-4656-971b-e27bfdbcbd37/roles/QWRtaW5pc3RyYXRvcg'. This request has been blocked; the content must be served over HTTPS.

The problem is that in order to create links for API there is method Url.Link() used. And that method relies on HttpRequest to check what scheme it has (http or https). And when you redirect from TMG to Application Server via http is sees it as HTTP (but HTTPS would be preferred).
For now I manipulated the code and referenced my version of IM and made it work. However, are you planning to make Content-Security-Policy configurable? And as for HTTPS issue maybe I could come up one day with some solution, would it be of any interest to you?

IdMgr was never meant to be a full blown user management system. It's designed for dev time, and internal admin use. In short, I don't have time to address this.
If you want to propose a fix then I can accept a PR for this.


Cancel an Update on an individual instance in a running deployment (not a group)

Hi. We've been using ADU for a while now and have been following its evolution with great enthusiasm! Now, we are stuck on how to cancel an active deployment on single device.
In the Azure Portal, ADU there exists a "cancel deployment" button. When we select a single device in this list and hit "cancel deployment", ALL of the devices in this list receive the action "cancel" as shown in the following log of a device that was not selected in the list.
What we (and others) need, is the mechanism suggested by the user interface in the Portal: cancel the deployment to the selected device(s) only.
Are we missing something? Ideas? THANKS!
[10:54]  2022-05-23T08:39:15.4795Z [D] ComponentName:deviceUpdate, propertyName:service [ADUC_PnP_ComponentClient_PropertyUpdate_Callback] 2022-05-23T08:39:15.4795Z [D] Update Action info string ({"workflow":{"action":255,"id":"nodeployment"},"updateManifest":null,"updateManifestSignature":null,"fileUrls":null}), property version (12) [OrchestratorUpdateCallback] 2022-05-23T08:39:15.4795Z [D] cancellationType(1) => Normal [ADUC_Workflow_HandleUpdateAction] 2022-05-23T08:39:15.4795Z [I] Cancel received with no operation in progress - returning to Idle state [ADUC_Workflow_HandleUpdateAction] 2022-05-23T08:39:15.4795Z [D] PropertyUpdated event handler completed. [ADUC_Workflow_HandlePropertyUpdate] 2022-05-23T08:39:15.4795Z [I] OrchestratorPropertyUpdateCallback ended [OrchestratorUpdateCallback] root@ii-39-ubuntu1804:/var/log/adu#

Unfortunately it is not currently possible to cancel only a single device.  I can see the confusion though with the check boxes next to the devices and will follow up on making it clearer that cancel deployment will cancel all devices in the deployment.

Thanks! Can we expect this option at some point, since we'll need it for MedTec IoT. We'll have to find a workaround in the meantime :-(

Tagging @vimeht for this feedback.

@vimeht
Hi @RichardHubertPtw, closing this issue and tracking this: https://github.com/Azure/iot-hub-device-update/discussions/290 for future release. For other users, please upvote if this a feature you would like to see supported as this helps us prioritize it in future releases


Can remix coins be unconfirmed?

In the Inpute Registration Phase, the paper says These inputs must be unspent, confirmed and mature.
However, in current zero link, because of the segwit malleability fix, previous CoinJoin outputs CAN be unconfirmed at the point when they are registered for re-mixing.
Is this possible in the new scheme too?

We'll go with the assumption that they cannot and may relax it later.


feat: Add Volumes and VolumeMounts to venafi-kubernetes-agent chart

Based on @aidy's input in this comment, can we also add volumes and mounts to the venafi-kubernetes-agent chart as well.

This is done now, so closing out, thank you @maelvls


[RFE] Failover to other OpenLdap Server in case the primary fails

Is your feature request related to a problem? Please describe.
One of our openldap servers was serving an incorrect certificate (certificate was missing an alternative name), resulting in Rancher rejecting the connection with the following error:
API error response 500 for POST /v3-public/openLdapProviders/openldap?action=login. Cause: Error creating ssl connection: LDAP Result Code 200 "Network Error": x509: certificate is valid for xxx, not yyy.
This error did keep popping up, even if we had multiple servers (six in this case) configured in the Rancher OpenLdap configuration.
Describe the solution you'd like
I would expect that once Rancher can't connect to one of the OpenLdap Servers, it switches the next attempt to a new configured server.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Reopen


Services: first build: abs added

Checklist

[ ] Used a fork of the feedstock to propose changes
[ ] Bumped the build number (if the version is unchanged)
[ ] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[ ] Ensured the license file is being packaged.

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_9b0zefnh1g/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
clone/recipe/meta.yaml:15: avoid_noarch: noarch: python packages should be avoided

===== ERRORS =====

clone/recipe/meta.yaml:41: missing_documentation: The recipe is missing a doc_url or doc_source_url
clone/recipe/meta.yaml:15: pip_install_args: pip install should be run with --no-deps and --no-build-isolation.
clone/recipe/meta.yaml:41: missing_dev_url: The recipe is missing a dev_url
clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
===== Final Report: =====
5 Errors and 2 Warnings were found

Linter check found the following problems:
ERROR conda.cli.main_run:execute(125): `conda run conda-lint /tmp/abs_6bj6yrnj56/clone` failed. (See above for error)
The following problems have been found:
===== WARNINGS =====

clone/recipe/meta.yaml:21: host_section_needs_exact_pinnings: Linked libraries host should have exact version pinnings.
clone/recipe/meta.yaml:15: avoid_noarch: noarch: python packages should be avoided

===== ERRORS =====

clone/recipe/meta.yaml:28: missing_pip_check: For pypi packages, pip check should be present in the test commands
clone/recipe/meta.yaml:41: missing_documentation: The recipe is missing a doc_url or doc_source_url
clone/recipe/meta.yaml:21: missing_wheel: For pypi packages, wheel should be present in the host section
clone/recipe/meta.yaml:41: missing_dev_url: The recipe is missing a dev_url
===== Final Report: =====
4 Errors and 2 Warnings were found


fix readonly modifier in class properties

This PR fixes a small issue with readonly that can be reproduced with the following snippet:
export class Foo {
    static foo: number;
    private static readonly bar: string;
    protected static readonly qux = async () => void 0;
    readonly quux: string;
    private readonly quuz: string;
}

interface Point {
    readonly x: number;
    readonly y: number;
}

Note that some of the readonly modifiers do not receive highlighting.
This fixes that.
Let me know if you have any questions.

Thanks!


azure-devops-project-url must have no trailing slash

See https://github.com/Azure/pipelines/issues/16 for the details.
The documentation doesn't disclose the fact that azure-devops-project-url must have no trailing slash, otherwise an error will occur:

##[error]Failed to parse project url:

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

ID: 78ea192f-6f71-4f46-895a-9ea1c106d6c1
Version Independent ID: fdbc829d-e137-11c6-c35f-626970e44cef
Content: Trigger a pipeline run from a GitHub action - Azure Pipelines
Content Source: docs/pipelines/ecosystems/github-actions.md
Product: devops
Technology: devops-cicd-ecosystems
GitHub Login: @juliakm
Microsoft Alias: jukullam

Thanks @abatishchev! I'll update the article to make this clearer.


Making a lot of changes

This is more of a notification of intent since I'm doing a lot of stuff you might not agree with (like porting to CoffeeScript), however, our goal is to increase test coverage so we can use it as a central component to another library we're working on. Details in the modified readme.

hi,
Comments on your proposed changes
Better mocking of a Stomp WebSocket server
=> very good idea
I'd keep integration tests with real WebSocket servers such as HornetQ or ActiveMQ but the test coverage would be much better if the server is mocked
Node.js based testing
=> very good idea too. Again, I'd keep high-level integration tests to check web browsers behavior but using node.js could help automate and improve the tests
Stomp/1.1 compatibility
=> that was on my todo list but I don't have spare time to work on it.
=> you should also check out https://github.com/projectodd/stilts/blob/master/stomp-client-js/src/main/java/stilts-stomp.js
Bob McWhirter has forked/copied stomp-websocket too and started implementing STOMP 1.1 too. I was planning to let him do the job and merging it back into stomp-websocket
Rewrite in CoffeeScript (most contentious, I'm sure)
=> I'm all for it if it makes for cleaner / more maintenable code
I don't have a lot of experience in CoffeeScript but I like what I see.
=> As long as we produce a working JavaScript to be used as is, I'm +1 to move to CoffeeScript (that'd be a good opportunity to learn the language)
=> From what I understand, you have started rewriting it CoffeeScript but kept the
Pluggable WebSocket objects (MozWebSocket, JsSock)
=> +1 I had a request to do that and I had not time to do it yet
Actually, my only contention point before doing that is to ensure that the doc is in sync with the code and there is a linkable javascript that can be downloaded
Apart from this minor point, all your changes are great! :)

Excellent. I'll make sure I meet your requirements and I'll ping you again here when it's ready for you to actually pull.

Okay, it's ported to CoffeeScript and it has tests that can be run from the command line. Your tests are passing, the readme is updated, and I think it's ready to be pulled. :)

hi,
sorry for the long delay: i was away from keyboard for a long weekend.
I'll review your stuff and pull it. I don't know a lot about coffeescript. I'll make for a good introduction :)

Hi Jeff,
I've pulled your request in the master and updated the doc. Everything looked good.
It's great to have some mock tests to check the code behaviour :)
I tried to backport the support for Firefox WebSockets (see issue #4) but I am not able to have it work in Firefox.
Could you double check the code I added to stomp.coffee? Apparently Firefox does not consider it correct and produces an error on this.ws = new klass(this.url);
=> TypeError: klass is not a constructor
Should I write differently the CoffeeScript code to determine which WebSocket constructor must be called in https://github.com/jmesnil/stomp-websocket/commit/b74fb34a785cd3312e1eea47a7c25f6c18483c04
thanks for the great contribution :)


refactor package names

new name should start with org.cameltooling as we are not allowed to use org.apache.*

done via #10


fix(renderer): ensure previous errors are cleared before rendering ne…

…w errors
Fix for #39
This is the simplest fix for this issue, however it also doesn't feel particularly good, as we constantly have to destroy and recreate elements, that may be exactly the same.
I will see if I can come up with a nicer way of not wasting that effort.

@EisenbergEffect CLA confirmation request.

CLA Confirmed.


Add a setting to not automatically add braces after procedure names

When entering a procedure name in vs code and accepting the intelli sense, it automatically adds braces and sometimes even a semicolon. This often is not what I want. Is there a setting to disable this behaviour?

No there is none. But it could be a good idea.
Hi,
Please go ahead and post this to our Ideas forum at https://aka.ms/BusinessCentralideas, or vote up the idea if its already there. We're constantly monitoring top Ideas and will consider them for a future release.


Feature/hug

Hug - noun - a component that wraps another component with a border, and places a banner on top.

Codecov Report

Merging #119 into master will not change coverage.
The diff coverage is 100%.

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

@msafari DS_Store is removed.  Not sure how it got in as it was already included in the .gitignore


Rolling argmax and argmin functions

Could you add rolling argmax and argmin functions? Just to return the position of the max/min value.

Hello,
Yes, it is possible, but I don't see the point of having a rolling argmin?
Do you have an example? 😄

Yeah, when calculating some factors in quant finance, the rolling argmin/argmax functions are very useful.

I understand the interest!
Do you want to make the pull request? If not, I can do it next weekend after my holidays 😄
I will also move the repository to https://github.com/online-ml and probably rename the library watermill.

No problem 😄 I'll do it!
I'll ping you when it's done.

Hey, I'm on vacation; I add this issue to my todo list 😄

Hi @testforvln,
I implemented the rolling argmin; the code is here: https://github.com/online-ml/watermill.rs/blob/rolling_argmin/src/argmin.rs
I made some caching to avoid searching the argmin at each update.


What's the recommended way to deploy controllers to prod environments?

Hi,
Thx for putting up this project, it really helped on understand how controller works and as a start point to implement my custom controller.
I have two questions that could really help me finish my project implementation.

As the title of this issue says, what's the recommended way to deploy the controller to a production cluster once it's ready to be shipped? Put it in a docker image and create a deployment? Is there something else to take into consideration before putting the controller intro production?

What's the reason for queuing the object key instead of the actual object in the worker queue here (https://github.com/kubernetes/sample-controller/blob/bf5c061a2037b0c8a0da885e3cca780c92f23503/controller.go#L339-L345). I have a use-case where I need to detect an object deletion and fetch some annotations from the object that's being deleted to perform some actions. I've tried to hook that logic here (https://github.com/kubernetes/sample-controller/blob/bf5c061a2037b0c8a0da885e3cca780c92f23503/controller.go#L253-L259) but since I'm getting the key of the deleted object and not the actual object being deleted I'm not able to do so.  What I did instead is queuing the whole object instead of the key as I didn't see any other way to do this. Is this correct?

Thanks

Because workqueue is for any type. It's better to use the name than a specific type.

Hello, @caoruidong is it a valid answer but it does not cover the use case @marcosnils expressed.
The queue is a general-purpose so it does not require a type, but if you know that only one type will ever get managed by your queue because it is required by your business logic the queue will stay general purpose, or you can have a solid logic that casts what you dequeue until you find what's needed otherwise it triggers an error or it skips.
What I learned is that when you can is great to store just a key because it forces you to fetch a fresh object for a particular resource, in case of multi updates for example.
For complex objects, somebody else will change its state along the way, as soon as it gets created.
The problem you are facing with the delete action is legit and I think it is safe to inject the entire resource if you can accept that at the point the worker will get the resource it won't be in its real state. Because you are likely enqueuing an object that is in termination state but when you dequeue it, it is terminated, but you still get it in termination.
Eventual consistency is hard but if you deeply know your use case and that's fine for you I think there is nothing bad about enqueueing the concrete object, but I am happy to be wrong here.


Having an issue with WifiConnection.py

I am using python 3.9 and I am new to pyparrot. When trying to connect to my Bebop 2 I come across the following error:
File "C:\Users\Michael\AppData\Local\Programs\Python\Python39\lib\site-packages\pyparrot\networking\wifiConnection.py", line 314, in _handshake
self.drone_ip = ipaddress.IPv4Address(self.connection_info.address).exploded
AttributeError: 'ServiceInfo' object has no attribute 'address'
The code bringing up the issue is

I have looked up which attributes should replace self.connection_info.address and tried self.connection_info.addresses, self.connection_info.addresses_by_version(), self.connection_info.parsed_addresses()
and each of those bring different errors.
Any help to resolving this issue would be great, thanks.

I have the same issue with Bebop 2...

I have the same issue with Bebop 2...

For anyone else who gets this error, it is solved by reverting to an earlier version of zeroconf. This is done easily in pip via the command pip install zeroconf==0.20.0 Now I reverted to 0.20.0 and it worked instantly but I dont know what the most up to date version of zeroconf this will work with.

Hello,
In my case we have solved this issue using this sentence against the Sphinx simulator (within a WMWare VirtualBox using WiFi dongle compatible Tp.link)
self.bebop = Bebop(drone_type="Bebop2", ip_address="<IP_ADDRESS>")
and
self.bebop = Bebop(drone_type="Bebop2", ip_address="<IP_ADDRESS>") against the real bebop2 (using Administrator permissions and disconnecting any firewall/antivirus/spyware)
Cheers,
roverico

I solved the issue by downgrading to zeroconf version 0.20.0, but now I get a new problem:
ConnectionRefusedError: [Errno 61] Connection refused
:(
any help please? :)

There was a change in zeroconf, where you have to change all instances of
self.connection_info.address
to
self.connection_info.addresses[0]
within wifiConnection.py

There was a change in zeroconf, where you have to change all instances of
self.connection_info.address
to
self.connection_info.addresses[0]
within wifiConnection.py

I did this exact thing, I changed all the lines that contains `self.connection_info.address' but it still gives me basically the same error:
AttributeError: 'ServiceInfo' object has no attribute 'addresses'```
I have zeroconf on version 0.20.0.


ISM support

Hello :)
I have one question, are you supporting ISM stream?
When i want to download a files from this manifest for example : https://r.cdn-ncplus.pl/vod/store01/FPL_Y6mY2VScXBCoXRHn6R9K/_/hd4-hssdrm02.ism/manifest
its a error in your software
LOG 2021/03/04
Save Path: C:\N_m3u8DL-CLI_v2.9.5_with_ffmpeg_and_SimpleG\Logs
Task Start: 2021/03/04 13:50:44
Task CommandLine: "C:\N_m3u8DL-CLI_v2.9.5_with_ffmpeg_and_SimpleG\N_m3u8DL-CLI_v2.9.5.exe" "https://asgard-lv-n01.cdn-ncplus.pl/vod/store01/FPL_dC0ev8kji6mVVIVm2jcc/_/hd4-hssdrm02.ism/Manifest" --saveName "Manifest" --enableDelAfterDone --enableBinaryMerge
13:50:44.991 / (NORMAL) Start Parsing https://asgard-lv-n01.cdn-ncplus.pl/vod/store01/FPL_dC0ev8kji6mVVIVm2jcc/_/hd4-hssdrm02.ism/Manifest
13:50:45.325 / (NORMAL) Parsing M3u8 Content
13:50:45.329 / (ERROR) Invalid M3u8 (NOT Contain #EXTM3U)
Is it possible to do something with that case?
Do you know any software which can download a ism 'stream' with DRM?
Thanks!

@nilaoda - can we do something right now? or is it not possible? :(
btw - thanks for your great job!

I found some method to download those video/audio but the extension is 'isma/ismv' but i think it has been merged wrongly because this file is opening.
@nilaoda do you know any method how we can merge binary those files? is it possible to use your software to merge this file? if yes, which command should to be used?
Thank you!

copy /b *.mp4 merge.bin

I think this format in ism downloader is wrong, because as i correct understand your command, we cannot merge binary all those ismv.part files to one ismv/mp4.

Any updates on this one?
I only know "ismdownloader AVC1" which can download smooth streaming videos, but not drm protected files, any idea if this could be supported?

@nilaoda will there be ism support in the next release?


Unity 3D

Under the "Game" section, why don't you have Unity 3D? You can create games in C#

Unity 3D is neither built using .net framework nor using .net framework to run the games. They maintain some level of compatibility with the .net framework and use C# as a scripting language. I'd say it's out of the scope of this list.


script is failing out after calling code that "loads NVM" after using wget or curl

I have this bash script. What I want to do is have it run automatically, non-interactively...it installs NVM and then installs some modules globally.
#!/usr/bin/env bash

DIRN=$(dirname "$0")
echo " => SUMAN TEST PROJECTS => RUNNING '$DIRN'..."
echo " => PWD => $PWD"
OUTPUT_PATH=${PROJECT_ROOT:-$PWD}/npm-install-output.log &&
rm -rf $(dirname "$0")/node_modules &&
wget -qO- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash &&
source ~/.bash_profile &&
export NVM_DIR="/root/.nvm" &&
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  && #  SEEMS TO FAIL HERE
echo "about to install node version 6 with NVM" &&
echo "path to nvm => $(which nvm)" &&
nvm install 6 &&
nvm use 6 &&
echo "about to run npm install --globally" &&
npm install -g github:oresoftware/suman#dev --unsafe-perm --loglevel=warn --progress=false &&
echo "done with npm install" &&
echo "running suman --init" &&
suman --init

you should be able to run it on your system (feel free to sandbox it in a container or something if that suits your fancy).
Anyway, it errors out on the line that says  # SEEMS TO FAIL HERE
Like I was saying earlier on another thread, I don't want this NVM install to be interactive at all....this script is for an automated test. But for some reason when I try to "load" NVM without starting a new terminal session, the script seems to conk out..any ideas?

You've got a whole lot of commands strung together with && - how do you know it's failing on that line? Is whoami root in this scenario? (also nvm use 6 is redundant after nvm install 6)

this might help, here is the stdio of script
=> nvm is already installed in /home/oleg/.nvm, trying to update using git
=> => Compressing and cleaning up git repository

=> Source string already in /home/oleg/.bashrc
npm ERR! extraneous<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/moment
npm ERR! extraneous<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/nightmare
npm ERR! extraneous<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/selenium-webdriver
npm ERR! extraneous<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/suman
npm ERR! invalid<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/suman-debug
npm ERR! invalid<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/suman-utils
npm ERR! extraneous<EMAIL_ADDRESS>/home/oleg/.nvm/versions/node/v7.2.1/lib/node_modules/suman/node_modules/webpage
=> You currently have modules installed globally with `npm`. These will no
=> longer be linked to the active version of Node when you install a new node
=> with `nvm`; and they may (depending on how you construct your `$PATH`)
=> override the binaries of modules installed with `nvm`:

/home/oleg/.nvm/versions/node/v7.2.1/lib
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>-> /home/oleg/WebstormProjects/the1mills/clone-all-org-repos
├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>├──<EMAIL_ADDRESS>-> /home/oleg/WebstormProjects/oresoftware/sumanjs/suman
├──<EMAIL_ADDRESS>-> /home/oleg/WebstormProjects/oresoftware/sumanjs/suman-debug
├──<EMAIL_ADDRESS>-> /home/oleg/WebstormProjects/oresoftware/sumanjs/suman-utils
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>
=> If you wish to uninstall them at a later point (or re-install them under your
=> `nvm` Nodes), you can remove them from the system Node as follows:

     $ nvm use system
     $ npm uninstall -g a_module

=> Close and reopen your terminal to start using nvm or run the following to use it now:

export NVM_DIR="/home/oleg/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && . "$NVM_DIR/nvm.sh"  # This loads nvm
 => bash exit code for script '/home/oleg/suman-test/suman-test-projects/subprojects/install-globally-with-nvm/test.sh' => 1

It seems like maybe NVM is forcing the process to close somehow? that doesn't make sense. I am not a shell scripting guru.
It's exiting with code = 1, that is for sure

interesting, I ran this script in a container, vs. running it directly on my machine. It succeeds in a container, but fails when running direct. Not sure why...will investigate. Very strangely, nvm is available at the command line, but if I run the above script it will say, nvm is not an available command.


Mixtral support ?

I would like to ask (if not already planned) to support Mixtral from MistralAI
https://docs.mistral.ai/models/
Thank you

Already supported
@muka https://huggingface.co/TheBloke/Mixtral-8x7B-v0.1-GGUF

Awesome! Will check it out, thanks

Guess who was wrong... This girl... Hi hello I was confused that was not the model I was thinking about. They seem to have a newer copy of LLama being used @muka / @mudler

llamacpp pull req for reference
https://github.com/ggerganov/llama.cpp/pull/4406

llamacpp pull req for reference ggerganov/llama.cpp#4406

The pr has been merged. We can update llama.cpp.

Could we also get params for: Keys.LLM.EXPERT_COUNT and Keys.LLM.EXPERT_USED_COUNT  in the config when loading?

this in our documentation: https://docs.localai.org/en/latest/custom-backends.html#creating-a-custom-backend. If you

Just to let you know this link points to an unreachable (?) domain .org, instead of .io

this in our documentation: https://docs.localai.org/en/latest/custom-backends.html#creating-a-custom-backend. If you

Just to let you know this link points to an unreachable (?) domain .org, instead of .io

Thats a AI, its wrong

this PR: https://github.com/mudler/LocalAI/pull/1440 actually updated llama.cpp to point to latest, so master now should work with mixtral

Given that this is the only Mixtral related issue in this repository I will share my issues that I ran into here. All thanks to @lunamidori5 who helped me on Discord.
I tried to setup TheBloke/Mixtral-8x7B-v0.1-GGUF within LocalAI and went into a complete rabbit hole to setup my chat template which didn't want to work. An hour wasted until Luna recomended to use TheBloke/dolphin-2.5-mixtral-8x7b-GGUF instead. This one works with the Luna demo chat template as can be found here: https://localai.io/howtos/easy-model/ After this it worked flawlessly!
I'll share my config just in case someone needs it in the future, running on an RTX3090.
context_size: 4000
name: dolphin-2.5-mixtral-8x7b.Q4_K_M.gguf
parameters:
  model: dolphin-2.5-mixtral-8x7b.Q4_K_M.gguf
  temperature: 0.2
  top_k: 80
  top_p: 0.7
template:
  chat:  chat-block
  chat_message: chat
  completion: completion
backend: llama-cpp
f16: true
gpu_layers: 28

Haven't played with any numbers yet other then the gpu_layers.


AND-7580 - Only calculate initials view size after it was drawn

When the pincode is enabled, the initials view gets attached to the
fragment, but not drawn. This was causing a crash while calculating the
initials view size. This commit should fix that issue

Hi @rgcorrea, thanks for the pull request. Before we can merge it, we need you to sign our Contributor License Agreement. You can do so electronically here: http://opensource.box.com/cla
Once you have signed, just add a comment to this pull request saying, "CLA signed". Thanks!

Awesome bug fix!

+1


added 25 RUs to the howto-scale-media-services and updated the WAMS_Scale image

made another small update (added a frame to the image)

@Juliako Thank you for raising this issue.  We're closing old issues.  If you feel this issue should remain open, please comment to let us know that the issue should be reopened.


Release QtAwesome 1.3.0

Creating this to check if there are any comments/questions for the up coming release

Closing this to proceed with the release!


kubectl top node/top no longer working

Environmental Info:
K3s Version:
k3s version v1.18.9+k3s1 (630bebf9)
Node(s) CPU architecture, OS, and Version:
Linux raspberrypi1 5.4.51-v7l+ #1333 SMP Mon Aug 10 16:51:40 BST 2020 armv7l GNU/Linux
Cluster Configuration:
1 master node w/ 3 worker nodes. All on Raspberry PI (32bit)
kubectl v1.18.8 installed from home-brew, running on MacOS 10.15.7
Describe the bug:
Since yesterday, kubectl node & top no longer work.  When I run them I get the following error:
$ kubectl top node
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)
$ kubectl top node
Error from server (NotFound): the server could not find the requested resource (get services http:heapster:)

Expected behavior:
kubectp shows node/pod resource consumption.
Actual behavior:
Error stated above
Additional context / logs:
Not really sure what changed that could have caused. The only things I can remember doing were:

changed prometheus to install from helm chart
removed kubernetes-dashboard using the documented uninstall procedure

At a loss what could be causing this.  If I can provide more info, please let me know.

no clue what happened, but after rebooting the mgr node, the problem went away.


refactor: desugar BinaryExpr and UnaryExpr

Makes sense. Could this negatively effect our error messages? It might confuse users if some error speaks of std.add when they've used +.

It might confuse users if some error speaks of std.add when they've used +.

True. The same goes for the pipelines. When we encounter this, I can add rules for converting std.add into + in restrict_expr.


Remove histogram::Histogram from public API

Ref: https://github.com/scylladb/scylla-rust-driver/issues/771
Motivation
histogram is an unstable crate and the types introduced by this crate need to be removed from our public API. The only type being used is histogram::Histogram.
It's exposed publicly via MetricsError::Poison. However, the MetricsError::Poison value is never constructed since we always unwrap the PoisonError when trying to acquire the lock.
Changes
Removed MetricsError::Poison and refactored MetricsError to be a struct holding an error cause (&'static str returned from the histogram::Histogram API).
Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[ ] I added relevant tests for new features and bug fixes.
[ ] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[ ] I have provided docstrings for the public items that I want to introduce.
[ ] I have adjusted the documentation in ./docs/source/.
[ ] I added appropriate Fixes: annotations to PR description.

Curious, this was quite an obvious breaking change (removal of an enum variant in a public struct) but the semver checks job didn't report anything.

Something went wrong when running the check:

Not sure what went wrong, but the CI job with the semver check should fail and not pass. I'll create an issue about that.
In any case, this is not a blocker for merge.


Two different styles of Tensorflow implementation for the same network architecture lead to two different results and behaviors?

OS Platform: Linux Centos 7.6
Distribution: Intel Xeon Gold 6152 (22x3.70 GHz);
GPU Model: NVIDIA Tesla V100 32 GB;
Number of nodes/CPU/Cores/GPU: 26/52/1144/104;
TensorFlow installed from (source or binary): official webpage
TensorFlow version (use command below): 2.1.0
Python version: 3.6.8

Description of issue:
While I was implementing my proposed method, using the second style of implementation (see below), I realized that the performance of the algorithm is indeed strange. To be more precise, the accuracy decreases and loss value increases while the number of epochs increases.
So I narrow down the problem and finally, I decided to modify some codes from TensorFlow official page to check what is happening. As it is explained in TF v2 official webpage there are two styles of implementation which I have adopted as follows.

I have modified the code provided in "getting started of TF v2" the link below:
TensorFlow 2 quickstart for beginners

as follows:
import tensorflow as tf
from sklearn.preprocessing import OneHotEncoder
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
learning_rate = 1e-4
batch_size = 100
n_classes = 2
n_units = 80
# Generate synthetic data / load data sets
x_in, y_in = make_classification(n_samples=1000, n_features=10, n_informative=4, n_redundant=2,
                                 n_repeated=2, n_classes=2, n_clusters_per_class=2, weights=[0.5, 0.5],
                                 flip_y=0.01, class_sep=1.0, hypercube=True,
                                 shift=0.0, scale=1.0, shuffle=True, random_state=42)

x_in = x_in.astype('float32')
y_in = y_in.astype('float32').reshape(-1, 1)

one_hot_encoder = OneHotEncoder(sparse=False)
y_in = one_hot_encoder.fit_transform(y_in)
y_in = y_in.astype('float32')

x_train, x_test, y_train, y_test = train_test_split(x_in, y_in, test_size=0.4, random_state=42, shuffle=True)
x_test, x_val, y_test, y_val = train_test_split(x_test, y_test, test_size=0.5, random_state=42, shuffle=True)
print("shapes:", x_train.shape, y_train.shape, x_test.shape, y_test.shape, x_val.shape, y_val.shape)

V = x_train.shape[1]

model = tf.keras.models.Sequential([
    tf.keras.layers.Dense(n_units, activation='relu', input_shape=(V,)),
    tf.keras.layers.Dropout(0.2),
    tf.keras.layers.Dense(n_classes)
])

loss_fn = tf.keras.losses.BinaryCrossentropy(from_logits=True)

model.compile(optimizer='adam',
              loss=loss_fn,
              metrics=['accuracy'])

model.fit(x_train, y_train, epochs=5)

model.evaluate(x_test, y_test, verbose=2)

the output is as it is expected, as one can see below:
600/600 [==============================] - 0s 419us/sample - loss: 0.7114 - accuracy: 0.5350
Epoch 2/5
600/600 [==============================] - 0s 42us/sample - loss: 0.6149 - accuracy: 0.6050
Epoch 3/5
600/600 [==============================] - 0s 39us/sample - loss: 0.5450 - accuracy: 0.6925
Epoch 4/5
600/600 [==============================] - 0s 46us/sample - loss: 0.4895 - accuracy: 0.7425
Epoch 5/5
600/600 [==============================] - 0s 40us/sample - loss: 0.4579 - accuracy: 0.7825
test: 200/200 - 0s - loss: 0.4110 - accuracy: 0.8350
To be more precise, the training accuracy increases and the loss value decrease as the number epochs increases (which is expected and it is normal).
HOWEVER, the following chunk of code which is adapted from the link below:
TensorFlow 2 quickstart for experts
as follows:
import tensorflow as tf
from sklearn.preprocessing import OneHotEncoder
from sklearn.datasets import make_classification
from sklearn.model_selection import train_test_split
learning_rate = 1e-4
batch_size = 100
n_classes = 2
n_units = 80
# Generate synthetic data / load data sets
x_in, y_in = make_classification(n_samples=1000, n_features=10, n_informative=4, n_redundant=2,
                                 n_repeated=2, n_classes=2, n_clusters_per_class=2, weights=[0.5, 0.5],
                                 flip_y=0.01, class_sep=1.0, hypercube=True,
                                 shift=0.0, scale=1.0, shuffle=True, random_state=42)

x_in = x_in.astype('float32')
y_in = y_in.astype('float32').reshape(-1, 1)

one_hot_encoder = OneHotEncoder(sparse=False)
y_in = one_hot_encoder.fit_transform(y_in)
y_in = y_in.astype('float32')

x_train, x_test, y_train, y_test = train_test_split(x_in, y_in, test_size=0.4, random_state=42, shuffle=True)
x_test, x_val, y_test, y_val = train_test_split(x_test, y_test, test_size=0.5, random_state=42, shuffle=True)

print("shapes:", x_train.shape, y_train.shape, x_test.shape, y_test.shape, x_val.shape, y_val.shape)

training_dataset = tf.data.Dataset.from_tensor_slices(
    (x_train, y_train)).batch(batch_size)

valid_dataset = tf.data.Dataset.from_tensor_slices(
    (x_val, y_val)).batch(batch_size)

testing_dataset = tf.data.Dataset.from_tensor_slices(
    (x_test, y_test)).batch(batch_size)

V = x_train.shape[1]

class MyModel(tf.keras.models.Model):
    def __init__(self):
        super(MyModel, self).__init__()
        self.d1 = tf.keras.layers.Dense(n_units, activation='relu', input_shape=(V,))
        self.d2 = tf.keras.layers.Dropout(0.2)
        self.d3 = tf.keras.layers.Dense(n_classes,)

    def call(self, x):
        x = self.d1(x)
        x = self.d2(x)
        return self.d3(x)

# Create an instance of the model
model = MyModel()

loss_object = tf.keras.losses.BinaryCrossentropy(from_logits=True)

optimizer = tf.keras.optimizers.Adam()

train_loss = tf.keras.metrics.Mean(name='train_loss')
train_accuracy = tf.keras.metrics.BinaryCrossentropy(name='train_accuracy')

test_loss = tf.keras.metrics.Mean(name='test_loss')
test_accuracy = tf.keras.metrics.BinaryCrossentropy(name='test_accuracy')

@tf.function
def train_step(images, labels):
    with tf.GradientTape() as tape:
        # training=True is only needed if there are layers with different
        # behavior during training versus inference (e.g. Dropout).
        predictions = model(images,)  # training=True
        loss = loss_object(labels, predictions)
    gradients = tape.gradient(loss, model.trainable_variables)
    optimizer.apply_gradients(zip(gradients, model.trainable_variables))

    train_loss(loss)
    train_accuracy(labels, predictions)

@tf.function
def test_step(images, labels):
    # training=False is only needed if there are layers with different
    # behavior during training versus inference (e.g. Dropout).
    predictions = model(images,)  # training=False
    t_loss = loss_object(labels, predictions)

    test_loss(t_loss)
    test_accuracy(labels, predictions)

EPOCHS = 5

for epoch in range(EPOCHS):
    # Reset the metrics at the start of the next epoch
    train_loss.reset_states()
    train_accuracy.reset_states()
    test_loss.reset_states()
    test_accuracy.reset_states()

    for images, labels in training_dataset:
        train_step(images, labels)

    for test_images, test_labels in testing_dataset:
        test_step(test_images, test_labels)

    template = 'Epoch {}, Loss: {}, Accuracy: {}, Test Loss: {}, Test Accuracy: {}'
    print(template.format(epoch + 1,
                          train_loss.result(),
                          train_accuracy.result(),
                          test_loss.result(),
                          test_accuracy.result()))

Behaves indeed strange. Here is the output of this piece of code:
Epoch 1, Loss: 0.7299721837043762, Accuracy: 3.8341376781463623, Test Loss: 0.7290592193603516, Test Accuracy: 3.6925911903381348
Epoch 2, Loss: 0.6725851893424988, Accuracy: 3.1141700744628906, Test Loss: 0.6695905923843384, Test Accuracy: 3.2315549850463867
Epoch 3, Loss: 0.6256862878799438, Accuracy: 2.75959849357605, Test Loss: 0.6216427087783813, Test Accuracy: 2.920461416244507
Epoch 4, Loss: 0.5873140096664429, Accuracy: 2.4249706268310547, Test Loss: 0.5828182101249695, Test Accuracy: 2.575272560119629
Epoch 5, Loss: 0.555053174495697, Accuracy: 2.2128372192382812, Test Loss: 0.5501811504364014, Test Accuracy: 2.264410972595215
As one can see, not only the values of accuracy are strange but also instead of increasing, once the number of epochs increase, they decrease? Please note the strange behaviour of loss value.
May you please explain what is happening here?

Note that tf.keras.metrics.BinaryCrossentropy does not compute accuracy -- it computes just crossentropy (which would be 0 for 100% accurate output). Try using tf.keras.metrics.BinaryAccuracy for {train,test}_accuracy. Also, you should pass the training=True/False parameter you have commented out.

@Sorooshi
Please update as per above comment.

I made the following changes:
loss_object = tf.keras.metrics.BinaryCrossentropy(from_logits=True)
@tf.function
def train_step(images, labels):
with tf.GradientTape() as tape:
# training=True is only needed if there are layers with different
# behavior during training versus inference (e.g. Dropout).
predictions = model(images, training=True)
loss = loss_object(labels, predictions)
gradients = tape.gradient(loss, model.trainable_variables)
optimizer.apply_gradients(zip(gradients, model.trainable_variables))
Here is
TypeError: call() got an unexpected keyword argument 'training'
And if I pass:
predictions = model(images,) i.e comment training=True I face the following error:
ValueError: No gradients provided for any variable: ['my_model/dense/kernel:0', 'my_model/dense/bias:0', 'my_model/dense_1/kernel:0', 'my_model/dense_1/bias:0'].

@Sorooshi
Please refer to these links for the error "ValueError: No gradients provided for any variable:"
and let us know. link link1 link1 link2

@sorooshi Also, your MyModel.call needs to accept the training argument and pass it to d1, d2 and d3 calls, as a named argument, i.e., self.d1(x, training=training).

@foxik why in the original code (link below) the author did not write the code as you pointed out?
https://github.com/tensorflow/tensorflow/issues/41162

@foxik @Saduf2019
Regarding this link initially I was correct. Any Ideas?

@sorooshi There are several problems with your approach, but as far as I can tell, there is no bug in Tensorflow.
Generally, these types of questions (you implemented something and it does not what you expect) are better asked at places like Stack Overflow; these issues are meant to report bugs in Tensorflow itself.
But to answer your question -- here is your original code imported in Colab and here is a modified working version of your code. The notable problems addressed in the modified version are:

use accuracy for the metrics, instead of the crossentropy you use

when you have 2 outputs and one-hot encoded lables, the loss should be CategoricalCrossentropy and the metrics CategoricalAccuracy.

the BinaryCrossentropy, which you used, is appropriate when you have 1 output neuron and labels 0/1.
Even so, if you use BinaryCrossentropy(from_logits=True), the appropriate metric is tf.metrics.BinaryAccuracy(threshold=0.0), because when the sigmoid activation function is not used in the model, the threshold for distinguishing the two classes becomes 0.0 instead of the default 0.5 (given that sigmoid(0.0) = 0.5).

SparseCategorical{Crossentropy,Accuracy} would be suitable if you used numbers 0/1 as labels (i.e., the onehot encoding for y would not be used)

the version with model.fit actually shuffles the data, so you should add .shuffle call to your training dataset

the model.fit version implicitly uses batch_size=32, while the manual version used 100, which made the training slower and the results comparatively worse in the 5 epochs (but they would be comparable after ~100 epochs or so)

because you use a Dropout layer, it is important to correctly pass the training argument (which was not needed in the original Quickstart for experts without a Dropout layer)

With all these, the results are very similar.
@Saduf2019 I believe this can be closed.

@Sorooshi
Please confirm if we may move this to closed status.

Dear @foxik
Thank you very much for your help and reply.
In your first reply, I understood my blunder about mistakenly using BinaryCrossEntropy instead of BinaryAccuracy (during the evaluation)
But still, my question about passing training argument exist.
Concretely, I even copied and pasted your code into Pycharm and I tried to run it locally (not in Colab nor Jupyter Notebook) and I receive the following error:
TypeError: call() got an unexpected keyword argument 'training'
@Saduf2019 I think yes we could move to closed status (it was my blunder and I apologize for it)
However, if I do not understand why the aforementioned issue about the training argument occurs I will open another issue:) (unless someone could reply to me on this issue)
PS:
To @foxik and other people you may read this later:

As about shuffling the data, once you split them or even during the generation process, they will be shuffled by default.

As batch_size you are correct not only larger batch size increases the execution time but apparently (at this in this data set) the larger the batch size the lower the accuracy.

I have found the problem about the passing training argument thanks to this link:
here is how the call function should be:
def call(self, x, training=False):
x = self.d1(x)
if training:
x = self.d2(x, training=training)
return self.d3(x)


Update Flutter ExampleApp docs

Update the example app docs in doc/guide/ExampleApp.md to reflect the latest version of the example app.
It should be done after tiki/tiki-sdk-flutter#138

The examples changed. Won't fix now.


How do you create class instance?

Hello. I have a code like this:
#![feature(proc_macro, specialization, const_fn, proc_macro_path_invoc)]

extern crate pyo3;

use std::format;

use pyo3::prelude::*;
use pyo3::py::modinit;

#[py::class]
struct BhBin {
    #[prop(get, set)]
    start: f64,

    token: PyToken,
}

#[py::methods]
impl BhBin {
    #[new]
    fn __new__(obj: &PyRawObject, start: f64) -> PyResult<()> {
        obj.init(|token| {
            BhBin {
                start: start,
                token: token
            }
        })
    }
}

and it works fine. I can create new instances from python without any problem. But how do I create instance from rust? How can I call __new__ from rust, when I want to create new instance?
I am trying to call it from another method of another "class":
fn bins_from_poly_segment(&mut self, py: Python, segment: PyObject) {
    let b = // .. what should I put here?
}

I've tried to look into documentation and examples, but I was unable to find anything.

Oh, nevermind. I've used this:
py.init(|t| BhBin::new(start, end, y, t))?

and added new as static method.


Upgrade complete

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


incomplete substituters file

Describe the bug
I think the incompleteness of
  nixConfig.substituters = [ "https://nrdxp.cachix.org" ];
confuses nix, I follow nixos-unstable with my pkgs and had to add
# add links for binary caches here
  nixConfig.substituters = [
    "https://cache.nixos.org/"
    "https://nrdxp.cachix.org"
    "https://nix-community.cachix.org"
  ];

to again use the binary cache.
To Reproduce
Use flakes

maybe switch to nixos.url = "nixpkgs/nixos-unstable";
rebuild system

To Fix
add
  nixConfig.substituters = [
    "https://cache.nixos.org/"
    "https://nrdxp.cachix.org"
    "https://nix-community.cachix.org"
  ];

Expected behavior
have completer substituters (or none?).
Also I am a bit confused, do we still rely on the cachix configuration -- if not I think it should be deleted for it to be less confusing.
I think this PR is related: https://github.com/nrdxp/nixflk/pull/71.

Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.

After reviewing upstream, this config isn't even sent to the daemon yet. Once it is, we should unify the nix.conf everywhere using this mechanism, but for now it's causing issues with no benefit and should simply be reverted.
https://github.com/NixOS/nix/commit/343239fc8a1993f707a990c2cd54a41f1fa3de99#diff-3a977e1e533a3b628a371bf19103f87d5501dc35df5fb1142551a9896cf3b03aR539

After reviewing upstream, this config isn't even sent to the daemon yet. Once it is, we should unify the nix.conf everywhere using this mechanism, but for now it's causing issues with no benefit and should simply be reverted.
https://github.com/NixOS/nix/commit/343239fc8a1993f707a990c2cd54a41f1fa3de99#diff-3a977e1e533a3b628a371bf19103f87d5501dc35df5fb1142551a9896cf3b03aR539

Closing this, I believe substituters in nixConfig and cachix profile are good to go. Feel free to re-open if this still needs some work.


DOC: Release note link and format correction

Looks good to me! (so you can merge :-))

Thanks to review!


Port Classic Associations view from proof-of-concept to Alpha verison

Can we please begin an initial porting of the Classic Associations view developed by Gareth in the proof-of-concept to the alpha branch using the dev branch of the GraphQL API?
Notes:

Investigate the possibility of using the table component as it contains many features that would be useful (e.g. download, server-side pagination and search, responsive columns, etc.)
Round scores to 2 decimal places (note: this means the exponent values will become 0)
Drop the Tractability columns (e.g. on the Crohn's disease association page)
There are 7 data types that we currently show in the associations heat map (e.g. EGFR associations)

[
  "genetic_association",
  "somatic_mutation",
  "known_drug",
  "affected_pathway",
  "rna_expression",
  "literature",
  "animal_model"
]

Key assumptions:

The length of the idPerDT array and the scorePerDT array are the same
The order of the entries in the idPerDT array corresponds to the entries in the scorePerDT
Repeated entries in either the idPerDT or scorePerDT have the same score
For every cell in the heat map, the default score is 0 unless the GraphQL API returns a score for that specific cell

@mirandaio, there is now a query endpoint called associationDatasources that will expose the data sources and data types.

@mirandaio, based on our team meeting on Wednesday, please see below for some key design considerations for an initial version of the classic associations page (in-progress).
Association score

For the score used in each cell and displayed in the on-hover tooltip, please round to two decimal points

Heat map colours

Please outline the cells in the heat map using #eeefef
Please use #1f5279 as the darkest colour when the score is 1 and please #e8edf1 as the lightest colour when the is 0. If there is no data, please show #fff
Please have the colour in the cells a 10% tint for each 0.1 step/band in the association score - see ColorHex #1f5279 and the table below for tint hex codes if we cannot do it programmatically using the SASS tint function:

Association score band
Colour code

0 - 0.1
#e8edf1

0.11 - 0.2
#d2dce4

0.21 - 0.3
#bbcbd6

0.31 - 0.4
#a5b9c9

0.41 - 0.5
#8fa8bc

0.51 - 0.6
#7897ae

0.61 - 0.7
#6285a1

0.71 - 0.8
#4b7493

0.81 - 0.9
#356386

0.91 - 1
#1f5279

Column order

Please implement the order found in the current Angular version of the Platform - Overall Association Score, Genetic associations, Somatic mutations, Drugs, Pathways & systems biology, RNA expression, Text mining, Animal models

Disease names

Please truncate long disease names and show the first 40 characters with the full disease name shown in a tooltip when the user hovers over the name
Please right-align the disease name column

Therapeutic area

Please drop this column for now

Heat map cell interactions

When a user hovers over a cell, please show Score: n in a tooltip, where n is the association score rounded to two decimal points
When a user clicks on a cell, please link to the existing evidence page in the Angular version of the Platform (e.g. https://www.targetvalidation.org/evidence/ENSG00000282608/EFO_0000341). Please note that the current interaction in the Angular version of the Platform where the link is to a specific point on the page is not needed - this feature will be deprecated in the Alpha version as we are unable to link to specific sections of the page.

Default number of rows shown

Please update the default settings so that the table shows 50 entries when a user first visits the associations page

Legend

Please create a legend that is similar to the one used in the current associations page in the Angular version of the Platform

Other features

Search, sorting, facets, and data downloads will come pending further back-end API work

Note: the key design considerations comment above has been updated with feedback from @d0choa about linking to specific sections of the evidence page in the Angular version of the Platform and the order of the columns in the heat map


Select type of collection

Is it possible to make selectable type of collection like array or object. Example from VueFire is below:
var db = firebaseApp.database()

var vm = new Vue({
  el: '#demo',
  firebase: {
    // simple syntax, bind as an array by default
    anArray: db.ref('url/to/my/collection'),
    // can also bind to a query
    // anArray: db.ref('url/to/my/collection').limitToLast(25)
    // full syntax
    anObject: {
      source: db.ref('url/to/my/object'),
      // optionally bind as an object
      asObject: true,
      // optionally provide the cancelCallback
      cancelCallback: function () {},
      // this is called once the data has been retrieved from firebase
      readyCallback: function () {}
    }
  }
})

Hi @asankulov.
When you define your source in the firestore function, vue-firestore automatically binds this source as an array if it is a collection, otherwise vue-firestore will bind it as an object.

May you explain about binding as object or give some example?

Hello @asankulov.
Originally Vue-firestore binds collections as an array of documents (Array of objects). [{obj1}, {obj2}, {obj3}]
and binds documnets as a single object.
Example:
....
firestore() {
    return {
        cars: firestore.collection('cars'), // Array of documents.
        ford: firesotre.doc('cars/ford') // Single document.
    }
}
....

Results:
console.log(this.cars)
// [{.key: "mercedess", model: "2015"}, {.key: 'ADF783Sf1lz40zvVv1d2', model: "2001"}, ......]

console.log(this.ford)
// {.key: "ford", model: "2014"}

And bear in mind that every record we get form the firestore will be indecated with .key property.
Thank you  :)

Ok but I meant not single document I mean full collection. Like ```{'dx3fe4cdef54xsz970':
{model: 'BMW'},
'cr773qcr366crf244fc':
{model: 'Nissan'}
}

yeah, I see, this will be a decent new feature to be implemented, Thanks a lot!

@asankulov, binding collections as an object is available with the new release 0.3.1.
Thanks.


Published package contains arrow functions

Describe the bug
Application that uses Norigin-Spacial-Navigation is crashing on non ES6 compliant browsers.
tsconfig.json has target property set to es5, but still produced index.js contains arrow functions that cause crash.
To Reproduce
Steps to reproduce the behavior:

Launch example on browser that has no support for ES6.

Expected behavior
Application that bundles Norigin-Spacial-Navigation should not crash on non ES6 browsers.
Additional context
Some Connected TVs have really low spec :)

Hello @adrian-wozniak
We use this library ourselves on a lot of platforms currently by simply transpiling it as part of the client projects.
However it is a fair point that we could just as well provide a dist that is pre-transpiled, so we will discuss the topic internally and review your PR (#33) accordingly.
Thanks for the contribution, we appreciate it. 🙇


Remove logging.disable from gurobi solve

The gurobi logger will by default both print to console and propogate to the root logger. If the root logger has a handler set this can result in duplicate logs.
Disabling the logging causes a variety of issues such as when code is running in parrallel, or if an error is thrown during the solve.
Instead the user can configure the gurobi logger to not propogate to the root logger.
This PR removes the disabling of the logger and documents how a user can fix the double logging issue.
Let me know if you would like any changes.

Resolves: https://github.com/PyPSA/linopy/issues/159#issuecomment-1725116554

Just spotted the typo in double. I will correct and push again

Fixed the typo


[bug]: Sync timeout after being offline for a while

Background
Describe your issue here.
Mainnet tapd was offline for about a week. After start, I triggered a manual sync, which failed with error:
2023-10-23 16:13:24.392 [WRN] UNIV: encountered an error whilst syncing with server=(universe.ServerAddr) {
 ID: (int64) 1,
 addrStr: (string) (len=32) "universe.lightning.finance:10029",
 addr: (net.Addr) <nil>
}
: %!w(*fmt.wrapError=&{unable to register issuance proofs: unable to register issuance proofs: unable to verify issuance proofs: unable to verify proof: failed to validate proof block header: unable to retrieve block: rpc error: code = Unknown desc = did not get response before timeout 0xc0003d5f40})

Also observed a similar error from the scheduled background sync.
Your environment
tapcli getinfo                                    # version of `tapd`, `lnd`, and network
uname -mrsv                                          # operating system
bitcoind --version || btcd --version # version of `btcd`, `bitcoind`, or other backend

any other relevant environment details

Testing PR https://github.com/lightninglabs/taproot-assets/pull/609 , lnd 0.17.0 with neutrino.
Steps to reproduce
Leave tapd offline for a bit, then try to sync with the default universe.

Looks like we make the header verifier here: https://github.com/lightninglabs/taproot-assets/blob/c7d57c597dfaadf0732a9ffb4bf63152c427f8f8/tapcfg/server.go#L129
I think it's a timeout issue on the neutrino side of things. The block takes to long to fetch, or if all your peers are pruned then maybe they don't have the block.

https://github.com/lightningnetwork/lnd/pull/8111 will be used to retrieve the header information even if the neutrino backend doesn't have the full block.

Tracking changes here: #315.

fixed with #660


HAOS intergration

Frigate NVR work excellent, no errors, detects and records clips and snapshots.
Addon installed through HACS, everything was working fine for 2 days, after that cameras that were created by addon per object dont refresh snaps anymore.
They are stuck on snaps from 2 days ago. In the folder new clips/snaps are regularly created and can be viewed through SMB and web interface.
What gives?!
No errors in the logs.
Also at the same time automation to the app stopped working.
Any help/opinions?!

Create an issue and provide the info requested in the template here: https://github.com/blakeblackshear/frigate/issues