feat: avoid base64-encoding image data

Implements #75. Uses Jupyter Widgets support for sending binary data directly over websockets.

Also one question: would this also work in other clients like Colab (https://github.com/vispy/jupyter_rfb/issues/74) or MS Code?

Yes. VS Code and Colab correctly implement the Jupyter Widgets, it's just there are a lot of quirks you need to worry about as a widget author to make sure your front-end code is packaged correctly and discoverable in those environments.
Here's an example notebook using [anywidget] (https://github.com/manzt/anywidget) – a project I work on that tries to handle those complexities for you (blog post) – that sends binary data in Colab.

One linting error: ./jupyter_rfb/widget.py:17:1: F401 'base64.encodebytes' imported but unused 😉
And yarn seems to fail (on some builds).

And yarn seems to fail (on some builds).

yarn builds are failing because you don't have a lock file and one of the dependencies is now incompatible with node v14. I bumped the version in CI, but you might want to consider checking in a lockfile.

I didn't find too much on previous conversations on this topic so let me know if I'm missing something that I can read in a different thread: The related issues talks about JPEG only, but this PR sends "raw" JPEG and PNG, right? Unless I'm mis-remembering, I think base64 was originally used because that's what vispy used to use in the old webgl backend that this package was originally created to support. This PR is basically just saying "we can send binary data, so send binary data", right?

The related issues talks about JPEG only, but this PR sends "raw" JPEG and PNG, right?

Yes.

I think base64 was originally used because that's what vispy used to use in the old webgl backend that this package was originally created to support.

I used base64 because its a common way to be able to send binary data over a textual interface. And in the case of images, because it allows creating an url that embeds the image (so no decoding necessary in JS). I've seen/used the same technique in similar situations, and I guess I hadn't thought about using the ability to send binary data over the websocket ...
But now that I think of it ... are we certain that the websocket is really in binary mode, and that Jupyter is not base64 encoding the data anyway (and decoding in the browser). Can we observe an increase in performance with this change (e.g. in performance.ipynb)?

I picked this up, eventually making this work with both approaches.
I ran this many times on the examples/performance.ipynb. Now this may not be a complete benchmark, and I only tested on localhost and MacOS .... but ... what I see is that using a websocket is actually a bit slower. I was not expecting that, and its not a lot, but its significant.
My guess is that the object-url's cause unexpected overhead or something. I also saw that the time spent on base64 encoding is much smaller (like an order of magnitude) than the jpeg compression.
Leaving this open for now in case someone else wants to have a stab.

I also saw that the time spent on base64 encoding is much smaller (like an order of magnitude) than the jpeg compression.

This is a function of the size of the frame/image, right? The performance notebook is 480x640 images. I'd also assume this is heavily dependent on the load of the server. So I guess my questions are:

How big of a frame do you have to make for base64 to be on-par with JPEG compression?
What is the difference in amount of data sent over the network? Obviously locally isn't too big of a deal, but over a non-local network the UX could be different.

Good questions! Also worth looking at how things work out with png. I'll have another look soon.

what I see is that using a websocket is actually a bit slower. I was not expecting that, and its not a lot, but its significant.

Sorry, my above comment was based on very unrealistic tests.
Did a bit more testing. The size of the frames does not seem to matter much. What does matter a lot is when it sends  random data instead. Then the websocket approach becomes twice as fast 😄. Although fully random data is not realistic, a nearly black image is neither, most real data will be somewhere in between.
I'm now confident that in general the websockt approach is faster, especially in cases where the server is remote. I've left both options open, so in case one is in a situation where a websocket is problematic, it can still be turned off. By default it's on though.
Ready to go from my end.


window.qml

After I installed, the QuickVTK couldn't find file:///home/matt/workspace/QuickVtk/Resources/qml/App/window.qml: File not found
I found this file in QuickVtk/res/qml/App/window.qml, so I made a simlink to get around this for now.

Thanks for pointing that out! The steps for copying the resource directory (CMakeLists.txt 149-157)   only considered mac and windows. I just pushed a commit on the development branch. I hope this works now! Thanks for your contribution! :)

@kheaactua have you been able to reproduce this behavior from a more recent commit?

Giving it a try now, but it seems to now depend on VTK Renderer External which I did install.  Setting it up now (and fighting with apt-get for the GLUT dependencies. :)  )  I'll get back to you.
Oh, I still have to specify  -DCMAKE_CXX_FLAGS="--std=c++11", maybe this should be defaulted?  (I'm on 14.04 using clang 3.8)

Awesome, thanks! Yes, VTK configuration changed a bit due to the now supported (and also default) OpenGL2 rendering backend. On mac and windows this means to rebulid VTK with Module_vtkRenderingExternal=ON. If there are more steps necessary on linux (like installing glut manually), that should be stated in the build instructions.
And I'll go ahead and add the flag for c++11 right away, totally forgot about that. Thanks a lot for your contribution!

I've been having trouble building VTK.  I enabled the Module_vtkRenderingExternal module but am still missing some headers.  Ultimately though I no longer intend to use VTK for my application.. So I can't really spend more time testing this out. :(  Sorry about that.

No problem! Thanks for your time and effort! :)


Fixes bitcode related issue when used from CocoaPods.

Closes #43
This change only has an effect when a project uses the PactConsumerSwift as a CocoaPod.  Also only has an effect when the project's tests (not the PactConsumerSwift project, but the project that uses the PactConsumerSwift pod) are run on an actual device.
Tested locally on both simulator and actual iOS devices and this change is all that's needed.
The CocoaPod will need to be released with an updated version number for this update to really take effect for everyone.

Codecov Report

Merging #60 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #60   +/-   ##
=======================================
  Coverage   82.32%   82.32%
=======================================
  Files          13       13
  Lines         543      543
=======================================
  Hits          447      447
  Misses         96       96


feat: New Limit Selector

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

Codecov Report

Merging #11989 (3d0a719) into master (3d56f58) will decrease coverage by 2.92%.
The diff coverage is n/a.

@@            Coverage Diff             @@
##           master   #11989      +/-   ##
==========================================
- Coverage   66.58%   63.65%   -2.93%
==========================================
  Files         952      471     -481
  Lines       46703    29013   -17690
  Branches     4578        0    -4578
==========================================
- Hits        31096    18468   -12628
+ Misses      15458    10545    -4913
+ Partials      149        0     -149

Flag
Coverage Δ

cypress
?

javascript
?

python
63.65% <ø> (-0.95%)
:arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

superset/db_engines/hive.py
0.00% <0.00%> (-85.72%)
:arrow_down:

superset/databases/commands/create.py
32.65% <0.00%> (-59.19%)
:arrow_down:

superset/sql_validators/postgres.py
50.00% <0.00%> (-50.00%)
:arrow_down:

superset/db_engine_specs/hive.py
54.61% <0.00%> (-29.62%)
:arrow_down:

superset/views/database/mixins.py
59.64% <0.00%> (-22.81%)
:arrow_down:

superset/db_engine_specs/presto.py
69.95% <0.00%> (-12.45%)
:arrow_down:

superset/db_engine_specs/mysql.py
79.59% <0.00%> (-12.25%)
:arrow_down:

superset/databases/commands/update.py
85.71% <0.00%> (-8.17%)
:arrow_down:

superset/databases/dao.py
94.11% <0.00%> (-5.89%)
:arrow_down:

superset/views/database/validators.py
78.94% <0.00%> (-5.27%)
:arrow_down:

... and 501 more

Continue to review full report at Codecov.

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


[Feature Request] Red Light stops / Speed cameras warns police

Hi,
Im not sure if this is at all possible, but i was wondering if you could implement redlight cameras/speed cameras which notify the police with what they did.
Thanks
Let me know!

vRP is a generic framework, this is too specific.


Cannot import some Lucene classes using OpenJDK 11

I am using Lucene 8.6.0 on a project of mine. I am using Python 3.8.2 on Pop! OS (Ubuntu) and Python 3.8.5 on RHEL 7.8.
The following code fails on OpenJDK 11 and OpenJDK 14 but works just fine on OpenJDK 8:
$ export CLASSPATH=lib/lucene-core-8.6.0.jar
$ python
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpype
>>> import jpype.imports
>>> print(jpype.getDefaultJVMPath())
/usr/lib/jvm/java-14-openjdk-amd64/lib/server/libjvm.so
>>> jpype.startJVM(jpype.getDefaultJVMPath())
>>> from org.apache.lucene.search import BooleanClause
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<frozen importlib._bootstrap>", line 991, in _find_and_load
  File "<frozen importlib._bootstrap>", line 975, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 652, in _load_unlocked
AttributeError: type object 'org.apache.lucene.search.BooleanClause' has no attribute 'loader'

Am i doing something wrong?

I see nothing obviously wrong with the line.   The thing is that error trace shows it is not in JPype code by in Python bootloader.  So my guess is that you have something interfering with the loading process (such as a directory or module named "org" in the Python path).
I would proceed by using JClass to perform the class load instead of the import.   If it works then the issue is something in the Python loading system.   I would start that debugging by just importing "org" and see if it has a "file" attribute so that I can see where it is coming from.   Repeat the process for org.apache and so forth.   You can can also add a few "print" statements to the jpype/imports.py to figure out the difference in the path that was taken up to that import statement.

I'll try that. What baffles me, though, is that it works with OpenJDK 8. Just changing to OpenJDK 14 triggers the error.

OK. I have tried the following. First with OpenJDK 14:
$ python
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpype
>>> import jpype.imports
>>> jpype.startJVM(jpype.getDefaultJVMPath())
>>> import org
>>> dir(org)
['apache', 'graalvm', 'ietf', 'jcp', 'w3c', 'xml']
>>> import org.apache
>>> dir(org.apache)
['lucene']
>>> import org.apache.lucene
>>> dir(org.apache.lucene)
['analysis', 'codecs', 'document', 'index', 'search', 'store', 'util']
>>> import org.apache.lucene.search
>>> dir(org.apache.lucene.search)
['TopFieldCollector']

And then with OpenJDK 8:
$ python
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpype
>>> import jpype.imports
>>> jpype.startJVM(jpype.getDefaultJVMPath())
>>> import org
>>> dir(org)
['apache', 'classpath', 'ietf', 'jcp', 'omg', 'w3c', 'xml']
>>> import org.apache
>>> dir(org.apache)
['lucene']
>>> import org.apache.lucene
>>> dir(org.apache.lucene)
['LucenePackage', 'analysis', 'codecs', 'document', 'geo', 'index', 'search', 'store', 'util']
>>> import org.apache.lucene.search
>>> dir(org.apache.lucene.search)
['AutomatonQuery', 'BlendedTermQuery', 'BlockMaxDISI', 'BooleanClause', 'BooleanQuery', 'BoostAttribute', 'BoostAttributeImpl', 'BoostQuery', 'BulkScorer', 'CachingCollector', 'CollectionStatistics', 'CollectionTerminatedException', 'Collector', 'CollectorManager', 'ConjunctionDISI', 'ConstantScoreQuery', 'ConstantScoreScorer', 'ConstantScoreWeight', 'ControlledRealTimeReopenThread', 'DisiPriorityQueue', 'DisiWrapper', 'DisjunctionDISIApproximation', 'DisjunctionMaxQuery', 'DocIdSet', 'DocIdSetIterator', 'DocValuesFieldExistsQuery', 'DocValuesRewriteMethod', 'DoubleValues', 'DoubleValuesSource', 'Explanation', 'FieldComparator', 'FieldComparatorSource', 'FieldDoc', 'FieldValueHitQueue', 'FilterCollector', 'FilterLeafCollector', 'FilterMatchesIterator', 'FilterScorable', 'FilterScorer', 'FilterWeight', 'FilteredDocIdSetIterator', 'FuzzyQuery', 'FuzzyTermsEnum', 'ImpactsDISI', 'IndexOrDocValuesQuery', 'IndexSearcher', 'LRUQueryCache', 'LeafCollector', 'LeafFieldComparator', 'LeafSimScorer', 'LiveFieldValues', 'LongValues', 'LongValuesSource', 'MatchAllDocsQuery', 'MatchNoDocsQuery', 'Matches', 'MatchesIterator', 'MatchesUtils', 'MaxNonCompetitiveBoostAttribute', 'MaxNonCompetitiveBoostAttributeImpl', 'MultiCollector', 'MultiCollectorManager', 'MultiPhraseQuery', 'MultiTermQuery', 'NGramPhraseQuery', 'NamedMatches', 'NormsFieldExistsQuery', 'PhraseQuery', 'PointInSetQuery', 'PointRangeQuery', 'PositiveScoresOnlyCollector', 'PrefixQuery', 'Query', 'QueryCache', 'QueryCachingPolicy', 'QueryRescorer', 'QueryVisitor', 'ReferenceManager', 'RegexpQuery', 'Rescorer', 'Scorable', 'ScoreCachingWrappingScorer', 'ScoreDoc', 'ScoreMode', 'Scorer', 'ScorerSupplier', 'ScoringRewrite', 'SearcherFactory', 'SearcherLifetimeManager', 'SearcherManager', 'SegmentCacheable', 'SimpleCollector', 'SimpleFieldComparator', 'Sort', 'SortField', 'SortRescorer', 'SortedNumericSelector', 'SortedNumericSortField', 'SortedSetSelector', 'SortedSetSortField', 'SynonymQuery', 'TermInSetQuery', 'TermQuery', 'TermRangeQuery', 'TermStatistics', 'TimeLimitingCollector', 'TopDocs', 'TopDocsCollector', 'TopFieldCollector', 'TopFieldDocs', 'TopScoreDocCollector', 'TopTermsRewrite', 'TotalHitCountCollector', 'TotalHits', 'TwoPhaseIterator', 'UsageTrackingQueryCachingPolicy', 'Weight', 'WildcardQuery', 'similarities', 'spans']

For some reason, the import finds less on the newer JVM.
What can I do to investigate this further?

That gives me a very good start.   It the org.apache.lucene jar file publicly available (would I be able to replicate this myself)?     The problem is likely in org.jpype.pkg.PackageManager which is responsibly for getting the list of packages.   It was tested on open JDK from 8 to 11 and has had not issues, but if there was a change in Java or if something is going wrong in the code (exception or the like) then I could see the behavior you describe happen.
The next step for you would be to see if you can load using JClass instead.   If you can't do that then the problem could be a Class initializer problem rather then the import system.   So knowing which side of the equation to look on will  help.

I have one other idea.   JPype only declares something as viewable if it a public class and it uses the byte code to figure that out.   If there is a change in the byte code the my routine does not handle I could see a fail.  In the infinite wisdom of the original Jar format you have to part through 100 fields to get the public flag.

The jar is available here. The file contains several jars. You'll need lucene-core-8.6.0.jar.
Is this what you meant when you said “use JClass“?
$ python
Python 3.8.2 (default, Jul 16 2020, 14:00:26)
[GCC 9.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import jpype
>>> print(jpype.getDefaultJVMPath())
/usr/lib/jvm/java-14-openjdk-amd64/lib/server/libjvm.so
>>> jpype.startJVM(jpype.getDefaultJVMPath())
>>> BooleanClause = jpype.JClass("org.apache.lucene.search.BooleanClause")
>>> BooleanClause
<java class 'org.apache.lucene.search.BooleanClause'>

I am using the same jar on both JVM 8 and JVM 11/14, so I guess that the byte code is always the same. Can the byte code API have changed between JVMs?

BooleanClause = jpype.JClass('org.apache.lucene.search. BooleanClause')
There are jars that can have different byte code by jvm if the developers want to have additional features in the jar for later versions.  But it is pretty rare.

Well, the JClass code works on both JVM 8 and JVM 14. At least it does not throw any exceptions…
Enviado desde mi iPhone
El 7 ago 2020, a las 22:19, Karl Nelson<EMAIL_ADDRESS>escribió:

BooleanClause = jpype.JClass('org.apache.lucene.search. BooleanClause')
There are jars that can have different byte code by jvm if the developers want to have additional features in the jar for later versions. But it is pretty rare.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHubhttps://github.com/jpype-project/jpype/issues/838#issuecomment-670696791, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AQRGBII4EHTMN455WOGG4QLR7ROWJANCNFSM4PX3F5LA.

Still waiting on my development machine.   I have not forgotten.

Thanks! Is there anything I can do on my side?

I believe another post on Stackoverflow found this has something to do with the length of the import.  So something must be chopping the import string.  I will try to run this to ground when I can replicate it.

Thanks for the update. As always, is there anything I can do to help?

I investigated this bug.  It doesn't seem very satisfying.  The jar file requested is a mult-version jar with both Java 8 and Java 9 layers.
Unfortunately, when I request the directory on Java 9 it is only giving me the contents of the Java 9 layer and not the Java 8 layer.   As the class specified only exists in the Java 8 layer the requested class is missing.  JPype then tried to throw an exception by calling Java forname.  Only when it do so rather than getting an error instead Java is giving the class from the Java 8 layer.  This is causing the import system to panic resulting in the incorrect error report.
The bug is not really in JPype as it is calling getResources just as it should to get a directory of the contents.  It is the JVM implementation that is incorrectly giving me an empty content.  This is similar to the issue with a obfuscated jar where the directories were missing entirely.
So how do we go about addressing this issue?  At the time we find the class it is already too late as we were given a chance to produce a member before find_spec was called.  Thus the only way to resolve it would be to try a forname when we do a get property and see if that resolves.   Unfortunately that will only work if the package structure is only one level deep.
Oddly when I search for "/org/apache" it does the right thing and returns back two directories.   So I need to investigate further.
   777 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/SpanWeight$TermMatch.class
  8993 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/SpanWeight.class
  2391 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/SpanWithinQuery$SpanWithinWeight$1.class
  3261 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/SpanWithinQuery$SpanWithinWeight.class
  3102 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/SpanWithinQuery.class
  1851 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/Spans.class
  4004 Tue Jul 07 12:46:30 PDT 2020 org/apache/lucene/search/spans/TermSpans.class
   136 Tue Jul 07 12:46:30 P
DT 2020 org/apache/lucene/search/spans/package-info.class
     0 Tue Jul 07 12:46:32 PDT 2020 META-INF/versions/9/org/apache/lucene/search/
  1455 Tue Jul 07 12:46:32 PDT 2020 META-INF/versions/9/org/apache/lucene/search/BooleanScorer$TailPriorityQueue.class
  3432 Tue Jul 07 12:46:32 PDT 2020 META-INF/versions/9/org/apache/lucene/search/PointInSetQuery$SinglePointVisitor.class
  6931 Tue Jul 07 12:46:32 PDT 2020 META-INF/versions/9/org/apache/lucene/search/PointRangeQuery$1.class
 14775 Tue Jul 07 12:46:32 PDT 2020 META-INF/versions/9/org/apache/lucene/search/TopFieldCollector.class

Okay I believe I found a workaround that will fix this behavior on versions going forward.   The bug was absolutely obnoxious as there is nothing that would indicate that MRJAR files would do something like this.   I looked into this several times but reading the code and doc gave me no clues, but your example eventually lead me to unpack the jar file showing me that the directory entries are being misreported by Java.
Thanks again for the bug report and sorry it took so long to find a resolution.

Thank you!


Support iPad 5th and 6th

Hello!
The UIDeviceExtension.swift file does not appear to return accurate values for ipad 5th generation and ipad 6th generation.
I would appreciate it if you add these two devices.
Thanks!

@madhwang just made a PR for that.
https://github.com/schickling/Device.swift/pull/50

This has been resolved with #50


[Functional unit expansion] Adding floating-point adder and fixed-point MAC-ALU units.

All source files, wrappers, and unit tests are included in this pull request. The top-level CGRA test in cgra/test/CGRARon_FP_test.py tests a 2x2 homogeneous CGRA that includes the fixed-point ALU-MAC in every tile.

Also, please make sure the integration test would pass. Now it shows All checks have failed. You can look into the checks, it shows multiple errors, e.g.,
E   FileNotFoundError: [Errno 2] No such file or directory: '/home/runner/work/VectorCGRA/VectorCGRA/fu/pymtl3_Ron_fixed/svsrc/DW02_multp.v'

and
E   Expected : 469a.0.0.0
E   Received : 42<IP_ADDRESS>


feat: adjust thresholds for certificate health expiry

In order to have a good experience with our community, we recommend that you read the contributing guidelines for making a pull request.
Summary of Pull Request

Adjust thresholds for certificate health expiry
Added ESXi hosts data back into the report
Added certificate expires in days column to report

Type of Pull Request

[ ] This is a bug fix.
[x] This is an enhancement or feature.
[ ] This is a code style / formatting update.
[ ] This is a documentation update.
[ ] This is a refactoring update.
[ ] This is a chore update
[ ] This is something else.
Please describe:

Related to Existing Issues

Closes #101
Test and Documentation Coverage

[x] Tests have been completed (for bug fixes / features).
[ ] Documentation has been added / updated (for bug fixes / features).

Breaking Changes?

[ ] Yes, there are breaking changes.
[x] No, there are no breaking changes.

This is what it looks like now.

Approve but will merge soon.

Marked as draft whilst awaiting changes.

Looks good after testing with the update but I do see an oddity where it’s reporting a -25 but an 8 day expiration. You can test with the JSON I provided over Slack. I suspect this is a data issue from SoS?
PS F:\VMware.CloudFoundation.Reporting> Publish-CertificateHealth -json F:\Reporting\HealthReports\sfo-vcf01-all-health-results.json -failureOnly

Component         : vRLI
Resource          : sfo-vrli01a.sfo.rainpole.io
Expires In (Days) : -25
Alert             : RED
Message           : Certificate validation is failed for vRLI:sfo-vrli01a.sfo.rainpole.io. If Certificate End date is 15 days or less, SoS will show result as failed.Certificate expires in 8
                    day(s).

I’ll submit an update for the build and changelog before merge.


How can I gain access to SlidingView

I need to change tableView.isScrollEnabled from one of the functions like didPanelCollapse(). So How can I do this? When I try to use delegate tableView in SlideController is nil.

Hi, can you provide some code of what(and how) you are trying to achieve?

I wrote delegate for my VC like this:
protocol MapViewControllerDelegate {
    func isTableViewScrollEnabled(enabled: Bool)
}

When I setup SlidingView I appoint this like delegate for my vc:
    bottomController = CTBottomSlideController(parent: view, bottomView: bottomView, tabController: self.tabBarController, navController: self.navigationController, visibleHeight: 132)
    bottomController?.setAnchorPoint(anchor: 0.43)
    bottomController?.delegate = self
    let vc = storyboard?.instantiateViewController(withIdentifier: "BottomSheetViewController") as! BottomSheetViewController
    delegate = vc

In CTBottomSlideDelegate extension I try to perform delegate method:
func didPanelCollapse() {
        print("Collapsed")
        delegate?.isTableViewScrollEnabled(enabled: true)
    }

and finally in BottomSheetViewController class I get this:

Hi, I don't think this is a problem with a library.
From what I got, I think what you are doing is instantiating BottomSheetViewController twice.
First time when original view loads and then:
let vc = storyboard?.instantiateViewController(withIdentifier: "BottomSheetViewController") as! BottomSheetViewController

this creates second ViewController
when panel collapses it calls second view controllers method(Not the original ones).
Since this second viewcontroller is not loaded(It is only instantiated) its tableview is nil.

Maybe I'm not getting everything correctly, but I think that this is the issue. I think what you should be doing is  delegate = self instead of  delegate = vc

Thank you for answer! you're right, when I try to:
let vc = storyboard?.instantiateViewController(withIdentifier: "BottomSheetViewController") as! BottomSheetViewController
I create a new VC. My mistake, I'm sorry for this. But It's not clearly understandable how to turn to BottomSheetVC to appoint its as delegate

hmm I think if you do
delegate = self  instead of delegate = vc
in viewDidLoad() or something it will work

I'm sorry for my silence.
I didn't actually understand how can I get access for BottomSheetVC from MapVC. Can you explain this? Thank you!

Hmm, it is hard for me to judge what you are trying to do as I don't know what your project setup is.
Sorry, but your question, as of now, is not related to this library. It is specific only to your project setup and how you organized your code.
I think you should head over to StackOverflow.com and ask your question there.
While creating your question on stackoverflow try to be as descriptive as possible. Provide as much code as you can.


make slack more prominent

Deployed to: http://staging.quran.com:32828

rebuild

Deployed to: http://staging.quran.com:32829


[Feature]: Add buffer time for license invalidation

We decided not to invest in short term fix so closing this. One can find more detailed solution here.

Reopening this as we want to implement this from CS


CSS types

Create different CSS files depending on output (A4, 11cm for book, Screen). Have an XML element to set the desired output type.

Can you assign this to me!

Hi Mstanic05,
Thank you for your interest in this project. Can you please tell me a bit more about your background/skills/goals? It would be great to have more people working on this project. Feel free to message me directly.

The new  sets the width of the HTML layout. It is done in characters. 50 characters are 11cm. The HTML file overrides the CSS file to set the width and max-width for all affected classes.


overall improvements to documentation

Over in ECCO-GROUP/ECCOv4-py#6, @ifenty reported some difficulty in using open_mdsdataset to read data from ECCO. Some if this is likely due to our lousy error messages (see #126), but it's also likely related to overall deficiencies in our documentation.
This is what I wrote in that thread.

I think a big source of confusion is that the user-facing part of xmitgcm is designed not to read just the individual MDS .data files but the whole directory of MITgcm output files. As stated in the documentation, the first argument data_dir is a "path to the directory where the mds .data and .meta files are stored."

I think we need to be more clear about this in the docs. The presence of a million tiny random functions in the low level utilities page probably adds confusion. We should decide firmly which functions are meant to be public and which ones are private. The private ones should not be part of the public documenation or API (possibly should be prefaced with _ in function name).

I'm glad to see more use case examples added to the docs.
I still think we need to address this:

We should decide firmly which functions are meant to be public and which ones are private.

...especially for the utils module.


Separate flake for nixpkgs dependency

In order to let the nixpkgs API develop itself as separate module. That sounds like the direction this project is about. Is that planned and or interesting? Would a separate repo work better, or a local sub-flake? I would think the first option cleaner and lighter when using core-only. Will be working on a separate nixpkgs abstraction in a standalone repo for now, probably coupled with a nixpkgs module at first, to keep the concept in one place. Cheers.
PS. Watch for that Pluto contra-parallel Sun, it's still on for a few weeks, feels as if the fabric of reality is resisting the Heart. It will pass ... :)

Cool. I also wrote this in the meantime

https://github.com/NixOS/nixpkgs/pull/231940

It's not flake-parts-specific, or at least not anymore. It adds a generic module that provides the basic options; no attrsOf. It's sufficient for importing into perSystem, and I've had the realization that importing into perSystem has the benefit of improving laziness of input fetching when perSystem is never used (but for example flake.lib or flake.nixosModules is). This is likely an unlikely benefit, and I hope importing into both top level and perSystem won't cause too much confusion.
So there's some laziness benefit to having a separate nixpkgs module that doesn't need to load a whole version of Nixpkgs just to be ignored later. I think one particularly strong case is the easyOverlay module, as it makes the nixpkgs input completely useless, and so loading it unconditionally is wasteful, and importing in perSystem (instead of a top level module) doesn't change anything about that.
tl;dr separate nixpkgs caller module still good!

Notifying that I'm unsubscribing. Moving to atom
Feel free to close. Good luck :pray:


Bubble Sort in Python

For short term contributors: we understand that getting your commits well
defined like we require is a hard task and takes some learning. If you
look to help without wanting to contribute long term there's no need
for you to learn this. Just drop us a message and we'll take care of brushing
up your stuff for merge!
Fixes #13
By submitting this pull request I confirm I've read and complied with the
below declarations.

[x] I have read the Contribution guidelines and I am confident that my PR reflects them.
[x] I have followed the commit guidelines for this project.
[x] My code follows the standard code structure.
[x] This pull request has a descriptive title. For example, {Tag}: Add {Algorithm/DS name} [{Language}], not Update README.md or Added new code.
[x] This pull request will be closed if I fail to update it even once in a continuous time span of 7 days.
[x] This pull request shall only be reviewed and merged once all the checks passes. No maintainer or supporter shall be obliged to review it before this condition is met.
[x] I have mentioned the issue number correctly (with hyperlink) in this pull request description.

After you submit your pull request, DO NOT click the 'Update Branch' button.

Please rebase your repository.
Check guide http://api.coala.io/en/latest/Developers/Git_Basics.html#rebasing

@sangamcse rebase

Hey! I'm GitMate.io! This pull request is being rebased automatically. Please DO NOT push while rebase is in progress or your changes would be lost permanently :warning:

Automated rebase failed! Please rebase your pull request manually via the command line.
Reason:
Command: git rebase base/master

Exit Code: 128

Cause:

error: Failed to merge in the changes.

@swapsha96, can you rebase your local repository manually?

@swapsha96 reminder https://github.com/NITSkmOS/Algorithms/pull/85#issuecomment-426189347


Operator == with null

Hi,
Should not we check if the object is not null in the operators == before calling the Equals method?
The following code crashes:
Point3d point = null; if(point == null) {			 }
Best regards,
Jonathan

Hi,
You are right, this test for null should be added. I will do it for all objects.

Fixed in release v<IP_ADDRESS>.


Tooltip improvements

For longer tooltips under tags (e.g. Narrations), here are some incrememntal improvements to the current truncated behavior:

hovering over a tooltip now displays it for 5 seconds
CSS-based wrapping and scrolling
newline squeezing

Optimal behavior, which I haven't yet cracked using current dependencies, would be for tooltips to remain displayed while hovering over both the target and and the tooltip itself. There are many (proposed) solutions online, some jQuery-based (e.g. pTooltip), some vanilla JS-based (e.g. tippy.js), and others. @jcraigk would like to limit dependencies, understandably so, so I'm working on finding a way to implement a solution within the current constraints (unsuccessful to date).

Addressed in https://github.com/jcraigk/phishin/pull/122


OverviewMap getting the overview map not the main map

Is there a way of getting the overview map and not the main map?
Right now the getMap() method is giving the main map. May be there is a way of getting the ovmap_ and i don't know it.
Thanks in advance.

There's currently no way to get the overview map.  A getOverviewMap getter method would be nice, indeed.  If you want to work on a PR, I'd be glad to review it.

I've asked the question about overviewmap because I wanted to have an overview map with drag box and getting the overview map seems to be a better solution that the one I have right now.
I've forked the current master and added a custom overviewmap with drag (without adding getOverviewMap getter method). I'll try to add this method in my repository. If you want to comment on this have a look at my repository's examples:: https://github.com/bogdanvaduva/ol3/tree/master/examples

Do you have a live example showingthe overviewmap with drag ?  That seems like a nice addition.

Here is a working example of overview map with drag box.
http://ol3.qtibia.ro/overviewmap-custom-drag.html

I've added overview with drag in my repository's examples and put them online.
http://ol3.qtibia.ro/build/examples/overviewmap-custom-drag.html

Thanks for sharing this.  I see that you used jQuery UI for the 'draggable'.  That's smart.  I thought that you had modified the control itself to support this natively, but the way you did it is fine.
You can create a PR for the addition of the getOverviewMap method only.  The rest should stay in an example.  I'd like to hear from a core dev of ol3 about adding this example to the core library.  I'd say 'no', but it would still be nice to see this in action from somewhere, like in a blog post such as for the GoogleMaps example with ol3: http://bl.ocks.org/elemoine/e82c7dd4b1d0ef45a9a4 (the example is no longer working, but you get the idea).
Again, thanks for sharing !


Add corona as a build target in Gitlab CI

This PR adds corona to Gitlab CI.
It is based on the work done in https://github.com/mfem/mfem/pull/2425 to update the Spack package.
Outstanding TODOs:

[x] Fix the compilation issue in Navier miniapp.

PR
Author
Editor
Reviewers
Assignment
Approval
Merge

#2428
@adrienbernede
@tzanio
@camierjs + @YohannDudouit + @pazner
08/17/21
⌛due 08/31/21
⌛due 09/07/21

LGTM

LGTM

LGTM

LGTM

LGTM

LGTM

LGTM

The next step is to add baseline tests for corona and lassen, with proper report in the CI.
I would like to do that in a subsequent PR, because it will introduce revamping of the CI, which would make the PR here harder to review.
Plus, this add a build and test on corona, which is already helpful.
Note that we had to fix the slurm issue for corona too, new slurm was rolled-out earlier on this system.

This PR is now under review (see the table in the PR description). To help with the review process, please do not force push to the branch.

Resolve conflicts in tests/gitlab/get_mfem_uberenv?

LGTM

@camierjs, @YohannDudouit and @pazner -- it will be good to merge this soon, can you please prioritize the review?

I tried running this on my "personal" GitLab testing repo. I don't have an account on Corona, so no surprise that those jobs failed.
 I don't have an account on Corona, so no surprise that those jobs failed.
For some reason, the Lassen job failed too ([ERROR: failure of spack install/dev-build]).
https://lc.llnl.gov/gitlab/pazner1/mfem_testing/-/pipelines/91595

Please hit "retry". The job should pass.
I reported this to Greg Becker, but it is not reproducible in my experience. Let me know if you ever run into that again.

@camierjs, @YohannDudouit and @pazner
Please see WIP documentation about how to reproduce those jobs locally here:
https://github.com/mfem/mfem/blob/aec5eb791f8affb5a22ed2ef45efc9fa8d02ff39/tests/gitlab/reproduce-ci-jobs-interactively.md

I tried running this on my "personal" GitLab testing repo. I don't have an account on Corona, so no surprise that those jobs failed.
For some reason, the Lassen job failed too ([ERROR: failure of spack install/dev-build]).
https://lc.llnl.gov/gitlab/pazner1/mfem_testing/-/pipelines/91595

Please hit "retry". The job should pass.
I reported this to Greg Becker, but it is not reproducible in my experience. Let me know if you ever run into that again.

I tried re-running the job, and it failed again. Should I re-run the entire pipeline?

I tried running this on my "personal" GitLab testing repo. I don't have an account on Corona, so no surprise that those jobs failed.
For some reason, the Lassen job failed too ([ERROR: failure of spack install/dev-build]).
https://lc.llnl.gov/gitlab/pazner1/mfem_testing/-/pipelines/91595

Please hit "retry". The job should pass.
I reported this to Greg Becker, but it is not reproducible in my experience. Let me know if you ever run into that again.

I tried re-running the job, and it failed again. Should I re-run the entire pipeline?

This should be fixed now! (at least temporarily, I will submit a fix).

@camierjs, @YohannDudouit and @pazner
Please see WIP documentation about how to reproduce those jobs locally here:
https://github.com/mfem/mfem/blob/aec5eb791f8affb5a22ed2ef45efc9fa8d02ff39/tests/gitlab/reproduce-ci-jobs-interactively.md

Following those instructions on my MacBook, I get
==> Error: No compilers with spec<EMAIL_ADDRESS>found for operating system catalina and target skylake.

I tried with different SPEC configurations<EMAIL_ADDRESS>clang) but no luck.

@camierjs, @YohannDudouit and @pazner
Please see WIP documentation about how to reproduce those jobs locally here:
https://github.com/mfem/mfem/blob/aec5eb791f8affb5a22ed2ef45efc9fa8d02ff39/tests/gitlab/reproduce-ci-jobs-interactively.md

Following those instructions on my MacBook, I get
==> Error: No compilers with spec<EMAIL_ADDRESS>found for operating system catalina and target skylake.

I tried with different SPEC configurations<EMAIL_ADDRESS>clang) but no luck.

Sorry for the confusion, I said "locally" instead of "interactively", and by interactively, I mean on the same machines as in CI.

Note that it is quite hard to create a generic configuration of Spack for any MacOS developer machine, unless we install everything from scratch.

Sorry for the confusion, I said "locally" instead of "interactively", and by interactively, I mean on the same machines as in CI.

Ok, got it. Yeah, I was indeed thrown off by "locally".

And please ask for any questions. The instructions are on another branch that comes next. So there are some slight changes that may results in the instructions not being exactly correct unless you use that branch.
I want you to become familiar with this. I truly think this can make you life much easier to build dependencies. And it will make it easier to share the exact same build instructions too (think interns)!

This has to do with the MFEM data repo and #2392, but I haven't had a chance to look closely.

LGTM

@pazner @camierjs @YohannDudouit review can resume now ;)

Looks good to me! Works great on corona now!

LGTM

Why don't I see the ci/gitlab check on the latest commit before your LGTM (445c7de)?

@pazner that is a good point: There was a bug introduced by the latest update of LC Gitlab, and the mirroring is not working.
I noticed it last Friday (as well as @v-dobrev) but the bug was likely introduced on last Tuesday or Wednesday (effective update time), hence the absence of the report here, which I didn't even noticed.
You can see the pipeline working in my personal repo here: https://lc.llnl.gov/gitlab/bernede1/mfem/-/pipelines/94601
The bug Gitlab bug should be fixed today (https://mattermost.energy.gov/asc-trilab/pl/mef7mq6p1pd9uf4qpo33ewd8jo).

LGTM

LGTM

It still doesn't show up for me 🤔

@pazner I know... I have my favorite Gitlab admin working on it :D

LGTM

Merged in next for testing...

LGTM


Fix Scratch.sln

"ConptyConnection::CreateSettings()" was modified to include some extra parameters related to the environment variable changes. This just updates the call in Scratch.sln so that it builds and deploys properly.

Here's the method signature to save you some time 😉
https://github.com/microsoft/terminal/blob/338c5047d7a2ca907bd2d8c0b09cf848da2ddc6a/src/cascadia/TerminalConnection/ConptyConnection.h#L49-L58


Require only a minimum django-crispy-forms version

django-crispy-forms is a library, the requirements shoudn't be so strict.

Hello! This would be best started as a discussion in the issue we have open for updating the dependencies (#25), or even the PR we have open for updating the dependencies (#26).
Thanks!

Hi, thanks, I saw them, but they were for development/extra packages. My change was for a primary dependency.
The problem is this: if every library had hard-pinned dependencies nobody would be able to install anything because of package conflicts during install.
I might be wrong, but to my knowledge it is best practice to hard-pin project dependencies, but soft-pin library dependencies (I consider django-crispy-bulma to be a library).
It's basically a tradeoff, too rigid is bad, too open is also bad. I proposed:
django-crispy-forms>=1.7.2

but you could modify it so:
django-crispy-forms>=1.7.2,<2.0

This would make it more flexible and only slightly less "secure", because django-crispy-forms seems to follow semver versioning.
Just my two cents. Right now I'm using my custom fork, because I want to use the newest django-cirspy-forms and the newest django-crispy-bulma.

This would make it more flexible and only slightly less "secure", because django-crispy-forms seems to follow semver versioning.

We can't rely on "seems to." We are not firmly opposed to making adjustments to the dependency pinning, but would like to have a discussion about it first rather than cold-PRing something with an unkown effect on the maintenance burden of our package.

FWIW I do find it odd that it's being pinned to a patch version. I would have thought ~=1.7.2 is at least fine. Granted, there are exceptions to this - depends on the versioning scheme of the library.
If we were to evaluate that this dependency does not have breaking changes in minor versions (i.e. does follow semver), then doing >=1.7.2,<2 would be fine. Otherwise, we would have to periodically manually check the latest minor release and bump the pinned version.


msconvert: verbosity for error handling?

Hello! I was wondering if there's any way to turn on some kind of "verbose" setting that would give more details about error handling while running MSconvert. Is such an option supported?
Thanks! ~Lindsay

Not really. If you're talking about running under WINE, then there are WINEDBG options that could help diagnose a problem there but they are very verbose and hard to interpret.


use Monedero instead of billetera everywhere

Description
Remove If you do not have one, ask someone in the Celo Community to invite you. from Redeem Invite screen as similar info is on bottom of screen.
Use monedero instead of billetera everywhere in the Spanish ver of app.

Holding off on merging until the Play Store is updated with a new title/assets. cc: @nityas

Merging because #283 was merged


[PLAT-12669] Handle array values in attributes

Goal
Support array values in span attributes
Changeset
Update attributeToJson internal method to convert arrays into arrayValue attributes, including mixed and empty arrays
Testing

[x] Add unit tests for array values
[x] Add end to end tests for array values
[ ] Support empty array values in maze-runner

Hey @Cawllec, I was hoping to test for empty array values using this step, but I assume it's sending {} as a string.
| custom.array.empty | arrayValue | {} |
Can you think of an easier way to test this, or should we update this step?

@Cawllec please ignore this one - we can just unit test this functionality


VC DLL errors

Hi,
When launching release exe there are two DLL errors. Which version of VC is required?
the code execution cannot proceed because ucrtbased.dll was not found. Reinstalling the program may fix this problem.
The code execution cannot proceed because VCRUNTIME140D.dll was not found. Reinstalling the program may fix this problem.
When trying to build the solution i get the following error.
Severity	Code	Description	Project	File	Line	Suppression State Error	MSB4019	The imported project "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.Cpp.Default.props" was not found. Confirm that the expression in the Import declaration "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\\Microsoft.Cpp.Default.props" is correct, and that the file exists on disk.	extmonswitch	E:\DESKTOP\PROGRAMMING\ExtMonSwitch-1.0.0\extmonswitch\extmonswitch.vcxproj	28

Hi @gointern
What version of Windows do you use? I tested on Window 10 only.

Please try this:
https://github.com/fiftin/ExtMonSwitch/releases/tag/v1.0.1

I am testing on Windows 10 machines. 21H2 10.19044.1889
It is still the same. Errors on DLLs. I tried on Windows 11 VM as well.
I made a gif.

Thank you.
I recompiled app with different linking option and reuploaded it. Please try this: https://github.com/fiftin/ExtMonSwitch/releases/download/v1.0.1/extmonswitch.exe

This version seems to work. No DLL errors and the process doesn't crash. Going to test on a laptop later on.

yes, this app has no window and notify icon :) You can see in Task Manager only.

I used it several years until move to MacBook :)


Replacing Pathlib Glob with Glob in Case.py

Updating the copyInterfaceInputs within case.py to use glob.glob rather than pathlib.glob.
For Windows environments with Python 3.7.2 the pathlib.glob does not preserve the case
sensitivity of file names when it finds a match. This is problematic when interfaces are copying
python scripts (like fuel management, or custom control rod logic) since the imports of these
scripts is case sensitive.
Fixes #321

I should mention that while this fixes the issue that ultimately led to the discovery of #321, I wouldn't say that this really fixes it. The logic in the if statement is still suspect I.M.O., and still needs to be addressed. This is great though


Story "Setup Application Framework"

          # Story "Setup Application Framework"

Repository https://github.com/eclipse-tractusx/knowledge-agents
Statement
As KA developer, I want to have a framework to build and deploy managed applications like or within the SDE (https://github.com/eclipse-tractusx/managed-simple-data-exchanger consisting of https://github.com/eclipse-tractusx/managed-simple-data-exchanger-frontend and https://github.com/eclipse-tractusx/managed-simple-data-exchanger-backend).
Acceptance Criteria

Find out how deployment of applications in the portal works
Find out how managed application frontend find their backend
Find out how managed backends find their EDC (especially: the agent/data plane if needed)
Implement a sample page with uses a simple EDC call.

Estimation
8 SP
Originally posted by @drcgjung in https://github.com/eclipse-tractusx/sig-release/issues/278#issuecomment-1770871136

won't do


How to kick the cash drawer when print finished ?

Dear sir,
How can I send command or function to kick the cash drawer when print the bill finished ?
Thank you so much

+1


Add link for framework on supplier page

Add link for framework on supplier page.  Links to CCS framework description.

Tested locally and looks nice. :+1: assuming @ralph-hawkins has OK'd the design here.


ARM version?

This seems like a useful plugin. Is it possible to provide an ARM version?

Hi Erik,
Thank you, I'm glad you liked it!
I'm not that familiar with packaging/building for different visual studio
variants yet, but I'll give it a try and get back to you soon!
Best,
Vishal
On Tue, Jun 25, 2024 at 9:51 PM Erik Martines Sanches <
@.***> wrote:

This seems like a useful plugin. Is it possible to provide an arm version?
—
Reply to this email directly, view it on GitHub
https://github.com/Vieper1/easy-scroll/issues/1, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AFHXOWTXUA4WKBKUKQXQUQTZJJCF7AVCNFSM6AAAAABJ5CVHYOVHI2DSMVQWIX3LMV43ASLTON2WKOZSGM3TIMRYGEYDMNI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


style(art-quiz): adjust tooltip height

The type of this PR is: style

This PR solves [PROJECT-XX]
Description
This PR is a quick fix to the offset of the info tooltip on art-quiz/artworks. Adjusts the tooltip to be closer to the CTAs and overlay the edge of the artwork.

@dzucconi not much of a difference tbh. switched it back to -10.
Not sure what this build failure is actually about. Any ideas?

Probably just a timeout. Has been happening a lot lately.


feat(docs): document stricter release branch patch criteria

feat(docs): document stricter release branch patch criteria

feat(docs): reference cherry-pick criteria in release manager runbook

feat(docs): add new cherry-pick criteria to 1.21 curated changelog

I'm going to merge this as-is now in order to post a link to the new policy in #dev ahead of the 1.21 branches being cut, but @ethanfrogers please feel free to suggest any edits!


fix(Menu): There is a flaw while using image in the menu.

The image and the texts is not in the same central line when I use pointing secondary options, and I find the size of image is always 35*35,so how  to enlarge the image? Thanks!

Solved it, I import another css file and set padding and !important value inside. I wish it could be fixed in the better way,thanks.

Glad you got it solved.  Please note, CSS is beyond the scope of Semantic-UI-React.  Our components only generate valid Semantic-UI HTML and CSS.  Future issues concerning changes to the HTML or CSS should be opened on Semantic-UI.


Add files via upload

Bug - found 2 attributes with the same name , one renamed

don't know why i haven't got write access to my own fork of the depository so not sure how to fix it


Improves performance of product listing

1. Why is this change necessary?
Each {include} causes that the page load time increases. Instead of using {include} in every if/else condition it's better to set the template file path in a variable and load the file afterwards. By testing it in a project we got a massive improvement. While (even if force compile === false) the listing did last about 8 seconds, loading the same listing now lasts about 300 milliseconds.
2. What does this change do, exactly?
Removing multiple usage of {include} in the box_article.tpl and instead set the file path of the different box templates into a variable to load the dynamically determined template afterwards.
3. Describe each step to reproduce the issue or behaviour.
Create a big list of articles in a category and navigate to the category's listing view in your browser. Loading the page is pretty slow. Now replace the original code in themes/Frontend/Bare/frontend/listing/box_article.tpl by the one I committed and you will see how this change improves the page load time.
4. Please link to the relevant issues (if any).

5. Which documentation changes (if any) need to be made because of this PR?

6. Checklist

[x] I have written tests and verified that they fail without my change
[x] I have squashed any insignificant commits
[x] This change has comments for package types, values, functions, and non-obvious lines of code
[x] I have read the contribution requirements and fulfill them.

I tested the pr with the profiler and got very fine results. Thank you ❤
Before:

After:

Such a simple change with a massive result. Great discovery. So nested statements are apparently being handled recursive by smarty?

Hello,
thank you for creating this pull request.
I have opened an issue on our Issue Tracker for you. See the issue link: https://issues.shopware.com/issues/SW-19762.
Please use this issue to track the state of your pull request.

@shyim How do you get this Smarty Metrics? We think there is a problem with (our) detail page, too and want to analyze this.

@FiveDigital https://github.com/shyim/shopware-profiler :)

Hi @barbieswimcrew, thanks a lot for your contribution.
I have analyzed the reason why "it is faster".
.
As you can see, by removing multiple include lines (with your fix) the cache file is reduced by less than half of the lines:
4599 lines  (with the fix )
10737 lines (without the fix)
Of course these lines are not just mere lines, they are rather expensive Smarty instructions.
Thanks a lot for your contribution, I'm reviewing that nothing is broken. And please consider applying this same fix to other templates in the frontend, always taking in account the suggestions that other contributors have told you above.
We would greatly appreciate it
Thank you.

why is this pull request father open? i think, it takes too much time to merge pull requests...

Hi @lacodimizer! I can understand your impatience, I can't wait to get more performance as well! 😆
We are currently looking for & fixing other places with this pattern of includes, this takes a bit of time. Sorry for the delay 😞

hey @barbieswimcrew
thanks for your contribution :+1: :tada:
we merged this with https://github.com/shopware/shopware/commit/772a8a00e52e8ff3798c999380a04411be1d961e and fixed this also in other places


[Enhancement]: SEO audit

Is there an existing issue for this?

[X] I have searched the existing issues

Description of problem
During DNNConnect 2024 @sachatrauwaen opted for a SEO page scan in DNN. As this got a lot of votes, it was decided to bring this to life.
Description of solution
As a starting point, I refer to the contents of https://dnncommunity.org/blogs/Post/9332
In order to make things more visible, I created some mockups for the persona bar
As we want to be flexible, I used a dropdown which is similar to the solution for editing config files

@sachatrauwaen do you have more features that you want to see included?
Description of alternatives considered
No response
Anything else?
No response
Do you be plan to contribute code for this enhancement?

[ ] Yes

Would you be interested in sponsoring this enhancement?

[ ] Yes

Code of Conduct

[X] I agree to follow this project's Code of Conduct

I just start now with a first small comment for explain my idees as a brainstorming :
Remarq : i think the term SEO Audit is maybe better then SEO page scan.
I see 3 kind of audits :

On page audit ( meta title length, h1, h2, alt for images, meta index, meta description, link href status code check, page speed, w3c valid, existe in sitemap, hidden by robots.txt, target keywords presence, ...)
Cross pages audit (duplicate page title, multiple url for same page)
External audit : position ranking in search engine, visit statistics, incomming links

Remark : page audit need to be done for dnn pages and pages managed by modules like articles detail pages
I see also 3 ways to implement it :

database queries (like Tycho sujest)
html page source analysis
external tools with api (or just links to)

About UI/UX :

UI for one page audit information (that shows list of informations, warnings, problems)
UI with dashboard witch sumarize informations, warnings, problems, ....
UI for selecting witch audits/checks/scans need to be done
shortcuts to edit page settings or page content to apply corrections
nice to have is history information and comparason with past audits

Next actions :

prioritize
define target users of this functionality (all users, page admins, site admins, host users, ...)

Remark : to be independent of the dnn core timeline, its maybe better to start as a module or personabar extension

Changed the title to SEO audit

@sachatrauwaen sorry for the late follow up, but I am now revamped and energized :-)
How do you suggest we take this one step further? Schedule a teams call? And do we need someone else? I have worked with @skamphuis in the past on a persona bar extension, he might have input as well.

@Tychodewaard, I worked on it in august.
I started creating some audit algoritmes accessible by api.
And also on some UI to show the audits.
This outside of dnn.
Yes, it will maybe nice to have a meeting to discus the next steps.
It will be good to invite Caty, i think.


Ng-repeat dynamic form Modified is not checking

When dynamic forms are created using ng-repeat with sub form. Modified property is not getting checking for elements which are created first

Please use a dedicated support channel for those types of questions: https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md#question


KAFKA-2892 Consumer Docs Use Wrong Method

The KafkaConsumer docs use a non-existent method for assigning partitions (consumer.assign).
The JavaDocs show as:
String topic = "foo";
TopicPartition partition0 = new TopicPartition(topic, 0);
TopicPartition partition1 = new TopicPartition(topic, 1);
consumer.assign(partition0);
consumer.assign(partition1);

Should be:
String topic = "foo";
TopicPartition partition0 = new TopicPartition(topic, 0);
TopicPartition partition1 = new TopicPartition(topic, 1);
consumer.assign(Arrays.asList(partition0, partition1));

LGTM. Thank you!

Committed to trunk and 0.9.0 so the corrected docs will ship with <IP_ADDRESS>


Add array and map operators to the compiler.

SD-995 #done, SD-996 #done
Unshift and shift of array and map keys and values.
Also rename “object” to “map” in affected places (more renaming to be
done as part of SD-1018).

Current coverage is 82.28%

Merging #992 into master will increase coverage by +0.14% as of 49b9fb5

@@            master    #992   diff @@
======================================
  Files           88      88
  Stmts         7823    7920    +97
  Branches       247     252     +5
  Methods          0       0
======================================
+ Hit           6426    6517    +91
  Partial          0       0
- Missed        1397    1403     +6

Review entire Coverage Diff as of 49b9fb5

Powered by Codecov. Updated on successful CI builds.

👍🏽
Couple of items related to my lack of familiarity:

I would like gain a better understanding on what's missing from mongodb that's necessary to support FlattenArrayIndices, ShiftArray, FlattenMapKeys.
foo{"bar"} doesn't seem to be supported. What am I missing?
Am I missing map concat?

I don’t think anything is missing from Mongo to support these – it’s just not part of this issue. The SQL² epic is intended to implement the full parser/compiler (IE, the frontend) without worrying about implementation for any particular backend.
foo{bar} should already be supported as FieldDeref / structural.ObjectProject, not new in this PR.
We don’t have any kind of concat reduction yet, so I don’t think mapconcat is possible. I could be overlooking something, though.

Array concat is ||, inherited from Postgres, map concat could be anything we want. I'm partial to ++, although you can call the function manually as for all operators (MAP_CONCAT?).
The corresponding reductions have syntax, e.g. [foo ...] reduces the last dimensional set into an array, while { keys : values ...} does the same for maps.

Ohhhhh, concatting two maps, not mapconcat. Got it!


Python Update

Using python 3.8
rotor_tf script
#!/usr/bin/env python
->
#!/usr/bin/env python3
not sure if it's worth changing in this repo

Does it cause an issue?
Based on http://wiki.ros.org/UsingPython3/SourceCodeChanges#Changing_shebangs, we should use #!/usr/bin/env python to be compatible python2 and python3, however maybe the issue is that we should add this in CMakeLists.txt:
catkin_install_python(PROGRAMS scripts/rotor_tf.py
  DESTINATION ${CATKIN_PACKAGE_BIN_DESTINATION})


ensure etcd changes re-render calico/canal/flannel config

I'm not a huge fan of this because we duplicate etcd.get_connection_string logic in both calico and flannel sources.  This will get better if/when we have a flannel base layer that both flannel and canal charms can use.
Until then, this PR ensures that etcd connection strings are accurate in the calico/canal/flannel config, and restarts appropriate services when those bits change.
Fixes https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/544 for canal.
Edit: I forgot to mention this PR uses the new endpoint/flag syntax (vs states). I just implemented these pieces in the handlers that I touched; the other bits continue to work as before.

LGTM +1


Prisma failing with Int mapping to Postgres Integer with contraints

Bug description
I have a simple Prisma schema that correlates to a column in a Postgres database that's set as a custom Integer type (i.e. a Postgres Domain Type).
Prisma schema:
schema Server {
   ...
   port Int
   ...
}

The column port in Postgres is defined as the custom type network_port, which has:

Base type: Integer
Constraint: VALUE >= 1 AND VALUE <= 65535

When performing create operations against Server model, I noticed that all inserts failed with a PrismaClientUnknownRequestError (which doesn't give much information about the root cause). After some trial and error, I noticed that, by changing the type of database column from the custom type network_port to scalar type Integer, everything works. Removing the constraint from the custom type, however, still makes the inserts to fail.
Performing a manual insert in the respective database works, which means the problem isn't in the custom type and its constraint.
This gives me the impression that Prisma Client is having problems to match the types with the custom Postgres type.
I'm wondering if I'm missing some configuration in the port attribute in my Server schema in order to make this correlation to work.
How to reproduce

Create a new Postgres DB
Create a custom type called "network_port" with the following configuration:
a. Base type: Integer
b. Constraint: VALUE >= 1 AND VALUE <= 65535
Create a Postgres table called "Server"
Create a column called "port" with the type "network_port"
Create a Prisma schema file containing the following schema:

schema Server {
   id                   String                         @id
   port               Int
}

Generate the Prisma client using npx prisma generate
Run a create request on Server schema:

const { id } = await prisma.server.create({
   data: {
      port: 8000,
   },
   select: {
      id: true
   }
})

Expected behavior
Server record is created successfully
Prisma information

Check the comment above for a minimum reproducible version

Environment & setup

OS: ArchLinux (running on WSL2)
Database: PostgreSQL
Node.js version: v18.10.0

Prisma Version
4.4.0

Let me start with this: https://github.com/prisma/prisma/issues/1796 We do not officially support custom types / domains in PostgreSQL in our schema, which of course means we are not testing them and hence do not know what works and what does not - and you seem to be hitting one of these cases where things do not work.
Can you maybe share the SQL for that Server table with the domain? That would make it very easy to reproduce and understand what is happening for you.

Ping @mauricioklein


Is there a way to see tests?

When I test or attempt, it tells me things have passed, but not what they were. Fails are the same way, I want to know what is in the test so I know what's going wrong, but I don't know how to check to see what tests are failing. Any solutions?

print out the input
for example in python you could do
def func(x):
    print(x)
    [rest of your code]

Ideal solution would be to make authors and translators finally realize that it's really helpful when a failed test is accompanied by at least a little bit of a context other than "should work".
It's not easy, resistance is strong, but slowly getting there.


How can i add icon ?!!!

Hi, how can we add an icon to notification ?!!

I had the same problem, to resolve this, in your NotificationBuilder set the icon
$notificationBuilder->setBody($body)
	->setIcon('ic_card_travel_black_24dp')
        ->setSound('default');

where
setIcon is the drawable icon.
for example, you can download any icon from this, and copy all drawable folder in main/res, the string of the setIcon is the name of the icon.
I hope I've helped.

It still using my default app icon even I have add the new icon in to the main/res.


feat(Algebra/Module/Hom): AddMonoid.End application forms a Module

Mathlib already knew it formed a DistribMulAction.
This also cleans up some duplicate definitions from @urkud's #2968.

Thanks!
bors merge


Unify score loading methods

This pull request consists of two contributions:

All input file keyword arguments in all  loading methods (i.e., load_score, load_performance, load_musicxml etc.) have been renamed to filename; and
Add deprecation utils so that ensure that code using old keyword arguments (e.g., fn, score_fn, xml, kern_path, etc.) still works (but will raise a warning asking users to change to the new convention)

Codecov Report
Base: 79.09% // Head: 79.37% // Increases project coverage by +0.28% :tada:

Coverage data is based on head (05014aa) compared to base (deb46f4).
Patch coverage: 93.20% of modified lines in pull request are covered.

Additional details and impacted files
@@             Coverage Diff             @@
##           develop     #147      +/-   ##
===========================================
+ Coverage    79.09%   79.37%   +0.28%
===========================================
  Files           54       56       +2
  Lines         9407     9517     +110
===========================================
+ Hits          7440     7554     +114
+ Misses        1967     1963       -4

Impacted Files
Coverage Δ

partitura/io/importmusicxml.py
74.23% <80.00%> (+0.33%)
:arrow_up:

partitura/score.py
79.53% <80.00%> (+0.10%)
:arrow_up:

partitura/io/importmatch.py
71.71% <83.33%> (+0.06%)
:arrow_up:

partitura/io/importmidi.py
83.78% <85.71%> (+0.31%)
:arrow_up:

partitura/io/musescore.py
28.94% <85.71%> (+5.00%)
:arrow_up:

partitura/io/__init__.py
70.42% <91.66%> (+6.24%)
:arrow_up:

partitura/io/importnakamura.py
85.71% <91.66%> (+0.83%)
:arrow_up:

partitura/io/importkern.py
85.80% <92.85%> (+0.08%)
:arrow_up:

partitura/utils/misc.py
97.22% <97.22%> (ø)

partitura/io/importmei.py
96.91% <100.00%> (+0.02%)
:arrow_up:

... and 9 more

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

:umbrella: View full report at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.

Nice work! This PR adresses argument consistency in loading functions and adds deprecation utils.


Create tranform url helper

Fixes #169 by adding a new helper function that only returns the URL for file transformations.

Awesome work @sepal ! Thank you for your contributions, let me know when you want to get a review

@philkra I found a bug while working on this:
For the gravity transformation you can specify coordinates. According to the docs example, the values should be separated by an x when building the URL. e.g.
"gravity": {
    "x": 0,
    "y": 1
  }

should become ...gravity=0x1.... That's also how it currently works in the typescript client (tested it in the playground).
The Python library currently doesn't handles that correctly, it always concatenates the dict values with a ;. We could easily fix this with another if statement within the operations loop, but IMO this is a bit of an inconsistency since trim for example does use semicolons to separate the dict values.
I think trim & gravity are the only operations that have nested values for now, right?

Nice catch! You are correct it should be an x as the separator, thank you. I double-checked, it's only gravity and trim with nested properties.

I approved the PR. The integration tests are failing because the PR comes from a fork and secrets are not shared. The tests will run on the merge into main.
Thank you very much for your contribution! I'll cut a new release in the coming days and tag you in the release notes.


Add support to conditionally add rgw to controllers

This request add support to conditionally adding the ceph rgw service to the osp controllers.
This includes parameter customizations.
Depends on pull request https://github.com/redhat-openstack/openstack-puppet-modules/pull/290

Thank you for contributing to openstack/tripleo-heat-templates!
openstack/tripleo-heat-templates uses Gerrit for code review.
Please visit
http://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


EnableMSStandardBlockedWords

"Do not use" is quite short and not comprehensible Description. Why not using it?

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

ID: 4cd7a703-534a-5fbd-6470-5d29bf512fd2
Version Independent ID: 4f70ed16-6a1c-c0be-3c5e-d56e1b7c7275
Content: Configure group settings using PowerShell - Azure AD
Content Source: articles/active-directory/users-groups-roles/groups-settings-cmdlets.md
Service: active-directory
Sub-service: users-groups-roles
GitHub Login: @curtand
Microsoft Alias: curtand

@ValerianHeints Thank you for reaching out. We will check and update the thread further.

@ValerianHeints MSStandardBlockedWords constitutes list of phrases which are generally unprofessional words and other inappropriate words naturally in the English language that most likely should never be part of an Office 365 Group name. Hence, we recommend that this should not be Enabled and that would be the reason it is mentioned as "Do Not Use".
Let us know if you need further help on this.

@ValerianHeints We would be closing this thread now. Do let us know if you need further help on this.

Hello @neeleshray-msft,
thanks for the response and detailed description of the property: shouldn't the/your description be in the description in the docs?
Based on the current description "Do Not User", can the customer decide whether to activate the setting or not?


Noob Question: Delete song in AudioPanel doesnt update audioLists

Version
4.14.2
Description
Using the Remove song/delete audio lists button in the AudioPanel does not delete the respective song in my state although it disappears in the UI. How would I go about solving this so that the changes are reflected in the state as well?

Same thing. Is there any handlers for removing track from queue and clear all queue?

You should study controlled-components
this is online example. hope useful for you.

Hi @lijinke666,
Sorry for asking help on this one.  I noticed a bug though. When you click on the trash icon, it does not immediately clear the audio panel. You have to click twice for the audio panel to be cleared. Why is it behaving like that?
Thanks!


chore: refactor Diagnostic declaration

Description
This provide a function to mutualise Diagnostic declaration

It might seems yet but this will help bringing other changes like display the name of the rule that is causing an error See https://github.com/Antonboom/testifylint/blob/master/internal/checkers/helpers_diagnostic.go#L89-L105 to get an idea of what I mean.
For the moment I'm not able to identify clearly a "checker" for each diagnostic.
This will help users identify which rule is causing errors.

Ok, so can you add this change in a new commit ?

Based on the changes made on this PR, I'll wait for this one to be merged before working on

#32

Thanks, waiting for the next step then


Datetime picker and dom-ifs

Fixes #264 and #261

Merging this as customer wanted to get version with datepicker, even with the dropdown bug we now have.


Unable to generate executable file

runtime environmet:
win10 + go1.8.1

step :
1  go mod init XXX
2 >go get -u github.com/ofabry/go-callvis@latest

result :
$GOPATH/bin : no  executable file

The error message you posted is most likely not coming from the go-callvis, but your system / go environment.
 That is a VERY OLD version, not officially supported anymore.
The last stable release of go is  v1.19 and the Requirements section in the README specifies go v1.17 as the minimum Go version supported by go-callvis.


track() is not compatible with immutablejs'ed state

Can't make this code work with redux state which is Immutable.js Map:

	{props.packages
		? R.map(P =>

			<Control.text model={track('.packages[].name', () => true)} />
			{`${P.name} ${P.version}`}

, props.packages)

		:
Empty
}

If I'm not wrong the problem is that track() uses utils/get which can't work with Immutable.js objects.

@davidkpiano thanks!


Add MatrixX class

🎉 New feature

Addresses https://github.com/gazebosim/gz-math/issues/144
Part of https://github.com/gazebosim/gz-sim/issues/1462

Summary

We're coming for you, Eigen! (Well, that's what a lot of people think about gz-math... 😆 )
We need a Matrix6d to implement

https://github.com/gazebosim/gz-sim/issues/1462

Instead of copying the existing Matrix3 and Matrix4 classes, I thought it would be useful to implement a matrix class that can have any size. The size is defined at compile time and can't be changed for a given object, so the matrix can't be dynamically resized.
I only implemented very basic functionality, more functions can be added to this class as needed. I think we probably have everything that's needed to implement added mass, but if we don't I can add new functions later.
I experimented with different std algorithms to substitute the nested for loops, but they were all too confusing to use with nested std::array. I'm open to suggestions though.
TODO

[ ] I'd like to get some high-level feedback on this PR and the added APIs before adding Python bindings for this class.

Test it

Take a look at the added tests and run the new example.
Checklist

[x] Signed all commits for DCO
[x] Added tests
[x] Added example and/or tutorial
[x] Updated documentation (as needed)
[x] Updated migration guide (as needed)
[ ] Consider updating Python bindings (if the library has them)
[x] codecheck passed (See contributing)
[x] All tests passed (See test coverage)
[x] While waiting for a review on your PR, please help review another open pull request to support the maintainers

Note to maintainers: Remember to use Squash-Merge and edit the commit message to match the pull request summary while retaining Signed-off-by messages.
🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸🔸

I'm leaning against MatrixXd to be honest. I think it's not strictly necessary for hydrodynamics, and I'd rather not add to the maintenance burden of gz-math by trying to tackle Eigen's functionality.
I think we could compose a gz::math::HydrodynamicAddedMass class using  a pair of MassMatrix3s for the symmetric, block-diagonal 3x3 matrices and a Matrix3 for the upper / lower block diagonal component. Defining the class using sub-matrices could also help avoid confusion about the ordering of indices (rotation vs position) by ensuring that proper names are used.

I'm inclined to agree with @scpeters on reproducing Eigen functionality. In this case, gz-sim already has a dependency on libgz-math-eigen3, so Eigen can be used there without introducing a new dependency.
My main concern would be that we are missing out on a lot of testing/optimizations that Eigen has already gone through for multiple platforms (hardware and OS).

I think we could compose a gz::math::HydrodynamicAddedMass class

That feels a bit too specific to me. Hydrodynamic added mass is one use case for exposing all the fields of a spatial mass matrix, but I can imagine other advanced users may want to directly tweak those fields as well. Drake and DART are just two examples of engines that expose the full spatial tensor without making it specific to hydrodynamics.
If a Matrix6 class is not desired, I'd suggest we just add more Matrix3 fields directly to Inertial to hold various parts of the matrix - but that feels to me more like a workaround our limited API than a careful design choice.

gz-sim already has a dependency on libgz-math-eigen3

Yeah but SDFormat doesn't, and neither does the math::Inertial class. I can hear an argument in favor of deprecating our existing vector and matrix classes completely in favor of Eigen, but that would be a longer-term task.

we are missing out on a lot of testing/optimizations that Eigen has already gone through for multiple platforms (hardware and OS).

Yeah definitely, and that's also true for all our existing vector and matrix classes.

against MatrixXd to be honest. I think it's not strictly necessary for hydrodynamics, and I'd rather not add to the maintenance burden of gz-math by trying to tackle Eigen's functionality.

I hear you. But to summarize the comments above, the choices I see here are:

Composing a 6x6 matrix out of 3x3 sub-matrices - which feels like a workaround for a limited API
Doing things the "Gazebo Math way" and adding a Matrix6 class similar to Matrix3 and Matrix4 - I'm not opposed to that, I just thought we could try to be more flexible and reduce duplication - which in itself should be better for maintenance.
Going all in on Eigen - which is not doable on Fortress, and would require more effort to make our API consistent - but I'm not opposed to if we get the funds to do it right
Going with MatrixX - I saw issue #144 and thought this would be an opportunity to tackle it. I don't think we should try to implement various algorithms for this class, I think it could just be handy to hold data, which is what we need for added mass.

I think it could just be handy to hold data, which is what we need for added mass.

I think in this case, having the Matrix is useful.  I think, in general, it would be nice if people were using Eigen when possible to actually do computations/manipulations.  I understand that we may still need some of our own datatypes for convenience in terms of serialization and interactions with other locations in our APIs, but if we can encourage "jumping out" to Eigen for math heavy operations, I think that would be the ideal mix.

if we can encourage "jumping out" to Eigen for math heavy operations, I think that would be the ideal mix.

I believe we've been doing this higher up the stack. gz-physics makes heavy use of Eigen, as well as various gz-sim plugins, some gz-rendering functionality... Maybe I shouldn't have joked about Eigen on the PR description, it definitely has a place in our development, but I don't think it's a good match in this specific case.

the choices I see here are

So for completeness, I'll mention my preference would be to go with option 4, but I could compromise for 2. I don't think 1 is a good option and 3 isn't feasible at this moment. @scpeters , please let me know what you think.

I would propose adding this class to the eigen3 component.

Are you proposing also moving the existing Inertial and MassMatrix3 classes to the eigen component? The idea of the Hydrodynamic Added Mass Proposal is to augment the existing class, not to create a separate implementation.

Sorry I didn't realize you were proposing to modify the existing math::Inertial class to included added mass. Won't that break ABI on ign-math6?

Won't that break ABI on ign-math6?

Ouch yeah I forgot that these classes aren't PIMPL'ed. I guess I'll have to target this at Garden then.

I still think there is a place for gz::math::Vector[234] and gz::math::Matrix[34]. I don't have any immediate plans to deprecate them and switch fully to Eigen.

Could you elaborate on that? What's the place for these classes when we're using Eigen throughout our stack? And why should we maintain matrix 3 and 4, but not 6 or X?

I think we could compose a gz::math::HydrodynamicAddedMass class using a pair of MassMatrix3s for the symmetric, block-diagonal 3x3 matrices and a Matrix3 for the upper / lower block diagonal component. Defining the class using sub-matrices could also help avoid confusion about the ordering of indices (rotation vs position) by ensuring that proper names are used.

avoiding the indexing confusion

After giving this point a bit more consideration, I still think that this would be clunky. The MassMatrix3 class doesn't seem fit to be used this way - do we just leave the mass invalid? What do DiagonalMoments mean in this case? Instead of using proper names, we'd be giving a new meaning to different concepts. That's more confusing.
What I think you really want is a more generic SymmetricMatrix3 class. And at this point, we could go directly for a SymmetricMatrix6 or SymmetricMatrixX class that would address our use case directly. I started a draft in that direction in https://github.com/gazebosim/gz-math/pull/447.

it doesn't actually store a 3x3 matrix. Instead, it stores the mass, moments of inertia, and products of inertia separately. You can get a 3x3 matrix out of it, but that's not how it's stored.

I get the point that a generic matrix is not the optimal storage for a symmetric matrix. I started an implementation on #447 which is called FluidAddedMass, but it's really a generic SymmetricMatrix6.
Even with that, I still feel that a Matrix6 is missing. At some point we'll need to construct a 6x6 spatial matrix from the current terms in math::Inertial, and add that to the added mass matrix. Without a generic Matrix6 representation the implementation will probably just add term by term and assign them to the physics engine, which feels a bit messy, but I can live with.

since we won't be using Eigen for this; I think I would favor a Matrix6 class over MatrixX. I would also suggest helper functions for getting and setting 3x3 subsets of the Matrix6 from a Matrix3 (block diagonal upper left and lower right, and block off-diagonal upper right and lower left). This would make it easy enough to map Inertial values to a spatial inertia matrix. I don't think we need to support symmetric matrices at the class level

Thanks, @scpeters , I'll open a separate PR with a Matrix6 implementation.


Throw error when tests are found directly under Tests

If tests are directly under Tests directory, swift test will fail because it tries to unwrap a nil value.
Fixed it by throwing TestsExecutableNotFound error.

I verified this fixes the crash, merging since it is definitely a monotonic improvement. @mxcl can you review if there is anything else needed here?

Maybe it also would be nice to warn users that there some unused test.swift files in Tests folder? Maybe it would be better to do it when building TestModule

LGTM


Add Compound-like voting to pallet assets

Pallet Assets should have support for compound based voting by porting the ERC20Votes contract from openzeppelin to rust:
https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/token/ERC20/extensions/ERC20Votes.sol
Specifically:

implement a checkpoint functionality
add conceptually equivalent extrinsics for all public methods
write checkpoints on all transfer, minting and burning functionality - note that this need to be implemented on pallet level (the functions doing the actual work, not the extrinsics)

I've been thinking about this check-pointing functionality and wondering if it really makes sense. If we analyse it from a security perspective using threat modeling, then (as you have explained) this is to protect against someone buying tokens (and thus voting power) during a proposal vote and thus influencing the outcome (and selling the tokens again afterwards). If the proposal fails, then it seems like it can just be rerun, forcing attacker to hold tokens if they want to keep influence (just like a legitimate token holder). If they force the proposal through, and it is not a proposal which can be reversed, then the council will have to consider it. But it seems like the council already has to deal with bad proposals, for example if an attacker gets hold of a majority of votes and runs a proposal to send all funds controlled by the DAO to addresses that attacker controls. The council can burn a proposal if it is a nuisance and that should probably also include proposals that are obviously not in the interest of the DAO. So I wonder what benefit if any check-pointing gives and whether its benefits justify the added complexity. But maybe it is not my place to worry about this?


Add admin dashboard config to web config

This PR adds an admin dashboard config to misk's web config. It will be used to render links to protobuf definitions from the misk web action dashboard.
For the exemplar app with the following configuration:
web:
  port: 8080
  idle_timeout: 30000
  admin_dashboard:
    protobuf_definition_url: "https://example.com"

When rendering the web actions tab for the action: HelloWebProtoAction we would render a link to https://example.com/com.squareup.exemplar.protos.HelloWebRequest for the request parameter.
This PR does not make any changes to web action dashboard, as a follow up misk-web change is required to provide this context.

Closing this in favour of a simpler approach. See discussion here: https://github.com/cashapp/misk/pull/1881#discussion_r624882620


Moving QuickLook support

This should not be merged before apple/swift#4089 is merged.
It begins the process of moving all QuickLook support to this project from the Standard Library.

@swift-ci Please test and merge

Hmm, apparently we have no CI support for this repo.  Just merging.


Add sycl composition tests

 fix get_function_composition for function > 2

 sycl composition: fabs -> square

 sycl composition: reduce_maximum -> subtract

 sycl composition: sum -> divide

 sycl composition: subtract -> fabs

 sycl composition: reduce_add -> divide

 sycl compostion: square -> sum

 sycl composition: subtract -> exp

 add compile options for isclose with nan and inf

 simplify functional fmaps


Prep for removing TEST_NAME

This PR:

Deletes and inlines single_column_radiative_equilibrium.jl
Removes a global closure over FT
Changes t_end from 60 * 60 * 24 * 365.25 to 60 * 60 * 24 * 365 in single_column_radiative_equilibrium.jl (for simplicity). Perhaps we could add an option n_days and use that or t_end, it may just be a nicer interface for users

I'm not really satisfied with center_initial_condition_column / center_initial_condition_sphere, since I don't think that's really an accurate characterization, I'll need help on improving names here. For now this will help make the next steps easier. Also, we're stacking up quite a few args for the radiative equilibrium, and we could handle this differently by having column-specific defaults (kind of like what I did with dt_rad), which may alleviate the number of args. I think we can do this in a follow up PR, once managing the different configs is a bit more elegant.
This is one more step towards removing TEST_NAME.

bors r+


Incremental compilation of java modules is broken with Gradle 7.6

After updating our elasticsearch build to Gradle 7.6 we are seeing weird compilation issues when using incremental compilation.
The only two workarounds are

disable incremental compilation
run clean task solves the problem

Expected Behavior
It should not be required to run the clean task for correct java module compilation
Current Behavior
When changing the sources slightly we see java module related error messages during compileJava like
package org.elasticsearch.core is not visible

Context
We seen this when updating the elasticsearch build to from 7.5.1 to Gradle 7.6
Steps to Reproduce

git clone https://github.com/breskeby/elasticsearch.git
git checkout repro-incremental-compile-issue
git checkout b0a82469130813d4f6894003f6bfab528d37e68a
./gradlew :server:classes
git checkout 04c6269a2f74afe61774a9711315484d70fb63eb
./gradlew :server:classes

Your Environment
Build scan URL: https://gradle.com/s/amjv2v4a4qmym

Reproducing the expected behaviour with Gradle 7.5.1 can be done as follows:
git clone https://github.com/breskeby/elasticsearch.git
git checkout repro-incremental-compile-issue-751
git checkout 5adb055cc110d945e9221cbf452f19fffa07a16d
./gradlew clean :server:classes
git checkout f9f9f5b22e957760510c81116790c26575120095
./gradlew :server:classes```

Moved to 8.0RC1, since we have to finish 8 in next weeks. But we will backport the fix to 7.6.1.

Note: If the fix still causes some issues for you, you can use in future Gradle 8 (and future Gradle 7.6.1):
tasks.withType(JavaCompile).configureEach {
  options.incrementalAfterFailure = false
}

that should make compilation behavior the same as with Gradle 7.5.


⚠ Bofrost.fr has degraded performance

In 793e9b9, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1588 ms

Resolved: Bofrost.fr performance has improved in 0c7d9ca after 6 minutes.


REPORT: Desync Bug Hunting

The aim of this report is to figure out where and how desyncs happen.
To this end I am first going to see what the actual latest release build
is in terms of non desyncs (if one even exists!).
To start, I check the commit 3d2d49be0a676f3dd284d6f7acf54fd75be64060,
it desyncs when played with a ping of 50ms. The issue as far as I can tell,
is that if one player spams Left-Right (triggering a bunch of rollbacks because
the other peer is constantly mispredicting), the bullets get rolledback
(as they should) but if they despawn and get rolledback after that,
they will NOT get respawned. This is exactly what I observed
with the rockets on the current main (c631d5bf2944a114cfa54fe457920467f943a469).

Next was 5605d127182fd7eb2489cc4d37242336b1617aa3. Here we didn't see desyncs with 50ms and Left-Right spamming.
However we did see desyncs with 150ms. Although I coudn't trigger the bullet respawn issue as I could in the above.
There are much worse issues here (with the rematch) which make testing quite challenging.
Either case, if I am desperate and don't know what to do, I should come back to this and further test to see
if the bullet despawn issue appears here as well.

Commit fbfceb74f30653c5c98ee13210337017b4bd9aa1 seems to be the most promising one.
I couldn't get any actual desyncs to happen
(one where different players are alive). I do get desync errors, however I am assuming
that this is simply because whenever we have to rollback, we get desync errors.
So when we desync, we rollback, and we are synced again. However we get the desync errors
for the time that we are unsynced.
This is a relief, as it means that desync errors don't automatically mean there
are actual desyncs (which is exactly what I was expecting, but it's good to have this
confirmation). The reason I am so sure this is the case is because the desync errors
actually stop once you don't input anything. This wouldn't make any sense if there were
actual desyncs happening.
Also note, when testing really high pings (>200ms), you must set the following
let mut session_builder = ggrs::SessionBuilder::<GgrsConfig>::new()
    .with_max_prediction_window(40)
    .with_max_frames_behind(42)

otherwise the peers won't even connect.

Seems like 71c3e724b684d4f906ecfdc43aa7f2790b870231 is also working, at least in terms of bullet desyncs. There are some other issues, related to #20, but as far as the health and bullet syncing is concerned it's working.

Same for fe884bcef72e218c77d54c3dda4f84a719ba7255.

There are bullet desyncs in 369c5300566a5ef2fb01a579372f4e4235cfea53 (just shooting can trigger desyncs, so you don't even have to spam Left-Right, just be close enough to the other player and tap shooting slightly and you will rollback while not respawning the bullets).

33cc8956ba06aa70c3325b4251ee5d830bb83dec is also bugged (same thing with the bullets as above).

43105f6d24b297b4119b324a6a82aa1fa04f6813 is NOT bugged! At least not in the bullet desync sense.

3d2d49be0a676f3dd284d6f7acf54fd75be64060 also seems to be working.

The issue was the CollisionEntity. On a side branch I fixed it here 9d23e860e1d077171152789d7b98aaee4a92eb51. I am going to apply the same changes to master now.


Please check code, it is not accepting it.

Challenge Link to External Pages with Anchor Elements has an issue.
User Agent is: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36.
Please describe how to reproduce this issue, and include links to screenshots if possible.

Good catch @KonSal! Should we update the tests to optionally allow www.?

In the assignment they give us the example of http://freecatphotoapp.com. I don't know why someone will put www on it's own when it's not needed or even mentioned.

Wouldn't that be somewhat of an inconsistency, given that in the following challenge www is being used.

Yes, we should allow www. to be acceptable in this challenge as well as in the next.
@KonSal I agree in the next challenge we should remove the www (for consistency) from the seed (editor) code.
Any one up for fixing these?
@BerkeleyTrue you might want to enable Cloudflare SSL on this domain as well

@raisedadead I could do it when I get back home. Seems suitable for a first timer like me to make his first commit.

@KonSal AWESOME! Looking forward to it.
Here is the contributing guide:
Guidelines for Contributing.
And here are some first timer goodies:
https://github.com/FreeCodeCamp/FreeCodeCamp/blob/staging/seed/challenges/01-front-end-development-certification/html5-and-css.json#L1533
Please hit us up if you need any assistance here:
Contributors Chat room.


Error when extracting tables from a PDF

Has in the example with my pdf:
from pdf2table import Driver

# Initialize the driver
driver = Driver()

# Extract tables from a PDF
# which returns a list of dataframes
tables = driver.extract_tables("sample.pdf")

I got the following error when running:
Extracting tables from page 1
/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/table/processing/bordered_tables/cells/identification.py:17: PerformanceWarning: Determining the column names of a LazyFrame requires resolving its schema, which is a potentially expensive operation. Use `LazyFrame.collect_schema().names()` to get the column names without this warning.
  .rename({col: f"{col}_" for col in df_h_lines.columns})
/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/table/processing/bordered_tables/cells/deduplication.py:24: PerformanceWarning: Determining the column names of a LazyFrame requires resolving its schema, which is a potentially expensive operation. Use `LazyFrame.collect_schema().names()` to get the column names without this warning.
  .rename({col: f"{col}_" for col in df_cells.columns})
Extracting tables from page 2
Extracting tables from page 3
Extracting tables from page 4
Extracting tables from page 5
Extracting tables from page 6
Extracting tables from page 7
Extracting tables from page 8
Traceback (most recent call last):
  File "/home/***/sandbox/readpdf.py", line 5, in <module>
    tables = driver.extract_tables("./UB0730.pdf")
  File "/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/driver.py", line 44, in extract_tables
    tables_in_page = self.tatr.get_tables(value)
  File "/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/tatr/__init__.py", line 168, in get_tables
    table_list = self.process_table_images(images)
  File "/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/tatr/__init__.py", line 163, in process_table_images
    df, data = self.apply_ocr(cell_coordinates, image_processed)
  File "/home/***/sandbox/env/lib/python3.10/site-packages/pdf2table/tatr/__init__.py", line 154, in apply_ocr
    return df, data
UnboundLocalError: local variable 'df' referenced before assignment

If I could get any help please.

Thanks for your feedback. Actually this bug has been fixed in the codebase, but I forget to upload the new package. I just updated on pypi. You may try out the new version now. Please let me know if it works.

It works perfectly, thanks!


Pinot server memory usage

We are running a  Pinot cluster in production with 4 servers (16 GB ,4 Cores). There are multiple realtime tables consuming from Kafka topics. We are observing the 60 to 70 % of the total memory is being used during the peak load. The issue is memory usage doesn't come down even after the load stabilises after sometime.
This is causing OOM errors when the utilisation steadily increases and doesn't steps down. There is no real benefit of increasing the memory as this occurs only when the Peak wps rate increases beyond a level.
How do we identify the exact processes which causes the memory spike? Is there a way to make sure the memory usage stabilises/comes down when wps comes down?
Also is this behaviour somehow related to GC or any configuration?

Can you try doing a memory dump and check why the memory is not released? Is this JVM heap memory, or native memory?


Support for TIMESTAMP type in Parquet format

This commit adds support for TIMESTAMP type in Parquet file format. Parquet TIMESTAMPS
are stored as two components: milliseconds of day (8 bytes) and julian date (4 bytes). It
is stored in GMT timezone.
Issue: #2371

There are some Travis failures -- some of the files don't have a license header (you can run mvn license:format), and there are some other issues with compilation too it seems.

Thanks for updating. We discussed this and decided to rename create-test-hive13 to create-test-hive-current, rather than trying to maintain multiple versions. Internally, we run the hive-hadoop1 connector against Hadoop 1.x and Hive 0.12 and run hive-hadoop2 against Hadoop 2.x and Hive 0.13. We will upgrade the latter to Hive 1.2.1.

Should I rename create-test-hive13 file as a part of this PR?

Merged, thanks!

I simplified the calculation for Julian Date to millis.  Let me know if I broke anything.