SouthAfrica weekends calculated wrong

Currently in the library it only uses Sunday when getting the weekends, When in fact it should be using Saturday as well..

I have to disagree here:
>>> import datetime
>>> from workalendar.africa import SouthAfrica
>>> cal = SouthAfrica()
>>> cal.is_working_day(datetime.date(2015, 6, 12))  # friday
True
>>> cal.is_working_day(datetime.date(2015, 6, 13))  # saturday
False
>>> cal.is_working_day(datetime.date(2015, 6, 14))  # sunday
False

How did you manage to get a saturday as a working day using SouthAfrica calendar?

This was a post directed at one of the forks of this project - calendra - this was version 1.1.2 at the time and do not know if it is fixed as yet...
I was desperate to get a library that would get the working days, such as yours, but which was active(at the time this repo was not active)... I have accidentally directed the question/issue on the wrong repo... I apologise for this... I ended up using your project (It works great btw :+1: :smile: ).

What made you think this project was not active?

At the time that I created the issue, I looked at the pull requests - there where, I think 2 outstanding pull requests that has been there for a month or two. And the last update to the repo was quite a while ago. I can not remember exact times, but it seemed as if this project was standing still...

@renierdbruyn "I AINT'NT DEAD" ;o)
But you're probably right, this project deserves more care and I'm so sorry not to be able to give it enough time.
Anyway, I'm glad workalendar fits your needs, and that you're using it.
/me is now looking for settings to get more alerts on issues


[Dropdown] onRemove not triggering

In the following fiddle onChange is triggering correctly but not onRemove.

Add two tasks to the "related tasks" dropdown
Add one of the same tasks to the "finished tasks" dropdown
Remove one of the tasks from "related tasks" (should remove the same from "finished tasks")
onChange is working, try adding a task in "finished tasks" that does not exist in "related tasks" and it should add it.

Am I doing something wrong or is this a bug?
Notice: Vue.js is being used here
https://jsfiddle.net/fierflash/p7de8bt3/1/

You're reinitializing the first dropdown with new settings, destroying the previous instance.
Perhaps you are looking for something like this?
https://jsfiddle.net/js4p0c1v/

Thank you, changing from $choice to value solved it!


Terminal flashes when running a command that opens up scripts in new tabs

Windows Terminal version
1.15.3466.0
Windows build number
10.0.22621.0
Steps to reproduce

Set "New instance behaviour" setting to "Attach to most recently window on this desktop".
Open two tabs (say Tab 1 and Tab 2).
In Tab 1, run any command that runs a script in a new terminal. Minimal example: run start powershell {echo hello}.
Observe that you are now in Tab 2.

Expected Behavior
I would expect the tab initiating a command to keep focus. (i.e., I would expect that Tab 1 would remain focussed)
Actual Behavior
Minimal example:
https://user-images.githubusercontent.com/47859223/209470441-6c5bb94e-8c98-4907-a4cc-9c77c59e5fd2.mp4
Observe that I initiate the command in Tab 1, but I end up in Tab 2.

To get a real feeling of when this behaviour is incredibly annoying, run a command that launches many terminals. Then you get the "flashing" behaviour mentioned in the title of this issue.
I'm using nx as a build tool, which constantly opens up new terminals to run subscripts. Observe:
https://user-images.githubusercontent.com/47859223/209470449-41c284a5-0d49-4bfd-bf98-ab76cfe66ae9.mp4
The observed behaviour is that this command opens a new tab which immediately gets the focus, then closes within a matter of milliseconds, as a consequence focussing on the last tab of the terminal instead of the initial one. This is repeated several times.

I see two potential solutions.
Solution 1: do not automatically focus on a tab that is created from a script
Running start powershell {echo hello} creates a new tab, but this tab should not get the focus.
This could potentially be a setting, e.g., "Focus behaviour", with options:

automatically focus on newly created tabs
do not focus newly created tabs

I think we should differentiate between tabs created by a command (e.g. start powershell) and tabs created by clicking the "+". The latter should of course always get focus.
Solution 2: when the tab with focus closes, automatically focus the last tab that had focus
Running start powershell {echo hello} creates a new tab with focus, but when the tab closes, the focus automatically goes back to the initial tab. In the example, focus would go back to "Tab 1". There would still be flashing behaviour, but it would be a bit better, as I would be able to follow along the console output of the actual command.

Huh. To try and break this down another level, this is basically what's happening.

You've got WT(A) open with two tabs [1, 2]
in tab 1, you launch start pwsh ....
This launches pwsh.exe.
this creates a new Terminal instance (B), which determines it needs to attach this process to the existing window (A)
Window A opens a new tab [3] to handle the new pwsh instance.
[3] closes immediately, and the Terminal immediately focuses that last in order tab, not the MRU tab.

I coulda swore we had a discussion somewhere on the repo about doing what you describe in solution 2, maybe always. Just seemed like something sensible. But I can't find any trace of that discussion now... I'll sync up with my team (monday?) and double check to see if we're all cool with that.

Yup! We should do this. Committing to 1.18.

Another note from discussion: We're pretty sure we already do this, and rudimentary testing confirms. What might be going on here is something like:

defterm windows might to get added to the MRU order (especially if they're short-lived)
maybe if there's too many short-lived tabs, then on closing one of them, we try to focus another one that's already gone, and ultimately focus the last (out of default)

there's some debugging that we need to do here


Don't use ngModel in md-paginator

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Material components should be form agnostic (template/reactive)
What is the current behavior?
md-paginator uses ngModel in its template

I suppose the underlying issue here is that md-select doesn't have a way of setting the value without the forms module.

Yes, that always seems strange to me, but I don't know the logic behind the design...
md-select should implement value accessor to support that?
This means that every complex component that composes other material components might run into this issue...
I don't think it can stay like that, it forces the developer to use template driven forms or at least import them just for that purpose...


cannot find package

after execute this cmd:GO111MODULE=on go run *.go
I got these errors:
(base) HwHiAiUser@ubuntu16-f0607-2u:~/project_xzc/RTSPtoWebRTC$ GO111MODULE=on go run *.go
config.go:15:2: cannot find package "github.com/deepch/vdk/av" in any of:
        /usr/lib/go-1.10/src/github.com/deepch/vdk/av (from $GOROOT)
        /home/HwHiAiUser/go/src/github.com/deepch/vdk/av (from $GOPATH)
config.go:13:2: cannot find package "github.com/deepch/vdk/codec/h264parser" in any of:
        /usr/lib/go-1.10/src/github.com/deepch/vdk/codec/h264parser (from $GOROOT)
        /home/HwHiAiUser/go/src/github.com/deepch/vdk/codec/h264parser (from $GOPATH)
stream.go:8:2: cannot find package "github.com/deepch/vdk/format/rtspv2" in any of:
        /usr/lib/go-1.10/src/github.com/deepch/vdk/format/rtspv2 (from $GOROOT)
        /home/HwHiAiUser/go/src/github.com/deepch/vdk/format/rtspv2 (from $GOPATH)
http.go:13:2: cannot find package "github.com/deepch/vdk/format/webrtcv3" in any of:
        /usr/lib/go-1.10/src/github.com/deepch/vdk/format/webrtcv3 (from $GOROOT)
        /home/HwHiAiUser/go/src/github.com/deepch/vdk/format/webrtcv3 (from $GOPATH)
http.go:14:2: cannot find package "github.com/gin-gonic/gin" in any of:
        /usr/lib/go-1.10/src/github.com/gin-gonic/gin (from $GOROOT)
        /home/HwHiAiUser/go/src/github.com/gin-gonic/gin (from $GOPATH)

Please help ,thanks

export GO111MODULE=on
go get
go run *.go

running go get I received this error
package crypto/ed25519: unrecognized import path "crypto/ed25519" (import path does not begin with hostname)
# cd .; git clone https://gopkg.in/yaml.v2 /home/nvidia/go/src/gopkg.in/yaml.v2
Cloning into '/home/nvidia/go/src/gopkg.in/yaml.v2'...
fatal: unable to access 'https://gopkg.in/yaml.v2/': server certificate verification failed. CAfile: /etc/ssl/certs/ca-certificates.crt CRLfile: none
package gopkg.in/yaml.v2: exit status 128

download and install Golang last version

download and install Golang last version

Thank you


[GSoC] Add API for disabling interactive mode

There should be API added to the CommandConfiguration type so that command authors can disable interactive mode. We'll need to choose a good name — something like promptForMissingRequiredValues: Bool = true is accurate but obviously too long.

Is the issue fixed with #464? @natecook1000


Improve integration with "rbd-nbd"

The decision to use rbd-nbd should not be handled by detecting if the package exists in the node container. Instead, it should be a configuration choice to use rbd-nbd. This is especially important since krbd does not support all available RBD image features.
Additionally, rbd-nbd should never be invoked directly. Preferably it should be executed via rbd device map --device-type nbd (in fact, technically krbd should be mapped via rbd device map --device-type krbd). Since that command was added in the Mimic release, if you receive an EINVAL error code, you can always fall back to rbd map and rbd nbd map.
The rationale for never executing rbd-nbd directly is because we (upstream Ceph block team) are planning to support a shared daemon mode that will allow multiple devices to be handled by a single daemon.

@dillaman now we have the mounter configuration in SC and also have the device mapping using the device type. I am closing this issue for now. Please feel free to reopen/open an issue if some other improvements required. :+1:


AutoLink Referencing issue in Referenced issue

Gitea version (or commit ref): a4cd461
Git version: 2.11

Description
Github have nice way of showing referenced issues like
<user> referenced this issue in <repo>

Please add this feature to gitea roadmap.
Screenshot from Github (not gitea)

This feature should be added whenever #3695 is merged.

It appears that this has been implemented with #8137 in 1.10.

It appears that this has been implemented with #8137 in 1.10.

@JustAnotherArchivist That's correct. This issue can be closed.


V_IJ_unbiased is zero, when x_test = 1

Hi. I am trying to get a CI for a new x value that was not in the training set.
X_train.shape = 2000, 1
X_test.shape = 1, 1

X_test = [10]

V_IJ_unbiased = fci.random_forest_error (model, X_train, X_test)

At the same time, V_IJ_unbiased = [0.]
But if I use X_test.shape = [2, 1] - everything is fine.
example
X_test = [10, 23]
How can I get the CI for the new value of X_test ?

I think the issue is a bug on line 239 of forestci.py. I think this line should be replaced by
pred_mean = np.mean(pred, 1)
because we want to average over the bootstrap dimension, not the test dimension.

@agrawalraj I have also faced this issue some time ago.
The solution I found back then is similar to yours.
While I was debugging the function from which you were copying lines I found out:
'pred' had the following dimensions:
0: the samples
1: the prediction for each tree
It is the result of this line:
pred = np.array([tree.predict(X_test) for tree in forest]).T
Due to the dimension of the prediction array for one sample the mean calculation might not return the result that is expected.
Either way, it does not make sense to average the prediction of different samples for the same tree instead of averaging the predictions of all trees of the forest for one sample.
This did the fix for me:
pred_mean = np.mean(pred, 1).reshape(X_test.shape[0], 1)
Nothing else had to be changed.
Maybe it would be benefitial to include the single (test) sample case (as in LOOCV) in the code tests.

We'd welcome a pull request

Solved


Tests: Expand tests for @backDeployed diagnostics on Obj-C compatible decls

@swift-ci please smoke test


Game crash

First of all, thank you for fixing the bug I submitted yesterday. However, today, I encountered two different game popup errors.

A train entered the station under the control of LTN, but strangely did not act, so I manually deleted the train, and then there was a problem, as follows:

Error while running event LtnManager::on_tick (ID 0)
LtnManager/scripts/ltn-data.lua:393: attempt to index field 'main_locomotive' (a nil value)
stack traceback:
LtnManager/scripts/ltn-data.lua:393: in function 'callback'
flib/table.lua:233: in function <flib/table.lua:205>
(...tail calls...)
LtnManager/scripts/ltn-data.lua:1073: in function 'iterate'
LtnManager/control.lua:172: in function <LtnManager/control.lua:157>

Then I opened autosave to continue the game. I was adjusting the LTN stationfor less than five minutes, and the game reported an error again, as shown below:

Error while running event LtnManager::on_tick (ID 0)
LtnManager/scripts/ltn-data.lua:625: bad argument #1 of 2 to 'lower' (string expected, got nil)
stack traceback:
[C]: in function 'lower'
LtnManager/scripts/ltn-data.lua:625: in function 'callback'
flib/table.lua:233: in function <flib/table.lua:205>
(...tail calls...)
LtnManager/scripts/ltn-data.lua:1073: in function 'iterate'
LtnManager/control.lua:172: in function <LtnManager/control.lua:157>
These two problems seem to be the same, but they are a little inconsistent. I'm not sure. I really don't know anything about the code. I hope this can help you fix the bug.

Thanks for the report. I fixed the first crash for the next release.
The second crash should be fixed by updating flib to the newest version. I just solved a bug related to multiple mods using dictionaries at once that I didn't catch during development of that module.

I effed up and accidentally made it so no trains will show on the trains tab. Fixed that and will release a hotfix shortly...


Clerk doesn't follow redirect_url search parameter when refreshing page

Preliminary Checks

[X] I have reviewed the documentation: https://clerk.com/docs
[X] I have searched for existing issues: https://github.com/clerk/javascript/issues
[X] I have not already reached out to Clerk support via email or Discord (if you have, no need to open an issue here)
[X] This issue is not a question, general help request, or anything other than a bug report directly related to Clerk. Please ask questions in our Discord community: https://clerk.com/discord.

Reproduction / Replay Link
https://github.com/IGassmann/clerk-redirect-url-reproduction
Publishable key
pk_test_c2V0dGxlZC1oYXdrLTUzLmNsZXJrLmFjY291bnRzLmRldiQ
Description
Steps to reproduce:

Open http://localhost:3000/sign-in and sign in
Open a second tab and go to http://localhost:3000/dashboard/target
Sign out on the first tab (you will get redirected to http://localhost:3000/sign-in)
Switch to the second tab (you will get auto-redirected to http://localhost:3000/sign-in?redirect_url=http%3A%2F%2Flocalhost%3A3000%2Fdashboard%2Ftarget)
Sign in on the first tab
Refresh the second tab (you will get redirected to http://localhost:3000/)

Expected behavior:
The user should have been redirected to http://localhost:3000/dashboard/target on step 6.
Actual behavior:
The user was redirected to http://localhost:3000/ on step 6.
Environment
System:
    OS: macOS 14.1.2
    CPU: (12) arm64 Apple M2 Pro
    Memory: 1.44 GB / 32.00 GB
    Shell: 3.6.1 - /opt/homebrew/bin/fish
  Binaries:
    Node: 18.18.0 - ~/Library/Caches/fnm_multishells/39738_1703237691322/bin/node
    Yarn: 1.22.19 - /opt/homebrew/bin/yarn
    npm: 9.8.1 - ~/Library/Caches/fnm_multishells/39738_1703237691322/bin/npm
    pnpm: 8.6.2 - ~/Library/Caches/fnm_multishells/39738_1703237691322/bin/pnpm
  Browsers:
    Chrome: 120.0.6099.129
    Safari: 17.1.2
  npmPackages:
    @clerk/nextjs: ^4.21.8 => 4.21.8
    @types/node: 20.1.4 => 20.1.4
    @types/react: 18.2.6 => 18.2.6
    @types/react-dom: 18.2.4 => 18.2.4
    autoprefixer: 10.4.14 => 10.4.14
    classnames: ^2.3.2 => 2.3.2
    next: 13.4.2 => 13.4.2
    postcss: 8.4.23 => 8.4.23
    react: 18.2.0 => 18.2.0
    react-dom: 18.2.0 => 18.2.0
    tailwindcss: 3.3.2 => 3.3.2
    typescript: 5.0.4 => 5.0.4

I can give it a try

Hello 👋
We currently close issues after 40 days of inactivity. It's been 30 days since the last update here. If we missed this issue, please reply here. Otherwise, we'll close this issue in 10 days.
As a friendly reminder: The best way to see an issue fixed is to open a pull request. If you're not sure how to do that, please check out our contributing guide.
Thanks for being a part of the Clerk community! 🙏

Hello again 👋
After 40 days of no activity, we'll close this issue. Keep in mind, I'm just a robot, so if I've closed this issue in error, please reply here and my human colleagues will reopen it.
As a friendly reminder: The best way to see an issue fixed is to open a pull request. If you're not sure how to do that, please check out our contributing guide.
Thanks for being a part of the Clerk community! 🙏


Add ixia-c-one as supported kind

This new PR is created to include support of ixia-c-one in containerlab (fix https://github.com/srl-labs/containerlab/issues/687 )

@hellt keeping a reference for TBDs from your side for doc changes

looks like you didn't have a checkbox "Allow edits from maintainers" when created this PR, since I can't push my changes to this PR, so I will merge it to local branch ixia-c-dev and will add my edits there
Will tag you in this new PR


refactor(esl-utils): fix export of esl-utils/misc/url

:tada: This PR is included in version 4.6.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Change how metrics lambda from Mathia is triggered.

Is your feature request related to a problem? Please describe.
Currently metrics lambda fires every time it gets event from SMS, but that ends up being too often, and potentially exacerbates latency issues that we are seeing in prod when the application encounters quick bursts of traffic.
Describe the solution you'd like
Fire less frequently, probably good enough once per day in off-peak hours. Potentially re-evaluate other configurations for firing off these requests to /log if that creates a new issue of too many messages queued up in SMS...

@msandbothe we may need your assistance on this one! we've talked about it but I think now it's a boiled frog given prod latency issues, turning it off seems to have helped temporarily (hard to say as traffic in prod has also been slower this week overall, so not sure 100%, but it's a change we should make anyway).

Closed - will not be actively working on this in the near future.


Insecure database queries

The Gogs codebase seems to be very inconsistent in how it generates queries. There are entire chunks of code where parameterized queries are used alongside string-concatenated queries, and this has led to SQL injection vulnerabilities in the past.
Is there any particular reason why Gogs isn't using parameterized queries everywhere? Given that all major databases now support them, it's kind of shocking to me that this isn't already the case, and makes me rather concerned about deploying Gogs on my system, security-wise.

You are right.
I'd say: PRs are welcome if you are willing to help.

Unfortunately, I don't speak Go, otherwise I definitely would've sent in PRs.
It does seem like something that really needs to be prioritized, though - it's relatively little effort to rule out a very large attack surface, as it'd be just a change of syntax for the most part.

Do you have any insecure example?

The link in the OP to issue.go#L805 provides a good example:
	queryStr := "SELECT COUNT(*) FROM `issue` "
	if opts.LabelID > 0 {
		queryStr += "INNER JOIN `issue_label` ON `issue`.id=`issue_label`.issue_id AND `issue_label`.label_id=" + com.ToStr(opts.LabelID)
	}

	baseCond := " WHERE issue.repo_id=" + com.ToStr(opts.RepoID) + " AND issue.is_closed=?"
	if opts.MilestoneID > 0 {
		baseCond += " AND issue.milestone_id=" + com.ToStr(opts.MilestoneID)
	}
	if opts.AssigneeID > 0 {
		baseCond += " AND assignee_id=" + com.ToStr(opts.AssigneeID)
	}
	baseCond += " AND issue.is_pull=?"

com.ToStr naively converts any type to a string, and the code here is just concatenating string - e.g.
baseCond := " WHERE issue.repo_id=" + com.ToStr(opts.RepoID) + " AND issue.is_closed=?"

This (and any query like it) needs to be parameterized.

We don't need to discuss if that is good code from the perspective of cleanliness or style. But securitywise it's a pretty bad/naive example as it's forced to be an integer value, casted into a string (required for string concat), so it's simply not doable to inject anything here.

@tboerger The fact that there's string-concatenation at all is the problem here. Parameterized queries exist for a very good reason - they remove the need to think about the entire code path that a value travels through to assess whether it's "injectable", by treating values as being separate from the query entirely. This is especially important for two reasons:

Humans make mistakes. If you let a developer do the same thing over and over again, then no matter their competency, they will screw it up at some point. Case in point: the various SQLi CVEs for Gogs in the past.
Assumptions about what a variable contains or where it comes from, do not necessarily hold true over time. Requirements change, code changes, and at some point, somewhere, some of these assumptions are going to become invalid. And that's how security issues are introduced in previously safe code.

The whole idea of string-concatenating database queries is a historical artifact; a result of the fact that public-facing applications grew faster than databases did, and applications had to somehow use user input in queries. This has been rectified with the introduction of parameterized queries, and today, there is absolutely zero reason to still be string-concatenating queries, with all their associated security risks.

@tboerger In this instance, that's correct, but you are wholly relying on the object you pass to com.ToStr to be of a type that cannot be crafted into an SQLi vector. That is the problem: the code here is brittle. If this was correctly parameterized, you could throw any type through com.ToStr and be OK.

@tboerger In this instance, that's correct, but you are wholly relying on the object you pass to com.ToStr to be of a type that cannot be crafted into an SQLi vector. That is the problem: the code here is brittle. If this was correctly parameterized, you could throw any type through com.ToStr and be OK.

As i said, the style or current code is everything else than beautiful, but this specific case is not yet a security issue.

This is a security issue, not a style issue. As I've explained in my previous comment.

@joepie91 any poc maybe to illustrate your thoughts? I'd be very interested for education propose only, as i am evaluating gogs by now

This is a security issue, not a style issue. As I've explained in my previous comment.

This specific example is not an security issue as you simply can not inject anything. It's just really bad practice and not clean code.

Thanks for the comments!
If anyone could explain how to make int values injectable, I would be very happy to mark this as a security issue.

The point is not that the int values themselves are injectable, but that the moment anything upstream of this database code changes, you risk an SQLi.
e.g.
- queryStr += "INNER JOIN `issue_label` ON `issue`.id=`issue_label`.issue_id AND `issue_label`.label_id=" + com.ToStr(opts.LabelID)
+ 		queryStr += "INNER JOIN `issue_label` ON `issue`.id=`issue_label`.issue_id AND `issue_label`.label_id=" + com.ToStr(opts.LabelName) // An injection issue

or
type IssueStatsOptions struct {
	RepoID      int64
	UserID      int64
- 	LabelID     int64
+	LabelID     []byte // Now a UUID type; you could pass a string ID as a query param and it could potentially traverse its way into your query
	MilestoneID int64

As @joepie91 points out:

Assumptions about what a variable contains or where it comes from, do not necessarily hold true over time.

The code here (and elsewhere, where the same assumptions are applied) is effectively safe by accident.

I think I may need to provide a bit of background of Gogs database design.
Everything ends with ID is absolutely int64 in Go, and is the id field in database tables.

@Unknwon I get that. The problem is that you are relying on never passing anything but an int64 here. If this code ever changes there is the risk of an SQLi. You are hoping that anyone committing (submitting|reviewing) code against this repo is aware of that.

@Unknwon I get that. The problem is that you are relying on never passing anything but an int64 here. If this code ever changes there is the risk of an SQLi. You are hoping that anyone committing (submitting|reviewing) code against this repo is aware of that.

This leads to completely different topic of this thread, you're talking code reviewing now.
I would like to clear my statement again:

If someone could PR a better implemented with parameterized queries, that is the best thing I can think of. Instead of talking philosophy.

For those who'd like to fix this issue and submit a PR, I think the following command will uncover all the instances of string-concatenation in queries:
grep -rE "\+.*ToStr\(" .

@joepie91 asked me te have a quick look at the code.
Go's database API has a perfectly usable way of using prepared statements and placeholders. But this seems to be thrown out of the window.
Why? Go's query placeholders are positional.
The way I see it the query concatenation seems to be a solution to building complex parameterized queries. Something that is a lot harder to do using positional placeholders. Concatting the query will move those placeholders around making it hard to keep track of the order of the parameters, so the data is added in the concatenation instead.
To solve the concatenation issue, I propose one of these solutions:

Stick the conditions in the query but make them toggleable by a parameter.
For example:

if opts.AssigneeID > 0 {
	baseCond += " AND assignee_id=" + com.ToStr(opts.AssigneeID)
}

Could be rewritten to:
condAssigneeId := opts.AssigneeID > 0

db.Query(`
	SELECT * FROM stuff
	WHERE
	...
	AND (assignee_id=? OR ?)
	...
`, ..., opts.AssigneeID, !condAssigneeId)

This way, the condition is sort of ignored if condAssigneeId is set to false. Ofcourse, the query might be a little slower since it has to check more conditions, but a smart database will probably optimize that out.

Use a query builder. With something like GORM it
is possible to have complex queries that are build using a series of conditions
and have the benefits of placeholders.

@PolyFloyd it can't be written like that within Gogs. Don't think like database/sql, Gogs is using XORM.

In GORM, we would write something like this:
query := dm.Where("foo =  ?", 1)
if cond == 1 {
  query = query.Where("bar = ?", 2)
}
if cond == 2 {
  query = query.Where("baz = ?", 3)
}
// ...

Gogs uses Xorm instead of Gorm. I think it would be possible, the issue may be the JOINS. I don't know how well Gorm and Xorm handle JOINS.

I think XORM needs proper handling of conditions for Join. Currently there is code like this:
labelIDs := base.StringsToInt64s(strings.Split(opts.Labels, ","))
if len(labelIDs) > 0 {
  validJoin := false
  queryStr := "issue.id=issue_label.issue_id"
  for _, id := range labelIDs {
    if id == 0 {
      continue
    }
    validJoin = true
    queryStr += " AND issue_label.label_id=" + com.ToStr(id)
  }
  if validJoin {
    sess.Join("INNER", "issue_label", queryStr)
  }
}

As Join just accepts a string as a join condition it's not really possible to change that. Instead of relying on a string they should accept the conditions, than you should write something like this:
labelIDs := base.StringsToInt64s(strings.Split(opts.Labels, ","))

if len(labelIDs) > 0 {
  validJoin := false
  cond := x.Where("issue.id=issue_label.issue_id")

  for _, id := range labelIDs {
    if id == 0 {
      continue
    }

    validJoin = true
    cond.Where("issue_label.label_id = ?", id)
  }

  if validJoin {
    sess.Join("INNER", "issue_label", cond)
  }
}

Gorm would accept something like this:
query := db.Where("something_id IN (?)", []int{1, 2, 3, 4, 5})

Gorm would accept something like this:
query := db.Where("something_id IN (?)", []int{1, 2, 3, 4, 5})

And XORM got In, but not for join conditions.

I have created https://github.com/gogits/gogs/pull/2893 as a start to improve the parameter handling. Please take a look. If you would like to see more in it feel free to contribute.

The problem with using prepared statements in this program is that we are no longer database agnostic. For example, in MySQL this is a prepared statement:
INSERT INTO this(param) VALUES(?)

While, in PgSQL this is a prepared statement:
INSERT INTO this(param) VALUES($1)

There is no easy way to accommodate for both of these databases without maintaining two versions of the codebase. I think the current approach is completely acceptable (UNTIL XORM ups it's JOIN game) as SQL injections cannot be done in the current codebase, and we are targeting more than just MySQL.

MySQL style prepared statements were already used in the code before this issue was brought up (e.g. https://github.com/gogits/gogs/blame/master/models/issue.go#L817 added back in Nov last year). That ship has sailed, sorry.
(I was also pointed at this thread by @joepie91 .)

For the sake of clarity; due to the request for PRs and me not speaking Go myself, I've asked around a bit to try and find people who can help implement a fix for this. Hence the mentions above :)
@barracks510 I'd imagine it should be relatively easy to abstract away this difference. I understand that XORM might not be feature-complete, but regardless, it's never acceptable to string-concatenate queries. If the difference is like you described, then surely it would just be a matter of replacing every ? with an incrementally numbered $n right before the query is executed?

@JesseWeinstein you are simply wrong. We are not using MySQL prepared statements, we are just using XORM which makes it database agnostic.

As far as i can see with my pull requests there are just GetRepoIssueStats and GetUserIssueStats remaining for a refactoring to get rid of the string concat issues. A first fixing PR is already merged, the next one if open so just one or two need to follow.

Hi, I have added join condition parameter supported on go-xorm/xorm@7d2967c78698d206727517c4c3ea318c1564f2c7

@lunny really cool

So https://github.com/gogits/gogs/pull/2895 should resolve all remaining issues, please review that.

I thought gogs fully used ORM. But here indicates NO. There are inline SQL statements.

@linquize with my pull request is pure orm again

All queries are parameterized now, so we can close this issue now

Looks good - thanks all for the work from everybody, even upstream :)

What's the status on this? I can fork and work through this if not completed. It seems like it is though just not closed?

What's the status on this? I can fork and work through this if not completed. It seems like it is though just not closed?

https://github.com/gogits/gogs/issues/2892#issuecomment-214821639
I have already fixed the issues. I just can't close this issue ;)

Closing as fixed :)


[ID] moving pod-overhead into scheduling-eviction.

This PR addresses issue in #26955 based on #24576.
/cc @kubernetes/sig-docs-id-reviews

/lgtm
/approve

/assign @irvifa


remove rewards on ban

Pull Request Test Coverage Report for Build<PHONE_NUMBER>0
Details

2 of 2 (100.0%)  changed or added relevant lines in 2 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.005%) to 88.866%

Totals

Change from base Build<PHONE_NUMBER>1:
0.005%

Covered Lines:
1249

Relevant Lines:
1329

💛  - Coveralls


What about adding an intent? This seems oddly in the descriptor capability

I can't figure how adding an intent instead of a phrase list works in this context? The option is there but there is no documentation on what or how it is actually used.

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

ID: c975bacb-0bee-7bb7-0d22-1296e79364b4
Version Independent ID: 57f07a89-94d6-74ef-1ba3-846e590ac838
Content: Descriptors - LUIS - Azure Cognitive Services
Content Source: articles/cognitive-services/LUIS/luis-how-to-add-features.md
Service: cognitive-services
Sub-service: language-understanding
GitHub Login: @diberry
Microsoft Alias: diberry

@xtianus79
Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@xtianus79 - You are asking the difference between adding an intent as a feature to a model versus adding a phrase list as a feature to model? #in-progress

@xtianus79 Do you have time to clarify your question?

@xtianus79 Please reopen this issue when you have time to clarify the question. #plese-close


This determination is too ambiguous

When a solution created in an earlier version of Visual Studio is opened in a newer version, the IDE checks the solution file to determine if it needs to be upgraded.

What goes into making this determination?
I don't recall a time when visual studio actually upgraded a project. I remember it telling me through the years that various setup and deployment project types are no longer supported. I still have many projects that have ToolsVersion 12 or 4.0 and the corresponding old targets, despite being opened in VS 2017 (ToolsVersion 15) and changed to use 4.5.2 or 4.6.2 framework.
Can the upgrade be triggered, or do I have to hand edit every project file to bring it up to the correct tooling level?

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

ID: 2f92ef18-cced-6d73-ce8f-741b3487100b
Version Independent ID: 2550cbd9-41b4-ab4e-7836-a3889dd8396e
Content
Content Source
Service: unspecified

Apologies for the delay; I got more information from engineering a little while ago but left on a trip before I could relate it to you.
I'm answering your question generally, by the way, and not specifically for extensibility projects.
First, any given version of VS may simply end support for certain project types. The Platform Targeting and Compatibility page indicates what project types are supported in VS 2017. If a project type isn't supported at all, then VS won't load it and doesn't offer a migration path. The only answer here is to maintain that project in a previous version that does support it.
The Porting & Migration page also identifies what happens with different project types, both supported and unsupported.
Now then, if VS 2017 can open a project, what determines whether it's migrated? This depends on a couple of criteria:

Compatibility with the target versions of platforms, back to VS 2013 RTM.
Compatibility of design-time assets with previous versions of VS. (Namely different channels of VS 2017; VS 2015 RTM & Update 3; VS 2013 RTM & Update 5; VS 2012 Update 4; VS 2010 SP 1.) VS 2017 aims to fail gracefully with deprecated design-time assets without corrupting them (e.g. so previous versions can still open the project).
Whether new design time assets would break compatibility with previous versions down to VS2013 RTM & Update 5.

The engineering owner of the project type in question looks at these and makes the call where support, compatibility, and migration is concerned.
In general, the goal is to provide transparent "round-tripping" between VS versions if possible, meaning that one can create and modify projects in one version of VS and it just works in other versions. That's the ideal user experience.
If transparent round-tripping is not possible, then VS opens the upgrade wizard to make the necessary one-way changes. The article you were looking at originally describes the extensibility interfaces that are used with custom project types (via extensions).
Those changes may involve changing the ToolsVersion in the project file, which is specifically what would render the project unbuildable by a previous version of VS. That is, what makes a project incompatible with an earlier version is not the VS version, but the MSBuild version, because that's what ultimately turns a project and source code into its runnable/deployable artifacts.
Put another way, a project, when created, is configured to build using a particular MSBuild version. So long as your version of Visual Studio contains the MSBuild toolchain that can handle that configuration, then VS can invoke that toolchain to build the project (which is the goal, right?). It's thus MSBuild that's providing the compatibility with it's previous versions, more so than VS providing compatibility with previous VS versions.
For more discussion, see these articles:

ToolsVersion guidance
Framework targeting guidance

What it all boils down to, as I understand it, is that the ToolsVersion isn't really all that important. That is, it's not necessary to change the ToolsVersion number in a project file to some "correct" value just because you've opened it in VS 2017 and changed a framework target. VS 2017 is perfectly happy with ToolsVersion set to 15, 14, 12, and 4 and builds accordingly, meaning that any of them are "correct" because any of them will result in a successful build. In fact, I would think that changing ToolsVersion to 15 may just generate a bunch of warnings and errors that you'd need to fix to get the project to build.
A future version of VS might, of course, decide to no longer support, say, ToolsVersion 4. If that happens, opening the project will certainly trigger the project upgrade process because ToolsVersion must be changed. In such a case, the subsystem for the specific project type in question will know exactly what needs to be changed and can do all of that automatically, which is exactly what happens today for various project types as described on Porting & Migration page.
Does all this make some sense?

Does all this make some sense?

Yes, it does. And you are awesome for finding this stuff and coalescing it. I was getting weird, sometimes conflicting advice about this topic before, and this clears all that up. Thank You.

You're welcome. I own the Porting & Migration page myself, a subject which is occasionally shrouded in mystery. Thus I was keenly interested in knowing more myself. :) In any case, I appreciate your taking the time to ask, and for your other contributions.


Argument types do not match on query with projection

I have the following entities in Entity Framework Core RC2:
public class Job {
  public Int32 Id { get; set; }
  public Int32? DegreeLevelId { get; set; }
  public Int32 PositionId { get; set; }
  public virtual DegreeLevel DegreeLevel { get; set; }
  public virtual Position Position { get; set; }
}

public class DegreeLevel {
  public Int32 Id { get; set; }
  public String Name { get; set; }
}

public class Position {
  public Int32 Id { get; set; }
  public String Name { get; set; }
}

And the following Models:
public class JobModel {
    public Int32 Id { get; set; }
    public DegreeLevelModel DegreeLevel { get; set; }
    public PositionModel Position { get; set; }
}

public class DegreeLevelModel {
  public Int32 Id { get; set; }
  public String Name { get; set; }
}

public class PositionModel {
  public Int32 Id { get; set; }
  public String Name { get; set; }
}

And the following query with projection:
      var result = await context.Jobs.Select(x =>
        new JobModel {
          Id = x.Id,
          DegreeLevel = new DegreeLevelModel {
            Id = x.DegreeLevel.Id,
            Name = x.DegreeLevel.Name
          },
          Position = new PositionModel {
            Id = x.Position.Id,
            Name = x.Position.Name
          }
        }).ToListAsync();

When I run it I get the error "Argument types do not match".
I was able to isolate the problem and it seems is because I have:
public Int32? DegreeLevelId { get; set; }

The FK as optional since DegreeLevel is option in Job entity. I suppose this is a normal configuration.
Any idea how to solve this?

Duplicate of #5522 which faces the same issue as this due to optional navigation. That issue have all information why this is happening and work-around for it.

@smitpatel Thank you. Do you want me to close this or let it open until it #5522 is resolved?


[Feat] Add support for the mobile gesture double tap + hold + drag up/down to zoom

Target Use Case
Allow mobile users to zoom in/out on the map by double tapping + dragging up/down.
Just wondering if there's any chance this feature could be implemented in the future? If it already exists and I missed it in the documentation, let me know :)
Proposal
This feature exists in Google Maps and Apple Maps, ex:
https://support.google.com/maps/answer/6396990?hl=en&co=GENIE.Platform%3DAndroid (under "Zoom in the map")

I don't think the maps JS API has this behaviour, so the request would best be directed at the google maps issue tracker. It could probably be implemented based on touch- or pointer-events, but for single touch, it would be difficult to separate touch events from other pointer events.
If there's a good implementation of this, we could think about integrating that into this library.


fix(semantic): add export symbol flag to identifiers in export declarations

Related PR: #2335

Current dependencies on/for this PR:

#2508  👈
main

This stack of pull requests is managed by Graphite.

@DonIsaac Thank you for your previous work! This is a problem I realized a long time ago but I don't know how to fix it, thanks for enlightening me

Do we have a specific use case for this? I want to understand what we are trying to achieve.

Do we have a specific use case for this? I want to understand what we are trying to achieve.

In this case, we cannot tell whether a is referenced or not, but if a's flag contains SymbolFlags::Export, we can tell.
https://oxc-project.github.io/oxc/playground/?
code=3YCAAICggICAgICAgICxG0qZRraXD3k8CFklCNW9ja59iHxNE9O%2F0tzgoLr6Nw5LHCC%2Ff3d%2BoIA%3D
We also need it in the transformer typescript plugin

I think we should reuse the data from ModuleRecord, and do the bind during the last stage of visit_program.
I'm always against adding more state to SemanticBuild, there should always be a single source of truth.

Looks like the benchmark regression is expected, cal.com has a lot of exports. But I'm not sure if it's worth it, normally there wouldn't be so many exports.


snowflake_legacy 0.8.0 :snowflake:

snowflake_legacy 0.8.0 :snowflake:
Destination channel: Snowflake
Links

PKG-4654
Upstream repository: private
pypi: https://pypi.org/project/snowflake-legacy/0.8.0
pypi inspector: https://inspector.pypi.io/project/snowflake-legacy/0.8.0

Explanation of changes:

new feedstock, patch pyproject, add LICENSE from another package https://pypi.org/project/snowflake.core because it was missing.

As discussed, we will need to make sure snowflake.pth makes it into the package. Without this file, the package will not do what it's supposed to do.

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

clone/recipe/meta.yaml:50: missing_license_file: The recipe is missing the about/license_file or about/license_url key.
===== Final Report: =====
0 Errors and 1 Warning were found

As discussed, we will need to make sure snowflake.pth makes it into the package. Without this file, the package will not do what it's supposed to do.

done, at the end, it was just about fixing the paths


Suggestion: Merge ambient class and interface declarations.

Summary
To support re-opening classes and built-ins as classes, I have proposed two suggestions (#2957, #2959) to help to better re-classify built-ins as class declarations, rather than the current interface-interface-var pattern we are using for built-in "classes". However, these changes would break existing projects that currently extend built-ins by re-opening the interfaces of these built-ins. This proposal seeks to support merging these declarations, so that existing code can continue to function.
Current State
Currently, authors can re-open the instance or static-side interface of many built-ins in lib.d.ts to add new functionality. For example:
// lib.d.ts
interface Array<T> { /*... */ }
interface ArrayConstructor { /*...*/ }
declare var Array: ArrayConstructor;

// polyfill.ts
interface Array<T> {
  includes(value: T): boolean;
}
interface ArrayConstructor {
  of<T>(...items: T[]): T[];
}

Array.prototype.includes = function (value: any) { return this.indexOf(value) != -1; }
Array.of = function<T> (...items: T[]) { return items; }

The proposals in #2957 and #2959 would break existing libraries without some remediation method.
Proposal
I propose two steps to resolve this:

Allow you to re-open the interface for the instance side of a class.
Automatically generate a named interface for the static side of an ambient class declaration in the same lexical scope.

Re-open instance-side
Re-opening the instance-side of a class would be possible by merging interfaces with ambient class declarations in the same lexical scope:
// lib.d.ts
declare class Array<T> { /* ... */ }

// polyfill.ts
interface Array<T> {
  include(value: T): boolean;
}

Automatic static-side interface
For backwards-compatibility, we could auto-generate a constructor interface for an ambient class declaration. As this is really intended to be a backwards-compatibility feature, we could opt to enable this only when we encounter a triple-slash directive. This would allow us to not only use this for our own lib.d.ts, but also allow third parties to use this directive if need to migrate their existing declarations to support these new features.
// lib.d.ts
/// <reference auto-static-interface="true" />
declare class Array<T> { /* ... */ }
// Creates an `ArrayConstructor` symbol for the static interface of Array

// polyfill.ts
interface ArrayConstructor {
  of(...args: T[]): T[];
}

This has been fixed by https://github.com/Microsoft/TypeScript/pull/3333


test: add integration tests for put

Issue #, if available:
#143
Description of changes:
This pull request adds integration tests for put command.
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

I have added 5 tests based on your review and internal meetings:
From internal meetings.

test_put (added a test for the command alias "p")

Check the results of multiple put invocations for different primary keys.

test_multiple_put_different_pk

Check the results of multiple put invocations for the same primary key.

test_multiple_put_same_pk

I have also added these tests to make sure that put replaces the existing item and for different sort key:

test_put_same_pk
test_multiple_put_same_pk_different_sk


Use clippy to find the leftover todo!()s

As per discussion in #809.
Had to change some existing code to make it pass, the idea is to establish the following convention:

Use todo! for short-term todos that are supposed to be fixed in the current PR.
Use unimplemented! for stuff that is not implemented and will stay unimplemented beyond the current PR.

This is what you get if there are still todo!s in the code:
https://github.com/mintlayer/mintlayer-core/actions/runs/4616271887


Create single word nfa

This PR adds functions to create an NFA accepting a single word specified as an argument. Furthermore, the PR adds a method to alphabet interface to translate a word according to the symbol mapping in the alphabet.
There are two versions of the Mata::Strings::create_signle_word_nfa(). One has as an argument a sequence of symbols, the other one a sequence of symbol names and an optional alphabet argument which would translate the symbol names into their corresponding values.
We should decide whether we want translate_word() to be in the abstract Alphabet interface. Seeing as there is translate_symb, adding translate_word would make sense to me.
Fixes #166.

It looks ok, I am also ok with adding translate_word() to the abstract Alphabet interface


Cannot connect over IPv6

When attempting to connect over IPv6
my $e = Search::Elasticsearch->new(
    port        => 9200,
    nodes       => ['2001:db8:85a3::8a2e:370:7334']
);

I get the following error:

No nodes are available: [http://2001:db8:85a3::8a2e:370:7334:80]

The problem is in Search::Elasticsearch::Role::Cxn
Firstly, the port is incorrectly set to '80' because of this:
if ( $params->{port} && $node !~ m{//[^/]+:\d+} ) {
    $node =~ s{(//[^/]+)}{$1:$params->{port}};
}

The node regex is wrong - it incorrectly thinks there is already a port when there isn't.
Secondly, the IP address is not put in brackets both in this line
$node =~ s{(//[^/]+)}{$1:$params->{port}};

and this line
$params->{uri} = URI->new("$scheme://$host:$port$path");

To fix the port issue you probably want to do something like
    unless ( ref $node eq 'HASH' ) {
        $node = "[$node]" if Net::IP::ip_is_ipv6($node);
        unless ( $node =~ m{^http(s)?://} ) {
            $node = ( $params->{use_https} ? 'https://' : 'http://' ) . $node;
        }
        if ( $params->{port} && $node !~ m{//[^/\[]+:\d+} ) {
            $node =~ s{(//[^/]+)}{$1:$params->{port}};
        }

ie
+ $node = "[$node]" if Net::IP::ip_is_ipv6($node);

- if ( $params->{port} && $node !~ m{//[^/]+:\d+} ) {
+ if ( $params->{port} && $node !~ m{//[^/\[]+:\d+} ) {

And something similar for $params->{uri}
$host = "[$host]" if Net::IP::ip_is_ipv6($host);

Hi @gregf1
Thanks for opening.   You want to send a PR and add the appropriate tests?  I don't know much about ipv6.


UI gets broken when resetting the filter.

Describe the bug
UI gets broken when resetting the filter.
To Reproduce
Steps to reproduce the behaviour:

Preview a cluster
Select a resource (preferably Deployment)
Filter for anything and be sure the Deployment tab is selected
Reset the filter

Expected behavior
Screenshots

Desktop (please complete the following information):

OS: MacOS
Version: 1.4.0

thanks @erdkse - i've seen this also but forgot to report...


After modified ip of domain ,how to get new certificate of letsencrypt

After modified ip of domain ,traefik cannot  get a new certificate of letsencrypt

Did you leave enough time between changing the IP and requesting the certificate, for the TTL te expire? After all, the Let's Encrypt servers use DNS to figure out which webserver to contact for validation.
If you did, please post the recent lines from the log (preferably with logLevel set to DEBUG). This should show what Traefik's acme-client is trying to do.

I'll close the issue due to inactivity but feel free to re-open if needed.


[TIR][Arith] Additional Simplifications Inside Conditionals

This adds additional simplifications to RewriteSimplifier while inside a conditional statement.  These are simplifications that are expected to be necessary for simplifying conditionals for padding buffer transforms.  The main additions are below:

Use of RewriteSimplifier::literal_constraints_ for simplifications of boolean expressions.  Previously, this was only used for simplifications inside a tir.likely annotation.
Use of RewriteSimplifier::literal_constraints_ to identify known false constraints.  This allows a constraint of i!=n to simplify i==n to false.
Use of EqNode constraints in ConstIntBoundAnalyzer.  Previously, inequalities were used as comparisons.  With this change an i==5 constraint be used to reduce the bounds of i to [5,5].

related  https://github.com/apache/tvm/blob/main/include/tvm/arith/analyzer.h#L317


Migrate to PostgreSQL

Currently the database is not encrypted and introduces security vulnerabilities.  Although there are options for encrypting sqlite databases, I'd like to migrate to PostgreSQL at this time.
https://stackoverflow.com/questions/5669905/sqlite-with-encryption-password-protection
https://www.postgresql.org/docs/8.1/encryption-options.html

Usual async en/decryption of stored values will be enough.


Is it possible to to modify the setting of the snow melt configuration?

Is this reachable by the API?

It is, but I get a permission denied error when I try to do it via grpcurl.
I can look into how the mobile app is doing that, but it looks like it requires logging in to your Starlink account, so it may be directing that though a remote connection and/or invoking an authentication involving SpaceX servers.

As long as the app still lets me do it through the remote access (I run in bypass mode), it's not that important to me.

For the record: I verified via a packet capture that the mobile app does not change this setting directly via grpc request to the dish. Rather, it appears to be communicating via HTTPS to a server (api2.starlink.com, I think, although it talks to several), which presumably pokes the dish remotely.
It is possible to view the current configuration using grpc, but that currently only includes this setting, and it's just going to be whatever it was last set to.


Future/vite

Changes

Migrates from CRA to vite (for storybook and testing)

Developers should feel a performance improvement here. This is partly because vite doesn't compile all of the components until the page is actually navigated to, but it feels like a better experience.
Webpack: 245 ms for manager and 22 s for preview
Vite:  261 ms for manager and 2.54 s for preview

Migrates from jest to vitest for testing.
Updates to type-check all files in development. Production builds now run based on an extended tsconfig
Upgrades the Github Actions to the latest versions. Artifacts must now be uniquely name. Playwright artifacts are uploaded per OS. Code coverage is uploaded for linux only.
Bring the repository down from 60 to 0 vulnerabilities
Removes the need to npm install --force
Resolved a flaky test which had a missing await.

Dependencies

UI/UX

Testing notes

Check can install dependencies
Check can run storybook
Check can run tests
Check can publish an alpha build and consume correctly in a consuming application. (Or at least run a build on main, and a build on this branch and compare outputs - they should be the same)

Author checklist before assigning a reviewer

[ ] Reviewed my own code-diff.
[ ] Branch has been run in docker.
[ ] PR assigned to me or an appropriate delegate.
[ ] Relevant labels added to the PR.
[ ] Appropriate tests have been added.
[ ] Lint and test workflows pass.

Looks like some conflicts to resolve here now @syedsalehinipg has updated dependencies on main.

I wonder if switching to vitest will help with the intermittment test failures we randomly see with some tests timing out. I guess you haven't seen that behaviour so far on this branch?

I wonder if switching to vitest will help with the intermittment test failures we randomly see with some tests timing out. I guess you haven't seen that behaviour so far on this branch?

I found the at least 1 issue with flaky tests. There was a missing await, which often caused MacOS test runner to fall over. https://github.com/IPG-Automotive-UK/react-ui/pull/810/commits/d7d11a0ceb0cb421094d56a1a68da55beaab0476

Is this something we need to address?

Are these valid messages about Refresh button not found or dodgy tests? Probably unrelated to changes here but just spotted.

Anything to worry about here with the bottom message?

If I'm in dark mode, there's a brief flicker of light as I toggle between items in the sidebar. Maybe this was the always the case.
https://github.com/IPG-Automotive-UK/react-ui/assets/8976377/56e408ab-66e0-41a2-8091-e2f0014d7344

Anything to worry about here with the bottom message?

No, the default config removes whitespace characters from files <500kb and we have a couple of large components with embedded svgs (probably we could do something better here in the long run).

Are these valid messages about Refresh button not found or dodgy tests? Probably unrelated to changes here but just spotted.

Dodgy tests. I've fixed them.

If I'm in dark mode, there's a brief flicker of light as I toggle between items in the sidebar. Maybe this was the always the case.
Screen.Recording.2024-02-15.at.08.18.45.mov

I've spent a bit of time looking at this. I can't immediately see anything in the storybook themeing system that lets me override this colour. I think I'll need to raise an issue on storybook-dark-mode to try and find a solution.


fixed deprecated syntax in setup.cfg

I was inspired to fix this by the following warning in pytest:
"[pytest] section in setup.cfg files is deprecated, use [tool:pytest] instead."

This change is

I was inspired to fix this by the following warning in pytest:

Truly inspiring :P
Thanks!


chore(deps): update common-dev-assets digest to 9211b0b

This PR contains the following updates:

Package
Update
Change

common-dev-assets
digest
9d04954 -> 9211b0b

Configuration
📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
👻 Immortal: This PR will be recreated if closed unmerged. Get config help if that's undesired.

[ ] If you want to rebase/retry this PR, click this checkbox.

This PR has been generated by Renovate Bot.

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


Code Coverage section

investigate what folks are using for code coverage / hosting solutions
c8, nyc, codecov, coveralls?

@lholmquist assigning to you as I believe you are working on this one.

sounds good

closing via #90


Lang metrics export

This takes a crack at what it will look like to export metrics to lang.
DRAFT since it's still subject to change, though the existing implementation being backed by the new interface does work.

Needs https://github.com/temporalio/sdk-core/pull/544 to get merged first

Needs https://github.com/temporalio/sdk-core/pull/544 to get merged first

I assume you mean #584

I realized the underling library update seems to have imposed some naming changes on gauges too. I want to make sure those are resolved before I merged this.


Returns Empty Title for CBC Links

Below are a few sample urls I have stored that don't return a title.

https://www.cbc.ca/news/business/inverted-yield-curve-1.5246593?cmp=rss
https://www.cbc.ca/news/indigenous/kanesatake-mohawk-specific-claim-process-1.5245268?cmp=rss
https://www.cbc.ca/news/politics/trudeau-snc-ethics-commissioner-violated-code-1.5246551?cmp=rss

Figure I'd toss it up here and see if anyone knows what the problem is or has had something similar before I dig into it. It does seem to house the title within a h1 tag.

I'm also experiencing this issue


fix(protocols): shadowrocket add udp relay

@coldice945  UDP should be a choice for everyone, it should not be up to merchants. Some merchant nodes do not support UDP.

@coldice945 UDP should be a choice for everyone, it should not be up to merchants. Some merchant nodes do not support UDP.

UDP can indeed be turned on or off at the merchant's discretion. But it should be chosen by the merchant on the server side, not set close on the client side. If setting, it should be set to open by default. The client-side configuration to turn on the UPD function does not affect the merchant's server-side settings. However, if the client side is set close and not turned on, then the user will not be able to use the UDP function even if it is turned on by the merchant.
Except for shadowrocket configuration, all other client configurations are open udp by default. Like this Clash Config

有没有可能自行copy一个订阅文件来适配更好

Shadowrocket 配置分为两类，一个是节点配置，一个是分流规则配置。规则配置可以各自去弄并写在教程里，但是这块节点配置，只能这样。


AppState change doesn't fire on launch on iOS

Description
AppState's change event is not getting fired on the first launch on iOS but it is on Android.
React Native version:
System:
    OS: macOS 11.5.1
    CPU: (8) arm64 Apple M1
    Memory: 115.61 MB / 16.00 GB
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 16.5.0 - /opt/homebrew/bin/node
    Yarn: 1.22.5 - /usr/local/bin/yarn
    npm: 7.19.1 - /opt/homebrew/bin/npm
    Watchman: 2<IP_ADDRESS> - /opt/homebrew/bin/watchman
  Managers:
    CocoaPods: 1.10.1 - /opt/homebrew/bin/pod
  SDKs:
    iOS SDK:
      Platforms: iOS 14.5, DriverKit 20.4, macOS 11.3, tvOS 14.5, watchOS 7.4
    Android SDK: Not Found
  IDEs:
    Android Studio: Not Found
    Xcode: 12.5.1/12E507 - /usr/bin/xcodebuild
  Languages:
    Java: 13.0.1 - /usr/bin/javac
  npmPackages:
    @react-native-community/cli: Not Found
    react: 17.0.1 => 17.0.1
    react-native: 0.64.2 => 0.64.2
    react-native-macos: Not Found
  npmGlobalPackages:
    *react-native*: Not Found

Steps To Reproduce
Provide a detailed list of steps that reproduce the issue.

Open the app on Android and see the event being fired
Open the app on iOS and see the event not being fired

Expected Results

Both OS behaving the same way

Snack, code example, screenshot, or link to a repository:
AppState.addEventListener('change', newState => {
  console.log('new state', newState);
});

Is anyone else facing this problem?

i also face this issue

@gabrieldonadel i have same issue

For me, with iOS 16.2 and on react-native v0.68.5 no app state change at all is triggerd in any scenario. Tested on simulator and real device (iPhone 13 Pro)

Facing the same issue :(

I have the some problem.In Android,when I first launched the app,AppState.addEventListener('change', newState => {
console.log('new state', newState);
}); these codes executed,but In IOS,these codes somtimes executed,but sometimes not executed,Is anyone have the same problem?

i have same problem


support for build packs on rio run

I could not test this on my current local rio setup as its not doing builds. Does rio run   support buildpacks?      can you add documentation of how rio deals when there is no Dockerfile in the repo?

@debianmaster Right now it only supports Dockerfile. We will add more build templates in the feature.

Subscribing to this issue as I'd like to see something like this as well, I want to simplify my development flow massively, and Rio + CNBs would be that improvement.


Stuck on submitting experiment to Azure ML

Got stuck on run experiment. VS code shows submitting experiment to Azure ML forever. No run is generated.

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

ID: b5b90fbd-19a9-4fe7-032b-765457549f30
Version Independent ID: a23a02a5-23fd-9935-4031-b943aa468030
Content: Train a neural network with TensorFlow - Azure Machine Learning
Content Source: articles/machine-learning/how-to-train-tensorflow.md
Service: machine-learning
Sub-service: core
GitHub Login: @maxluk
Microsoft Alias: maxluk

Hello @mukdenchild, I was able to run the experiment successfully using VS code and Jupyter Notebook. Please let us know if you continue to experience issues. Thanks.


Add iset Kassrine

@papaalioua I have to close this request without merging, because you requested to add a non-existent domain to this repository: Host Kassrine.r-iset.tn not found: 3(NXDOMAIN) Please ensure that you are familiar with this repository rules located at the bottom of this page and submit a new request with the correct information. Thank you for your understanding!


Add headerLeftOnPress to change the default behavior of the back button

This PR adds the option headerLeftOnPress to NavigationStackScreenOptions to allow overwriting the onPress property without having to replace the whole component using headerLeft.

To customize this behavior you can just import the HeaderBackButton and set the headerLeft option with an instance of it which has your custom press handler.
Something like this;
import { HeaderBackButton } from 'react-navigation';

// ...

navigationOptions: ({ navigation }) => ({
  headerLeft: (
    <HeaderBackButton onPress={navigation.navigate('MyScreen')} />
  ),
}

But since it is called a back button, you probably shouldn't use it for anything else than going back. Just use a normal button, or some other component instead.

Sure, that's possible. But I had to somehow duplicate the code in https://github.com/react-community/react-navigation/blob/master/src/views/Header.js#L115-L143 to get the same style. This PR would allow me to just replace the functionality while keeping the rest.

That I understand, but I doubt that you need that code when not using it as a back button

I'd still be using it as a back button.
I just encountered the second case where I would like to be able to overwrite the onPress function, so I writing again ;-)
My first use case is to skip one route when going back (also requested in #1213). The second usecase is to make a tracking call when the button is tapped.
Both cases can be implemented differently, but overwriting the onPress-handler seems the simplest way to me.

Thanks @Koblaid . I have a similar use-case where I just want to add a secondary call to reset some stuff while keeping the rest of the button behaviour the same.

#2712 is a similar PR

A PR which allows to customize the back button behaviour was recently merged: #2712
Since the mentioned PR covers the use cases mentioned here, I will close this PR as being redundant. With that being said, thank you for your efforts, @Koblaid  !


port number not preserved in CurrentURL() during final two-factor redirect

If using two-factor authentication on a non-default webserver port, the final redirect returns the user to the  correct URL but missing the port number.
e.g.  https://mywebserver.tld:8443/some_path/login.php
The function CurrentURL() existing within Utils.inc.php fails to consider non-default ports. Unless a better solution exists, I propose adding to line #154 of Utils.inc.php:
    if ($_SERVER['SERVER_PORT'] != 80 && $_SERVER['SERVER_PORT'] != 443)
      $host = $host . ":" . $_SERVER['SERVER_PORT'];

+1


Don't expanded object tree on some database

There is remote Postgres 9.6 on Windows XP. When i connect to him, some databases are viewed normally via object inspector, except one. When click in object inspector on this db name (NFCRW) in lower panel appears error message. PgAdmin3 normally displays the objects of this database.
What minimal version of PostgreSQL server may use with this programm? It depends of linked libpq.lib version?

Alias type regrole for oid data type was introduced in 9.5. I doubt you use 9.6. Anyway you may adjust
scripts/postgres/content/database.sql (and some others if needed) to support the version you want. See scripts/README.md for additional info.

sqt is just a scripts runner. All of it's contents is built on sql scripts (or, probably, js - the engine is looks like ready but not used yet). I wrote existing scripts to support rdbms-es i worked with (9.6-11). I'am not sure if they runnable on lower versions. There is an ability to have version-dependent script parts, so any contribution is welcomed.


Mongodb authent with botfront-ui

Hello,
When i launch botfront as a container, it launch entrypoint.sh
First, you can note that you must set a chmod +x /docker/entrypoint.sh  to execute it on build.
Second, I want to connect botfront-ui with my mongodb database, which have authentication enabled.
I tried two things :
1 :  Authent in url
ENV VAR
MONGO_URL = mongodb://admin:!(3+y6<H!GJAd{6W@mongo-db:27017/meteor
But it does nothing. When i set authent on uri, it stay at
"23/05/2019 09:29:29Connecting to MongoDB..."
2 : No authent specified
ENV VAR
MONGO_URL = mongodb://mongo-db:27017/meteor
Now, botfront-ui connnect well to the database, but have no permissions...
This is the code in entrypoint.sh which do the check for connect to mongodb, right ?
node <<- 'EOJS' require('p-wait-for')(function() { 	return new Promise(function (resolve, reject) { 		require('mongodb').MongoClient.connect(process.env.MONGO_URL, function(err, client) { 			const successfullyConnected = err == null; 			if (successfullyConnected) { 				client.close(); 				process.exit(0); 			} else { 				if(client) { 					client.close(); 				} 				resolve(false); 				return; 			} 			resolve(successfullyConnected); 		}); 	}); }, 10000); EOJS

Hey @gothax, my first guess is you need to specify an authentication database in your query string

Hello @znat  !
I removed the authentication from my database.
It's too complicated to implement this actually, i don't really understand the global process.. ;)
For sure, If i set my mongodb://username:password@hostname:PORT on MONGO_URL VAR ENV, it doesn't work. My  container never find my mongo-db database.
(I tested the string with 'mongo mongodb:// ....' and it works)
You can close it, but i think it can be a new feature to read uri with id:password :)

@gothax, authentication in mongodb string works. Usually you need to specify the authentication database, usually by appending something like ?authSource=admin to your string


upgrade registry interface definition & fix some bug

1.上周末一些指针引用变为对象引用，对应的listener部分没有修改完整。
2.修改了listener部分的接口定义，与java的命名一致，改为了subscribe，并且接口返回listener对象。由invoker层全面接管consumer 注册中心订阅任务的启动和监听。

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


onBegin and onEnd functionality

According to the API, onBegin() is called at the start of a stroke, however it seems to only get called on page load.
Example:
var pad = new SignaturePad (canvas, {      backgroundColor: 'rgb(255,255,255)',      velocityFilterWeight:0.4,      onBegin: console.log('hello')      //onBegin: startWritingTimer()  });
The above code logs 'hello' when the page is loaded, rather than at the start of each stroke.
Have I misinterpreted the API? It's also the same for onEnd() ... neither methods are firing at the start/end of strokes. What am I missing?
Thank you

@dwardrian You need to pass a function as onBegin value. console.log('hello') is not a function, but a function call.
var startWritingTimer = function () { ... };
var pad = new SignaturePad (canvas, {
  backgroundColor: 'rgb(255,255,255)',
  velocityFilterWeight:0.4,
  onBegin: startWritingTimer // notice lack of ()
});

Hope this helps.

Thanks so much, removing the () worked. Sorry for the noob question!

No problem. Cheers!


Update to Unicode 12.1.0. Fix #19

[x] Update the unicode database as per the instructions in this file
[x] Update the test suite
[x] Run tests, fix if something needs to be fixed and commit.

@wismill thanks for the update. The changes look good to me. There are a few more things that need to be done before we can make a release, can you please also take care of the following while you are at it:

Update the changelog mentioning the unicode version supported
Update the README, currently it mentions unicode 9.0
Running packdeps on unicode-transforms.cabal says quickcheck dependency needs to be upgraded so that Quickcheck-2.13.1 can be accepted. We need to change the version bounds in the cabal file.
Update the resolver in stack.yaml to the latest resolver
Update GHC version from 8.6.2 to 8.6.5 in .travis.yml, also change the OSX build to latest resolver
Change the resolver to latest in appveyor.yml
Change the tested-with field in .cabal file to 8.6.5

Can you also try running the benchmarks before and after to see if there is any significant regression. I do not expect any regression with these changes, but still its good to measure. Thanks a lot for your time and effort in doing this.
If you are interested I can add you as a maintainer for any future upgrades.

I have done the modifications. As for the the benchmarks (cabal v2-bench), do you have a handy tool to compare them?

Added benchmark regression checking/reporting tool via #21. Once I merge that you can rebase your branch with master and use it.

@wismill merged PR #21 . See the README.md file in the benchmark directory to use the comparing tool.

There does not appear to be an option --append for the benchmark:
$ cabal v2-run bench -- --csvraw=results3.csv --append unicode-transforms
Up to date
bench: unrecognized option `--append'
Microbenchmark suite - built with gauge 0.2.4
  -I CI     --ci=CI                   Confidence interval
  -G        --no-gc                   Do not collect garbage between iterations
  -L SECS   --time-limit=SECS         Min seconds for each benchmark run, default is 5.0 in normal mode, 0.0 in quick mode
            --min-samples=COUNT       Min no. of samples for each benchmark, default is 10 in normal mode, 1 in quick mode
            --min-duration=MILLISECS  Min duration for each sample, default is MilliSeconds 30, when 0 stops after first iteration
            --include-first-iter      Do not discard the measurement of the first iteration
  -q        --quick                   Perform a quick measurement and report results without statistical analysis
            --measure-only=FILE       Just measure the benchmark and place the raw data in the given file
            --measure-with=FILE       Perform measurements in a separate process using this program.
            --resamples=COUNT         Number of boostrap resamples to perform
            --regress=RESP:PRED..     Regressions to perform
            --raw=FILE                File to write raw data to
  -o FILE   --output=FILE             File to write report to
            --csvraw=FILE             File to write CSV measurements to
            --csv=FILE                File to write CSV summary to
            --json=FILE               File to write JSON summary to
            --junit=FILE              File to write JUnit summary to
  -v LEVEL  --verbosity=LEVEL         Verbosity level
  -t FILE   --template=FILE           Template to use for report
  -n ITERS  --iters=ITERS             Run benchmarks, don't analyse
  -m MATCH  --match=MATCH             Benchmark match style: prefix (default), exact, pattern (substring), or ipattern (case insensitive)
  -l        --list                    List benchmarks
            --version                 Show version info
  -s        --small                   Set benchmark display to the minimum useful information
  -h        --help                    Show help

CallStack (from HasCallStack):
  error, called at ./Gauge/Main/Options.hs:273:17 in gauge-0.2.4-dbcf496f5e89ff752095d6ae1dd40eeb566d32652c6602b318454ea5e5b84598:Gauge.Main.Options

Master:
Benchmark  unicode-transforms(ms)
---------- ----------------------
English                      7.19
Deutsch                      8.03
Vietnamese                  13.37
Korean                      14.21
AllChars                    17.04
Devanagari                  17.99
Japanese                    25.68

(maxrss)
Benchmark  unicode-transforms(KiB)
---------- -----------------------
AllChars                     30.28
Deutsch                      31.87
Devanagari                   32.00
English                      32.66
Japanese                     32.66
Korean                       32.66
Vietnamese                   32.66

This PR:
Benchmark  unicode-transforms(ms)
---------- ----------------------
English                      7.26
Deutsch                      8.02
Vietnamese                  13.44
Korean                      14.08
AllChars                    16.61
Devanagari                  16.87
Japanese                    24.95

(maxrss)
Benchmark  unicode-transforms(KiB)
---------- -----------------------
AllChars                     28.99
Deutsch                      29.66
Devanagari                   30.69
English                      32.58
Japanese                     32.58
Korean                       36.07
Vietnamese                   36.26

Sorry about that. Yes there is no --append option it appends by default. So you can just run it without that option, the results will be appended to the csv file and then when you run the chart executable it will show the diffs between the two runs.

Benchmark  unicode-transforms(0)(ms)(base) unicode-transforms(1)(%)(-base)
---------- ------------------------------- -------------------------------
English                               7.60                           +1.92
Deutsch                               8.28                           -0.33
Vietnamese                           13.60                           +0.29
Korean                               14.12                           -0.15
Devanagari                           17.48                           +0.73
AllChars                             17.79                           -2.82
Japanese                             30.03                          -12.41

(maxrss)
Benchmark  unicode-transforms(0)(KiB)(base) unicode-transforms(1)(%)(-base)
---------- -------------------------------- -------------------------------
AllChars                             215.86                          -16.30
Deutsch                              215.86                          -16.30
Devanagari                           215.86                          -16.30
English                              215.86                          -16.30
Japanese                             215.86                          -16.30
Korean                               215.86                          -16.30
Vietnamese                           215.86                          -16.30

@wismill thanks for all the work! Much appreciated. I like the simplified benchmark running instructions. We need to get it up on Hackage now, maybe after a few days of soak time.


Added unbinding keys and allowing key passthrough.

This should fix #342.
In order to register a key for passthrough, note that you need two true statements after declaring a key. E.g:
-- enables passthrough to the mod+shift+h keybinding
key({ mod, "Shift" }, "h", function () print("Hello world!") end, true, true)

This is because there is a currently unused variable there (loop) and I did not want to break backwards compatibility in case I use that. In the future this might change, but because this is being added in a minor version bump I will not make this a breaking change (even if it wouldn't actually break anything).
@z33ky Can you please test this to ensure that it works for your use case? I'll take the next couple of days to run it on my own system (to ensure no regressions) and to review the code.
This PR also fixes a bug where the adding a key would mutate the original keybinding table that was passed in, meaning subsequent calls to it would be invalid.

It works, thanks!
I've pushed my extension here if you want to see how I use this feature. It's very much WIP, but it works.

@z33ky I tried to make the unregister key method use the same layout as the input to  register key, though in retrospect that's probably not what is best.
I'll modify it so it takes in the mods and the key (eg the first two arguments to  key)

@z33ky There we go, that should be fixed. If there's any other issues please bring them up now. I hope to cut the release before the weekend is over.

LGTM


configuring ps1 file

when I configure the ps1 file and open it via PowerShell I get the message "Pool Public Key (48 bytes) needs to be specified via -p " I tried to just enter the pool public key adding -p into the file but it did nothing. Anyone know what's causing this?

Same issue.  Running win 10 madmax thru powershell

paste your command line here without the keys and we can check if it's set up properly - are you trying to plot for pools or not?

There are two pool numbers - but one is a public key, one is the pool contract address...
For personal plots you use -p and the pool public key, for poolable plots you use -c and the contract address.

I dont have power at the moment fRom storms.  but it is basic commands ive ran for a long time. I replaced the -p with - c and the key from the pool. Ive even typed it in manually. Do i need to add something else for it to see it. Some other arguement? Someone said contract arg before key. What is that?

PS C:> cd C:\Users\maxwe\OneDrive\Desktop\madmax
PS C:\Users\maxwe\OneDrive\Desktop\madmax> .\chiaplotter.ps1
Multi-threaded pipelined Chia k32 plotter - 249c365
Build 0.0.6 for Windows. Check for latest updates: https://stotiks.github.io/chia-plotter/
Pool Public Key (48 bytes) needs to be specified via -p , see chia keys show.
This is what my ps1 file looks like:
./chia_plot.exe -n 5 -f 86be96441f4fbf5c137e710417f07d87a0b149a142d0a0cb687a4db75aedaaad719883c275b6180c07014018e83209d3 -c xch17ehysyq9hsx07rsc2jqv8afc5usldxqe6etr7awtlqn22efza80q3zgpw5 -t D:\ -2 D:\ -d G:\ -r 8 -u 256 -v 128

I'm trying to make poolable plots

I feel like I just need to update my version of the plotter, how do I do that?

./chia_plot.exe -n 5 -c xch17ehysyq9hsx07rsc2jqv8afc5usldxqe6etr7awtlqn22efza80q3zgpw5 -f 6be96441f4fbf5c137e710417f07d87a0b149a142d0a0cb687a4db75aedaaad719883c275b6180c07014018e83209d3 -t D:\ -d G:\ -r 8 -u 256 -v 128
Try that

I feel like I just need to update my version of the plotter, how do I do that?

ah, which version are you on? You need version 0.1.1
https://github.com/stotiks/chia-plotter/releases
download just the chia_plot_0.1.2a.zip, extract and replace your chia_plot application file and keep your existing powershell file

Thanks, its working fine now

what did i do

I just updated my chia_plot.exe

PS C:\Users\maxwe> cd..
PS C:\Users> cd..
PS C:> cd C:\Users\maxwe\OneDrive\Desktop\madmax
PS C:\Users\maxwe\OneDrive\Desktop\madmax> .\chiaplotter.ps1
Multi-threaded pipelined Chia k32 plotter - 82f92a9
Build 0.1.2a for Windows. Check for latest updates: https://stotiks.github.io/chia-plotter/
Final Directory: G:
Number of Plots: 5
Crafting plot 1 out of 5
Process ID: 8260
Number of Threads: 12
Number of Buckets P1:    2^8 (256)
Number of Buckets P3+P4: 2^7 (128)
Pool Puzzle Hash:  f66e481005bc0cff0e185480c3f538a721f69819d6563f75cbf826a56522e9de
Farmer Public Key: 86be96441f4fbf5c137e710417f07d87a0b149a142d0a0cb687a4db75aedaaad719883c275b6180c07014018e83209d3
Working Directory:   D:
Working Directory 2: D:
Plot Name: plot-k32-2021-07-10-11-31-8e74c8f29c49ac64d3a09d39916a21fdec094b9736896f409ca7e4d47b668cfa
So does this mean it's starting to plot?


:robot: Triggering CI on branch 'release-next' after syncing to upstream/main

/test 416-test-e2e-aws-416

  *[2024-10-22T06:45:14Z]NoClusters: No clusters in pool are ready to be claimed

/test 416-test-e2e-aws-416

/test 416-test-e2e-aws-416

/test 416-test-e2e-aws-416

/test 416-test-e2e-aws-416

16:11:25.925 INFO:    Check if CatalogSource is installed
16:11:26.102 INFO:    Installing CatalogSource
./hack/lib/catalogsource.bash: line 28: FORCE_KONFLUX_INDEX: unbound variable
make[1]: *** [Makefile:28: install-serving] Error 1
make[1]: Leaving directory '/tmp/knative.y0KvV4Ii/tmp.pJabfa7MIJ'

@skonto Sorry, sent a fix here: https://github.com/openshift-knative/serverless-operator/pull/2969
It's problematic to use the Konflux Index image without modifications. Serving replaces some release artifacts in the manifests dir and then requires rebuilding the stuff from scratch.
Same applies to Eventing.

The PR was merged. Re-testing.
/test 416-test-e2e-aws-416

/retest

OCF Webhook is merging this PR


Is there an interface generator?

I would like to write some libraries with flow in mind. This libraries should be published so that other users out there can use it. The libraries should be useable for users that are using flow as well for users that are not using flow.
My first thought was that I write my code with Babel and add flow type annotations. My build system (I am using Gulp) transforms my code to ES5 compatible code, strips out flow type annotations and put it in a lib directory. This lib directory will be published to npm. Why / how I do this is explained here. So far so good. Everyone can now use my library and is not forced to use flow, Babel or something else.
But what if someone want to use my library with type annotations? He has to add an interface file. But it would be much more comfortable when the library already would provide those interface files. So my second thought was to add these interface files by myself to my library and add it to my lib directory for exporting. But this forces me to write this interface files by hand. So I have to write the types to my js files and once again to the interface files.
Is there a way to automatically generate the interface files for me? Or am I completely on the wrong way for this whole thing?

But it would be much more comfortable when the library already would provide those interface files. So my second thought was to add these interface files by myself to my library and add it to my lib directory for exporting.

Here's an issue I opened about this part: https://github.com/facebook/flow/issues/593 . I think it's pretty much a prerequisite step for this. I do agree with this issue that auto-generating interface files for a module would be useful.

Check out http://flowtype.org/blog/2015/02/20/Flow-Comments.html and the related babel plugin, https://github.com/babel-plugins/babel-plugin-flow-comments
Instead of stripping out the annotations, convert them to comments. Flow will still be able to read them, but it'll be valid ES5.
An interface generator would be useful for other things, though, so I'm going to leave this open for now.

@mroch I recommended the same approach to someone else, and they brought up a very good point which prevents the transpile-to-comments approach from working for most people. :disappointed:
The only way to really make transpile-to-comments work is if you only use that feature, and maybe a handful of other features where Flow understands the code on the other side. I don't have any solutions beyond that, but hopefully this will save someone else some time going down that road.

So correct me if I am wrong: at the moment there is no solution for my problem? I can't export flow type annotations for my node library that is written in Babel?

@ScreenDriver Yeah, unfortunately the workflow for this isn't really fleshed out. You can distribute your source code with type annotations separately in the mean time, although I realize this is far from ideal.

:sob:

@ScreenDriver what about putting your interface file in the root of your package? If the user wants to use it it can just include it in the config, or even import types from it. I'm not yet familiar with using interface files, I'm using the approach of name_mapper as described in the comment from @samwgoldman, in combination with having a types file in the root of the package so that I can require it with babel with: import {TypeA, TypeB} from 'library/flow/types';

The problem with putting the interface file in the root of my package is that I have to write it manually. I have to write every type declaration twice: in the source code files and in the interface file. If I forget one of those files the other one is useless. This approach would be very cumbersome.

For people stumbling across this issue, I think the solution was to add .flow definition files (see https://github.com/facebook/flow/issues/593#issuecomment-161157179).
In particular, https://github.com/AgentME/flow-copy-source might be useful; eg. GCanti's flow-static-land, as part of the build step, takes Flow originals and:

Puts compiled ES5 in lib/, and
Makes the original Flow definitions available alongside them as .flow definitions, for consumption by code using the library.

flow-gen-files replacement is coming soon


Let Request.map() copy extensions

Motivation

Fix for issue raised in #770: request extensions are not passed properly to downstream service abstraction when using generated grpc clients.
Solution

Make Request.map() copy self.extensions

ping ?


AuthorizeView only works if Admin is the first role on the list

What do you mean by "the first role on the list" ? The index 0 ? Please give me more informations about this bug

Yes, I mean the index 0, I'm not sure how authorized view is implemented but if a user, receive a second role like admin, the authorized view only consider the first role added (user). But then, if you remove user, so only admin role is present the authorized view works. We can check together.

Ok, with this explanation, I'll be able to reproduce the bug. I'll get back to you if necessary.

@AlexandreIorio What to do with this issue ? Did you fix the bug yet ?

Nop

Can you please check this and fix it ? Or discuss with @Theodrosrun to find the bug and correct it. Thank.
If you think that it's not necessary, please close this issue.


Add more IPs to multinode external deployment config

/gcbrun

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

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

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
2482

Relevant Lines:
4118

💛  - Coveralls


Thanks and high-level interface using P4est.jl

Thanks for all of your work wrapping p4est!  It has been fun for me to work with p4est interactively via tmpi (https://github.com/Azrael3000/tmpi).
I have found the low level interface a little cubersome to use interactively so I made an inital draft of something a higher level.  I am curious what you think of it.
You may find the high-level interface here https://github.com/lcw/P4estTypes.jl along with some initial documentation.  It should be registered in a couple of days https://github.com/JuliaRegistries/General/pull/81365.

Thanks a lot for sharing! The new package looks very nice! Are there any known issues with using P4estTypes.jl, e.g., features that are not (yet) supported or performance traps?

Thanks a lot for sharing! The new package looks very nice! Are there any known issues with using P4estTypes.jl, e.g., features that are not (yet) supported or performance traps?

  I have only implemented a small (but functional) set of p4est.  For example, the iterator doesn't support face, edge, or corner iteration yet.  Also, Quadrant, LNodes and GhostLayer may need some more love.  I plan to add functionality as needed for my multi-GPU dg code.  To get an idea of what that is, here is the list of p4est types and functions my old C multi-GPU dg code used:
p4est_balance_ext
p4est_coarsen_ext
p4est_connectivity_destroy
p4est_connectivity_new_brick
p4est_connectivity_new_byname
p4est_connectivity_read_inp
p4est_connectivity_t
p4est_destroy
p4est_ghost_destroy
p4est_ghost_exchange_custom
p4est_ghost_expand_by_lnodes
p4est_ghost_new
p4est_ghost_support_lnodes
p4est_ghost_t
p4est_gloidx_t
p4est_init
p4est_iterate
p4est_iter_face_info_t
p4est_iter_face_side_t
p4est_iter_volume_info_t
p4est_lnodes_code_t
p4est_lnodes_decode
p4est_lnodes_destroy
p4est_lnodes_global_index
p4est_lnodes_new
p4est_lnodes_t
p4est_locidx_t
p4est_new_ext
p4est_partition
p4est_qcoord_t
p4est_quadrant_array_index
p4est_quadrant_compare_piggy
p4est_quadrant_face_neighbor
p4est_quadrant_is_inside_root
p4est_quadrant_t
p4est_refine
p4est_refine_ext
p4est_t
p4est_topidx_t
p4est_tree_array_index
p4est_tree_t

I would be happy to see contributions that support more of the p4est interface.
As far as performance is concerned,  I have currently focused on getting things working and have not profiled anything.  The main trap I see so far is callbacks.  They are implemented to allow closures to be passed to p4est.  I am not sure how performant that will be.  Help on this would be much appreciated.

What are your plans for this package - just as a playground or stable for production?

My plan is for P4estTypes.jl to be stable for production (I am planning on using it for my mulit-GPU version of  https://github.com/lcw/Bennu.jl--https://github.com/mwarusz/Atum.jl).  I would like to iron out any interface/performance issues early so that the API can stabilized quickly.  Any help on this front is appreciated.
P4est has been extremely stable over the years so I don't envision many changes once we get a functional set of the API covered.

I also wonder whether it would make sense to link to it from the docs of P4est.jl.

On my end of things it makes sense.  The more eyeballs on P4estTypes.jl the better.


kNN matrix

Hi,
I read your pre-print in biorxiv and am very interested in using the method on our real data set as so far I've had no luck finding a usable clustering method that can identify the optimal k from variant data.
I was using the demo.ipynb for our VCF but can't proceed without the pre-computed kNN matrix. Is it possible to compute such a matrix myself with an existing method? I guess the pre-calculated file included is a binary file so I wasn't sure how to look at it and discern how it might be generated.
 Realized I totally misunderstood what the pre computed matrix meant.


tridentctl fails when deleting k8s objects

I am unable to install trident using tridentctl due to what seems like a bug in the k8s_client. Can you please advise how I can get this working?
Command:
./tridentctl install -n trident
Actual output:
INFO Starting storage driver.                      backend=/home/user/trident-installer/setup/backend.json
WARN Could not determine controller serial numbers. API status: failed, Reason: Unable to find API: system-node-get-iter, Code: 13005
INFO Storage driver loaded.                        driver=ontap-nas
INFO Starting Trident installation.                namespace=trident
WARN Could not delete cluster role binding using existing YAML file.  error="exit status 1" path=/home/user/trident-installer/setup/trident-clusterrolebinding.yaml
WARN Could not delete cluster role binding.        error="exit status 1"
WARN Could not delete cluster role using existing YAML file.  error="exit status 1" path=/home/user/trident-installer/setup/trident-clusterrole.yaml
WARN Could not delete cluster role.                error="exit status 1"
WARN Could not delete service account using existing YAML file.  error="exit status 1" path=/home/user/trident-installer/setup/trident-serviceaccount.yaml
WARN Could not delete service account.             error="exit status 1"
FATA Install failed; could not remove one or more previous Trident artifacts; please delete them manually and try again
Expected output:
INFO Starting storage driver. backend=setup/backend.json
INFO Storage driver loaded. driver=ontap-nas
INFO Starting Trident installation. namespace=trident
INFO Created service account.
INFO Created cluster role.
INFO Created cluster role binding.
INFO Created PVC.
INFO Created PV. pv=trident
INFO Waiting for PVC to be bound. pvc=trident
INFO Created Trident deployment.
INFO Waiting for Trident pod to start.
INFO Trident pod started. namespace=trident pod=trident-7d5d659bd7-tzth6
INFO Trident installation succeeded.
Cause:
Using strace I have discovered the cause to be the order of the arguments provided to the kubectl delete command
strace -f ./tridentctl install -n trident -d &> strace.log
[pid 24174] execve("/usr/local/bin/kubectl", ["kubectl", "--namespace=trident", "--ignore-not-found=true", "delete", "-f", "/home/user/trident-installer/s"...], [/* 31 vars */] <unfinished ...>
...
[pid 24174] write(2, "unknown flag: --ignore-not-found"..., 33 <unfinished ...>
...
[pid 24174] +++ exited with 1 +++
According to kubectl docs the --ignore-not-found flag must appear after the delete. The following command for example runs without issues
kubectl --namespace=trident delete -f /home/user/trident-installer/setup/trident-clusterrolebinding.yaml --ignore-not-found=true
The offending lines seem to be 655, 674 and 693 in https://github.com/NetApp/trident/blob/stable/v18.04/cli/k8s_client/k8s_cli_client.go
Versions:
trident:      netapp/trident:18.04
tridentctl   trident-installer-18.04.0.tar.gz
kubectl     v1.9.6

@brambezem Thanks for this analysis!  I can't explain or reproduce what you are seeing, at least with K8S 1.10.1, and we do test with K8S 1.9 as well.  But reordering the kubectl arguments seems trivial and harmless, so I'll try to get that into the 18.07 release.

My workaround was to upgrade my cluster to kubernetes v1.10.4.
If you do not wish to do so you could try to only upgrade kubectl only as this is a client-side issue.

upgraded kubectl client it worked. Thanks

Fixed in v18.07.0-beta.1


documentation for Contamination Overlap

https://jwst-docs.stsci.edu/jwst-other-tools/jwst-exoplanet-observations-proposal-tools/exoctk-contamination-overlap-tool


release artifacts for release v0.0.1

Signed-off-by: Jay Pipes<EMAIL_ADDRESS>By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

/lgtm