Allow users to unindent multiple lines of code with Shift and Tab

Right now users can indent multiple lines using Tab but we also want them to be able to unindent multiple lines as well with Shift+Tab.

I'll happily do it!

@Guiguerreiro39 Go ahead, round 2 :)

@Guiguerreiro39 Hey I was wondering if I could get you to fix your auto unindent feature. I'm embarrassed to admit, but I didn't test it before I merged it, and it turns out it doesn't work. When you bound your tab_text function to the tab key, you overwrote the normal function of the tab key and now it doesn't work at all. deleted the keybindings and recommitted the branch for the time being.

@Guiguerreiro39 Hey I was wondering if I could get you to fix your auto unindent feature. I'm embarrassed to admit, but I didn't test it before I merged it, and it turns out it doesn't work. When you bound your tab_text function to the tab key, you overwrote the normal function of the tab key and now it doesn't work at all. deleted the keybindings and recommitted the branch for the time being.

It's working for me in single and multi lines.. What OS are you using?

@Guiguerreiro39 I am on Linux, maybe that's the issue?

@Guiguerreiro39 I am on Linux, maybe that's the issue?

Yes, that's the issue :( I will fix it for linux as well

Since I'm not using linux and I don't really have the time to setup a VM with it, can you test with this keybind instead? @SethWalkeroo
<Shift-ISO_Left_Tab>

@Guiguerreiro39 Of course, one minute.

@Guiguerreiro39 I'm still running into the same problem. I can't tab or indent anything.

@SethWalkeroo Are you getting any error in the console?

@Guiguerreiro39 I am not getting any errors in the console, no.

Well that's annoying ... I will write some code that makes the keybind work only for mac or windows and then I can later figure out which keybind should I use for linux

@SethWalkeroo just a thought.. can you remove the keypress inside of the keybinds that I've made?

@Guiguerreiro39 Still no luck. I have a Windows pc I can test this on. I'll check it out on there and see if I can't put a fix together.

Let me know once you can test it 👍

@Guiguerreiro39 Hmm, I tested this on my Windows computer and it still wasn't working. Do you know anybody else that can try this out?

@Guiguerreiro39 Hmm, I tested this on my Windows computer and it still wasn't working. Do you know anybody else that can try this out?

I don't know.. But it's weird, in mine is working perfectly.. I saw in the master branch the function is not up-to-date? Have you tested with the new one or did you test it just after cloning?

@Guiguerreiro39 Is this using your version of the main branch? I will give it another go.

@Guiguerreiro39 Is this using your version of the main branch? I will give it another go.

Yes, I've tested with my current version on my main branch.. I saw yours and it seems it's not up-to-date with mine, atleast the part for unindent

@Guiguerreiro39 Yes, that's because I removed the bindings and code for the time being. I just tried your branch with windows and I am running into the same problem. Any other ideas for what the issue might be?

@Guiguerreiro39 Yes, that's because I removed the bindings and code for the time being. I just tried your branch with windows and I am running into the same problem. Any other ideas for what the issue might be?

That's really weird.. The keybind function is the thing that's overwritting the normal functionality of Tab when returning "break", so I think your machine is recognizing the keypress.. Is indenting multiple lines working? If you had time to debug the function it would be great

@Guiguerreiro39 Yes, that's because I removed the bindings and code for the time being. I just tried your branch with windows and I am running into the same problem. Any other ideas for what the issue might be?

That's really weird.. The keybind function is the thing that's overwritting the normal functionality of Tab when returning "break", so I think your machine is recognizing the keypress.. Is indenting multiple lines working? If you had time to debug the function it would be great

Can it be python version? Mine is 3.8.3

@Guiguerreiro39 I think that I am close to fixing things. It has to do with the event state, and the binding with shift and tab. I changed the if statements in the function to check for even.state == 0 instead of 8, and I swapped the keybinding  for  (for testing) and everything worked perfectly. I will let you know when I think everything works (for me at least) and then you can test it on your machine.

OK great! The event.state that I was getting for Shift+Tab was 8, it might change on different machines or versions perhaps! Looking forward for updates 👍

@Guiguerreiro39 Okay, so things are working as expected, I can tab and untab text, but there seems to be another issue. It seems that I can only unindent text that I have indented in the current session. If I try to unindent  text that indented before I opened the file, it does nothing. Is this issue something else related to the current issue, or does this happen for you as well?

Well, I've tried to write a file, indent, save and reopen and it's still working fine.. One thing to consider is that copied text from vscode seem to replace /t for spaces and the unindent does only delete /t characters at the beginning of the line.. That can be the cause of this issue


[feature] Update Light Theme Modal Background Colour on Native

What problem does this new feature solve?
While testing Web3Modal native on light mode, I noticed modal backgrounds where not #FFFFFF (and that should be)
Conscious it was confusing in our Design System to have Dark background in 125 and Light in 100, I updated the Light/Background/125 to #FFFFFF in our Core Library, so that we can have full white modal backgrounds.
@ignaciosantise @quetool @kacperoak @radeknovis could we update in next releases ? 🙏
Describe the solution you'd like
https://www.figma.com/file/VKp2Ni4kc1nDaYx6pPPSCF/Core-Library?type=design&node-id=158-443&mode=design&t=TDigKbtLAzOCNKCS-4

This is done for Flutter since a while! :)


Boundary Width/Height Error

Hi,
I try:
				viewport:
				{
					width:300,
					height:300,
					type:'square' //circle
				},
				boundary:
				{
					width:600,
					height:600
				}

and not work... why? where i change to it work fine?
https://ibb.co/cM8Z6J or http://i66.tinypic.com/ulptu.jpg
thank you!

Looks like it's working fine to me?  What seems to be the problem?


test: adding fee middleware tests for ics27 interchain accounts

Description

Adding fee middleware integration for interchain accounts

needs: #1432
closes: #1328

Before we can merge this PR, please make sure that all the following items have been
checked off. If any of the checklist items are not applicable, please leave them but
write a little note why.

[ ] Targeted PR against correct branch (see CONTRIBUTING.md)
[ ] Linked to Github issue with discussion and accepted design OR link to spec that describes this work.
[ ] Code follows the module structure standards.
[ ] Wrote unit and integration tests
[ ] Updated relevant documentation (docs/) or specification (x/<module>/spec/)
[ ] Added relevant godoc comments.
[ ] Added a relevant changelog entry to the Unreleased section in CHANGELOG.md
[ ] Re-reviewed Files changed in the Github PR explorer
[ ] Review Codecov Report in the comment section below once CI passes

Note this PR includes all the additions from #1432 as they're necessary to put the tests in place.


LUCENE-9856: Static analysis take 3: Remove redundant interfaces

This fixes the remaining change in #37, see comment https://github.com/apache/lucene/pull/37#issuecomment-805119396

Hi @rmuir,
I will dig into the TermToBytesRefAttribute issue, but I know why it fails. The reason is that TermToBytesRefAttribute is a superinterface of the actual CharTermAttribute, BytesRefTermAttribute,...
When the indexer calls getAttribute(TermToBytesRefAttribute.class) it gets back null, because the attributeimpl is not aware of it (not declared).
In general, all AttributeImpls should explicitely list all interfaces they implement (also for documentation purposes).
P.S.: The issue we have seen here is similar to a private method that is referenced by a MethodHandle (which is perfectly valid), but "unused" checker cannot see the method is ever called. Therefore we always declare those methods as package-private, although private would be more correct. I remmeber this from Elastic Painless and Expressions :-)

The problem here is specific to BytesTermAttribute. In contrast CharTermAttribute does not have the issue:

TermToBytesRefAttribute defines getBytes()
Because BytesTermAttribute add setBytes() it also has getBytes(). So we decided to let it extend TermToBytesRefAttribute.

This is IMHO wrong. Attribute interfaces should not extend each other (separation of responsibilities). Both shoud declare getBytes() with same signature. Then compiler won't complain.
P.S.: For the AppendGraphTokenFilter this was just copypasted. Here not even a test fails, as this is never tested with IndexWriter! We should add an indexing test!!!

In short: the PR fixes the issue but the design is still broken since Lucene 4.0 !

IMO it is arguably strange that AttributeSource "crawls" up the class hierarchy but not the interfaces too? https://github.com/apache/lucene/blob/main/lucene/core/src/java/org/apache/lucene/util/AttributeSource.java#L154-L164
It seems this is the root cause of the unexpected behavior. I'm not suggesting we make it recursive, but maybe some javadocs is a good idea. Because to the programmer or tool, it is unintuitive that superinterfaces would need to be declared directly

Thanks Robert for review. I added a few tests to verify that all TokenStreams have at least a TermToBytesRefAttribute, implemented by correct class. For standard UTF-16 streams using CharTermAttribute it must be same implementation class like the CharTermAttribute. For binary streams I added asserts and tests.

bq. IMO it is arguably strange that AttributeSource "crawls" up the class hierarchy but not the interfaces too?
It is strange and counterintuitive to me. I think all interfaces can and should be collected consistently (this means inherited interfaces too).

IMO it is arguably strange that AttributeSource "crawls" up the class hierarchy but not the interfaces too?

It is strange and counterintuitive to me. I think all interfaces can and should be collected consistently (this means inherited interfaces too).

We could change the ClassValue initializer as pointed out by Robert, yes. As it is cached, there is no problem with performance! Implementation is straight forward.
But nevertheless, the additional checks I did in my tests are going far beyond that: The problem where this issue here comes from was explained in my first comment. When Michael Bush invented the attributes in Lucene 2.9, the idea and concept was quite clear: Every attribute should provide a way to store a property on the tokenstream. They should not interfere with each other. So originally the interface was defined to be just a POJO/bean with getters/setters to change the value. This concept allowed to combine multiple attributes in the same implementation class (what we do with our default implementation). If you change on attribute, another one should not change. So sharing functionality and methods between interfaces were not wanted. If Java would have allowed "final" on interface, we would have placed it on our attribute interfaces.
With Lucene 4.0 we got a problem: The term can be represented as a byte[] or as a char[]. The indexer only wants bytes[]. But classical tokenstreams use UTF-16 characters. Also NumericTermAttribute was the first one who provided byte[] as a term. We now had a problem:

Indexer only wants byte[]
Tokenstreams want provide char[], sometimes (numerics) byte[]. But users don't want to deal with bytes and we did want to convert as seldom as possible

And now the design did not fit that: How to create an interface that allows for this: And here the misconception started (it's partially my fault): We split the term attribute into actually 3: TermToBytesRefAttribute with only a getter, CharTermAttribute implementing CharSequence and Appendable for easy usage, BytesTermAttribute holding a BytesRef. Problem was now that we did not want to copy char->byte all the time when somebody modifies term. So TermToBytesRefAttribute was a hack to be implemented by implementation class to have a "view" on the term (chars or bytes) from the viewpoint of indexer.
This now brough problems that I am trying to verify with my tests added:

If you have a CharTermAttribute there must always be a TermToBytesRefAttribute available, and because they rely on each other: they must be implemented by same class (otherwise they wont be able to share data).
the same for BytesTermAttribute

There is nothing that enforces it. E.g., if you add a CharTermAttribute to a TokenStream, you implicitely add the TermToBytesRefattribute. If you then add a BytesTermAttribute, too you're fcked up: You can set byte[] but they won't never go into index. This is why I added the tests.
The problem with the non-explicit interfaces is just one side-efect of the misconception.
For documentation purposes I would really, really like to keep the explicit declaration of interfaces on attribute classes, so user knows which attributes are there! Javadocs does not show super interfaces. So I'd like to enforce.
I would add a impl note to AttributeSource to clarify that interfaces should be explicitely declared and it should generally be avoided to extend attributes from each other.
We can also fix this for BytesRefAttribute: Remove the extends and just redeclare the duplicate method. By that we also ensure that you cannot wrongly combine the interfaces with others (conflicting method declarations).

To finalize the discussion here: Should we maybe merge this PR and leave the other fixes to a specific discussion issue?

I added some Javadocs.
@rmuir and I discussed also if we should require a TermToBytesRefAttribute be available on a tokenstream before sending to IndexWriter. I implemnted this, but EmptyTokenStream fails, so there's room for discussion. I will open new issues later.
For now I will merge this.


Transaction fee table in air tokens

Change that table https://github.com/airalab/aira/blob/master/expenses.md

Currently exist a simple rule: 1 air = 1 transaction prepared by EthBot.

So do really needed different fees in this release?

Ok, today we can use simple fee for all bots transactions on 1 air.


[Infra Updates] update CI, dependencies, scripts, etc.

Update github workflows
Update swiftlint (and apply fixes)
Update jazzy
Update bundle
Update Swift package
Update README

#63

will figure out the pod lint issue later. seems like it's confused about watchOS?


[HUDI-3594] Supporting Composite Expressions over Data Table Columns in Data Skipping flow

Tips

Thank you very much for contributing to Apache Hudi.
Please review https://hudi.apache.org/contribute/how-to-contribute before opening a pull request.

What is the purpose of the pull request
Supporting Composite Expressions (including standard Spark functions and UDFs) as Filter Expressions in Data Skipping flow.
For example, if previously we were only supporting rather simple expressions over Data Table attributes like WHERE columnA = 42, now we will be supporting much broader scope of expressions (strictly defined below) allowing for example Data Skipping to properly digest queries like WHERE date_format(columnA, 'MM/dd/yyyy') = '01/01/2022' referencing Spark's standard function date_format.
Formally, now supported are any expressions such that it

References exactly 1 attribute (column, meaning that expressions like A * B = 0 are not supported)
Does not contain sub-queries

Also, now as "value expression" we support any expression such that it

Does not reference any other attribute (A = B filters are not supported)
Does not contain sub-queries

Brief change log

Expanded scope for value expressions
Expanded scope for attribute expressions
Fixed resolveExpr util to properly resolve Spark functions
Grouped together logically equivalent expressions
Added tests

Verify this pull request
This pull request is already covered by existing tests, such as (please describe tests).
This change added tests
Committer checklist

[ ] Has a corresponding JIRA in PR title & commit

[ ] Commit message is descriptive of the change

[ ] CI is green

[ ] Necessary doc changes done or have another open PR

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@vinothchandar what test results are you referring to?

@hudi-bot run azure

@nsivabalan we can land this once CI passes


TimeOut Exception on line 63

I cannot understand what is //img[@class="Qgzj8 gqwaM"] this argument.

@sagnik20 Feel free to put up a fix, will merge it.

Same issue here. The script won't locate the element in page and it stops there.

Same issue here. The script won't locate the element in page and it stops there.


tp.edu.tw

tp.edu.tw

tp.edu.tw

@shadowdh I corrected the file name according to your request, and merged it. Please feel free to spread the word about the availability of free JetBrains licenses among your colleagues, and send an email to<EMAIL_ADDRESS>if you need any help. Thank you!


Add human-readable proof-request information to QR code page

When presented with the QR code to scan with BC Wallet, users will NOT know until after scanning it what is requested in the proof.
To improve this, we should add a metadata object to the proof-configuration that can be used to hold information about the proof (useful also for searching in a list) with information about what is requested.
The page would display a section similar to the following (example for the Lawyer + Person credential proof):
The proof request will ask you to prove the following:

That you are a BC Resident
That you are a member of the Law Society of British Columbia

The data structure containing the information to be displayed could be something like:
{
 "ver_config_id":"accredited-lawyer-bcpc",
  ...,
  "metadata": {
    "proved_claims": ["That you are a BC Resident", "That you are a member of the Law Society of British Columbia"]
  }
}

Note: i18n descriptions could be added to accomodate for multi-language systems.

Standard items in metadata should also be title and description, which, when provided, could be displayed in place of the current Scan with a Digital Wallet title to provide additional context.

Would we want "Scan with a Digital Wallet" (and "Continue with:" on mobile) to be able to be changed to something else? As it's instructional UX for the wallet usage.
So with a configurable

title
description
claims

There would be options like this (size and layout TBD). Might be worth getting input from @knguyenBC

Yes, where the layout and content default to what we see on the screen currently.
In the absence of metadata content:

Title defaults to "Scan with Digital Wallet".
Description default to "".
Claims defaults to "".

Can the metadata be configured for every use case or is it configured for every proof request? i.e. in the courthouse example above, the description is specific to courthouse materials but if another use case uses the same proof, could the description change?
Even though we have that screen for when people scan with a normal camera, I think it's important to  call out "scan with a digital wallet" to catch them a earlier (a reward for people who read). So I agree with the screens @loneil has suggested. The issue is who is defining the Title, description, and claims.

Current thought is the meta-data would be defined on the proof request.  But yes that needs to be considered when registering the proof request; how generic is it's use.

The metadata will be for each proof-request configuration. Any user of VC-AuthN can decide to use any of the configured proof-requests, so the title/description should be as generic as possible (for that proof-request).
That is the reason why I was suggesting we start with the list of claims, as this can be used to fill a parametrized statement that will always be applicable regardless of the proof-request in use.

I think for now, the list of claims and title is fine. No need for a description as that should be defined by the verifier on their own webpage. I'm not sure where the title will come from though. Is that a new spec (written and approved by who?) or is that taken from the ver_config_id? (Also written and approved by who?)

I think for now, the list of claims and title is fine. No need for a description as that should be defined by the verifier on their own webpage. I'm not sure where the title will come from though. Is that a new spec (written and approved by who?) or is that taken from the ver_config_id? (Also written and approved by who?)

We (Digital Trust Team) review all proof-requests that are made available in the system so it's going to be us determining the correct title for proof-configurations.


Make SwiftPM test suite run parallel in Xcode

This adds an explicit test plan and scheme so that we can mark test bundles are parallelizable. It's a little unfortunate that this opts us into manual managing these configs, but the alternative of everyone having to do it locally is even worse.

@swift-ci please smoke test


Menu background is the same as text editor background

That makes menus look completely transparent when placed over the text editor, which isn't particularly friendly to people who freak out over things like that.
A box shadow on menus might not be a bad idea, either.

You really love details haha. I'll keep these feedbacks in mind. :)


Define which functions, types, ... are the interface

It's important to get it right, for when exporting with ex_doc.

At the same time, review what we have currently, as to trim down to bare essentials.

Maybe restore xref for maintainability (?)

We need to:

check what we want opaque
how are types defined (are they complete?)
how are functions spec.ed (are they complete?)


added 4 checkbox input types for pairing technologies and an other text input…

… box for an item not listed. Also changed label to "Preferred Pairing Technology" (issue 4)

I pushed changes where the pairing technologies are now separated by commas but now I'm having issues when text is entered into the "other" box so I'm going to have to work on this a bit more


Returned plan of a temporal problem/domain (with durative actions) is PlanKind.SEQUENTIAL_PLAN and not PlanKind.TIME_TRIGGERED_PLAN

Describe the bug
I want to solve temporal problems (with durative actions).
"Saddly" (from the solver pov), I use negations in my pre-conditions.
So I am using your compiler with CompilationKind.NEGATIVE_CONDITIONS_REMOVING (which should be a very great feature, but I cannot say it now).
I went rewriting domain and problem, so that it fits LPG (in UP) limitations.
You can find the PDDL files in Appendix.
Running the python script in Appendix, it does read the PDDL files, remove negative conditions, find a solver (LPG) and solve the problem. BUT the output plan is sequential. I was expecting a temporal (TIME_TRIGGERED_PLAN) plan.
Why ?
Does it come from the negative condition removing ? Can be.
To Reproduce

Get the code extracts (PDDL domain, PDDL problem, python script) in the appendix and put them in files.
In the python script, change the paths to PDDL files.
Run the python script

Expected behavior
The plan kind will be SEQUENTIAL_PLAN. But I expect TIME_TRIGGERED_PLAN. See the comments in the python script.
Desktop (please complete the following information):

OS: Docker "planutils" (50ca0f5915596d2e27d4c0eb820483415e09c1337d49eb316f3683b50faee581)
Unified Planning version <IP_ADDRESS>1.dev1
Python 3.10.6

Appendix
PDDL domain
(define (domain domain_lpg_up_minimal)
	(:requirements :typing :durative-actions :negative-preconditions :universal-preconditions :numeric-fluents :equality)

	(:types
		workspace - location
		arm truck goods part container equipment - locatable
		paste-applicator - equipment
		location locatable
	)

	(:predicates
		(at ?o - locatable ?l - location)
		(accepts-part ?l - location)
		(movable ?o - locatable)
		(evacuation-point ?l - location)
		(evacuated ?p - part)
		(available ?a - locatable)
		(phase_setup) ;to force all buyings , installating, setuping outside of the main production cycle. BB20230124
		(bought ?l - locatable)
		(installed ?o  - locatable)
	)

	(:functions

		(maximum-investment-allowed)

	)

	(:durative-action buy_arm
		:parameters (?a - arm)
		:duration (= ?duration 5000)
		:condition (and
			(over all (and
					(> (maximum-investment-allowed) 50000)
					(phase_setup)
					(not (bought ?a))
			))
		)
		:effect (and
			(at start (and
			))
			(at end (and
					(bought ?a)
					(available ?a)

					(decrease (maximum-investment-allowed) 50000)

				))
		)
	)

	(:durative-action install_arm
		:parameters (?a - arm ?w - workspace)
		:duration (= ?duration 300)
		:condition (and
			(at start (and
					(available ?a)
				))
			(over all (and
					(> (maximum-investment-allowed) 3000)
					(phase_setup)
					(bought ?a)
					(not(at ?a ?w))
					(not (installed ?a))
			))
		)
		:effect (and
			(at start (and
					(not
						(available ?a)
					)
				))
			(at end (and
					(available ?a)
					(at ?a ?w)
					(installed ?a)

					(decrease (maximum-investment-allowed) 3000)

				))
		)
	)

	(:durative-action move_part_with_arm
		:parameters (?p - part ?from - location ?to - location ?a - arm)
		:duration (= ?duration 2000)
		:condition (and
			(at start (and
					(movable ?p)
					(available ?a)
				))
			(over all (and
					(at ?p ?from)
					(accepts-part ?to)
					(bought ?a)
					(installed ?a)
					(not (evacuation-point ?from))
				))
		)
		:effect (and
			(at start (and
					(not (movable ?p))
					(not (available ?a))
					(not (phase_setup)) ;we start to produce => we are no longer in setup. BB 20230124
				))
			(at end (and
					(movable ?p)
					(available ?a)
					(not (at ?p ?from))
					(accepts-part ?from)
					(at ?p ?to)
					(not (accepts-part ?to))

				))
		)
	)

	(:durative-action evacuate_with_arm
		:parameters (?p - part ?l - location ?a - arm)
		:duration (= ?duration 2000)
		:condition (and
			(at start (and
					(movable ?p)
					(available ?a)
				))
			(over all (and
					(evacuation-point ?l)
					(at ?p ?l)
					(bought ?a)
					(installed ?a)
				))
		)
		:effect (and
			(at start (and
					(not (movable ?p))
					(not (available ?a))
					(not (phase_setup)) ;we start to produce => we are no longer in setup. BB 20230124
				))
			(at end (and
					(available ?a)
					(not (at ?p ?l))
					(accepts-part ?l)
					(evacuated ?p)

				))
		)
	)
)

PDDL problem
(define (problem problem_lpg_up_minimal)
	(:domain domain_lpg_up_minimal)
	(:objects
		; the available devices should be reflected here
		arm1 - arm

		; the parts being worked on. This is "good" to have "enough" parts compared to your domain/problem. E.g. if you massively parallelize. Or if you stack/palletize etc.
		part1 - part
		part2 - part
		part3 - part
		part4 - part
		part5 - part
		part6 - part

		; the work spaces
		bench1 - workspace

		in - location
		out - location
	)

	(:init

		(= (maximum-investment-allowed) 145000) ;we can bearly minize cost (using minize metrics). The idea is the limit the maximum expenses. And slightly introduce expences in the ?duration by saying that "when I paying 10k€, is equivalent to loosing 1second on cycle time"

		(phase_setup)

		(at part1 in)
		(at part2 in)
		(at part3 in)
		(at part4 in)
		(at part5 in)
		(at part6 in)

		(movable part1)
		(movable part2)
		(movable part3)
		(movable part4)
		(movable part5)
		(movable part6)

		(accepts-part bench1)
;		(accepts-part bench2)
;		(accepts-part bench3)
;		(accepts-part bench4)
;		(accepts-part bench5)
		(accepts-part out)

		(evacuation-point out)
	)

	(:goal
		(and
			;LPG in UP does not support "UNIVERSAL_CONDITIONS" (yes, even in the goal... godamned ...). BB 20230422
			;(forall
			;	(?p - part)
			;	(and
			;		(evacuated ?p)
			;	)
			;)
			(evacuated part1)
			(evacuated part2)
			(evacuated part3)
			(evacuated part4)
			(evacuated part5)
			(evacuated part6)
		);
	)

	;LPG in UP does not support "MAKESPAN" (minimizing makespan / total-time). This is supprising ... BB 20230422
	;(:metric minimize
	;	(total-time)
	;)
)

Python script
from unified_planning.io import PDDLReader, PDDLWriter
from unified_planning.shortcuts import *
from unified_planning.engines import CompilationKind

import os, IPython

pb_file = "problem_lpg_up_minimal.pddl"
domain_file = "domain_lpg_up_minimal.pddl"

reader = PDDLReader()
problem = reader.parse_problem(domain_file, pb_file)

print("Problem as read in the PDDL file")
print(problem)

#Remove Negative conditions thank to compiler (operation mode)
with Compiler(
        problem_kind = problem.kind,
        compilation_kind = CompilationKind.NEGATIVE_CONDITIONS_REMOVING
    ) as negative_conditions_remover:
    # After we have the compiler, we get the compilation result
    ncr_result = negative_conditions_remover.compile(
        problem,
        CompilationKind.NEGATIVE_CONDITIONS_REMOVING
    )
    new_problem = ncr_result.problem

print("Problem with removed negative conditions, of kind ", new_problem.kind)
print(new_problem)

with OneshotPlanner(problem_kind=new_problem.kind) as planner:
    result = planner.solve(new_problem)

    plan = result.plan
    if plan is not None:
        print(plan.kind) #<- returns PlanKind.SEQUENTIAL_PLAN ... I expect PlanKind.TIME_TRIGGERED_PLAN. BB 20230423
        #plan_temporal = plan.convert_to(PlanKind.TIME_TRIGGERED_PLAN , new_problem) #<- does not work. BB 20230423
        print("%s returned:" % planner.name)
#        for start, action, duration in plan.timed_actions: #for reasons I cannot explain, LPG solver returns a sequential plan, and not a temporal plan ... BB 20230423
#            print("%s: %s [%s]" % (float(start), action, float(duration)))

        IPython.embed()
    else:
        print("No plan found.")

Hello @AKEOPLUS-boris-bocquet! Thanks for opening the issue.
This is a problem in the LPG integration code (up-lpg).
Now it always returns a SequentialPlan, but it should probably return a TimeTriggeredPlan when the problem is temporal.
@IvanSerina @serivan @stoppini @AfkValerik can you help fixing this issue?

Hello @AKEOPLUS-boris-bocquet we fix this problem. Can you check if it works correctly?

Hellow @stoppini , the problem is still the same on unified-planning revision <IP_ADDRESS>.dev1 using up-lpg==<IP_ADDRESS>. Are you sure that your modification were broadcast to unified-planning pip package ?

@AKEOPLUS-boris-bocquet the problem should be fixed in the current version

Yes, the problem is corrected.
Thank you !


Fix continuous integration builds

Fixes #47
I saw #44 failed with 'npm ci'. Updating dependency versions to catch up with other repositories (tree-sitter-ruby)

Node.js 11, which seems to have worked good for tree-sitter-javascript 2 months ago (tree-sitter-javascript travis ci)

(Node.js 11, tree-sitter-cli 0.13.1, Appveyor x64) => failed
(Node.js 10, tree-sitter-cli 0.13.1, Appveyor x64) => failed
(Node.js 10, tree-sitter-cli 0.15.3, Appveyor x64) => succeeded
(Node.js 11, tree-sitter-cli 0.15.3, Appveyor x64) => succeeded

Removed package-lock.json because this prevents updating versions in package.json
upgraded version of nan to 2.12.1

@rewinfrey @aymannadeem Would you take a look? (I picked up your names from https://github.com/tree-sitter/tree-sitter-java/pull/39#issuecomment-457736793)

@maxbrunsfeld I see you’re assigned as reviewer. Would you take a look?
BTW your talk at Strangeloop on Youtube was very inspiring!

BTW your talk at Strangeloop on Youtube was very inspiring!

Thanks!

Would you also update the required status check of Appveyor?

Thanks for pointing that out. I updated it.

@maxbrunsfeld I see you’re assigned as reviewer. Would you take a look?
BTW your talk at Strangeloop on Youtube was very inspiring!


D3 Force Layout Charts

Hi,
I've started work on wrapping the d3 force layout charts - I've been trying to mimick the existing XPlot API. This should allow people to create network graph charts.
Is this something you think would be of value to pull into XPlot?
I've added a little example to the docs in my fork here which might give an overview of how this can work

Hi, thank you very much, it's interesting to see that even D3 can be supported without having to transpile F# to JS.


Consider uploading tar.gz to PyPI

There are pros and cons to .zip and .tar.gz but the latter 1) is the default on linux and mac (but not windows) 2) what we have generally been using so far.
Switching to .zip would mean updating all our conda-forge recipes which get the source archive from PyPI. For these reasons, I would considering forcing upload as .tar.gz even if it might make it trickier for windows users who don't have the suitable decompression software.

Note that I am assuming that using .tar.gz involves updating the fewest conda-forge recipes. If that isn't true, I am find leaving it as .zip by default.

I am ok with using tar.gz instead of zip. I think probably only datashader, geoviews, and holoplot currently have zip source distributions on pypi.
(Just mentioning, another option would be to upload both, but I don't particularly like that one. With wheels for installation, and the source on github, I doubt it's important to provide a source distribution on pypi that can be inspected natively in the windows file manager.)
In any case, this is just a change to the default formats parameter value; I'll make it for the next pyctdev release.

Right now the conda-forge recipes I can find that use .tar.gz are holoviews, param and lancet. We do have other projects with tar.gz files on PyPI that don't have conda-forge recipes yet that could have (e.g imagen). GeoViews and holoplot are new on PyPI/conda-forge so they may be easier to update but I'll leave the final decision up to you.

Switched to tar.gz by default in v0.4.7a0


Add generic events for component.

#1223

I have tested in a new branch, work fine. The branch is almost the same as PR, except for fixes code style.Would you try again? @ewpatton
https://github.com/wxbit/appinventor-sources/commit/37b8e97b2aa44c65b399edd0ec90125ec9ae5ffc

@ewpatton You need to build a new companion because scm has changed.

We are deferring this until the spring so that we can make improvements on the implementation. In particular, we'd like for the generic event to always fire, and for it has an additional parameter indicating whether a bound event handler has already handled the event (similar to how Canvas deals with touch events).

Closing this because it is contained within #1548 and when we merge that we will rebase the change so that you maintain authorship of it.


Removal of the Panel component of our codebase

Describe the feature
While researching the implementation of the Panel component, I didn't find any instances in which we use its functionality, so to keep the story short.

we are using div, which is bad for screen-reader because they can't skip it. We can swap that with article so it becomes skippable for them maybe, need to ask Bruce about that.
we are using border-style property in the div, we can swap that for boxshadow so the section become easier to the eye and more natural.
in all other cases, we are using Panel inside another element, which can do the styling instead of the Panel and clear some redundant code.

Here is the only case in which the panel component isn't nested in an element. In this case we can use article, as mentioned previously, or styled div.
https://github.com/freeCodeCamp/freeCodeCamp/blob/533045276a011583e2cbfed0e291c80cd78b809e/client/src/components/SolutionViewer/SolutionViewer.tsx#L28-L43

Here is the Panel docs: https://react-bootstrap-v3.netlify.app/components/panel/
Here is the Panel code: https://github.com/react-bootstrap/react-bootstrap/blob/v0.33.1/src/Panel.js
Here is the stylesheet: https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/3.3.7/css/bootstrap.css

We can swap that with article

In all of the places I am finding where Panel is used I don't think any of them need to use an article, including the solution viewer. Besides, not all screen readers provide navigation shortcuts for articles, so they aren't quite as useful as they appear. I just tested with NVDA and even when I give an article an accessible name (using aria-labelledby) it still does not register as a landmark. This doesn't mean you shouldn't use an article where appropriate, just that a good heading structure is probably more important if you want to reach all screen reader users, which leads me to my next comment below :smile_cat:
There are some other accessibility concerns with the solution viewer. I'll open a new issue for those.

In all of the places I am finding where Panel is used I don't think any of them need to use an article, including the solution viewer. Besides, not all screen readers provide navigation shortcuts for articles, so they aren't quite as useful as they appear. I just tested with NVDA and even when I give an article an accessible name (using aria-labelledby) it still does not register as a landmark. This doesn't mean you shouldn't use an article where appropriate, just that a good heading structure is probably more important if you want to reach all screen reader users

I will delete the Panel from the codebase, and apply its styles to its parent 👍.
If it isn't possible, I will use section and use aria-labelledby when needed.

About box-shadow.
here how the component will look with box-shadow

And here how it's currently looking with border.

Here are a couple of notes:

components should include all the styles necessary without relying on their parents ( there are exceptions such as spacing between components, etc. )
We don't use a lot of shadows intentionally, so you could use border styling instead of box shadow for now. Once the component library is finalized, we could experiment with box shadows for a site-wide redesign.

This appears to be finished. Going to close it - If I'm wrong, leave a comment. Thanks and happy coding 🎉


Backticks in logs

Is there a reason why flexget log files use backticks as quotes? It makes pasting the error messages interesting at times since the backtick is used as a formatting marker by markdown parsers.

Isn't that the point? What issue does this cause

It bugs me and I want to know why. If the whole point is that the logs get automatically markdown-formatted, then why was it half-assed and the whole log line isn't markdown-enhanced?

So, you're saying that all issue is inconsistency? That I can get with.
On Wed, May 25, 2016, 13:10 Riku Lindblad<EMAIL_ADDRESS>wrote:

It bugs me and I want to know why. If the whole point is that the logs get
automatically markdown-formatted, then why was it half-assed and the whole
log line isn't markdown-enhanced?
—
You are receiving this because you commented.
Reply to this email directly or view it on GitHub
https://github.com/Flexget/Flexget/issues/1207#issuecomment-221530469

Using backticks in place of ' or " just because isn't a good reason to use them. If the purpose is to make log file snippets automagically be markdown formatted, then we need to go further with the formatting.

I think the root cause is that using " or ' can sometimes be a problem with the way that the string is being called. But having the logs be fully markdown ready sounds nice, but I doubt that every body will feel like that

I used backticks in logs for couple reasons

rarely present in values anywhere else
visually light


[Doc] KB describing boot config procedure for iSCSI boot/root disk in systems with a CNA

Is your doc request related to a problem? Please describe or add related issue ID.
This is related to issue 5150
Describe the solution you'd like
Even though Harvester as of release 1.3.0 does not support installation and running on nodes without local storage,
it can be made to work on certain systems under limited circumstances, with some manual steps.
Specifically, iSCSI disks can be used as the installation and boot/root disk of Harvester
if the machine provides a Converged Network Adapter (CNA) with iSCSI support
that can be used by the Linux kernel.
Until such time as Harvester properly supports non-local installation targets,
a Knowledge Base article should be written which describes the procedure
for making this work, and the limited circumstances under which it can be used.

I messed up the repo where I had the original pull request so I had to re-do it with this pull request https://github.com/harvester/harvesterhci.io/pull/58 which has been approved and merged


Add DataFlow examples to Python Data Factory code

Add DataFlow examples to Python Data Factory code

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

ID: 06b12410-3d72-8cc9-be6c-3b8e8521b90d
Version Independent ID: 9ef477fb-8321-4763-d340-0fee977f4beb
Content: Quickstart: Create an Azure Data Factory using Python - Azure Data Factory
Content Source: articles/data-factory/quickstart-create-data-factory-python.md
Service: data-factory
GitHub Login: @dcstwh
Microsoft Alias: weetok

@adriantorrie - Thanks for your valuable suggestion. I am moving it to content author to review and share their thoughts.
@dcstwh - Can you please take a look.

@adriantorrie - Thanks for your valuable suggestion. I am moving it to content author to review and share their thoughts.
@dcstwh - Can you please take a look.

Thank you for the feedback.
Right now, the recommended approach to use data flow is using the UI.
We will add this to the doc backlog.
#please-close


[Bug]: The order of usage of new pipeline node filter is not clear

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
The order of usage of new pipeline node filter is not clear.
When executing
import towhee
from towhee.dc2 import pipe, ops

p = towhee.pipe.input('a').map('a', 'b', lambda x: x + 1).filter('a', 'b', 'a', lambda x: x > 10).output('b')
p(5).get()

The result is [6]. It seems the filter doesn't work.
However, when executing
p = towhee.pipe.input('a').filter('a', 'b', 'a', lambda x: x > 10).map('a', 'b', lambda x: x + 1).output('b')
p(5).get()

There is no response. This is expected.
Expected Behavior
If the usage of filter need to satisfy some rules, The documents should show it.
if it's unexpected, we should fix it.
Steps To Reproduce
import towhee
from towhee.dc2 import pipe, ops

p = towhee.pipe.input('a').map('a', 'b', lambda x: x + 1).filter('a', 'b', 'a', lambda x: x > 10).output('b')
p(5).get()

Environment
- Towhee version(e.g. v0.1.3 or 8b23a93): 0.8.2.dev78
- OS(Ubuntu or CentOS):
- CPU/Memory:
- GPU:
- Others:

Anything else?
No response

The bug that filter doesn't work has been fixed.
But the 'map' doesn't work.
For example,
import towhee
from towhee.dc2 import pipe, ops

p = towhee.pipe.input('a').map('a', 'b', lambda x: x + 1).filter('a', 'b', 'a', lambda x: x > 10).output('b')
p(12).get()

the correct result is [13], but got [12].
version: towhee-0.8.2.dev80
@junjiejiangjjj  ,could you please help look at it ?

the correct result is [13], but got [12].
input              map               filter
a: 12   -> a: 12, b:13 -> a:12, b:12
filter('a', 'b', 'a', lambda x: x > 10 )  col a will cover col b

it is correct input -> map -> filter a: 12 -> a: 12, b:13 -> a:12, b:12 filter('a', 'b', 'a', lambda x: x > 10 ) col a will cover col b

Thanks for your explanation.


Access to DB instance from the worker?

Hello,
Thank you for creating this package!
Could it be possible to have access to the DB instance from the worker?
Thanks

I am not sure I understand this question ... the DB is loaded into memory and saved via IndexedDB, what access to DB instance means here?

I meant the ability to run db.run(...,..); So probably the indexed DB instance.
const rows = db.exec(sql, params);

run is query here ... have you checked the API? https://github.com/WebReflection/sqlite-tag#api
I still don't understand your question: this module uses sqlite WASM via IndexedDB and it's based on the mentioned API

I'm integrating your package into cables.gl (low-code node based visual coding) where users can run arbitrary queries. I'm trying to find a way to use the safe (?) (?) (?) replacement parameters to avoid SQL injection but can't when the query is not know in advance.

you might try this? https://github.com/WebReflection/tag-params
otherwise consider template literals tags are just functions:
query('INSERT INTO table (one, two, three) VALUES (?, ?, ?)'.split('?'), ...[1, 2, 3]);

Great!! Exactly what I wanted.
Thank you


Support No Suffix

Suffix logic substituted false and "" with default.  Considered only supporting false, but you can't pass in false from the command line.  If the user leaves the option undefined .build will still be appended.

Updated CLA to reflect my Github username.

I just noticed that nopt allows for Boolean conversion of command line arguments.  I can rip out the "" check if that is the preferred way to go.  I could also convert the two if statements into a single switch statement....

@indolering :+1: thanks, as example it's can be useful if you pre-process a dist

@azakus @addyosmani delicate ping :angel:

It would be nice to see progress on this, I've got another PR in queue....

+1

LGTM


Omit jobProfileInfo for execution MODCPCT-27

Looks sound enough.
This is due to the Data Import WSAPI becoming less demanding?

Exactly.


mixins class aliases are not correctly analyzed

This form class M2 = Object with M1; creates a mixin M2 that includes members from mixin M1.
Unfortunately much code in Analyzer does not handle this, because you have to know to visit mixins recursively, and many places that look at .mixins are not recursive.
Here's a soundness bug related to override checking in _OverrideChecker:
class M1 {
  num m(num x) => x;
  final greet = 'hi';
}
class M2 = Object with M1;
class C extends Object with M2 {
  String m(String x) => x + '!';
}

main() {
  C c = new C();
  M2 m = c;
  print(m.m(42));
}

this particular one is in _checkSuperOverrides, but _checkMixinApplicationOverrides has the same issue:
class M1 {
  num m(num x) => x;
  final greet = 'hi';
}
class M2 = Object with M1;
class M3 {
  String m(String x) => x + '!';
}
class C extends Object with M2, M3 {}

main() {
  C c = new C();
  M2 m = c;
  print(m.m(42));
}

this version actually does trigger an error because ErrorVerifier catches it. Which is good, but it indicates we have a duplicate checking problem, and that _checkMixinApplicationOverrides is not working for these.

the first one is fixed. _checkMixinApplicationOverrides may still be broken but as we have errorverifier as a back stop, I'm inclined to leave it for now.


Allow querying ChainInfo by shortName

@rmeissner add use case

@rmeissner we see two options:

as a query parameter: we return empty list if not found
as a path variable: we respond with a 404 if not found

Which option do you prefer?

We can do the query parameter path with the config service, and then expose it as a path variable in the CGW, like we do for safe apps. I think this would be the most flexible solution.

Just FYI, option 1 and 2 are not mutually exclusive. We can have both, I suppose 🤔

Option 2 is the final decision


Status handling for Payment Methods

By default a PM added will be set to inactive
Status is updated to active based on confirmation from connector via webhook/confirm response

Reopening this issue for fixing the approach of status handling

Reopening this issue for refactoring the approach of status handling for hotfix


[bigtable] using modern url for shc-core and shc-examples jar packages

Thanks to @dilipgodhia for the patch
tests done were manually, and only exercised the variable changed:
SCH_REPO="https://repo.hortonworks.com/content/repositories/releases/com/hortonworks"
SHC_VERSION='1.1.1-2.1-s_2.11'
SHC_JAR="shc-core-${SHC_VERSION}.jar"
SHC_EXAMPLES_JAR="shc-examples-${SHC_VERSION}.jar"
SHC_URL="${SCH_REPO}/shc-core/${SHC_VERSION}/${SHC_JAR}"
SHC_EXAMPLES_URL="${SCH_REPO}/shc-examples/${SHC_VERSION}/${SHC_EXAMPLES_JAR}"
cjac@cjac:~/src/github/cjac/initialization-actions$ wget "${SHC_EXAMPLES_URL}" ; echo $?
--2024-07-08 09:54:06--  https://repo.hortonworks.com/content/repositories/releases/com/hortonworks/shc-examples/1.1.1-2.1-s_2.11/shc-examples-1.1.1-2.1-s_2.11.jar
Resolving repo.hortonworks.com (repo.hortonworks.com)... <IP_ADDRESS>, <IP_ADDRESS>, <IP_ADDRESS>
Connecting to repo.hortonworks.com (repo.hortonworks.com)|<IP_ADDRESS>|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 128482 (125K) [application/java-archive]
Saving to: ‘shc-examples-1.1.1-2.1-s_2.11.jar.2’

shc-examples-1.1.1-2.1-s_ 100%[===================================>] 125.47K  --.-KB/s    in 0.03s

2024-07-08 09:54:06 (4.20 MB/s) - ‘shc-examples-1.1.1-2.1-s_2.11.jar.2’ saved [128482/128482]

0

/gcbrun

rocky8 is not provisioning.  I'm going to try in a reproduction environment.  Please stand by.

That may have just been a resource exhaustion failure due to the build project being heavily loaded.
I spun up a 2.0-rocky8 image without problem.

Waiting for cluster creation operation...⠛
WARNING: Consider using Auto Zone rather than selecting a zone manually. See https://cloud.google.com/dataproc/docs/concepts/configuring-clusters/auto-zone
WARNING: The specified custom staging bucket 'cjac-dataproc-repro-1718310842' is not using uniform bucket level access IAM configuration. It is recommended to update bucket to enable the same. See https://cloud.google.com/storage/docs/uniform-bucket-level-access.
Waiting for cluster creation operation...done.
Created [https://dataproc.googleapis.com/v1/projects/cjac-2021-00/regions/us-west4/clusters/cluster-1718310842] Cluster placed in zone [us-west4-a].

real    4m58.068s
user    0m3.056s
sys     0m0.299s
+ date
Mon Jul  8 11:33:03 AM PDT 2024

I haven't exercised the tests, but the cluster is ONLINE after having run the init action with metadata parameters supplied.

the build serveer is blocking all image variants from being tested.  We're blocking on this final log entry:
2024-07-08T18:43:41.916598447Z INFO: Analyzed target //bigtable:test_bigtable (94 packages loaded, 835 targets configured).
I am not terribly familiar with our Bazel test framework, so I will need to reach out to engineering for an assist here.

timeout.
/gcbrun

@hercynium are we using the correct url here?

I’ve only been at Cloudera one day and my job is to keep the cloud stuff running BUT, something that stands out to me is that the env var in question starts with ‘SCH’ while all the others start with ‘SHC’. Maybe that’s relevant, maybe not. At least by commenting I will get notifications on the issue. ☺

Oh, I think I see you’re asking for the correct URL.
I’ll ask around in between my onboarding stuff tomorrow.

Thanks!  And any information about how long we can expect the jars to be maintained at their current location, where to go for planned updates, etc.  If it's not too much trouble.  Welcome to the team!

@cjac I think I know who to ask now but I just want to be clear on the question. Are you trying to determine the most canonical/stable public URL for Hortonworks' Maven repos? Or is there something missing from one of those URLs and you're looking for where it really lives?

Yes.  Reliable/stable is the goal.

Looks like the most appropriate one is https://repo.hortonworks.com/content/repositories/releases/ though https://repo.hortonworks.com/content/groups/public/ should also contain all the same "stuff". The releng guy told me "they both should work" so I poked around and the public repo is a "virtual group" repo, which has many other repos mapped into it, including the releases repo. I'm guessing it includes virtual/mapped mirrors of the repos for all transient dependencies, including the stuff most people would normally get from places like Maven Central et al.
My advice? Use the releases repo unless it's missing something you need that's in the public one.
As I poked around, I found one more possibility: https://repo.hortonworks.com/content/groups/releases/
That one might be better than either of the others since it's also a virtual group repo, but seems to only contain the content from the releases repo... though stuff could be added in the future.
Good luck!

Oh! Somebody else just pinged me, said they always just used https://repo.hortonworks.com/content/groups/public/ so maybe that's fine. The releases one should be the most "stable" in that releases should never just go away, but since the public repo has releases mapped into it... there shouldn't be any concern for those dependecies.

Thanks for letting me know Steven.  The reason we're asking is because we saw reduced performance at various times with the groups/public url where the repositories/releases has been more resilient, from anecdotal evidence.  Have there been any changes to the infrastructure or maintenance windows that we should know of to avoid over-loading your systems?
I imagine you might ask us to keep a local cache for our installation scripts to pull from so that we are not impacted by any reduced performance on any network equipment between our two  points of presence or on the servers in the http pool for your load balancer.

I learned that earlier this year the maven repos were moved from being hosted on jfrog artifactory to sonatype nexus. It might be that the Hortonworks repos aren't cached as well, too. (Also, customers have access to dedicated repo servers that probably will perform better)

Okay, I think we've confirmed that the url we're using now:
https://repo.hortonworks.com/content/repositories/releases/com/hortonworks
is better than or equal to the previous url:
https://repo.hortonworks.com/content/groups/public/com/hortonworks
With that, I think we're only pending a review from Kuldeep.

I just got one more piece of potentially useful info: All the Hortonworks repos are EOL, since Hortonworks/HDP was sunsetted in favor of Cloudera/CDP four years ago. It might be worth looking for equivalent jars/artifacts from CDP... or mirroring the hortonworks repos yourself. Those hortonworks repo servers will eventually go away.

This guide might be useful if you're running an entire HDP cluster: https://medium.com/hashmapinc/hortonworks-data-platform-2-6-5-in-place-upgrade-to-cloudera-data-platform-7-65dfc35091fd

/gcbrun

Thanks Prince!
Can you work with eng to cache this file on gcs so we don't lose support when the old repo goes offline as per Cloudera SRE?  Maybe this init action can be archived after 2.0 goes out of support.

So we just need to download the jars and store it in our GCS bucket. Right?

Prince,
That is correct, and then update the same url section to fetch from our copy once Cloudera SRE brings their service down.  Or before.  Before would reduce potential of customer impact.


Previews open in the same window, on a different pane.

Multiple files can be previewed and a file can have multiple previews.
'code-friendly' appended to the Markdown extras.
edit_settings command moved from the palette to the settings menu.
(pycodestyle reformat can be ignored)

sounds awesome
@math2001


Adjust admin home page contextual help

[x] Adjust copy and line breaking (after '...above,') as per image
[x] Drop color for text to: #BEBEBE
[x] Drop font-size to 20px

On year display:

[x] Drop font-weight to 100
[x] Adjust left padding to 45px to line up with help text

Assigning to @Coenego for review.

Changes Unknown when pulling fd7baa214d4033c584fe8c3583c6e4d2b4dca5ef on bp323:issue-230 into ** on CUL-DigitalServices:master**.


Make climate a suggested dependency

I wonder if any console/terminal requirement is necessary in this project except to make things prettier (but heavier vendor dir).
Should not be a required but a suggested dependency  no?
This way we should be able to add a replace rule in composer.json to avoid installing it.

How does making it a non-dependency help you in creating a replace rule to avoid installing it? You can avoid that now already, if it's in suggest, it's not installed.
And no, it's not an optional dependency, it's also used for argument parsing.


chore: release version 0.0.14

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Problem running Shiny app

I was deploying my app with the branch heroku-16 and it builded successfully, however, when I open the app, it doesn't load, and I don't have any errors in the Heroku console.
Debugging, I found this in the Chrome inspector:
shinyapp.js:310 Uncaught TypeError: Cannot read property 'readyState' of null
at ShinyApp.$sendMsg (shinyapp.js:310)
at ShinyApp.sendInput (shinyapp.js:140)
at input_rate.js:210
$sendMsg	@	shinyapp.js:310
sendInput	@	shinyapp.js:140
(anonymous)	@	input_rate.js:210
Did I miss something?

Hi @Jegama
From your stack trace, and looking at the source code shinyapp.js#L306 the issues appears to be related to the web socket not being available.
I could replicate the issue by deploying the shiny example app. I found that if I kept interactiny with the sliders on the page it worked, but as soon as I was idle for sometime, the whole screen greyed out. Then when I tried changing one of the slider values again, I got this error.
While this isn't a buildpack problem, since it relates to the web socket connection, I'm not sure whether it's an issue with Heroku or Shiny.
I could investigate further when I have more time.

These Heroku articles may be helpful.

HTTP Routing - Timeouts
Request Timeouts

Excerpt from the routing article:

After the initial response, each byte sent (either from the client or from your app process) resets a rolling 55 second window. If no data is sent during this 55 second window then the connection is terminated and a H15 or H28 error is logged.

Excerpt from the timeouts article:

If the server keeps the connection open for 55 seconds without sending any data, you’ll see a request timeout.

In my replication of the error on both cedar-14 and heroku-16 stacks, and found that the H15 error was logged.
... heroku[router]: at=error code=H15 desc="Idle connection" method=GET path="/websocket/" host=stormy-ocean-62186.herokuapp.com request_id=af70bfa5-484a-4506-9e02-f3f9d8e6c683 fwd="<IP_ADDRESS>" dyno=web.1 connect=1ms service=55893ms status=503 bytes= protocol=https

So how would you fix this in a R shiny app? Would you have to constantly send new data to the user? Making the user interact with your app every 55 seconds would work but would not be ideal obviously.

Seeing this as well… anyone have a workaround for this?

@clintmod
Thanks, been looking for something like this. I've found that you don't need the server and UI component. The javascript is keeping my session alive all on it's own.
Shiny 1.0


[FEATURE] Specialties as a dropdown menu when rolling, and also have a visual indicator on related skills in PC sheet

1- When rolling a test, would be great if, in the roll window, you could have a dropdown menu that lets a user select a specialty related to their roll (which would then automatically contribute an extra die).

2- A visual indicator next to a skill on the PC sheet when it has a specialty, to avoid having users needing to scroll down to the bottom of the sheet every time to double check which specialties they have. The official V5 character sheet has specialties listed next to the skill, but since we don't have room here I'm thinking maybe a different colored font for the skill or maybe a checkbox? Something automated, tied to the "skill" field of the specialty, would be great

Specialties are now rollable by clicking the icon in the specialty table. It'll automatically apply the +1 and use whatever skill is tied to the specialty. Does that cover this use case?

I think it's alright for covering the additional die to the roll thing, but I still think some sort of visual indicator next to the relevant skill to remind a player that they have a specialty would be good. Just because the last few games we played, two of my players kept forgetting to scroll down on their sheet to check their specialties and there were a few missed rolls as a result.
If a visual indicator isn't possible, perhaps a manual checkbox of sorts next to each skill (maybe named "Specialty?") that a player could at least "check" during PC creation so they have a way to quickly notice during gameplay "Oh yes, I have a specialty/specialties here... let me scroll down and double check what that/those may be"

I feel like that's a "knowing your kit" issue but I'll see what I can do. I'll likely add an asterisk next to skills as a checkbox might clutter up and already cluttered sheet

Yeah, a simple visual cue as small as an asterisk should be enough. And yeah this is problem with players who are used to the official sheets where your specialties are listed right nxt to your skills for sure, but even I as a GM don't remember to scroll down when i'm checking their sheets to help them so it'd definitely be a great little addition

An asterisk with a tooltip on hover listing your specialties shouldn't be too hard. I'd have to consolidate the item list that is the specialties list some how though.


Adds variable interpolate to assert runtime

Description
Adds interpolation to variable runtime as it was missing from there. Fixes #624

NOTE! i copied interpolate-string.js from bruno-cli. I would've required interpolateString function from bruno-cli but that would've caused depenceny cycle. My suggestion is to move all interpolate files to bruno-js and then require those to bruno-cli and other packages from there.

Before

After

Contribution Checklist:

[x] The pull request does not introduce any breaking changes
[x] I have read the contribution guidelines.
[x] Create an issue and link to the pull request.

Thanks for taking care of this @KaniZ0r !!

@KaniZ0r I added some minor polish on the PR: https://github.com/usebruno/bruno/commit/b6da0b2113b5529ada1d61e88e111efa0fa04d07
Let me know if you see any bugs in this.
Thanks!

@helloanoop polishes looks very fine to me 👍


feature: option to enable refactor.nvim's telescope extension

refactoring.nvim includes a Telescope extension that can be enabled using
extraConfigLuaPre = /* lua */ ''
  -- load refactoring Telescope extension
  require("telescope").load_extension("refactoring")
'';

And used in keymaps as follows:
keymps = [
  {
    mode = "n";
    key = "<leader>rr";
    action = /* lua */ ''
      function() require("telescope").extensions.refactoring.refactors() end
    '';
    lua = true;
    options.desc = "Select refactoring option";
  }
];

It'd be great if plugins.refactoring had options to configure this
Related
Perhaps plugins.telescope.enabledExtensions could be made public or an plugins.telescope.extraExtensions could be introduced to handle other unsupported telescope extensions?

Would it make sense to do this? You could have something like:
plugins.refactoring = {
    enable = true;
    telescopeExtension.enable = true;
};

but that wouldn't guarantee that plugins.telescope was enabled.
Of course, by enabling the extension from the refactoring side, it could also enable telescope, but I get the feeling that silently enabling other plugins is a bad idea!
Just my thoughts, push back if you disagree!

Maybe, we should merge the telescope refactor first...

Maybe, we should merge the telescope refactor first...

Agreed.
It'd be great if that pr added public access to plugins.telescope.enabledExtensions too, for any other telescope extensions we don't support.

Would it make sense to do this? You could have something like: plugins.refactoring.telescopeExtension.enable

Looks fine to me. Is this how other telescope plugins (not included in telescope itself) are handled?


input checks do not always check for allowed values

We should be sure that if a function only allows certain input values that we check against the specific list instead of just checking the type.  This makes it more clear to the user when something is wrong and it also help to limit odd error cases.
As of July 27, only the processes branch has a input_check function that supports this.

Closing, not a bug in the current master.


Validate that ECR Credentials Updater catalog entry works on Windows

Validate that ECR Credentials Updater catalog work on Windows.
Need ensure that ECR credentials do not expire after 12 hours and that images can be pulled.

I think it we can make ECR updater work out side of windows environment. ECR updater can just run in a linux environment and put the CATTLE_URL , CATTLE_ACCESS_KEY  and CATTLE_SECRET_KEY  of windows environment into it. Then RCR updater can runs and update credentials for windows environment.
I think we can let @kingsd041 test for it.

@orangedeng I test according to your steps, it has been 16 hours, ECR credentials have not expired and that images can be pulled.

We will need to officially document this setup as it's different than a normal setup.
@superseb Could you help make a PR?

I can create docs on this, is everything required to make this work complete? Are we letting people manually update the catalog item to adjust the environment variables or are we going to make variables to the catalog item to override CATTLE_* variables which are normally automatically created because of the agent.role label?


Feature Request: Option to move displays when focusing a space / static ordering

Hi all,
Thank you so much for yabai, it's the only reason I'm able to use a Mac at all given my RSI.
I have one more other issue I deal with, which is short term memory loss. I had worked around this in my Linux days by using XMonad, where there are only 9 spaces and you can put them on whatever space you like without having to "move" them - the displays sort of exist in a static order and telling a display to show a particular space doesn't change their order. For example, if I have 3 displays, and * marks my focus:
[ 1 ] [ 4* ] [ 7 ]
- alt-8 // switch to space 8
[ 1 ] [ 8* ] [ 7 ]
- alt-r // switch to right monitor
[ 1 ] [ 8 ] [ 7* ]
- alt-4 // switch to space 4: automatically moves it to right display
[ 1 ] [ 8 ] [ 4* ]
- alt-8 // switch to space 8: swaps with middle display
[ 1 ] [ 4 ] [ 8* ]

This way, all I need to remember is where I am and where I want to go.
I know Mission Control doesn't... work this way, and when I use multiple monitors I tend to just completely lose track of all my spaces very quickly, since showing them on different displays shuffles around the Mission Control index. I have used the labels @1 through @9 to keep a static order, which works nicely for preventing re-shuffling, but I have run into a few issues with the switching behaviour, namely:

Spaces get randomly destroyed when you unplug a monitor (#238)
Swapping two spaces between the displays (the desired behaviour if the target space is visible on another display) seems literally impossible if both spaces are the last on their display
Even if I were to create a temporary space, that's a) slow, and b) there seems to be no way to get the ID or mission-control index of the newly-created space, even from within C code
Inserting a scripting layer to move the newly focused space to the current display works, but is agonizingly slow (requires too much yabai -m query and JSON parsing - half a second to a second of lag every time I switch spaces even if the spaces don't have to be moved to another display, or if there is only one display)
I've attempted to modify the C source to add an option for space-switching without display-switching, but it seems to get caught in a loop somewhere, flicking between two displays and ultimately crashing the scripting addition >_>. And even theoretically the approach still breaks down in the "swap" case when both spaces are the last on their respective displays.

I'm happy to hack on this more, but I wanted to see if anyone else was thinking along these lines, and/or had any ideas before I get too into the weeds.
Thank you <3
jneen

I have a local branch that has implemented this, which I'm using privately for now to try and smoke out any edge cases. It implements a new yabai -m space --switch <SPACE_SEL> command which has xmonad/i3wm-like semantics. It will still break in the "swap" case if both spaces are the last on their display, but I think a change to the scripting addition might be required for that (or creating temporary dummy spaces on both displays, but that Feels Wrong). I also will have to re-start yabai every time I unplug a monitor due to #238, since my labeled space will disappear.

I did spent quite some time looking into this issue in the past. I'm not going to going too much detail right now, but as for:

Swapping two spaces between the displays (the desired behaviour if the target space is visible on another display) seems literally impossible if both spaces are the last on their display

I did actually implement this in the space --swap command originally, but did not handle that specific edge case. In hindsight, the edge-case can be solved by simply grabbing all windows that belong to space A and space B, and simply swap them, instead of swapping the spaces themselves. If the spaces are managed by yabai, it would simply need to swap the internal settings/tree for the spaces as well, and that should work just fine. The OS API that yabai uses to move windows around will correctly normalize the window frame to the resolution of the target display.

Oh that's a really interesting idea! And swapping the internal tree would guarantee the layout and labels and such would be preserved, right?

Yeah. There are a couple of data structures that need to be updated during such a swap, so it might not be the most efficient solution in the world, but it would be a solution.

I had a go at implementing this if you'd like to take a look. It's very likely I'm still missing some state somewhere.

man @jneen you're just tackling all the issues I've had with yabai :) great work! looking forward to your contributions. Hopefully you'll make my https://github.com/aiguofer/dotfiles/blob/master/user/.local/bin/yabaictl script obsolete.

Implemented on master:

--switch <SPACE_SEL>

The selected space will always be the currently focused space.
The given space becomes the active space of the focused display regardless of which display it belongs to.
If the selected space and the given space belong to different displays, this behaves like --swap.
If the selected space and the given space belong to the same display, this behaves like --focus.
System Integrity Protection must be partially disabled.

There is no window --switch .. command, however it would just need to chain the following:
yabai -m window --space 5 && yabai -m space --switch 5

Fixed in v7.0.0.


[wanted] modsecurity and ELK

Ok, splunk is king. This is fully granted. But, for many companies, there is a need for a quick and cheap combination of a WAF and SIEM. Could this be a use case for Apache reverse proxy + modsecurity for the WAF part, and ELK for the SIEM part? Of course, all modsecurity logs would be shipped securely to the ELK back-end, put on a separate network.

this has been moved to plumbery-contrib project at https://github.com/DimensionDataCBUSydney/plumbery-contrib/issues/3


feat: add support for collection name in PG Vector

Description
This PR adds support for collection names in the PG Vector store integration that currently already exists in the python version of langchain. Collections add a nice way to logically group document embeddings in the vector store. My specific use case is around privilege preservation of certain types of documents. I'm creating and loading my embeddings table from the python version, but I'd like to be able to query it using the javascript version.
The gist of it is there's another table added and a foreign key referencing the uuid from the collections table. My goal is to make this a seamless addition by not causing any breaking changes to anyone not already using collections. So I updated the creation and insert logic to conditionally support the collection feature also, not just the query logic. Let me know if there's a better way to introduce this change or an easier approach.
Alternatives Considered
I thought about using a filter, however filters are currently implemented in a way that only applies to metadata. So then I thought about abandoning collections altogether and using some field of the metadata, but I found that the metadata fields are too inconsistent across different document loaders for that to be a valuable approach. Plus I think the goal of this library is to eventually reach feature parity with the python version.
Testing
To test this, I ran a local build with my changes implemented into my client. I also ran a modified version of the pgvector example in examples/src/indexes/vector_stores/pgvector_vectorstore/pgvector.ts to make sure that each branch of logic worked the way that I would expect it to.

Awesome, thank you!


Using Cycle ORM

In this pull request we're using Cycle ORM to store user data.
There's a console command ./vendor/bin/yii user/create to create a user. After user is created you can try logging in with credentials entered.

Q
A

Is bugfix?
❌

New feature?
✔

Breaks BC?
❌

Tests pass?
✔

Fixed issues
-

Why to use Cycle ORM instead Yii orm ?

Same reason as usually - reduce maintenance costs due to insufficient funding of core developers :-(

Have we a comparison between yii-orm and Cycle-orm?
Usabilty,Performance etc?

@demonking
No, not againts Yii2 ORM, only comparison Cycle vs Doctrine (symfony) & Eloquent (laravel):
https://github.com/cycle/docs/issues/3

Same reason as usually - reduce maintenance costs due to insufficient funding of core developers :-(

By proceeding in this way, Yii will become a set of external libraries and we will dependent from all of these. If they change something, we mandatory need to change. Bad thing.

With yii3 you can use any library including Active Record of Yii2, the point is that you have to migrate it and that will take time, you can contribute helping in the migration.

But it's not that easy with Yii ORM and Cycle ORM, the usage is different.
You cannot switch them without problems.
Cycle uses Annotation, Yii AR don't (or i haven't seen it).

Seems there are questions about our plans:

@terabytesoftw is correct that we aim to make Yii work with any database abstraction layer be it Cycle, Doctrine, plain PDO or anything else.
@lubosdz is correct that maintenance cost of Yii 2 AR was quite high when it was developed actively. We were able to handle it with active participation of @cebe, @SilverFire, @klimov-paul, @dynasource, @arogachev. And, of course, with @qiangxue outstanding effort. So, indeed, we need more active developers to have our own database abstraction layer and it can be achieved in many ways including more funding.
We have no published comparison of Cycle / Yii 2 AR but I helped forming Cycle feature-set and query builder syntax at early stages so it's good enough. You can check the guide.
@FabrizioCaldarelli is correct that it's a good idea to have our own implementation if/when we can do better than the rest of implementations. If not, we introduce interfaces or, in rare cases, use third party libraries directly.
Each ORM syntax is different and, indeed, it's best to choose one at the start of the project and stick to it. But some patterns could help. In this pull request you can see repository in action. Note that no code working with IdentityRepository was changed.

Is it very easy to make Cycle build without Annotations (they are specifically moved out of core). We would def consider alternative ways of mapping definition if someone can propose Yii-like alternative.

So, indeed, we need more active developers to have our own database abstraction layer and it can be achieved in many ways including more funding.

@samdark :hand:

@samdark
You are in a difficult position. Would it not be safer to start with Yii3 only once sufficient funding is secured? Until then just maintaining Yii2 & develop solid business model ... OpenColletive may never provide enough funds to cover 4-5 developers. It's been a few months already but only 1 fulltime developer collected so far.

I sincerely believe that this discussion has left the subject, simply Yii 3 will not be equal to Yii 2, and understanding what samdark says, everything will be migrated, everything will also depend on the help of the community.

Yes, let's not off-topic here. If you have ideas to discuss, let's use forums.

Change default from plural to singular in table names

This behavior is hard-coded here.
If needed singular in table names then only manually set this in the annotations

@roxblnfk check 2.0.2, you can now configure the naming strategy for tables. https://github.com/cycle/annotated/blob/master/src/Entities.php#L31

@wolfy-j wow, my comment is outdated in just 18 minutes :)

All code migrated to yiisoft/yii-cycle#1


rye: 0.41.0 -> 0.42.0

Things done
Changelog: https://github.com/mitsuhiko/rye/releases/tag/0.42.0

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

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

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

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 350421

x86_64-linux

:white_check_mark: 1 package built:

rye

aarch64-linux

:white_check_mark: 1 package built:

rye

x86_64-darwin

:white_check_mark: 1 package built:

rye

aarch64-darwin

:white_check_mark: 1 package built:

rye


[Skype Windows Store App] One of my Bots shows "Messaging Unavailable" only on the Skype Windows Store App - 12.9.599.0

Bot Info

App ID: edabd4e0-f218-4ab5-8243-2e1709a7de4e
SDK Platform:  .NET
Active Channels: Skype, Direct Line
Deployment Environment: Azure App Service

Issue Description
I recently developed a Bot and added it to my skype. It was working fine. In between I blocked the Bot and unblocked the same.  From then on, on my Windows Store App, it doesn't allow me to type anything and says "Messaging Unavailable", but on my Skype Desktop version, I am able to use it as usual, on Web version also it is fine. I tried uninstalling and installing the Skype Windows App, Tried resetting it too - same thing.  I also tried logging into the Windows 10 Skype App from other machine, there also it was not allowing me to send Message and it says "Messaging unavailable" and the text box to type messages is greyed-out.
I posted this on Skype community also (https://answers.microsoft.com/en-us/skype/forum/skype_win10-skype_messms-skype_instamessms/one-of-my-bots-shows-messaging-unavailable-only-on/7757a5cb-456f-4732-a81a-97d6a9eab4d2?auth=1), and they redirected me to Bot forum and hence posting it here too.
Any help is appreciated.
Reproduction Steps

Deploy the Bot to Azure App Service
Add the Bot to Windows 10 Skype App
Use the Bot for sometime
Block the Bot
Unblock the Bot
Now I am not able to send messages using the Windows 10 Skype App - all works fine on Web and Desktop version of skype.

Expected Behavior
After unblocking the Bot, it should work as usual on Windows 10 Skype App like it is working on Web and Desktop versions of skype.
Actual Results
On, Windows 10 Skype App the Bot shows "Messaging unavailable" and the text area to type the message is greyed-out (disabled).

@Kris-Nimmagadda Thanks for reporting - I have forwarded the issue to the Skype team for investigation.

Hi @nwhitmont , thank you for the response.  Any quick help is appreciated.

Hi @nwhitmont ,
Quick update, on the Skype forum, I got a reply that I should install the new version of Skype windows store App, I tried that and there is no change in the behaviour.
I wonder how the "state" could be different for different facets of an Application [Skype in this case] - like it works in Skype Web, Skype Desktop and not work on Skype Windows 10 App (across devices) - shouldn't all read the "state" from a central (and/or replicated) location and behave accordingly ?
Quite surprising !

I am still stuck ! Any help please ?

Please reach out to Skype support if you are still experiencing issues with this.


Python 3 support?

Hey folks :-)
Just a quick question: Do you plan to upgrade that to Python 3?
Cheers,
Manuel

Hey Santo,
nice to hear from you, hope you're doing well :)
No concrete plans, no. But let me look into it next week if it's easy to do. Of course dependent on the s2protocol library having Python 3 support as well.
If you already have it ported, feel free to submit a MR :)
Greetings,
Andy!

Hey Andy! Nice to see you answering
I just raised a PR that will hopefully be fine.
Thanks!
P.S: Yeah, I'm good. Hope you 2! :)


Pagination just gives 60 media

Hello,
I'm trying to fetch an user's all media links into array but result shows 60 record, target user account has 800~ media. Whats wrong on my code?
use Phpfastcache\Helper\Psr16Adapter;
$instagram = \InstagramScraper\Instagram::withCredentials(new \GuzzleHttp\Client(), 'user', 'pass', new Psr16Adapter('Files'));
$instagram->setUserAgent('User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:78.0) Gecko/20100101 Firefox/78.0');
$instagram->login();
$instagram->saveSession(3600*24);

$result = $instagram->getPaginateMedias('kevin');
$medias = $result['medias'];

if ($result['hasNextPage'] === true) {
    $result = $instagram->getPaginateMedias('kevin', $result['maxId']);
    $medias = array_merge($medias, $result['medias']);
}

foreach($medias as $k=>$v){
    echo($k.' - '.$v->getImageHighResolutionUrl().'<br>');
}

Also is it possible to fetch less data into array? For example I want to get only media url, but getPaginateMedias and getMedias bring to all media informations and result array had too many unessesary keys on simple calls.
Regards.

your code makes 2 fetches:

$result = $instagram->getPaginateMedias('kevin');
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);

Each fetch return (I think) max 30 rows, so 60 in total.
Change
if ($result['hasNextPage'] === true) {
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);
$medias = array_merge($medias, $result['medias']);
}
in:
while ($result['hasNextPage'] === true) {
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);
$medias = array_merge($medias, $result['medias']);
}
You can also use '$instagram->getAccount($username)->getId()' to get the userId and then '$instagram->getPaginateMediasByUserId($id, $count = xx, $maxId = '')

your code makes 2 fetches:

$result = $instagram->getPaginateMedias('kevin');
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);

Each fetch return (I think) max 30 rows, so 60 in total.
Change
if ($result['hasNextPage'] === true) {
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);
$medias = array_merge($medias, $result['medias']);
}
in:
while ($result['hasNextPage'] === true) {
$result = $instagram->getPaginateMedias('kevin', $result['maxId']);
$medias = array_merge($medias, $result['medias']);
}
You can also use '$instagram->getAccount($username)->getId()' to get the userId and then '$instagram->getPaginateMediasByUserId($id, $count = xx, $maxId = '')

Thank you so much! Its works fine now.

Thank you so much! Its works fine now.

Hi,
Thanks for removing my passwords! Ans thanks for the good API.
Im am glad that the pull requests are generally approved very quickly. However with the ‘Highlight’ request it takes somewhat longer. Is there something I can do to help (maybe something you would like to have impolemented differently)?
Best regards,
Richard

On 16 Jan 2021, at 12:06, darkcavalry<EMAIL_ADDRESS>wrote:
Thank you so much! Its works fine now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/postaddictme/instagram-php-scraper/issues/861#issuecomment-761545196, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQ7UJSFAU6SEV6IHCCDKIDS2FXNFANCNFSM4WFEPIGA.++++±±±

Hi,
Thanks for removing my passwords! Ans thanks for the good API.
Im am glad that the pull requests are generally approved very quickly. However with the ‘Highlight’ request it takes somewhat longer. Is there something I can do to help (maybe something you would like to have impolemented differently)?
Best regards,
Richard

On 16 Jan 2021, at 12:06, darkcavalry<EMAIL_ADDRESS>wrote:
Thank you so much! Its works fine now.
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub https://github.com/postaddictme/instagram-php-scraper/issues/861#issuecomment-761545196, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAQ7UJSFAU6SEV6IHCCDKIDS2FXNFANCNFSM4WFEPIGA.++++±±±


Add documentation on using CockroachDB database for Trillian

Trillian is an important part of the Sigstore project. It is an essential component on which Fulcio and CTLog depends. The Sigstore documentation is missing information on configuring Trillian to make use of CockroachDB which essentially provides better scalability for a on-prem (self-hosted) Sigstore instance.

It would be great if the document can be backported to the Trillian repo. The CockroachDB information was updated two years ago.
https://github.com/google/trillian/blob/master/docs/Feature_Implementation_Matrix.md#v1-log-storage


dasharo-tools-suite: fix couple naming typos

Signed-off-by: Tomasz Żyjewski<EMAIL_ADDRESS>

CE dropped from documentation. I unified naming on supported platforms. @sulewskiprzemyslaw cc


Using tabs for vertical alignment is fragile

(see e.g. how the current version of this file displays on github)

It might seem fragile, but it's required for make to work.

Oh, interesting, I didn't know that. In that case, what tab size are you using locally? It shows up misaligned on the github interface, any idea how that could be mitigated? I wonder if Github respects an .editorconfig file...
Btw, are the tabs before the equal signs also required by make, or just the ones after each target? (sorry, make noob here.)

I also learned about it recently.
This what I had to add to .editorconfig for tldr repo.
[Makefile]
indent_style = tab
indent_size = 8

@waldyrious
IIRC, make only requires you to use tab after a target, for example, here:
install: all
	install -d $(BINDIR)
	install tldr $(BINDIR)

@igorshubovych
That's interesting, I didn't knew about .editorconfig files. I solely rely on my vim config.

Check it out:
http://editorconfig.org/
And there is vim integration too
https://github.com/editorconfig/editorconfig-vim#readme

@igorshubovych so such a file added to this repo would make github display the tabs correctly?
In any case, I still think the tabs in the variable definitions should be replaced by spaces, since that's vertical alignment, not indentation. But I don't want to start a flame war here if @Leandros' preference is to always use tabs :)

Well, tabs vs spaces is a long running war, and I really do not wanna have one in small right now. ;)
I see your point, it's ugly and looks broken in github, but tabs are required in makefiles (and every editor defaults to tabs in makefiles), and breaking it up, to allow spaces in the assignments, but use tabs in the targets is just ridiculous.

Fair enough. Just a friendly note, though: as a contributor to many projects with small patches like this one, I've developed a bit of thick skin over the years, but others (as I did in the beginning) may become strongly discouraged by getting their contribution or good-faith suggestions called "ridiculous". Btw, I mean no sarcasm or passive agressiveness here (I know it's tough to communicate online by writing), just a heads up to look out for that sort of language, especially regarding volunteer contributions.
Getting back to the issue at hand, if @igorshubovych confirms that his suggestion would work for github to present the file on the github interface without the need to change it, would you be willing to consider such a PR (adding an .editorconfig file)?

No, I doubt Github has any integration with EditorConfig. I added it for myself, so I will not break Makefile.

Ok, I suspected as much. Thanks for confirming.

I wasn't calling your suggestion ridiculous, @waldyrious, but to have different indentation rules in one file, based on context.

I understand that (thanks for the assurance nevertheless), but the word is a bit strong, and could touch a nerve if read the wrong way, unnecessarily. In any case, I share your aversion for context-sensitive markup, and since the presentation can't be adjusted (yet! I wouldn't be surprised if github eventually starts supporting .editorconfig), we can close this discussion. Cheers!


Linking Issues

Describe the bug
See comments starting here https://github.com/libjxl/libjxl/pull/2884#issuecomment-1770929375
To Reproduce
See comments in PR.
Expected behavior
See comments in PR.
Screenshots
N/A
Environment
Various.

possibly related: https://github.com/libjxl/libjxl/pull/2937?


[Feature request] Geo Locking

redirect users to different locations based on their geo location

Hello,
what do you mean? can you articulate futher?

Yes, thank you for replying.
this feature will allows for geo-based redirection. Specifically, I want to be able to redirect users to different URLs based on their geographical location.
For example, let's say I have the following short link:
https://mybrand.link/83cd
I want the system to detect the user's country and redirect them accordingly:
If a user is from France, they should be redirected to website.fr/content.
If a user is from Spain, they should be redirected to mybrand.es/content.

This feature would enhance user experience by directing users to content that is more relevant to their location.
Here is more info on the feature on a competitor website https://dub.co/help/article/geo-targeting

this would require a severe rework of most of the app as it involves url creation, edit and fruition.
it would require (taking inspiration from their API) edit the structure to host different original url based on ip reverse looking, that then would evolve in rewriting most of the app, that is reaching a "stable" point finally,
i'm not really sure about this.

yeah that's true, for now i can just redirect to my own app and do that
thanks for the awesome project btw !

Thank you, sorry to let you down on this one, maybe in future as it happened with the oidc :)


Jasper dev - Adding Watson services

Adding IBM watson Text To speech and Speech to text services

Still need testing, but merging it and ignoring Travis-CI errors (PEP8 errors that does't affect the program in any way)


New Homepage - Header

Summary:
As a DHO user I would like to see all relevant DHO specific information on the landing screen.
Description:
https://dho.hypha.earth/#/preview/
https://github.com/hypha-dao/dho-web-client/issues/462
old URL:
/#
new URL:
/
Acceptance Criteria:
Header:

[ ] Show name of the DHO and short welcome text (that explains purpose of the DHO)
[ ] Discover Hypha: Link to About Hypha
[ ] Documentation: Link to support document (convert into Wiki) https://notepad.hypha.earth/5dC66nNXRVGpb1aTHaRJXw
[ ] Possibility to click away the Welcome Box (and keep it hidden)

Ressources:
https://docs.google.com/document/d/1LvmEhgZv5hoeFbavVPf9cYCJkBn5077gpMjSPfiSzO8/edit#
https://xd.adobe.com/view/ed4e4a30-9dfd-48f9-9185-e2b1481b6864-b81d/screen/f16705be-1bac-42b0-bbf8-c6761a43616d/

Do we have graphics to use on the right side of this header?

This should be implemented into the welcome-banner component:
https://github.com/hypha-dao/dho-web-client/blob/develop/src/components/dashboard/welcome-banner.vue
Props: None

@lukegravitt What do you mean with 'Possibility to click away the Welcome Box (and keep it hidden)
', could you explain me please?

@jmgayosso hey :) so the idea was that you have a "x" on the corner of the header. And when you click the X the box disappears. It is because the box explains how voting works, what unitiy and quorum are etc... it is interesting for users who login for the first time, second time, maybe 10 times, but some might find it annoying to see it everytime.
So we have two options:

Always show the box after login and when the user clicks the "X" it disappears. It shows up again on next login
Once the user clicks "x" and the box disappears, the box stays hidden for X amount of logins (is that even possible?)
Once the user clicks "x" the box disappears forever

Which of those options are feasable? Which one is the easiest?
If all of them are really difficult, we can also leave this feature out and add it some time later.
Please let me know what you think

@jmgayosso hey :) so the idea was that you have a "x" on the corner of the header. And when you click the X the box disappears. It is because the box explains how voting works, what unitiy and quorum are etc... it is interesting for users who login for the first time, second time, maybe 10 times, but some might find it annoying to see it everytime.
So we have two options:

Always show the box after login and when the user clicks the "X" it disappears. It shows up again on next login
Once the user clicks "x" and the box disappears, the box stays hidden for X amount of logins (is that even possible?)
Once the user clicks "x" the box disappears forever

Which of those options are feasable? Which one is the easiest?
If all of them are really difficult, we can also leave this feature out and add it some time later.
Please let me know what you think

Hi @leonieherma1 , really they are all feasibles but it depends on the backend, the option 1 is the easiest because it is just the front-end, I am going to implement that for the moment

@jmgayosso sounds good, let's do that for now, thanks

@jmgayosso @leonieherma1
I'm planning to add support for a per-device setting for this and other values (probably using localStorage). The box will then show 1 time per device (and when this data is cleared). You could use localStorage for now.

@jmgayosso @leonieherma1
I'm planning to add support for a per-device setting for this and other values (probably using localStorage). The box will then show 1 time per device (and when this data is cleared). You could use localStorage for now.

Good Idea @lukegravitt , Im going to implement it


⚠ Turnos 24x7 has degraded performance

In 48ccd40, Turnos 24x7 (https://reservas-dev.alternativasinteligentes.com/) experienced degraded performance:

HTTP code: 200
Response time: 7531 ms

Resolved: Turnos 24x7 performance has improved in 8955133.


feat: add projectboard

This is a generic version of the code we use in sig-auth-tools for populating project board.
Required variables to be configured when setting up the workflow:

GITHUB_TOKEN
GITHUB_ORG
GITHUB_PROJECT
FILTER_LABEL

The workflows would be similar to sync-sig-auth-project.yml with the additional env vars specific for each SIG.
The code is structured in projectboard folder, so we can continue adding other tools in their respective folder that can be reused for multiple SIG workflows.

/assign @MadhavJivrajani  @Priyankasaggu11929 @sig-contributor-experience-tech-leads

Hello @helayoty, just a heads up -- I'll review the PR early next week. Thanks!

@MadhavJivrajani the comments are resolved with the latest push. PTAL!

/remove-lifecycle stale
@MadhavJivrajani @Priyankasaggu11929 ping!


Printer friendly

Make the master roster and expiring cac printer friendly -- optional: make absentee roster and instructions printer friendly as well

solved in latest update


Remove errors from set methods on RemoteCacheClient interface

What this PR does:
This change does a few things:

Removes the error from the set method on the RemoteCacheClient interface. The only error that can be returned was an error when the async queue used for set operations was full. All other errors were logged and a counter incremented. Even for this error, it was special-cased and nil was returned instead. Thus, the interface included an error return value that could never actually happen.
Adds another method, SetMultiAsync to the interface for setting multiple key-value pairs at once. This was the only functionality that the remoteCache struct was providing beyond the cache clients it was wrapping. With this new method, there's no longer a reason to keep it around (will address in a follow-up PR).
Uses relative TTLs for Memcached items. Memcached supports using a relative TTL (e.g. 300 for an item that expires after 5 minutes) or absolute TTL (a particular UNIX timestamp). We were converting time.Duration objects to an absolute TTL for no reason.

Which issue(s) this PR fixes:
Part of #452
Checklist

[x] Tests updated
[x] CHANGELOG.md updated - the order of entries should be [CHANGE], [FEATURE], [ENHANCEMENT], [BUGFIX]

SGTM. I don't mind the error returned from SetAsync, especially because adding it back later might break linters and it's only an error. But maybe we'll cross that bridge when we come to it.

I'm OK removing the errors from RemoteCacheClient because we don't actually use that anywhere in Mimir except RemoteIndexCache in the store-gateway. Even there, the errors are logged instead of being returned (but again, they couldn't actually ever happen with the current implementations).

Found two outdated comments

Fixed, thank you.

I'm OK removing the errors from RemoteCacheClient because we don't actually use that anywhere in Mimir except RemoteIndexCache in the store-gateway

hopefully one day dskit becomes a real library, not just a sub-package of mimir :D