[DISCUSSION] I've now got this working with Ollama's chat completion API

Not an issue but I can't see any discussion board for this project...
I've now got this working directly with the Ollama chat completion API endpoint so it's now possible to use it with Local LLM instances:
https://github.com/jmorganca/ollama/blob/main/docs/api.md#generate-a-chat-completion
I originally tried to use LiteLLM to emulate the OpenAI API and then have it communicate with Ollama but it didn't really work.
So instead I've just made a hacked version of the plug-in and got it to communicate directly, and after finally getting to the bottom of why it was hanging after a couple of pages of text (see my other issue post for solution) it seems to be working pretty well. The main changes needed were:

Add ability to specify CHAT_URL and not just use a fixed value of "/v1/chat/completions" (Ollama uses "/api/chat").
Traverse the response tree to find the "message" key (Ollama's API has it one level up, but still uses "role" and "content" sub-keys).
Detect the end of a streamed response using the "done" key instead of looking for "[DONE]".

AFAIK none of the open source LLMs can handle the function format OpenAI's models use so that isn't active yet, but I'm pretty sure I can get it to work using prompts at least to some extent. LiteLLM seems to have the ability to do this using the "--add_function_to_prompt" command line option:
https://litellm.vercel.app/docs/proxy/cli
I can probably tidy up the code in a couple of days if anyone is interested?

Hi @jukofyork . Thank you for your input. I've merged your changes.

Hi @gradusnikov ,
No problem and glad to be of help!
I've got the Ollama port running really well now. I've still got to tidy it up and have stripped out a lot of stuff that didn't really work well yet with locally run LLMs: function calling via prompts barely worked and had to have streaming turned off, the local LLMs couldn't really create a working diff file, a lot of the stuff specific to JavaDoc and the Eclipse Java AST tree, etc.
One thing you might want to add to your code is to make the right click menu context sensitive:
/**
 * This class handles the contributions to the Eclipse menu based on the active editor.
 */

package eclipse.plugin.assistai.handlers;

import org.eclipse.e4.core.di.annotations.Evaluate;
import org.eclipse.e4.ui.workbench.modeling.EModelService;
import org.eclipse.jface.text.ITextSelection;
import org.eclipse.ui.PlatformUI;
import org.eclipse.ui.texteditor.ITextEditor;

import eclipse.plugin.assistai.views.ChatConversationPresenter;

public class MenuContributionsHandler {

	@Evaluate
	public boolean evaluate(EModelService modelService) {
		// Get the active editor
		var activePage = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage();
		var activeEditor = activePage.getActiveEditor();

		// Check if it is a text editor
		if (activeEditor instanceof ITextEditor)  {
			return true;
		}

		// Hide the context menu then.
		return false;

	}
}

Then add this to 'fragment.e4xmi':
<fragments xsi:type="fragment:StringModelFragment" xmi:id="_pVgfIIrOEeW7h_qdP9N9fw" featurename="menuContributions" parentElementId="xpath:/">     <elements xsi:type="menu:MenuContribution" xmi:id="_BducUIrPEeW7h_qdP9N9fw" elementId="eclipse.plugin.assistai.menucontribution.1" positionInParent="after=additions" parentId="popup"> . . .
I did also find that the view part as defined using the 'fragment.e4xmi' file was buggy in Linux and would appear blank after opening and closing it, so I moved it out into a class that extends ViewPart to fix this. The bug is probably not your code's fault but the Linux version of Eclipse's browser that is broken and has a known bug where it shows up blank unless you use 'export WEBKIT_DISABLE_COMPOSITING_MODE=1' or 'export WEBKIT_DISABLE_DMABUF_RENDERER=1'.
I'm not sure if it's possible with the ''fragment.e4xmt' view but with one extended from ViewPart you can easily add to the toolbar and dropdown menu:
private void contributeToActionBars() {
	IActionBars bars = getViewSite().getActionBars();
	bars.getStatusLineManager()
	fillLocalPullDown(bars.getMenuManager());
	fillLocalToolBar(bars.getToolBarManager());
}

private void fillLocalPullDown(IMenuManager manager) {
	manager.add(cancelAction);
 	manager.add(stopAction);
 	manager.add(new Separator());
 	manager.add(discussAction);
}

private void fillLocalToolBar(IToolBarManager manager) {
	manager.add(cancelAction);
	manager.add(stopAction);
 	manager.add(new Separator());
 	manager.add(discussAction);
}

I did actually manage to get the right click context menu working without the  'fragment.e4xmi' stuff (which then lets you programmatically add to the menu instead of having to edit in each command, etc), but for some reason it didn't work with the dependency injection properly and I need to revisit it to see what was wrong.
I've also made it so that you can send "system" messages to the view and they come up in a blue chat bubble. This might be worth adding to your code so that you can print out error messages for the user to see  when they can't connect properly to the Open AI servers, etc.
One final thing I've done is refine the prompts using the LLMs themselves. I have 8 now: code generation (for boiler-plate code), code completion, discus, document, code-review, refactor, optimize and debugging (+ the "fix errors" special case).
To refine them I used several of the different local LLMs (codellama, deepseek-coder, etc) with instructions like "I'm writing an Eclipse IDE plugin for an AI assistant and would like you to comment on how good my prompts are". I then got them to make really wordy prompts that have lots of detail for each of the 8 categories above. This eventually produced really great prompts, but they used a lot of tokens to encode...
So finally  I used the most competent local LLM I have (called deekseek-llm-67b), who was about the only one who truly got what I was doing (and didn't get confused and start trying to answer the prompts they were supposed to be refining! :rofl:), to compress them down whilst keeping the crucial information.
You can probably use ChatGPT itself for this whole process, but I did find a few iterations of expanding the prompts into very wordy/detailed versions and then compressing them back down works extremely  well. After a few iterations they eventually can't find anything useful to add or change and the final prompt is worded very well for them to comprehend.
I'm going to tidy up the code over the next few days: see if I can get the context menu working , harden the code that communicates with the Ollama server, etc. But after that I'm happy to share everything I've got back with you - I've no intention of making/supporting a proper folk and it will otherwise stay private.
I will then try to see if I can get the stuff you have working with Eclipses' Java AST tree to work with Eclipse's CDT AST tree for C++.
Anyway, just want to say thanks for creating this and I think it's a great project and I hope it becomes more popular!
Juk

Sounds, great, looking forward to try this!

Hi again,
I've got the communication with the Ollama server working fairly robustly at last: their server is a Go wrapper around llama.cpp and it's very prone to crashing from OOM errors, but exponential backoff seems to give it time to restart itself and all the random http disconnects aren't a problem now.
I've struggled a lot with the dependantcy injection: either things not getting injected causing baffling null pointer exceptions or other weird things like the ILog (which I've now added a listener to to display in blue chat bubbles) seeming to have multiple copies instead of being a singleton, etc. I'm still not 100% sure why, but I think it's Eclipses' own dependantcy injection somehow interfering. Anyway had to strip a lot of it away to make sure everything works.
I've iterated over a few different methods of using the interface and finally setted on the right click context menu and a toggle button to decide if the full file should be sent as extra context or not. This along with grabbing and appending anything in the edit box to the end of the prompt message seems to be the most usable. I think the Continue input method (https://continue.dev/) with their slash commands might be worth looking at too, but this is working so well now I don't really have the motivation to try it.
I did consider seeing if I could get a "tree" of responses like a lot of the LLM web apps implement (with undo, sideways edits, etc) and possibly even see if I can journal the stuff getting sent to the Browser widget to serialise and restore, but I don't think it will really be that useful as long conversations soon exhaust the context windows of all the available locally runnable LLMs...
I've added lots of other little fixes like rate-limiting and buffering the streaming to 5 events per second as found it could start to lag the Eclipse main UI thread out badly for some of the smaller/faster models that can send 20-50 events per second.
Anyway, it's mainly just a case of tidying up the View code and I will share it back via Github and hopefully some of the stuff will be useful.

Hi @jukofyork
I find function calling very useful, esp. after adding web search and and web read. I think I will add more, as this is a simple and quite powerful way to make the LLM answer more accurately. I have not tried function calling with other LLMs but maybe the approach from like 6 months ago would work, where people were defining function definitions as part of the system message, along with the function call format? Or I can simply disable function calling in Settings?

Yeah, there is quite an interesting discussion on this here:
https://github.com/jmorganca/ollama/issues/1729
They are defining the functions in the system message and then  doing 4-5 shot teaching by making the first few messages examples of calling the functions.

@gradusnikov I have added lots of things you might find useful, eg:

Use of a CompareEditor to selectively apply changes.
The Browser has Undo, autoscroll, jump to bubble, etc all implimented.

The final thing I want to do is allow multiple copies of the view to be opened and then I'll upload to Github later this week.
I'm happy for others to try it out and use it, but Ollama is very buggy and I don't want to be spending lots of time helping people get Ollama working or step on @gradusnikov toes since it's his project after all and I've stripped out as much as I have added... I'll try and create a plug in installer and add some instructions too, but it's more going to be left as a foundation for others to build on rather than an active fork I want to maintain.

@gradusnikov
I've done my best to commit the code to github (no idea why it's ended up in a subfolder like that though :confused:):
https://github.com/jukofyork/aiassistant
The bits that are probably most useful to you:

ReviewChangesBrowserFunction: Implements a CompareEditor which was particularly hard due to the Eclipse docs being out of date (see the URLs for links that explain the new/correct way to implement it). Make sure to set "Ignore white space" in Compare/Patch settings in Eclipse or else CompareEditors don't work well in general..
MenuVisibilityHandler: Is used to stop the right click context menu appearing all over eclipse (there is also a similar visibility handler for the 'Fix Errors' and 'Fix Warnings' options).
URLFieldEditor: Strictly enforces to allow valid URLs with port numbers only (I had Eclipse break really badly when I input a bad URL and had to manually find and edit the preference store to fix it!).
IndentationFormatter: Is useful to remove and reapply indentation (mainly for the different BrowserFunction classes).
LanguageFileExtensions: Loads a JSON file with all the {language, extensions} tuples used by highlight.js.
BrowserScriptGenerator: Has code in it to do things like: undo, scroll to top/bottom, scroll to previous/next message, detect if the scrollbar at the bottom, etc.

There are also lots of small changes to do with the main view you may or may not want to use:

Saves the previous messages in a buffer that the yellow arrows can cycle through.
Blanks out everything but the 'STOP' button whilst working.
Only scrolls to the bottom if already at the bottom (so you can read the text further up whilst it's streaming, etc).
Right click menu to allow external chunks of code or documentation to be pasted in and not get mangled up.
Hotkeys like Shift+Enter to allow insertion of newlines in the user message area, delayed replies, etc.

The prompts are the best I can come up with after a couple of months of trying. In general I've found the less newlines the better and starting your tasks with a '#' symbol seems to help them (possibly they think it's a markup header or maybe even they have been overtrained on Python comments). I've made it so the prompts use the StringTemplate library now:
https://github.com/antlr/stringtemplate4/blob/master/doc/cheatsheet.md
and added several other possibly useful context variables.

I've had to strip out all of the @inject stuff. I tried different versions of Javax/Jakarta and just got really weird bugs where nearly identical instances would fail to inject and give null pointer exceptions... Then one day Eclipse did some kind of update and absolutely nothing worked (even after a full reinstall/revert!), so I just had to create a new project and move each class back in one at a time.
I also found the fragment.e4xmi stuff to be very buggy (eg: the main view would be blank if you closed and reopened it, etc) and converted the main view and context menu to use the `plugin.xml' extensions instead.
I think from reading the issues here and on the Eclipse marketplace the Javax/Jakarta stuff and fragment.e4xmi view are the main cause of the problems being reported.
I also had to move all the dependencies into the main plug-in as for some reason this caused me a lot of problems too (possibly because I was trying to edit the forked version though).

I did have more advanced code for the networking (due to Ollama being so buggy and crashing often from OOM errors), but had to remove it as found due to the way Eclipse only uses a single GUI thread; it caused more problems than it solved (ie: the menus kept freezing, etc).
One thing I didn't fix but probably needs looking at is the O(n^2) complexity of the way the streamed tokens get added to the browser window: it gets more and more slow and starts to cause the main Eclipse GUI thread to stall. The best solution I could find without completely rewriting the code for this is to use estimateMaximumLag and concatenate to an internal buffer (see: 'OllamaChatCompletionClient.processStreamingResponse`). This is still O(n^2) but it does stop the whole Eclipse GUI from stalling as more and more gets added to the Subscription classes buffer.

There are probably a lot of other changes that I've forgotten to mention here, but would just like to say thanks for creating the base project!

Just noticed there is some random 'ToDo' list with prompts come up as the main readme - I'll see if I can tidy it up tomorrow (I don't really use Git and seem to always make a mess of it :frowning_face:).
I've also deliberately not added any actual binary plugin as: firstly I don't want to take away from your project, and secondly I don't want become an Ollama technical support person...
If anybody wants to use it: then they just need to install the plugin development stuff in Eclipse, use 'Import Fragments' and 'Export plugin' and it should work.

Hi jukofyork! Thank you very much for your edits. I will try to integrate your changes with the main branch. Cheers! /w.

No problem and I hope it is helpful :)
I've updated the README to hopefully better explain how to build/use the forked version, and have added a few pictures and notes that I might have forgot to mention above.
I have some other work I need to do for the next few weeks, but the next things I want to look at are:

Add a spell checker to the user input area as spelling mistakes can degrade LLM performance quite a lot.
TAB-autocompletion using a smaller/faster LLM. I'm not sure how feasible this is but was going to look at the Eclipse source to see how it does the autocompletion when you press shift+space.
Try to programmatically add custom prompts to the context menu. I've found the large "monolithic" prompts don't work that well and smaller / more focussed ones seem to work best. I saved a lot of smaller prompts I found on a website in JSON format in the quick-prompts.json file but havn't got any further (I also experimented with different CoT type prompts and some are in the Ideas.md file still).
See if I can fix the O(n^2) complexity of the streaming. I'm not 100% sure how though as multi-line Markdown syntax will make it very hard to decide when there is no need to go back to previous line(s), etc. I noticed OpenWebUI seems to buffer lines/paragraphs somehow as you can see things like code blocks, bolded text, etc suddenly "pop out" when it encounters the closing syntax; whereas your method doesn't do this and looks much nicer during the streaming.
See if I can add back the exponential-backoff code and generally make the API calls more robust. Ollama seems to have been fixing a lot of their memory-size calculations but I still get random OOM errors that cause the Ollama server to go down for a few seconds :frowning_face:

I'll be sure to share back anything I find and will have a look through your latest code when I get back to it - the fork is based on a pull I made sometime last December and I see you have made quite a lot of changes since then.
There are also quite a few changes to the Ollama API underway: OpenAI compatibility, function calling, etc are on their ToDo list, so it's probably a good time to leave it and see what they do next too.

I'm finding Ollama to be too buggy to use now - it seems each bug they fix they create 2 more and their Golang wrapper of llama.cpp's server is getting more and more impenetrable to fix anything... It's some strange mix of llama.cpp's server.cpp code from a few months ago, which imports and uses much newer llama.h and llama.cpp files... I can only see things getting worse in the future :frowning_face:
So it looks like I'm going to have to start using the llama.cpp server directly, but aren't sure if I should leave or just remove the Ollama server code now:

The recent bugs in Ollama now mean that the <> stuff doesn't work any more and only the last "user" message sent gets seen.
The fix they tried to make to the spaghetti code that handles the chat/completions endpoint now has the exact opposite bug with the system message (ie: it used to get ignore if you didn't have a default one defined in your modelfile, but now does the opposite).
They seem to have broken the {{.First}} variable for the go/text/template engine.

and so on... It's really so buggy now I don't actually trust what is getting sent to the server is actually what you expect.
The problem is that if I leave the Ollama code in then options like "Add Context" won't actually work (nor will any future multi-shot) prompts, but at the same time I'm reluctant to remove it as sometime in the future they may fix actually start to fix some of these bugs.

@gradusnikov
On another note I have been researching how the completion engine works in Eclipse:

https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_jdt_ui_javaCompletionProposalSorters.html&cp%3D3_1_1_28
https://help.eclipse.org/latest/index.jsp?topic=%2Forg.eclipse.jdt.doc.isv%2Freference%2Fextension-points%2Forg_eclipse_jdt_ui_javaCompletionProposalSorters.html&cp%3D3_1_1_28
https://stackoverflow.com/questions/6198648/clarification-about-location-of-a-class-in-eclipse-packages

and specifically the CDT code that is used for C++ completion:

https://github.com/eclipse-cdt/cdt/tree/main/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/contentassist
https://bugs.eclipse.org/bugs/show_bug.cgi?id=173458

It looks horrifically complex, but like anything in Eclipse it is probably not that bad if you can get a minimal working example running... I doubt I'll have time to look at this properly for a few weeks though, but I think it would be worth looking into.

@gradusnikov Not sure if you are still working on this, but I got the spell checker working now:
https://github.com/jukofyork/aiassistant/blob/main/eclipse.plugin.aiassistant/src/eclipse/plugin/aiassistant/utility/SpellCheckedTextBox.java
It should be pretty much a drop-in replacement for Text widget so very easy to add if desired. I think spelling mistakes likely hard LLMs quite significantly due to having to tokenise in strange / out-of-distribution ways, so it's probably a good way to boost quality for free.
With some more reading it should be possible to make it ignore text inside code blocks too, but haven't had chance to look yet.

This might also be useful for your temperature field:
https://github.com/jukofyork/aiassistant/blob/main/eclipse.plugin.aiassistant/src/eclipse/plugin/aiassistant/utility/DoubleFieldEditor.java
Not sure where I found the code for that but not having a real-valued scaler type was a serious oversight in SWT I think.

There is also this that I bookmarked:
http://www.java2s.com/Code/Java/SWT-JFace-Eclipse/SWTCompletionEditor.htm
It's very out of date from a 2004 book, but likely a good starting off point to implement auto-complete using "fill in middle" LLMs. If I get chance I will look into this a report back.

@gradusnikov
Not sure if you are still working on this, but I've got LaTeX rendering working via MathJax v3.2.2:
I had endless problems with this when I tried in the past, due to the formatting getting all mangled... But found a trick to avoid it via encoding as Base64 in Java:
    private static void flushLatexBlockBuffer(StringBuilder latexBlockBuffer, StringBuilder htmlOutput) {
        if (latexBlockBuffer.length() > 0) {
            htmlOutput.append("<span class=\"block-latex\">");
            htmlOutput.append(Base64.getEncoder().encodeToString(latexBlockBuffer.toString().getBytes()));
            htmlOutput.append("</span>\n");
            latexBlockBuffer.setLength(0);  // Clear the buffer after processing to avoid duplicate content.
        }
    }

Then decoding it from the HTML tags in JS:
function renderLatex() {
    // Convert block latex tags
    document.querySelectorAll('.block-latex').forEach(elem => {
        let decodedLatex = atob(elem.innerHTML);
        elem.outerHTML = '\\\[' + decodedLatex + '\\\]';
    });

    // Convert inline latex tags
    document.querySelectorAll('.inline-latex').forEach(elem => {
        let decodedLatex = atob(elem.innerHTML);
        elem.outerHTML = '\\\(' + decodedLatex + '\\\)';
    });

    MathJax.typeset();
}

I only tried this again after finding that o1-mini and o1-preview have no system message ability, and they just love to write huge walls of  LaTeX that was nearly impossible to read without rendering it... :frowning:
It should work on all valid LaTex; block and inline, using both the dollar and bracket delineators. The only thing it won't do is allow multiline $ or \( versions (in the same way as the inline single backtick for code won't), as there is probably too much chance to start scrambling other text due to these being common in some code anyway...
It also needs to be rendered only once, and the trick with highlight.js of auto-closing the Markdown code block whilst it's streaming the response messes up the expressions and/or causes warnings to flash up mid-expression.


Remvoing REM use from "lineHeight" property

REMs are units relative to a viewport's font size, so if it's set to a small one (like 8px) overlay would have lines jumping over each other

Probably change it here as well (to em) https://github.com/glenjamin/webpack-hot-middleware/pull/83/files#diff-1a1bba6c8b5211b37d2d1e57b2f90304L54

@yyx990803 not sure what do you mean, to me that link points to my change.

@Restuta sorry, obviously line numbers don't work in diffs: https://github.com/Restuta/webpack-hot-middleware/blob/patch-1/client-overlay.js#L54

@yyx990803 changed to "px"

Released as 2.9.1

yay


Support --net=container: for Windows containers (Process Isolation only)

Description
Support for Windows containers to share network Endpoints
Enable --net=container: for windows
Steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Additional information you deem important (e.g. issue happens only occasionally):
Output of docker version:
(paste your output here)

Output of docker info:
(paste your output here)

Additional environment details (AWS, VirtualBox, physical, etc.):

I am going to open a PR for this requested. So opened a new enhancement bug

You do not need to open an issue first if there is nothing to discuss eg the design. This issue is no use, so closing.


cluster-autoscaler ARM64 support

Details
Describe the solution you'd like:
The cluster-autoscaler from here:
https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler
doesn't work on ARM, since the image is built for AMD64.
Anything else you would like to add:
The based image used is the distroless image which is apparently not ARM compatible.
Tried to use arm64v8/amazonlinux as the base image, without any luck.
Additional Information:
Not succeeded yet to build the ARM / multi-arch cluster-autoscaler image.
Create an issue as well here for EKS on ARM support:
https://github.com/aws/containers-roadmap/issues/1022

ARM64 image: raspbernetes/cluster-autoscaler:cluster-autoscaler-chart-1.0.1 enjoy 👍


Possible structure for document

I think that covers most info in the document and some of the info that needs to go in. Each point can be built out, and while there is some overlap most of it is additive.

Let me know what you think and I can change or start working on building it out in a WIP MR

Let me know what you think and I can change or start working on building it out in a WIP MR

closing, but this is still a good structure


redis plugin only monitors one port

I pre-sharded my redis data and am currently running multiple instances of redis on a single server in anticipation of spreading the data across many machines in the future. However I cannot figure out how to monitor multiple redis instances on the same server with this plugin. It seems to show data from only one of the shards.

I actually get:
------------------------------------------------------------------------ [START]
/usr/local/bin/newrelic-plugin-agent Exception [2015-03-02T17:32:52.146031]
------------------------------------------------------------------------- [INFO]
Interpreter: /usr/bin/python
CLI arguments: /usr/local/bin/newrelic-plugin-agent -c /etc/newrelic/newrelic-plugin-agent.cfg
Exception: too many values to unpack
Traceback:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/helper/unix.py", line 92, in start
self.controller.start()
File "/usr/local/lib/python2.7/dist-packages/helper/controller.py", line 266, in start
self.run()
File "/usr/local/lib/python2.7/dist-packages/helper/controller.py", line 253, in run
self.process()
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/agent.py", line 118, in process
self.start_plugin_polling()
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/agent.py", line 280, in start_plugin_polling
self.config.application.get(plugin))
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/agent.py", line 108, in poll_plugin
thread.run()
File "/usr/lib/python2.7/threading.py", line 763, in run
self.__target(*self.__args, **self.__kwargs)
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/agent.py", line 308, in thread_process
obj.poll()
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/plugins/base.py", line 287, in poll
data = self.fetch_data(connection)
File "/usr/local/lib/python2.7/dist-packages/newrelic_plugin_agent/plugins/redis.py", line 148, in fetch_data
key, value = line.strip().split(':')
ValueError: too many values to unpack
-------------------------------------------------------------------------- [END]
with that configuration.


Errors using FetchContent_Declare and FetchContent_GetProperties to get cryptopp-cmake

If I understood it correctly, then from version 8_7_0 the Cryptopp library is being downloaded as a submodule. Which was the case for me so far until I've deleted my build folder with the _deps folder. But now I'm getting errors and I want to know if this is still the way to get cryptopp-cmake and if it's still getting cryptopp library as part of the process.
############################################################################################
# Get the CryptoPP CMakeLists.txt File for CryptoPP Package GIT_TAG Must be the Same
############################################################################################
set(CRYPTOPP_CMAKE "cryptopp-cmake")
set(CRYPTOPP_CMAKE_GIT_TAG "CRYPTOPP_8_7_0")
message(CHECK_START "Fetching CryptoPP-CMAKE (${CRYPTOPP_CMAKE_GIT_TAG})")
FetchContent_Declare(
    ${CRYPTOPP_CMAKE}
    GIT_REPISITORY  https://github.com/abdes/cryptopp-cmake.git
    GIT_TAG         ${CRYPTOPP_CMAKE_GIT_TAG}
    GIT_SHALLOW     ON
)

FetchContent_GetProperties(${CRYPTOPP_CMAKE})
if(NOT ${CRYPTOPP_CMAKE}_POPULATED)
    FetchContent_Populate(${CRYPTOPP_CMAKE})
    add_subdirectory(${${CRYPTOPP_CMAKE}_SOURCE_DIR} ${${CRYPTOPP_CMAKE}_BINARY_DIR})
endif()

The error that I'm getting is related to FetchContent_Populate(${CRYPTOPP_CMAKE}) line.

-- Fetching CryptoPP-CMAKE (CRYPTOPP_8_7_0)
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.22/Modules/ExternalProject.cmake:2882 (message):
[cmake]   No download info given for 'cryptopp-cmake-populate' and its source
[cmake]   directory:
[cmake]
[cmake]    F:/hmmenc_client/build/_deps/cryptopp-cmake-src
[cmake]
[cmake]   is not an existing non-empty directory.  Please specify one of:
[cmake]
[cmake]    * SOURCE_DIR with an existing non-empty directory
[cmake]    * DOWNLOAD_COMMAND
[cmake]    * URL
[cmake]    * GIT_REPOSITORY
[cmake]    * SVN_REPOSITORY
[cmake]    * HG_REPOSITORY
[cmake]    * CVS_REPOSITORY and CVS_MODULE
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "F:/hmmenc_client/build/CMakeFiles/CMakeOutput.log".
[cmake] See also "F:/hmmenc_client/build/CMakeFiles/CMakeError.log".
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.22/Modules/ExternalProject.cmake:3716 (_ep_add_download_command)
[cmake]   CMakeLists.txt:15 (ExternalProject_Add)
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[cmake] See also "F:/hmmenc_client/build/_deps/cryptopp-cmake-subbuild/CMakeFiles/CMakeOutput.log".
[cmake]
[cmake] CMake Error at C:/Program Files/CMake/share/cmake-3.22/Modules/FetchContent.cmake:1075 (message):
[cmake]   CMake step for cryptopp-cmake failed: 1
[cmake] Call Stack (most recent call first):
[cmake]   C:/Program Files/CMake/share/cmake-3.22/Modules/FetchContent.cmake:1216:EVAL:2 (__FetchContent_directPopulate)
[cmake]   C:/Program Files/CMake/share/cmake-3.22/Modules/FetchContent.cmake:1216 (cmake_language)
[cmake]   CMakeLists.txt:123 (FetchContent_Populate)

I'm using VScode v1.72 and CMake v3.22.3 on Windows 11. CMakeOutput.log and CMakeError.log didn't show anything reasonable.

Replace GIT_REPISITORY by GIT_REPOSITORY and it should work :-)
Not sure however why you use FetchContent_Populate vs. FetchContent_MakeAvailable as suggested in the FetchContent docs. You don't need to override anything or control anything in cryptopp-cmake build. It's designed to work just like that...

@abdes Thanks. Well that's awkward, In my head this typo was autocorrected 😅. FetchContent_Populate was set some time ago and I didn't have the time to change it into this one-liner FetchContent_MakeAvailable. Regardless of which one of the options I use, I still have errors using the Cryptopp library. I have this defined:
#include <cryptopp/secblock.h> // Previously it was #include "secblock.h", which stopped working as well
using secure_string = std::basic_string<char, std::char_traits<char>, CryptoPP::AllocatorWithCleanup<char>>;
using secure_stringstream = std::basic_stringstream<char, std::char_traits<char>, CryptoPP::AllocatorWithCleanup<char>>;

And I'm getting the error:

ui_helper/ui_helper.h(15,10): fatal error C1083: file (Include) can't be opened: "cryptopp/secblock.h": No such file or directory

secblock.h can be found in build\_deps\cryptopp-cmake-build\_deps\cryptopp\secblock.h
In my CMakeLists.txt I also have this
target_link_libraries(<my_project> PRIVATE
    ${CRYPTOPP} # CryptoPP static lib
)

target_link_libraries(<my_project> PRIVATE cryptopp::cryptopp)

cryptopp::cryptopp is the new universal target name you depend on.
By the way, dynamic link shared lib is not supported anymore. If you really want it, you should use Wrapper DLL.


NTR: [proposed new term label]

Please provide as much information as you can:

Suggested term label:

interleukin-22-mediated signaling pathway

Definition (free text)
The series of molecular signals initiated by interleukin-22 binding to its receptor on the surface of a target cell, and ending with the regulation of a downstream cellular process

Reference, in format PMID:#######

PMID: 34755534

Gene product name and ID to be annotated to this term

IL22_HUMAN (Q9GZX6 )
IL22RA1_HUMAN (Q8N6P7 )

Parent term(s)

GO:0019221 cytokine-mediated signaling pathway

Children terms (if applicable) Should any existing terms that should be moved underneath this new proposed term?

GO:0042018 interleukin-22 receptor activity
GO ??? negative regulation of interleukin-22-mediated signaling pathway
GO ??? positive regulation of interleukin-22-mediated signaling pathway

Synonyms (please specify, EXACT, BROAD, NARROW or RELATED)

Cross-references

For enzymes, please provide RHEA and/or EC numbers.

Can also provide MetaCyc, KEGG, Wikipedia, and other links.

Any other information

+[Term]
+id: GO:0140865
+name: interleukin-22-mediated signaling pathway
+namespace: biological_process
+def: "The series of molecular signals initiated by interleukin-22 binding to its receptor on the surface of a target cell, and ending with the regulation of a downstream cellular process, e.g. transcription." [PMID:34755534]
+synonym: "IL-22-mediated signaling pathway" EXACT []
+synonym: "interleukin-22-mediated signalling pathway" EXACT []
+is_a: GO:0019221 ! cytokine-mediated signaling pathway
+relationship: part_of GO:0071345 ! cellular response to cytokine stimulus
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/23535 xsd:anyURI
+created_by: pg
+creation_date: 2022-06-22T11:15:07Z


Create Better Filters

Current filter starts with the item type, second filter should only blend out the items but keep the data loaded.

Closed with PR


Nyord

Nyord - Crypto + Fiat Expense Tracker
How would you describe your project?
Money is extremely volatile. If not kept a proper record of, one can easily mismanage their funds, forget essential bills and payments, spend more than the required amount on unnecessary shopping, etc.
Nyord (Website/App) solves the problem of tracking these expenses for the user. Since TNB is more likely to become an everyday currency, the requirement to keep a track of the amount spent (or to be spent), bills paid (or to be paid), essentials bought (or to be bought), etc can definitely make life slightly easier for everyone.
A web app that helps users track both their crypto (MVP: TNBC) and fiat expenses.
What problem does this project solve?

Keeping a track of monthly essential spending
Keeping track of free-spending
Helping users meet their saving goals
Reminders for weekly and monthly payments
Financial Calendar to track and manage expenses
Using graphs for better visualization and facts about user's spending pattern

Who is the target market?
The project's target market is

normal users who are looking to make their life less frustrating by managing their expenses
people looking to make the most out of their money
project managers who have to hand out payments to people working for them
freelancers who have earning goals
businesses that have a manual earning/selling system

How will this project benefit the network and/or the community?

It aims to provide project managers a way to track the money spent during the development of their projects
The project aims to provide the people of the community a chance to earn TNBC
In the long run, the project aims to provide the normal users a way to track their expenses when TNB becomes a part of the economy and infrastructure (daily usage coins)
(Possible feature) It aims to provide the government a way to track the money released by the treasury (in case it is required to be tracked)

How is this project centered around thenewboston?
The project will keep a track of TNB spending of users, along with their fiat expenses.
What is the estimated completion date for this project? (rough estimates are acceptable)
MVP should be completed by May 2022
Please include a detailed roadmap for your project below. This must include a list of all milestones where payments will be awarded upon completion of each.

Project Planning (User flows and Wireframing)
Logo Designing and Web app UI/UX
Backend Development
Frontend Development
Staging and Testing (Test Launch)
Full Launch

What is your Discord username?
Niekon01#0116
Additional files and documentation including architectural diagrams, wireframes, research documents, visuals, etc… (optional)
TBA
Milestone 1 - Minimum Viable Product (MVP) Details
The MVP aims to include the following features:

Account Creation
Linking wallet to account
Adding/removing/editing expenses
Spendings based on categories
Balances - Fiat and TNBC
Checking monthly expenses and insights
Monthly reports

Objectives for MVP

#
Objective
How can auditors verify milestone?

1
MVP
They can verify the working of the project during the staging phase

How long do you estimate for the MVP to complete?
3-4 Months
Project Wallet
7dd8233cacae817b636a3790bbab9731535787955a5767aada4a193f0ee135b7

Link for inspiration btw. ☝
https://www.accointing.com/app/wallets

Approved.


error updating pageflow

NameError: uninitialized constant Pageflow::BuiltInPageType
when we run: "bundle exec rake db:migrate"
db-migrate-error.txt

You need to follow the upgrade steps in the changelog. For this particular case, see first item in breaking changes section.

Thank you first! - Sorry, but Changelog didn't help, we get the same Error-List

Well, search for occurrences of BuiltInPageType in your app (most likely in config/initializers/pageflow.rb). If you replaced all occurrences (as described in the changelog), the error cannot happen anymore.


MVP

Finish the core room and layout

[x] home page
[x] real-time room functionality with Firebase

[ ] add button to close room
[ ] disallow users from entering a closed room
[ ] refactor /new page to toggle between 'enter room' and 'create room' functionality


Changes to the "Error return values" section around exception handling

The docs were stating that the error return value issue for non Python object returning functions did only apply to cdef functions, but cpdef functions are also treated like this.
It was unclear what was meant by "ignoring" an exception, clarified that it triggers a return
The default value for returning (0/False) was missing
There was no warning of receiving the results of a Cython exception in Python
Exception Example: Added examples to show the default error return behaviour, and to highlight some of the issues faced

I experienced some unexpected behaviour around Cython exceptions, and after digging into the behaviour I have updated the docs to reflect this.

I've tried to clarify the section in 84d7f74248cc7f11b72ac4455446844e3adc3e9a. Please tell me if you think that there is still something unclear and/or to be improved.
@ptype, thanks for bringing up these issues, and sorry for conflicting with your PR.

@scoder glad to see the new language in 84d7f74, I think it reads much clearer. I made another PR regarding slight changes. Personally I still think it would benefit from a warning around the default values returned (i.e. False/0), and an example (granted it could be shorter then previously suggested). Happy to make a PR for those if that's something you are minded to accept. You may close this PR. Thanks.


Update meilisearch-php to v0.14

Updated the meilisearch-php dependency to v0.14.0. This fixes any locked dependency issues with guzzle 6 to allow any psr18 compatible HTTP client to be used instead.
This will fix #43.
As Laravel comes with Guzzle out the box, we do not need to require the additional installation of the following dependencies php-http/guzzle6-adapter:^2.0

Hello @bensherred
You still need: http-interop/http-factory-guzzle else the http/discovery will not be able to found the factory.
No PSR-17 request factory found

Ah that makes sense, I've gone ahead and added that. Thanks for your help @shokme.

There is a problem, you need to instantiate Guzzle inside the MeilisearchServiceProvider that break all laravel version that are not using Guzzle 7.
But I found a potential solution I have to discuss with ppshobi about it. see you in https://github.com/meilisearch/meilisearch-php/issues/76

Has laravel framework its own HTTP client that we can provide?
Shouldn't we add guzzle 6 as a dependency in this package?

@curquiza Laravel has a HTTP Client but it's just a wrapper for Guzzle. We can't require guzzle 6 either as Laravel 8 now uses Guzzle 7 instead.

Following the updates to meilisearch/meilisearch-php, did we want to try using the alpha here as well? Currently we can't use the scout driver with Laravel 8 so might be helpful to try that.

Hum, not really good to have an alpha version in our codebase. Plus if everything is good during testing, I will create the official v0.14.1 this afternoon after my lunch (Paris local time 😅). All should be fixed at the end of this day (Paris local time again sorry) maximum.

Ah, that makes sense, I wasn't sure what your plans were on an official release. No point updating supporting alpha if it will likely be released this afternoon.

Thanks again for this PR @bensherred!
Could you rebase your branch, please? 🙂

Not sure if I am doing something wrong with the rebase @curquiza?

@bensherred, you did not do the first step Add the main repository as a remote, see the error: 'upsteam' does not appear to be a git repository.
I don't know if you join to our Slack, but if you want direct chatting for the rebase, join us (I'm Clementine).

If you think all is ready @shokme, you can merge when you want! 🙂


Need to calculate pricing based on TFT price and pricing defined in library

So, currently we using PricingPolicies to define the price in TFT for usage on the grid.
See: https://library.threefold.me/info/threefold/#/tfgrid/grid/pricing
Since PricingPolicies are defined in TFT price, and the TFT price fluctuates we are going to need to manually update that pricing policy ourselves the whole time. We don't want to do that.
The solution here is to use the Pricing Policy to define the price on chain in mUSD. At runtime, we check the average TFT price (https://github.com/threefoldtech/tfchain_tft/tree/main/pallet-tft-price) (this pallet can do that) and we calculate the amount of mTFT due.

Use existing Pricing Policy struct to define price in mUSD
Hook up TFT price pallet in the SmartContractModule to fetch the average price (import the pricing pallet in the runtime)
Calculate total amount due in mTFT based on the Pricing Policy (mUSD) and TFT price

Pricing Policy struct: https://github.com/threefoldtech/tfchain_pallets/blob/development/pallet-tfgrid/src/types.rs#L106-L124

Live on devnet and testnet


[bug] NOT NULL constraint failed: django_loci_floorplan.floor

IntegrityError at /admin/testdeviceapp/device/add/
NOT NULL constraint failed: django_loci_floorplan.floor

Steps to reproduce:

Create a device with new indoor environment, flag it as mobile
In the "Indoor coordinates" section, do not fill  a value for floor.
Complete the rest of the form correctly.
Submit

I cannot replicate this issue in django-loci, trying on master.
When I create a device with type indoor and supply no floorplan information, the browser asks for confirmation that I want to save an indoor device without supplying indoor coordinates, I confirm that and the device gets saved without issues, which is OK, because sometimes people need to create objects, flag them as indoor but they can't set the indoor coordinates in that moment, they defer that for the future, we recently changed the code to allow this.
So what is the issue? @Purhan were you able to replicate this issue in the dev environment? Were you able to write a failing test to replicate the issue? That's what we have to do before trying to fix something.
@atb00ker can you replicate this issue on the current master after running all the migrations?

So what is the issue? @Purhan were you able to replicate this issue in the dev environment?

Yes, I was able to replicate the issue for the exact settings as in the screenshot. I have pushed a patch in the commit above.

@nemesisdesign  Yes, I am able to do it in latest master, here is a screen recording: https://streamable.com/i9s6v1

Thank you very much @atb00ker, now is a lot clearer, the info of flagging it as mobile was missing from the issue description (I added it now), that's why I was not able to replicate it. I now remember that you wrote this in the general chat, but I forgot, so remember to always update the issue description when you find out that some key info is missing, otherwise we risk that multiple people will incur in the same issue repeatedly.
So, based on what I can see, the solution is clear, in this case a a ValidationError should be raised, while it's not being raised and then the saving fails on the DB side because the field is NOT NULL (rightly so).


Timepicker leave away from input

On input click, I think timepicker should be shown next to input field. It works like expected if the input is in main view of document. If the input is situated lower (we need to scroll to see it) and we click it, the timepicker is shown more higher, in the initial view page.

I cloned the project, build locally and use the compiled local version instead of the cdn version.
It seems a little bit better about vertical position issue.
But it seems there is still something to fix in horizontal position, when you have horizontal scrolls.

Oh I see, this need to be fixed. Are you able to provide a PR?

I didn't fixed code yet. I'll do it asap

Is it already possible to use package or the bug is remaining?

Is this bug resolved? As im still facing this issue

Hi, nobody have fixxed the bug, yet? If somebody did, please make pull request because I need the library for my thesis, but I'm not able to fix it :(

the sample in test/e2e seems working.
So...we need an example with the issue in order to fix it

Can anyone test this bug against released v3?

I try use v3, on desktop, it's display on right position..
but in mobile not..

The issue still happens in 3.0.0. I used it on a Joomla page, with the input field behind a tab made with Bootstrap.

In the show() function, changing this line:
var targetOffset = picker.target.offset;

To the following:
var targetOffset = getOffset(picker.target.element);

Solves the problem for me


Mechanicalsoup: Link not found Error

Hello,
I've tried your code, and i've run into an error on websites logins:
Traceback (most recent call last):
  File "Cr3d0v3r.py", line 119, in <module>
    main()
  File "Cr3d0v3r.py", line 111, in main
    print( login( wd ,dic ,email ,pwd ) )
  File "Cr3d0v3r.py", line 43, in login
    browser.select_form(form)
  File "/home/louis/.local/lib/python3.5/site-packages/mechanicalsoup/stateful_browser.py", line 175, in select_form
    raise LinkNotFoundError()
mechanicalsoup.utils.LinkNotFoundError

Here's a screenshot aswell:

Cheers,

Same issue

Same here.
`
[+] Testing websites with one form (14)!
-[   Vimeo   ] Login successful !
-[  Ask.fm   ] Login unsuccessful!
Traceback (most recent call last):
File "Cr3d0v3r.py", line 120, in
main()
File "Cr3d0v3r.py", line 112, in main
print( login( wd ,dic ,email ,pwd ) )
File "Cr3d0v3r.py", line 44, in login
browser.select_form(form)
File "/home/user/.local/lib/python3.5/site-packages/mechanicalsoup/stateful_browser.py", line 175, in select_form
raise LinkNotFoundError()
mechanicalsoup.utils.LinkNotFoundError
`

Ok fixing it ASAP

Make sure at first you are running it with python3

Released a hotfix check it out and reopen please if the problem stays!


Serialisation and stock item 'movement'

How to handle uniquely identifiable items? How to handle batched items? Are they special cases of stock items.
Generic stock items can be put into a serialised stock item, and the generic parts disappear. Batched items or other serialised items must not disappear - they should have a 'location' of the higher level item. How do batched items get split up for use in assemblies?
Can non-serialised parts come back out of an assembly, but then retain their link? This could be useful in the case of parts that are removed during a repair.
Is there ever a use case for a stock item (that is unique) not corresponding to a part? This could be used to deal with one off items that need to be tracked/have notes.

@jnewlands Could you verify with the latest version of InvenTree if your requests have been implemented, and what's missing?

@eeintech this one has definitely been addressed now - I have discussed this one with @jnewlands
Thanks for bringing attention to these old PR's :)


Dev

Coverage decreased (-0.1%) to 52.786% when pulling c3f74b73230e76fa58fc97633acb57a8a4cae791 on dev into 62dce15d45688fea481e88a55f0ccce4bb8c7201 on master.


Missing application-id on application upgrade command

New versions of Service Fabric CLI require the application-id parameter on the application upgrade command. Checking the SFCommandBuilder class one can notice that this param is missing on the command definition (line 35).

@milovaz  thanks for pointing this out. Will fix this.

Fixed it in #17


flutter_tools test failure

I reliably get this test failure. @devoncarew
00:02 +31 -1: test/create_test.dart: create flutter-simple
Expected: <0>
Actual: <69>
package:test                                         expect
test/create_test.dart 37:31                          defineTests....
dart:async                                           _SyncCompleter.complete
package:flutter_tools/src/commands/create.dart 96:9  CreateCommand.run.
dart:async                                           _SyncCompleter.complete
package:flutter_tools/src/dart/pub.dart 41:7         pubGet.
dart:async                                           _SyncCompleter.complete
package:flutter_tools/src/base/process.dart 57:3     runCommandAndStreamOutput.
===== asynchronous gap ===========================
dart:async                                           _Future.then
test/create_test.dart 37:12                          defineTests...
===== asynchronous gap ===========================
dart:async                                           Future.Future.microtask
test/create_test.dart                                defineTests..
dart:async                                           runZoned
package:flutter_tools/src/base/context.dart 60:12    AppContext.runInZone
test/src/context.dart 65:24                          testUsingContext.

I presume on linux-x64?  What does flutter doctor say?

00:02 it's failing very quickly, so it's not a pub timeout. That test creates a new sample project, runs pub on it, and analyzes it. We've had issues with the relative paths that we stick into the pubspec (from the pubspec to the flutter repo checkout).
It passes for me here. Can you paste in the pubspec that it creates and /or verify that the relative path is correct?

name: flutter_toolspzpkDn
description: Create a new Flutter project.
dependencies:
  flutter:
    path: ../../usr/local/google/home/johnmccutchan/workspace/flutter/flutter/packages/flutter

Which looks correct.
Running pub get results in the following:
Resolving dependencies...
Could not find package sky_engine at "../../usr/local/google/home/johnmccutchan/workspace/flutter/flutter/bin/cache/pkg/sky_engine".
Depended on by:
- flutter 0.0.21

I've "fixed" the failure by running "./bin/flutter" once from the top level, triggering the download of sky_engine.

@johnmccutchan Do you still get this? What are your steps to reproduce?

I haven't been affected by this since my initial bug.

Ok. I'm going to close this since we don't know how to reproduce it. Please don't hesitate to reopen or file a new bug if you see it again.


Remove subscriptions

Description
Changes proposed in this pull request:

remove old code for subscriptions,
remove translations,
introduce new SubscriptionsList component for Services.

Related issue(s)
Closes #2042

/retest

/retest

/retest


Ethereum app not working with api

Hi there.
I've noticed that the api runs into errors when trying to run the sample code with the Ethereum app opened instead of Bitcoin.
First off, I noticed that LedgerClient.GetHIDLedgers() returns a 0 length IEnumerable when the "Browser Support" setting is enabled on the Ledger Ethereum App. When Browser Support is disabled, I do end up getting a proper result with LedgerClient.GetHIDLedgers().First().
However, any call I make after that gets me a LedgerWalletException: INS not supported. Even a simple call where I can't really make any mistakes, such as ledger.GetFirmwareVersion() runs into the same exception.
When running this same code on the Bitcoin app for example, I get the proper firmware version and don't run into any exceptions.
This was tested using the latest firmware version of the Ledger.

I don't know about how the Ethereum app is working, but it has probably different API than Bitcoin.

I decided to look more deeply into this to determine more accurately what was going on, and discovered a few things in the process.
It is not only the Ethereum app which runs into the LedgerWalletException: INS not supported, but it is several apps. Ethereum, Ripple, Stellar, Nano, and Ark all run into the same error when performing any call, such as ledger.GetFirmwareVersion() for example. The one thing these apps all have in common is they are the only apps (that I found) on the Ledger which have Settings in the app. The Bitcoin app, Dogecoin, Dash, and many others, have no Settings in their app, and they all function fine with the ledger.GetFirmwareVersion() call. The contents of Settings can vary. Some will have the "Browser Support" option, while others have different ones, but they all run into the error no matter what if they have Settings.
I decided to sniff around in the code a bit to see where things actually started changing. In HIDTransportBase, in the Read method, on line 182, when the data is read from the HID, is where the data starts to differentiate. The packet byte[] with the Bitcoin app is the same as every other app without Settings, while the packet byte[] with the Ethereum app is the same as every other app with Settings. So then finally, when the command is unwrapped on line 185, the result is incorrect and completely different, which is what ends up causing the error I think.
Do you have any plans on looking into this and potentially providing a fix for it? If not, do you have any idea how I might go about approaching a fix for this?

I will not look into this myself, but I would be happy to merge any PR you would make as long as it does not break Bitcoin related currencies.


PWN-3891 - UI Kit Cells Atoms

Jira Ticket
https://p2pvalidator.atlassian.net/browse/pwn-3891
Description of Work
Implemented following cells atoms:

UiKitBadgeView
UiKitCounterView
UiKitLeftAmountView
UiKitRightAmountView

Screenshots

Old way of ContextCompat methods were used. Should be replaced with utils


Form training issue.

The result on lines was great we achieved similar results as the iam dataset but i am having traouble with form training.
I am training using 100% syntetic data which worked well for lines. I can use maximum 8 batch size for forms and am using accumulate_grad_batches 4 with effective batch size 32.
I did all the necessary things in the code to use our turkish dataset and the images seem good in the tensorboard. The structure of this dataset is very similar to iam too so i don't think the issue is in the dataset/dataloader.
I was able to get the loss to decrease to 0.5 but the wer or cer metrics hardly dropped below 1 and the predictions are terrible.
Also when i load model and start training from there, the loss and other metrics start from some arbiterary numbers like im starting from scratch and don't get back down again.
I don't know if i'm doing anything wrong. Maybe the loss need to get even lower to start seeing results. Hope you can help.
Thank you.

I have faced the same issue with training on forms. This is also stated at the top of the README.md. So unfortunately, I cannot help you much with this. Perhaps an option would be to stick to line-level training, in combination with some sort of automatic line extraction algorithm (if you want to apply it to forms). For example, you could try the A* algorithm: https://github.com/smeucci/LineSegm, or https://github.com/tobiasvanderwerff/LineSegm


Taproot signing - tapBip32Derivation unsupported

Hi,
I am trying to sign a simple taproot PSBT transaction generated by sparrow wallet (one input, 2 outputs) and I hit this error:
if (input.tapBip32Derivation) throw new Error('tapBip32Derivation unsupported');
Is this planned to be implemented?
Thanks!

Would be nice to have, but no immediate plans.

Is this issue also fixed with https://github.com/paulmillr/scure-btc-signer/issues/101? Would love to see this included in a release.
My use case is that I'm using bip32Derivation/tapBip32Derivation as a way of passing which key to use metadata when handing off a PSBT to another part of the code to do the signing.

yeah just need to fix npm run build


CMS Toolbar - Sites dropdown

When there is a large number of sites within the sites framework, the CMS toolbar starts glitching up and down when hovering over the sites dropdown menu.

@leesolway thanks for the report. Would you be able to provide a screencast to evaluate?

@leesolway Hi, we're interested in this because good interaction with the sites framework is something we're planning to look at, but we need more information.
For example, how many is "large"? What browser are you using? And could we have a screencast or screenshot please? Thanks.

I will try and mock something tonight to showcase the issue. It shouldn't be hard to replicate.

@leesolway Hello, do you have any more information for us? Thanks.

@leesolway it might be that the problem manifests in content mode when you open a menu that is longer than the screen height. if that's the case, could you check if https://github.com/divio/django-cms/pull/5288 fixes the problem for you?

@vxsx Nice! That seems to fix the issue.


Add standard links to the footer (privacy/TOS)

[ still to be confirmed ]
Pending confirmation, we may need to add footer links to the following items:
Privacy Policy
Terms of Use
Contributor License Agreement

I confirmed that these links should be added.


Incompatiable with certain torch versions

Unable to generate prompts.
System: Mac Silicon
File: stable-diffusion-webui/extensions/stable-diffusion-webui-promptgen/scripts/promptgen.py", line 119,
RuntimeError: tensors must be 2-D```

I had this exact error too, on Mac Silicon

Same here.


source file

@SamvruthaShaji Hey, thanks! Can you also delete the .java files present outside the src directorry and push again?

Nice! Merging!


[bug 1138847] Fix clean "categories" when no category is selected.

Plain "cdata" dict lookup raises KeyError
Add default=None and use cdata.get() instead

@akatsoulas r?

r+wc

Coverage remained the same at 91.78% when pulling 756cfb629f026ae2437c6a2540d9f6b8fa1d63a0 on johngian:fix-categories into ef442f5f25fdede32f6704ac30b34ab9e97e0149 on mozilla:master.

Coverage remained the same at 91.78% when pulling 95c6fb3ade91e9375c468d5850332f3730e19e4c on johngian:fix-categories into ef442f5f25fdede32f6704ac30b34ab9e97e0149 on mozilla:master.


New limitations of Power Bi

Great work of the library, many thanks!
Just to mention new power bi limitations, which caused to failures using spark-power-bi.
1,000,000 rows added per hour per dataset
120 POST rows requests per minute per dataset
5 max pending POST rows requests per dataset
I've tried to send big data set using the library, and got errors after 200K:
"java.util.concurrent.TimeoutException: Futures timed out after [30 seconds]"
So when I put delay between calls, I succeeded to send 1M rows, and have got this exception:
"Maximum number of rows exceeded in time window. Please retry later". It forces to implement logic which takes into account hourly increment

Yes, unfortunately there's not much way around the limitations of the Power BI API. If you're dealing with high frequency or high volume data streams the best bet would be to push to Event Hubs or just use another dedicated storage system (Azure Blobs, HDFS, SQL, DocumentDB, etc.).
The 5 concurrent requests is currently handled by coalescing the RDD per batch down to 5 partitions, but unfortunately that can lead to performance degradation since it reduces the parallelization. It also does batching internally to send only 10,000 rows at a time per POST request which is the other limitation per the docs here https://msdn.microsoft.com/en-us/library/dn950053.aspx.


Update README overview explanation image

What this PR does / why we need it:
Use the same picture as we use for https://pipecd.dev/docs/overview/
Which issue(s) this PR fixes:
Fixes #
Does this PR introduce a user-facing change?:

NONE

🆗
/lgtm


revert listmoves and update getmove

I-12556
Point the prime sim getMTO to getMTOV2 in attempt to fix issue

Warnings

:warning:
This PR does not include changes to unit tests, even though it affects app code.

  Generated by :no_entry_sign: dangerJS against 22e61e9556205d3cba5e7a22a2f68a50a0acff94


Update Mac script

This pull request adds a few things to the shell script for Mac.
In particular:

Adds a hash bang for sh
Recursively deletes the __MACOSX directories from the archive
Allows users to specify the location of Python in the first few lines
Prevents running brew as root
Removes source because sudo doesn't have shell
Uses the built-in Python venv module if virtualenv doesn't exist
Adds set -ex at some points to help visualize what's happening and exiting when something fails

Incorporated directly. Thanks!


WebSocket API

Expose all of the current daemon commands via an asynchronous WebSocket API. Essentially this will be almost identical to the current HTTP based JSON-RPC API but over WebSockets where it can be truly asynchronous. For get command provide continuous progress reporting messages.

We need better notifications about publish process + reflection - both should be solved by this epic, but if there's anything we can do before that, the better.

next step: @eukreign will be making a list of what needs to happen. then we will review together


[jhw] fix reserve keywords

The reserved keywords check was case sensitive and incomplete. Was breaking on TTL in my code base.

Looks good! Merged.


Consider using a framework

Implementing this in Vue or something would make this

a lot easier to make update to
have way shorter code

Newest website is built in react


[Question] How do I get to the current route outside of a ?

Hi.
I have this situation:
<BrowserRouter>
  <Menu/>

  <Route path="/" component={Home}/>
  ...
</BrowserRouter>

What I want is my Menu to render the active item based on the selected route.
The problem is that these props are only available to the component of a Route, and not to all children of BrowserRouter.
How do I get this to work?
gr,
Tom

I don't understand what you mean by "I want my Menu to render the active item". What is the active item?
The <NavLink> is a special <Link> that will add an "active" class and/or style to a <Link> when its to prop matches the current location.

With Active Item I meant that I want to use the match prop's data to decide
which menu item to activate / show an active class on. The JSX used for
this may vary but right now I'm using Semantic UI React. I don't think a
Link with an active prop is enough since the JSX used to render the menu
may change per implementation/webapp.
Since a Link renders to an <a> tag, if only that elements gets an active
class then that might not be enough for a CSS framework because for example
it might use the active class on a parent <li> item instead.
On Thu, Apr 6, 2017, 18:30 Paul Sherman<EMAIL_ADDRESS>wrote:

I don't understand what you mean by "I want my Menu to render the active
item". What is the active item?
The  is a special  that will add an "active" class and/or
style to a  when its to prop matches the current location.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/ReactTraining/react-router/issues/4921#issuecomment-292230146,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAM9ayhOyMrE-Vix0VQ5rG3V-3Ll5MTks5rtRM3gaJpZM4M1V6I
.

NavLink is actually pretty easy to read through. It's just wrapping a Link in a Route. So, you can do the same thing to add a class or whatever else you want.
One important thing to note: In 4.0, there is no singular match. Route can be used anywhere and multiple Routes can match at the same time. So, the concept of which Route is matching is intentionally gone. If you need that kind of behavior, check out setting up a route config in the docs.


WIP: added documentation for circe-derivation

adds documentation for circe-derivation
closes https://github.com/circe/circe-derivation/issues/188

Thanks! The content looks good to me. The CI failure is because we'll need to add circe-derivation to the docs build (since they're compiled). I can look at that this weekend, unless you want to take a shot at it sooner.

yes i am waiting for the new release of circe-derivation to link to as old will give errors
will update this once after release

@shrynx Ah, got it, makes sense. I'll try to get around to publishing an M4 today.

@travisbrown i added circe-derivation to deps but not sure why is one failing

@shrynx It says the build was stalled, so probably just Travis CI being Travis CI. I restarted the job.

@travisbrown looks like it is getting stuck only on scala 2.12.10

Closed due to age.
Please notify maintainers if this is done in error.


Relax DispatchLinalgOnTensors pass to clone ops in differnt blocks.

After looking into this a bit, I think this is fine. We never violate SSA use-def chains when we pull things in, and the dominance relation should still hold. We can put this back if we see issues.

Yes, I won't violate SSA use-def. The orderOps function handles the dominance relation. Thanks for checking on this!


Warning not imported in utils.py

When a warning in utils.py is raised, an exception occurs because warn is not imported.
Adding the line
from warnings import warn
will fix the problem

Already discussed in this issue.


Add url to the SRPMBuildModel

Closes #862

Add URL to the SRPMBuildModel that points to the built SRPM uploaded to
COPR
Set URL after starting COPR build
Fix tests to reflect it

Signed-off-by: Matej Focko<EMAIL_ADDRESS>TODO:

[ ] Update build_info

[ ] Fix tests

[ ] alembic

[ ] Add links for older SRPMs

[ ] Add link to requests to API (?)
[ ] Fix requre tests...

This issue has been marked as stale because it hasn't seen any
activity for the last 60 days.
Stale issues are closed after 14 days, unless the label is removed
by a maintainer or someone comments on it.
This is done in order to ensure that open issues are still relevant.
Thank you for your contribution! unicorn rocket robot
(Note: issues labeled with pinned or EPIC are
never marked as stale.)

yikes... rebase is ready, will finish and push

This issue has been marked as stale because it hasn't seen any
activity for the last 60 days.
Stale issues are closed after 14 days, unless the label is removed
by a maintainer or someone comments on it.
This is done in order to ensure that open issues are still relevant.
Thank you for your contribution! unicorn rocket robot
(Note: issues labeled with pinned or EPIC are
never marked as stale.)

yikes... rebase is ready, will finish and push


What's the current state / roadmap?

I've been playing with apollo-passport some time ago, and was waiting for it to become "production" ready. Now I see that it has been replaced by js-accounts.
What's the current state of this project? Can I install packages and get a working proof of concept, or is it to early for that?
I've seen the readme of course, but that one doesn't really have any information in it yet.
I don't want to rush you, just a big fan and waiting for a project like this to become useful. Something like "Meteor accounts" outside of meteor would be awesome. :heart:
Thanks for your great work!

Hey @smeijer the project is still under development right now, but you can find a working example here.


Add functionality to bind custom IP address for Etcd metrics endpoint

Proposed Changes
k3s doesn't allow users to scrape metrics for etcd because it's bonded to localhost

Types of Changes

Added to cli flag to change bind address for etcd metrics
Verification

k3s server --etcd-expose-metrics true

Linked Issues

Further Comments

Hi, @brandond
thanks for reviwe
Do you know why test was failed?

[SERIAL-mysql] Removing test directory /tmp/5xd8wX | 1322s
-- | --
3841 | [SERIAL-mysql] + '[' -f /tmp/tmp.peQzYg5FeG ']' | 1322s
3842 | [SERIAL-mysql] + echo | 1322s
3843 | [SERIAL-mysql] | 1322s
3844 | [SERIAL-mysql] ++ basename /tmp/5xd8wX | 1322s
3845 | [SERIAL-mysql] + echo -n 'Test 5xd8wX ' | 1322s
3846 | [SERIAL-mysql] + '[' 1 -eq 0 ']' | 1322s
3847 | [SERIAL-mysql] + echo failed. | 1322s
3848 | [SERIAL-mysql] + echo | 1322s
3849 | [SERIAL-mysql] Test 5xd8wX failed.

Maybe need to run re-test again

Hi, @brandond
thanks for reviwe
Do you know why test was failed?

[SERIAL-mysql] Removing test directory /tmp/5xd8wX | 1322s
-- | --
3841 | [SERIAL-mysql] + '[' -f /tmp/tmp.peQzYg5FeG ']' | 1322s
3842 | [SERIAL-mysql] + echo | 1322s
3843 | [SERIAL-mysql] | 1322s
3844 | [SERIAL-mysql] ++ basename /tmp/5xd8wX | 1322s
3845 | [SERIAL-mysql] + echo -n 'Test 5xd8wX ' | 1322s
3846 | [SERIAL-mysql] + '[' 1 -eq 0 ']' | 1322s
3847 | [SERIAL-mysql] + echo failed. | 1322s
3848 | [SERIAL-mysql] + echo | 1322s
3849 | [SERIAL-mysql] Test 5xd8wX failed.

Maybe need to run re-test again

The sonobuoy tests frequently fail on flakey tests, I can restart it.

The sonobuoy tests frequently fail on flakey tests, I can restart it.

The sonobuoy tests frequently fail on flakey tests, I can restart it.

Right now one test is failed =(
[PARALLEL-postgres] | 946s
-- | --
3616 | [PARALLEL-postgres] + '[' -f /tmp/tmp.aKXsVNp17g ']' | 946s
3617 | [PARALLEL-postgres] + echo | 946s
3618 | [PARALLEL-postgres] ++ basename /tmp/Pc7Dnt | 946s
3619 | [PARALLEL-postgres] + echo -n 'Test Pc7Dnt ' | 946s
3620 | [PARALLEL-postgres] + '[' 1 -eq 0 ']' | 946s
3621 | [PARALLEL-postgres] + echo failed. | 946s
3622 | [PARALLEL-postgres] Test Pc7Dnt failed.

Please, could you re-run the test again?
Thank you

The sonobuoy tests frequently fail on flakey tests, I can restart it.

Right now one test is failed =(
[PARALLEL-postgres] | 946s
-- | --
3616 | [PARALLEL-postgres] + '[' -f /tmp/tmp.aKXsVNp17g ']' | 946s
3617 | [PARALLEL-postgres] + echo | 946s
3618 | [PARALLEL-postgres] ++ basename /tmp/Pc7Dnt | 946s
3619 | [PARALLEL-postgres] + echo -n 'Test Pc7Dnt ' | 946s
3620 | [PARALLEL-postgres] + '[' 1 -eq 0 ']' | 946s
3621 | [PARALLEL-postgres] + echo failed. | 946s
3622 | [PARALLEL-postgres] Test Pc7Dnt failed.

Please, could you re-run the test again?
Thank you


How should we explain the dual publication

User navigating to profiles should understand what they are looking at

they should know that ITI is different

They should know that PDF takes precedence if a difference is found
They should know that Change Proposals must come thru the same old method?

Perhaps we add a link to the HTML version at the same locations as the PDF version (on the ihe.net page) with the word PILOT or something similar.  Include "Instructions for use" wording that includes that the PDF is the bible (for now) and that all comments are (error, content, look and feel, navigation, etc.).

should also have ihe.github.io point at this publication (https://ihe.github.io/)

@lynnfel recommended today that the top of the HTML publication should warn the reader that this is experimental publication, reminding them that any conflicts with the PDF are not intended, and that the PDF is normative.


parser: rewrite to remove most conflicts

R/R conflicts should be avoided in LALR parsers (like ours) but we had
31 of them.
This completely restructures the parser to follow a more common
approach 1 which removes most of the ambiguities and should make
the parser easier to extend and understand.
The attach point part still has a r/r conflict which will be for a
follow up.
This still has a few s/r conflicts but those aren't as big of an issue
 warning: 4 shift/reduce conflicts [-Wconflicts-sr]
 warning: 1 reduce/reduce conflict [-Wconflicts-rr]

State 10 conflicts: 1 reduce/reduce
State 41 conflicts: 1 shift/reduce
State 51 conflicts: 1 shift/reduce
State 81 conflicts: 2 shift/reduce

I also changed the styling a bit, its now
node:
                     rule1
              |      rule2 {}
                     ;

Mostly because emacs did it for me but I think it works quite well. All rules start on the same column, independent of how ever long the node name is.


Send String to Solr

Can I send a JSON string to Solr ? Without have to deserialize to DataFrame.
Thank you

You should be able to. The code only de serializes based on the datatype passed from the Spark dataframe


Can DataConnector Function results put parameter values?

Sorry for my English.
How to get the list of selected parameters, not the table?

You'd need to create a custom code for it. Basically your own Navigation Table function that can accept the parameters and then transform that into something that could fit inside the "Navigator" window.
It is certainly possible to do it. Hopefully someone from the community or the Power Query SDK team could give you a free sample code if they've already done it before or perhaps any leads to accomplish it.
On top of my ahead, I'd try to figure out:

How many parameters you have

Count those parameters and the use List.Repeat along with List.Transform to create my own special Nav Table

Reconfigure the published primary function of the custom connector so it accepts this specific nav table and make multiple tests

best of luck!


Add new feature

New feature supports creating attachments in fields.

Added package Newtonsoft.
Updated "CreateAirtableRecord" and "UpdateAirtableRecord" components.

Added a grasshopper sample, create records with attachments.

👏👏👏


chore(deps): upgrade jenkins-x/jx3-pipeline-catalog to version 3.2.404

from: https://github.com/jenkins-x/jx

/retest


Heat Map!

Added the ability to add css classnames to individual locations based on user and context needs.

Codecov Report

Merging #24 into master will decrease coverage by 3.52%.
The diff coverage is 66.66%.

@@            Coverage Diff             @@
##           master      #24      +/-   ##
==========================================
- Coverage     100%   96.47%   -3.53%
==========================================
  Files           3        3
  Lines          76       85       +9
  Branches       17       20       +3
==========================================
+ Hits           76       82       +6
- Misses          0        3       +3

Impacted Files
Coverage Δ

src/svg-map.jsx
83.33% <66.66%> (-16.67%)
:arrow_down:

Continue to review full report at Codecov.

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

This is an interesting feature, thanks @ramosquito5 😃
I'll review your merge request this weekend

I was too busy last weekend, sorry 🙏
I didn't have time to look at it seriously but instead of adding the handleLocationClasses prop, would it be possible to modify locationClassName to accept a string or a function (like locationTabIndex)?

Ok, will do, thanks!

Thanks for your quick update! Everything looks good 😃
I will just make some quick tests (hopefully tonight), then merge it and publish a new version.


Add form data example

This adds an endpoint to the example app to demonstrate working with form data

Pull Request Test Coverage Report for Build 63

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 96.281%

Totals

Change from base Build 61:
0.0%

Covered Lines:
192

Relevant Lines:
194

💛  - Coveralls


Support different dependencies when using flavors

Use case
When building or running with the --flavor option we often need to change the logic slightly, and in many cases, we need the ability to change the dependencies as well. Sometimes it's just a small library, but often times it's a large library that we would only want included in a specific flavor of the application. An ads SDK is a good example of this (perhaps a "Pro" and a "Lite" flavor where the only difference was ads).
Proposal
Instead of spawning different versions of the same app for this, (or creating our own pre-build tools to create a custom pubspec.yaml), we want to use flavors to specify different dependencies. After all, the vast majority of the code is the same, so it would be nice to be able to maintain it all in the same place without resorting to other build tricks or app composing strategies. Otherwise, the flavor feature is doing very little other than simply using the native builders with different build settings. In fact, if we need any special config, we still have to "roll our own" solution for that as well. So the way it's implemented right now can be vastly improved to help the Flutter community be even more productive.
NOTE: This is very similar to what is being requested in #21682 (different assets per flavor) but here I'm asking that we implement this same type of control for dependencies as well.

Looks like a duplicate of https://github.com/flutter/flutter/issues/32036

Looks like a duplicate of #32036

Not really. That request is somewhat specific in the implementation details. Also, most other requests tend to focus on the assets and not the dependencies. This request is specifically about the dependencies because we need different flavors that have the same baseline code with a different list of dependencies (and a little flavor detection sprinkled in) because the application is almost exactly the same and it's a lot of wasted time to maintain different repos, or re-compose the app, etc.

This would be really nice to have. In my case, I would use it to toggle a dependency override that is necessary on Huawei devices to provide fallback functionality. However, since the overridden dependency isn't a full replacement, I can't use it in the non-Huawei version.

@TahaTesser any updates?

I too need a different pubspec.yaml file according to the environments.
For example, for the development environment, I work by including my packages in the project with "path".
But for test and prod environments, I have to remove them constantly.
It will be very useful to have such a feature, I hope it will be added as soon as possible :)

Any update on this?

Any update?

+1

+1

+1

Any update?

Any updates on supporting dependencies based upon flavors?

+1 on an update.  This would be very helpful.

Here is my proposal, how I would implement this:

add a section flavor to the root of the pubspec.yaml file
change the FlutterManifest constructors, so an optional flavor can be passed.
change the FlutterManifest._createFromYaml function: every section in the root will be override by the specific section in the flavor section, except it is a list, than the values will be appended.

With this approach, also https://github.com/flutter/flutter/issues/21682 will be solved.
@amorenew
Since you rejected https://github.com/flutter/flutter/pull/25487, would you merge this or if not, what would be your preferred way of doing this?

@brandsimon I didn't reject anything, do you mean jonahwilliams ?
My comment is here, flavor assets for web only:
https://github.com/flutter/flutter/issues/21682#issuecomment-1352893511

@amorenew Sorry, I think I got that wrong, I meant @jonahwilliams and this pull-request: https://github.com/flutter/flutter/pull/41094
I just saw, that my proposal is similar to https://github.com/flutter/flutter/issues/51751 , except that I use a single file.

@jonahwilliams @amorenew This would be an incredibly powerful feature.
Another use case I can think of: We have a large library of private flutter packages, that all go through the dev -> uat -> prod lifecycle.
This feature would effectively allow us to point to the dev packages for the dev flavor, etc.

My app is using Crashlytics but I have to use a self-hosted instance Sentry specifically for China, this feature would be very useful!

+1
Pretty useful feature in my opinion. Especially when you definitely don't want certain libraries to load on a specific flavor. Flavor based assets is already in stable which helps reduce binary size drastically. Some libraries also increase binary size that can be avoided with this.

Are there any feasible alternatives currently?

@JIANHUI2015 What I ended up with is a script run by CI before "flutter pub get" that removes the dependencies from the pubspec.yaml.
It uses https://github.com/mikefarah/yq and looks like this:
#!/usr/bin/env bash

if [ "$FLAVOR" = "china" ]
then
  yq -i " \
    del(.dependencies.cloud_firestore) | \
    del(.dependencies.firebase_core) | \
    del(.dependencies.firebase_analytics) | \
    del(.dependencies.firebase_crashlytics) | \
    del(.dependencies.firebase_dynamic_links) | \
    del(.dependencies.firebase_in_app_messaging) | \
    del(.dependencies.firebase_messaging) | \
    del(.dependencies.firebase_performance) | \
    del(.dependencies.firebase_remote_config)
  " pubspec.yaml
fi

@ncuillery It solves the problem for now, but what about injecting different dependencies for different flavours? Guess we'd need to maintain various pubspec files and choose the correct one at compile time. 😢

Really need this feature, I have various app flavours that target different platforms and version.
Hope to see this in the near future!

This feature need to be added ASAP

we need too :/ please add this ASAP

I think one problem i see with this is, after removing the package from pubspec this will equally affect the parts in the code that already has an import on the removed package.

I think one problem i see with this is, after removing the package from pubspec this will equally affect the parts in the code that already has an import on the removed package.

This issue can be addressed using local "packages" with abstractions. Currently, this feature is available in Gradle for Android projects.

I think one problem i see with this is, after removing the package from pubspec this will equally affect the parts in the code that already has an import on the removed package.

This issue can be addressed using local "packages" with abstractions. Currently, this feature is available in Gradle for Android projects.

Can you please link me to this, i'm curious

I think one problem i see with this is, after removing the package from pubspec this will equally affect the parts in the code that already has an import on the removed package.

This issue can be addressed using local "packages" with abstractions. Currently, this feature is available in Gradle for Android projects.

Can you please link me to this, i'm curious

I hope that someday Flutter/Dart will provide something like this:
https://developer.android.com/build/build-variants#dependencies

Now that the flutter assets can be bundled with different flaovers, the dependencies should also can be specified the same way as the assets does.

Now that the flutter assets can be bundled with different flavors, the dependencies should also can be specified the same way as the assets does.

still doesnt as of now. this will really be a big help. i think it is more important than assets bundled with different flavors.


Allow sharpening amount in sharpen parameter

As with TimThumb, the sharpening parameter is a binary on-off affair. And as with TimThumb, I find the default level of sharpening to be too strong. Adjusting the level of sharpening in TimThumb requires tweaking the values in the sharpening matrix - thankfully it's much easier in ImThumb and just requires a simple adjustment to the blur value in resizeImage(). I found 0.8 was about right to my eye.
The amount of sharpening needed is a matter of taste, and can vary according to the size of the generated image. So my request is instead of "s=1"/"s=0" to enable/disable sharpening, could the amount of sharpening be passed in the parameter, e.g. "s=0.8"?
Note: I realise that part of the intention behind the ImThumb project is provide a drop-in replacement for TimThumb. However, TimThumb has certain shortcomings (IMO) so perhaps there's an argument for deviating from the TimThumb approach?

can you test out the sharpen-param-enhance branch for me and let me know if it breaks any of your existing images? I've noticed some weird artifacts when you set it to low values..


Bypass sqlite3 support?

I ran sudo npm install -g pouchdb-server like 20 minutes ago and the installation seems to stuck - the message does not change - at a message around sqlite3.
gyp WARN EACCES attempting to reinstall using temporary dev dir "/usr/lib/node_modules/pouchdb-server/node_modules/sqlite3/.node-gyp"
gyp WARN EACCES user "root" does not have permission to access the dev dir "/usr/lib/node_modules/pouchdb-server/node_modules/sqlite3/.node-gyp/8.11.1"

For my requirement, a LevelDB back-end is good enough; I don't want to install support for sqlite3. Is there a way to bypass sqlite3?

Well, this is insane!!! I left the installation overnight and it is still stuck at sqlite3 message! How do I get around this?


New algorithm for RB using transpiled Cliffords

Summary
We implement a new algorithm for RB, 1 and 2 qubits.
Details and comments
Here are the main ideas behind the implementation:

We transpile all the Cliffords in advance and store them in a file. The file that generates the transpiled Cliffords is qiskit_experiments/library/randomized_benchmarking/generate_transpiled_circuits.py. The transpiled Cliffords are stored in the same directory, in a file named transpiled_circs_[1|2]_<basis_gates>.qpy.
Every Clifford is represented by a number. We store a list of the compositions of Cliffords represented as numbers. For example, if Clifford1.compose(Clifford2) == Clifford3, then we conceptually, we store {(1, 2) : 3}.
Similarly, we store for each number representing a Cliffords, the number representing the inverse Clifford. This data, along with the data in (2) is stored in the file qiskit_experiments/library/randomized_benchmarking/clifford_data.py. The data is generated by the file, in the same directory, create_clifford_map.py.
For (2) above, we don't actually store the map, but only the results of the compose in an array. This is more efficient in performance. The result is found using the indices of the input Cliffords. Similarly, for (3) we also only store the array of inverse numbers.
For the compose, we don't actually store the full compose table of all-cliffords X all-cliffords. Instead, we define an array of single-gate-cliffords. This comprises all Cliffords that consist of a single gate. These arrays are stored in clifford_data.py as well. There are 8 such Cliffords for 1-qubit, and 20 such Cliffords for 2-qubits. It is sufficient to store the compose table of all-cliffords X single-gate-cliffords, since for every clifford on the right hand side, we can break it down into single gate Cliffords, and do the composition one at a time. This greatly reduces the storage space for the array of composition results (from O(n^2) to O(n)).
We currently support two sets of basis gates: {rz, sx, cx} and {s, h, x, cx}. To support a new set of basis gates, one must first generate the two files mentioned above.

This PR supersedes PR #825. Therefore I will close that PR.

Performance results for 1 qubit RB:

This PR is now ready for review. I think it is best if @gadial reviews, as the original author of rb_experiment, and @ShellyGarion as the RB expert. @chriseclectic - it would be nice if you could also take a look, just to understand the general concept.

@ShellyGarion , I believe I addressed all your comments, except for one where I asked a question. Please review again, in particular the new tests.

Hi @nkanazawa1989 , thank you for your careful comments. As you suggested, I will start by writing a design doc, along with some of the questions you raised, which are also questions I had, in particular with regard to storing data in files and regarding the generality of the code. This way we can discuss these issue in a wider forum. I don't think https://github.com/Qiskit/rfcs is the right place for this document, as the specification there is for " 'substantial' changes to the Qiskit meta-package". I recall we once had a place (in Box?) for such documents. Does anyone recall where that is?

Based on @nkanazawa1989 's comments regarding usage of files, I suggest the following: we add two parameters to StandardRB (and to interleavedRB): transpiled_cliffords_file and clifford_data_file. The user will specify the path for the relevant files in these parameters. For each of these files, if it exists, the code will use it, and if it doesn't exist, the code will invoke the relevant script to create the file using the basis_gates. These parameters will be mandatory. We will provide the default versions for these files as they are now.
I would appreciate your input, @nkanazawa1989 , @ShellyGarion , @gadial .

I still don't like the idea of using local files. I think current issues are

Partly transpiled circuit data set must be pre-generated for performance, i.e. this is virtual extension of basis gates. This is no longer the standard experiment workflow and this turns the RB experiment into a special case. This means a user needs extra learning for this particular experiment, and one may hesitate migrate from Ignis to QE.
Generated data must be stored for next execution, preferably the data must live after program is terminated. For example, you may run the experiment multiple times with automated system, e.g. crontab/shell script in linux. However, this file system coupling increases test complexity and also maintenance overhead.
New mechanism must assume a particular basis gates to pre-generate the virtual basis gates. This tightly couples experiment to a particular target backend.

I would switch to the StagedPassManager and implement the backend specific transpile routine in the qiskit ibm provider. This allows you to assume IBM-specific basis gates, and storing pre generated circuit QPY as a part of the qiskit ibm provider package. Then, QE SRB can call IBM provider's RB-transpiler if the backend is provided by the IBM provider. Otherwise, it will call legacy transpile routine.
I feel this discussion is no longer a part of code review. I hope you will write a design doc (before continue the code cleanup), so that we can first get concrete design to implement.

I don't fully understand the background of this PR, but it seems to me that this PR address a performance issue on RB experiments. Is there any profile data that shows which part is the bottleneck in the current code? I think we need to discuss what approach we should take based on that.

As we've already discussed in various contexts, an experiment has several different functionalities: build (transpiled or non-transpiled) circuits, run them, analyze, save to the database. We've already noticed that the circuit building should become more independent (beyond override of the _transpiled_circuits method). By "more indpendent", I mean the ability of a user to specify the (usually transpiled) circuits as an input to the run. Then I'd imagine some procedure that looks roughly like this:

Outside of the experiment flow, outside of BaseExperiment.run and everything - a user saves whatever is required for her to generate transpiled RB circuits (can be e.g. the circuits themselves, or Clifford decompostions).  She can write her own code for this, and also there can be code in qiskit-experiments to help her do it, but probably as some utility and not as part of BaseExperiment or even of StandardRB. The qiskit-experiments code can refrain from writing to files; instead it returns Python objects, which the user can dump by herself.
The user generates the transpiled circuits. This again happens outside of the main flow, and can even be done by code that the user writes.
The user runs the experiment, with the transpiled circuits specified in the input.

Other places where we've recently encountered the same topic:

The request for modularity came up, to my understanding, in conversations of @chriseclectic with users.
PR #815 that @chriseclectic started and @ItamarGoldman is about to continue - about circuit caching. Note by the way that Haggai and I would like a follow-up PR to save the cache to a file, which can be loaded later. So we see that not only circuit caching - also file handling is a recurring issue.
@ItamarGoldman has suggested to pre-transpile say 1000 RB circuits, then in every execution sample one of them.
In the whole-backend PR #859, I build something I've named BasicExperiment, which is an experiment whose only purpose is to store transpiled circuits.

Hi @itoko , thanks for looking at this issue. Profiling results for the existing rb can be seen in https://github.ibm.com/MERAV/prof_qiskit_exps/tree/main/profiling/output.
I presented these results in one of the experiments squad meeting. The main bottleneck was identified as transpile. This solution was also discussed in one of the squad meetings. I can try to find the recording, if you are interested.

To my previous comment, add:
5. @coruscating has asked, in the context of QV: "Would be nice to have standalone functions in experiments to help with playing around with the data (for example method to allow loading custom circuits while keeping analysis the same)".

Superseded by https://github.com/Qiskit/qiskit-experiments/tree/feature/rb_speedup.


Error on upgrading to v1-alpha

I just upgraded from material-ui 0.18.1 to 1.0.0-alpha.20 but its not working.
I get errors like:
Module not found: Error: Can't resolve 'react' in '/home/vedant/node_modules/material-ui/svg-icons/navigation'
There are a lot of similar Can't resolve errors in the js console for different modules in the material-ui directory.
I used yarn upgrade material-ui@next
My package.json:
....
 "material-ui": "next"
....

Versions

Material-UI: 1.0.0-alpha.20
React: 15.5.4
Browser: Chromium

Maybe I'm doing something wrong, but I followed the getting started guide to the letter and I couldn't understand how to fix it

The Material svg icons set is now published under the material-ui-icons package. Here is the docs.

Sorry my bad. I didn't realize there were a lot of breaking changes in the DSL from v0.18 to v1.0-alpha. I need to update my components that were based on v0.18.

@vedant1811 We have migration guide to right here #7195. That hasn't been done yet.