pdf2 xsl folder moved

Hi,
I'm sorry, but I couldn't easily find the issue or issues that led to the xsl folder being moved from cfg/fo/xsl to xsl.
Is it still possible to overide the style sheets in this folder, and if so, how?
Would I still use cfg/fo/xsl/custom.xsl, and import a modified copy of the original stylesheet?
The last time I hacked a PDF customisation was around OT 1.5, so I'm doing a lot of catching up!
Many thanks,
David

I'd recommend to generate a new plugin using the dita-generator. A clean plugin is probably a good starting point to examine new patterns and structures.


Ability to persist to custom datastore

You can use an abstraction layer (e.g. https://github.com/1602/jugglingdb) to provide the feature of persisting anonymous pans to a custom datastore, just by providing datastoretype/schema/port/credentials.

Thanks for the recommendation, I know I can but we don't have a backend

I guess you've already written some code for persisting changes as gist. This is already a backend.

Yeah, we can use some other public APIs to store data, but not a database orm I guess.

..yet


Details of a transaction are wider than the table under the traces tab

Overview
The content of a transaction exceeds the size of the table column, as shown in the image below.

The size error only happens when the data is expanded.

The transaction in the images can be accessed by:
transaction/168c07490f56895bddfba45261e6f5f03cfae0454e1488f87142ebf66cd4457c?tab=traces

@donnyquixotic Long text strings already seem to be wrapping to the next line. Maybe consider closing this one?

Resolved


how to set default size ? and arrow key back/forth timing ?

Hi,
sorry if I post in wrong place , but I didn't see anywhere I can have interaction with other users besides here.
it's great thing but I just got 2 little problem

when I open my HTML page , the default windows is even bigger then my screen  , is there anyway I can make it smaller or just fit the screen without come out ?

when press right/left arrow key  , it jumps 30 seconds , how can I tune it to 5 seconds or 3 seconds ?

Best regards,

Hi @qtwrk

Can you provide more details on this please? Do you mean the video container is too large? I'm having challenges with this too and am looking into the CSS to make it smaller without affecting the video.
I believe this would be controlled by the seekTime property in the options. By default, it is 10 seconds.


DENG-1270: Add On-Demand Rebuild Pipeline

Description

User-visible Changes

Users are able to build a ondemand rebuild pipeline in arthur.
Links
https://harrys.atlassian.net/browse/DENG-1270
Testing
Ran below command in arthur
install_ondemand_rebuild_pipeline.sh jwong

Was able to create a on-demand rebuild pipeline:
+ aws datapipeline put-pipeline-definition --pipeline-definition file:///tmp/pipeline_definition_arthur_33.json --parameter-values myTimeout=6 --pipeline-id df-03035043C5I4J7VUW9D3
{
    "validationErrors": [],
    "errored": false,
    "validationWarnings": []
}
+ set +o xtrace

Your On-Demand Rebuild Pipeline ('df-03035043C5I4J7VUW9D3') has been created!
You can start the pipeline by running the following command:
    aws datapipeline activate-pipeline --pipeline-id df-03035043C5I4J7VUW9D3

df-03035043C5I4J7VUW9D3 is shown in the dev datapipeline:
https://console.aws.amazon.com/datapipeline/home?region=us-east-1#
Was able to kick off on demand rebuild pipeline by running aws datapipeline activate-pipeline --pipeline-id df-03035043C5I4J7VUW9D3
I also got an expected error to make sure we are not concurrently running the pipeline when activating the same pipeline while it is already running:
(aws:data-dev, prefix:jwong) $ aws datapipeline activate-pipeline --pipeline-id df-03035043C5I4J7VUW9D3

An error occurred (InvalidRequestException) when calling the ActivatePipeline operation: Web service limit exceeded: Exceeded number of concurrent executions.  Please set the field 'maxActiveInstances' to a higher value in your pipeline or wait for the currenly running executions to complete before trying again

Deploy Notes

@swong28 I'm getting this:
$ aws datapipeline activate-pipeline --pipeline-id df-03035043C5I4J7VUW9D3

An error occurred (InvalidRequestException) when calling the ActivatePipeline operation: Pipeline definition has errors: Cannot activate a pipeline with errors

I wonder if it is because shortly I tried to activate it from the UI? I'll try deploying a new one.

@swong28 Another question: I was expecting the command to create a new pipeline each time I run it, but it just keeps overwriting the same one. Is that the expected behavior?

@swong28 I guess I don't understand why is it giving the same pipeline ID, whereas something as an install_upgrade_pipeline and install_validation_pipeline will create a new one everytime. Where is the difference in the code?

@swong28 I guess I don't understand why is it giving the same pipeline ID, whereas something as an install_upgrade_pipeline and install_validation_pipeline will create a new one everytime. Where is the difference in the code?

It is because the start date is included in the pipeline creation clis as an argument.
like this:
aws datapipeline create-pipeline \
    --unique-id dw-etl-upgrade-pipeline \
    --name "$PIPELINE_NAME" \
    --tags $AWS_TAGS \
    | tee "$PIPELINE_ID_FILE"

And see below documentation for aws datapipeline create-pipeline
For example, if the first call to CreatePipeline does not succeed, you can pass in the same unique identifier and pipeline name combination on a subsequent call to CreatePipeline . CreatePipeline ensures that if a pipeline already exists with the same name and unique identifier, a new pipeline is not created.

https://docs.aws.amazon.com/cli/latest/reference/datapipeline/create-pipeline.html

@swong28 Sounds good thanks for checking, so what happens when we run put_pipeline_definition to an existing populated pipeline? From the documentation, it sounds like it appends instead of overriding the existing one.
If we want to get away from this, should we just recreate a new pipeline every time we run install_ondemand_rebuild_pipeline? Recreating from scratch assures nothing funky is going on, and I believe it's also how these scripts install_... are intended to be used.

@swong28 Sounds good thanks for checking, so what happens when we run put_pipeline_definition to an existing populated pipeline? From the documentation, it sounds like it appends instead of overriding the existing one, it's not super clear.
If we want to get away from this, should we just recreate a new pipeline every time we run install_ondemand_rebuild_pipeline? Recreating from scratch assures nothing funky is going on, and I believe it's also how these scripts install_... are intended to be used.
Edit: I also don't really see a value in idempotency here in term of pipeline id returned (it could be useful for other cases), I care more about correctness of the pipeline and it following the definition we laid out in the Json everytime.

That sounds good too! I will modify the name to have a timestamp to ensure a new pipeline will be created each time.


Problem with native grids in _check_dim_names for CMIP6 data

The cmor checker complains as follows about some CMIP6 data:
Coordinate longitude has var name longitude instead of lon
 Coordinate latitude has var name latitude instead of lat

I think this is because it checks whether the var_name agrees with the out_name of the respective cmip6 table. Unfortunately, this seems not to be in line with the intentions of CMIP6, see this discussion at the cmip6 tables.
So requiring presence and var_name for coordinates is too much. I don't know how to solve this generally. Maybe a special exception for spatial coordinates is the best approach?

I would suggest starting to add @sloosvel for such matters since I think @jvegasbsc is already off to be dad

Ok, didn't know that. Thanks, V!

Hi @zklaus,
For which datasets and variables did you have this problem?

Hi  @sloosvel @zklaus ,
I found this error when reading in ocean/sea ice data from CanESM5 and MIROC6. esmvaltool hangs with the error above. Before I saw this issue here, and thinking this was a problem with our processing of the CanESM5 data, my colleague Andrew Shao raised this on the CMOR  issue tracker here:
https://github.com/PCMDI/cmor/issues/470
Karl Taylor confirmed there that using 'latitude' and 'longitude' for these variable names is allowed, so this should not give an error in esmvaltool.

Hi @npgillett and @zklaus,
I'll check what can be done to fix this.

The example in the CF conventions suggests that the names should still be lat/lon instead of latitude/longitude, even for grids:
http://cfconventions.org/Data/cf-conventions/cf-conventions-1.7/cf-conventions.html#_two_dimensional_latitude_longitude_coordinate_variables

I don't see anything in CF that mandates variable names for latitude and longitude. Circumstantial evidence seems to suggest the names are arbitrary, for example in chapter 4 it is described how to identify latitude and longitude from the units string (which seems to be done for backwards compatibility with the COARDS conventions.
To add a bit of information on why the model groups do it this way, there is the Participation Guidance for Modelers that links to the draft for the specification for output file contents. In there on page 10, note 5, we find

[...] Note that for grids other than spherical coordinate grids the longitude and
latitude dimensions should be replaced with a 1-, 2-, … n-dimensional set of
axes, as appropriate, depending on the logical structure of the grid.

and later in the list, page 12, note 13.c, third ->

For fields stored on grids other than a spherical latitude-longitude grid, the
“coordinates” attribute should include the names of the auxiliary coordinate
variables containing the longitude and latitude values for each grid cell
(recommended to be named “longitude” and “latitude”, respectively), as called
for by section 5.2 of the CF-conventions and as illustrated in example 6 below.

ie, the recommended names are latitude and longitude, not lat and lon, and even this really is only a recommendation. Keep in mind that these guidelines have been updated continuously and that in many cases the modelers have prepared there output according to an earlier version of the standard. I think it is likely that this recommendation was added at a later stage and not made mandatory for backwards compatibility.
Since we already have two-fold confirmation in from CMIP6/cmor that this is intended behavior, and there are numerous datasets with this property on ESGF, imho we should deal with it.

@zklaus cheers for the detailed explanation and quoted sources! The problemo is with the CF conventions used by iris so as much as we dealt with it if we don't take it upstream with the iris team to revise their standards, this is gonna bite us in the rear everytime we have to save a cube that doesn't comply with iris standards (specifically var_name == CMOR out_name) :beer:

@valeriupredoi really? Could you point me there? Because for me, when I bypass esmvaltool.cmor.check._check_dim_names the problem disappears. Also, I have read many CF files with iris outside of esmvaltool from cmip5, cmip6, and other sources and never encountered the problem. Finally, despite reading quite a bit in the iris sources, including the whole Pyke rules stuff, I have never encountered a hint of CMIP/cmor in iris, but only ever CF, so I would be very grateful for a pointer to that.

indeed the CF stuff is in iris/fileformats/cf.py and can not find any CMOR references either; in fact, I just tried to give latitude var_name = 'longitude' and iris has absolutely no problems with it:
...
       [ 8.76473503e+01,  9.00000000e+01]]), standard_name='latitude', units=Unit('degrees'), long_name='latitude', var_name='longitude')

so I guess the issue is a non-issue anymore :grin:

so here's a question for @ledm and @zklaus and anyone else who's actually run into ESMValTool complaining about the var_name not being correctly set - I have taken a look at the offending code: esmvaltool/cmor/check.py l.243-268 in _check_dim_names(self) - the var_name exception will be triggered if and only if self._cube.coord(var_name=coordinate.out_name) results in an iris.exceptions.CoordinateNotFoundError - can we just get rid of this or we can expect some sort of bad CMOR behavior from removing it?

attn: #1023

I personally would not be so quick to remove checks that have worked so far, especially because this issue is due to such a subtle difference in the tables. @jvegasbsc will be back very soon, but I got the chance to review some things with him earlier today.
The difference between the out_names for latitude and longitude in the grids and coordinates tables leads a bit of an ambiguous situation indeed. One of the proposed solutions for this case would be to, instead of raising an error, accept the data (since the out_name is technically correct) but raise a warning  that the fix that changes the out_name to lat and lon will be implemented anyway (since latitude and longitude appear to be just recommended names).
If you do not agree with that approach, then I suppose the solution should involve adding a particular check for such cases. But removing the check altogether seems a bit of a "radical" solution to me. It may be needed in other cases.

Well, it's just a check, so nothing bad will happen per se, and indeed I have been running all my CMIP6 stuff with this disabled. But of course, by that line of reasoning we could just remove the whole check.py; after all, the whole point is just to notice problems with the data.
The problem here is rather specific: In the cmip tables, eg Omon, we find dimension information. Take for example thetao in Omon. There is
"dimensions": "longitude latitude olevel time",

and so our cmor checker goes to CMIP6_coordinate.json finds the latitude and longitude entries together with their respective out_names and checks for their presence. This is very good for most cases since it helps find problems with wrong coordinates in cmip6 data, but in the case of non spherical grids it is specified outside the tables that the dimensions should be replaced appropriately (see above).
Since this is supposed to be a check on the dims it really shouldn't be fixed by looking for 2d coordinates, but rather by detecting a non-spherical grid. Basically, if the dimensions in the cmip6 table include longitude and latitude, but the stored variable contains two other dimensions instead, with all remaining dimensions agreeing, respectively, a non spherical grid is detected and one could switch to a check of the (then required) 2d coordinates.

I think what @sloosvel suggests is a good middle ground. That is, if both latitude and longitude are present in the table, ie in self._cmor_var.coordinates.items() (check.py, l. 242), then turn the error for them missing into a warning that states that this is ok for non spherical grids.
There is no need for fixes. These names should not be changed.

nobody reads the warnings :grin: I really don't see any need for neither a warning nor the more strict error for this particular case (just the lats-lons); having said that please go ahead and change #1023 as you see more appropriate but I reckon re-introducing the error would give us extra cleaning work by making us produce fix files that are not really needed (as Klaus points out); although poor @ledm has already produced a bunch of them :beer:

This is a bit of an aside, but the two CMIP6 BCC models have some really confusion names for latitude and longitude. It's an irregular grid where the x dimension is lon and the y dimension is lat, but the latitude and longitude fields are latitude and longitude.
All the CMIP5 models used the same terms for the values of latitude and longitude fields (lat and lon), so this model data is doubly confusing.
ie. the BCC model netCDF files include the fields:
	lat:	[degrees_north]	latitude
		(u'lat',)=(232,)	float64
	latitude:	latitude	[degrees_north]
		(u'lat', u'lon')=(232, 360)	float32
	lon:	[degrees_east]	Longitude
		(u'lon',)=(360,)	float64
	longitude:	longitude	[degrees_east]
		(u'lat', u'lon')=(232, 360)	float32

These two BCC models require the fix file; including or excluding the CMOR check does not help one way or the other.
(Personally, I think that the underlying problem here there doesn't seem to be any universal standard nomenclature required for model groups when submitting CMIP data, nor does there appear to be any teeth to enforce the standards!)

This is a bit of an aside, but the two CMIP6 BCC models have some really confusion names for latitude and longitude. It's an irregular grid where the x dimension is lon and the y dimension is lat, but the latitude and longitude fields are latitude and longitude.
[...]
These two BCC models require the fix file; including or excluding the CMOR check does not help one way or the other.

Well, yes, but that is a different issue. In this case the files are simply faulty. Both sets of coordinates cannot be correct at the same time, hence one is simply wrong. This should be communicated to the modeling group. Then they should register the error with the es-doc errata service, fix their data, and unpublish/republish on ESGF.
If one wanted to write a fix for that problem, it would be simply the deletion of the lat/lon variables, renaming of the dimensions and best addition of corresponding index coordinates.

(Personally, I think that the underlying problem here there doesn't seem to be any universal standard nomenclature required for model groups when submitting CMIP data, nor does there appear to be any teeth to enforce the standards!)

Come, come, the situation could be much worse. Yes, the specification is complicated and spread out over too many places, and yes, errors show up in the data. But there is a protocol in place to correct these errors and a lot have already been caught or avoided by automatic checks in the creation via cmor and the publishing on esgf.

@sloosvel do you want to have a go at changing #1023 according to your idea?

Sure but it's going to take me a while. If you are in a hurry just merge #1023.

Great! :+1: How much time to you need? Let me know if you need help!

Great! +1 How much time to you need? Let me know if you need help!

Thank you, do I open a pull request for that? I am not sure how do you prefer to review the changes or make comments so any kind of help is welcome.

No need to open a new pull request. Just use the one that @valeriupredoi opened (#1023).
Basically, every PR is associated with a branch. In this case the branch is version2_development_relax_varnameCMORrequirement, so you can just

checkout that branch
make the modifications
commit them to that very branch
push the changes

Then they will automatically show up in the pull request.

@zklaus and @valeriupredoi Just to confirm, iris doesn't do any CMIP/CMOR checks whatsoever, and doesn't inspect or derive any meaning from the NetCDF variable name i.e. iris strictly uses the CF attributes attached to a NetCDF variable to determine what kind of coordinate or cube it is.
HTH


Gravity ticket. case #24

Organization
Aragon
Start Date. (D/M/Y)
5 May 2022
Input mechanism
Typeform (multiple entries)
Graviton in charge
@JuankBell @innov8tor3
Transformational action considered
Mapping the situation from multiple caucuses with the parties and proposing joint meetings to build common ground, looking to overcome communicational constrains and find transformational actions, for short and long term
Dispute continued?
Ongoing mediations and follow up for progress
Notes

Designed a venn diagram that screens the issue with the information gathered from the parties
Multiparty dispute (5+ parties & 7+ caucuses)
Complexity clause will be added because the case took more resources than a small case. (2 month duration since the starting date to the first joint spaces)
Conflict happened in a not so familiar community (to Gravity) in that moment, so it took an extra effort from the mediators to research and gain understanding of the ongoing relationships, structures and  processes.

Additional actions
multiple joint meetings, first with the parties in small groups, and then opening the space for a multiparty conversation.
Evidence
https://docs.google.com/document/d/1wj4ks9hD8Eo2PiJcCvLLFzwC2S7IBHm6-sWtDfCJ2x8/edit?usp=sharing

Gravity_Aragon_Case_Venn_Diagram (2).pdf


& character in pivot table members make the export to HTML fail

Steps to reproduce
import atoti as tt
import pandas as df

data = df.DataFrame({
    "c1": ["a", "b&c"],
    "v":[10.0, 20.0]
})
session = tt.create_session()
store = session.read_pandas(data, store_name="data")
cube = session.create_cube(store)
cube.visualize()
# put c1 level on rows to display "b&c"
# export to HTML

Looks like & is not correctly escaped and the export fails.
Actual Result
Untitled.zip

Env

atoti: 0.4.3
Browser: Firefox

HTML entities in tabular widgets are now correctly encoded.
The fix will be available in the next release.


Quick readme.md text change - Change ASP.NET vNext to ASP.Net 5

CLA confirmed.
@GrabYourPitchforks can you merge?


[pt] Update configure-pod-configmap.md

en PR https://github.com/kubernetes/website/pull/41460/files
/assign @stormqueen1990

Thank you very much for your contribution.
/lgtm

/lgtm
/approve


Handling Maps

I have the following simple classes. The top-level class has a Map of another class.
     public class Shape {
        private Map<String, Color> _colors;

        public Map<String, Color> getColors() {
           return _colors;
        }
     }

     public class Color {
       public String colorName;
    }

Information about the internal class completely disappears with mbknor-jackson-jsonSchema:
    {
      "$schema" : "http://json-schema.org/draft-04/schema#",
      "title" : "Shape",
      "type" : "object",
      "additionalProperties" : false,
      "properties" : {
        "colors" : {
          "type" : "object",
          "additionalProperties" : true
        }
      }
    }

The jackson-module-jsonScheme produces this instead:
    {
      "type" : "object",
      "id" : "urn:jsonschema:org:batfish:client:Client:Shape",
      "properties" : {
        "colors" : {
          "type" : "object",
          "additionalProperties" : {
            "type" : "object",
            "id" : "urn:jsonschema:org:batfish:client:Client:Color",
            "properties" : {
              "colorName" : {
                "type" : "string"
              }
            }
          }
        }
      }
    }

Is there an easy fix to this issue?
PS: Lists are being correctly handled.

I'm not sure how a schema describing something as general as a Map to look like.
Can you suggest what you expect the generated schema to look like?

Is the answer clear to you if the key in the map is a string?
(I am looking at what folks recommend; the answer seems to be some encoding using additionalProperties or patternProperties.)

Since I do not have any specific usecase for this, I think you have to propose something concrete and see how it complies with the Draft 4 spec.

For the class structure above, the following will be ideal (for me):
 {
   "$schema" : "http://json-schema.org/draft-04/schema#",
   "title" : "Shape",
   "type" : "object",
   "additionalProperties" : false,
   "properties" : {
     "colors" : {
       "description" : "hola hola",
       "additionalProperties" : {
         "type" : "object",
         "$ref" : "#/definitions/Color"
       }
     }
   },
   "definitions" : {
     "Color" : {
       "type" : "object",
       "additionalProperties" : false,
       "properties" : {
         "colorName" : {
           "type" : "string"
         }
       }
     }
   }
 }

According to http://jsonschemalint.com/#/version/draft-04/markup/json, the schema above is valid and the following json is conformant to it.
 {
   "colors" : {
      "a" : {
         "colorName" : "red"
      },
      "b" : {
         "colorName" : "blue"
      }
   }
 }

Plus, docson does the right thing with the schema; shows the property "colors" as where the value is Color. (That the keys are strings is implied as json only supports strings.)

Looks like you're correct.
From http://json-schema.org/latest/json-schema-validation.html#rfc.section.5.18

If "additionalProperties" is an object, validate the value as a schema to all of the properties that weren't validated by "properties" nor "patternProperties".

I'll give it a try. Thanks for the research

Perfect, thanks. Happy to help test on my (much more complex) class structures when you have something that I can test drive.

I've implemented improved support for maps which I think results in the jsonSchema you describe.
Please test it out.

Thanks!
This is working, except for one issue. The schema that is produced has an extra "type" : "object" for "colors":
   [....]
   "properties" : {
     "colors" : {
       "type" : "object",            <<<< this one
       "additionalProperties" : {
   [....]

I am not sure if that is necessary, but it is confusing tools that I use to visualize the schema (docson). Would it be OK remove that? Thanks.

@mbknor Any thoughts on this front? Perhaps the note got buried because the issue was closed. (And thanks for replies on the other issues.)

I'll give it another look

Thanks! In case it helps, my pull request had the minor edits needed for this change.

I do not have a proper fix for this yet, but you might take a look at the new annotation @JsonSchemaInject which is included in the new 1.0.16-release. Maybe it can work as a workaround for you.

I can image #50 might solve this issue. @ratulm Can you check?

I assume this issue has been fixed by #50, at least for now..

Thanks!
This is working, except for one issue. The schema that is produced has an extra "type" : "object" for "colors":
   [....]
   "properties" : {
     "colors" : {
       "type" : "object",            <<<< this one
       "additionalProperties" : {
   [....]

I am not sure if that is necessary, but it is confusing tools that I use to visualize the schema (docson). Would it be OK remove that? Thanks.

Not Sure this is correct. If type is missing then no type should be inferred and instead the property could be any type. Admittedly the presence of additionalProperties infers a type of object but I think for correctness it should be included.


Opera GX

Hi! I use opera GX and the notifactions arent working even tho i have them on

fixed it

Oh, glad this got resolved! What specific steps did you take to fix the issue? I might make a writeup in the pinned guide.


Shorten target mount timeout

We currently wait for an hour for a target to mount which may be a bit excessive.
Instead wait for 10 minutes.

Codecov Report

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

@@           Coverage Diff           @@
##           master     #956   +/-   ##
=======================================
  Coverage   95.42%   95.42%
=======================================
  Files           2        2
  Lines         153      153
=======================================
  Hits          146      146
  Misses          7        7

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 f9789d4...a1892b4. Read the comment docs.


Add support for V langauge

This PR adds support for the V langauge.

@RunDevelopment Thanks. I fixed all the problems you mentioned and also add support for directives(such as #include and #flag).

@RunDevelopment Thanks. I fixed all the problems you mentioned and also add support for directives(such as #include and #flag).

Thank you for contributing @taggon!

Thank you for contributing @taggon!


tileSize=256, 0/0/0 rendered is weird

some hack may be needed.
https://github.com/maptiler/tileserver-gl/blob/8730b48c2db51a14ed5133904332ea5a8c7b32ea/src/serve_rendered.js#L433

fixed in https://github.com/Kanahiro/chiitiler/releases/tag/v1.8.2


Convert set(VAR CACHE BOOL) to option()

Both esma_check_if_debug.cmake and esma.cmake have boolean cached options. It might be "cleaner" to change uses of:
set (VAR ON CACHE BOOL "help text")

to use
option (VAR "help text" ON)

per this page it seems equivalent and more succinct. (Note CMP0077 so we should be careful to make sure override behaviors are what we want.)

There are many set command can be changed to option command. For example
#set (BUILD_SHARED_LIBS OFF)
option(BUILD_SHARED_LIBS "Build the shared library" OFF)

@weiyuan-jiang Note - this really only applies to variables that are cached.    Ordinary set() commands should not be changed.   OTOH, your example looks like one that probably should have been cached ...
I'll look at this some more in the morning.


Improve Travis CI build Performance

According to Build times out because no output was received, we should carefully use travis_wait, as it may make the build unstable and extend the build time.
=====================
If there are any inappropriate modifications in this PR, please give me a reply and I will change them.

@YunLemon currently we use GitHub Actions to
https://github.com/seata/seata/blob/develop/.github/workflows/build.yml


basic project architecture with README files

I created a basic directories tree structure to help us organize files. I've written a few things in README.md files to tell us what to put in each directory.
This is an exemple of an "ok" pull request. I branched out instead of modifying the develop branch. Everything is fine and there are no conflicts. The only issue is that my branch is not named well. I didn't add the main tileset, I created the project architecture when I realized I needed to do that prior. So to be perfect I should have created a new branch from the "develop" one, with a correct name, and make a pull request from there.

Usually you'll wait for comment like this one coming from teammates before clicking the "Merge pull request" button. But if you feel confident just do it :D


CAMEL-20281 - Camel-AWS Components: Make it possible to use AwsSessio…

…nCredentials to support temporary credentials - AWS Redshift
Description

Target

[x] I checked that the commit is targeting the correct branch (note that Camel 3 uses camel-3.x, whereas Camel 4 uses the main branch)

Tracking

[x] If this is a large change, bug fix, or code improvement, I checked there is a JIRA issue filed for the change (usually before you start working on it).

Apache Camel coding standards and style

[x] I checked that each commit in the pull request has a meaningful subject line and body.

[x] I have run mvn clean install -DskipTests locally and I have committed all auto-generated changes

/component-test aws


Fix multi-event input

On ncurses, in some situations, a single input can be translated into multiple events: for instance multiple mouse button clicks could be combined in a single input, but we split it into distinct events.
This currently breaks the input system where we approve each input.
The solution is to store the extra input in a buffer and send it on the next input request.

This is fixed for the ncurses backend, should now copy it to the pancurses one.

Pancurses backend has been fixed as well.


Time Label miscue

Describe the bug
The datetimepicker UI displays with some time miscued just above the "Done" button. Please see the attached screenshot. The setup code is also attached as a screenshot.
Expected behavior
The datetimepicker UI should display without the miscue.
Screenshots
If applicable, add screenshots to help explain your problem.
The datetimepicker UI

Library and Device details (please complete the following information):

Library version: 2.5.0
Device: Simulator iPhone 11 Pro Max
OS: iOS14

Hi, can you please check if the problem persists with the default system font?

I've reverted to the system font but the issue persists. Please see screenshots.
view.layoutIfNeeded() did not solve the problem.
I'm also not using any custom height on the picker view.
Please see lines 317 and 321 for when I show the picker view.

I see, you're using datePickerOnly and the time is not hidden properly. A fix is coming shortly, thanks for spotting the issue.

Okay great.
I'll love to point that I have this same setup on another project and it works just fine. DateTimePicker 2.4.1
When I integrated on my new project, it was also on 2.4.1 then I found the problem. After this new problem, I updated to 2.5.0 but the problem persists.
Does downgrading to a lesser version fix the issue for now?

There was no change to the layout since 2.4.1 so downgrading cannot fix it. I'm having trouble reproducing the issue too - does this happen to you 100%?

I downgraded to 2.3.1`` and lost the includeMonth``` setting but the miscued label disappeared. please see attached screenshot.

There was no change to the layout since 2.4.1 so downgrading cannot fix it. I'm having trouble reproducing the issue too - does this happen to you 100%?

Yes it happens to me 100% and I also find it weird as to why the issue does not exist on a previous project but does exist on my new project using the same version.
Also, how soon can I expect the fix you spoke about?

Do you see any warning about some broken layout constraints in the console? I'd love to see that if possible. I'm looking at the issue right now.

Okay, when you say "broken layout constraints," which version are you referring to? 2.4.1???

Yes the version that you're finding the issue.
Anyway I would recommend instead of using computed variable to create new instance of DateTimePicker more than once, you use lazy variable to create only one and update its properties if necessary.
I assume this is constraints issue and I can do a quick fix to make sure the date collection view cell has fixed height. But since I cannot reproduce the weird behavior it's hard to tell if the fix works.

Please update library to commit 8525a6e3b19d13e31ac078c95c33bc168b1df651 to see if it fixes the issue.

8525a6e3b19d13e31ac078c95c33bc168b1df651

Okay I will. This is on version 2.5.0 right?

Yep that's right.

Also, please how do I update to this specific commit?

If you're using pod please specify the commit in the podfile. E.g:
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :commit => '0f506b1c45'

Anyway I would recommend instead of using computed variable to create new instance of DateTimePicker more than once, you use lazy variable to create only one and update its properties if necessary.

The reason for using a computed variable is because there's no way for me to say dateTimePicker.minimumDate or dateTimePicker.maximumDate and those values change dynamically depending on user's selections. This is why I resolved to using computed properties always...

If you're using pod please specify the commit in the podfile. E.g:
pod 'Alamofire', :git => 'https://github.com/Alamofire/Alamofire.git', :commit => '0f506b1c45'

Okay thank you, I will try this and give feedback.

Please update library to commit 8525a6e3b19d13e31ac078c95c33bc168b1df651 to see if it fixes the issue.

This didn't work. Please see attached screenshot.
pod 'DateTimePicker', :git => 'https://github.com/itsmeichigo/DateTimePicker.git', :commit => '8525a6e3b19d13e31ac078c95c33bc168b1df651'

@IniongunIsaac can you please try again with latest commit I just push?

@IniongunIsaac can you please try again with latest commit I just pushed?

Okay let me do that and give you feedback.

Yes it worked with commit: https://github.com/itsmeichigo/DateTimePicker/commit/07925c4054d1c67db732a29652e767a5c4158ec0
See attached screenshot.

Great I'll bump version for the fix. Thanks for the collaboration.

Thank you so much for giving back to the community.

Yes it worked with commit: 07925c4
See attached screenshot.

Quick observation though, the margin between the "Done" button and the top is gone now. You can see that the border line now sits directly on top of the "Done" button.

I also noticed the following logs:
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000315f2a0 UIView:0x7f8c28c7d270.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000315f4d0 UIButton:0x7f8c28c7dd90'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000315f520 UIView:0x7f8c28c7e400.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000315f570 UICollectionView:0x7f8c29082000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003148f50 UIView:0x7f8c28c7d100.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003148cd0 V:|-(0)-[UIView:0x7f8c28c7d270]   (active, names: '|':UIView:0x7f8c28c7d100 )>",
    "<NSLayoutConstraint:0x600003148c80 V:[UIView:0x7f8c28c7d270]-(0)-[UIStackView:0x7f8c28c7e070]   (active)>",
    "<NSLayoutConstraint:0x60000314a4e0 V:[UIStackView:0x7f8c28c7e070]-(0)-[UIButton:0x7f8c28c7dd90'Done']   (active)>",
    "<NSLayoutConstraint:0x60000314a210 V:[UIView:0x7f8c28c7d100]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28c7af80 )>",
    "<NSLayoutConstraint:0x60000314a800 DateTimePicker.DateTimePicker:0x7f8c28c7af80.bottom == UIButton:0x7f8c28c7dd90'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000314af30 'UISV-canvas-connection' UIStackView:0x7f8c28c7e070.top == UIView:0x7f8c28c7e400.top   (active)>",
    "<NSLayoutConstraint:0x600003166940 'UISV-canvas-connection' V:[UICollectionView:0x7f8c29082000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28c7e070 )>",
    "<NSLayoutConstraint:0x60000314f160 'UISV-spacing' V:[UIView:0x7f8c28c7e400]-(0)-[UICollectionView:0x7f8c29082000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000315f570 UICollectionView:0x7f8c29082000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:11:05.561216+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000315f2a0 UIView:0x7f8c28c7d270.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000315f4d0 UIButton:0x7f8c28c7dd90'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000315f520 UIView:0x7f8c28c7e400.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000315f570 UICollectionView:0x7f8c29082000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003148f50 UIView:0x7f8c28c7d100.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003148cd0 V:|-(0)-[UIView:0x7f8c28c7d270]   (active, names: '|':UIView:0x7f8c28c7d100 )>",
    "<NSLayoutConstraint:0x600003148c80 V:[UIView:0x7f8c28c7d270]-(0)-[UIStackView:0x7f8c28c7e070]   (active)>",
    "<NSLayoutConstraint:0x60000314a4e0 V:[UIStackView:0x7f8c28c7e070]-(0)-[UIButton:0x7f8c28c7dd90'Done']   (active)>",
    "<NSLayoutConstraint:0x60000314a210 V:[UIView:0x7f8c28c7d100]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28c7af80 )>",
    "<NSLayoutConstraint:0x60000314a800 DateTimePicker.DateTimePicker:0x7f8c28c7af80.bottom == UIButton:0x7f8c28c7dd90'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000314af30 'UISV-canvas-connection' UIStackView:0x7f8c28c7e070.top == UIView:0x7f8c28c7e400.top   (active)>",
    "<NSLayoutConstraint:0x600003166940 'UISV-canvas-connection' V:[UICollectionView:0x7f8c29082000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28c7e070 )>",
    "<NSLayoutConstraint:0x60000314f160 'UISV-spacing' V:[UIView:0x7f8c28c7e400]-(0)-[UICollectionView:0x7f8c29082000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000315f570 UICollectionView:0x7f8c29082000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:11:41.704136+0100 GIGM Mobile-Staging[3037:31005] Failed to set (valueText) user defined inspected property on (GIGM_Mobile_Staging.HireLocationView): [<GIGM_Mobile_Staging.HireLocationView 0x7f8c28db4410> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key valueText.
2020-10-27 11:11:41.704560+0100 GIGM Mobile-Staging[3037:31005] Failed to set (valueText) user defined inspected property on (GIGM_Mobile_Staging.HireLocationView): [<GIGM_Mobile_Staging.HireLocationView 0x7f8c28d210d0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key valueText.
2020-10-27 11:12:15.134812+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.141012+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.148994+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.154217+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.158054+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.167374+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.171457+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.177217+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.181574+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.187431+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2020-10-27 11:12:15.191272+0100 GIGM Mobile-Staging[3037:31005] [LayoutConstraints] Unable to simultaneously satisfy constraints.
	Probably at least one of the constraints in the following list is one you don't want.
	Try this:
		(1) look at each constraint and try to figure out which you don't expect;
		(2) find the code that added the unwanted constraint or constraints and fix it.
(
    "<NSLayoutConstraint:0x60000318c0f0 UIView:0x7f8c28f93490.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318d130 UIButton:0x7f8c28f92ad0'Done'.height == 44   (active)>",
    "<NSLayoutConstraint:0x60000318c5f0 UIView:0x7f8c28f89ce0.height == 1   (active)>",
    "<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>",
    "<NSLayoutConstraint:0x600003180d70 UIView:0x7f8c28f85cf0.height == 228   (active)>",
    "<NSLayoutConstraint:0x600003180eb0 V:|-(0)-[UIView:0x7f8c28f93490]   (active, names: '|':UIView:0x7f8c28f85cf0 )>",
    "<NSLayoutConstraint:0x600003181040 V:[UIView:0x7f8c28f93490]-(0)-[UIStackView:0x7f8c28f0f110]   (active)>",
    "<NSLayoutConstraint:0x600003181a40 V:[UIStackView:0x7f8c28f0f110]-(0)-[UIButton:0x7f8c28f92ad0'Done']   (active)>",
    "<NSLayoutConstraint:0x600003181ae0 V:[UIView:0x7f8c28f85cf0]-(0)-|   (active, names: '|':DateTimePicker.DateTimePicker:0x7f8c28f7a480 )>",
    "<NSLayoutConstraint:0x600003181bd0 DateTimePicker.DateTimePicker:0x7f8c28f7a480.bottom == UIButton:0x7f8c28f92ad0'Done'.bottom + 20   (active)>",
    "<NSLayoutConstraint:0x60000318e3f0 'UISV-canvas-connection' UIStackView:0x7f8c28f0f110.top == UIView:0x7f8c28f89ce0.top   (active)>",
    "<NSLayoutConstraint:0x600003177e80 'UISV-canvas-connection' V:[UICollectionView:0x7f8c2a06d000]-(0)-|   (active, names: '|':UIStackView:0x7f8c28f0f110 )>",
    "<NSLayoutConstraint:0x60000318e490 'UISV-spacing' V:[UIView:0x7f8c28f89ce0]-(0)-[UICollectionView:0x7f8c2a06d000]   (active)>"
)

Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x60000318cf50 UICollectionView:0x7f8c2a06d000.height == 100   (active)>

Hi I've pushed the fix and updated version 2.5.1. Feel free to close this issue when you find no more problem.

Okay thank you very much.


fix: reference the main workflow version

... doesn't work without a version number:
Invalid workflow file: .github/workflows/this_welcome_message.yml#L13
invalid value workflow reference: no version specified

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


Test and document existingSecret for Postgres passwords

When using the Postgres sub-chart, our chart defaults to creating a random password. Upgrading the chart then leads to https://github.com/Kong/charts/blob/master/charts/kong/FAQs.md#kong-fails-to-start-after-helm-upgrade-when-postgres-is-used-what-do-i-do
Setting postgresql.postgresqlPassword avoids this, but poorly, as it leaves a plaintext password in values.yaml. Using postgresql.existingSecret should be better, but it requires a specific Secret format. From initial research on the Bitnami Postgres chart:
$ grep -r key: .
./templates/statefulset-slaves.yaml:                  key: postgresql-replication-password
./templates/statefulset-slaves.yaml:                  key: postgresql-postgres-password
./templates/statefulset-slaves.yaml:                  key: postgresql-password
./templates/statefulset.yaml:                  key: postgresql-replication-password
./templates/statefulset.yaml:                  key: postgresql-postgres-password
./templates/statefulset.yaml:                  key: postgresql-password
./templates/statefulset.yaml:                  key: postgresql-ldap-password
./templates/statefulset.yaml:                  key: postgresql-password

We need to conduct further research to understand the the different keys' use and special requirements (if any) for their contents. Most will likely just be random strings, but we should provide instructions for creating these (we can't rely on Helm functionality for it anymore; https://unix.stackexchange.com/a/230676 should be a decent source of inspiration).
We may also need new tooling to set KONG_PG_PASSWORD from the existingSecret Secret.

No longer relevant since the current Postgres chart uses lookup to not clear existing Secrets by default.


exportAs

DxSelectBoxComponent does not appear to have an exportAs property set on the component decorator. The exportAs would allow us to use a reference to the select box in the template as well as obtaining named references in the component class using ViewChild.  If exportAs was configured, we would be able to do something like:
<dx-select-box #selectBox1="dxSelectBox" ... />
<dx-select-box #selectBox2="dxSelectBox" .../>
@ViewChild("selectBox1") selectBox1: DxSelectBoxComponent;
@ViewChild("selectBox2") selectBox2: DxSelectBoxComponent;

Hi,

Here is an example with the requested functionality: http://plnkr.co/edit/W4hCwTGbGIOX0ZKX3IB7?p=preview. It operates well on my side.

Can you modify this example to show us the scenario that doesn't work?


Write a readable decoder with structs

Rewrite the decoder to use structs such that it is easier to update later on.

Determined that it is not worth all of the extra typing on the typescript end


ITreeDataTemplate should return Observable.

Currently if the tree items property changes, these changes won't be reflected in the UI.

Should be fixed by 3d5cab29e313aeb6dc42f5dc13f971e423dd749d.


Add Enabled = true, Exported = false to Broadcast Recievers

:sparkles: What kind of change does this PR introduce? (Bug fix, feature, docs update...)

Add Enabled = true, Exported = false to Broadcast recievers

:arrow_heading_down: What is the current behavior?
There is no enabled or exported flag set.
:new: What is the new behavior (if this is a feature change)?
Adds enabled and exported flag to android manifest.
:boom: Does this PR introduce a breaking change?
No
:bug: Recommendations for testing
:memo: Links to relevant issues/docs
:thinking: Checklist before submitting

[ ] All projects build
[ ] Follows style guide lines
[ ] Relevant documentation was updated
[ ] Rebased onto current develop

<receiver android:enabled="true" android:exported="false" android:name="crc6494e14b9856016c30.PushNotificationActionReceiver" />
    <receiver android:enabled="true" android:exported="false" android:name="crc6494e14b9856016c30.PushNotificationDeletedReceiver" />


Question about wiring points

The photo you have of the wired up test points, you seem to have the data wire connected to the test point labelled 'REST'.  Just confirming that this is correct.  Isn't REST a reset line of some kind, and the far left test point labelled ISPDA the data test point?  Or is the board labelling incorrect.  Don't have a scope so can't really check myself...

Yes that is correct.
The board looks like it might've also been used in a different configuration. I suspect that that's why the label isn't UART_TX or something like that.

The labels don't match normal operation functions because those test points are for in-circuit programming of the uC. It needs ISPCL, ISPDA, MRSTN (REST), VDD and VSS which are all present in that row. The MRSTN pin is configured to be UART RX.

Is there any chance that by accidentally first using ISPDA instead of REST that the board was damaged? I confused myself and connected D2 to ISPDA, realised because was getting an unknown value, connected it to REST but still getting no values


Custom notification sound doesn't work

Hello, I have tried to set custom notification sound but it doesn't seem to work. I tried to place the file in obsidian vault, outside, in plugin root folder, in plugins folder, on another disc etc and nothing has worked. Am I doing something work or is there an issue with this option?
Tested on most recent obsidian and plugin version.
BTW. Love your plugin :)

Hi, @Gentleman03
Quick steps for you:

Place your audio file in your vault.
Set its path from the vault's root. Say your file's in AudioFiles and named notification.mp3, your path would be AudioFiles/notification.mp3. Don't forget the file extension (like .mp3, .wav etc.).

Also, I created an example vault. It might help you get things up and running: example.zip.
Let me know if you can get it working

Hi @Gentleman03
Sorry about the bug, I've fixed it in the new release and updated the doc about the custom notification setting

Thank you, now it's working :)


Error when using html formatter on ruby19

I have a project that uses cucumber on ruby19 and when I run my tests I get this error:
undefined method `new' for Html:Module
Using ruby debugger I can see module Cucumber::Formatter doesnt have :Html on constants method, this because that file is not required.
I put that require before options class and everything works fine.
Thats all.

Im using rails 3.1

I'm not sure I agree with this fix. Can you add a full trace of the error you're getting?

The full trace
Using the default profile...
undefined method new' for Html:Module Error creating formatter: html (NoMethodError) /home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/configuration.rb:168:in block in formatters'
/home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/configuration.rb:163:in map' /home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/configuration.rb:163:in formatters'
/home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/configuration.rb:68:in build_tree_walker' /home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/runtime.rb:42:in run!'
/home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/main.rb:43:in execute!' /home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/lib/cucumber/cli/main.rb:20:in execute'
/home/elber/.rvm/gems/ruby-1.9.2-p180/gems/cucumber-1.1.1/bin/cucumber:14:in <top (required)>' /home/elber/.rvm/gems/ruby-1.9.2-p180/bin/cucumber:19:in load'
/home/elber/.rvm/gems/ruby-1.9.2-p180/bin/cucumber:19:in `'

Command:
cucumber features/ -f html -o tmp/cucumber_report.html

We shouldn't require all of the formatters up front like you suggest. This happens on demand via formatter_class in configuration.rb and constantize in constantize.rb
It looks like constantize is returning a Html module. That's weird, because Cucumber::Formatter::Html is not a module, but a class.
Do you have a Html module defined anywhere? (perhaps by one of your gems?)

I can't reproduce this either. @dynaum can you write an automated test to reproduce it? If so, please re-open this ticket.


macOS: Move handling of "universal" apps to electron-packager instead of our own thing

Supported since electron-packager 15.5.0.
This should fix #1405  as well

Dope, thanks Adam. Merged.
I reverted the yellow log; I think it might not fare well under atypical terminal color configs. The current thing, a large block with surrounding newlines, is already quite visible.


Document the process of updating links in the WP content

As the main domain needs to point to the Frontity installation in decoupled mode, the WP installation needs to be on a different domain/sub-domain.
We should document how to update all the links in the WP content when the site URL is changed. As per: https://wordpress.org/support/article/moving-wordpress/
Issue raised here:
https://community.frontity.org/t/my-experience-developing-a-new-frontity-theme-and-remaking-my-blog-with-frontity/2902

This clarification will be covered in the Remodelation of the Architecture page as part of the Embedded Mode documentation task https://github.com/frontity/api-reference/issues/12


Build Guide

Would be helpful!
Trying to build it from the vague guide that is available

I seem to have build successfully but it seems its not working with my ROM.

I got it to build on Windows using the Visual Studio (community) C++ tools. Get this

and then open the developer command prompt

and you should be ok from there.
cmake .
cmake --build .
The issue is, you need the game in an "elf" format, and I haven't been able to find/convert anything into it

The Wii uses elf files, right? Could a game converted to be a Wiiware retro console title and then used?

You can also use MSYS2 on Windows. If I remember correctly, clone the repo with git clone --recurse-submodules as specified (that part can be done in a normal command line), then in MSYS2 run:

cd "N64Recomp directory"
cmake "N64Recomp directory"
cmake --build .

The issue is, you need the game in an "elf" format, and I haven't been able to find/convert anything into it
I would also like to know how to do this.

The Wii uses elf files, right? Could a game converted to be a Wiiware retro console title and then used?
ELF is basically just a standard executable extension that many systems use; they're not actually the same, similar to how Wii WADs and Doom WADs aren't the same.

As far as I can tell, you need to decompile an N64 ROM in order to get an ELF file for it.
I was able to generate the ELF file for Duke Nukem Zero Hour by using this Decompilation project for the game: https://github.com/Gillou68310/DukeNukemZeroHour
You also need to figure out the memory address for a given game's program "entrypoint" however, and include that in the TOML file (This page might be useful: https://n64brew.dev/wiki/CIC-NUS#Variants). In the case of Duke Nukem Zero Hour, it seemed to use a nonstandard entrypoint, but I put in 0x80003940 as a guess (I chose the memory address referenced in the main function at the bottom of main.c in the decompiled source), and that seemed to work.

As far as I can tell, you need to decompile an N64 ROM in order to get an ELF file for it.
I was able to generate the ELF file for Duke Nukem Zero Hour by using this Decompilation project for the game: https://github.com/Gillou68310/DukeNukemZeroHour
You also need to figure out the memory address for a given game's program "entrypoint" however, and include that in the TOML file (This page might be useful: https://n64brew.dev/wiki/CIC-NUS#Variants). In the case of Duke Nukem Zero Hour, it seemed to use a nonstandard entrypoint, but I put in 0x80003940 as a guess (I chose the memory address referenced in the main function at the bottom of main.c in the decompiled source), and that seemed to work.

a little question, after you found the entrypoint, how exactly did you generated the elf file?

a little question, after you found the entrypoint, how exactly did you generated the elf file?

I followed the instructions in that Duke Nukem decomp repo under "BUILDING", and the ELF file was generated along the other files in the build directory.
Truth be told, I'm still not entirely sure what these ELF files are in the context of N64 games, but the readme for this Recomp repo said that decompilation was the easiest way to get an ELF file, and I happened to know of the decomp project for Zero Hour, so I gave it a shot.
For the record I couldn't figure out how to actually use the output of the Recomp binary. After supplying it with the ELF and entrypoint address it generated a bunch of c files, and I was able to generate object/o files from these by including the "include" directory from the Zelda64Recomp repo with GCC, but I couldn't figure out how to actually link the object files to an executable. I figure it might have something to do with the lib directory submodules from the Zelda64Recomp repo, but I didn't have any luck. It could be that there was an earlier entrypoint address than the one I supplied, but in any case I'm giving up for now.

As far as I can tell, you need to decompile an N64 ROM in order to get an ELF file for it.
I was able to generate the ELF file for Duke Nukem Zero Hour by using this Decompilation project for the game: https://github.com/Gillou68310/DukeNukemZeroHour
You also need to figure out the memory address for a given game's program "entrypoint" however, and include that in the TOML file (This page might be useful: https://n64brew.dev/wiki/CIC-NUS#Variants). In the case of Duke Nukem Zero Hour, it seemed to use a nonstandard entrypoint, but I put in 0x80003940 as a guess (I chose the memory address referenced in the main function at the bottom of main.c in the decompiled source), and that seemed to work.

a little question, after you found the entrypoint, how exactly did you generated the elf file?

Compiling an N64 rom with this method also compiles an ELF alongside it.
Poyozit0, what did you use for the TOML? Here's what I tried:
[input]
entrypoint = 0x80003940
elf_path = "dukenukemzerohour.elf"
output_func_path = "RecompiledFuncs"

... but I'm getting a bunch of Potential jal resolution ambiguity warnings and an error indicating No function found for jal target: 0x80000000.

CaveHermit [edit, I put the wrong name], what did you use for the TOML? Here's what I tried:
[input]
entrypoint = 0x80003940
elf_path = "dukenukemzerohour.elf"
output_func_path = "RecompiledFuncs"

... but I'm getting a bunch of Potential jal resolution ambiguity warnings and an error indicating No function found for jal target: 0x80000000.

That looks about the same as what I wrote for my TOML file, although make sure that you have the correct relative paths for elf_path and output_func_path (The way you have it written, it'll only work if the elf file is right next to the Recomp binary).
Did you get any c files in your output_func_path directory? I think I remember my output having "jal resolution ambiguities". but I'm not entirely sure.

just tried this (with paper mario 64), and yes it did have the resolution ambiguity and produce a recompiledFuncs full of c files

Just to add onto the discussion here, I ran across a bash script here that is said to convert .z64 to .elf here. While using the .elf file generated from the script doesn't work with the built executable for recompilation, by opening the .elf in a text editor, you get the same entry point for the ROM as you would by opening it in Ghidra (as I did with Pilotwings 64).

That looks about the same as what I wrote for my TOML file, although make sure that you have the correct relative paths for elf_path and output_func_path (The way you have it written, it'll only work if the elf file is right next to the Recomp binary).
Did you get any c files in your output_func_path directory? I think I remember my output having "jal resolution ambiguities". but I'm not entirely sure.

My TOML is indeed in the same path, so it's fine. I have 1,362 C files plus three other files in my output_func_path, but still running into those warnings and that error.

Just to add onto the discussion here, I ran across a bash script here that is said to convert .z64 to .elf here. While using the .elf file generated from the script doesn't work with the built executable for recompilation, by opening the .elf in a text editor, you get the same entry point for the ROM as you would by opening it in Ghidra (as I did with Pilotwings 64).

I found that same script earlier but couldn't get it to work (I probably just don't have the right mips toolchain or something). Could you just use something like Ghidra to generate an ELF for any rom?

Could you just use something like Ghidra to generate an ELF for any rom?
Funny you should mention this, I'm experimenting with exactly this right now. Here is a library for using n64 roms in Ghidra: https://github.com/zeroKilo/N64LoaderWV

I did find this https://gist.github.com/JayFoxRox/5eaa45b374a44ce27143388bab1753b7 in my searching.... but I can't get it to work. A better option will turn up sooner or later so I am putting this on the back-burner for now.

ooh, interesting
im trying to recompile mario tennis to see what would happen

incase anyone needs it here is what i could find for a base toml config file:
#Config file for

[input]
entrypoint = 0x
# Paths are relative to the location of this config file.
elf_path = ""
output_func_path = "RecompiledFuncs"

manual_funcs = [
]

[patches]
stubs = [
]

ignored = [
]

# Hooks

# Single-instruction patches

incase anyone needs it here is what i could find for a base toml config file:
#Config file for

[input]
entrypoint = 0x
# Paths are relative to the location of this config file.
elf_path = ""
output_func_path = "RecompiledFuncs"

manual_funcs = [
]

[patches]
stubs = [
]

ignored = [
]

# Hooks

# Single-instruction patches

interesting so i just need a entry point value and the elf path then the tool will generate the recompiled game?

interesting so i just need a entry point value and the elf path then the tool will generate the recompiled game?

That's consistent with what was shown in this video, so yeah that's all we should need
I do honestly believe that Ghidra and similar tools will probably be our best bet for figuring out a way to generate an elf file for games that don't have decompilation projects yet

That's consistent with what was shown in this video, so yeah that's all we should need

at 2:27 if anyone is interested, shows Rocket: Robot on Wheels being converted

https://n64decomp.com/basics/rom/rom_image_specification.html might help somewhere

Depending on the used CIC variant (CIC Specification) certain modifications to Entrypoint will be done before giving control flow to the ROM’s BOOT segment.

click on CIC Specification 'to do' lol

You know what might work.... the Ares emulator https://github.com/ares-emulator/ares/tree/master/ares/n64/cartridge
An extra function to dump an elf file from that could work.
I honestly don't know, just throwing ideas in the air.

You know what might work.... the Ares emulator https://github.com/ares-emulator/ares/tree/master/ares/n64/cartridge
An extra function to dump an elf file from that could work.
I honestly don't know, just throwing ideas in the air.

Is that an actual feature of Ares, or are you speaking hypothetically?

You know what might work.... the Ares emulator https://github.com/ares-emulator/ares/tree/master/ares/n64/cartridge
An extra function to dump an elf file from that could work.
I honestly don't know, just throwing ideas in the air.

Is that an actual feature of Ares, or are you speaking hypothetically?

hypothetically, I am just compiling information for people who are smarter than I to be able to do something... Currently looking at https://github.com/HerbieHSSO/PyN64 but it makes little sense to me.

I mentioned this in my issues thread but gonna send it here too for everyone else because it is important:
I was able to generate an elf file with this bash script https://gist.github.com/JayFoxRox/5eaa45b374a44ce27143388bab1753b7
What you have to do in order to make this bash script work is you have to install n64chain in order for it to correctly generate the elf file https://github.com/tj90241/n64chain. However, I have hit a roadblock. While the entry point address needed to generate the elf file is correct, the N64Recomp program still spits out an error when feeding in the toml and elf files. The game that I am using to test this is Conker's Bad Fur Day. Hopefully this helps people get further along with figuring this out, but until now, this issue is still not resolved.

If you ever need to convert to any of the 3 existing format of N64 roms you can use Tool 64 https://www.zophar.net/utilities/n64aud/tool-n64.html
There is this short explaination about N64 rom formats, tldr it's all about endianess https://www.reddit.com/r/emulation/comments/7hrvzp/the_three_different_n64_rom_formats_explained_for/

Apologies for not having this out yet, but I will be creating a minimal recomp example in the near future that should help clear up how to use the tool. The main requirement is that you have an elf file (which can be generated from a disassembly or decompilation) or a symbol file and the ROM.

i did find this to convert a z64 file to elf https://gist.github.com/JayFoxRox/5eaa45b374a44ce27143388bab1753b7

That elf won't work here, it just packages the ROM up into an elf without providing any symbols. The recompiler needs to know where the code is in the ROM, which is what the symbols in elf are used for.

oh ok

Apologies for not having this out yet, but I will be creating a minimal recomp example in the near future that should help clear up how to use the tool. The main requirement is that you have an elf file (which can be generated from a disassembly or decompilation) or a symbol file and the ROM.

I guess that a lot of people (myself included) come from this video which gives the impression that the tool only needs a ROM. It is my understanding, and it seems to be what you're saying, that this tool won't bypass the decompilation step which still has to be done manually as it need an elf file that you get through a manual decompilation.
Or the symbol file (supported in the future) simplifies a lot the reverse engineering needed to the point where we can say it's not neeeded anymore to have a decompiled version of an N64 game?

The work needed to produce a viable elf file for a recomp is only days worth of effort with modern N64 reverse engineering tools, such as splat. You don't need to decompile any code; a disassembly works fine. If you know how to use the reverse engineering tools then it's practically automated nowadays with how good all the tooling is. That's why Nerrel mentioned that it took me a couple of days each to get MM, Rocket and Superman running initially. With that said, it still requires knowledge of reverse engineering as they (and this recompiler itself) are very technical tools.
The symbol file mechanism I'm adding will let you throw a ROM directly at the program without an elf, but the symbol file will still require a similar amount of reverse engineering to get running. I wouldn't be surprised if somebody makes a tool in the future to generate a symbol file mostly automatically from a ROM, which would reduce that already small amount of work required even further.

Sorry if this is redundant or completely wrong, I'm new to N64 modding, but I really enjoy emulation and game preservation, and this project absolutely fascinated me. Does this this create a sufficient structure of symbols to create an adequate ELF file, or would there still be more work to be done? If not, can you link to a resource explaining how in a future README? I ask because I think a lot of people are attracted to this idea, and it would be a shame to have them be turned off by this roadblock so quickly. Thank you for making such a great advancement in the space.

It looks like that only searches for specific symbols, rather than generating a list for all the code in the ROM, so no. Depending on how well it works it would be a good start, but you'd still need to find where all the code in the ROM is besides what this tool looks for.
I'm not sure I could write instructions on how to learn reverse engineering in general (and for N64 specifically), given the scope of what that'd have to cover. It took me a while to learn what I know about it, which I got from working on ROMhacks and helping with decompilations (among other things), so I wouldn't really know how to encapsulate all that knowledge into a guide. This tool is mostly focused on reducing the effort and time needed, but like I mentioned it's still a very technical process.
There are communities where people do N64 reverse engineering that do exist, but given how popular this project has gotten (a fact I couldn't be happier about), I'd be worried about overwhelming them with how many people would end up joining if I linked them directly. As I mentioned, I could imagine that people may make other tooling to make the recompilation process easier in the future. If that happens, I'll be sure to link them in the description of this tool.

For those building in Windows, I was having this error when attempting to run cmake . via the command prompt:
Running 'nmake' '-?' failed with:  no such file or directory
To be completely verbose, running the following commands after cloning the repository got it working for me:

git submodule update --init --recursive
cmake -S . -B Build
cd Build
cmake --build .

Personally, the command cmake --build .  gives me an error in my Windows command prompt,
but with the command cmake --build . --config Release, it works correctly.

I got it to build on Windows using the Visual Studio (community) C++ tools.
and you should be ok from there.
cmake . cmake --build .
The issue is, you need the game in an "elf" format, and I haven't been able to find/convert anything into it

I get 4 error popups after installing it with that C++ toolset. I'm on Win10 x64 Pro, if that matters. Msys2 and Cygwin won't compile this thing either. Can someone just share the compiled binary file already?

Oh, man, reading all this I have a question - is it theoretically possible to recompile a PS4 game like this?

Oh, man, reading all this I have a question - is it theoretically possible to recompile a PS4 game like this?

The only way you’re getting a PC port of Bloodborne is if Sony makes it themselves or someone leaks the source code.

The only way you’re getting a PC port of Bloodborne is if Sony makes it themselves or someone leaks the source code.

Not true. There is a potential emulator in development (though it seems like there is a possibility that the dude who develops it was already contacted by Sony and paid to not develop it LMAO), and, theoretically, somebody could actually reverse-engineer the source code, like modders do. I just asked the person who created the "Tool to statically recompile N64 games into native executables" if this is possible to do with PS4 as it was with N64.

i need a makefile, it wont work without one?

Please make a video or something going through the process.
Right now I've deep dived into a lot over the past week and hit the ELF roadblock that everyone else seems to be hitting.
These are the steps I've come to understand needs to happen from scratch:
Git Cloned N64Recomp
Cmake the git clone
Built via Visual Studio
Working EXE awaits input.
*Digging around for methods to generate the ELF
*Used splat on z64 for yaml + asm / assets / etc - This gets some decent data to work with from the z64
Step 2 -> ????
Step 3 -> Generate ELF
Now also reading some methods people are using is not properly compiling the right symbols / types / etc, so the ELF becomes useless and there's more involvement in that.
Step 4 -> Correctly generate an accurate ELF ?
Step 5 -> Plug toml and ELF into EXE
Step 6 -> Feel smart for great success

This project isn't at the point where a checklist like that is going to work. Like wiseguy said earlier, this process requires knowledge of several tools and how n64 games are structured. Hopefully at some point, various components of the pipeline can be streamlined. But right now, you have to really understand a lot of the inner workings of things

Guess I'll have to deep dive into reverse engineering resources / documentation then.

Just throwing in my experience  so far. I was able to get my ROM in an elf format using the existing WIP Pokemon Snap decomp project https://github.com/ethteck/pokemonsnap.
Found the entry point and wrote a toml settings file.
Ran N64Recomp and generated C code files for the game.
Now I'm in the process of trying to figure out how to compile this into an executable. I'm digging through the Zelda64Recomp project and trying to harvest the necessary bits of code from there. Unfortunately I haven't touched C in a long time and have no experience with CMake or MSVS. I'm a bit confused at this point though because it looks like Zelda64Recomp doesn't include source files for Zelda, it recompiles the source on build when you supply an elf, is that right? So is it more like a specific use case version of the N64Recomp, but with UI and patches and such? If that's the case, what do I do with my generated Pokemon Snap C code? I think I'm misunderstanding something here.

This project is fascinating, but there are many doubts and a lack of documentation. Let's hope there are more concrete answers. What I want to know is how to link the graphical API, or how this process is done. I kind of understand the .elf thing, and it won't always work because there are games that use overlays.

I mentioned this in my issues thread but gonna send it here too for everyone else because it is important:
I was able to generate an elf file with this bash script https://gist.github.com/JayFoxRox/5eaa45b374a44ce27143388bab1753b7 What you have to do in order to make this bash script work is you have to install n64chain in order for it to correctly generate the elf file https://github.com/tj90241/n64chain. However, I have hit a roadblock. While the entry point address needed to generate the elf file is correct, the N64Recomp program still spits out an error when feeding in the toml and elf files. The game that I am using to test this is Conker's Bad Fur Day. Hopefully this helps people get further along with figuring this out, but until now, this issue is still not resolved.

If you are still playing this game (Conker BFD) I would like to know if I can contact you, I am currently making some mods


Athenaeum spams debugging console logs for cover calculations.

From a quick glance at the code, it seems that the game settings for debug being true or false are never checked in logger.js
As I am not sure if this is intended behaviour or not and what I did makes sense, I will add it here as an issue and not 2 separate PRs (here and Cover Calculator)
export class logger {
    static info(title, ...args) {
        console.log(`${title || "" }  | `, ...args);
    }

    static debug(isDebug, ...args) {
        if (game.settings.get(isDebug,"debug")) {
            this.info("DEBUG | ",isDebug, ...args);
        }
    }

    static error(title, ...args) {
        console.error(`${title || "" } | ERROR | `, ...args);
        ui.notifications.error(`${title || "" } | ERROR | ${args[0]}`);
    }

    static notify(...args) {
        ui.notifications.notify(`${args[0]}`);
    }
}

The initial relevant code was
static debug(isDebug, ...args) {
        if (isDebug) {
            this.info("DEBUG | ", ...args);
        }
    }

That needed 2 secondary small changes in Simbul's Cover Calculator and specifically in CoverCalculator.js:665
   logger.debug(MODULE.data.name,"Collisions | ", collisions);
   logger.debug(MODULE.data.name,"Results | ", results);

and in Shape.js:77
   logger.debug(MODULE.data.name,'Ignoring invalid wall:', wall);

Thanks for the detailed information. This is what happens when you split a big module into smaller ones. I'll update this in all relevant modules later this week, once I have some time to give love to all the modules :)

This is exactly my issue over in cover calculator I was just a dunce and put it in the wrong modules github sorry bout that.

This will be fixed in the next release of the modules


Remove caching configuration

Caching can be enabled or disabled (see server.js) but [when] does it make sense to disable caching at all?

I think we disabled client-side caching for jskos-server because data could change very quickly and we don't know when the data will change (i.e. client requests the recently created mappings).
This would only apply here if the schemas are frequently updated and changes need to be visible in the API quickly.