Add cfPush target to Makefile

Issue IBM-Swift/Kitura#798 - automating some checks before cf push.

@vadimeisenbergibm Thanks for the PR. I see what you are trying to do... but I am wondering... should this be automated? A few questions come to mind:

Are you doing anything to prevent doing a cf push of a Swift package that is not meant to be pushed to the cloud? We have plenty of packages that fall under that category (mainly
libraries). We’d like to have functionality in this repo that applies to any kind of Swift Packages (not only Swift packages that are apps). I guess you could check for the existence of an executable generated by the build process and that would be a cue… but that is not enough. Just the existence of an executable does not mean the app can be pushed to Bluemix. Only web server apps can pushed to Bluemix. Adding this cfPush capability may give the impression to users that they can push anything… just thinking out loud.

How are you dealing with the case that a Swift Package may generate multiple executables? I guess you are just assuming the first executable is the one for the web server app? That may or may not be true… I don’t know how you could easily figure this out programmatically…

What if there is not a Profile but there is a manifest.yml with the command attribute? It seems you'd need to take that into account if we are to provide this new functionality in the makefile.

How are you handling the PORT number? If the Swift Package uses Swift-cfenv, then they are good… otherwise, this is completely app-specific. For these cases, you would need to pass the PORT environment variable as a runtime argument to the command to start the app… but I am not not sure how you would determine how the PORT value should be passed since that is knowledge intrinsic to the app.

What repos do you think will be leveraging this new functionality in this PR?

@rolivieri

should this be automated?

My strong belief is that if anything can be automated, it should be automated. We should make the life of the users of Kitura@Bluemix as easy as possible. Our frameworks should try to make the best guess for the users if they do not specify something and should warn the users if something is missing/looks wrong.
We do not have to prevent each possible mistake, we should start with some automation and incrementally improve it.

Are you doing anything to prevent doing a cf push of a Swift package that is not meant to be pushed to the cloud?

Yes, the script will not push a Swift package which is not executable. The script cannot prevent any possible mistake, however it is better than no automation at all.

Only web server apps can pushed to Bluemix.

What do you mean? Any app written in Swift 3.0 that has Package.swift and runs on Ubuntu can be pushed to Bluemix.

How are you dealing with the case that a Swift Package may generate multiple executables?

Good point. I have changed the script to handle this case. In case of multiple executables and no manifest - the script will not push. In case of Procfile, the script will check that the command matches a module with the same name.

What if there is not a Profile but there is a manifest.yml with the command attribute?

Good point. I have changed the script to handle this.

What repos do you think will be leveraging this new functionality in this PR?

Any repo that would use Package-Builder.

How are you handling the PORT number?

Good point. I will submit a proposal to integrate Kitura with Cloud Foundry out of the box, so the port issue will be handled.

A few more comments:
I hear you, I am fan of automation too. :-) For this particular case, I am still trying to understand what real value we are adding with this new code. For instance, let’s go over the question about which repos you think will be leveraging this new functionality. Can you enumerate which ones specifically you have in mind? I am thinking that most (if not all) repos using Package Builder will not use this functionality (take BluePic for instance).
Also, I would prefer we encourage teams in our organization to have a manifest.yml file present with the corresponding attributes in it (especially since our apps serve as examples and best practices that other apps should follow). We don’t want customers thinking they don’t have to create these file artifacts (manifest.yml, etc.), push to Bluemix, and think everything is just going to work. Also, the moment a CF service is needed for the app, there is no option but to add the manifest.yml file to the repo (which will be the case for most apps).
If you have some specific use cases in mind, let's go over them. Maybe I just missing something that is obvious.
Also, not any app written in Swift 3.0 that has Package.swift and runs on Ubuntu can be pushed to Bluemix as a CF app. Instead, only web server apps written in Swift 3.0 that has Package.swift and runs on Ubuntu 14.04 can be pushed to Bluemix as a CF app. If you try to push any other kind of executables, it would fail since it is expecting the app to be listening on a given port to serve HTTP requests.

@rolivieri

I am thinking that most (if not all) repos using Package Builder will not use this functionality

Please note that both Kitura-Sample and Kitura-Starter-Bluemix use Package-Builder. The users of Kitura will probably start from these sample apps - copy them and then extend them. I am not talking about IBM-Swift team members/repos, I am talking about helping users of Kitura apps to push their apps to Bluemix.

We don’t want customers thinking they don’t have to create these file artifacts (manifest.yml, etc.), push to Bluemix, and think everything is just going to work.

But everything is going to work until you need a service - you can push your app without a manifest. Anyway, to separate the discussion into two parts, I removed pushing without manifest. Let's handle make push with manifest first.
The scenario I want to handle: a user starts a Kitura app from Kitura-Sample and then changes it according to Kitura-Starter-Bluemix, copying parts of it. The errors I want to prevent:

The user forgets to create Procfile. The app is deployed but fails to start.
The user forgets to create .cfignore file.  .build/Packages are deployed and cause problems during the build on the cloud
The user creates an invalid Procfile. The app is deployed but fails to start.
The user creates a valid Procfile, then renames his main module during refactoring, forgets to rename the command in Procfile. The app is deployed but fails to start.

If we can prevent these problems automatically - why should not we do it?  Actually, why swift_buildpack would not perform these checks on the cloud as well?

@vadimeisenbergibm A few points to continue the discussion before we can merge this PR:

Kitura-Starter-Bluemix. I am aware we use Package-Builder (btw, only reason why I included it was for Travis CI purposes). Kitura-Starter-Bluemix has all the artifacts (e.g. manifest.yml) required for pushing to Bluemix… and it should, since we want folks to be aware of these file artifacts. If somebody forks this repo, they will have those artifacts with them, which is what we want. Hence, Kitura-Starter-Bluemix will never use the functionality in this PR. In the end, the only required artifact is the manifest.yml. Procfile is not required if command attribute is used in the manifest.yml. The .cfignore file won’t be required in the next release of the buildpack (see issue I opened several days ago: https://github.com/IBM-Swift/swift-buildpack/issues/34). The .cfignore file is a different beast and for this case we have already added code to deal with it not being present.

Kitura-Sample - If this app is meant to be pushed to Bluemix, then we should add the required file artifacts (we only need a manifest.yml) and the app needs to be modified too. It needs to use Swift-cfenv, or a similar package, or it needs to take as input the PORT number. As it is right now, I don’t think you can push it to Bluemix… it should fail. Have you pushed Kitura-Sample as-is?

Hence, I'd say that so far looks like we have no apps that will use the logic in this PR… and (see next points).

Users/customers/developers need to know up front they need to have those files (instead of hiding the need for these files). Again, the only mandatory one is the manifest.yml file. Though it is certainly a best/recommended practice to have a .cfignore and .swift-version files as well.

We should have a manifest.yml file in all of our repos that are meant to be pushed to Bluemix. This also implies that none of our repos should be leveraging the logic in this PR.

An app that has no dependencies on any other services does not provide much value. This brings us back to the following point: users will need to get familiar with the manifest.yml file no matter what. There is no way to hide this from developers; they will need to learn about this file.

Re-emphasizing some of the points I mentioned before that are crucial to this conversation:

A Swift package can generate any number of executables… and only one of them could be the web server executable. This is a valid scenario and there is no way to know which is the right executable unless the developer specifies it somewhere (that’s why there is command attribute or a Procfile).

Even in the case that there is only one executable… how do you know how to run it? This is intrinsic knowledge of the app. Maybe the app uses Swift-cfenv, or the app uses another package similar to Swift-cfenv, or maybe the app just expects  runtime arguments. For instance, take a look at these possible commands:

Server -bind <IP_ADDRESS>:$PORT
Server $PORT
Server
Server --port=$PORT
Server -portNumber=$PORT
Server $PORT arg2 arg3
Server arg1 arg2 $PORT $ENV_VAR2 arg3
... (etc.,  etc.)

Each one of those lines could be how the Swift app expects to be started. Again, this is intrinsic knowledge of the app.

@rolivieri
I would like to stress two points in my previous comment:

I removed pushing without manifest. Let's handle make push with manifest first.

The scenario I want to handle: a user starts a Kitura app from Kitura-Sample and then changes it according to Kitura-Starter-Bluemix, copying parts of it.

Let's focus on the scenario above. The points you raised in the previous comment are related to other scenarios - let's discuss them some other time.
Kitura-Sample cannot be pushed to Bluemix as it is - I am talking about the scenario where users copy parts of Kitura-Sample, or extend Kitura-Sample to be pushed to Bluemix.

The .cfignore file won’t be required in the next release of the buildpack (see issue I opened several days ago: IBM-Swift/swift-buildpack#34

This is good! It still would be nice to warn the user about lack of .cfignore and warn about unnecessary pushing of .build and Packages.

@vadimeisenbergibm - Summarizing the points in this discussion so far:

The buildpack cannot warn the developer about the .cfignore file not being present in the repo. .cfignore is a Cloud Foundry artifact used by the CLI… (it is not specific to the Swift buildpack). The .cfignore  file never is never uploaded (hence, the buildpack cannot know if it’s there or not). The builpack could warn the developer that he/she is pushing the .build and/or Packages folder… but I don’t see the need for that right now since we remove those folders to avoid issues/problems. Also, we want the buildpack to execute as fast as possible and avoid the need for any additional checks that are not really necessary.

Thanks for confirming that Kitura-Sample cannot be pushed to Bluemix as it is. We have then confirmed that we have no repos that would leverage the functionality in this PR and we, as discussed before, we don’t want customers thinking they don’t have to create these file artifacts (manifest.yml) to push to Bluemix.

A Swift repo to be pushed to Bluemix must provide a manifest.yml file that includes the specific command for starting the app (as discussed in my previous message above) along with any other required fields. Hiding the need for the file will be counterproductive to users/developers.

If a user starts from Kitura-Sample, as we discussed, they will need to make several changes manually to make it ready for Bluemix (unless you or the Kitura team updates that app). This PR is not addressing those changes (and it should not).

If a user starts from Kitura-Starter-Bluemix, they’ll have everything they need since the app is deployable to Bluemix as-is.

Given the points above, can we close this PR or do you still see the need for merging? If the latter, let’s discuss further since I may missing something that you are seeing.

Closing this PR until design discussion on it is completed.


Text Element not updating

When I try to update the Text, it is not updating:
  char acTxt[5];
  snprintf(acTxt, 5, "%s", "1234");
  gslc_ElemSetTxtStr(&m_gui, m_pElemText1, acTxt);

Even when I try it in the setup.
I am calling in the loop gslc_Update(&m_gui); just saying.
Device hardware

MCU: Uno
Display with link: Custom (a mix/ a cheap chinese device)
GUIslice config selected: custom

Please confirm whether:

Display works correctly with standalone display driver library examples (eg. TFT_eSPI graphicstest, Adafruit graphicstest, etc.) without GUIslice: yes
Touch works correctly with standalone touch library examples without GUIslice: yes

Expected behavior
The textelement not updating its text

@deadlocklogic The FAQ covers this.
You first need to first assign storage to the text element inside the property view otherwise the text area is write protected. Without extra storage the text string is a constant in FLASH not a variable in SRAM.
Optionally you should assign a meaningful names to the ENUM and ElementRef not keep the defaults that the Builder generates so you and others can better understand your App.
As an example say I have a global counter m_nCount.  I rename the Text UI Element E_TXT_COUNT and the ElementRef as m_pElemCnt.

Key
Text$2

ENUM
E_TXT_COUNT

X
70

Y
60

Width
44

Height
12

ElementRef
m_pElemCnt

Font
BuiltIn(1x)->5x8pt7b

Text

UTF-8?
false

External Storage Size
7

Text Alignment
GSLC_ALIGN_MID_LEFT

Paul--

First thanks for your quick reply!
I much appreciate open source projects and the effort put behind them.
Yeah you are right about naming, but this is a very simple evaluation example (I am a disciplined developer and really appreciate good naming/convention/style...).
So this is what I was missing External Storage Size.
I assume the escape character '/0' is not counted.
By the way, few questions/suggestions:
1- Why not allow a custom sub-configuration tested at the top if available:
For instance I am using a cheap Chinese LCD which has few driver defects (in return for the cost), it has readID() always return 0 so I have to manually replace it with 0x9341 when calling begin, (it is based on DRV_DISP_ADAGFX_ILI9341_8BIT), so instead of this:
https://github.com/ImpulseAdventure/GUIslice/blob/5d4d79de382d845c6c4ba8eb4e03cbb474763d3a/src/GUIslice_drv_adagfx.cpp#L653
I have to call:
uint16_t identifier = 0x9341;

So I suggest inserting this option at the top in  GUIslice_drv_adagfx.c:
#ifndef  DRV_DISP_ADAGFX_FIXED_ID
    #define DRV_DISP_ADAGFX_FIXED_ID(_DISP) _DISP.readID()
#endif

then
uint16_t identifier = DRV_DISP_ADAGFX_FIXED_ID(m_disp);

Also the touches are flipped so instead of calling:
https://github.com/ImpulseAdventure/GUIslice/blob/5d4d79de382d845c6c4ba8eb4e03cbb474763d3a/src/GUIslice_drv_adagfx.cpp#L3011-L3012
I have to call:
nOutputX = map(nInputX, pGui->nTouchCalXMin, pGui->nTouchCalXMax, nDispOutMaxX, 0);
nOutputY = map(nInputY, pGui->nTouchCalYMin, pGui->nTouchCalYMax, nDispOutMaxY, 0);

So I suggest this:
#ifdef  DRV_DISP_ADAGFX_TOUCH_FLIP_X
    nOutputX = map(nInputX, pGui->nTouchCalXMin, pGui->nTouchCalXMax, nDispOutMaxX, 0);
#else
    nOutputX = map(nInputX, pGui->nTouchCalXMin, pGui->nTouchCalXMax, 0, nDispOutMaxX);
#endif
#ifdef  DRV_DISP_ADAGFX_TOUCH_FLIP_Y
    nOutputY = map(nInputY, pGui->nTouchCalYMin, pGui->nTouchCalYMax, nDispOutMaxY, 0);
#else
    nOutputY = map(nInputY, pGui->nTouchCalYMin, pGui->nTouchCalYMax, 0, nDispOutMaxY);
#endif

Also in my case, the `width/height` can be queried directly using `width()/height()`:
I suggest to test when `ILI9341_TFTWIDTH` or its equivalent if defined, and when not replace with `width()/height()`.
In my case:
My config file will add:
#define DRV_DISP_ADAGFX_FIXED_ID(_DISP) 0x9341
#define DRV_DISP_ADAGFX_TOUCH_FLIP_X
#define DRV_DISP_ADAGFX_TOUCH_FLIP_Y
// I won't define ILI9341_TFTWIDTH/ILI9341_TFTHEIGHT

2- Did you consider using Qt for the builder application? I think it would fit better for such application. Noting the builder app in it current form is not mature enough:

Undo/Redo are glitchy.
Dialogs on actions, can be replaced with a console or a statusbar.
Add a reset default action for each property
Auto suggest names for added elements
And many more improvements can be added, like a a preview button (open a live test windows) etc...

@deadlocklogic First, I feel the need to point out I have nothing to do with the API so Calvin (@ImpulseAdventure)  will need to answer for any improvements.
You ask why not use Qt for the UI.  The answer requires a little history. A few years back I have a few household projects that required using an Arduino. I found various API's for TFT displays and found them lacking.  I liked GUIslice but quickly decided that it required more effort to use than I liked.  Calvin will get mad at me if I go any deeper.    So I slapped together the Builder in a few days using Java.   After a few projects it evolved into something I thought others might want to use so I threw it over the wall to Calvin who agreed to post it.
The first versions looked quite different and was harder to use than the current version.  I have added new features over the years but at its heart its still a quick and dirty program that has certain design limitations.
Frankly, this is free software and it is still useful if limited.  So I'm not currently interested in doing any major work on it.  It's open source, so if anyone wants a web based implementation, conversions to C++, or  complex new features I say have add it!  We will be more than willing to accept pull requests.
As to your first question, maybe you noticed in your config file the line:
  //#define DRV_DISP_ADAGFX_MCUFRIEND_FORCE  0x9481 // MCUFRIEND write-only displays may need to force an ID value

Paul--

I see, I thought you are the main maintainer of the project (never paid enough attention).
Yes me too as a software engineer, I always prefer to write code than reviews/modify others.
A web version would be perfect, never though of this actually but of course as any open source free project, it requires free time. I may possibly have my take on something like that with Qt.
Still good project overall, even thought room for improvement exist.
By the way, as a quick review I saw that strings are store as ref counted or copied depending on a flag, didn't dig any deeper for the time being in hope I get some insights. Is the overall memory allocation model good enough to avoid fragmentation?

@deadlocklogic The strength and weakness of GUIslice API is that memory fragmentation is impossible unless you do memory allocs in your code.  That is because all UI storage must be pre-allocated at compile time.  Thus the reason for arrays like m_asFont, m_asPage, m_asPage1Elem, m_asPage1ElemRef, etc...  Setting the memory up is one of the book keeping challenges to hand coding GUIslice API.  The Builder takes care of these detail for you.
The string flags are generally to deal with write protected FLASH based strings vs RAM based text.  There are a few places in the API code where the strings may need to be copied under the covers so to speak.
Paul--

Thank you so much man, I appreciate your help. If I face any new issue I will open a new thread. For now I will close this as the issue is resolved.


Typescript 2.7+ defaults --strictPropertyInitialization to true causing errors

Since Typescript 2.7 there is a default setting which:

checks to ensure that each instance property of a class gets initialized in the constructor body, or by a property initializer.

Source: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-2-7.html
So as an example, the following code will cause a compilation error as described below:
import { autoGeneratedHashKey, table } from '@aws/dynamodb-data-mapper-annotations';
@table('TestTable')
export default class TestClass {
	@autoGeneratedHashKey()
	ID: string;
}

Causes the following Error:
[ts] Property 'ID' has no initializer and is not definitely assigned in the constructor. [2564]

I am not sure what the proper solution is at the moment, but figured I would make the community aware.
Of course a solution right now is to disable this setting in tsconfig.json
"strictPropertyInitialization": false,  /* Enable strict checking of property initialization in classes. */

If I set the property to be required and initialize them in the constructor, I receive the following error:
Argument of type 'typeof InvoiceDataModel' is not assignable to parameter of type 'ZeroArgumentsConstructor<any>'.
It is shown at the @table decorator before the class definition.

If you still want to use a constructor, as a workaround for the error mentioned by @jprivillaso, you can redefine the ZeroArgumentsConstructor interface to disable the requirement:
// ./src/zero-arguments-constructor.override.ts

import { ZeroArgumentsConstructor } from '@aws/dynamodb-data-marshaller';

declare module '@aws/dynamodb-data-marshaller' {
  export interface ZeroArgumentsConstructor<T> {}
}

Note though that any database queries will not use the constructor, and fields marked as required will not be loaded if they are missing in the database. Add an explicit runtime check if you want to make sure every required field was loaded successfully.

is there a workaround without doing the "strictPropertyInitialization": false setting


iOS differences

Every Picker component

Roster tabs are at bottom

Back button is inaccessable on Player screen, when coming from a Post Attachment

Home screen swipe-down-from-top RefreshControl doesn't appear on iOS, despite working with styling options

all fixed as of nav5 refactor


create_ids should fail after n attempts

Currently create_ids will continue to try to add IDs to the list indefinitely. This creates a situation where it may not be possible to add IDs below a minimum edit distance. If this happens the loop will run forever

This is fixed as of the release.


Sync/feature/cdr 525 stored query text plain request

Changes

First change

Related issue

Additional information and checks

[ ] Pull request linked in changelog

sync sdk pr
https://github.com/ehrbase/openEHR_SDK/pull/417


fix(Input): allow conditional rendering of children

Hey there - first of all - big fan of semantic-ui-react!
I have found an issue when trying to render conditional children inside of <Input>. When the condition is not met, the child is null, causing the internal check of child.type to error. Wondering if you would consider adding my change to support conditional rendering?

Current coverage is 95.85% (diff: 100%)

Merging #1131 into master will decrease coverage by 0.02%

@@             master      #1131   diff @@
==========================================
  Files           877        874     -3
  Lines          4875       4851    -24
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
- Hits           4674       4650    -24
  Misses          201        201
  Partials          0          0

Powered by Codecov. Last update 7271770...b210267

This is a necessary improvement, thanks much.  I've updated the syntax a bit to match the existing.  Will merge on pass.

Released in<EMAIL_ADDRESS>


How to modify exisiting requests script to include cfscrape?

I'm trying to understand the documentation, but I can't seem to get it right - I keep getting errors. Can anyone help me figure out how to wedge cfscrape into this existing requests script? I feel like I must be missing something really obvious.
#!/usr/bin/env python
import requests
import cfscrape

requests.packages.urllib3.disable_warnings()
headers = {
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Firefox/38.0'
}

login_url = 'https://example.com/login.php'
get_url = 'https://example.com/index.php'
payload = {	'username': 	'username',
		'password': 	'password',
		'keeplogged': 	'1',
		'login': 	'submit'}

with requests.session() as s:
	# Authenticate the session
	p = s.post(login_url, data=payload, verify=False)
	print p.content

	# An authorised request
	r = s.get(get_url, verify=False)
	print r.text

Try replacing with requests.session() as s with with cfscrape.create_scraper() as s. create_scraper() returns a session object.


Check RSeQC strandedness without reference to undetermined

I'm not 100% convinced by the way the RSeQC results are used to check strandedness, and it leads to confusion.
To illustrate, unstranded data in RSeQC looks like:
This is PairEnd Data
Fraction of reads failed to determine: 0.0172
Fraction of reads explained by "1++,1--,2+-,2-+": 0.4903
Fraction of reads explained by "1+-,1-+,2++,2--": 0.4925

... not:
This is PairEnd Data
Fraction of reads failed to determine: 0.6742
Fraction of reads explained by "1++,1--,2+-,2-+": 0.2654
Fraction of reads explained by "1+-,1-+,2++,2--": 0.0604

The latter case is the consequence of reads aligning to regions where strand cannot be determined. This would include:

regions with genes annotated on both strands and
I think, not 100% sure), reads aligning outside of annotations completely.

(2) might be quite common with either genomic DNA contamination or intronic reads.
As is, the supplied strandedness must be correct for 70% of reads for the check to pass. The problem with this is that where there is a high level of undetermined reads, this check can fail easily, even where the Salmon-based check generated the strandedness automatically, which is confusing.
The more important statistic in determining strandedness is whether the two 'Fraction of reads explained by' lines are similar, or not. The undetermined section might make you worry about why, but it shouldn't concern you if you're just checking the strand bias.
That's what I'm proposing here, that one of the 'Fraction of reads explained by' lines should be at least e.g. 5X the magnitude of the other. This would be consistent with the Salmon check and reduce confusion.
Hoping for some discussion / agreement!
PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!
[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/rnaseq branch on the nf-core/test-datasets repository.
[ ] Make sure your code lints (nf-core lint).
[ ] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Check for unexpected warnings in debug mode (nextflow run . -profile debug,test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[ ] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

I agree that the ratio between "forward" and "reverse" is more meaningful that some fixed percentage of either.  Ideally I would like to see a different message, though, because there are basically three scenarios:

The strandedness is consistent with what was either in the sample sheet or inferred by Salmon (auto), and the "wrong strand fraction" is reasonably low (in a perfect world <2-3%, but we can tolerate 5-10%).  In this case, no warning is needed.
The strandedness is not what was declared, but is obvious (either a 50:50 [±5%] split -> unstranded, or >90% on the "other" strand -> stranded [forward or reverse]).  This is typically a mixup in the sample sheet, which should result in a warning to that effect, e.g. "The strandedness in the sample sheet may be wrong!"
The strand distribution is in the "no man's land" between stranded and unstranded, possibly a rate of "undetermined", but more importantly, the ratio of forward/reverse is not close to 50:50, and the "wrong strand fraction" is >10%.  This hints at serious QC issues, e.g. DNA contamination, and should result in a warning that reflects that, e.g.  "The samples is neither clearly stranded nor unstranded, which indicates QC problems, including possible DNA contamination."

It would be nice if we could differentiate between those cases.


Fix wrong command in changelog

Fixes a wrong command in the changelog: s/create service/service create/

@vieux @tiborvass FYI

LGTM


fridge temp on vitual LCD

Hi, as I do not use a fridge, can I stop the virtual LCD on my dashboard stop switchting between room temp and fridge temp?

Yes - to do this, simply uninstall the room sensor


Spyder crhashes with Pyqt 5.12

Issue Report Checklist

[X ] Searched the issues page for similar reports
[X ] Read the relevant sections of the Spyder Troubleshooting Guide and followed its advice
[X ] Reproduced the issue after updating with conda update spyder (or pip, if not using Anaconda)
[X ] Could not reproduce inside jupyter qtconsole (if console-related)
[X ] Tried basic troubleshooting (if a bug/error)

[X ] Restarted Spyder
[X ] Reset preferences with spyder --reset
[ X] Reinstalled the latest version of Anaconda
[X ] Tried the other applicable steps from the Troubleshooting Guide

[ X] Completed the Problem Description, Steps to Reproduce and Version sections below

Problem Description
Spyder crash with PyQT5 5.12
What steps reproduce the problem?

pip3 install --upgrade --user pyqt5==5.12
spyder3 --new-instance &

What is the expected output? What do you see instead?
mariano@mllamedo-UTN:~$ Traceback (most recent call last):
File "/home/mariano/.local/lib/python3.6/site-packages/qtpy/QtWebEngineWidgets.py", line 22, in
from PyQt5.QtWebEngineWidgets import QWebEnginePage
ModuleNotFoundError: No module named 'PyQt5.QtWebEngineWidgets'
During handling of the above exception, another exception occurred:
Paste Traceback/Error Below (if applicable)

Traceback (most recent call last):
  File "/home/mariano/.local/bin/spyder3", line 10, in <module>
    sys.exit(main())
  File "/home/mariano/.local/lib/python3.6/site-packages/spyder/app/start.py", line 192, in main
    from spyder.app import mainwindow
  File "/home/mariano/.local/lib/python3.6/site-packages/spyder/app/mainwindow.py", line 90, in <module>
    from qtpy import QtWebEngineWidgets  # analysis:ignore
  File "/home/mariano/.local/lib/python3.6/site-packages/qtpy/QtWebEngineWidgets.py", line 26, in <module>
    from PyQt5.QtWebKitWidgets import QWebPage as QWebEnginePage
ModuleNotFoundError: No module named 'PyQt5.QtWebKitWidgets'

Versions

Spyder version: 3.3.3
Python version: 3.6
Qt version:
PyQt version: 5.12
Operating System name/version: Ubuntu 18.04

Dependencies

cannot start spyder

Possible workaround:

Downgrade Pyqt to 5.11.3
$ pip3 install --upgrade --user pyqt5==5.11.3
and the problem dissapear.
P/S: Sorry beforehand if this is not spyder related.

Duplicate of #8747. To fix this you need to
pip install pyqtwebengine

Just wanted to leave a quick comment - for some reason "pip install pyqtwebengin" does not alleviate this error for me.  It installs version 5.12.1.
spyder install log:
C:\WINDOWS\system32>pip install spyder
Requirement already satisfied: spyder in c:[...]\site-packages (3.3.4)
Requirement already satisfied: psutil in c:[...]\site-packages (from spyder) (5.4.6)
Requirement already satisfied: pyqt5<5.13; python_version >= "3" in c:[...]\site-packages (from spyder) (5.12.1)
Requirement already satisfied: pyqtwebengine<5.13 in c:[...]\site-packages (from spyder) (5.12.1)
Requirement already satisfied: chardet>=2.0.0 in c:[...]\site-packages (from spyder) (3.0.4)
Requirement already satisfied: nbconvert in c:[...]\site-packages (from spyder) (5.3.1)
Requirement already satisfied: sphinx in c:[...]\site-packages (from spyder) (1.7.6)
Requirement already satisfied: rope>=0.10.5 in c:[...]\site-packages (from spyder) (0.10.7)
Requirement already satisfied: spyder-kernels<1.0,>=0.4.3 in c:[...]\site-packages (from spyder) (0.4.3)
Requirement already satisfied: qtconsole>=4.2.0 in c:[...]\site-packages (from spyder) (4.3.1)
Requirement already satisfied: qtpy>=1.5.0 in c:[...]\site-packages (from spyder) (1.7.0)
Requirement already satisfied: pygments>=2.0 in c:[...]\site-packages (from spyder) (2.2.0)
Requirement already satisfied: qtawesome>=0.5.7 in c:[...]\site-packages (from spyder) (0.5.7)
Requirement already satisfied: pycodestyle in c:[...]\site-packages (from spyder) (2.4.0)
Requirement already satisfied: pyzmq in c:[...]\site-packages (from spyder) (17.1.0)
Requirement already satisfied: pylint in c:[...]\site-packages (from spyder) (2.0.0)
Requirement already satisfied: pickleshare in c:[...]\site-packages (from spyder) (0.7.4)
Requirement already satisfied: numpydoc in c:[...]\site-packages (from spyder) (0.8.0)
Requirement already satisfied: cloudpickle in c:[...]\site-packages (from spyder) (0.5.3)
Requirement already satisfied: keyring; sys_platform != "linux2" in c:[...]\site-packages (from spyder) (13.2.1)
Requirement already satisfied: jedi>=0.9.0 in c:[...]\site-packages (from spyder) (0.12.1)
Requirement already satisfied: pyflakes in c:[...]\site-packages (from spyder) (2.0.0)
Requirement already satisfied: PyQt5_sip<4.20,>=4.19.14 in c:[...]\site-packages (from pyqt5<5.13; python_version >= "3"->spyder) (4.19.15)
Requirement already satisfied: nbformat>=4.4 in c:[...]\site-packages (from nbconvert->spyder) (4.4.0)
Requirement already satisfied: bleach in c:[...]\site-packages (from nbconvert->spyder) (2.1.3)
Requirement already satisfied: pandocfilters>=1.4.1 in c:[...]\site-packages (from nbconvert->spyder) (1.4.2)
Requirement already satisfied: mistune>=0.7.4 in c:[...]\site-packages (from nbconvert->spyder) (0.8.3)
Requirement already satisfied: traitlets>=4.2 in c:[...]\site-packages (from nbconvert->spyder) (4.3.2)
Requirement already satisfied: jupyter-core in c:[...]\site-packages (from nbconvert->spyder) (4.4.0)
Requirement already satisfied: jinja2 in c:[...]\site-packages (from nbconvert->spyder) (2.10)
Requirement already satisfied: entrypoints>=0.2.2 in c:[...]\site-packages (from nbconvert->spyder) (0.2.3)
Requirement already satisfied: testpath in c:[...]\site-packages (from nbconvert->spyder) (0.3.1)
Requirement already satisfied: sphinxcontrib-websupport in c:[...]\site-packages (from sphinx->spyder) (1.1.0)
Requirement already satisfied: requests>=2.0.0 in c:[...]\site-packages (from sphinx->spyder) (2.19.1)
Requirement already satisfied: six>=1.5 in c:[...]\site-packages (from sphinx->spyder) (1.11.0)
Requirement already satisfied: packaging in c:[...]\site-packages (from sphinx->spyder) (17.1)
Requirement already satisfied: alabaster<0.8,>=0.7 in c:[...]\site-packages (from sphinx->spyder) (0.7.11)
Requirement already satisfied: setuptools in c:[...]\site-packages (from sphinx->spyder) (40.8.0)
Requirement already satisfied: imagesize in c:[...]\site-packages (from sphinx->spyder) (1.0.0)
Requirement already satisfied: babel!=2.0,>=1.3 in c:[...]\site-packages (from sphinx->spyder) (2.6.0)
Requirement already satisfied: snowballstemmer>=1.1 in c:[...]\site-packages (from sphinx->spyder) (1.2.1)
Requirement already satisfied: colorama>=0.3.5; sys_platform == "win32" in c:[...]\site-packages (from sphinx->spyder) (0.3.9)
Requirement already satisfied: docutils>=0.11 in c:[...]\site-packages (from sphinx->spyder) (0.14)
Requirement already satisfied: ipykernel>=4.8.2 in c:[...]\site-packages (from spyder-kernels<1.0,>=0.4.3->spyder) (4.8.2)
Requirement already satisfied: jupyter-client>=5.2.3 in c:[...]\site-packages (from spyder-kernels<1.0,>=0.4.3->spyder) (5.2.3)
Requirement already satisfied: ipython-genutils in c:[...]\site-packages (from qtconsole>=4.2.0->spyder) (0.2.0)
Requirement already satisfied: isort>=4.2.5 in c:[...]\site-packages (from pylint->spyder) (4.3.4)
Requirement already satisfied: astroid>=2.0.0 in c:[...]\site-packages (from pylint->spyder) (2.0)
Requirement already satisfied: mccabe in c:[...]\site-packages (from pylint->spyder) (0.6.1)
Requirement already satisfied: pywin32-ctypes!=0.1.0,!=0.1.1; sys_platform == "win32" in c:[...]\site-packages (from keyring; sys_platform != "linux2"->spyder) (0.1.2)
Requirement already satisfied: parso>=0.3.0 in c:[...]\site-packages (from jedi>=0.9.0->spyder) (0.3.1)
Requirement already satisfied: jsonschema!=2.5.0,>=2.4 in c:[...]\site-packages (from nbformat>=4.4->nbconvert->spyder) (2.6.0)
Requirement already satisfied: html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre in c:[...]\site-packages (from bleach->nbconvert->spyder) (1.0.1)
Requirement already satisfied: decorator in c:[...]\site-packages (from traitlets>=4.2->nbconvert->spyder) (4.3.0)
Requirement already satisfied: MarkupSafe>=0.23 in c:[...]\site-packages (from jinja2->nbconvert->spyder) (1.0)
Requirement already satisfied: urllib3<1.24,>=1.21.1 in c:[...]\site-packages (from requests>=2.0.0->sphinx->spyder) (1.23)
Requirement already satisfied: idna<2.8,>=2.5 in c:[...]\site-packages (from requests>=2.0.0->sphinx->spyder) (2.7)
Requirement already satisfied: certifi>=2017.4.17 in c:[...]\site-packages (from requests>=2.0.0->sphinx->spyder) (2018.4.16)
Requirement already satisfied: pyparsing>=2.0.2 in c:[...]\site-packages (from packaging->sphinx->spyder) (2.2.0)
Requirement already satisfied: pytz>=0a in c:[...]\site-packages (from babel!=2.0,>=1.3->sphinx->spyder) (2018.5)
Requirement already satisfied: tornado>=4.0 in c:[...]\site-packages (from ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (5.1)
Requirement already satisfied: ipython>=4.0.0 in c:[...]\site-packages (from ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (6.4.0)
Requirement already satisfied: python-dateutil>=2.1 in c:[...]\site-packages (from jupyter-client>=5.2.3->spyder-kernels<1.0,>=0.4.3->spyder) (2.7.3)
Requirement already satisfied: lazy-object-proxy in c:[...]\site-packages (from astroid>=2.0.0->pylint->spyder) (1.3.1)
Requirement already satisfied: wrapt in c:[...]\site-packages (from astroid>=2.0.0->pylint->spyder) (1.10.11)
Requirement already satisfied: webencodings in c:[...]\site-packages (from html5lib!=1.0b1,!=1.0b2,!=1.0b3,!=1.0b4,!=1.0b5,!=1.0b6,!=1.0b7,!=1.0b8,>=0.99999999pre->bleach->nbconvert->spyder) (0.5.1)
Requirement already satisfied: prompt-toolkit<2.0.0,>=1.0.15 in c:[...]\site-packages (from ipython>=4.0.0->ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (1.0.15)
Requirement already satisfied: backcall in c:[...]\site-packages (from ipython>=4.0.0->ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (0.1.0)
Requirement already satisfied: simplegeneric>0.8 in c:[...]\site-packages (from ipython>=4.0.0->ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (0.8.1)
Requirement already satisfied: wcwidth in c:[...]\site-packages (from prompt-toolkit<2.0.0,>=1.0.15->ipython>=4.0.0->ipykernel>=4.8.2->spyder-kernels<1.0,>=0.4.3->spyder) (0.1.7)

I have installed pyqtwebengine, but another error. I have following version installed.
PyQt5 - 5.15.1
PyQtWebEngine - 5.15.1
ERROR: Could not find a version that satisfies the requirement pyqt5<5.13; python_version >= "3" (from spyder) (from versions: 5.14.0, 5.14.1, 5.14.2, 5.15.0, 5.15.1)
ERROR: No matching distribution found for pyqt5<5.13; python_version >= "3" (from spyder)


devspace deploy fails while kubectl apply works

What happened?
I have the following deployments in my devspace.yaml:
- name: knative-eventing-crd
  namespace: knative-eventing
  kubectl:
    manifests:
    - https://github.com/knative/eventing/releases/download/v0.19.0/eventing-crds.yaml
- name: knative-eventing-infra
  namespace: knative-eventing
  kubectl:
    manifests:
    - https://github.com/knative/eventing/releases/download/v0.19.0/eventing-core.yaml

devspace deploy --deployments=knative-eventing-crd,knative-eventing-infra gives the following error:
[done] √ Successfully deployed knative-eventing-crd with kubectl
[fatal]  Error deploying knative-eventing-infra: failed to unmarshal manifest: error unmarshaling JSON: Object 'Kind' is missing in '{"aggregationRule":{"clusterRoleSelectors":[{"matchLabels":{"duck.knative.dev/addressable":"true"}}]}}'
Please make sure `kubectl apply` does work locally with manifest `https://github.com/knative/eventing/releases/download/v0.19.0/eventing-core.yaml`

However, the following works without a problem:
kubectl apply -f https://github.com/knative/eventing/releases/download/v0.19.0/eventing-crds.yaml
kubectl apply -f https://github.com/knative/eventing/releases/download/v0.19.0/eventing-core.yaml

What did you expect to happen instead?
I expected devspace deploy to work, just as kubectl apply.
How can we reproduce the bug? (as minimally and precisely as possible)
See above.
Local Environment:

DevSpace Version: devspace version 5.7.5
Operating System: mac
Deployment method: kubectl apply

Kubernetes Cluster:

Cloud Provider: google
Kubernetes Version:

Client Version: version.Info{Major:"1", Minor:"19", GitVersion:"v1.19.3", GitCommit:"1e11e4a2108024935ecfcb2912226cedeafd99df", GitTreeState:"clean", BuildDate:"2020-10-14T12:50:19Z", GoVersion:"go1.15.2", Compiler:"gc", Platform:"darwin/amd64"}
Server Version: version.Info{Major:"1", Minor:"17+", GitVersion:"v1.17.14-gke.1600", GitCommit:"7c407f5cc8632f9af5a2657f220963aa7f1c46e7", GitTreeState:"clean", BuildDate:"2020-12-07T09:22:27Z", GoVersion:"go1.13.15b4", Compiler:"gc", Platform:"linux/amd64"}

Anything else we need to know?

/kind bug

@fg91 thanks for reporting this issue! Seems like there is an issue parsing these manifests inside devspace when the apiVersion and kind are switched, we'll investigate that and fix it for the next release!

Ok awesome, thank you for the quick reply! Awesome tool btw, love it.

@fg91 thanks, this should be fixed with v5.7.6


[Bug]: Connect to pre-defined network via API

Error Message and Logs
I want to try to enable pre-defined network via the API  ( I can't seem to find it in the docs )

Steps to Reproduce

Create an applications via the API using https://coolify.io/docs/api/operations/create-private-deploy-key-application

Example Repository URL
No response
Coolify Version
v4.0.0-beta.335
Are you using Coolify Cloud?
No (self-hosted)
Operating System and Version (self-hosted)
ubuntu 24.04.1 LTS
Additional Information
No response

After looking it appears the option is defined in the openapi.yaml here: ( line 4854 ? )

But doesn't appear to be an option that can actually be used
https://github.com/search?q=repo%3Acoollabsio%2Fcoolify connect_to_docker_network&type=code

I would submit a PR but I'm not well-versed in PHP nor a project of this size


refactor(FOROME-954): add async stores for dtree_set & dtree_counts

https://quantori.atlassian.net/browse/FOROME-954
Implement async stores for dtree_set & dtree_counts request

typo in last commit:
"fix(FOROME-1029): make final step active after delete different step"


Add issue template

Add issue template for the project.

I can do this please assign it to me

Please do tell me if you want a specific label other than [Feature Request] , [Bug Report]

Hi @Aman-Singh-Kushwaha,
No, but please include 'screenshots' and 'how to replicate error' sections in your template

@bhattabhi013 i would love to work on this issue as part of gssoc 23

Can you assign it to me under gssoc'23?

Sure @fizakhan90, assigning it to you.

Hello, I'm a contributor to GSSOC'23 I am very much Interested in contributing to this project .I am Skilled in web development and I am ready to collaborate and follow all project guidelines.
I will try to make it as different as possible and exciting also.
Please assign it to me. Thank you in advance.😇

Abhishek Bhaiya ..Please assign this issue to me ? I ma wanting to work over it please. @bhattabhi013

This issue has been inactive for a long time
I would like to work on this issue
Please assign

Sure @sagnik-p,
Assigning it to you.
Please read the thread to get more clarity about the requirements.

Fixed by #47


For your consideration: Enabling unit tests on Travis CI using a different CI script

Purpose

Why
To enable Arduino library developers to accept contributions more easily, and increase the amount of GitHub collaboration

What
A cross-platform framework for compilation-verification and unit-testing Arduino libraries

How
By mocking out the Arduino hardware (and providing automation scripts that can run both locally and remotely), maintainers can enforce tests on code without requiring hardware present

Context: this repo doesn't provide for unit testing, and PlatformIO isn't Free Software.  But install.sh inspired me to write my own alternative CI system called arduino_ci that accomplishes both, and it seems appropriate to submit my work for your consideration.
Live Demonstrations
Adafruit FONA library
This pull request against the FONA library shows arduino_ci as a drop-in replacement for travis-ci-arduino.  It includes an example of mocking out a hardware device (in this case, a modem) to perform what would otherwise be a hardware-in-the-loop test.
In other words, the fake serial device allows us to see whether expected hardware responses produce the appropriate behavior in the library.
Adafruit WS2801 library
This pull request against the WS2801 library shows arduino_ci running in a parallel TravisCI job with travis-ci-arduino, to show that the run times are roughly equivalent.
Additionally, the unit test runner uses memory address sanitization to isolate memory access issues. This stack trace in an arduino_ci build job shows the source of a bug for which I've submitted the corresponding fix
Capability not present in travis-ci-arduino

Unit testing capabilities give Travis CI the ability to validate the logic as part of the pull request process.
Testing configuration is provided by a set of YAML files (all optional -- default behavior is identical to install.sh).  This opens the possibility of parallelized testing by launching several different jobs with their own configuration.
Ability to specify custom boards for download and mocking.  This is of particular interest to manufacturers of boards :)

Brief update: as of v0.1.10, arduino_ci is now fully automated across Windows, OSX, and Linux hosts.  You can write your tests under one OS and have them run and pass under another OS with the same outcomes.
Crucially, you can run the unit tests both locally and remotely with the same script.

Any news? This is part of a more general issue : having better quality for Arduino libraries
https://github.com/arduino/Arduino/issues/7567

closing since we're not supporting travis anymore


No Image in WhatsApp on iOS

On iOS, it seems to only share the text without the image (providing image and text)

Same for Facebook on iOS.

Same issue .Does not work for Skype at all .For Whatsapp only the share text is seen.Seems fine on FB though.

the images and text are passed through an array. If only the image is provided without any text, it will work.

Guys, i can share image to facebook but i can't share text :( what can i do ?
i want to share the url

Hi, I've taken over this repository, due to the age of the issue I'll be closing this issue
I've rewritten most of the plugin to be easier to use, and there is a high possibility that your issue has been fixed
Please download and see if your issue is still present. If it is please create a new issue and I'll get to it as soon as I can


[2.0-wip] Add icons to alert messages to encourage WCAG 2.0 (colorblind users)

This is a continuation of issue #1256
I still believe Bootstrap should have some sort of native support for icons on alert warnings/error/info. Adding icons would make alerts more messages accessible to colorblind users. It would also help every user quickly gather the meaning of the message.
First of all, with the expanded icon set, we now have the ability to easily associate proper icons with these alerts!
I recognize that the icons won't make it into the error messages by default, so I wanted to propose a compromise:

Include an extra class that will support icons in the alerts
Include documentation about this feature an mention the benefit for accessibility and colorblind users. This addition would A) make it quick and easy for folks who want to add these icons to do so and B) make people more aware that adding icons would benefit colorblind users.

If you're willing to consider this feature, I'm willing to code up a pull request for this and submit it tonight (before the launch tomorrow).
What do you think?

Release date has passed (huzzah!) and I'd still love to get this into ver 2.1 (or some future version). Let me know if you'd be open to a pull request. :)

Go for it if you like—happy to add something like that in if the extra CSS/HTML is super compact and the docs are complete. Be sure to add any new CSS to the .less files, any new docs to the .mustache files, and run make when you're done.
Thanks in advance!


Fixes build against rustc 1.0.0-nightly (4be79d6ac 2015-01-23 16:08:14)

Looks like view_items has been removed from ForeignMod.

Thanks!


Customize browse indexes for PDAC collection

Eliminate browse by Title and Author for PDAC collection.  Introduce browse by Name (on local.pdac.name). This should be at the PDAC Registry collection level.

It doesn't appear to be possible in DSpace 7, currently, to customize the discovery/browse configuration per collection and that is considered a bug:
https://github.com/DSpace/DSpace/issues/8428


user can delete them self

Bug Description
user can delete them self
Steps to Reproduce

log in with a user that has the contributor permission set
navigate to management >> users
delete the user that you are logged in as

Expected behavior
user should not be able to delete them self.
Screenshots
If applicable, add screenshots to help explain your problem.
Environment

Version:
OS:
Python Version:
Docker Version:

Additional context
Add any other context about the problem here.

user should get a message of what they are about to do...


Crawling strategy for binaries (PDF / Word) documents?

Hi, thank you for building such an awesome library!
Is Extender the right place to implement a strategy to switch a parsing behavior when a website contains HTML and binaries such as PDF and Word?
My current plan is to create multiple "parser" per file type, so that 1 parser is responsible for HTML-to-Text convert and another for PDF-to-Text.
It would be great for your help!

providing a custom Visit and checking the header to dispatch the right handler seem like a decent approach.

Thank you for the idea! I will have a try.


Develop demo page

1. Add this to https://connectionsphere.com/developers
1.1. Add filters.js to https://connectionsphere.com/developers
1.2. Replace Timelinejs by Filters.js, and add a link to https://connectionsphere.com/filtersjs there.
1.3. Write a 7-line abstract about what is filters.js and what are its featues,
1.4. Add a link to https://connectionsphere.com/filtersjs here also,

2. Add a new demo page https://connectionsphere.com/developers/filtersjs
You have to add 7 examples.
Each example is inside a

 tag.
Each section have 2 columns

:

The left-side coulm shows the COLORIZED a source code of the example that you will place in the right-side.

In the right-side, you have to write a 2-line abstract/description about what should the user do with the widget below, and then draw the widget example right below.

It must be NICE. Here is a screenshot of another similar site that shows what I am asking for:

Hint: check out at our _templates/AdminFlare - 1.3.0 folder, to see how it is drawing COLORIZED source code in its demo pages.

List of Examples:
2.1. Creating a simple filters allowing any positive keywords only,
In the description, tell the user that just write something in the text box and then press ENTER to add such value to the list of filters
2.2. Allowing both positive and negative keywords,
In the description, tell the user that just write something in the text box and then click on "exclude" to add the keywords as a negative filter.
2.3. Working with (https://github.com/leandrosardi/filtersjs#lists-of-allowed-values)[list of allowded values],
Explain the user to write one of the allowed values [Red, Green, Blue] to see them in the drop-down list, and that only these values are elegiable to be added as filters.
2.4. (Getting keywords programmatically)[https://github.com/leandrosardi/filtersjs#getting-keywords-added-by-the-user],
In this example,

when the widget is drawn, add keywords "Red", "Green" by default positive filters, and "Red" as default negative filter,
draw a "Get Filters" button right below the widget,
draw a

 tag right below the button,
and tell the client to click the button 'Get Filters' to export both positive and negative filters: "positives: blue, geen; negatives: red".

2.5. (Adding Default Keywords Programmatically)[https://github.com/leandrosardi/filtersjs#adding-keywords]
In this example,

draw a "Add Filters" button right below the widget,
and tell the client to click the button 'Add Filters' to add a the keywords "blue" and "green" to the list of positive filters.

2.6. (Removing Default Keywords Programmatically)[https://github.com/leandrosardi/filtersjs#removing-keywords]
In this example,

add keywords "green", "blue" by default when the widget is drawn,
draw a "Remove Filters" button right below the widget,
and tell the client to click the button 'Remove Filters' to reset the widget with 0 filters.

2.7. Events Handling
@usmansohee I will let you think and design this demo freely.

Done.


check friendly id

What does friendly id do with umlauts? Found Hannah Förster with .../hannah-forster
Maybe its better to convert ä, ö, ü into ae, oe, ue?

this can be done with https://github.com/norman/babosa


this.$route.query empty

Version
4.0.0-rc.5
Reproduction link
https://jsfiddle.net/m297stx4/
Steps to reproduce
const { createRouter, createWebHistory } = VueRouter
const { createApp } = Vue

const App = {
    template: "
HelloWorld
",

    created() {
        console.log(this.$route.query);
    }
};

const router = createRouter({
    history: createWebHistory(),
    routes: []
});

createApp(App)
    .use(router)
    .mount('#app');

What is expected?
Expect than https://jsfiddle.net/m297stx4?query=true fill the this.$route.query object.
{ query: "true" }
What is actually happening?
this.$route.query is empty.
{}

I'm not sure if it's clear what $route.query is exactly.
In your example it is expected that this.$route.query because there does not seem to be any query data in the url.
I modified your example by adding a router push with query data. In the template you can see $route.query is now filled with the data I did the push with.

I'm not sure if it's clear to you what $route.query is exactly.
In your example it is expected that this.$route.query is an empty object because there does not seem to be any query data in the url.
I modified your example by adding a router push with query data. In the template you can see $route.query is now filled with the data I did the push with.
https://jsfiddle.net/kdbhpmy5/1/

I expect than https://jsfiddle.net/m297stx4?query=true fill the this.$route.query object.
{ query: "true" }

@RealAlphabet That is not gonna work in JSFiddle since it works using an iframe. The url you are seeing in your browser is not the one the Vue instance is using.
That is also the reason why my example is working, because I'm doing a $router.push after the instance is loaded. This modifies the URL of the JSFiddle iframe.
If you test this in a local environment of your own, you will see the behaviour is exactly what you expect.

@RealAlphabet That is not gonna work in JSFiddle since it works using an iframe. The url you are seeing in your browser is not the one the Vue instance is using.
That is also the reason why my example is working, because I'm doing a $router.push after the instance is loaded. This modifies the URL of the JSFiddle iframe.
If you test this in a local environment of your own, you will see the behaviour is exactly what you expect.

Fiddle is using the query ?editor_console=true for the iframe.
Sadly the query object remain empty. It's not working as expected.
I'm able to work around the problem by putting it in a setTimeout callback but annoying because you can't trigger data changes inside. https://jsfiddle.net/t6xbroz7/

I just tested this in a local environment and @RealAlphabet seems to be right. It is not something related to JSFiddle.
This problem occurs when you load Vue and Vue router through


Demonstrate bug with nested inline fragments

Hi 👋
First of all, thanks again for this project. Secondly, don't merge as this is just a demonstration of the issue.
I ran into what looks like a bug when expanding inline fragments. I added a test case to demonstrate that if you have a query that directly expands a fragment, the generated client will look different than the inline_fragments example.
Given the following schema
type Query {
  queryI: Interface!
}

interface Interface {
  id: String!
}

type TypeA implements Interface {
  id: String!
  fieldA: String!
}

type TypeB implements Interface {
  id: String!
  fieldB: String!
}

And the following queries:
fragment typeAandB on Interface {
  id
  ... on TypeA {
    fieldA
  }
  ... on TypeB {
    fieldB
  }
}

query InterfaceA {
  queryI {
    ...typeAandB
  }
}

Then the generated classes will be different than if you expand it like so:
query InterfaceA {
  queryI {
    id
    ... on TypeA {
      fieldA
    }
    ... on TypeB {
      fieldB
    }
  }
}

This is the result of generating the client when having a query that directly expands a fragment like in the example:
from pydantic import Field

from .base_model import BaseModel

class InterfaceA(BaseModel):
    query_i: "InterfaceAQueryI" = Field(alias="queryI")

class InterfaceAQueryI(BaseModel):
    id: str

InterfaceA.update_forward_refs()
InterfaceAQueryI.update_forward_refs()

Whereas I would expect it to look the same as in the inline_fragments example

cc @mat-sop @rafalp

Please don't @at at us - we have enabled notifications for new PR's and issues for Ariadne repos ;)

@EDjur Looks like inline fragments inside of fragments are ignored and "skipped", I will investigate this.

Thank you - and sorry again for the ping. Really appreciate the work you've done with this project 🙏

This seems to be fixed after landing #143. If I rebase on latest main, this branch now generates this for interface_a.py:
from typing import Union

from pydantic import Field

from .base_model import BaseModel

class InterfaceA(BaseModel):
    query_i: Union[
        "InterfaceAQueryIInterface", "InterfaceAQueryITypeA", "InterfaceAQueryITypeB"
    ] = Field(alias="queryI")

class InterfaceAQueryIInterface(BaseModel):
    __typename__: str = Field(alias="__typename")
    id: str

class InterfaceAQueryITypeA(BaseModel):
    __typename__: str = Field(alias="__typename")
    id: str
    field_a: str = Field(alias="fieldA")

class InterfaceAQueryITypeB(BaseModel):
    __typename__: str = Field(alias="__typename")
    id: str
    field_b: str = Field(alias="fieldB")

InterfaceA.update_forward_refs()
InterfaceAQueryIInterface.update_forward_refs()
InterfaceAQueryITypeA.update_forward_refs()
InterfaceAQueryITypeB.update_forward_refs()

Can you confirm @EDjur?

@bombsimon From the result it looks like you used query without fragment, which works as expected. When you try query with ...typeAandB it's still broken.

@bombsimon From the result it looks like you used query without fragment, which works as expected. When you try query with ...typeAandB it's still broken.

Oh, sorry! 🤦 I was running the code in the wrong directory (inline_fragment, not inline_fragment_bug). My bad!

I created pr with fix, where I included similar test case.


hashio relay returns error status 502

Description
The hashio testnet relay CONSISTENTLY returns the following 502 error response when making the following eth_getBlockByNumber request. It seems as if the relay is hitting rate limits, however, I would've expected a status 429 response. Additionally, I wouldn't have expected it to CONSISTENTLY hit those rate limits, which makes me think that there's some other issue.
Additional context
No response
Hedera network
testnet
Version
relay/0.16.0-rc2
Operating system
None

Hi @mshakeg , thanks for the issue.
I'm unable to immediately repro this.
Can you share how your client setup is operating.
Are you using a dev tool of sort that may be polling the same call over and over again in addition.
The rate limit is per IP per function, so if you hit it once within the time window you'll hit it again until the window expires.
Please share a bit more insight into your scenario so we can better investigate.
Thanks

Hi @Nana-EC, I had a graph node running on AWS that was stuck on a specific block range of length 10(I think the graph-node defaults to a block range of 1_000, but scales down to a lowest block range of 10 as requests persistently fail) trying to retrieve those blocks using eth_getBlockByNumber requests. I noticed that it was receiving 502 responses for hours on end. I then made the same eth_getBlockByNumber call on the same blocks that the graph node was failing to retrieve on my local machine and also received 502 responses, despite making those calls relatively infrequently (i.e., at most once every few minutes). To fix the issue, I restarted the graph node and set the GRAPH_ETHEREUM_GENESIS_BLOCK_NUMBER to the latest block at the time, which was much later than the block it was stuck on. After this, the graph node was running fine and all requests were returning successfully on my local machine as well.

Hey @mshakeg Can you try again, as we've introduced some bugfixes, if the issue still persist?

Hi @georgi-l95 , I'll have to create a script that fills a sequence of at least 10 blocks to their limit with very low gas transactions unless you've already got one? That's the only way I see to confirm if this issue is resolved.

@mshakeg Hmm, I don't have such script at hand currently to test this, but we've not seen a 502 error in quite some time. Have you seen any 502 error lately ? If no, we can close this issue and reopen it, if you encounter it again.

@mshakeg we'll take the rest of the sprint to watch this and expose more details around our returns.

We'll take a look into this.
We recently improved some of our logging and monitoring in app in case it came up again.

@Nana-EC great to hear. Btw it seems like a server-wide issue, not a method-level issue as it seemed with the eth_getBlockByHash calls working and eth_getBlockByNumber returning 502s, as I'm now getting back 502s intermittently for other calls as well(such as eth_feeHistory and eth_blockNumber).

I ran a script running the above calls 100 times and was not able to reproduce.


Documentation: production readiness

etcd has been used in production by us and on hundreds of thousands of hosts. Lets mark it as production ready in our docs.

LGTM

How about we just put this in the Readme and scrap the link  from there?

@jonboulle Second, and propose #3885 to supersede this PR.


Inconsistent keys on multilingual course cause a cryptic error: "Corresponding RST file names must match in multilingual courses"

Description
If a multilingual course has an exercise or other item that has different
identifier (key) in different language versions, A+ RST Tools produces a
compile error which does not help to solve the problem.
Proposed categories: bug, user interface.
Note: I have a bugfix which could be sent as a pull request.
How to reproduce
Clone the Data Structures and Algorithms Y course repository with the
try to compile the RST material. Exact commands:
git clone git@version.aalto.fi:course/traky.git -b rst-tools-issue-corresponding-names traky-test
cd traky-test
git submodule init
git submodule update
./docker-compile.sh exam

The output of docker-compile.sh script:
CS-A1141 + CS-A1143 exam selected
Compiling course.

--- lines cut ---

build succeeded, 2 warnings.

The HTML pages are in _build/html.
Detected language tree.
Traverse document elements to write configuration index (fi).
Traverse document elements to write configuration index (en).
Joining language tree to one index.

Sphinx error:
Corresponding RST file names must match in multilingual courses:
fi_enrollment
en_enrollment
make: *** [Makefile:62: html] Error 2

Why this is a problem
A+ RST Tools produces the error message:
Corresponding RST file names must match in multilingual courses. While this
is understandable, the lines below the message are rather cryptic:
fi_enrollment
en_enrollment

The user (a course author) should know on which files and which lines in the
RST source code the error is located. Here A+ RST Tools dumps some internal
string representation of some object, and we cannot know whether it is a
file name or something inside an RST file.
In this particular case, the user is left to searching for the error location:

Searching the source code with grep -r fi_enrollment returns nothing.
Searching with grep -r enrollment returns 97 lines.
Renaming files in directory exam-preamble/{en,fi}/*.rst consistently
does not help.

Investigation
The code location that produces the error message is
https://github.com/apluslms/a-plus-rst-tools/blob/master/lib/toc_languages.py#L316 .
Proposal
I will send a bugfix as a pull request when you have time to review it.

If I understood correctly, you are going to change only the error message. That's great! Please submit the pull request.

My pull request would contain actually three things. Here's the commit message summarising those. Issue #134 is number 2 in the following list.
1. Function key_without_language in lib/toc_languages.py had a bug: the
function could only strip language ids of form "id_" and "id-", not "_id" or
"_id_". The bug was discovered with course the CS-A1141 Data Structures and
Algorithms Y.  The function is now reimplemented with a more flexible regular
expression.

2. Function join_keys in lib/toc_languages.py now prints the original
keys in the case they could not be matched. Printing the original key allows
the course material author locate the point of error compared to the stripped
version of the key, which is likely shorter and thus a "needle in a haystack".

3. Unit test file tests/test_toc_languages.py tests the aforementioned
modified functions. The unit tests allow the A-plus RST tools developer to:
(i) easily test the functions of the software without needing to run a
    Sphinx compilation of a test material, which can take minutes;
(ii) document how the functions should respond to certain inputs.

The pull request contains 140 lines, including documentation and unit tests included. As this is not a supercritical bugfix, would you like to review it in January rather than before the holidays?

That's OK! Since you have already implemented it, you should submit the pull request. I will take a look at it when I'm able, either in December or January. I don't see why you should wait with making the PR. It will be there waiting for me and I can dig in immediately when I have the time.


Environment variables in Compose

Compose :

support The “.env” file
support  The  env-file flag
support   finding  compose Yaml file in current directory and its parents

related  https://github.com/containerd/nerdctl/issues/252
Signed-off-by: fahed dorgaa<EMAIL_ADDRESS>

@AkihiroSuda @ktock  any idea why most of test-integration fail ?

@AkihiroSuda @ktock need your review :)

as mentionned above compose-go PR : compose-spec/compose-go#166
@AkihiroSuda I did some modifications to  use the compose-go directly. I let review again. Thkx


New, better pyenv module

Installation logic refactored into the new module. Also implemented logic to read newest version from pyenv install --list automatically, instead of maintaining a custom mapping.
I imagine this would cause a lot of conflicts with the pythonfinder refactor, and will rebase after that is finished. Don’t merge this yet.

By the way +1 on this (I know i didnt actually review it but hopefully it works)


Update import/export specifier sort on rename

🔍 Search Terms
organizeImports import sort rename
✅ Viability Checklist

[X] This wouldn't be a breaking change in existing TypeScript/JavaScript code
[X] This wouldn't change the runtime behavior of existing JavaScript code
[X] This could be implemented without emitting different JS based on the types of the expressions
[X] This isn't a runtime feature (e.g. library functionality, non-ECMAScript syntax with JavaScript output, new syntax sugar for JS, etc.)
[X] This isn't a request to add a new utility type: https://github.com/microsoft/TypeScript/wiki/No-New-Utility-Types
[X] This feature would agree with the rest of our Design Goals: https://github.com/Microsoft/TypeScript/wiki/TypeScript-Design-Goals

⭐ Suggestion
Renaming an exported function that is imported as one of many named imports can make that list of import specifiers become unsorted. When we execute auto-imports, we try to detect how/whether an existing list of named imports is currently sorted and insert the new specifier in the correct spot. We could do something similar when updating an import or export specifier during a Rename command.
📃 Motivating Example
We have an eslint rule that enforces import sort order. I just renamed a function impliedNodeFormatForEmit to getImpliedNodeFormatForEmit, and afterwards I had to go fix the eslint rule failure in 6 different files. It would be nice not to have to do that.
💻 Use Cases

What do you want to use this for? Easier refactoring that doesn't make linters mad
What shortcomings exist with current approaches? They require me to do a lot of tedious clicking around
What workarounds are you using in the meantime? A lot of tedious clicking around

@andrewbranch I'm interested in tackling this. Is this something I can jump in on?

@abarghoud according to the repository CONTRIBUTING any issue with the label "Help wanted" is allowed to be worked by anyone.
Also, is important to avoid Issue Claiming.
Please feel free to start working in this, you don't have to ask permission as it's labelled with "Help wanted"

@TulioPintoNeto Thanks for pointing it out, I did not know about the issue claiming thing. I forgot to read the contribution guide 🤦♂

Context
@abarghoud I was checking about the way we sort when adding an import (the suggestion on this issue)
Seems like we are sorting by the folder structure, not by the variable name, while Eslint rule is sorting by variable name.
TypeScript import:
https://github.com/microsoft/TypeScript/assets/73838895/fe091417-88d2-48bc-b3fb-7d85e47b5681
Next steps?
With that in mind:

Should we use the same order the import command does?;
OR
Should we use the same order as the Eslint rule?

I think it's pertinent, so I'm also bringing this:
Eslint team chose not to auto-fix the order of imports in --fix because this change the way the code could behaviour:
https://github.com/eslint/eslint/issues/11542

@TulioPintoNeto I support the notion of retaining TypeScript's team's design for auto-import ordering. This is especially pertinent considering the availability of multiple ESLint rules that can be configured to alter the sorting method.
I believe the bug that needs fixing is the failure to reorder file names when renaming them. However, I'm concerned that it may not be possible because I think IDEs handle it rather than TypeScript itself.
Wdyt?

Sorry, I was supposed to mention @andrewbranch.
But to answer you:

This is a experience enhancement, not a bug (not that the nomenclature for this case matters too much hehe);
Probably it is possible to achieve this using the TypeScript compiler. The responsible for intellisense refactorings are the TypeScript compiler itself. You may find most of the intellisense things in the src/services/ folder;

But the main thing I'm calling out here is that reordering lines when renaming will not always give a consistent output with Eslint (which is the desire according to the use cases provided in the description of this issue). This happens due to the fact that each codebase can set up its own rules for ordering modules.

There are TS Server preferences that control the sort order, and a lot of utilities under ts.OrganizeImports to detect and apply those preferences.


Create CRDs for Network Topology

Create CRDs for Network Topology
Refer to this document

Closing as obsolete, see #14


datakey for complex json type

Hi,
Is it possible to get the datakey property to refer to a child object? e.g.  datakey='Driver.FirstName'
I have tried but it displays nothing.
Thanks

let Driver = {};
Driver.FirstName = '2000';

datakey={Driver.FirstName}

Sorry its not possible with the current release. If you check out the latest 0.6.0-rc1 release (docs are here for now). With this, the fixed data table no longer needs any data via the rowGetter so you can access data however you want :)


Begin alerter refactoring and migration

Create a new alerters folder
Move the Zabbix and OpsGenie alerters to the folder
Refactor to load the alerters from the folder
Add a new test for the Zabbix alerter

Once this is merged (and if we are happy with this format for the migration),
I will do all the other alerters.

Hey @jertel I'm not sure if there's something going on with the build check but I can't get it to complete, it seems stuck on Waiting for status to be reported. Not sure how to debug past that point (I can't see any build logs on my end), let me know if I can help unstick it somehow.

I've seen this happen before. It's an issue with GitHub. I'll check back later today and try to re-run it.


Update printing in train.py

Current printing seems kind of broken (mixing f strings with .format syntax? it's weird). This replaces it with some more consistent, f-string based printing

could be merely this:
print(f"%s \n\n %s" % (prime, "*" * 100))

producing an output like:
Batch 2750: training loss: 1.169
tic]] culture of Alexandria. In the magical papyri of Ptolemaic Egypt, she is called the she-dog or bitch, and her presence is s
 ****************************************************************************************************

 een as the first intentional philosophy, and secondally, if he is satisfished by the colours to make eight magnitude towards the communist of the couple.  ==Portaping enough theory== ===Supreme seas==== The forces named his second [[monastic]], [[Sexelides]], [[Israeli]], [[NayÃ¡nse]], [[Geologia]], [[Down George]], and [[Digital Space]] the diverse-doc deriv
ed foreign.  == Referen

Batch 2751: training loss: 1.171

I think the main problem is that u dont know if the real text says is seen or is is soon...

thanks Kendell


Good attempt!

Good attempt,  there are a lot of initial attempts that do not quite follow through (liquiface, liquibase-eclipse-plugin, liquibench).
Ironically, a different eclipse plugin I was working on I too was frustrated with the poor way to manage adding JDBC drivers to Eclipse, so you are not alone there :-)

Thanks Darran. I have been working a lot with EMF and CDO for persistence of EMF objects. the EMF world is somewhat isolated (Certainly not mainstream) and little applied as an real application framework.
CDO persist against popular RDMS systems. (MySQL, Postgres etc...) hence my interest to have a solution for migrating models -> migrating DB schema's. The real target would be to translate an model history has produced by i.e. EDAPT to construct and execute liquibase change log.


Pull request template

Hey @ejoffe, I wanted to have your feedback on this feature? I think a lot of users are using PR template, it would be great to be able to use them as well. Let me know happy to give it a try!
Cheers,
Discussed in https://github.com/ejoffe/spr/discussions/263

Originally posted by rvi August 12, 2022
Hi,
I love this tool but unfortunately it doesn't take into account when there is a pull request template.
I'd love to be able to have pullRequestTemplatePath: "path/to/pull-request-template.md" in .spr.yml and inject the commit message in it.
For instance we could look for a variable like %%COMMIT_MESSAGE%% in the PR template and replace it. If we don't find this variable we could append the commit message at the end or the beginning of the template.
I can try to develop it but I'd like to know first if you're onboard with this idea. Let me know what you think!
Cheers.

This sounds cool! I have never used pull requests templates.
Can you describe with more detail how you think of integrating spr with this, from the little reading I did, it looks like this is mostly used when creating pull requests using the ui. But I guess there must be a nice way to render the template and then us the api?

Sounds good, I'll try to have something this week!

The gh CLI also uses PR templates. By default when opening a PR with one commit, it:

Creates a temp file copied from .github/pull_request_template.md
Adds the body of the commit message to the top of the file
Opens the temp file in $EDITOR, leaving the user to complete the PR body and save the file on quit.

You can see it in action with gh pr create.

@ejoffe - I'd like to contribute a PR for pull request template support, but wanted to run my current thoughts by you on implementation. My current idea that I have working adds the following repo settings:

pullRequestTemplateFilename - specify the location of the pull request template in the repo
pullRequestTemplateInsertStart - the text location to search for in the template of where the inserted generated body should start
pullRequestTemplateInsertEnd - the text location to search for in the template of where the inserted generated body should end

For example if you had a template like below you'd set the following settings and it would insert the generated body below the Description heading on PR create/update.

pullRequestTemplateFilename: .github/PULL_REQUEST_TEMPLATE/pull_request_template.md
pullRequestTemplateInsertStart: "# Description"
pullRequestTemplateInsertEnd: "# Checklist"

# Related Issues
<add related issues here>

# Description
<add description here>

# Checklist
[ ] A checklist item

On PR update, it would actually just read the existing PR body which should have the template from the initial PR create and just insert the updated body in the same way. This would allow not having to set preserveTitleAndBody to true as you'd get to keep all your PR template in place on updates and only update that body insert section.

Looks good to me. Lets give it a try.


URI.php not decode segments values

When URI string have encoded chars, the protected function _set_uri_string at CI_URI class, not decode segments values.
Example:
If primary key have space characters, then URI strings seems as:
http:.../view/NEW%20YORK
I have solved this, modifying:
...
foreach (explode('/', trim($this->uri_string, '/')) as $val)
{
$val = trim($val);
// Filter segments for security
$this->filter_uri($val);
...
For:
...
foreach (explode('/', trim($this->uri_string, '/')) as $val)
{
$val = urldecode(trim($val));
// Filter segments for security
$this->filter_uri($val);
..

This is the intended behavior.


Sporadic crashes in JavaUtilRegexMatcher

We receive sporadic crashes in the JavaUtilRegexMatcher when we write a String with our Logger:
Thread 18 Crashed:
0   CoreFoundation                       0x000000018e118290 CFStringCreateWithFormatAndArgumentsAux2 + 188
1   Foundation                           0x000000018eb64968 +[NSString stringWithFormat:] + 64
2   App                                      0x0000000100b600a0 NSException_initWithNSString_withNSException_withBoolean_withBoolean + 160
3   App                                      0x00000001007fbb1c -[JavaLangRuntimeException initWithNSString:] + 20
4   App                                      0x0000000100b71a7c maybeThrowIcuException + 248
5   App                                      0x0000000100b71df0 Java_java_util_regex_Matcher_openImpl + 48
6   App                                      0x0000000100914bf8 -[JavaUtilRegexMatcher usePatternWithJavaUtilRegexPattern:] + 128
7   App                                      0x0000000100915f10 create_JavaUtilRegexMatcher_initWithJavaUtilRegexPattern_withJavaLangCharSequence_ + 88
8   App                                      0x0000000100916ed8 JavaUtilRegexSplitter_splitWithJavaUtilRegexPattern_withNSString_withNSString_withInt_ + 232
The crash happens sporadically when we call logger.debug("our string {} time={}", anObject, System.currentTimeMillis())
The logger.debug method uses String.split("\\{\\}") which leads to the above stack trace.
Do you have any ideas what may cause the Exception?

maybeThrowIcuException throws an autoreleased exception, so if your logger holds onto exceptions then it must retain them. If it doesn't and the autorelease pool the exception was created in drains, then the exception is released and deallocated. Because heap memory isn't always reclaimed immediately, this results in the object becoming a "zombie" that will still respond to messages, but when that heap memory is reused then the object pointer can now cause a crash when dereferenced. "The code mostly works but sporadically crashes" is generally caused by either zombies or heap corruption, and zombies are much easier to find and fix.
You can check whether this is the issue by profiling your app to find zombies. I normally run my app with zombie detection enabled, as all zombies are bugs whether they crash or not.
If this problem isn't due to zombies, then please reopen it and attach the source to your logger.debug() method (plus any logger methods it calls).


[Feature Request] Built-in Huggingface TextGenerator

Context / Scenario
Adding a built-in Huggingface connector for kernel-memory unlocks 50K+ models trough their interference API, both for their free serverless and paid hosted endpoints
The problem
Currently there are only connectors for openAI, Azure OpenAI and LLAMA. So the amount of possible models is very limited.
It is possible to use Hugging Face right now through the .WithCustomTextGenerator() method, but having a Microsoft.KernelMemory.AI.HuggingFace connector would make using Hugging Face LLMs easier.
Proposed solution

Create Microsoft.KernelMemory.AI.HuggingFace that includes an extension method for the KernelMemoryBuilderto use the Hugging Face interference API as a text generator.

Implement ITextGenerator with a custom Hugging Face connector.

Importance
would be great to have

No longer needed due to #380


Cookie documentation out-of-date

Issue
As of version 7+ of electron setting a cookie requires to set the expiration date. electron/electron issue
Work to Be completed
Update the Cookie API Document to relect that as of version 7+ users are required to pass the expierationDate property when setting a cookie.

I'm closing this issue since it is a bug of cookies API instead of a documentation problem.


Question: best way of migrating 4m users into uaa?

We have a bespoke application with users stored in oracle. The user password are stored as a one way hash with a seed. What would be the best way to migrate to using uaa? We have to move off the current db, but we can't ask all users to reset their passwords.

@czerwina  The only way to undergo this migration is to import these users into UAA and force a password reset.
If you are open to federation solutions, you could potentially add a SAML 2.0 IDP in front of the Database and connect to UAA using SAML


Gateway timeout error

I have set up a cluster with nomad, consul and vault using hashi-up, but I receive gateway timeout errors when I connect to one nomad client ip but request a service running on a second nomad client (e.g. when trying one of nomad's load balancing tutorials). Since I am not sure whether this has to do with hashi-up, I asked for help on the nomad forum: https://discuss.hashicorp.com/t/internal-routing-problem/34201
This is how I deployed my stack: https://github.com/davosian/home-cluster-v2#nomad-consul-and-vault-installation
Am I missing something?

hi @davosian
I see you've got some answers on the nomad forum. I think the issue is not really related to hashi-up but more on how to configure nomad which can highly depend on your environment.
Closing this issue now.
Thanks for using hashi-up! :-)

Perfectly fine, thank you @jsiebens.
Btw., using hashi-up is a pleasure to use: works great and the documentation is well written.


Adding multiple resolution modes to test.py. Correcting G->3 mapping error

The code now agrees with the full TN93 implementation on the test set.


feat: support XDG_CONFIG_HOME

Closes #1355.
Needs https://github.com/axodotdev/axoupdater/pull/171. These two PRs have to ship in the same release.

Pushed a commit to bump our min axoupdater. 0.9.0 will be the release introducing XDG_CONFIG_HOME - that marks a new hard min.

Removed the co-authored-by because I can't sign it on behalf of the original author; swapped to a text attribution instead.


Remove javah support

Follow https://openjdk.java.net/jeps/313 and remove 'javah' from scripts and configs for linux platform and some android apps.

LGTM

Did you check if it works on MacOS? I'm not sure but it might be necessary to modify also this file: https://github.com/apache/tvm/blob/main/jvm/native/osx-x86_64/pom.xml


[V3] Instantiation style

Rather than use a fluent builder pattern as specified in track two, the current API provides two static factory methods on CosmosClient. To resolve this, a fluent builder should be used in place of these two static factory methods, and CosmosConfiguration should be removed, in favour of additional builder arguments. Fluent builder methods should not be prefixed with the with naming pattern.

done


Add Dry Out Piano Cover by Symphoniac

Song Name
Dry Out Piano Cover
Artist Name
Symphoniac
Source
Youtube
Youtube Link
sj0k9f2rVDI
Direct File Link
No response
Song ID
3
Start Offset [ms]
9269
Extra
Created from Auto Nong.
Created for level: 38067

accept


[2.5] K8s 1.20

#30556

#30556

Backport of https://github.com/rancher/rancher/pull/30705

Backport of https://github.com/rancher/rancher/pull/30705

Include backport of https://github.com/rancher/rancher/pull/30472.

Include backport of https://github.com/rancher/rancher/pull/30472.


Move to fsprojects?

I value Deedle and think it's a good addition to the ecosystem.   At least, there should be an active data frame library designed specifically for use from F#.
However, as discussed here, it seems that Blue Mountain Capital is no longer contributing a maintainer for this component? If so it seems it would be valid to either move the repo to https://github.com/fsprojects? Or take a clone of the repo and issues into there?
From my experience projects in fsprojects stand a higher chance of bringing new community maintainers on board.  It doesn't always work, but it has worked for other projects such as FAKE, Paket, FSharp.Control.AsyncSeq and many others.

It would be good to get someone from BlueMounatain to comment on this. I know @hmansell has moved, but perhaps @perryvais @hrichardlee or @kurtschelfthout can comment on whether you're still using Deedle internally and whether there is some benefit for BlueMounatin in keeping the project here? Thanks!

Yes, BlueMountain is no longer contributing a maintainer to the Deedle project. We are more than happy to move the project to fsprojects. It looks like I don't have the right permissions to transfer this project to fsprojects--@tpetricek I imagine you're probably in a position to be able to do this?

Why don't we do the same for the R provider?
PS I can do the transfers, also happy for Tomas to go ahead.

Thanks @hrichardlee & @kurtschelfthout! I think I can do this for both Deedle and R provider.
@dsyme Do you know how to best do this w.r.t. the documentation pages? Because I think if we just transfer the repo, the current pages will stay alive at the old URL and we won't have a way of updating them. So maybe, we first need to modify HTML files in gh-pages to do redirects to new URL, then push that here, then move the repo and then undo this?
Also, should we go for fsprojects, or fslaborg? I think the former has much better visibility, but the latter is thematically closer (and if we do the former, should we also migrate things like XPlot to fsprojects for consistency?)

I'm not sure about documentation.  I think the documentation will just appear at the new site, but yes any explicit links back to this sit will be broken . Github does a great job of redirecting everything else though.
fslaborg  makes sense at the high level. However if you I think you/we should resolve a couple of things about fslaborg to make it a healthier space for incubation?

Give it a better front page like https://github.com/fsprojects explicitly calling out that it's a space for incubation.  The automated listing of repos and incubation policy in a nice way makes it feel cosy too.

Decide if FsLab as "a collective bundle of curated software" is going to continue or not. For better or worse people will perceive the health of projects under fslaborg through the lens of "Can I install and use FsLab".  fsprojects is different that way - everyone knows fsprojects is "alive" even if half the projects in it are actually "dead"....

In short if we go down that route then make fslaborg a data-science oriented incubation space like more like fsprojects?

We heavily used Deedle in various parts of our quant research via F#, mostly for time series manipulation. Whenever @tpetricek finishes migrating Deedle to fsprojects and fixes the travis build, I am very interested in helping to keep improving Deedle. But it might take a while for me to get up to speed as I have never contributed to OSS yet...

@zyzhu You've done an amazing job on the update PR
@tpetricek I think we should now move to fslab and re-bootstrap the maintenance of the project(s).  Between myself, @zyzhu and a few others I reckon we can make it happen.

I'll move this and R Provider to fslab then and add @dsyme and @zyzhu as owners of Deedle. I will do some fiddling with the web pages to (hopefully) add a redirect.
We can then update the fslab.org page to be just a project list with possibly some other useful links (books, videos).

Hmm, the docs thing did not work as well as I was hoping, but we can try to generate HTTP meta tag with canonical URL - it seems that GitHub will continue hosting the latest version from the old URL.


Get all the details of repositories of user without using Github API

This PR solves issue #159
Get all repo details of user
Description-
I have done web scraping by using requests, html5lib and beautiful soup library to get details like name, description and link of all Github repositories of the user.
I have performed a self-review of my own code
I have commented my code to understand areas
Kindly mark this contribution under GSSOC' 23

Hey @nikhil25803
I forked the repository from the link you provided.
Please merge it with the issue #159 if there are no issues.
Thank you


Exception handling

Exception handling must be considered in the 'successor' attribute, i.e. for the last statement in a try block, each exception handler is successor candidate.

Implemented in 73f4aca37207970404a8799529e12bf41b8bfd9d.


Accelerated networking support

Accelerated networking is not supported in the table above, but this page (https://docs.microsoft.com/en-us/azure/site-recovery/azure-vm-disaster-recovery-with-accelerated-networking) implies that the failover VM will also have accelerated networking enabled.

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

ID: 34d0f2df-de85-c6ab-eb01-f8e028b7f108
Version Independent ID: 5acb187c-f280-5c7d-14fc-7f07160cd50b
Content: Azure Site Recovery support matrix for replicating from Azure to Azure
Content Source: articles/site-recovery/azure-to-azure-support-matrix.md
Service: site-recovery
GitHub Login: @sujayt
Microsoft Alias: sujayt

@BernieWhite Thanks for the feedback! I have assigned the issue to the content author to evaluate and update as appropriate.

@BernieWhite Thank you for the feedback. Accelerated Networking is a new feature that has recently rolled out. The support document has been updated to reflect this.
#please-close


[VT] Wait on response before processing next command

To comply with the standard, we must wait for responses from the VT server before sending the next command. This PR implements that behaviour

The main branch is currently failing to build on PlatformIO: https://github.com/Open-Agriculture/AgIsoStack-plus-plus/actions/runs/7147251833/job/19466433156. This PR will also fix that

Tested this by re-basing the seeder example on your branch, and... it's a little slow, only around 20 messages per second. Our update rate of the interface means that after a response is received we have to wait a fair bit before sending the next message which causes some noticeable lag. I am wondering if we should explore options to send the next message on-response.
Some ideas:

If using the worker thread, mutex the queue and initiate the transmit of the next message from the receiving thread
Or, Use a condition variable to wake up the VT worker thread when a message response is received?
Update faster?

I opted for the mutex because I feel like it's the most efficient one, good that you tested this. I didn't notice it during testing


[Error: Error not specified.] promise rejection when starting recorder in android 9

Version of react-native-audio-recorder-player
^2.6.2
Platforms you faced the error (IOS or Android or both?)
Android
Expected behavior
It works normally in android 10.
Actual behavior
when starting on android 9 device,java throws illegalStateException,which means that I tried to start mediaRecorder without calling prepare() fn.
Steps to reprodue the behabior

same problem

Could you try 2.7.0 and come back?

same problem on 2.7.0

Looks like this is a default path problem that is resolved in 3.0.+.

I'm using the 3.0.2 version and i'm still with the same problem in Android 7 and 9 in Android 10 works fine


cpuManagerPolicy doesn't support on nodepool

Description
Observed Behavior:
kubelet:
cpuManagerPolicy: "static"
Doesn't pop up when we apply over nodepool configuration
Expected Behavior:
--cpu-manager-policy=static
Reproduction Steps (Please include YAML):
Versions: 0.33.1

Chart Version:
Kubernetes Version (kubectl version): 1.25

Please vote on this issue by adding a 👍 reaction to the original issue to help the community and maintainers prioritize this request
Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
If you are interested in working on this issue or have submitted a pull request, please leave a comment

Doesn't pop up when we apply over nodepool configuration

This isn't part of the Kubelet schema today. Do you have validation running on your manifest applies? You should get a warning or rejection when you try to apply this against the apiserver.

so is there a way to apply cpumanagerpolicy ?

You can configure the field by updating the kubelet configuration file through some custom userdata. This is an example with AL2:
apiVersion: karpenter.k8s.aws/v1beta1
kind: EC2NodeClass
spec:
  # ...
  userData: |
    #!/bin/bash
    echo "$(jq '.cpuManagerPolicy=static' /etc/kubernetes/kubelet/kubelet-config.json)" > /etc/kubernetes/kubelet/kubelet-config.json

I'm going to close this as not planned since we have a few requests at this point for updates to KubeletConfiguration, but our general stance around it is that we don't want to keep having to add more and more fields to our KubeletConfiguration so we just add the fields that are relevant for scheduling into our config and allow users to configure the rest through their userData.


Review crate structure

Is the current separation in 8 independently releasable crates really necessary?

Not necessary I'd say. It was meant for other crates to build on individual parts of this project, but I guess we can obtain something similar using features. What are pros and cons of giving up on this structure?


BackendTLSPolicy cel tests

What type of PR is this?

/kind test
What this PR does / why we need it:
Without it, it's awfully hard to ensure that the CEL we've written covers all the inputs we want to allow or prevent.
Which issue(s) this PR fixes:

Fixes #2473
Does this PR introduce a user-facing change?:

NONE

Thanks @Ygnas!
/ok-to-test
/approve
/cc @candita

I'm not 100% sure if we should test //+kubebuilder:validation:MaxItems=8 here, also, should we be testing LocalObjectReference in this context?

@Ygnas The immediate intent is to just verify the two validations defined through +kubebuilder:validation:XValidation. So I think what we have now should be sufficient.
Thanks for taking this on.
LGTM (will defer approval to maintainers)

Yes, I think that testing the max items or LocalObjectReference are not desirable here - there is a good chance that both of those will change soon anyway.
/lgtm


fix: Use ".kapeta" for kapeta specific endpoints

Don't have a check in the dockerfile too?

Yup that's in a different PR


tt-metal-ci-vm-32 is hanging

Describe the bug
tt-metal-ci-vm-32 is hanging
First seen here:
https://github.com/tenstorrent/tt-metal/actions/runs/11614551090/job/32343486743
Machine has been removed from service
To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Please complete the following environment information:

OS: [e.g. Ubuntu 20.04]
Version of software (eg. commit)

Additional context
Add any other context about the problem here.

Next job finished after some time.  Issue was not specifically machine related.


feat(python): expose custom metadata to writers

Description

exposes the custom_metadata to pyarrow and rust writer
addresses a bug in the create operation, we were not passing the app_metadata to the actual commit

Related Issue(s)

closes https://github.com/delta-io/delta-rs/issues/1990

LGTM


Not all decimal places are shown on pause menu [1.12.2 at least]

v. 11.4
When less than 3 decimal places are set to be shown, when the run is completed or the game is paused, the same amount of decimal places are shown, not all 3. All decimal places are shown when paused in 1.8.9 and 1.16.1, those are the only other versions I tested.

Can you tell me about mods that you are using?

Everything from modcheck, so:
atum, zbufferfog, srigt, tabfocus, sleepbg, and standardsettings

Everything from modcheck, so:
atum, zbufferfog, srigt, tabfocus, sleepbg, and standardsettings

Can't reproduce, must have been a one time bug