"Error:(140) Attribute "showTitle" has already been defined"

This error occurs if you set the buildToolsVersion to 23.0.3 and include  compile 'com.android.support:appcompat-v7:25.1.0'
It's not really a problem for me as I just updated my buildToolsVersion to the latest version, in my case '25.0.1', but it could be a problem for someone else.
You can reproduce the error if you start a fresh, empty project, and use the following build.gradle file.
apply plugin: 'com.android.application'
android {
    compileSdkVersion 25
    buildToolsVersion "23.0.3"
    defaultConfig {
        applicationId "com.example.shaboinkin.myapplication"
        minSdkVersion 21
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile 'com.android.support:appcompat-v8:25.1.0'
    compile 'com.hlab.fabrevealmenu:fab-reveal-menu:1.0.1'
}

According to good practice compile and build version same, either downgrade or upgrade any of them to match.
This will definately generate mismatch followed by errors.
By the way thanks for reporting ☺


[BUG] {ImportError: cannot import name 'SyncedPreviewManager'}

Hi Folks,
When I run python3 depthai_demo.py I get the following error:
ImportError: cannot import name 'SyncedPreviewManager' from 'depthai_sdk.managers' (/usr/local/lib/python3.9/site-packages/depthai_sdk/managers/__init__.py)
Running MacOS 21.1 on x86_64
To Reproduce
Steps to reproduce the behavior:

Install as per instruction https://docs.luxonis.com/
Run script python3 depthai_demo.py
See error

Log: log_system_information.json.txt
Thanks!

Hi @LukeyBrown
Could you run python3 install_requirements.py and try again? And if it fails, could you attach the logs from running this command?
SyncedPreviewManager is not yet released in SDK as it got just merged to the demo and I need to test it outside of it to make sure it works, but it's available in the sources that the demo script uses.
From your logs, I see that the SDK is loaded from site-packages, so it's not using sources

I also have this bug, on a intel mac and python 3.9.10
using python3.8 however resolved this

Thanks @VanDavv, still with an error, logs below.
Would rolling back to 3.8 as @AntonyLeons suggests be worth a try?
error_log.txt

@LukeyBrown it should, as I think it doesn't have depthai-sdk installed in site-packages.
Could you try also running
python3 -m pip uninstall depthai-sdk

and then
python3 install_requirements.py

I'll push some updates today so that the demo doesn't crash with this error and then will test the SDK and make a new release, so this issue should be resolved

I've uninstalled depthai_sdk, but was it meant to be reinstalled using install_requirements.py?
I'll keep an eye out for the new build and let you know how I go!
If needed, here are the logs: error_log (reinstall).txt

@LukeyBrown with this PR merged, the demo should work in your case - https://github.com/luxonis/depthai/pull/621
Could you try to run your demo with either:
$ PYTHONPATH=<depthai_dir>:<depthai_dir>/depthai_sdk/src python3 depthai_demo.py  # replace <depthai_dir> with actual path to depthai repository

or
git checkout include_sdk_pythonpath
python3 depthai_demo.py

and see if this helps?

Sorry about the delay getting back to you, one of those weeks.
I've just pulled the latest update and all is working! Champion, thanks for your help @VanDavv


UDIM speedups by eliminating mutex

The udim_lookup_mutex_pool is not necessary. Just using an atomic
pointer for udiminfo.icfile is enough.
I'm seeing about a 5-8% overall speed improvement in testtex-based
intense udim benchmarks under heavy threading, a ~2% overall
improvement in a real rendered scene that uses a bunch of udim
textures (I think there are bigger bottlenecks elsewhere that I'll
move on to next, but every little bit helps).
Some testtex enhancements coming along for the ride:

UDIM-oriented tests (automatically decuded if the test textures
contain <UDIM> in their name.

--maketests will construct random test textures and use them (handy
if you need lots of textures for a big test, but don't want to store
them). The tests are based on a file pattern using std::format-like
replacement with an index. Also, if the pattern contains <UDIM> in
the name, it's understood to be a udim pattern and many individual
udim piece files will be created.

An example of these two items in action is:
testtex --maketests 200 "tmp/foo{:04}_<UDIM>.exr" --threadtimes 8 -iters 100000000 -runstats -v --handle -maxfiles 1000  -trials 5 -wedge

Thanks @lgritz! I'll take a look now.
I was more hoping to COMPLETELY remove all locking around the UDIM access.
I have a feeling that the atomics will maintain a high performance penalty.
The way we handle this in glimpse is to pre-resolve the UDIMs associated with any open file, ensuring that any subsequent access to it's UDIMs can be done with no need for any locking at all.
The way I implemented this is to hold a vector of TextureHandles within a standard TextureHandle, that point to the UDIMs from within a UDIM file path.
The argument against this design is that you are opening potentially unused TextureHandles, and doing this whenever a TextureHandle to a UDIM file is accessed.
It also means you end up loading TextureHandles to files that might not be accessed, but the performance improvement of this change is absolutely spectacular.
I'll run this and compare it to the data I collected previously and let you know how effective it is.
THANK YOU SO MUCH!

@etheory I believe you are describing how it works now. The ImageCacheFile (that's what a TextureHandle actually points to, internally) contains a vector of UdimInfo, which if the ICF is of a "file" that's really a udim pattern, will contain one entry for each concrete file, indexed simply by the udim tile number. That UdimInfo itself is merely the filename and TextureHandle (pointer to ICT) of the concrete file that is that section of the udim.
Now, that UdimInfo.icfile (the handle to the real file) is (as of this PR) a std::atomic<ImageCacheFile*>. There is no lock, it's just an atomic retrieve.
It's lazy -- meaning it does not open the files or even allocate the ICF for tile that are never accessed. So that should make us come out ahead if we don't end up touching all the files.
Atomics that retrieve only should be pretty speedy, if everybody is only retrieving and nobody is simultaneously writing -- multiple simultaneous retrieves don't stall each other, but if anybody is writing to that cache line block (including to OTHER data in that block, "false sharing"), the write will invalidate that cache line in all the cores and cause a stall for them. But the write only happens ONCE, the first time the ICF is needed. There should be no false sharing, because the vector is an array of just the ICF*, a ustring for the filename, and the u,v indices of the tile, none of which are written by anybody else after the udim pattern is first written.
So DOES the atomic retrieve produce a delay in practice? I tested that!
Because on x86_64, a 64 bit read is atomic (you can't, for example, read a 64 bit value and what you get only has the upper or lower half correct because a write is still in progress -- which is a danger on some other architectures), I tried an experiment where I replaced
ImageCacheFile* realfile = udiminfo.icfile; // <- this is really a std::atomic<ImageCacheFile*>::load()

with
ImageCacheFile* realfile = *(ImageCacheFile**)&udiminfo.icfile; // <- this is a normal 64 bit pointer read

which bypasses the atomic and treats it as a raw pointer. That should be as fast as you can make it go, it's exactly the code you should get if there were no atomic at all, and you had pre-filled in all the pointers (except since we're still using an atomic write that one first time when we set it, it's "safe", though in a non-portable way).
It wasn't any faster.

Thanks @lgritz that makes sense. We had a few cases recently where atomics caused insane slowdowns (surprisingly) but the pattern you show above does make sense.
I'm compiling now for a test, I'll keep you posted. Thanks!

If some cores are writing to the same cache line, it can drastically slow down atomic reads. That's what happens with something like an atomic counter. (Though still better than using a mutex.) But if everybody is always only reading, with just an occasional write (or one write ever), it should be pretty good performance.

good, will merge and I'm in hot pursuit of a big whale

Aweosome news. I'll send you some more data tonight, but we are still 1.98x slower than we need to be ;-).


Improve debugging component experience

Is your feature request related to a problem?
inspecting element in dev tools hard to locate the components wrote
Describe the solution you'd like
add name property to virtual host if in dev mode.
Describe alternatives you've considered
implement dev tool extension, then we can collapse component, inspect how props pass by
Additional context
Not sure if it is need, and how much it will helps on develop experience

We could fork react devtools for this purpose, but i think it's two things. Adding a name property is easy compared.
I think it should be easy enough to add the name

@youngboy i just saw that @manucorporat has created a new issue covering this topic over here https://github.com/BuilderIO/qwik/issues/2252.

Hi @youngboy
I close this issue due to the above mentioned reason. if smth is not working as expected, feel free to create a new issue 🙏  thanks


Added support multiple parallel database connections

We have a big project with several schemes in Oracle.
Our scripts usually change 2-3 schemes, and these changes often depend on each other.
Therefore, it is convenient for us to have several connections with different schemes
at the same time and execute scripts on different connections.
I made some adjustments including in dbchangelog-3.5.xsd.
This should be used as follows (see also MultipleDatabaseTest).

In changelog-cumulative.xml add tag <include> with attribute "db":

<include db="sampl_main" file="YYYY-MM-DD-01-[sampl_main]-create-persons.sql" relativeToChangelogFile="true"/>

In arguments of liquibase add 2 or 3 environment variables:
-Dsampl_main.url=jdbc:hsqldb:mem:unittest
-Dsampl_main.username=sampl_main
-Dsampl_main.password=qwe

Variable "...url" is not required if this URL same URL of argument --url.
This solution is checked only on sql-scripts on HyperSQL (in the test) and Oracle.
Apparently, this solution will work with connections simultaneously to only one type of DBMS:
or Oracle, or PostgreSQL, or another - not together.

Hi all,
is there any progress with review of this fix?
It's really useful option for my project too.

Hi @andnas !
Thanks for your pull request and sorry for the wait!
Here’s what happens next:
A member of the Liquibase team will take a look at your contribution and may suggest
changes, additional tests, or provide other feedback. The PR will be prioritized
according to our internal development and testing capacity.
We’ll let you know when it’s ready to move to the next step or if any changes are needed.
-Ronak

@andnas , thanks so much for adding unit tests!

Labeled this as RiskMedium, it does have unit tests but it feels like more testing may be needed if this is a change to the format of the changeset.

Thanks Erz for looking!  We definitely should take a closer look internally.  The PR is interesting as we don't currently support multi parallel connections, I would like this PR to start that discussion if and how to add this feature.

➤ Erzsebet Carmean commented:
QA needs to ask for more details on this feature and how to test it during our Conditioning meeting. Am I correct in understanding the parallel db connections support both Postgres and Oracle? I will size this for test when I have more information.
I appreciate you taking the time to write unit tests, @andnas!

Thank you very much for your interest in this functionality!
For two years now we have been successfully using this modification of your beautiful product.
Our project works with Oracle DBMS. The database is located in several schemes: CORE, DATA, REQUEST and others.
The following is an example of using a modified liquibase with Gradle. I hope this helps to understand how we use this functionality and test it correctly.
I repeat what I wrote in my pull request. This solution does not allow you to simultaneously make changes to two different types of DBMS - it is possible to make changes only in Oracle or only in PostgreSQL. This is due to the fact that liquibase 3.5.6 allows you to use only one JDBC-driver to create a database connection. It was difficult to change and we did not need it.
And we did not check if this would work for PostgreSQL.
changelog-cumulative.xml
<databaseChangeLog
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xmlns="http://www.liquibase.org/xml/ns/dbchangelog"
          xsi:schemaLocation="http://www.liquibase.org/xml/ns/dbchangelog http://www.liquibase.org/xml/ns/dbchangelog/dbchangelog-3.5.xsd">
     <include                file="2019-11-13-PRJ-32033-01[CORE].sql" relativeToChangelogFile="true"/>
     <include db="data"      file="2019-11-13-PRJ-33033-02[DATA].xml" relativeToChangelogFile="true"/>
     <include                file="2019-11-13-PRJ-33033-03[CORE].xml" relativeToChangelogFile="true"/>
     <include db="request"   file="2019-11-15-PRJ-35128-01[REQUEST].sql" relativeToChangelogFile="true"/>
</databaseChangeLog>

gradle.properties
pproj_version=prj_version
pdb_url=db_url
pdb_user=db_user
pdb_password=db_password
pdata_password=data_password
prequest_password=request_password
//...

build.gradle

buildscript {
    project.ext.ojdbc = new File(project(':common').projectDir, 'src/lib/spatial/ojdbc6.jar').absolutePath
    project.ext.liquibaseJarName = 'liquibase-3.5.6-SNAPSHOT'

    repositories {
        flatDir name: project.name + 'LocalRepo', dirs: [new File(project.projectDir, 'lib').absolutePath]
    }

    dependencies {
        classpath "org.liquibase:liquibase-gradle-plugin:1.2.4", ":" + project.liquibaseJarName + ":" //, ""
    }
}
apply plugin: 'liquibase'

task upgradedb(group: "udb") << {
    def props = collectParams()
    def printPassword = Boolean.valueOf(resolve('printPassword', 'false'))
    def _expand = { expand(it) }

    liquibase {
        activities {
            Main {
                def printpswd = { n,v ->
                    println('upgradedb: ' + (printPassword ? _expand(n) : n) + '=' + (printPassword ? _expand(v) : v))
                }
                println('upgradedb: classpath=' + project.ojdbc)
                println('upgradedb: prj_version=' + props.prj_version)
                println('upgradedb: db_url=' + props.db_url)
                println('upgradedb: db_user=' + props.db_user)
                printpswd('db_password', props.db_password)
                printpswd('data_password', props.data_password)
                printpswd('request_password', props.request_password)
                //...

                //vdev -> <project_home>/db/upgrade/vdev/changelog-cumulative.xml
                //v1.4.95 -> <project_home>/db/upgrade/v1.4.95/changelog-cumulative.xml
                //v<IP_ADDRESS> -> <project_home>/db/upgrade/v1.4.95/v<IP_ADDRESS>/changelog-cumulative.xml
                def idxD1 = props.prj_version.indexOf('.')
                def idxD2 = props.prj_version.indexOf('.', idxD1 + 1)
                def idxD3 = props.prj_version.indexOf('.', idxD2 + 1)
                def versionPath = props.prj_version
                if (idxD3 > 0) {
                    def majorVersion = props.prj_version.substring(0, idxD3)
                    versionPath = majorVersion + '/' + props.prj_version
                }

                driver 'oracle.jdbc.OracleDriver'
                classpath project.ojdbc
                url props.db_url
                username props.db_user
                password props.db_password
                changeLogFile new File(project.projectDir, 'upgrade/' + versionPath + '/changelog-cumulative.xml').absolutePath
                logLevel 'debug'

                //parameters["core.url"] = props.pDBUrl
                parameters["data.username"] = "data"
                parameters["data.password"] = props.data_password
                parameters["request.username"] = "request"
                parameters["request.password"] = props.request_password
                //...
            }
        }
        //runList = 'main'
    }
}

def collectParams() {
    def props = [:]
    props.prj_version = resolve(pprj_version)
    props.db_url = resolve(pdb_url)
    props.db_user = resolve(pdb_user, 'core')
    //props.pDBPassword = resolvePassword(pdb_password)
    props.db_password = resolve(pdb_password, 'core')
    props.data_password = resolve(pdata_password, 'data')
    props.request_password = resolve(prequest_password, 'request')
    //...
    props
}

Hi all!
Could someone tell me about any plans for releasing of this functionality?

Hi @alexandrklimov .  The direction that I have been given is that the soonest this will be reviewed for merge is early August,  likely later.  This will be updated with a more accurate time-frame after the HUB integration is released.

Hi @molivasdat,
Thanks a lot for this info!
We will wait for it impatiently :)

Hi @andnas
Thank you for this Pull Request.
I’m putting together a core team of developers to help us with community requests. We’ll make Liquibase improvements faster together!
If you are willing to help, please reply to this comment and I’ll let you know the next steps.
Your friendly neighborhood developer advocate,
@molivasdat

Hi
Thank you for working on this feature!
Supporting multiple connections & multiple schemas due to object dependencies has been a much wanted feature for a few good years :) and still is in demand!
It seems the pull request didn't make it to 3.10.3 release.
What are the plans / dates now?
@molivasdat - Are new developers still needed to review this and other community requests?

Hi @molivasdat,
Do I understand it correctly that this feature isn't include in the last Liquibase 3.10.3 release?

Hi @alexandrklimov This PR did not make it into 3.10.3. I will get with the team and see what can be done.

Hi team!
Could you please tell me, there is any progress about this PR?

Hi, team!
I have 1-2 days to work on this PR.
I may try make new same pull request to branch 4.2.x.
Want you this?

Hi, a bit part of what was causing us to drag our feet on this was some of the underlying APIs we have been working to get in place that will make this easier to fit better into the overall code.
In particular:

A way to manage the configuration properties better
The new runWith changeSet attribute

The current 4.3.x branch would be the best place to work from, since that has all the underlying code changes you'd want to use and would be the release it would go out in.
The code you have in the PR for finding the configuration in the liquibase.properties file is only usable by the CLI and uses a key directly before the first . which is also how we are going to be handling namespacing of properties down the road. 3rd party extensions should be able to define their own properties without worrying about colliding with others, and so any new configuration properties we use should start with liquibase. So instead of otherkey.username etc, we should probably use liquibase.database.otherkey.username etc. as the keys.
For collecting values, we have a liquibase.configuration.LiquibaseConfiguration holder. Currently it is just populated from the liquibase.properties file and system properties, but we will eventually add support for environment variables and other ways to set them as well. There is some built-in "type safety" with classes like liquibase.configuration.GlobalConfiguration and liquibase.configuration.HubConfiguration. The liquibase.database.otherkey.username setup is a bit more complex because the "otherkey" part is dynamic. If you could include the changes it would take in the LiquibaseConfiguration to support dynamic settings like that as part of the PR, I would appreciate it.
What you have in the "db" attribute is what we have the new "runWith" attribute for. The runWith attribute allows different Executors to be used for a specific changeSet. In the end, that is what the multi-connection support is wanting to do -- run changeSets with an executor that is connected to a different database.
For the runWith attribute, I'm unsure if runWith="otherkey" or runWith="jdbc:otherkey" is better. "Jdbc" is our standard executor name and therefore the runWith default, but it gets to be a weird name as we start to support databses that don't use "jdbc" connections like mongodb and cassandra. So I'd lean to just runWith="otherkey" dispite the fact that that "otherkey" could conflict with other specific executors people have. Anyone have thoughts on that?
Another 4.x code pattern we now have is the Scope object which acts as a way to pass values from one place in the code to another. I think that the existing runWith infrastructure will keep you from having to deal with Scope, but it is there if you need.
As you can see, there are a couple rough edges in the underlying APIs we were hoping to get smoothed out before passing it back to you, but it's taking longer than hoped so instead trying to have you help out with that part too.
Does that all make sense? If you have questions on how it all fits together, you can directly message me too.

I'm sorry!  I will not be able to fulfill my promise and help you in the coming days.  I have covid-19.  Yesterday I felt good, but today I felt bad.

Oh, hope you get better @andnas , you health is top priority!

Hi Team!
Could you please tell me, if there is any progress about this PR?
Is the plan still to include it in one of the upcoming releases?
Thanks!

Hi @tuzzoo We just finished releasing the changes that @nvoxland mentioned in v4.4.0.  Any of the suggestions that he made in the previous comment apply to you or do you have any responses to those questions?  There may be some rewrites necessary in order to be able to support this on 4.4.x.

Hi @molivasdat and @nvoxland,
If I'm understanding correctly, the idea now is that we could implement our own runWith executor to accomplish liquibase connecting to different datasources for each changeset without any change needed to liquibase (and therefore no need for this PR nor https://liquibase.jira.com/browse/CORE-2085). Does the 4.4+ codebase have everything I'd need to do this, or do you think some additional work is still needed within liquibase to support such a runWith executor?
Thanks!

The runWith extension point would allow you to define a secondary connection to use for some changesets. The 4.4+ code should have everything you need for that.
That being said, while part of the design behind runWith is to support parallel connections, how to hook that up in a standard way that allows for those connections to be used consistently across all the liquibase features (like diff, status, marking changests ran, etc.) still needs to be worked out.
So I'll leave this particular PR open for now as we figure out how to best incorporate it in general. But in the meantime, using runWith should get you what you need.

Closing this for now.  Since it was written on 3.5.x.  If needed for other databases, we can open another ticket for the 4.x versions that satisfy the need to update DB1 then DB2 then DB1 again from one changelog.
Changes in multiple Oracle schemas can be accomplished by using an schema that has the ability to update other schemas in the same database.
I.E. connect using schema1 user that has access to update schema2 and schema3.  Then provide the scripts
update schema1.table1
update schema2.view1
update schema1.procedure1withreftoschema2view2
etc...
Other considerations not discussed are which databasechangelog table gets updated in this case.  Is the changelog table updated on the database in schema1, schema2 or what if the user defined their own changelog table in the database.  This would also need to be accounted for in the set of changes.


Fix/editable fields validate empty

https://helpscout.atlassian.net/browse/HSDS-78
Problem
EditableField not triggering validate when value is changed to empty
Solution
✅ I moved the logic responsible for dealing with empty values in the "blur" event handling from the bottom of the method (which was not being validated) to the validation stage, from there the logic is practically the same as it was.
Multi-value fields
On multi-value fields we have two scenarios:
If we clear the value on one field:
a) There is more than one value present: clear the value, remove the input
b) If there is only one value: clear the value, leave the input
Considering that, this PR follows this flow:
Let's say the validation includes: required and email type
The field has 2 emails already

The user clears the 2nd email
We remove it, no validation happens. We would only try to validate when the value is something other than ''
The user clears the remaining email
Validation fails (required)

Tests
✅ Updated tests to account for the async nature of the validation
📚 Use the validation stories to confirm that validation happen on blur on empty values: https://deploy-preview-714--hsds-react.netlify.com/iframe.html?id=editablefield--validation

Pull Request Test Coverage Report for Build 2628

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

Totals

Change from base Build 2627:
0.0%

Covered Lines:
21

Relevant Lines:
21

💛  - Coveralls

Once this is green I will merge this up.


[ Aesthetics ] Small header adjustments ( v1.4 )

In relation to the way headers look in1.4, I would only do this:

add 1 pixel below the text

This will center the text in the header, improving readability.

mockup:

original:

Up one pixel...

I also meant increasing header height, by 1 pixel.
Now we are 1 pixel short above the text

Yeah, since we increased height from 18 to 21 pixels, now the text is a bit off center.
It's better to have 22 pixel height.
Then it will be pixel perfect :)

done

Yeah, it looks good.


Either::as_ref method

Hi everyone,
I've just hit an issue while trying to replace an impl AsRef with a concrete Either type in a return position, here's an example: https://play.rust-lang.org/?gist=1f4771605ae47ea7e4e10881a994a2dc&version=stable&mode=debug&edition=2015
I believe it happens because Either::as_ref method effectively hides the AsRef::as_ref method :(
Shouldn't it be renamed to something like to_ref so it doesn't overlap with the AsRef trait, or is there any reason behind this specific name? The same goes for as_mut and probably for into_iter as well.

I believe it happens because Either::as_ref method effectively hides the AsRef::as_ref method :(

Yes, inherent methods take priority over trait methods.

Shouldn't it be renamed to something like to_ref so it doesn't overlap with the AsRef trait, or is there any reason behind this specific name? The same goes for as_mut

Renaming would be a breaking change, at least, requiring us to bump to either 2.0.
Either::as_ref and as_mut mimic the methods on Option and Result, creating references on the inner types while still remaining an Either.  This is unfortunately different than what AsRef and AsMut do, but note that Option and Result don't implement those traits at all!  Whereas Either is a weird chimera where both semantics can make sense in different contexts...

and probably for into_iter as well.

You can see in #12 when into_iter was added.  This one is also weird as we couldn't implement IntoIterator directly, because we already conditionally implement Iterator, and there's a blanket impl<I> IntoIterator for I where I: Iterator which then applies.
But into_iter doesn't cause the same problem you have here, because the inherent method is a strict superset of the trait method.  If the inner types aren't already Iterators, only the inherent method can be called.  If they are already Iterators, then the inherent and trait methods actually return the exact same thing!

As you've mentioned Either is more of a chimera than a direct analogue of either Iterator or Option or Result or whatever, so I believe an interface should not be simply "taken" from an existing type..

Option and Result are not direct analogues either, but it's convenient for them to have similar interfaces for functionality that makes sense in both.  Either also follows suit, and ideally this is supposed to help user's intuition.

do you agree that it's not a good thing that AsRef trait can't be utilized to its full extent while there is an Either::as_ref method?

I think it's an unfortunate clash, but not that big of a deal.  It still works for trait bounds, and you can call it directly in the UFCS style, however ugly that may be. :slightly_smiling_face:
I think it's not helpful to make deprecations and replacements until we're actually planning a 2.0, then we can do it to ease the transition.  Until then, it wouldn't help the current conflict, so the deprecation would just add more noise.

Well, sounds reasonable, but then another question appears: do you think it's worth adding a milestone or a tag or something for a probable 2.0? I have a bad feeling that all the improvement ideas might easily get lost in time, and if I close this issue (since it's more-or-less resolved) at least I will definitely forget about it after some time..

I don't know that 2.0 is "probable" any time soon, but I just added a "potential-2.0" label, at least. :)


reload page after app close - wait - app open, url is incorrectly encoded

This one was weird and took  a while to reproduce. I have an app with a search tab. The search is executed and pust transitioned to the results:
  "type": "$href",
  "options": {
     "url": "%s/kmap_do_search?q=%s" % (app_base, trend),
     "transition": "push"
}

the url that the server sees is (for example)
method=GET path="/kmap_do_search?q=claire%20fontaine"
I then re-open the app sometime laster, not immediately, but maybe 20 mins later, presumably iOS has put the app in some hibernate state. Then I re-open the app, the view opens and the foreground action gets called:
"$foreground":
        "type": "$reload"
}

What I see in the server logs now is
method=GET path="/kmap_do_search?q=claire%252520fontaine"
Notice the double encoding.

can you share the full code so i can try it?


[WIP] Dmd device

Changes Unknown when pulling 1155f0988262efa3043f51e2bdbe6cdd545eb88f on dmd_device into ** on dev**.

Changes Unknown when pulling 725d02ad21071d4cc34c0f84e34b1dbde1fe5a5f on dmd_device into ** on dev**.

Changes Unknown when pulling 0fcc9d304a90f240c9a22ca39f93e7ffa19c1c95 on dmd_device into ** on dev**.


separate log fns

@HalcyonChimera, please resolve the merge conflicts! :octocat:

no conflicts :) thanks @samanehsan


Refactor minimum-wage Smart Answers

I've made a number of changes to the minimum-wage shared logic that's used by both am-i-getting-minimum-wage and minimum-wage-calculator-employers.
There are quite a few commits but they're all fairly small and I hope the commit message explains the motivation.
In broad terms, these are the changes I've made:

Remove unused code:

From unused precalculate blocks.
From unused save_input_as values.
From unused custom validation where the validation is already provided by the money_question.
From parsing that's already handled by questions that use (e.g.) the parse: Float option.

Move formatting to templates, e.g. use OutcomeHelper#format_money.

Use calculator values in templates and remove no-longer necessary calculate blocks.

Use validate blocks instead of custom validation in calculate blocks. Add tests where they didn't exist previously.

Set calculator attributes in next_node blocks rather than calculate blocks whose return values aren't used.

Consistently use next_node blocks rather than the shortcuts available to multiple_choice questions.

Instantiate the calculator early on in the flow and then add each response to it as they come in, rather than instantiating the object in one go later on in the flow. I had to add accessors to the calculator to make this possible. Setting attributes directly on the calculator means that I don't have to pollute the state object in order to share variables within the flow.

Move validation logic out of the flow and into the calculator.

Change some tests that were asserting against state variables so that they now assert against values on the calculator. I started out deleting the tests that were asserting against state variables that no longer existed but then realised that it's possible I'd be losing some useful tests. These integration tests that now assert against the calculator should move to the calculator tests if they're deemed useful.

NOTE. All but the first two questions appear twice, once for determining minimum wage for the current period and once for a previous period.
Having now gone through the process I can see a slightly better ordering of commits but trying to reorder the commits in this branch would be a bit painful and probably not worth doing.

I've added a few more commits.
One first commit moves the unit tests from test/integration/smart_answer_flows to test/unit/smart_answer_flows.
The next three commits move policy logic from the flow to the Calculator.
The final two commits update the checksum data for am-i-getting-minimum-wage and minimum-wage-calculator-employers.

"elligible" -> "eligible"

Thanks @floehopper. Corrected in fixup commit 98f7d55c87ad9491fca95788002a615adc8eda91.

I might be wrong, but I think the save_input_as :current_or_past_payments statement in what_would_you_like_to_check? is now redundant.

Do you know whether the calculate :accommodation_charge blocks are still needed in :current_accommodation_charge? & :past_accommodation_charge?? Also do you know why we need to convert the money object into a Float in these cases?

It might be nice to extract response.to_i == 0 from :how_many_hours_overtime_do_you_work? & :how_many_hours_overtime_did_you_work? into a method on the calculator e.g. #any_overtime_worked?. Also I'm pretty sure the to_i is redundant, because 0.0 == 0 # => true.

This is great! A heroic effort! :smile:
It makes me a lot more confident that this approach is the right one - the flow is now so much easier to follow and the code & behaviour is so much more consistent.
All my comments are pretty nit-picky except for the one about the validation range being accidentally changed in 676b611bb330e95e1f060d77cc99229e8884d7ed.
:+1:

I might be wrong, but I think the save_input_as :current_or_past_payments statement in what_would_you_like_to_check? is now redundant.

I think you're right. I'll get rid of it.

Do you know whether the calculate :accommodation_charge blocks are still needed in :current_accommodation_charge? & :past_accommodation_charge?? Also do you know why we need to convert the money object into a Float in these cases?

The accommodation_charge is passed to the #accommodation_adjustment method in the :current/past_accommodation_usage? questions.
Having just looked at the implementation of #accommodation_adjustment I can see that it converts the parameter to a Float to I think I can probably get away with using save_input_as instead of the calculate :accommodation_charge blocks.

It might be nice to extract response.to_i == 0 from :how_many_hours_overtime_do_you_work? & :how_many_hours_overtime_did_you_work? into a method on the calculator e.g. #any_overtime_worked?. Also I'm pretty sure the to_i is redundant, because 0.0 == 0 # => true.

Yup, that sounds good. I must've missed this when extracting other things to the calculator.

I've made a number of changes suggested by @floehopper, rebased on master and force pushed to this branch. I'll double check that the tests pass, including regression tests, and then manually merge to master.

Manually merged in af48943f3dfeff6789e48fc623e25d0af459a7a3.

Yay! :smile: :star: :star: :star:


Update stable version in repo from 0.1.15 to 0.2.0

Think about update stable version to 0.2.0
Version: stable=0.1.15 (57 days old) => latest=0.2.0 (30 days old)
Installs: stable=214 (53.37%), latest=104 (25.94%), total=401
Click to edit

This issue seems to be outdated.
This issue suggests to update the stable version of this adapter to 0.2.0 but the current stable version is already 0.2.0.
So this issue should be closed.


"Open Hasura" on the Dashboard does not appear to use --console-port

If I start nhost, locally, via:
/usr/local/bin/nhost dev --ui nhost --port 9009 --console-api-port 9001 --console-port 9002 --dashboard-port 9003 --db-port 9004 --graphql-port 9005 --mailhog-port 9006 --minio-s3-port 9007 --smtp-port 9008
I would expect Hasura to be running on :9002.  In fact, according to the command's output, it is running on :9002.
> Ready to use

URLs:
- Postgres:             postgres://postgres:postgres@localhost:9004/postgres
- GraphQL:              http://localhost:9009/v1/graphql
- Auth:                 http://localhost:9009/v1/auth
- Storage:              http://localhost:9009/v1/storage
- Functions:            http://localhost:9009/v1/functions

- Nhost Dashboard:      http://localhost:9003
- Hasura Console:       http://localhost:9002
- Mailhog:              http://localhost:9006

- subdomain:            localhost
- region:               (empty)

However, on the Dashboard (at :9003), on the Hasura tab, the "Open Hasura" button opens to port :9695, the default port.

Closing as this may not be relevant anymore, feel free to reopen otherwise


Library name

Hey there
I was wondering if we could have a quick discussion about the package name.
I'm a developer here in Australia and we have a project named Pact (http://docs.pact.io/). The project has been evolving and now we are ready to release a Javascript version.
I noticed that this package hasn't been updated in a while and I'm wondering if it still relevant / maintained?
I would love to have a package named pact in NPM that actually reflect the above and not Vows.
Looking forward to your reply :+1:
Cheers 🍻

Sure thing, let me read up on how to transfer.

That's awesome, thanks mate! 👍
On Fri, 8 Jul 2016, 10:10 Reid Burke<EMAIL_ADDRESS>wrote:

Sure thing, let me read up on how to transfer.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/reid/pact/issues/7#issuecomment-231243387, or mute
the thread
https://github.com/notifications/unsubscribe/AA2h9GWDH8n-2quaze4DoRoQlXWwp4_Hks5qTZVugaJpZM4JHndH
.

Done! Wishing you well with your project! 🍻
$ npm owner add tarcio pact
+ tarcio (pact)


GemStone: Add self's instance variables to the debugger variable list

Currently only the temporary variables from the current frame are displayed.


AttributeError: 'Graph' object has no attribute 'edges_iter'

Hi!
I'm using mapmatcher python code, but when I run it with both my data and test data it gives me the attribute error (AttributeError: 'Graph' object has no attribute 'edges_iter'). I updated my networkx by pip install, but it still did not work and I got the same error. could you please let me know how I can solve it.
Thanks,
In the following you can see what I got in python:
track size:14
Number of segments: 745
C:\Users\amin.keramati\Desktop\tPRROMTO2\AminShp\testSegments.shp
graph size (excluding unconnected parts): 573
Traceback (most recent call last):
File "C:\Users\amin.keramati\Desktop\tPRROMTO2\mapmatcher\mapmatcher11.py", line 510, in
opt = mapMatch(trackname, roadname, 20, 10, 50)
File "C:\Users\amin.keramati\Desktop\tPRROMTO2\mapmatcher\mapmatcher11.py", line 87, in mapMatch
graph = getNetworkGraph(segments,lengths)
File "C:\Users\amin.keramati\Desktop\tPRROMTO2\mapmatcher\mapmatcher11.py", line 469, in getNetworkGraph
for n0, n1 in sg.edges_iter():
AttributeError: 'Graph' object has no attribute 'edges_iter'

@taynaud what is the most up to date version of python-louvain? When I just do a pip install python-louvain I get this error as well, coming from incompatibility with networkx 2.0. Are there plans to support the new networkx?

new networkx is supported since 0.9. There was an issue in requirements which is fixed now.
Best

Hello,
It looks like a version mismatch. Networkx 2.0 removed the edges_iter function. You may downgrade python louvain to a version < 0.9, for instance pip install 'python-louvain<0.9' and continue to use a networkx < 2.0. The traceback you give seems related to mamaptcher11.py using a networkx<2.0 code.
Best

I just upgraded both Networkx and python-louvain:
pip install python-louvain --upgrade
pip install networkx --upgrade

And now everything works.

just downgrade both of them to :
pip install python-louvain==0.8
pip install networkx ==1.10

Hello,
It looks like a version mismatch. Networkx 2.0 removed the edges_iter function. You may downgrade python louvain to a version < 0.9, for instance pip install 'python-louvain<0.9' and continue to use a networkx < 2.0. The traceback you give seems related to mamaptcher11.py using a networkx<2.0 code.
Best

I just upgraded both Networkx and python-louvain:
pip install python-louvain --upgrade
pip install networkx --upgrade

And now everything works.


[2.5.8]Update zh hans

fixed tons of duplicate keys and other YAML errors in @https://github.com/rancher/dashboard/pull/2822.

pushed to a wrong branch, close for now...


Error when running on GPU with gpu id != 0

I got the following error when running with GPU_ID = [1]
TypeError: Fetch argument None has invalid type <class 'NoneType'>
On further exploration, this error occurs because images_summary and scalar_summary are only logged when gpu_id == 0, which can be seen in the below code snippets:
https://github.com/duxingren14/Hifill-tensorflow/blob/a48a663b5cdd271b614f309936629d3f7c7137ed/trainer.py#L47-L52
https://github.com/duxingren14/Hifill-tensorflow/blob/a48a663b5cdd271b614f309936629d3f7c7137ed/model.py#L154-L158
https://github.com/duxingren14/Hifill-tensorflow/blob/a48a663b5cdd271b614f309936629d3f7c7137ed/model.py#L178-L185
A simple fix would be to set GPU_ID = [0] in config.yml and run the training as follows:
CUDA_VISIBLE_DEVICES=1 python train.py

Closing issue, since issue was created only for the purpose of documentation.


[MM-29635] Don't show panel in subscription section if at user limit

Summary
Small change, if the number of users is equal to the user limit, don't show the panel in the subscription section. IE, it will now only show the panel if between the threshold and 1 user remaining.
Ticket Link
https://mattermost.atlassian.net/browse/MM-29635
Related Pull Requests
n/a
Screenshots
n/a

/cherry-pick cloud-ga

Cherry pick is scheduled.


Support Click Button like Selenium

Is there any possible to support button click, create mouse hang over event etc. to support page navigation etc.

Closing because old.


Fix or remove invalid settings after spring cleaning update

There are quite a few settings that do not work anymore.

Either these should be fixed
Or these should be removed from Manta.

For example:
Auto attack is not 2 bools anymore. It uses
dota_player_units_auto_attack_mode[0] = 0 | 1 | 2
where 0 is never; 1 is after spell; 2 is always.
There's new option for summoned units: dota_summoned_units_auto_attack_mode[0] and more.
In my opinion, these should be removed as these can easily be configured from in game options. In game options are easy to configure and synced nicely. I think focusing on augmenting that instead of completely replacing is a better approach.

I don't agree that settings available in the in game settings should be removed. I personally really like that wherever I am, I just have to copy in my autoexec and everything works as I want it to work. That's one of the things Manta attempt to solve. The old settings however, should and will be removed.

I don't see how having settings in autoexec for things that are easily accessible on options (and is synced using steam cloud) helps any way except increasing complication. Anyways, these would need fix if you want to keep them.

What about multiple accounts? What about quickly playing a game on a friend's computer? What if your family can only afford 1 PC for two kids?

I mean there is a hybrid solution. They could be placed in a different tab. That'd be okay IMHO.

Personally I don't want to ever touch in game settings if possible.
Besides the portability of the autoexec, Dota forgets my settings on a regular basis.
+1 for keeping as much settings in the config as possible.

@dodekeract  Looks like config working again!!!!

Damn, sorry, hear enabling sound, and checked it in hero demo mode(((

@glebmachine :cry:

Sorry mate, i can't describe my frustration about dis : ////


USHIFT-622: Update rebase doc to reflect latest changes

Signed-off-by: Frank A. Zdarsky<EMAIL_ADDRESS>Closes USHIFT-622

/approve

/retest

/assign @ggiguash

/approve
I see @ggiguash comments were handled and the change looks good to me.

/lgtm


chore: fix security update

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add components to 2.4.1

Signed-off-by: Sayali Gaikawad<EMAIL_ADDRESS>Description
Add components to 2.4.1
Issues Resolved
List any issues this PR will resolve, e.g. Closes [...].
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #2974 (9c30cba) into main (a4278d8) will decrease coverage by 0.30%.
The diff coverage is n/a.

:exclamation: Current head 9c30cba differs from pull request most recent head 69f963c. Consider uploading reports for the commit 69f963c to get more accurate results

@@            Coverage Diff             @@
##             main    #2974      +/-   ##
==========================================
- Coverage   93.17%   92.87%   -0.31%
==========================================
  Files         167      167
  Lines        4602     4602
==========================================
- Hits         4288     4274      -14
- Misses        314      328      +14

Impacted Files
Coverage Δ

src/system/temporary_directory.py
64.44% <0.00%> (-28.89%)
:arrow_down:

src/system/os.py
94.73% <0.00%> (-5.27%)
:arrow_down:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.


Support active standby

I want to set active-standby model for replicated pods.
All packets are sent to the active pod,  and other pods are waited.
I think the solution is bonding ports.
Does ovnkube support active-standby?
Is it possible to apply this model?

@Yukariko
ovn-kubernetes does not support such a thing right now. A possible way to implement such a thing in kubernetes is to have your service point to only one pod. And then change the pod when your desired event happens. But the monitoring of the desired event has to be external to ovn.

Thanks a lot.


Runtime SVG nodes with path elements crashes inside SVGToModel (FireFox)

Hi , i am generating SVG nodes at runtime with stored path elements from database and generate 3D Models on the fly. This works perfectly fine with Chrome however FireFox is causing issues. Here is how i generate an SVG node, assume
function getPathNode() {
	var path = "M 197.77778,0 C 129.46031,0 71.04151,35.842624 47.291667,86.540232 L 0,86.540232 0,400 l 400,0 0,-313.459768 -51.73611,0 C 324.50663,35.842733 266.07691,0 197.77778,0 z";

	return { svgData: path };
}

function GetNextTime() {
    return new Date().getTime();
}

function CreateSVGPreviewNode() {
    var svg_clone = null;
    var spec = getPathNode();

    var style_str = "<svg id=\"svg"+GetNextTime()+"\""
    +"xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"430\" height=\"430\""
    +"xmlns:xlink=\"http://www.w3.org/1999/xlink\""
    +"xmlns:svg=\"http://www.w3.org/2000/svg\""
    +"xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
    +"xmlns:cc=\"http://creativecommons.org/ns#\""
    +"xmlns:dc=\"http://purl.org/dc/elements/1.1/\">"
    +"<path d=\""+ spec.svgData +"\" style=\"fill:#ffff00\" id=\"path-"+GetNextTime()+"\"></path>"
    +"</svg>";

    svg_clone = $.parseHTML(style_str)[0];

    return svg_clone;
}

However when i attempt to create a Model out of this node, the SVGToModel function crashes exactly on the following line in function "AddTransformedVertex"
var transformed = point.matrixTransform (elem.getCTM ());

its the getCTM() that returns the null and crashes the code. Any suggestion if there are any consistent ways that i can use to generate such runtime nodes and makes model out of them.

well it seems that the reason was that for FireFox , the svg node needs to be part of any existing DOM node, so adding this resolve the issue.
function CreateSVGPreviewNode() {
    var svg_clone = null;
    var spec = getPathNode();

    var style_str = "<svg id=\"svg"+GetNextTime()+"\""
    +"xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" width=\"430\" height=\"430\""
    +"xmlns:xlink=\"http://www.w3.org/1999/xlink\""
    +"xmlns:svg=\"http://www.w3.org/2000/svg\""
    +"xmlns:rdf=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\""
    +"xmlns:cc=\"http://creativecommons.org/ns#\""
    +"xmlns:dc=\"http://purl.org/dc/elements/1.1/\">"
    +"<path d=\""+ spec.svgData +"\" style=\"fill:#ffff00\" id=\"path-"+GetNextTime()+"\"></path>"
    +"</svg>";

    svg_clone = $.parseHTML(style_str)[0];

	var root = document.getElementById("svgContainerForRunTimeNodes");
	root.appendChild(svg_clone);

    return svg_clone;
}

"svgContainerForRunTimeNodes" is just a div in this case. Case Closed.

Yes, unfortunately it is an error in Firefox: https://bugzilla.mozilla.org/show_bug.cgi?id=756985
I corrected the code, and check for null return value, so in the next JSModeler release it will work. I'm glad you found a workaround, and thanks for the error report.


Storechain

Allow disabling of chain storage
This may help with memory usage in particularly long running sessions
#6

This change is

Closes #6


lang parameter

How do I pass the language that should be used for ocr?

https://github.com/dbashford/textract#configuration

tesseract.lang: A pass-through to tesseract allowing for setting of language for extraction. ex: { tesseract: { lang:"chi_sim" } }

Could you please give me an complete example? What is a pass-through and how do I use it on the command line?
I tried the following (non was working)

textract scan.jpg --exct "{ tesseract: { lang:'deu' } }"
textract scan.jpg --exec.tesseract.lang "{ tesseract: { lang:'deu' } }"
textract scan.jpg exec="{ tesseract: { lang:'deu' } }"
textract scan.jpg "{ tesseract: { lang:'deu' } }"
textract scan.jpg ex: "{ tesseract: { lang:'deu' } }"

--tesseract.lang=deu
Give that a try?

ahh thank you very much! maybe you could add an concrete example to the readme to make this more clear. :)


Tapping on PMKAlertController button does not trigger action

I'm using this exact code from the PMKAlertController.swift file. Here's the code:
let alert = PMKAlertController("OHAI")
let sup = alert.addActionWithTitle("SUP")
let bye = alert.addActionWithTitle("BYE")
promiseViewController(alert).then { action in
     //Print regardless of button push
    print("Button pushed")
}

However, no button push results in the code inside the then statement being triggered. I believe there's some sort of problem with how PMKAlertControllers are being shown. For example, replacing the last 4 lines above with:
promiseViewController(alert, animated: true, completion: { () -> Void in
    print("Presented")
}).then { action in
    print("Button tapped")
}

triggers no print statement at all. If I were to replace the PMKAlertController with a UIImagePickerController, for example, it works:
let picker = UIImagePickerController()
promiseViewController(picker, animated: true, completion:  { () -> Void in
    print("Presented")
}).then { image in ... }

//Results in "Presented" being printed

I'm using Xcode 7.1, Swift 2.1.

Possibly the runtime is using the wrong overload of promiseViewController.

Actually, I believe I found a bug. I submitted a pull request here. Basically, what is happening now is that only the Cancel button is fulfilling the promise, whereas all other buttons are rejecting it. I reversed that.

I closed my pull request because I realized this fix is already a waiting pull request. Link.


linsert  before(after ) dong work right ，is against to redis

titan

redis

version
Server
titan_version:
titan_git_sha1:c3b75af

Yes,  it is a bug, we are going to fix it. Thanks a lot for you feedback.

Fixed https://github.com/meitu/titan/commit/63f480794973988b134ecab8ae0cdb30e60b3c2b. Would you like to try again ?


ISO 22057 - biogenic carbon content

I raise this change request because...

[ ] the ILCD+EPD format lacks compliance with regualtions.
[X] the ILCD+EPD format lacks conformaty with standards.
[ ] the ILCD+EPD format needs to be improved regarding existing format or master data elements.
[ ] there is another problem or use case I´m trying to address.

Problem description
Refers to "biogenic carbon content packaging according to ISO 21930" & "biogenic carbon content within bio-based products according to ISO 21930"
Given unit is strange "kg CO₂ eq(100 years)" --> that´s not a carbon content but a CO2 equiv.
Already covered by current format by "flow properties" but with different unit
Solution description
Further discussion needed
Relevance or added value
low, since already part of "flow property"

Since the unit is defined as CO2e. we suggest to implement that in the result table section.

I doubt that there are multiple different values for biogenic carbon content, and would assume that this is referring to the same biogenic carbon content that is mandated by EN15804+A2, which is already modelled by means of dedicated flow properties (for product and packaging).


[BUG] Failed to add label to image on the Rancher managed Harvester, display 0% progress

Describe the bug

When access Harvester from Rancher virtualization management.
Try to add a label key value pair to the existing image.
The image would display 0% on the progress,

https://github.com/user-attachments/assets/70cf5069-1587-4bc9-a2ec-9ab4d670d38c
And no label actually added to the image

If we add image label from Harvester UI, it can be added correctly.

To Reproduce
Steps to reproduce the behavior:

Prepare 3 nodes Harvester v1.4.0 cluster
Helm install Rancher v2.10.1-alpha1
Import Harvester from Rancher virtualization management
Access Harvester from Rancher virtualization management
Create a image from URL
Edit the image
Add a new label with key pair
Save and check the image status
Check the label can be added correctly

Expected behavior

When access Harvester from Rancher virtualization management.
Should be able to add new label to image correctly.
Support bundle

supportbundle_bf47048d-2d5a-4223-b0da-8486db641902_2024-12-16T09-14-39Z.zip
Environment

Harvester ISO version: v1.4.0
Underlying Infrastructure: 3 nodes kvm machines
Rancher version: v2.10.1-alpha1
Harvester ui extension: v1.0.2

Additional context

This issue also exists on v1.3.2 Harvester managed by Rancher v2.10.1-alpha1 (ui extension v1.0.2)


Try to fix iPhone Description List overlap

Dat overlap is no good. This attempts to fix it.

Verified that this does it.


RTBKit runs on Mac OS X

Does anybody know if for learning purposes only is posible to compile and run RTB Kit on MAC OS X El Captain version ?
If so, what are the enviroment setup to compile the RTB kit ?
Thanks.

I honestly recommend you run it within a VM, for the following reasons:

It's seriously complex to get it to run on OSX because of the various dependencies
It's really simple to run a VM in OSX (VBOX + Vagrant)
It mimics your production environment (nobody will run rtbkit on OSX in production)

Thanks, I will use VBOX + Vagrant.


doc missing: initFirebase call needed before anything

Hello,
First, thanks for your plugin.
I think it would be helpful to add to the README doc that a call to initFirebase() is necessary before anything. I had issues at initialisation and could not find anywhere the cause of the problem.
If it can help others  here is a "get started" code:
      // init firebase
      window.FirebasePlugin.initFirebase()
      // grant permission
      window.FirebasePlugin.hasPermission(function(data){
        if (!data.isEnabled) {
          window.FirebasePlugin.grantPermission();
        };
      });
      // get FCM registration token
      window.FirebasePlugin.getToken(function(token) {
          // save this server-side and use it to push notifications to this device
          console.log(`FirebasePlugin.getToken: ${token}`);
      }, function(error) {
          console.log(`FirebasePlugin.getToken error: ${error}`);
      });

      // do something when user open notification
      window.FirebasePlugin.onNotificationOpen(function(notification) {
          console.log(`FirebasePlugin.onNotificationOpen: ${notification}`);
      }, function(error) {
          console.log(`FirebasePlugin.onNotificationOpen error: ${error}`);
      });

NOTE: for meteor, it needs to be wrapped in a Meteor.startup function to work too.

@loicginoux would you mind submitting a PR with updates to the README?

I think an alternative fix here would be to initialize Firebase by default, at least Firebase proper.  This was disabled in the Crashlytics PR submitted a few days ago.  I understand that for GDPR compliance one might not want to enable crash reporting and making that configurable makes sense.
For things that require a call into the plugin to get data (with Messaging you need to get the Token), it seems like initializing it when the call is made would make sense.  That way you only have to explicitly start the components that you never interact with, but everything else works seamlessly (and doesn't required a documentation update)

This is being fixed via #830.  If we can have some people help test out that PR, we can get the fix published sooner.

This should be fix via v1.1.4.  Please be sure to read my comment above needing to revert some changes to make it work.


AnswerPreCheckoutQueryAsync all time return error

Hi I have problem with AnswerPreCheckoutQueryAsync method whan I am send response in telegram client I see all time error
but I am send success
_client.AnswerPreCheckoutQueryAsync(preCheckoutQuery.Id)

Please follow issue template
If you want to chat, feel free to join our group.

I’m closing this issue because it has been inactive for a few months. This probably means that it is not reproducible or it has been fixed in a newer version.
Please reopen if you still encounter this issue with the latest stable version and then please use the issue template.

I have the same problem, how did you solve the problem?


Fixed display of secondary container

Grid has 12 minus 2 columns. Not 16 minus 2. Changed span10 to span6
Changed CSS for span6

You incorrectly requested a merge against master, not 2.0-wip.


Can't remove a BP when it's moved past the end of the file

See https://github.com/Microsoft/vscode-node-debug2/issues/90
If the debug adapter returns a BP at line 11, but the file is only 10 lines long, then it can't be removed by clicking on the BP icon. If you click on that line, it tries to set a new BP on 10, but doesn't remove the one at 11
Ideally the debug adapter wouldn't do that, but in this case, Chrome/Node will actually return the BP being on an invalid line. No clue why. And the debug adapter doesn't know how many lines the file is, so it can't validate/trim it.

You can still remove it using the breakpoint pane.
I could leave it open as a feature request but I do not think anybody would tackle it so closing for now. If popularity rises I can reopen


API/BUG: Make consistent datetime string parse function

Original Description
Allows DatetimeIndex.__init__ to accept NaT string representation.
Updated Description
The original problem is caused by the inconsistencies in parsing function. Make following results to be consistent.
date_str = '2011Q3'
pd.tseries.tools.parse_time_string(date_str)[0]
# 2011-07-01 00:00:00

pd.DatetimeIndex([date_str])[0]
# 2011-07-01 00:00:00

pd.tseries.tools.to_datetime(date_str)
# 2011Q3 <type str>, not parsed

pd.Timestamp(date_str)
# ValueError: Unable to parse 2011Q3

Summary:

Added yearfirst to to_datetime.

Defined private func _to_datetime, because DatetimeIndex uses freq kw to parse 6 character monthly strings (and do not want to_datetime to accept freq)

Timestamp is left as it is (without dayfirst and yearfirst)

@sinhrks ok I think we need to resurrect this (and just be minimal about its changes), or close.
thoughts?

Sorry, I'll revisit this. I have to understand parse_time_string little more to finish this.

OK, I think it is ready for review once again. I've attached summary on the top.

looks really good
can u run a vbench ?

Sorry to late. I did some changes to improve perfs, but there are still some benches get slower. I'm looking into this one by one.
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
groupby_ngroups_10000_cumcount               |  55.7633 |  48.1217 |   1.1588 |
groupby_transform_multi_key1                 |  51.6430 |  40.7820 |   1.2663 |
read_table_multiple_date_baseline            | 101.0714 |  74.2683 |   1.3609 |
read_table_multiple_date                     | 214.8240 | 156.3216 |   1.3742 |
series_xs_mi_ix                              |   2.1993 |   1.2210 |   1.8012 |
-------------------------------------------------------------------------------

Really nice clean-up!
Added some comments, and also a question about the freq keyword. You now made a _to_datetime to have this keyword, but is there a reason to not have this keyword in to_datetime itself?

Also something else: I don't think we should target 0.16.1 here, as there are some changes in parsing behaviour for some cases.

@sinhrks this does clean up a bunch of stuff. can you run a perf check just to make sure. Let's move to 0.17.0 and put in first thing.

I've did further simplification at my local, but still have a performance regression like vbench attached above. I'll once summarize the changes after fixing the perf.

@sinhrks we can merge this at beginning of 0.17.0

Revisiting this and made some cleanups, but following methods are still slower.
-------------------------------------------------------------------------------
Test name                                    | head[ms] | base[ms] |  ratio   |
-------------------------------------------------------------------------------
read_table_multiple_date                     | 246.8730 | 183.6073 |   1.3446 |
read_table_multiple_date_baseline            | 115.7554 |  85.3313 |   1.3565 |
frame_count_level_axis0_multi                |  71.7806 |  46.7500 |   1.5354 |
frame_xs_mi_ix                               |   2.4750 |   1.3646 |   1.8137 |
-------------------------------------------------------------------------------

read_table_multiple_date
before
Slowness is caused by additional pandas.tslib.array_to_datetime and _strptime and locale which is required for some special datetime string parsing like quarterly.
244940 function calls (244923 primitive calls) in 0.576 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    18000    0.133    0.000    0.160    0.000 parser.py:50(get_token)
     2000    0.113    0.000    0.433    0.000 parser.py:445(_parse)
        2    0.040    0.020    0.565    0.282 {pandas.tslib.array_to_datetime}
     2000    0.033    0.000    0.515    0.000 parser.py:343(parse)
     2000    0.030    0.000    0.245    0.000 parser.py:173(split)

after this PR
364373 function calls (364223 primitive calls) in 0.795 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
    18000    0.123    0.000    0.150    0.000 parser.py:50(get_token)
     2000    0.117    0.000    0.421    0.000 parser.py:445(_parse)
        2    0.095    0.047    0.785    0.393 {pandas.tslib.array_to_datetime}
     8000    0.064    0.000    0.190    0.000 _strptime.py:295(_strptime)
     8000    0.045    0.000    0.066    0.000 locale.py:347(normalize)
     2000    0.031    0.000    0.227    0.000 parser.py:173(split)
     2000    0.030    0.000    0.490    0.000 parser.py:343(parse)

read_table_multiple_date_baseline
Same additional as read_table_multiple_date,
before
111873 function calls (111856 primitive calls) in 0.269 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     8000    0.061    0.000    0.078    0.000 parser.py:50(get_token)
     1000    0.045    0.000    0.194    0.000 parser.py:445(_parse)
     1000    0.018    0.000    0.237    0.000 parser.py:343(parse)
        1    0.017    0.017    0.263    0.263 {pandas.tslib.array_to_datetime}
     1000    0.015    0.000    0.115    0.000 parser.py:173(split)
     8000    0.010    0.000    0.088    0.000 parser.py:163(__next__)

after the PR
169873 function calls (169856 primitive calls) in 0.366 seconds

   Ordered by: internal time

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     8000    0.058    0.000    0.070    0.000 parser.py:50(get_token)
     1000    0.047    0.000    0.185    0.000 parser.py:445(_parse)
        1    0.040    0.040    0.360    0.360 {pandas.tslib.array_to_datetime}
     4000    0.036    0.000    0.090    0.000 _strptime.py:295(_strptime)
     4000    0.017    0.000    0.028    0.000 locale.py:347(normalize)

frame_count_level_axis0_multi and frame_xs_mi_ix
Looks unrelated to the datetime parse. Strangely, I can't reproduce the slowness on my local.

https://github.com/pydata/pandas/blob/1d8717446d8666207b63ae324e56be60a0b01b07/vb_suite/frame_methods.py#L341
https://github.com/pydata/pandas/blob/4a4fe0b0b4ed188c3d155f0d5b35fedf09aa3f2a/vb_suite/indexing.py#L115

Any thoughts?
Because the most bottleneck is dateutil's get_token and parse, porting the cythonized func is one idea.

@sinhrks Added a couple of very minor formatting issues.
Further, one suggestion: as you now have dived into this code, maybe you would be able to add a some general comments / overview of the different functions that are related to the datetime parsing and their relations if you would have some time?

@jorisvandenbossche Thanks! I've fixed your point. And it's nice idea to add summary somewhere, covering to_datetime, Timestamp and DatetimeIndex behaviour (now almost all the same though).

@jorisvandenbossche Added general explanation to timeseries.rst. Not parsing focused though, because each function behaves almost the same after the PR. If it is different from what in your mind, please lmk.
Made some changes to output better error message for quarterly string (#5418).

lgtm
can I run a perf test just to verify nothing really has changed
if ok - ok to merge

Looks good for me as well!
@sinhrks Nice table for the docs, good idea! (actually what I meant to ask: a notice in tslib.pyx or tseries/tools.py oriented to us developers with an overview of the different internal parsing functions, as you are now probably rather familiar with it)

I think this also fixes new issues #10537
@sinhrks can you check and add a test (if necessary), might just be a straight dupe. lmk

@jreback Correct. Added tests for #10537.

@sinhrks for the rest, did you run a last perf check? As I think that was the last thing holding this from merging?

@jorisvandenbossche No logic has been changed after perf attached above (changed doc and tests).
There are performance down because of the additional trial before dateutil is used. Also frame_count_level_axis0_multi and frame_xs_mi_ix show bad result which I can't reproduce  without vbench.

thanks @sinhrks
I did get a perf diff that IMHO was random. I got it with and w/o using np.random.seed. So no big deal. (of course always looking for perf regressinos / issues).
Big thanks on this cleanup!


Add clang format check to workflows.

Resolves #12
Runs clang-format on mdio.  Will fail if code is not formatted in compliance with standard.

For future reference it is running the same style but  running clang-format v13 whereas Brian was running v18 which was introducing an inconsistency.  To resolve this we will bump everything to v18.


Yaml Secret and FeatureFlag deployment via App Configuration Task

Please add support deploy Yaml secrets and featureflags with the App Configuration Task.
At the moment we can deploy an yaml with the format:
Test:
   uri : >-
     "https://....vault.azure.net/secretname"

This gets transformed into the following json if the content-type is not application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 or application/vnd.microsoft.appconfig.ff+json;charset=utf-8:
{ "url": "https://....vault.azure.net/secretname" }

So here are my two suggestions:
1 -  Accept an yaml file for application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8 and application/vnd.microsoft.appconfig.ff+json;charset=utf-8 content-types
or
2 - Add support to import yaml with content-types: application/vnd.microsoft.appconfig.keyvaultref+yaml;charset=utf-8 or application/vnd.microsoft.appconfig.ff+yaml;charset=utf-8

@JDinisHiscox for Yaml feature flag deployment via the Azure App Configuration PushTask, you can specify a feature management section, please see example in  Azure App Configuration support for configuration file.
For the key vault references, sounds valid to support deploying secrets with a YAML file. I can look into this and get back to you

For features im trying to import unsuccessfully via the Azure App Configuration Push Task the following yamls:
Feature Flags:
FeatureManagement:
  "flags.eu.appname.operations.operationname": true

Secrets:
variables:
  "eu:appname:backend:secret:value":
    uri: "secreturi"

Feature Flags keys cant also contain : but i guess i can live fine with the .
Via cli these get imported without any issue however thru the task they fail because of the content-type because it seems to attempt to parse the contents of the file based on the content-type passed.
Via portal only secrets gets loaded, feature flags either dont show up or show up but not in the feature management section.
Thanks for looking into this 👍😄

Hi @JDinisHiscox I am wondering if you get a chance to check out this document.
https://learn.microsoft.com/en-us/azure/azure-app-configuration/concept-config-file

Hi @zhenlan,
I did, have i missed something?
Going by what it says App Configuration supports JSON, Yaml, or Properties file formats, however when deploying secrets or flags im met with the following with yamls having the same format i've described above:
FeatureFlags:
Azure App Configuration Push Task is starting up...
Azure Subscription: ...
App Configuration Endpoint: https:/....azconfig.io
Strict: false
File Content Profile: appconfig/default
Dry Run: false
Import Mode: All
Separator: ':'
Label: "DEV"
##[error]An unexpected error occurred. Failed to import 'Yaml' file format with 'application/vnd.microsoft.appconfig.ff+json;charset=utf-8' content type. Please provide JSON file format to match your content type.

Secrets:
Azure App Configuration Push Task is starting up...
Azure Subscription: ...
App Configuration Endpoint: https://....azconfig.io/
Strict: false
File Content Profile: appconfig/default
Dry Run: false
Import Mode: All
Separator: ':'
Label: "DEV"
##[error]An unexpected error occurred. Failed to import 'Yaml' file format with 'application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8' content type. Please provide JSON file format to match your content type.

Here are the yaml pipeline tasks:
  - task: AzureAppConfigurationPush@5
    displayName: Secrets Deployment
    inputs:
      azureSubscription: '${{parameters.azureServiceConnection}}'
      AppConfigurationEndpoint: '${{parameters.appConfigEndpoint}}'
      ConfigurationFile: '$(System.DefaultWorkingDirectory)/$(resources.pipeline.build.runName)/Resources/${{parameters.environment}}/secrets.yml'
      Separator: ':'
      ContentType: 'application/vnd.microsoft.appconfig.keyvaultref+json;charset=utf-8'
      Label: 'DEV'
      Strict: false
      DryRun: false

  - task: AzureAppConfigurationPush@5
    displayName: Flags Deployment
    inputs:
      azureSubscription: '${{parameters.azureServiceConnection}}'
      AppConfigurationEndpoint: '${{parameters.appConfigEndpoint}}'
      ConfigurationFile: '$(System.DefaultWorkingDirectory)/$(resources.pipeline.build.runName)/Resources/${{parameters.environment}}/flags.yml'
      Separator: ':'
      Label: 'DEV'
      ContentType: 'application/vnd.microsoft.appconfig.ff+json;charset=utf-8'
      Strict: false
      DryRun: false

@JDinisHiscox, thanks for the confirmation. To help us repro the issue, can you please share a sample of your secrets.yml and flags.yml?
Feature flags should be defined by following the format in yaml files below. The Push Task will add proper content type for feature flags automatically, so you shouldn't need to add it.
https://microsoft.github.io/spring-cloud-azure/docs/azure-app-configuration/2.9.0/reference/html/index.html#feature-flag-declaration.

For features im trying to import unsuccessfully via the Azure App Configuration Push Task the following yamls:
Feature Flags:
FeatureManagement:
  "flags.eu.appname.operations.operationname": true

Secrets:
variables:
  "eu:appname:backend:secret:value":
    uri: "secreturi"

Feature Flags keys cant also contain : but i guess i can live fine with the .
Via cli these get imported without any issue however thru the task they fail because of the content-type because it seems to attempt to parse the contents of the file based on the content-type passed.
Via portal only secrets gets loaded, feature flags either dont show up or show up but not in the feature management section.
Thanks for looking into this 👍😄
P.S: Since i didnt make it clear, i'm trying to import settings, secrets and feature flags via an azure devops deployment pipeline with an yaml for each type of configuration value.
Trying to maintain the same aspect across configutation types and also here is an example for my settings.yml format:
variables:
  "eu:appname:backend:name": "backend name"

These are actually the contents from yamls we use stripped of private content.

it seems to attempt to parse the contents of the file based on the content-type passed

@MaryanneNjeri, how do we tell if a file is json or yaml? File extension? It shouldn't be based on the content-type.

@MaryanneNjeri, are you able to repro the issue @JDinisHiscox reported? It looks like we mistreated the input file as json. We probably should ask for the file format explicitly like what we do in CLI.

@zhenlan yes am able to repro the on my end, we check if the content type is JSON and file format is not JSON we error out.

@MaryanneNjeri is this addressed?

@zhenlan yes this issue has been released in the latest Push task version 6.0.0


Some very high age-data in canton zurich

There are some very high age-data in Zurich ... are those true - especially the first one?

https://github.com/openZH/covid_19/blob/master/fallzahlen_kanton_alter_geschlecht_csv/COVID19_Fallzahlen_Kanton_ZH_alter_geschlecht.csv

Thanks, @rsalzer, we're forwarding to our colleagues @GD-ZH for clarification.
Best, Andreas

Thank you for the comment. We have checked the lab reports: The 120 years is an error, indeed, which we will correct. The other two age indications are correct according to the reports.

Resolved.


Increase libc version requirement to match codebase

https://github.com/hniksic/rust-subprocess/commit/14cfe4599c121919ce8fb7c2a07991b6351bbbe5 appears to have started relying on libc changes introduced in version 0.2.78. As a result subprocess doesn't actually build with the version of libc specified in Cargo.toml. This PR increases the required version to match the expectations of the subprocess code.

Thanks, I'll merge this. Do you know of a good way to avoid these issues in the future? I suppose the code built for me locally and on CI because in both cases the build happened to pick up a new enough libc. How did you run into this?

The -Z minimal-versions flag is intended for this use case. Although there are caveats regarding transitive dependencies as noted on that page. Might be worth a try at least.

I tried -Z minimal-versions (after switching to nightly), but subprocess still built correctly.
I managed to reproduce the issue by manually forcing the use of libc 0.2.66 through a direct modification to Cargo.toml.


r1.0.0 - cancer type & bug fix

PR checklist

[ ] This comment contains a description of changes (with reason).
[ ] If you've fixed a bug or added code that should be tested, add tests!

[ ] If you've added a new tool - have you followed the pipeline conventions in the contribution docs
[ ] If necessary, also make a PR on the nf-core/variantmtb branch on the nf-core/test-datasets repository.

[x] Make sure your code lints (nf-core lint).
[x] Ensure the test suite passes (nextflow run . -profile test,docker --outdir <OUTDIR>).
[ ] Usage Documentation in docs/usage.md is updated.
[ ] Output Documentation in docs/output.md is updated.
[x] CHANGELOG.md is updated.
[ ] README.md is updated (including new tool citations and authors/contributors).

Changes

nf-core module updates
user can now specify cancer type for civic and cgi in the sampesheet
fixed #10, which resulted in CGI failing when run on multiple samples in parallel
made ready for release 1.0.0

concerning the release version: is the nf-core idea to have a major release only after the first paper is published? or is it fair to bump to 1.0.0 already as we had a change in the usability/params?

I think its ok to use 1.0.0 without a publication (or at least I did not find anything that speaks against that in the docs). https://nf-co.re/docs/checklists/pipeline_release -> as long as there are breaking changes you can do a major version number according to semantic versioning. For version 1.0.0 this is probably a bit of a philosophical question (when is a pipeline ready "enough" to be v1.0.0).

concerning the release version: is the nf-core idea to have a major release only after the first paper is published? or is it fair to bump to 1.0.0 already as we had a change in the usability/params?

I agree with Famke. Let's go for 1.0.0

ok neato. dann bräuchte ich nur grünes Licht von euch zum mergen ;)

-> Do we have a full-sized test? If yes you can just remove the TODO string! pipeline_todos - TODO string in README.md: Add full-sized test dataset and amend the paragraph below if applicable

we do have a full-sized test, however it requires credentials for cgi. I did not want some automated github action to fail because it trys to run test_full. But that would be defined in the github actions ci.yml right? so removing the todo should not have consequences on downstream automations?


Add ui to manage home screens other than the default

@lucasvanhalst so changing the name of a homescreen keeps the initial created id correct?

@lucasvanhalst after creating a new homescreen and publishing i get the following error
File "/Users/ruben/mobicage/git/oca-backend/src/rogerthat/bizz/communities/homescreen/homescreen.py", line 216, in publish_home_screen
data = deepcopy(home_screen_model.data)  # take copy to make sure we don't overwrite the model
AttributeError: 'NoneType' object has no attribute 'data'

@lucasvanhalst also block creating homescreens with special chars & spaces etc


Reconcile XamlHelpers::IterateOverVector implementations

We currently have two versions of XamlHelpers::IterateOverVector() -- one that iterates through all items ignoring any failures coming from the supplied callback, and one that gives the option of ending the iteration on failure. We should consolidate it down to one implementation and fix consumers. While we're at it, we should probably demote XamlHelpers from a class to a namespace.

@paulcam206 is this coming in for 1.2?


Add serial port to device for electrometer

@aanania Is this ready to merge?

@avillalobos yes, it is ready....


My game is about eating as many burgers as you can while not getting eaten by the monster.
How do you play your game?
Press WASD to move around. Once the monster has caught you, the game ends and you can press "I" to restart.
Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

Yea, it’s inspired by a toy I had that had a lot of grid games on it.
On Wed, Aug 30, 2023 at 9:39 AM Lucas @.***> wrote:

@.**** requested changes on this pull request.
Great game! Did you use some game as inspiration?
—
Reply to this email directly, view it on GitHub
https://github.com/hackclub/sprig/pull/1123#pullrequestreview-1603109000,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQSCSWSERT72WNICKHJFYFLXX5UELANCNFSM6AAAAAA4EVPFLY
.
You are receiving this because you were mentioned.Message ID:
@.***>


Support for resources (images and fonts) in ui.frontend build

Description
Updated the webpack build and aem-clientlib-generator build to include copying resource folders/files for images and fonts. Layout dependent images and font files are common enough in front-end dev tasks that it would be beneficial to include support for this as part of the default ui.frontend build process.
Related Issue
Motivation and Context
It would be ideal to prevent the front-end developer from making edits to the webpack and aem-clientlib build processes each time a new project is executed for the same common task. This would help to automate where possible to prevent additional prerequisites to have webpack customization experience.
How Has This Been Tested?

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[X] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[X] I have signed the Adobe Open Source CLA.
[X] My code follows the code style of this project.
[X] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[X] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

@thinkstainless - there are some conflicts with the master branch in src/main/archetype/ui.frontend/webpack.common.js, would you be able to resolve them?

Sure, I'll take a look

I think we could mention this resources support in the ui.frontend docs at https://github.com/adobe/aem-project-archetype/blob/master/src/main/archetype/README.md

Conflict for webpack.common.js has been resolved

Thanks @thinkstainless for the contribution!


Upgrade Deps and some Env Var enhancements

Now using this in my staging environment. I'll merge to master after I get it into my prod environment.


IPCLoggerChannel can merge edits queued when it is waiting for inflight requests

I still want to perform some changes

https://criteo.atlassian.net/wiki/spaces/HAD/pages/1946820186/Managing+latency+with+journalnodes


HV-1211 Remove empty ConstraintValidator#initialize implementations

It's not mandatory but let's show the good example in our code.

https://hibernate.atlassian.net/browse/HV-1211

Rebased and applied. Thanks, @gsmet!


Stop relying on Flask-OAuthlib

The package Flask-OAuthlib has been discontinued and replaced by authlib (claimed both in the GitHub repository, and in its docs).
Additionally, the usage of Flask-OAuthlib with the syntax Flask-OAuthlib >= 0.9.3, as it is currently specified inside the setup.py file, leads to inconsistent oauthlib versions being install
Inconsistency tracking
Let's track dependencies down, shall we?
Flask-OAuthlib >= 0.9.3 resolves into v0.9.5 (last version in Pypi), which declares the following (check here):

oauthlib >= 1.1.2, ... <3.0.0 👀
requests-oauthlib >= 0.6.2, which ends up as requests-oauthlib v1.3.0 (latest version), with the following declaration (check here):

oauthlib>=3.0.0 👀

Replacing Flask-OAuthlib is quite big task as it's both in Invenio-OAuthClient and Invenio-OAuth2Server. Also, authlib is, like Flask-OAuthlib, a one-man show by the same person and I must admit that I'm quite concerned of spending a lot of effort migrating to authlib if he makes the same move again.
Obviously there's a problem here, just not clear what the solution is - i.e stay and fork flask-oauthlib, or switch to authlib, or …?

That's a good point.
Maybe for now just locking the Flask-OAuthlib version to  0.9.3 or 0.9.4 is enough. It is just the latest version (0.9.5) the one that does not play well with requests-oauthlib.
Both 0.9.3 (check here) and 0.9.4 (check here) do not bound oauthlib with the "<3.0.0" bomb.

In the setup.py we also pin requests-oauthlib to <1.2.0:
https://github.com/inveniosoftware/invenio-oauthclient/blob/ca0e40e6483d2f8fe8ccda670c56bc6423bb69b0/setup.py#L72
...which should be enough to protect anyone doing pip install invenio-oauthclient.
The actual issue might be that pip messes up the installation order of the packages, which can indeed cause problems, e.g. if Flask-OAuthlib is installed first, what @Sinclert described above happens...
Unfortunately, this is not an easy issue to fix, and that's also why when deploying Python apps in production, people have requirements.txt with the exact combination of pinned dependencies that are known to work, or use tools like pipenv, poetry and dephell exist.
Also, I guess Flask-OAuthlib pins requests-oauthlib for a reason (e.g. incompatibility)

You are right, invenio-oauthclient specifies requests-oauthlib...<1.2.0, which would solve the problem if the order is appropriate.
However, given that anyone who uses requirements.txt is likely to specify dependencies in alphabetical order, Flask-Oauthlib will most certainly be installed before invenio-oauthclient for all requirements.txt users, creating the incompatibility.
Could you limit Flask-Oauthlib in that regard?
Something like:
    'Flask-OAuthlib>=0.9.3,<0.9.5',

c.f. https://github.com/inveniosoftware/invenio-oauth2server/issues/195


xskdev:force zero copy mode

When the driver did not support zero-copy mode it would default to copy mode, but we did not force zero-copy mode. The performance would drop and we did not report an error message to alert the operator.
Force zero copy mode unless asked to do copy mode i.e., skb_mode.
Signed-off-by: Keith Wiles<EMAIL_ADDRESS>

We want the kernel to pick the best mode, right? Can you test with veth driver and make sure you don't need to specify skb_mode, and the socket can still be created?


no icon

when app start, it have no icon.

how to resolve it?

Hmm, I believe I tested it on Ubuntu 14.04 and had the icon working. I'll look into it again.

Ubuntu 14.04,i already resolve this problem that create a .desktop .


Model casts Dirty bug

It seems that the dirty check on array/json casted fields always return true.
And possibly other casted fields?
Which means that the updated_at fields will always be updated as it should not.
I am willing to provide a fix, but I also feel that this could major impact on existing code.
What about a fix targeting 5.3 ?

Edit:
Here is the bad guy:
 return is_numeric($current) && is_numeric($original) && strcmp((string) $current, (string) $original) === 0;

A cast should be done before comparing.

@lucasmichot Hello :)
Not sure if this got fixed or what, do you have any information about this issue? is it still existing or have you managed to open a PR?

I am getting this issue to with boolean casts. Since the $original array has ints from the database but when using them they are boolean and our audit log uses isDirty() to know if there were any changes to log. I can work around it but bit annoying.

appears here too it was working fine weeks ago, now I am on latest ver 5.4.24 it is not casting while save() or fill() is called

Any updates on this? Does it still persist in 5.5?

Closing for lack of activity, please ping me if the issue still exists on 5.5

@rseyferth hi, any chance you can share your workaround?

I just bumped into this same problem on v10... why this was closed?
I'll try to work on into and suggest a solution...


Any plan to support 0.18?

👍

forgot to push this up, sorry!
8db85c74d73c8c2fb76e49fb0c063137f153fc22

Awesome!


remote: Error response from daemon: no such id

Hello there!
So I have an app called dev, the Dockerfile builds and runs ok locally but when I push it to dokku after everything passes as well I get this:
Successfully built 2f6b8f8a6b49
-----> Releasing dev (dokku/dev:latest)...
-----> Deploying dev (dokku/dev:latest)...
-----> DOKKU_SCALE file not found in app image. Generating one based on Procfile...
-----> New DOKKU_SCALE file generated
=====> web=1
-----> Running pre-flight checks
       For more efficient zero downtime deployments, create a file CHECKS.
       See http://progrium.viewdocs.io/dokku/checks-examples.md for examples
       CHECKS file not found in container: Running simple container check...
-----> Waiting for 10 seconds ...
-----> Default container check successful!
=====> dev container output:
=====> end dev container output
-----> Running post-deploy
remote: Error response from daemon: no such id: dev.web.1
remote: Error: failed to rename container named dev.web.1

Can you provide all the info we ask for in the contributing.md?

$ uname -a
Linux **** 3.13.0-68-generic #111-Ubuntu SMP Fri Nov 6 18:17:06 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

$ free -m
             total       used       free     shared    buffers     cached
Mem:           994        693        300          0         98        277
-/+ buffers/cache:        317        676
Swap:         4095        338       3757

$ docker version
Client:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

Server:
 Version:      1.9.1
 API version:  1.21
 Go version:   go1.4.2
 Git commit:   a34a1d5
 Built:        Fri Nov 20 13:12:04 UTC 2015
 OS/Arch:      linux/amd64

$ docker -D info
Containers: 12
Images: 100
Server Version: 1.9.1
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 124
 Dirperm1 Supported: false
Execution Driver: native-0.2
Logging Driver: json-file
Kernel Version: 3.13.0-68-generic
Operating System: Ubuntu 14.04.3 LTS
CPUs: 1
Total Memory: 994 MiB
Name: ***
ID: HIN5:KUAQ:C2OJ:PUXY:EVAM:FKBH:XQEV:747D:A4NJ:H7P4:IFKJ:UVKE

$ docker run -ti gliderlabs/herokuish:latest herokuish version
herokuish: 0.3.5
buildpacks:
  heroku-buildpack-clojure   v70
  heroku-buildpack-go        v18
  heroku-buildpack-gradle    v12
  heroku-buildpack-grails    v19
  heroku-buildpack-java      v40
  heroku-buildpack-multi     26fa21a
  heroku-buildpack-nodejs    v86
  heroku-buildpack-php       v80
  heroku-buildpack-play      v24
  heroku-buildpack-python    v70
  heroku-buildpack-ruby      v140
  heroku-buildpack-scala     v63
  https://github.com/dokku/buildpack-nginx v5

$ dokku version
0.4.5

$ dokku plugin
  00_dokku-standard    0.4.0 enabled    dokku core standard plugin
  20_events            0.4.0 enabled    dokku core events logging plugin
  apps                 0.4.0 enabled    dokku core apps plugin
  backup               0.4.0 enabled    dokku core backup plugin
  build-env            0.4.0 enabled    dokku core build-env plugin
  certs                0.4.0 enabled    dokku core certificate management plugin
  checks               0.4.0 enabled    dokku core checks plugin
  common               0.4.0 enabled    dokku core common plugin
  config               0.4.0 enabled    dokku core config plugin
  docker-options       0.4.0 enabled    dokku core docker-options plugin
  domains              0.4.0 enabled    dokku core domains plugin
  enter                0.4.0 enabled    dokku core enter plugin
  git                  0.4.0 enabled    dokku core git plugin
  logs                 0.4.0 enabled    dokku core logs plugin
  named-containers     <IP_ADDRESS> enabled    dokku core named containers plugin
  nginx-vhosts         0.4.0 enabled    dokku core nginx-vhosts plugin
  plugin               0.4.0 enabled    dokku core plugin plugin
  ps                   0.4.0 enabled    dokku core ps plugin
  shell                0.4.0 enabled    dokku core shell plugin
  tags                 0.4.0 enabled    dokku core tags plugin
  tar                  0.4.0 enabled    dokku core tar plugin

Also a dokku trace deploy.

2>&1 deploy.log doesn't work, suggestions?

Use a proper terminal that supports infinite terminal scroll?

That was a serious comment, I don't know why you wouldn't be able to redirect output, so I assume it has something to do with your terminal emulator.
Were you able to figure out why dokku is freaking out about your containers?

@kilianc The original error was fixed with #1707 and released in 0.4.5
remote: Error response from daemon: no such id: dev.web.1
remote: Error: failed to rename container named dev.web.1

@michaelshobbs He is running 0.4.5 though...

Ah my bad. I overlooked the plugins output

I have the same problem.
Reproduction procedure:

dokku apps:create subdomain.domain.com
Application created successfully
Deploy application (push to dokku repository)
Application deployed successfully
dokku apps:create domain.com
Application created successfully
Deploy application (push to dokku repository)
Application deployment failed

Error log:
remote: Error response from daemon: no such id: domain.com.web.1
remote: Error: failed to rename container named domain.com.web.1

The problem is in plugin named-containers/post-deploy in line 9:
https://github.com/dokku/dokku/blob/master/plugins/named-containers/post-deploy#L9
PREVIOUS=$(docker ps -a -q -f name="$NAME\$") || true

Command returns subdomain.domain.com container ID instead of domain.com.

@Flink can you take a look?

@michaelshobbs done! :)

@michaelshobbs @josegonzalez
Confirmed, it works now.

thanks @Flink !!!!

You’re welcome :)


Tls using pr736

make tls(pr798 of @zimbatm ) use additionalVolumes capability from pr736 (of @seuf @Thierry )
(as suggested by @frittentheke and @FxKu )
in
#736 (comment)
It also adds capability to hold ca.crt in a different secret.
The same has been proposed via PR directly to zalando: https://github.com/zalando/postgres-operator/pull/918

This project is not the upstream project. So, no need to merge here.. :)
thanks anyway.


chore: convert event sourced entity to TypeScript

Refs #293. Draft, based on #309.

Also applied the entity id check here, as for value entity.


Switch to GHC 9.2.5

Fixes #nnnn
Scope:
Estimate:

Review checklist
The author performs the actions on the checklist. The reviewer evaluates the work and checks the boxes as they are completed.

[ ] Summary. Write a summary of the changes. Explain what you did to fix the issue, and why you did it. Present the changes in a logical order. Instead of writing a summary in the pull request, you may push a clean Git history.
[ ] Documentation. Write documentation for new functions. Update documentation for functions that changed, or complete documentation where it is missing.
[ ] Tests. Write unit tests for every change. Write the unit tests that were missing before the changes. Include any examples from the reported issue as integration tests.
[ ] Clean up. The changes are already clean. Clean up anything near the changes that you noticed while working. This does not mean only spatially near the changes, but logically near: any code that interacts with the changes!

@goodlyrottenapple Could you possibly help me update the nix stuff? I'm not sure what the conventions are here when going from two supported versions to one.

You need to do kup install k, stack install the project and then make golden in haskell-backend/test/

@ana-pantilie That doesn't seem to work. There's no golden target in the test/rpc-server makefile. I tried running
PATH=/home/dfeuer/src/haskell-backend/.build/kore/bin:$PATH CREATE_MISSING_GOLDEN=true python3 rpc-server/runTests.py

I got an error
Traceback (most recent call last):
  File "/home/dfeuer/src/haskell-backend/test/rpc-server/runTests.py", line 2, in <module>
    from jsonrpcclient import request, request_uuid, notification
ModuleNotFoundError: No module named 'jsonrpcclient'

Any ideas?

whatsoever.tar.gz

whatsoever.tar.gz

@treeowl it looks like you deleted test/regression-c/test-smoke100.sh.out.golden

@treeowl it looks like you deleted test/regression-c/test-smoke100.sh.out.golden

Oops. Yeah, I missed the fact there were two in that directory. Hopefully it's all fixed now.


Small fix

just two small submits to put the new user name and to have the same ditch_-routers.

I finally used the +* suffix. It makes more sense to me (I disabled the -*-suffix because of the problems with normal mail addresses.
I uncommented the trusted_user completely.

@rimas-kudelis : Thanks for your comments, I put them into the last commit.

Thank you!

Hello, when the release is scheduled?

It's not really scheduled for a particular date. But if we keep our current pace, it might happen rather soon.