Add action(and ultimately a shortcut) to show the list of templates that start with text before the cursor

Currently vscode does no have a way to filter the auto suggestions to include just to templates (and toggle back to all suggestions by pressing the same shortcut). User needs to navigate a lot of suggestions (not just templates) is he does not clearly remember template trigger words.
Intellij have this concept of insert live template that just filters/shows suggestions to templates instead of all symbols. This will help the developer to search in templates instead of navigating all suggestions before finding the actual one he is interested in.
For eg., in Intellij, type few characters(it shows the default auto suggestions) & press Ctrl+J(Insert a live template) will narrow the suggestions just to templates instead of all options.

Its better to add one action for each of the type of suggestion that gets displayed in the auto suggest.
This way, if the user knows he needs to narrow down auto suggest results to just template/function/class/property/e.t.c, he can just map shortcut(s) for the specific type(s) he mostly uses, lets say for narrowing within just templates.

Assuming you mean snippet when saying template, there is the Insert Snippet command which allows you do that.

Sorry for the confusing terminology here (mainly because I have used Intellij as an example).
Lemme explain more clearly what I meant in the issue.
In Intellij Insert a live template implies narrowing auto suggestions such that results will only be of snippet type & start with the word before cursor.
The problem with default autosuggest dialog in vscode is that there is no way to narrow the search by suggestion type (classe, interface, const, snippet, e.t.c).
For eg., lets say I have 50 suggestions matching ng in my workspace. As soon as I start typing ng, the auto suggestions box will show all these 50 suggestions, which user can narrow by adding more characters.
If the item I am interested happened to fall in 43rd position & I know this to be a snippet, then in intellij, pressing the combination that triggers insert live template narrows the auto suggestions to just snippets that contains ng. But in vscode, I need to navigate overall suggestion types as there is no way to filter these by suggestion type
IntelliJ way is easy for developers to write code using snippets contributed by extension authors. Most of the time we as developers need some/a lot of time to remember the snippet triggers.
In vscode there is no way to achieve this, without opening a dialog, which takes the user completely away from code into a dialog, which is distracting.
It will be very useful to allow user to narrow the auto suggestions by suggestion type aswell, along with sub string, to quickly find what he needs.
If no text is entered, & user invokes this show auto suggestion for snippets, ui should show just the snippets in the suggestions box & user can just start typing to narrow down these snippets suggestion.
Here is a screencast showing how to narrow auto suggestions by suggestion type (in this case snippet) in intellij.
The snippet I am trying to search is called IntentView, Since I only remember Intent, I started typing Intent, but results are too high for this sub string. So I used the narrow suggestions within snippets (which IntelliJ calls insert live template, here the suggestion type happens to be template), it just shows the suggestion I need, which is IntentView

Thanks for clarifying

/duplicate of #50291


Additional parameter_validation tests

Add parameter_validation tests for the following cases:

Reserved parameter
Invalid struct type
Invalid struct pNext
Unrecognized enumeration/vkflags/vkbool32
VkResult error reporting

I like it.

Submitted to master


array findLast

Implemented https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLast
https://github.com/microsoft/devicescript/issues/503

I just have on question regarding this PR in MDN an thisArg is provided but I saw that in the current implant of findIndex etc this is also omitted.
Is this ok?

Let's omit it to stay consistent with the other APIs. Thanks!


Modified The Login and Sign-Up Pages

Hai @khushi-joshi-05
I Modified the Login and Sign-Up pages and attracted the before and after Images
Before
Login Page

Sign-Up Page

After
Login Page

Sign-Up Page

and I am requesting you to please add the level label so it so help full to me.....🥺
Thank you
Baba Sekhar.

Mention issue!

Issue regarding about the UIUX of login and sign up page modified

solve conflicts.

conflicts are resolved


util/log: unified logger

What problem does this PR solve?
ref:  https://github.com/pingcap/tidb-docker-compose/pull/39
use a unified logger.
What is changed and how it works?
redirect the logger of the moudle raft and grpc.
Check List
Tests

Manual test (add detailed scripts or steps below)

/run-all-tests


Fix test corruption by6 3 upgrade + ignore test due to upstream issue

The master code currently suffers from PLANNER-468 and a corrupted test case.
This PR fixes the test case. It also ignores the test case temporary, because PLANNER-468 makes it fail. It clearly comments when it can and should be unignored.
This PR is better than the current master state. An additional improvement(?) could be to revert optaplanner from 6.3 to 6.2 to fix the deamon mode until optaplanner 6.3.1+ is out, but I am not sure if that's desired as it would impact the drools & jbpm version too. I'd rather see this merged and deal with it as a known issue until it's fixed upstream.

Hi @ge0ffrey
Thank you for fixing :-)
I will review your PR ASAP. I think a good solution is leaving the test ignored and the optaplanner version to 6.3.0.Final. We've released Camel 2.16.0 a few days ago, so we can wait for the fix in Optaplanner 6.3.1+.
Thank you very much for your help :-)
Andrea

Asfgit has been faster than me :-)
Il 13/ott/2015 15:59, "asfgit"<EMAIL_ADDRESS>ha scritto:

Merged #636 https://github.com/apache/camel/pull/636.
—
Reply to this email directly or view it on GitHub
https://github.com/apache/camel/pull/636#event-434054529.

Thanks Andrea and asfgit :)

I've submitted a PR to unignore and fix that test:
https://github.com/apache/camel/pull/638


KCC not achieving to convert cbr archives.

Whenever I try to convert some cbr archives to any format,
I get Error during conversion! Please consult wiki for more details., no other precisions.
I've tried to do it command-line

$ kcc-c2e -p mykindle MyComic.cbr
comic2ebook v5.5.2 - Written by Ciro Mattia Gonano and Pawel Jastrzebski.
Preparing source images...
Traceback (most recent call last):
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/comic2ebook.py", line 600, in getWorkFolder
path = cbx.extract(workdir)
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/comicarchive.py", line 53, in extract
raise OSError('Failed to extract archive.')
OSError: Failed to extract archive.
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/local/bin/kcc-c2e", line 8, in
sys.exit(startC2E())
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/startup.py", line 49, in startC2E
sys.exit(main(sys.argv[1:]))
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/comic2ebook.py", line 74, in main
makeBook(source)
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/comic2ebook.py", line 1076, in makeBook
path = getWorkFolder(source)
File "/usr/local/lib/python3.5/dist-packages/kindlecomicconverter/comic2ebook.py", line 603, in getWorkFolder
raise UserWarning(e.strerror)
UserWarning: None
$

I've noticed other conversion tools stuck at these archives too.
I've tried different comics, they all stuck.
I tried to do it by hand eg. write a 10 lines bash script, it works quite well.
So, my guess, trying to debug few of the conversion tools I've tried is that they all take for given that the images in the cbr archive are at the top level, which is not the case for mine, which are in
Name of my archive_nodrmi7/mobi7/Images/.
In any case I could try to move all the images at top level, but I still think it should be an automatic behaviour of any conversion tool, because many reading tools achieve to read these comics, and so I'd classify this as a bug even if it could be considered a feature request.
If you need the archives, tell me, I'll find a way to give them to you, because by default github doesn't support rar archives.

@jthulhu
more information is welcome
input file example, settings used for conversion
Is the problem present too when you unrar that cbr file and work with directories instead?

@jthulhu
OK thanks, I'm closing the issue then.
reopen if needed

@darodi so I guess unrar and directory stuff Just Worked.

@darodi
i have had the same issue and then noticed the quote from @darodi.
yes, it works!
it seems KCC has problem with unzipping CBZ files in my case.
I'm using macOS Ventura 13.3.1 and the Manga name is : Mashle - Magic and Muscles 02.cbz


[0.17] Branch cut

Need to get tests green for the branch cut.

[ ] JS tests are failing consistently since the Flow upgrade: https://travis-ci.org/facebook/react-native/jobs/94322114, messaged @mroch

From flow release notes (https://github.com/facebook/flow/releases),

import type * as Foo is now disallowed in favor of import type Foo

Fixed the only occurance in RN repo - #4565

Thanks so much @satya164!

To fix the Flow errors we now need to update fbjs upsteam: https://www.npmjs.com/package/fbjs-haste
Asked Ben Alpert to find out where that upstream is :)

Are we going to stick with both travis and circle moving forward, or eventually switch everything to circle ci?
I'm thinking it makes sense to have your tests on Travis run on the same version of Node as circle and to bump up the xcode version to the latest version of 7.1.
I've already done this and came across some new issues but nothing that can't be worked through.

cc @bestander

I'd prefer to move off of Travis if possible since Circle supports SSHing into their boxes for public repos, node_modules caching, and I've heard better things about Circle.

The reason why I bumped Node and npm is because Circle is a Linux box and it failed to npm install from shrinkwrapped modules which contains mandatory fsevents.
It seems reasonable to have same versions of node and npm in both CI environments, latest stable is better than 0.10.33 I guess.
I am doing integration with Circle because it was rather hard to have both android and ios testing on Travis.
It is in trial mode until we are happy how it runs our unit and integration tests. I am actively working on open sourcing those right now.
IMHO if Circle shows good stability and setting up IOS environment will be as easy as Android then there is no reason to stick with both Travis and Circle.

:+1:

Closing this as 0.17 has already been released.


Split GUI from emulator

Most of the recent breakage due to rustc updates (#1, #2) affects the Piston part of the crate.
Maybe it could be worthwhile to split the current code in a chip8-piston (GUI) and a chip8 (emulator) crate.
This would allow (others) to write other GUIs (e.g. with gchp/rustbox and such) using the same backend.
Ideally both crates would be published on crates.io.
You could keep the code for both crates in the same Git repository using simple subfolders. You could move the -emulator to a separate repository and use it in -piston as a Git submodule. Or you could have the code in two repositories and rely on Cargo to fetch the -emulator.
I'd like to try moving the emulator code in a subfolder and publishing it on crates.io (adding you as a crate owner), using chip8 as the crate name.
This way it should be possible for me to have all the changes in one (probably rather large) pull request and you'd also be in control of the crate on crates.io (to push updates or remove me as an owner).
Along the way one might add CI via Travis and rustdoc via GitHub Pages (I did that for my own little Rust project), but that's another story.
All in all that's just a suggestion and if you don't feel like you want to participate in the adventure, I'll try to come up with another crate name for the emulator part and keep it in a fork, naming you as the primary author :smiley:
("You" is referring to @jakerr in case it's not entirely clear :confused: )

Thanks for the suggestion!
I've been wanting to do something like this. Yeah let's do it!
In principal I like the idea of splitting into submodules but not sure I want to deal with the overhead for this (currently) tiny project, so I'd also prefer to go the two-crates-in-one-repo approach for now.
I've not used crates.io yet and am quite interested in learning the ropes so this will be a welcome education for me too! :)
If you want to get started on the subdirectory move that would be great. Thanks again for the offer!
On naming:
The grapevine says we might be loosing dashes for underscores for all crates.io packages. Let's just adopt that now :)
I've heard people argue that Chip-8 shouldn't be called an emulator as it was never a hardware system to begin with. Maybe we should name the library bit chip8_vm and the UI chip8_piston or chip8_ui. Personally I like chip8_ui better for the our officially maintained UI.

I've started a new split-ui-vm branch in my fork, where you can compare the current progress via GitHub's UI (or at least that's working for me when logged in). This branch will eventually become the basis for the final pull request.
I'm trying to do everything step-by-step, adding explainations to the commit messages. The project might not work/build in-between, so hold your horses for now :wink:

Thanks!


Support OneFormer Model

Would it be possible to support the OneFormer model? I am not experienced with ML, but would love to use that model on mobile devices if possible.
Thank you so much!

I'll add it to my to-do list!


[Feature Request] Use FVM in dart-only project

It would be great to use FVM in dart-only projects.
Now fvm prints "Not a Flutter project. Run this FVM command at the root of a Flutter project or use --force to bypass this."

The error message provided a way to force install. Does that work for you?

fvm use with -f solves the problem. Thank you!

Can this be part of the documentation? @leoafarias


Unable to removes Ir pattern from left imager

Required Info

Camera Model
D415 (sn:<PHONE_NUMBER>79)

Firmware Version
<IP_ADDRESS>

Operating System & Version
Windows 10

Kernel Version (Linux Only)
N/A

Platform
PC

SDK Version
v2.33.1

Language
N/A

Segment
Robot

Issue Description
With RealSense viewer, selecting Remove Ir Pattern had no effect: failed to remove IR patterns from left RGB8 images, as shown below:

Basically, there was no difference between Default and Remove Ir Pattern presets for the left color infrared images.
All your assistance will be greatly appreciated!
Thanks, Robert

I ran extensive tests with a D415 using the same settings as you.   I tested with both SDK version 2.33.1 and 2.34.0 and confirmed that the IR pattern was not removed when the pattern removal preset was used.
You can though turn the pattern off by selecting the 'Laser' drop down menu option and choosing 'Laser Auto' from the menu.

LASER

LASER AUTO

@MartyG-RealSense thank you for the confirmation and the workaround.
Regarding the Laser Auto option, would you please tell me under what circumstance the laser will be turned on?
 If so, how can I do it?

The laser will be on if the "Laser Power" setting is '1' or greater.  Setting Laser Power to '0' turns it off.
IR pattern removal without the filter is possible on D415 but complicated, involving a 'Color Correction Matrix'.  Section 10c of Intel's camera tuning guide covers the subject.
https://www.intel.com/content/www/us/en/support/articles/000027833/emerging-technologies/intel-realsense-technology.html

@MartyG-RealSense, I used the following code, it didn't help:
rs2::pipeline pipe;
rs2::config cfg;
cfg.enable_stream(RS2_STREAM_INFRARED, RS2_FORMAT_RGB8, 30);
cfg.enable_stream(RS2_STREAM_DEPTH, 1280, 720, RS2_FORMAT_Z16, 30);
rs2::pipeline_profile profile = pipe.start(cfg);

... // other configurations

rs400::advanced_mode advance(profile.get_device());
STColorCorrection colorCorrect = { 0.520508, 1.99023, 1.50684, -2, -2, -0.0820312, 1.12305, 1.01367, 1.69824, -2, 0.575195, -0.411133 };
advance.set_color_correction(colorCorrect);

I believe that color correction changes are done in a visual preset file ('json') and not a program script, as they are Advanced Mode settings.
An easy way to create a json file is to define settings in the RealSense Viewer and then use the json export button on the global at the top of the Viewer's options side-panel.

@MartyG-RealSense that won't fly, as I described in the issue description.

If a JSON file does not contain definitions for color correction then the color correction settings will not be changed from the default settings when the JSON is applied.

This is indeed a new bug. Thanks for alerting us to this regression in the FW. We will try to fix it.
In the mean time please try this JSON
RemoveIR_For_FW5_12_3_100.zip
It DOES make the RGB image darker. This can be compensated for in SW by multiplying all RGB values by a constant. Alternatively you can manually increase the imager gain (although this may also affect the depth a bit).

@agrunnet   Thanks so much for the information and the JSON!

Case closed due to no further comments received.


105.0.5195.102 is not building for arm64

It seems the latest version of ungoogled-chromium-macos at @kramred 's fork is not building the latest version of amr64 for some reason:
https://github.com/kramred/ungoogled-chromium-macos/releases

It was built 2 hours ago.


Implement default extent in options

In order for the Dashboard not to default to Australian extents, this PR adds a small item to the config so that extents are configurable in the theme.

Thanks. We should get Typescript working for... others!

Yeah, sorry. I'll add it to the makefile. (PyCharm has a "recompile on changes" toggle, which just runs tsc on the file directly. No other special setup. It also autodetects and hides the js/map files so it's hard to accidentally change compiled outputs)


Allow setting preferences before starting container

Expected behavior
I would expect to be able to set things like port bindings before the container is started.
Actual behavior
The "Create" button directly start a new container and doesn't allow me to change settings first.

There's already a proposal in place - Feel free to suggest enhancements to it:
https://github.com/docker/kitematic/issues/1260


Multiple crashes on Windows 10

Atom crashes on startup on Windows. It happens about once per week, and the only solution is to delete the whole ~/.atom directory.
I can't understand what triggers the problem, sometimes it happens after installing a new package, but removing it and clearing everything inside compile-cache won't solve the problem. Sometimes it just happens out of nowhere, one day it works, and the next it won't open. I'm sorry I can't be more helpful in describing the issue, but I can't narrow it down to a specific event. The last 3 crashes were today (11/03), October 28th and October 15th.
I'm running Atom 1.1.0 on Windows 10. The editor loads and it shows and empty pane, and the menu bar on top only shows the "Atom" tab, but then it stays idle for a few seconds and then Windows notifies that the program froze.

cc @raelyard

If it is of any help, I kept the .atom directories instead of deleting them -- I just renamed them so the editor would create a new one.
If there are no personal info stored (I use it at work, so the data I work with is rather confidential) I'd be happy to provide a zip file of it for reproduction purposes.

@dborsatto Yes please.  If there's something corrupted in there, it would be helpful to see what is happening.  There shouldn't be personal information, it's settings and packages and such.

Here it is:
https://drive.google.com/file/d/0B6uLnP-htMHnRXhXM2xDSTJhZ2s/view?usp=sharing

I don't crash with that .atom on Win 10.  I see an error message on start coming out of the atom-autocomplete-php package.  There are some long paths in that package directory.  I suspect in your user home directory, those might be causing you to hit the dreaded path too long problem on Windows.  Is your username long in Windows?  Could it be it works until you install that package?

Today it happened again, but deleting the .atom directory didn't fix the problem. However, removing the cache data inside ~\AppData\Roaming\Atom did the trick.
Next time this happens, I'll check the content of those files to see if there's anything unusual.


customize my collection

Congratulations on your utility to manage x-wing play lists.
The improvement that I think is essential is to be able to add single cards in "My collection". Currently, the only way is indicating the expansion that you have acquired . Given the growing community of x -wing exchanging cards and pilots improvement , it would be advisable to add individual cards to " my collection".
Thanks for your attention.

Duplicate of #259


Support LLVM-18

Problem
OSL fails to build against LLVM-18 (RC2) which is to be released soon.
I tried to build it by modifying src/cmake/externalpackages.cmake to accept LLVM-18, but It requires more changes.
--- a/src/cmake/externalpackages.cmake
+++ b/src/cmake/externalpackages.cmake
@@ -117,7 +117,6 @@
 # LLVM library setup
 checked_find_package (LLVM REQUIRED
                       VERSION_MIN 9.0
-                      VERSION_MAX 17.9
                       PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES)
 # ensure include directory is added (in case of non-standard locations
 include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}")

Expected behavior:
To build successfully
Actual behavior:
Fails to build
Steps to Reproduce

Install/Build LLVM-18
Build against it

Versions

OSL branch/version: master
OS: Windows 10
C++ compiler: GCC 13.2.0 & Clang 17.0.6
LLVM version: 17.0.6
OIIO version: <IP_ADDRESS>

I don't suppose you could make a PR to implement this fix?

I don't suppose you could make a PR to implement this fix?

It requires knowldge of OSL source code.

I have a larger patch
--- a/src/cmake/externalpackages.cmake
+++ b/src/cmake/externalpackages.cmake
@@ -117,7 +117,7 @@
 # LLVM library setup
 checked_find_package (LLVM REQUIRED
                       VERSION_MIN 9.0
-                      VERSION_MAX 17.9
+                      VERSION_MAX 18.9
                       PRINT LLVM_SYSTEM_LIBRARIES CLANG_LIBRARIES)
 # ensure include directory is added (in case of non-standard locations
 include_directories (BEFORE SYSTEM "${LLVM_INCLUDES}")
--- a/src/liboslcomp/oslcomp.cpp
+++ b/src/liboslcomp/oslcomp.cpp
@@ -26,7 +26,11 @@
 #include <clang/Frontend/TextDiagnosticPrinter.h>
 #include <clang/Frontend/Utils.h>
 #include <clang/Lex/PreprocessorOptions.h>
-#include <llvm/Support/Host.h>
+#if OSL_LLVM_VERSION < 160
+#    include <llvm/Support/Host.h>
+#else
+#    include <llvm/TargetParser/Host.h>
+#endif
 #include <llvm/Support/MemoryBuffer.h>
 #include <llvm/Support/ToolOutputFile.h>
 #include <llvm/Support/raw_ostream.h>
--- a/src/liboslexec/llvm_passes.h
+++ b/src/liboslexec/llvm_passes.h
@@ -349,7 +349,11 @@
                                         // Should handle promoting whatever the constant value is (most likely zeroinitializer)
                                         llvm::ConstantFolder Folder;
                                         auto* signExtConstant
+#if OSL_LLVM_VERSION < 180
                                             = Folder.CreateCast(
+#else
+                                            = Folder.FoldCast(
+#endif
                                                 llvm::Instruction::SExt,
                                                 constant, m_native_mask_type);

--- a/src/liboslexec/llvm_util.cpp
+++ b/src/liboslexec/llvm_util.cpp
@@ -45,7 +45,11 @@
 #include <llvm/Support/CommandLine.h>
 #include <llvm/Support/ErrorOr.h>
 #include <llvm/Support/FileSystem.h>
-#include <llvm/Support/Host.h>
+#if OSL_LLVM_VERSION < 160
+#    include <llvm/Support/Host.h>
+#else
+#    include <llvm/TargetParser/Host.h>
+#endif
 #include <llvm/Support/raw_os_ostream.h>
 #if OSL_LLVM_VERSION < 140
 #    include <llvm/Support/TargetRegistry.h>

There still some Type::getInt*PtrTy that should be either chnaged to PointerType::getUnqual or PointerType::get (like in https://github.com/llvm/llvm-project/commit/7b9d73c2f90) depending in the case, that's where I am stuck.
I will see if I could clone OSL and open a PR with these changes

Sorry to close, but I solved the issue for myself by building against LLVM-15

Reopening. We DO need to support LLVM 18 regardless of whether you in particular need it.

Please, open a new separate issue.


Oneweek hack - added the FaceHeatMap

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


dmd: Fix grep in test after gdb bump

Description of changes
Closes #177320
CC @Jiehong for testing
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Backport to 22.05: https://github.com/NixOS/nixpkgs/pull/178343
@lionello, I've opened an issue about it upstream because I'm not sure how important supporting various gdb versions is to them: https://issues.dlang.org/show_bug.cgi?id=23198


Logspout Logstash TLS issue

Hi All,
we tried to move the logspout agent from syslog to syslog+tls implementation, but we have some issue with the self signed certificate present on logstash side.
If we start logspout without CA file specified we received this error:
# logspout v3.2-dev by gliderlabs
# adapters: udp tls raw syslog tcp
# options : persist:/mnt/routes
!! x509: certificate signed by unknown authority

We restart the docker image with the volume /root/logspout/ca-certs/ related to /mnt/ca/ as reported into the documentation but we noticed a restarting action from the docker daemon and this output:
# logspout v3.2-dev by gliderlabs
# adapters: raw syslog tcp udp tls
# options : persist:/mnt/routes
!! EOF

Could we help us to debug the issue?
Thanks,
Marcello

Hi @cello86
This is because you are using a custom CA to sign your server certificate presented by your syslog server.
This can be addressed by adding your CA cert into the system trust store of logspout server. It can also be addressed in PR #408 where you can use the option: LOGSPOUT_TLS_CA_CERTS when this PR gets merged

fixed by #408


UnusedParametersCodeFixProvider will crash when it is trying to remove ParamArray

For the following Sub
    Private Sub PrintSummary(ByRef Worksheet As IXLWorksheet, ByVal colData As ColDataCollection, ByVal ParamArray levels() As Integer)
        Dim ExcelRowIndex As Integer = FindExcelRow(Worksheet, colData(0).Value, False)
        For colDataIndex As Integer = 1 To colData.Count - 1
            Worksheet.Cell(ExcelRowIndex, colDataIndex + 2).Value = colData(colDataIndex).Value
        Next
    End Sub

with references that look like
PrintSummary(Worksheet, Total.ColDataList)

Function RemovePArameterAsync needs to change from
Dim newArguments As ArgumentListSyntax = arguments.WithArguments(arguments.Arguments.RemoveAt(parameterPosition))

If arguments.Arguments.Count > parameterPosition Then
     Dim newArguments As ArgumentListSyntax = arguments.WithArguments(arguments.Arguments.RemoveAt(parameterPosition))
    replacingArgs.Add(arguments, newArguments)
End If

Bug confirmed. It is up for grabs. Are you going to work on it, @paul1956?

I don't know how to work on GitHub, the two line change I posted fixes the bug. If you want to point to the process to "works on it" I will.

@paul1956 There was a problem on the way params was being handled. It had to remove all arguments, and it was only removing one. I fixed that and the exception is not happening anymore.
The problem also ocurred with C#.
See #535 and specially commit 873afb1. I also reenabled the analyzer and fixed the fix all, which was not working.

The case that was causing my crash was when there are 0 parram array arguments calling the function.


[FEATURE 💡] Better scrollbar for the website

Description
Default browser scrollbar is not perfect.
We can make it much more appealing
Screenshots
No response
Additional information
No response

Alright, this can be done but please provide some screenshots before I assign this to you.

I will make a PR along with screenshots there. Just merge it if you like ok

Why did you close this issue, if you want to contribute to it?

I am making a PR along with screenshots to get this issue done no more need to get here. If you like the PR merge it

Sorry if it isn't how your repo code of conduct works.

Sorry if it isn't how your repo code of conduct works.

It's okay, no big deal.


after replace  in the select can't found the key word

VSCode Version: 1.31.1
OS Version: win10 1809 (10.0.17763.316)

Steps to Reproduce:

use replace "line 2" in the select
switch  key ("line 1") and replace in the file can't find "line 1"

I can no longer reproduce this issue in latest.


fix(server): update proto::h1::end_body to return Result<()>

Ok, so I understand what is happening with the failing test now. The problem is that in some states, the response needs to close the connection when the body is finished (close-delimited). This is when there is no content-length and no transfer-encoding. In that case, it's actually correct to just "close" the writing side, instead of dying in an error.
So, it seems we'd want to identify between "closing the body at this point is an actual error" vs "closing the body just means the socket should close cleanly".

To differentiate, we could return an enum that could be matched in the _not_eof case there.

updated Encoder::end to not return Err on CloseDelimited, only return Err when there's content-length left.
Updated Encoder eof tests, to match the behavior you described above: when there is no content-length and no transfer-encoding it's correct to close the writing side, so Encoder::end() should not return an Err


travis run node 6 on macos

Hey,
I saw in travis.yml that there is a command to run tests on nodejs 6 for osx.
But from the docs  - "You’ll need to have Node 8.10.0 or later on your local development machine"
So I wonder why its there... is it on purpose? do you want me to send a pr for it?

Check tasks/e2e-old-node.sh; the test is there to make sure that create-react-app returns an error on old versions of node.


Allow demucs.cpp to be included in other CMake projects via FetchContent

Ideally this should be done so the includes are declared differently internally and for the including project, so I could do e.g.
#include <demucs.cpp/dsp.hpp>

Currently it's just exposing everything, as a quick fix for me to include it as a lib within another project.

Thanks for the PR! There's a conflict now - your same (int) fix in model_apply.cpp was already contributed: https://github.com/sevagh/demucs.cpp/pull/4  - needs rebasing.
I'll take a look at the CMake part soon.

I moved libnyquist to where it belongs (only for the driver programs), using target_include_directories appropriately inspired by your improvements: https://github.com/sevagh/demucs.cpp/commit/5cf8cb71a10751b94c4f6ef03e3c7e4d792fdb5d#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20a
I'll leave the original demucs.cpp.lib fixes for target_include_directories to your PR if that's OK.

@sevagh PR updated but I'm now getting a build error see #12

Sorry about that - replying in that issue...

Yep, if it works for you I'm fine with it. The last part I was curious about was:

Currently it's just exposing everything, as a quick fix for me to include it as a lib within another project.

I thought that to fix this, it was necessary to replace the include_directories with the target_include_directories - right now they are both in the CMakeLists file:
https://github.com/sevagh/demucs.cpp/pull/8/files#diff-1e7de1ae2d059d21e1dd75d5812d5a34b0222cef273b7c3a2af62eb747f9d20aR31-R33

Ah good sport, I missed that. I think the include_directories can be removed. And apologies for the delay, I missed the notification and been unwell for a week.

Thanks again and no worries! Hope you feel recovered.


Cannot interact with elements on Azure Pipelines

I'm testing out Azure DevOps Server (on-prem) as a solution to run WAD tests while NOT connected to an RDP session, so I had WAD running off a task on a Microsoft hosted agent 2019.
While executing in an RDP session there are no issues, but if a user tries to execute a pipeline from the web app without an RDP session, although WAD does launch and connects to the application, it cannot perform certain actions like send keys.
It's quite interesting, because the WAD server does find elements and verifies it's enabled, even performs a 'clear' on a field,  but returns 500 on sending keys.
I also tested while in a console session (disconnected the RDP session with tscon), then it was able to perform fine - except for a screen resolution issue which hid some elements; the 'Set Screen Resolution' task did resolve that, but it only works in a console session.
If someone can help resolve why WAD cannot interact with the elements, that would be great!
The WAD logs are attached (its not very long) for further inspection.
Azure WAD logs.txt

After more troubleshooting I found that using the Actions class instead of class driver.sendkeys() does work as follows:
 Actions actions = new Actions(driver);
        actions.moveToElement(e);
        actions.perform();
        actions.sendKeys(value);
        actions.click().perform();

But overall I this didn't resolve by issue because there were still many elements that WAD could not find and threw a 404 Not Found error- just reiterating these elements were found np in an RDP session or console session.
Can anyone resolve or explain this?

I too faced issues with send keys and send keys has issues. it's not disposed even after driver.quit(). which language binding are you using.

It is a Miscroft hosted agent, running on interactive mode, with auto-sign
on. Although I dont have screenshots, I do not believe the issue is with
the screen lock because the WAD logs show the script logged into the
application (after using a different sendKeys method) which would not have
happened had there been a screen locking issue.
But, the inconsistency is continuing after login and WAD cannot find
elements -not just send keys, as the script moves on.
Again, I dont have any of these issues in  an RDP session or console
session, just when executing the script from the web app without any
session with the host machine.
On Fri, Jun 11, 2021 at 8:46 AM anunay1 @.***> wrote:

I too faced issues with send keys and send keys has issues. it's not
disposed even after driver.quit(). which language binding are you using.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/microsoft/WinAppDriver/issues/1540#issuecomment-859286563,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AF2M2RUHNMSFXBZBG77VBTDTSGPMJANCNFSM46OGFE7Q
.

@Shakevg Thank you for taking your time to help me out!
Regarding the RDP, I meant that when I have an RDP session with the machine that is hosting the Azure DevOps Server then everything works out alright, when I am disconnected from that session and I access the Azure DevOps app from another machine on the network, then everything goes sour.
And regarding the type of agent, I meant that it's a Microsoft hosted agent, not a self hosted agent as described here
My personal hypothesis on this situation is that although WAD can create a session on an agent, certain basic driver events are touching part of the OS that Microsoft doesn't like since there is no user with authorization. Is your experience only with Azure DevOps Cloud version or also with on-premise Server version? I cannot use the Cloud version due to IT security protocols, maybe there it works better.
Unfortunately I cannot take a screenshot since that also causes a HTTP 500 "unknown error". But here is the relevant lines of code from the beginning until the session errs.
private void setUpDriver(){
        try {
            DesiredCapabilities capabilities = new DesiredCapabilities();
            capabilities.setCapability("app", "Root");
            capabilities.setCapability("platformName", "Windows");
            capabilities.setCapability("deviceName","WindowsPC");
            driver = new WindowsDriver<WindowsElement>(new URL("http://<IP_ADDRESS>:4723"), capabilities);
            sleep(3);

            WebElement session = driver.findElementByName("my app name");
            String hex = session.getAttribute("NativeWindowHandle");
            int handle = Integer.parseInt(hex);
            String windowHandle = Integer.toHexString(handle);
            windowHandle = "0x" + windowHandle;

            DesiredCapabilities caps = new DesiredCapabilities();
            caps.setCapability("appTopLevelWindow", windowHandle);
            caps.setCapability("platformName", "Windows");
            caps.setCapability("deviceName","WindowsPC");
            driver = new WindowsDriver<WindowsElement>(new URL("http://<IP_ADDRESS>:4723"), caps);
        } catch (MalformedURLException | InterruptedException e) {
            e.printStackTrace();
        }
    }
 public Base login() throws InterruptedException {
        Assert.assertTrue(isPresent(LoginBtn));
        clearField(ServerField);
        find(ServerField).sendKeys(".");
        clickElement(LoginBtn);
        return this;
    }
public boolean isPresent(By by){

        WebElement element = null;
        try {
            element = driver.findElement(by);
        } catch (NoSuchElementException e) {
            e.printStackTrace();
        }
        return element!=null;
    }
    public void clearField(By by){
        WebDriverWait wait = new WebDriverWait(driver, 10);
        WebElement element = wait.until(ExpectedConditions.elementToBeClickable(by));
        element.clear();
    }
    public WebElement find(By by){
        WebDriverWait wait = new WebDriverWait(driver, 20);
        WebElement element = wait.until(ExpectedConditions.presenceOfElementLocated(by));
        return element;
    }


Uncaught TypeError: utils.isStandardBrowserEnv is not a function

Just running "npm run watch" and I'm getting the error every 4-5 re-compilations.
Uncaught TypeError: utils.isStandardBrowserEnv is not a function
    at Object.chars (app.js:64325)
    at __webpack_require__ (app.js:20)
    at Object.<anonymous> (app.js:26040)
    at __webpack_require__ (app.js:20)
    at getDefaultAdapter (app.js:10529)
    at Object.<anonymous> (app.js:10538)
    at Object.<anonymous> (app.js:10603)
    at __webpack_require__ (app.js:20)
    at Object.module.exports (app.js:63840)
    at __webpack_require__ (app.js:20)

Everything is at the newest version

What does your webpack.mix.js file look like?

@JeffreyWay
// app sass files
mix.sass('resources/assets/sass/framework.scss', 'public/css');
mix.sass('resources/assets/sass/app.scss', 'public/css');

// app js files
mix.js('resources/assets/js/app.js', 'public/js');

// copy font files
mix.copy('resources/assets/fonts', 'public/fonts');

// copy image files
mix.copy('resources/assets/images', 'public/images');

mix.browserSync({
    proxy: 'dev.beer-tasting.shop'
});

@davidhoeck Provide more information (template)

I'm getting the same error @davidhoeck - just started recently.  Seems to be working fine with watching JS files - but any updates I make to less files require me to stop and run a fresh watch.

Got the same error after any update in sass files.

I've gotten this too. It started when I commented out everything in my app.scss files and used a CSS CDN.

Getting the same error every time I update my sass file...

@JeffreyWay I think it is coming from the axios library...

Here the same problem when running npm run watch
I had to stop and run again to make it work when making any sass change.

1

Same here...

@davidhoeck is right that this has something to do the axios library and it's utils file, but I'm guessing the bug is still somewhere within mix's own watch config.
Here is a temporary fix: require/import the full axios dist file. All of it's own internal dependencies will be included and webpack/mix won't need to load them. The following works for me and solves this very annoying issue.
window.axios = require('axios/dist/axios.js');

Mix doesn't have a custom watcher in this case. It's all webpack behind the scenes.
I'm having trouble reproducing this. Can someone give me exact steps in a fresh Laravel app to see this error?

I've narrowed down the problem, and this isn't a problem with laravel-mix per se, but webpack and specifically the watcher - is setting something in a global variable and it is getting overwritten by something else.
I was able to reproduce the problem by bringing in axios and ExtractTextPlugin and set up
First time you run watch, everything is working fine,
second time around, the watcher will recompile and axios will attempt to bring in utils
// from /node_modules/axios/lib/helpers/isURLSameOrigin.js
'use strict';

var utils = require('./../utils');

module.exports = (
  utils.isStandardBrowserEnv() ?
// etc

however it is overwritten by /node_modules/css-loader/lib/css-base.js

From Chrome devtools dumping the utils obj to console:

// import a list of modules into the list
list.i = function(modules, mediaQuery) {
	if(typeof modules === "string")
	modules = [[null,
// etc

I managed to fix it with this ugliness inside the vue-loader :
test   : /\.vue$/,
        loader : 'vue-loader',
        options: {
          extractCSS: true,
          loaders   : {
                scss: is_prod ? ExtractTextPlugin.extract({use:'css-loader!sass-loader',fallback:'vue-style-loader'}) : 'vue-style-loader!css-loader!sass-loader',
                sass: is_prod ? ExtractTextPlugin.extract({use:'css-loader!sass-loader?indentedSyntax',fallback:'vue-style-loader'}) : 'vue-style-loader!sass-loader?indentedSyntax',
                css : is_prod ? ExtractTextPlugin.extract({use:'css-loader',fallback:'vue-style-loader'}) : 'vue-style-loader!css-loader',
          },

Searching around, it seems to be linked to this : https://github.com/webpack/webpack/issues/5399

@wafs Could you me a bit more explicit about your fix (which file..etc.)? Thanks!

Yeah this doesn't seem to be a Mix-specific issue. It's either directly webpack or the extract plugin.
Giving this a close, since there's nothing I can directly do here to fix it.

I have same error when i update my vue file，how to fix ? Thanks!

I can confirm that using that downgrading to<EMAIL_ADDRESS>solves the issue for me.

@bryandease But my webpack version is 3.5, it not match<EMAIL_ADDRESS>

I'm also experiencing this problem. @bryandease can you elaborate regarding how you downgraded extract-text-webpack-plugin to resolve it? I'm not quite sure how to override the mess of JS requirements. For instance I installed<EMAIL_ADDRESS>in my project's root package.json file but that didn't fix it. Is there another way to override the version of extract-text-webpack-plugin being used down the tree? Thank you!

I am using Laravel 5.5 with Bulma CSS & Vuejs 2.
I am also experiencing the same problem. but after I run artisan command to clear compile and then run composer dump-autoload and my issues got solved.
thank you.

Having the same issue at the moment.
It's only started happening recently. If I'm using 'npm run watch"  and change something in my global scss file and watch as mix recompiles everything, I'll get the above error as soon as I refresh my webpage on my app.
IF I happen to open say, one of my vue components and immediately save it (forcing npm watch to do a recompile) everything is fixed again.
It's a little annoying but that's what I'm doing at the moment to work around it.

I managed to recreate it..kinda.
Initial conditions:

.scss & .vue files that need to get compiled.
package.json dependencies:
-- "axios": "^0.16.2",
-- "cross-env": "^5.0.1",
-- "laravel-mix": "^1.0",
-- "lodash": "^4.17.4",
-- "moment": "^2.18.1",
-- "vue": "^2.1.10",
-- "vue-i18n": "^7.2.0",
-- "vuejs-datepicker": "^0.9.11"

Steps:

While having npm run watch on, make some changes to a .scss and save.
Empty cache and hard reload(refresh) the browser and see Uncaught TypeError: utils.isStandardBrowserEnv is not a function in the console.
Make some changes to a .vue file.
Empty cache and hard reload(refresh) the browser and see Uncaught SyntaxError: Invalid or unexpected token.
Wait a lil bit and try Empty cache and hard reload(refresh) again. Finally it will work ok.

Note:

Laravel Mix seems very buggy in this new release. You'll get a js error (Unexpected end of input) if you refresh the browser right after the files are compiled. You have to wait a few seconds.

Same issue...I cant use npm watch whilst editing a sass file. I need to to npm run dev every time I change a sass file

Adding mix.version() seemed to fix the issue for me

I have the same issue.
Unfortunately, adding mix.version() triggers another error.
It's working fine with npm run dev and npm run hot.

Same here!

To me it happens only if I save .scss files. To fix it i'd just ctrl+s on a .js file.

I also experienced this while changing my .scss styles !


Order of RGB channel

The decoded image in mxnet is stored as RGB order, but in the file https://github.com/dmlc/mxnet/blob/master/src/io/iter_normalize.h, line 180-182
  data[0] -= param_.mean_b;
  data[1] -= param_.mean_g;
  data[2] -= param_.mean_r;

The mean_b variable stand for the mean value of the R channel. I think it's a little confusing for people who want to manually set these parameters.

you mean it is a bug?

Maybe it's a bug. This part behaves the same as cxxnet.

Nice catch, can you please send a PR to fix this? Thanks!

I think it may need some extra work to preserve the compatibility of old models and config files. Do you have any ideas?

It is OK, as existing configuration when mean value is set, they are identical

See https://github.com/dmlc/mxnet/blob/master/example/image-classification/train_imagenet.py.
Is the mean value correct in this configuration?

see what you mean cc @antinucleon can you comment on this?

Let us simply fix this, as most model released so far use mean-image configs

@zhouye Thanks for catching this! Let's fix it for now. The pretrained model is using mean value: 117, 117, 117 so doesn't hurt. But for other self-trained model, it may has slightly influence.

https://github.com/dmlc/mxnet/pull/822


React Native Issue uploading smaller files

I have added this library to my ReactNative project. It works great for larger file sizes but trying to use it for smaller files doesn't seem to be working.
I get the following error when trying to upload smaller files:
UploadClientError: [400] Request does not contain files.
This works fine with 3-minute videos, I have no issues with it at all.
This is the code I am using to upload the files:
import UploadClient from '@uploadcare/upload-client'

const client = new UploadClient({ publicKey: 'XXX' })

const resp = await fetch(image.uri);
const blob = await resp.blob();
const uriParts = image.uri.split('.');
const ext = uriParts[uriParts.length - 1];
const filename = `file.${ext}`;

const uploadResponse = await client.uploadFile(blob, { fileName: filename });

Expo CLI 4.1.4 environment info:
System:
OS: macOS 10.15.7
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.16.3 - /usr/local/bin/node
Yarn: 1.22.4 - /usr/local/bin/yarn
npm: 6.14.4 - /usr/local/bin/npm
SDKs:
iOS SDK:
Platforms: iOS 14.4, DriverKit 20.2, macOS 11.1, tvOS 14.3, watchOS 7.2
IDEs:
Android Studio: 3.6 AI-192.7<IP_ADDRESS>92135
Xcode: 12.4/12D4e - /usr/bin/xcodebuild
npmPackages:
expo: ^40.0.1 => 40.0.1
react: 16.13.1 => 16.13.1
react-dom: 16.13.1 => 16.13.1
react-native: https://github.com/expo/react-native/archive/sdk-40.0.1.tar.gz => 0.63.2
react-native-web: ~0.13.12 => 0.13.14
npmGlobalPackages:
expo-cli: 4.1.4
Expo Workflow: managed

We have changed to using the direct upload API for smaller file uploads (smaller than 100mb).
We now need a way to upload files greater than 100mb. I have tried to use the Javascript library above but that now also appears to be blowing up in my ReactNative app. I have tried changing the maxConcurrentRequests to 1 thinking it might be a resource issue but that still hasn't fixed it.

I am now getting file size mismatch when calling complete on the multipart upload. Not sure if this is something to do with the way I do the chunking in my ReactNative (Expo) app.
const resp = await fetch(image.uri);
const blob = await resp.blob();
const uriParts = image.uri.split('.');
const ext = uriParts[uriParts.length - 1];
const filename = `file.${ext}`;

if (blob.size > 99000000) {
  multipartUpload(blob, filename);
} else {
  directUpload(image, filename);
}

const getChunk = (file, index, filesize, chunkSize) => {
  const start = chunkSize * index
  const end = Math.min(start + chunkSize, filesize)

  return file.slice(start, end)
}

const multipartStart = async(blob, filename) => {

  const body = new FormData
  body.append("UPLOADCARE_PUB_KEY", "XXX")
  body.append("filename", filename)
  body.append("size", blob.data.size)
  body.append("content_type", blob.type)
  body.append("UPLOADCARE_STORE", "auto")

  const response = await fetch("https://upload.uploadcare.com/multipart/start/?jsonerrors=1", {
    method: "POST",
    body,
    headers: {
      "Content-Type": "multipart/form-data"
    }
  })

  return response.json();

};

const uploadParts = async(blob, parts, uuid) => {
  const CHUNK_SIZE = 5 * 1024 * 1024;
  const chunks = [];
  for (let i = 0; i < parts.length; i++) {
    chunks.push(getChunk(blob, i, blob.data.size, CHUNK_SIZE));
  }
  console.log(chunks);
  let completed = 0;
  for (let i = 0; i < parts.length; i++) {
    let endpoint = parts[i];
    axios(endpoint, {
      method: 'PUT',
      headers: {
        'Content-Type': blob.type
      },
      data: chunks[i]
    })
    .then(res => {
      if (res.status == 200) {
        completed++;
      }
      console.log('Parts uploaded: ', completed);
      if (completed == parts.length) {
        multipartComplete(uuid);
      }
    })
    .catch(function (error) {
      console.log(error);
    });
  }

};

const multipartComplete = async(uuid) => {

  const body = new FormData
  body.append("UPLOADCARE_PUB_KEY", "XXX")
  body.append("uuid", uuid)

  const response = await fetch("https://upload.uploadcare.com/multipart/complete/?jsonerrors=1", {
    method: "POST",
    body,
    headers: {
      "Content-Type": "multipart/form-data"
    }
  })

  const result = await response.json();
  console.log(result);
};

I'm not quite understand why you're doing your own implementation?
Until we release a fixed version, you can import needed methods directly and use react-native-like asset object as file ({ name, type, uri, size })
Example:
import defaultSettings from '@uploadcare/upload-client/lib/defaultSettings';
import upload from '@uploadcare/upload-client/lib/uploadFile';
import uploadMultipart from '@uploadcare/upload-client/lib/uploadFile/uploadMultipart';

const uri = image.uri;
const resp = await fetch(uri);
const blob = await resp.blob();
const name = 'filename.ext';
const size = blob.size
const type = blob.type

const populateOptionsWithSettings = (options) => ({
  ...defaultSettings,
  ...options,
});

const options = {publicKey: 'demopublickey'}
const asset = { size, name, type, uri }

upload(asset, populateOptionsWithSettings(options));
uploadMultipart(asset, populateOptionsWithSettings(options))

@nd0ut using that approach the call to getChuck within uploadMultipart doesn't like the file.
This is the error I get using your example above.
Error - TypeError: file.slice is not a function

@nd0ut trying your approach, passing in the blob and extra options seems to do what I want but I get issues like a mentioned previously.
The whole reason for me trying my own approach was that it seems to be hit and miss and the app just completely crashes during an upload, doesn't drop in the the catch block just dumps out.
Like I said above I didn't know if it was something to do with the concurrent requests, this is why I get a failure without anyway to catch the error.
const options = {publicKey: '4abb21ea21f265ce9e16', fileName: name, contentType: type};

    uploadMultipart(blob, populateOptionsWithSettings(options))
    .then(value =>
      console.log(`Success - ${value}`)
    )
    .catch(error =>
      console.log(`Error - ${error}`)
    )

@paulsizer

using that approach the call to getChuck within uploadMultipart doesn't like the file.

Yep, I was wrong, uploadMultipart requires a blob, sorry.
I was able to reproduce both problems with size mismatch and crashes on large files, I'll take a look into it. Thanks!

@nd0ut
I'm glad you were able to reproduce the errors and it wasn't me doing something wrong my end. I have been banging my head against this for a while now!
Any timescales when you think the fix can be rolled out? We are looking at getting this in the app asap as we were doing our own transcoding and uploading on our own server but it makes no sense for us to do it. We are better offloading this onto your service.

@paulsizer
This is the first time I've encountered with react-native and I can't figure out what's causing these crashes. There is nothing that can highlight the cause - no errors in the system log or in the console. Since your simplified approach works without crashes, the cause is clearly somewhere in our codebase. We need a lot more time to find out the problem.
Now to the good stuff. I ran your code and it seems that axios doesn't work well in react-native and doesn't upload the Blob to the server, it's just sends an empty request instead, which resulted in a size mismatch.

It will not crash if you set maxConcurrentRequests to value greater than parts number. Still can't figure out why concurrent queue causes crashes at react-native.

@nd0ut What would be the best way to do this? Is there a way to set that on the options for that you pass into populateOptionsWithSettings?

Catched it.
https://github.com/facebook/react-native/issues/27543
When any of sliced blobs get collected, react-native will deallocate the whole blob, which is leading to the app crash.

@nd0ut Excellent thanks Alex, I'll give it a go!

@nd0ut Hi Alex I tried the following but it seems to be even worse now! Crashes every single time, pretty much instantly now.
const options = {publicKey: 'XXX', fileName: name, contentType: type, maxConcurrentRequests: 100};

    uploadMultipart(blob, populateOptionsWithSettings(options))
    .then(value =>
      console.log(`Success - ${value}`)
    )
    .catch(error =>
      console.log(`Error - ${error}`)
    )

@paulsizer I'll release a new version soon, it should work.

@paulsizer Does version 1.1.3 work as expected?

@nd0ut Sorry it's taken a while to get back to you.
Myself and @stevesizer have tried to use the uploadFile method in the following ways:
const options = { publicKey: '882f02a0ca6451ab4795', fileName: name, contentType: type };
const asset = { size, name, type, uri };
var body = new FormData();
body.append('photo', asset);
uploadResponse = await uploadFile(body, populateOptionsWithSettings(options));

const options = { publicKey: '882f02a0ca6451ab4795', fileName: name, contentType: type };
const asset = { size, filename, type, uri };
uploadResponse = await uploadFile(asset, populateOptionsWithSettings(options));

But both result in the following:
TypeError: File uploading from "[object Object]" is not supported.
I have also tried to use the multipartUpload and I am still having issues...
const resp = await fetch(image.uri);
const blob = await resp.blob();
const options = { publicKey: 'XXX', fileName: name, contentType: type };
uploadResponse = await uploadMultipart(blob, populateOptionsWithSettings(options));

The above seemed to work the first time round. Tried it again with the same file and then it crashed as it has done in the past without any error.
I then remembered you mentioned about setting the maxConcurrentRequests. So I tried the following.
const resp = await fetch(image.uri);
const blob = await resp.blob();
 const options = { publicKey: 'XXX', fileName: name, contentType: type, maxConcurrentRequests: 100 };
uploadResponse = await uploadMultipart(blob, populateOptionsWithSettings(options));

As before this just dumps straight out no errors, just a complete crash...
Definitely using the new version 1.1.3
 "dependencies": {
    "@react-native-community/datetimepicker": "3.0.4",
    "@react-native-community/masked-view": "0.1.10",
    "@react-native-community/netinfo": "5.9.7",
    "@react-native-community/segmented-control": "2.2.1",
    "@react-native-community/slider": "3.0.3",
    "@react-navigation/bottom-tabs": "^5.9.1",
    "@react-navigation/native": "^5.7.5",
    "@react-navigation/stack": "^5.9.2",
    "@uploadcare/upload-client": "^1.1.3",
    "axios": "^0.21.1",
    "expo": "^40.0.1",

@paulsizer
Starting from 1.1.3 version, uploadFile doesn't support { size, filename, type, uri } input format, blobs only.

The above seemed to work the first time round. Tried it again with the same file and then it crashed as it has done in the past without any error.

Are you trying to load the same blob or a new one a second time? React-native deallocates blob from the memory after upload complete, so you can't use the same blob after uploading and need to recreate it from uri again.

@nd0ut I am creating a new one again from uri

@paulsizer Is it the same uri, or a new one?
Strange thing. Probably, fresh blobs are created by reference, not by value and react-native clears memory that blob and uri pointing on.
I was tested double uploads using expo-asset's fromModule with no errors. But I don't know how it's works, seems that it creates new files in memory every time.
I'll dig into it.

Yeah it was the same uri
On Wed, 31 Mar 2021 at 15:01, Aleksandr Grenishin @.***>
wrote:

@paulsizer https://github.com/paulsizer Is it the same uri, or a new
one?
Strange thing. Probably, fresh blobs are created by reference, not by
value and react-native clears memory that blob and uri pointing on.
I was tested double uploads using expo-asset's fromModule with no errors.
But I don't know how it's works, seems that it creates new files in memory
every time.
I'll dig into it.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/uploadcare/uploadcare-upload-client/issues/306#issuecomment-811092693,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AARFCTMR2AMVHU3AZ623NALTGMTNHANCNFSM4YXXYMIA
.

@paulsizer According to this comment, new Blob([blob]) should create a copy. I did some tests and it seems to work.
Example:
let blobCopy = new Blob([blob])
await client.uploadFile(blobCopy, options)
...

Anymore news on this? Some clients are starting to get frustrated.

On 11 May 2021, at 12:26, Paul @.***> wrote:
Hey sorry @nd0ut https://github.com/nd0ut I have been super busy trying to get other pieces of the app out.
I have just tested what you suggested and it dumped me straight out. No errors just a fatal crash.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/uploadcare/uploadcare-upload-client/issues/306#issuecomment-838305506, or unsubscribe https://github.com/notifications/unsubscribe-auth/AARHUFU7RDJO4BDJNPDHPTTTNEH4ZANCNFSM4YXXYMIA.

@paulsizer could you provide a minimal snippet? I can't reproduce it :(

@nd0ut I have been testing this morning and everything appears to be working for the larger files now if we set
maxConcurrentRequests = 1
We are doing the following to call the different APIs depending on the size, as there is a size limit for multipart uploads
if (size > 10000000) {
      uploadResponse = await uploadMultipart(blob, populateOptionsWithSettings(options));
      console.log(uploadResponse);
    } else {
      uploadResponse = await uploadFile(blob, populateOptionsWithSettings(options));
      console.log(uploadResponse)
    }

This works as expected on iOS but on Android for images that are under the 10Mb threshold we get an error that seems to come from using the uploadFile method.
Cannot create URL for blob!
- node_modules/react-native/Libraries/Blob/URL.js:120:12 in createObjectURL
* http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=android&dev=true&hot=false&minify=false:147755:18 in Object.exports.transformFile
- node_modules/@uploadcare/upload-client/lib/tools/buildFormData.js:15:12 in _loop_1
* http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=android&dev=true&hot=false&minify=false:147734:6 in Object.buildFormData [as default]
- node_modules/@uploadcare/upload-client/lib/api/base.js:19:38 in retryIfThrottled_1._default$argument_0
- node_modules/@uploadcare/upload-client/lib/tools/retryIfThrottled.js:14:34 in retry_1._default$argument_0
* http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=android&dev=true&hot=false&minify=false:147925:13 in runAttempt
* http://<IP_ADDRESS>:19000/node_modules/expo/AppEntry.bundle?platform=android&dev=true&hot=false&minify=false:147931:11 in Object.retrier [as default]
- node_modules/@uploadcare/upload-client/lib/tools/retryIfThrottled.js:12:9 in retryIfThrottled
- node_modules/@uploadcare/upload-client/lib/api/base.js:16:438 in base

We do not get this error on iOS.

@paulsizer Try to use react-native-url-polyfill on Android to crreate URL for blobs.


Authentication key?

Thanks for making it public.
I'm testing out the app and wonder what should be the "Authentication Key" in the sign-in dialog?

https://github.com/Lyn-liyuan/moonweb/blob/dbe7593d9fd4689a24816b5d017dc9a3010dce48/src/master_server.rs#L35
turns out I was running the app wrongly using ```
dx serve --release
cargo run --release -- --server master

while the Dioxus server shouldn't be spawn and instead `cargo run --release -- --server master` command runs the api server and web service.


feat: add document using consul as the config center

Fixes #402

@920581171 thanks for your contribution.


[sw, tock] Tock downstream (strategy, todo, issues)

INTRODUCTION
Upstream OpenTitan implementation is not using C DIFs. This means that we cannot develop the peripheral drivers directly in upstream. The idea is to maintain our own downstream board, chip and any additional crates.
The intention is, where possible, to use all main Tock OS crates from the upstream as they are.
STRATEGY

It has been decided to change the directory layout to better represent the OpenTitan components, as well as some changes to allow for simpler downstream/upstream integration (all upstream dependencies should be split out in their own crate). However, major components are still under top level boards and chips directories (consistent with the upstream).

We already have boards/opentitan in the source control, which is out of date with the upstream (earlier revision), so the ibex and lowrisc crates of the same revision were taken.

We are taking /src from ibex and lowrisc crates almost entirely as they are, with minor modifications where necessary to work with the new directory layout and crate split (use ... in source files). The idea is to refactor and tidy up any source files as we refactor the corresponding source files to use DIFs. It is impractical to do it the other way around as it would result in too much redundant work.

ISSUES

[x]  OT_SPLASH in main.rs is not printed out (existing issue on HEAD, only tested on verilator) @jon-flatley , could you please have a look?

[ ] We need to think about how we handle failures in a driver. For example, it used to be that functions like disable_tx_interrupt couldn't fault. With calls to dif_uart_irq_enable and dif_uart_irq_state_clear inside this function, it is no longer the case (#2211 ).

[ ] Building Tock by default (no conclusion, open topic).

[ ] How to handle tock in CI, and automated updates with the upstream (no conclusion, open topic).

TODO FIRST STAGE

[x] Extend downstream Tock development infrastructure, and new layout (#2119).

[x] Create DIF C bindings (#2129).

[x] Link against DIF libraries (#2129).

[x] Refactor/implement UART driver to use DIFs (#2154).

[x] Unforeseen necessary changes (None so far).

TODO SECOND STAGE

[ ] Make sure that the follow-up comments from #2154 are addressed.

[ ] Improve DIF C bindings generation:

Split DIF bindings each into their own .rs file (currently all in dif_bindings.rs).

Generate bindings for mmio.

Generate bindings for hw/top_earlgrey/sw/autogen/top_earlgrey.{c,h} and link against the library. Possibly split out/rename dif crate, if it does more than just DIF bindings.

General improvements to the quality and ease of use.

[ ] Refactor/implement other drivers to use DIFs (please see review comments from @mcy in #2129 . They will come in useful).

[ ] Sync up with upstream HEAD for the Tock dependencies.

[ ] Drop explicit revision for Tock dependencies in Cargo.toml (potentially, no conclusion yet).

[ ] Use a single .rs for peripheral driver instantiation instead of using a .rs for each peripheral. I don't see much point in having a separate source file for every chip peripheral in chip/earlgrey just to instantiate this peripheral. I think it makes sense have the instantiations under a single source file, like chips/earlgrey/peripherals.rs (potential, no conclusion, minor importance).

@gkelly @lenary

Please let me know if you guys think something needs adding/removing, and in general your opinion on this.

Thanks for writing this up! This largely matches my understanding of the next few steps, and I do agree that most things in Step 1 are blocking almost all other downstream tock work, so are our priority at the moment.
I think "Sync up with upstream HEAD for the Tock dependencies." and "Drop explicit revision for Tock dependencies in Cargo.toml." could be the same item? I'm not sure, given we may want to keep an explicit revision around.

I think "Sync up with upstream HEAD for the Tock dependencies." and "Drop explicit revision for Tock dependencies in Cargo.toml." could be the same item?

We can merge them, I don't mind either way.

I'm not sure, given we may want to keep an explicit revision around.

I think @jon-flatley is suggesting to use .lock file for that - if I understand correctly that is a common practice when working with cargo and tock.

Ok, that makes sense as a plan of action for Syncing with HEAD / Cargo.lock.
One task we haven't yet looked at but need to put on the roadmap: building tock in CI, and building it by default. These are probably two different issues, and do not block anything in the list you've prepared so far.

building tock in CI, and building it by default.

Good point! I think we probably should add it here for good measure maybe as TODO THIRD STAGE?

Thanks for writing this out @silvestrst! In the second stage, are the first and last item at odds with each other? @jon-flatley and I discussed this earlier, but we had also considered some form of CI to bump the upstream version reference. If we directly track HEAD it's possible that we get presubmit breakages for unrelated changes and then have to chase them down. If we bump only when our tests pass then we won't have unrelated breakages in our master and can chase the tock breakage independently.

In the second stage, are the first and last item at odds with each other?

I think I just didn't explain well enough what I meant:
The first item - concerns the dif crate. Split out generated dif bindings into their own .rs files, instead of one large .rs containing DIF bindings for all DIFs.
The last item - concerns earlgrey crate, more specifically there are .rs files for every peripheral. They take the corresponding peripheral from opentitan_common crate and crate an instance of a peripheral UART0, ... Basically at this point we feed in frequency and base address. I just thought that there is not much point of having instantiation for the chip peripherals in separate .rs files.
That was just my thinking, but I might be missing something, in which case we can keep instantiation in for peripherals in separate files.

If we directly track HEAD it's possible that we get presubmit breakages for unrelated changes and then have to chase them down.

Doesn't keeping .lock under the source control solve this problem? I guess maybe there is slight misunderstanding? By Drop explicit revision for Tock dependencies in Cargo.toml. I meant, remove explicit rev= and instead start tracking .lock file.

I think @jon-flatley is suggesting to use .lock file for that - if I understand correctly that is a common practice when working with cargo and tock.

I think this is the preferred way to pin to upstream revisions on binary targets since for moving to new versions we can just use cargo update. That said, I don't think it's as clear cut for us since this requires meson shuffling around two Cargo.lock files, one for upstream tock and one for local builds.
The more I think about it the more I think it may be best to leave the rev = in Cargo.toml. The reason for this? Cargo allows for specifying which Cargo.toml to build from, but offers no such solution for Cargo.lock files. You can see the --manifest-path flag in the cargo build command line documentation. If we want to move away from the clunky symlink gymnastics we could take this route, but that means ditching the Cargo.lock solution. I don't think that would be a big deal; probably just slightly more work for CI automation down the road.

Drop explicit revision for Tock dependencies in Cargo.toml.

By the explanation above, maybe this isn't needed.

If we directly track HEAD it's possible that we get presubmit breakages for unrelated changes and then have to chase them down. If we bump only when our tests pass then we won't have unrelated breakages in our master and can chase the tock breakage independently.

IIUC this can be done in two ways:

Keep a Cargo.lock file tracked by git and update this in CI with cargo update. Do this regularly, and only if the rev bump still allows for a successful build with tests passing.
Keep no Cargo.lock files in source control, just let cargo generate them and we .gitignore them. Use rev = in the Cargo.toml to pin the tock version and have a tool in CI to parse the toml and do the rev bump.

I don't think 2 is too much more complicated, and it gives us the ability to leverage --manifest-path.

Doesn't keeping .lock under the source control solve this problem? I guess maybe there is slight misunderstanding? By Drop explicit revision for Tock dependencies in Cargo.toml. I meant, remove explicit rev= and instead start tracking .lock file.

The .lock file in this situation doesn't provide any additional utility afaict. The only benefit is that it is autogenerated and easy to update to the new HEAD.

I think I understand where my confusion was coming in, thanks @lenary . If I understand correctly, you were thinking of extending CI capabilities beyond what they are now - from simply building the changes, to also updating the tock revision automatically?
Would you guys like me to edit some of the tasks? Feel free to edit them yourselves, just drop a note in a comment if you do.
Maybe you guys could open another issue describing the planned CI work, and steps?

You could have a look at dependabot, which can do Cargo.lock updates.

OT_SPLASH in main.rs is not printed out (existing issue on HEAD, only tested on verilator) @jon-flatley , could you please have a look?

@silvestrst, did you change the chip frequency and baud rate to match what verilator expects?

We need to think about how we handle failures in a driver. For example, it used to be that functions like disable_tx_interrupt couldn't fault. With calls to dif_uart_irq_enable and dif_uart_irq_state_clear inside this function, it is no longer the case.

I think it would depend on a number of factors such as

the type of the peripheral: is it stateless (besides some trivial configuration) or does it have some sort of a state?
is the failure something that can be reasonably expected and handled during normal operation, e.g. due to noise/interference, or is it indicative of a hw/sw issue (which should probably be logged and addressed) or a security issue?
can the driver resolve the issue transparently or do the clients need to know about this failure?
and so on.

I think it would be helpful to identify different failures and how they should be handled in a doc to ensure consistency and to avoid spend time on things that are already done. It would also be very helpful, at least for me, to have a clear guideline on how to decide if a failure is a security issue.

You could have a look at dependabot, which can do Cargo.lock updates.

Thanks for mentioning this @imphil. It looks like it is free to use (was acquired by github and will be integrated to it) and can update both Cargo.toml and Cargo.lock so we don't need any CI changes to update tock.

Generate bindings for mmio.

Since we have DIF libraries, do we really need this?

Thanks for writing this @silvestrst!

In response to @alphan comments:

We will also have to generate bindings for hw/top_earlgrey/sw/autogen/top_earlgrey.{c,h} which will be used outside of DIFs (in the drivers).

It seems that the OT_SPLASH is working again, does anyone know what PR could have fixed it?

Redundant, DIFs are not production code.


Changed project structure for pip and unit testing, added travis support

Complete overhaul of project structure based on what I learned in this blog post:
https://www.jeffknupp.com/blog/2013/08/16/open-sourcing-a-python-project-the-right-way/
Integrated automatic testing with travis-cl (travis-ci.org)
Added a setup.py for use with pip.
Started a documentation folder.
I ran into a really big problem where I accidentally installed tnote as a module and then would update the tnote.py, but when I imported it into the testing file, it would import the copy of tnote I had installed. Not entirely sure how module importing works, as is evident from my commit history. I'd push to github and travis wouldn't be able to find the module, and then fail. Finally got it to work but it took some time.
If anyone has advice or resources as to how to structure a python project, I'm all ears.
Tomorrow I'm going to try to restructure tnote.py so that we can write tests involving sample databases.

I was on the same path. Man you beat me to it :smile:
Testing it on my machine now.

Have you used http://docs.python-guide.org/en/latest/dev/virtualenvs/ before? It allows you to isolate your pip dependencies... might be helpful!
As for refactoring, what needs to be done is restructuring tnote.py into separate (and more testable) modules e.g. database.py, render.py, etc.

I was on the same path. Man you beat me to it :smile:
See

Testing it on my machine now.

@maxwellgerber I second @synlestidae on the directory structure. Breaking tnote.py into seperate files would make it more readable and maintainable. What' do you think?

I agree. Another thing I'd like to see is if we could make the text field of the display scrollable - it doesn't work too well if a note is too long. I'm not sure about using urwid because I don't think it has windows support.

@maxwellgerber No windows support? No way! Lol. In all seriousness, I am on a Windows machine so I am in favour of cross platform support. Any console libraries that support both? I'm getting on my Google horse to find out...

I am not sure whether urwid is supported on windows. If not, we will have to look for an alternative.
We should start adding test cases too, will save time when adding any new feature

[http://stackoverflow.com/questions/18177142/input-in-a-python-text-based-gui-tui](Looks like urwid can work in windows under cygwin). Up to you to choose the console library!

Looks like urwid would do fine here if it's supported in cygwin. Any other suggestions guys?

I found this but it doesn't really look like a fully-fledged project.
I think urwid might be the way to go on this.

Urwid is a good choice. Used it once maybe 2 years ago. Resizing the terminal window is handled very well.

@ismail-s How was your experience with it?

@prodicus Good, better than tkinter where I ended up hacking some things. See https://github.com/ismail-s/ishyChat/blob/master/ishyChat/Client/Views/UrwidView.py. That repo is how I learned a fair bit of programming, so it isn't brilliant (I no longer work on that repo too). Urwid's widgets worked well, and they had detailed docs too. But the auto resizing of everything is awesome and just worked. It's very high level library.

@prodicus I also forgot to say, but it requires an event loop to run. Although you can use different event loops eg asyncio, twisted, glib, select based.

@ismail-s Will look into that.

Hey @maxwellgerber . I am sorry I couldn't pay attention to this particular PR. Had a lot going on with my classes lately.
Are we still on with this feature?


How do we mock flow/shared flow?

Description
Hello,
I'd like to test that myDependency2.someFun() is called when receiving a value from myDependency1.myFlow which is a Flow<Unit>.
class MyClass(
	private val coroutineScope: CoroutineScope,
	private val myDependency1: MyDependency1,
	private val myDependency2: MyDependency2,
) : MyClassInterface, CoroutineScope by coroutineScope {

	init {
		launch(coroutineContext) {
			myDependency1.myFlow.collect {
				myDependency2.someFun()
			}
		}
	}
}

Attempt
@Mock
private val myDependency1 = mock(MyDependency1::class)

@Mock
private val myDependency2 = mock(MyDependency2::class)

private val myFlow = MutableSharedFlow<Unit>()

...

"my test" {
    given(myDependency1).getter(myDependency1::myFlow)
				.whenInvoked()
				.thenReturn(myFlow)
    val myClass = MyClass(this, myDependency1, myDependency2)

    myFlow.emit(Unit)

    verify(myDependency2).function(myDependency2::someFun)
				.wasInvoked(exactly = 1.time)
}

Result (error)
A mock of type MyDependency2 was not invoked the expected number of times.

    Expected 1 invocations of someFun()
    Actual: 0

        No invocation on the mock were recorded.

Turns out this was not an issue about Mockative.
Closing this issue.


this.userId is not set on server

Hello,
I am using your package for authentification in an ionic app.
login work fine but when i do :
Meteor.publish("examples", function(){
    if (!this.userId)
}

this.userId is always undefined.
I add account-password on my server.
thanks,
victor

Hey @sabativi, Can you give me a repo with reproducing of the bug?

@sabativi  I'm closing this one due that it is a problem on the server and this package handles the client side only


Checked state not updating for checkbox and radio button groups

https://v4-alpha.getbootstrap.com/components/buttons/#checkbox-and-radio-buttons
The checked attribute for the radio or checkbox input is not being set / changed based on the click event.

I think this was fixed in our current dist files 🤔 @patrickhlauke thoughts ?

As of 4.0.0-alpha.6, this is still an issue.

I found out what was wrong with this for me.  It appears laravel 5.4 overrides some functions, when I disabled their built in JS, it started working again for me.


Can not run from commandline

Traceback (most recent call last):
  File "/usr/local/bin/tymeventure", line 9, in <module>
    load_entry_point('tymeventure==0.1.1', 'console_scripts', 'tymeventure')()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 351, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2363, in load_entry_point
    return ep.load()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2088, in load
    entry = __import__(self.module_name, globals(),globals(), ['__name__'])
ImportError: No module named tymeventure

The game does not run after this. Happens immediately on running from the commandline.

Rebuilt using Python 3 and it fixed... kinda. Now it complains about not being able to import world.


⚠ Bofrost.at has degraded performance

In aa7553d, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1623 ms

Resolved: Bofrost.at performance has improved in 2bee8b9.


Repeating task over and over (about 20 times)

Which API Provider are you using?
OpenAI
Which Model are you using?
OpenAI
What happened?
Part of a task was repeated over and over, I was looking at it and it must have executed over 20 times before I noticed, at a cost of about $ 0.10 at a time it quickly ran up to unwanted amounts and I don't even know how many times this occurred previously.
Steps to reproduce

Relevant API REQUEST output
No response
Additional context
No response

I am also getting this with Claude Sonnet 3.5. It will examine one file and no changes will be made, then move on to the next file, make some changes, and then go back to the previous file and perform a very similar, unnecessary, read of the previous file

Please try v2.0 for improved performance!


Correctness 2: noscopy

Fix #619
Remove unnecessary build checking

Added source field to the interim reports, so that the aggregation can remove old data from that source. This makes the aggregation idempotent w.r.t. that source.


Documentation for an Agent

I am trying to use the agent facility with a RAG. However, I am totally lost in how to set it up. So far I've found:
    ./
       functions/
           agents.txt                              a file with the names of the agents
           agents/
              <myagent>/                        an agent dir
                 index.yaml                       a configuration file but unknown what you can do here
       agents/                                     data dir?
            <myagent>/
                   ???

A simple example agent (the todo from the documentation?) and one with a RAG setup would be HIGHLY appreciated.
I was surprised that the settup did not follow the normal ./agents// setup?
Anyway, thanks for this project. Works awfully nice.

Same. The Agents feature simply doesn’t work.
On Dec 19, 2024, at 9:41 AM, Peter Kriens @.***> wrote:

I am trying to use the agent facility with a RAG. However, I am totally lost in how to set it up. So far I've found:
./
   functions/
       agents.txt                              a file with the names of the agents
       agents/
          <myagent>/                        an agent dir
             index.yaml                       a configuration file but unknown what you can do here
   agents/                                     data dir?
        <myagent>/
               ???

A simple example agent (the todo from the documentation?) and one with a RAG setup would be HIGHLY appreciated.
I was surprised that the settup did not follow the normal ./agents// setup?
Anyway, thanks for this project. Works awfully nice.
—
Reply to this email directly, view it on GitHubhttps://github.com/sigoden/aichat/issues/1062, or unsubscribehttps://github.com/notifications/unsubscribe-auth/A7C5KKDCJOOM2SZCN53PYUD2GLLJPAVCNFSM6AAAAABT5EPGQKVHI2DSMVQWIX3LMV43ASLTON2WKOZSG42TANJVGM2DONA.
You are receiving this because you are subscribed to this thread.Message ID: @.***>

I got it to work now. I found out that the documents needs to be local to the index.yaml file. Then I found out that the rag was stored in ./agents/<myagent>/rag.yaml. I overwrite this with a rag I made in the normal way. that seems to work.

But it would really help if there was a guide. There seems some odd decisions in how the configuration is laid out or I am missing something.

All functions related to LLM tools and agents are handled by llm-functions.
We provide a demo agent as an example.
The agent has only one RAG, which is automatically created from the index.yaml > documents field. The agent does not support creating RAGs in other ways and does not support creating multiple RAGs.

thanks for the quick reply. However:

A small Agent guide that points to this documentation would help
The link to the llm repo should be clearly pointed out?
I found I needed to create an agents.txt in ./functions with the names of the agents?
Additionally the agent index.yaml needed to be placed in functions/agents//index.yaml?
the rag and default directory was however ./agents// ?
The --info seems to show other configaration directories but is not complete.

It took me quite a bit of time to get this to work. It seems very useful to create these agents but without a tiny bit of documentation in a Agent Guide I think many people will give up.


Make the tab unselectable and use default cursor

Thank you for the great extension! It looks and works great and you did great job on developing it. Also thanks for releasing it as an opensource project! I did some minor improvements that I hope you like them.

I thought the content of the tab should be unselectable like other inspector tabs, so I made body of the tab unselectable.
On /[ ]+main[ ]*\(/ig, i matches incasesensitive but MaiN is not acceptable for shader programmes; also g matches multiple times which it doesn't seem multi main function make sense on a fragments shader so I've dropped these flags. [ ] matches only spaces but \s can match new lines in addition to spaces which would be useful on below cases:

void
main
() {

(splitting return type from function name by new line is not uncommon on C projects)

Lastly I minified and prettified SVGs used but there is no any visual change on them AFAICS.

BTW I see program select color change is good enough, is there any specific case that this part fails?
Thank you again.

Awesome job! Thanks!
A lot of this issues were in the back of my mind, thanks for taking care of them :)
About the program highlight, i disabled it because it was messing with the shaders. I think it's fixed in the next version I'm releasing.
Thanks again!

Thank you!!! Actually now I see the so weird issue raised by selecting second shader programme on webgl-water. I hope you can come around with some solution for it.

Haha, that one is for a different reason. It actually works, but that shader calculates part of the water surface displacement map, and turning it magenta kicks the values into overdrive. That's part of the problem with messing with the shader output to highlight it: when it's used as a map, it can have destructive effects.

That one is causing BSOD sometimes for me and I thought it is most severe one :smiley:


Better operation cleanup

#23 (and it's predecessor #19) added a stop_operation function that can be called to send a Complete message when a subscription is done.  There's some improvements that could be made though:

Stopped operations will still be in the operation map.  Should figure out a way to remove them.
If you drop a StreamingOperation it'll never be stopped.  Ideally need a way to run stop_operation on drop (currently it's an async operation which makes this tricky - might need a way to do this that doesn't rely on async/await
Not quite related, but I'm noting it down here anyway: if the server stopped the subscription we ideally need a way to tell how & why on the StreamingOperation itself.

I think we could also switch from using async mutex to parking_lot mutex since we don't keep the lock across await.
This means there is no need for and async mutex and it's much slower than a sync mutex.


How to keep the cumulative data usage of a container across restarts

I have many docker containers and they have their respective bridge network. These appear as "br-xxxxxxx" in ifconfig o/p.
The network ID get changed when a container is restarted. (i.e. "br-xxxxxxx" becomes "br-yyyyyyy").
Even if I set the same alias to "br-yyyyyyy" the usage associated with the "br-xxxxxxx" is no longer available in vnStat.
Any workaround to keep track of the usage of a container across restarts??
Thank you...

vnStat can't see from inside its container which network is mapped to which container nor does vnStat support doing that from the host side either. It's a docker feature that the bridge network interface names are randomized by default.
The Docker documentation says that you can optionally define the name of the bridge network interface using the com.docker.network.bridge.name option: https://docs.docker.com/network/drivers/bridge/#options
If you define that for each container you are running then the bridge network interface name isn't going to change and vnStat will be able to track the traffic across restarts.

@vergoh Thank you so much for the swift and detailed response. I was able to use com.docker.network.bridge.name and define a static name across container restarts,


Suggestion: Material Icon

Edit:
New Icon:

Banner:

Source files: graphics.zip
Old post:
I saw some pull requests about this recently so I gave it a try:

It's kind of tricky to stick with the robot dog design and this is the best I could come up with. I'd also be happy to visualize some other ideas or chnage some aspects of the icon.
If you like it say the word and I'll create a pull request with all the files ; )

From an user perspective: looks very nice. :)

@ArchangeGabriel thanks 👍

A couple of thoughts:

I'm not sure the aspect ratio works. Have you tried making the head not square?
The ears don't look like antennas.
Maybe look at other versions of K9 for further inspiration, e.g. https://upload.wikimedia.org/wikipedia/en/0/0d/K-9_hovering.jpg

My issue with adding the antennas was that it doesn't really look like a dog anymore. I tried to strip it down to the most recognizable elements in order to put some focus on the email part. Maybe a different shape will help. I'll post as soon as I get something that looks decent :)

I love your icon idea! Especially the envelope eyes.
Consider simplifying it even more by using only the eyes and nose. Horizontal lines can be added to make it more unique and K-9 like, as can be seen here: https://goo.gl/images/kRF55v
Here is an amazing example of what I'm thinking, so you can see it in its full glory. :D

I actually like this icon! My first thought was about the aspect ratio as well. Does that work as a square?
I don't really care about the antenna ears - in fact when cketti mentioned it, I had to check out the current k9 icon because I had never consciously perceived the antennas.

I just realized, K-9 Mail already has a pretty mail icon - in the widget.

I think all it needs is the top half colored K-9 Red and the bottom K-9 Gray.

I find this new version great.
I allready changed the default icon to it using Nova. Thanks !

How about this?

Both the first post squared version and this latest rounded version look really great to me, even if they don't have the antennae for ears. Just my $0.02

I made this one for my private use.

I also made a feature graphic matching the design of the icon:

This is really getting somewhere.
Asking for a friend, would you put the source online so others can dabble with it?

Sure, here you go:
graphics_inkscape.zip

We're working on K9 for a university project, and most of the participants in our user studies complained about the icon (mostly about it being ugly and incomprehensible because it's not clear how it is related to email). In order to address these issues we tried to simplify and modernize the icon a bit.

This is just a concept, but if there's interest we can polish it and do a PR with all the necessary assets.
Here's a little comp to show how it would look on the homescreen:

I have to admit that so far I'm not in love with any of the proposals. But I do like the work by @moctodot and bertob. Also, @Valodim pointed out to me that we don't have to find the perfect icon right away. The proposed icons are a better fit than what we currently have :)
So for the next major K-9 Mail version I'd like to go with bertob's icon.
@bertob: We'd love to get a pull request. Please make sure the icon follows the material design guidelines for launcher icons as closely as possible, especially regarding size/padding.
Thank you to everyone who took the time to create one or more icon proposals. You are awesome!
Please keep the suggestions coming.
As a quick introduction on how to do material design icons I found the following video quite helpful: https://www.youtube.com/watch?v=GiFV-xfW9pk

@cketti, thanks for the video link, that was very helpful, since the official documentation is not very detailed on some things.

I have redrawn the icon and adapted it a bit, trying to follow the icon grid and the rules for shadows and highlights as closely as possible.

Pull request here: #2082

Here's another concept:

Indeed Moctodot's version is the only one I even like (simple, material, beautiful)
While changing the icon, would a "materializing" be possible for the app itself ? There is a fork on xda which does this quite well without getting to deep into changes, but play store updates are great...
Just my 2 cents.
@skieffer, how is this material ? ;)

A complete material design rework of the app (or the discussion of it) is already in progress. #1859

Hey everyone! Just a heads up. I've updated and released my 2013 redesign project into a separate repo you can find here: https://github.com/k9mail/k-9-design
It already includes user testing, high fidelity design for all screens, color themes, icon (in all sizes and optically corrected to fit a variety of devices and wallpaper colors), etc. @moctodot + other designers in this thread - feel free to contribute to it! Right now the biggest remaining ask is a centralized style guide, documentation, and annotating existing screens.

Please go back to the previous one, current on v5.400 is really ugly!
#2998

The icon from @moctodot looks much better.