[Feature]: Developer can Apply a Minimal Space Manifest to Create Processes and Update Process Attributes (Command and Scaling)

Blockers/Dependencies

https://github.com/cloudfoundry/cf-k8s-api/issues/144

Background
As an App Developer
I want to be able to provide configuration for my App in the form of a (semi) declarative manifest
So that I can configure my App without scripting imperative CLI commands or orchestrating a bunch of API endpoint calls
Users can provide their own manifest along with their App Source code (or in a different directory via the --manifest and -f flags) and modern CF CLIs will interpret cf push flags and apply those on top of it. Even if the user doesn't provide a manifest, the CLI will construct one and use it for the bulk of the app creation/configuration flow of cf push.
There are many attributes that can be supported in an App Manifest:

https://v3-apidocs.cloudfoundry.org/version/3.108.0/index.html#the-manifest-schema
https://docs.cloudfoundry.org/devguide/deploy-apps/manifest-attributes.html

For the sake of this story, we aim to support a subset, the ability to create and update Processes:
---
version: 1
applications:
  - name: app1
    processes:
      - type: web
        command: start-web.sh
        disk_quota: 512M
        instances: 3
        memory: 500M
      - type: worker
        command: start-worker.sh
        disk_quota: 1G
        instances: 2
        memory: 256M

The manifest supports "friendly" options for disk_quota and memory and converts them to the MB integer values that users expect. We can use https://github.com/cloudfoundry/bytefmt to do this parsing.
Note: Existing Processes that are not specified by the manifest are left alone.
Acceptance Criteria
Happy Path (App does not exist)
GIVEN I have a manifest that specifies an App that does not currently exist
WHEN I send it to the CF API Shim via the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the file @/path/to/manifest.yml looks like
---
version: 1
applications:
  - name: app1
    processes:
      - type: web
        command: start-web.sh
        disk_quota: 512M
        instances: 3
        memory: 500M
      - type: worker
        command: start-worker.sh
        disk_quota: 1G
        instances: 2
        memory: 256M

THEN I see a CFApp created in the appropriate namespace in the STOPPED state and CFProcesses with config that matches what we specified. The response from the API should have no body, but return the following
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Happy Path (App does exist and is STARTED)
GIVEN I have an existing App and it is in the STARTED state (state doesn't actually matter too much, it shouldn't be changed)
WHEN I send it to the CF API Shim via the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the file @/path/to/manifest.yml looks like
---
version: 1
applications:
  - name: app1
    processes:
      - type: web
        command: start-web.sh
        disk_quota: 512M
        instances: 3
        memory: 500M
      - type: worker
        command: start-worker.sh
        disk_quota: 1G
        instances: 2
        memory: 256M

THEN I see the existing CFApp configured and remain in the STARTED state. Any existing CFProcesses should be updated with config that matches what we specified. Any existing CFProcesses that are not present in the manifest should be left alone. Any missing CFProcesses should be created. The response from the API should have no body, but return the following
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Happy Path (Legacy Manifest without Processes array)
GIVEN I have an existing App
WHEN I send it to the CF API Shim via the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the file @/path/to/manifest.yml looks like
---
version: 1
applications:
  - name: app1
    command: start-web.sh
    disk_quota: 512M
    instances: 3
    memory: 500M

THEN I see the existing CFApp configured. If it exists, the web type CFProcess should be updated with the command, disk_quota, instances, and memory values. If the web process does not exist, it should be created.
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Manifest Contains Config We Don't Support
GIVEN I provide a manifest with attributes that our API Shim does not currently support
WHEN I send it to the CF API Shim via the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

where the file @/path/to/manifest.yml looks like
version: 1
applications:
- name: app1
  buildpacks:
  - ruby_buildpack
  - java_buildpack
  env:
    VAR1: value1
    VAR2: value2
  routes:
  - route: route.example.com
  - route: another-route.example.com
    protocol: http2
  services:
  - my-service1
  - my-service2
  - name: my-service-with-arbitrary-params
    binding_name: my-binding
    parameters:
      key1: value1
      key2: value2
  stack: cflinuxfs3
  metadata:
    annotations:
      contact<EMAIL_ADDRESS><EMAIL_ADDRESS>    labels:
      sensitive: true
  processes:
  - type: web
    command: start-web.sh
    disk_quota: 512M
    health-check-http-endpoint: /healthcheck
    health-check-type: http
    health-check-invocation-timeout: 10
    instances: 3
    memory: 500M
    timeout: 10
  - type: worker
    command: start-worker.sh
    disk_quota: 1G
    health-check-type: process
    instances: 2
    memory: 256M
    timeout: 15

THEN I I see the CFApp and CFProcesses updated for the fields we do support. All other fields are ignored, but the request should succeed.
HTTP/1.1 202 Accepted
Location: https://api-shim.example.org/v3/jobs/sync-space.apply_manifest-<space-guid>

Manifest Contains Invalid Config that We Do Support
GIVEN I provide a manifest with attributes that our API Shim supports, but with invalid data
WHEN I send it to the CF API Shim via the following request
curl "https://api-shim.example.org/v3/spaces/<space-guid>/actions/apply_manifest" \
  -X POST \
  -H "Authorization: bearer [token]" \
  -H "Content-type: application/x-yaml" \
  --data-binary @/path/to/manifest.yml

---
version: 1
applications:
  - name: app1
    processes:
      - type: web
        command: start-web.sh
        disk_quota: foo
        instances: -3
        memory: 500M
      - type: worker
        command: start-worker.sh
        disk_quota: -1G
        instances: seven
        memory: bar

THEN I receive a 422 with the following error message*
HTTP/1.1 422 Unprocessable Entity
Content-Type: application/json

{
   "errors": [
      {
         "detail": "Manifest contains invalid attributes",
         "title": "CF-UnprocessableEntity",
         "code": 10008
      }
   ]
}

Dev Notes

We want the manifest to function the same as the individual endpoints for various actions it can take. Try and factor out logic into reusable pieces where possible. The main difference here should be in the request parsing layer.
Refer to the CCNG Space Manifest controller (and its message/action classes) for inspiration: https://github.com/cloudfoundry/cloud_controller_ng/blob/main/app/controllers/v3/space_manifests_controller.rb

Look at Cloud Controller AppApplyManifestimplementation

Fields we don't support should just be ignored.
This is the library Cloud Controller uses to parse the "human readable" disk_quota and memory values: https://github.com/goodmustache/palm_civet/blob/master/lib/palm_civet.rb. We can use https://github.com/cloudfoundry/bytefmt to do this in our codebase
Discussion around Process start command precedence

This is really complicated.. Cloud Controller currently has logic around when to use buildpack/Procfile specified command vs user Specified
https://github.com/cloudfoundry/cloud_controller_ng/blob/20150b672db70d940e0d3136d3acae371eb4c18e/app/models/runtime/process_model.rb#L400-L405
For this story we've said start command precedence is out of scope and the behavior is not currently specified. We can do that in a future story if desired

Processes should be created similar to how the AppController does here. This controller currently sets default values for certain fields. We want to make sure these defaults are set in a consistent way no matter how the Process is made (kubectl, manifest endpoint, AppController) so consider how we should do that and write a separate story to do it.

Looking at https://v3-apidocs.cloudfoundry.org/version/3.109.0/index.html#the-manifest-schema, we see that the only required Process field is type. What do we do for the other values if they are not provided? Currently, most of the fields are required on the CR, so we'd have to provide defaults in the API. Alternatively, we could provide defaults either in a mutating webhook or in the controller.


GUACAMOLE-793: CAS Provider returns Group - like LDAP Provider

Here's a functioning solution to this PR.  I'm not a java programmer (first project), but it looked easy enough to take a crack at, so I did.  It works for my own use case (CAS backed by LDAP), but definitely needs more testing.  I figured I'd submit it for review while I do that testing..

@siacali: Thanks for taking a stab at this!  I'll try to get the code reviewed before too long.
A couple of minor house-keeping issues, though, ahead of that review:

Please make sure that the PR title matches the format we use consistently throughout the project - that is "GUACAMOLE-793:" (vs. "Guacamole 793").
Please make sure that all commit messages contain the "GUACAMOLE-793:" prepended to the message.
Please make sure the commit messages are meaningful and descriptive summaries of the commits.

Thanks, I've done the housekeeping fix-ups you've requested.

@siacali: Thanks for updating things - unfortunately you actually need to go back and rebase and/or squash commits together.  Right now you've added two commits, and one of them is a "merge" of a branch - you'll want to go back and rebase everything on top of the current master and then edit the original commit messages.  Afterward you'll need to do a "git push -f" as git will complain about the branches having diverged.

Hi Nick,
Thanks for the review!  I'll get these cleaned up and resubmitted shortly.  On the thinking behind both the creation of the TokensAndGroups class, and leaving the group attribute in Tokens:

I have no idea how folks may be using (or planning to use) Tokens, so I left their implementation alone.  I didn't want to change the end-user apparent functionality of the existing code, especially since the Jira story was to "implement" not to clean up.  Did I take that too literally?  :-)   I did briefly consider re-implementing the underlying library so it would return the group attributes in a more sensible/structured fashion...decided to "fix" that if/when there's a Jira story raised on it...

I had considered letting ValidateTicket just pass back Tokens and handle the parsing of groups there, but that would make it less obvious to someone reading the code (perhaps with intentions of modifying the "Token" code) that Groups depended upon that functionality.  This way, dependencies are reduced and the dirty work of dealing with both is right out in the open.   Normally I wouldn't make a class to use once, but given the choice of "hiding" dependencies in two separate modules or making a simple class to make things clearer, well...you know what I chose.   Considering that thinking, would you still prefer I restructure away TokensAndGroups?

I have no idea how folks may be using (or planning to use) Tokens, so I left their implementation alone.

That's fine - I have no issue with these remaining available as a token.

I had considered letting ValidateTicket just pass back Tokens and handle the parsing of groups there, but that would make it less obvious to someone reading the code (perhaps with intentions of modifying the "Token" code) that Groups depended upon that functionality.

My current view is that this just adds more complexity than it's worth, and that doing a private method within the current class to parse it out is probably the way to go.  I'd appreciate feedback from some of the other project members, though - @mike-jumper @jmuehlner @ceharris, any thoughts on this?  I don't want to be the single voice pushing in one direction or another...

I have no idea how folks may be using (or planning to use) Tokens, so I left their implementation alone.

That's fine - I have no issue with these remaining available as a token.

I had considered letting ValidateTicket just pass back Tokens and handle the parsing of groups there, but that would make it less obvious to someone reading the code (perhaps with intentions of modifying the "Token" code) that Groups depended upon that functionality.

My current view is that this just adds more complexity than it's worth, and that doing a private method within the current class to parse it out is probably the way to go. I'd appreciate feedback from some of the other project members, though - @mike-jumper @jmuehlner @ceharris, any thoughts on this? I don't want to be the single voice pushing in one direction or another...

@necouchman ,
I revisited this with the intentions of accepting your guidance and implementing it the way you wished to see it done.  In getting into it, I discovered that he returned token names are all capitalized (and group names are case sensitive), so parsing those to create groups won't work quite right.   It looks like the extra class is actually not a bad way to get it done.  Also has the benefit of being much more efficient than the other method would be in terms of fewer loops, no string operations to undo combines that were just done, etc...
Can we agree to keep it or do you have other guidance?

@siacali - There seems to be an extra commit with a binary file in it (ebebb69).  This should probably be removed.

Gentlemen, Thank you for taking the time for a detailed review.  I will try to make some time to respond to/incorporate the changes requested.  Realistically, It probably will be a few more weeks as I've got a pretty full plate.  Meanwhile, as a side note (and admittedly pretty irrelevant to your requests) we do have these changes running in our production environment and they seem to function well as intended.  Regardless, I do want to make this contribution fit the high standards you've established for this project, and wherever possible make it fit general purpose needs.  As such I will comply (or debate) your review as appropriate.   Thanks for the patience and your time and efforts.

Thanks @siacali - we are happy to have your contributions to the project.  It's great to know that it's working well in your environment, too.  I'm always happy to find someone else using CAS and interested in making stuff work with it!

@siacali:Ping - any chance to further refine these changes?

Bumping merge base from staging/1.2.0 to master so that we can proceed with a 1.2.0 RC.
@siacali, hope all is well. Let us know if you have any questions on the feedback thus far.

Sorry guys, I had gotten caught up in other things and had let this slip.  I'll put it on my list and see if I can get to it within the next week or two.  Feedback is clear.

Hi, @siacali has asked me to assist with this. After reviewing the changes and discussion here I agree with the approach suggested by @mike-jumper "Perhaps validateTicket() should return the CASAuthenticatedUser instance?". I've created a patch that does this and it is going through some testing. If all works as expected I will resubmit this, rebasing on top of the current master. Does this seem like the right way to go?

Closed by #579.


update jsonnet container to use go-jsonnet and jsonnetfmt

Update jsonnet to 0.13.0
Use only jsonnetfmt from google/jsonnet (C++ version)
use go version of jsonnet as it is ~3x faster than C++ version.

Speed test for 0.13.0 (generating files in openshift/cluster-monitoring-operator repo):
C++ version:
real    0m25.563s
user    0m25.107s
sys     0m0.590s

Go version:
real    0m7.763s
user    0m9.052s
sys     0m0.558s

/cc: @brancz @metalmatze @s-urbaniak @squat

lgtm :+1:


using SNV/SNP file with spectre in tumour samples

I am calling CNVs in tumour ONT long-reads and want to try using spectre
I assume it is preferred to input SNPs from a matched tumour sample rather than germline SNPs? Or would germline SNPs be more informative as these are many orders of magnitude more frequent?
Secondly, would it work to use more accurate illumina short-read SNV calls from a matched sample or SNV calls from the same long-reads used to call CNVs?

Hi @eesiribloom

I assume it is preferred to input SNPs from a matched tumour sample rather than germline SNPs? Or would germline SNPs be more informative as these are many orders of magnitude more frequent?
In the current version, we use SNV data from the tumor in order to compute the CN associated with the ploidy using "perfect" heterozygous SNPs (AF 50±10%) so the VCF needs to be from the tumor. In a future release, we also use the SNV and coverage data from the control to improve the calling of both CNV and Loss of Heterozygosity (LoH) which will be released by the end of the year.

Secondly, would it work to use more accurate illumina short-read SNV calls from a matched sample or SNV calls from the same long-reads used to call CNVs?
Yes for LoH detection, but not for estimation of the coverage for the CN neutral.

thanks for the reply @lfpaulin . If it's recommended that you use the copy number neutral state from the SNV data instead of the coverage would you recommend generating SNV calls from tumour long-reads to use in this case?


ClassNotFoundException[org.apache.http.conn.ClientConnectionManager];

I've installed the plugin as suggested and restarted elasticsearch.
When I try to add a repository, I get a 500 error (with redactions):
RemoteTransportException[[nodename][inet[/xxx.xxx.xxx.xxx:9300]][cluster:admin/repository/put]];
nested: RepositoryException[[swift_backup] failed to create repository];
nested: CreationException[Guice creation errors: 1)
Error injecting constructor, java.lang.NoClassDefFoundError: org/apache/http/conn/ClientConnectionManager at
org.wikimedia.elasticsearch.swift.repositories.SwiftRepository.<init>() at
org.wikimedia.elasticsearch.swift.repositories.SwiftRepository at
Key[type=org.elasticsearch.repositories.Repository, annotation=[none]] 1 error];
nested: NoClassDefFoundError[org/apache/http/conn/ClientConnectionManager];
nested: ClassNotFoundException[org.apache.http.conn.ClientConnectionManager];

Command (with redactions):
curl -XPUT 'http://localhost:9200/_snapshot/swift_backup' -d '{
    "type": "swift",
    "settings": {
        "swift_url": "https://myswiftsvc.com:35357/auth/v1.0",
        "swift_authmethod": "KEYSTONE",
        "swift_tenant": "elasticsearch",
        "swift_container": "elasticsearch",
        "swift_username": "0000000000000000000:elasticsearch",
        "swift_password": "somepass"
    }
}'

This may be a joss issue as ClientConnectionManager was deprecated in httpclient 4.0, removed in 4.3. I have tried installing httpclient 4.0 but still getting the same error.


using NCBI refseq annotation as input for pigeon?

Current "pigeon classify" just takes gencode.annotation.gtf as one of the inputs - is it possible to allow using NCBI refseq annotation (gtf) as input?
thanks

Hi @chunlinxiao. You can use other annotations as long as they meet the specifications here https://isoseq.how/classification/pigeon-annotation.html
We just released pigeon v1.2.0 which has a new pigeon prepare tool that will validate your annotation.
https://isoseq.how/classification/workflow.html#prepare-reference-files-for-pigeon


OpenXML doesn't retrieve correct display formatted data

In excel file, the data is displaying these values:
232.2342
343454
3.343
43.4343
43.343
345.545
54.454
But when I use OpenXML for retrieve data, it show me different with more than decimal point:
232.234200002
343454
3.3429999
43.43430345234
43.3429999
345.545
54.454
This is my testing code:
`string value = null;
        // If the cell does not exist, return an empty string.
        if (theCell != null)
        {
            value = theCell.InnerText;

            // If the cell represents an integer number, you are done.
            // For dates, this code returns the serialized value that
            // represents the date. The code handles strings and
            // Booleans individually. For shared strings, the code
            // looks up the corresponding value in the shared string
            // table. For Booleans, the code converts the value into
            // the words TRUE or FALSE.
            if (theCell.DataType != null)
            {
                switch (theCell.DataType.Value)
                {
                    case CellValues.SharedString:

                        // For shared strings, look up the value in the
                        // shared strings table.
                        var stringTable =
                            wbPart.GetPartsOfType<SharedStringTablePart>()
                            .FirstOrDefault();

                        // If the shared string table is missing, something
                        // is wrong. Return the index that is in
                        // the cell. Otherwise, look up the correct text in
                        // the table.
                        if (stringTable != null)
                        {
                            value =
                                stringTable.SharedStringTable
                                .ElementAt(int.Parse(value)).InnerText;
                        }
                        break;

                    case CellValues.Boolean:
                        switch (value)
                        {
                            case "0":
                                value = "FALSE";
                                break;
                            default:
                                value = "TRUE";
                                break;
                        }
                        break;
                }
            }
            else if (theCell.StyleIndex != null && theCell.StyleIndex.HasValue && numberingFormats != null)
            {
                // look up the style used for the cell
                int formatStyleIndex = Convert.ToInt32(theCell.StyleIndex.Value);
                var cf = (CellFormat)cellFormats.ElementAt(formatStyleIndex);

                if (cf.NumberFormatId != null)
                {
                    var numberFormatId = cf.NumberFormatId.Value;
                    var numberingFormat = numberingFormats.Cast<NumberingFormat>().Single(f => f.NumberFormatId.Value == numberFormatId);

                    // Here's yer string! Example: $#,##0.00_);[Red]($#,##0.00)
                    return numberingFormat.FormatCode.Value;
                }
                else
                {
                    value = theCell.InnerText;
                }
            }
        }
        return value;`

Hello thanhvyit: Can you please attach your test file so that I can try to repro the issue and have a look?

Thanks for your response!
Please get the test file in attachment.
testdecimals.xlsx

Sorry for not being clear, please share the file that has testing code (.cs file)

@thanhvyit : Gentle reminder, would you like to share the requested .cs file or solution so that we can have a look ?

Sorry for late response, I actually found solution for it. Just return Double.Parse(cell.CellValue.Text, CultureInfo.InvariantCulture).ToString() if datatype null.
Thank you very much!

@thanhvyit This seems like a workaround rather than an actual solution. Why should the DataType be null if the value is decimal? Shouldn't OpenXML identify correctly the datatype automatically?
@tarunchopra Can you confirm why the values: 3.343 gets translated into: 3.3429999?
I ran into the same issue when reading values from excel using OpenXML but this seems to be an issue that has to be fixed by the team behing the OpenXML project.

same case with me, we need to re open this issue @tarunchopra , values like "4.9" in excel gets translated to. Given that it is in General format. WE should be able to fetch the value of the cell as it was inputted

@apetrut @tarunchopra

Thanks @thanhvyit CultureInfo.InvariantCulture saved me, thanks for posting the solution to fix that problem.


Make node version work with bindings to native Rust

obviously this is a major feature request / roadmap item, but I guess tracked somewhere else as well?

Yep, still tracked but just internally - will follow up with a task break down once someone starts to work on this


Fixed model binding bug for POST/PATCH requests

This is great, thank you! The new filter is definitely the better way to do it. I think I'll get a chance to give it a test tomorrow.

Thank you for the PR. The unit tests needed fixing but that was all!

Thanks! Do you know when this fix will be released?

No problem. I can put a fix together this week. Do you need it fast?

This week is fine. I have copied the two resource files in my project for now.


WinRT MIDI stack is presently unusable.

I am hoping you will be able to give this the attention it deserves given the work you have done here.
The WinRT MIDI stack appears to have a serious name handling flaw that manifests a number of issues.
Here are a few examples of enumerated device names:
Oxygen 25 [0]
Oxygen 25 [1]
A-01 [0]
A-01 [1]
Launchpad S [0]
Launchpad S [1]
QUAD-CAPTURE (1)
Boutique (1)
The device names that end in [0] are for output, and the device names that end in [1] are for input.
The devices above with names that end in (1) support both input and output, yes, that little detail is also problematic.
Any device that has a consolidated name for input and output, that is, it does not have a [0]/[1] ending to its name, those ending in (1) above, hang the MIDI stack when any given SysEx message is sent to its output port.  The GUI of the associated App also becomes frozen.  Interestingly, the event handler continues to fire.  The only way to clear the issue is to either sign out of or restart your windows account session, which is rather drastic.
So if you have code that is something like this:
            midiInputDevice.MessageReceived -= OnMessageReceived;
            midiInputDevice.MessageReceived += OnMessageReceived;

            // Get Vendor Id for port.
            var data = new byte[] { 0xF0, 0x7E, 0x7F, 0x06, 0x01, 0xF7 };

            IBuffer buffer = data.AsBuffer();

            midiOutputDevice.SendBuffer(buffer);

or this:
            var data = new byte[] { 0xF0, 0x7E, 0x7F, 0x06, 0x01, 0xF7 };

            midiOutputDevice.SendMessage(new MidiSystemExclusiveMessage(data.AsBuffer()));

As soon as the System Exclusive message goes out, the GUI of its associated UWP app becomes hung.
I'm speculating; the lock up is probably due to the fact that the MIDI stack has confused itself as to where to send the output due to this naming inconsistency.  So devices that have a consolidated name for input and output hang the MIDI stack when a SysEx message is sent, and the only method of recovery is to sign out or restart.  Closing the UWP apps process does not clear the problem.  Closing an app should always clear up any such problems and not result in a hung IO stack.
Device names should either always be consolidated, that is, there should never be a [0]/[1] ending to the name, or they should always have the separation.  I suspect you will probably not want to make this adjustment over concerns of backward compatibility, but I suspect very few apps would be affected by enforcing this change and the [0]/[1] suffix does make it easy to group device by IO simply through enumeration.
I'm hoping you are aware of how critical it is to be able to send SysEx messages to a device.  For most complex synths that support MIDI, not having this facility is crippling.
To be clear, there is no issue with Windows 10 SysEx calls under Win32, and there is no issue with SysEx calls when a device name has a [0]/[1] suffix.  The problem only surfaces when a device, supporting both input and output, does not end in the [0]/[1] suffix.
Hanging the MIDI stack, it's associated UWP app, and not being able to do anything beyond basic MIDI playback with most new Roland, Yamaha, Moog, or Korg, etc. gear is unworkable.  I've tested this with the Creators Update and several variations of Windows 10 setups, so I suppose this is an old problem that never surfaced because testing was only ever done against simper devices like the Novation Launchpad S.
Because Roland tends to make the best native Windows 10 drivers, I would test this with one of the Boutique synths like the JX-03, JU-06, JP-08 or the Aira line synth like the System-1.  You can use it as an excuse to get some fun gear.  The severity of the problem will be quite obvious with one of these products.
Without a fix to this, UWP MIDI app development will continue to languish.  Advanced sequencers, players and patch editors all need SysEx support.  I suspect a number of developers ran into this early on and simply gave up because they assumed they were having async issues, or problems with transitioning to the new WinRT MIDI API, it being quite different.
Presently, my MIDI player, sequencer, patch editor is stalled because of this issue.  In good conscience I cannot not release the product until this issue is resolved.
Please address this ASAP!!!

@Noemata Thanks for reporting the issue. The Microsoft devs working on MIDI are aware of this issue. Once it is fixed in Windows 10, we will be able to update winrtmidi.

Time keeps ticking away on this issue.

So I'm running into this too now, a year later. @stammen this is not anything to do with you personally, but I really hope you can pass this on because I have no idea who needs to hear this or how to communicate how important this is for computer musicians and producers.
Here's the thing about MIDI, because it seems to be really low-pri for MS - nobody's asking for a way to support antiquated hardware. In the present day, MIDI is the way that physical devices like keyboards, launchpads, DJ controllers, and all kinds of other things communicate with DAWs and software synths. Check out the Roli Seaboard and the new MPE standard - innovation is happening here and the fact that we have one old limited API and one broken one signals to me that MS either doesn't understand the modern computer music workflow or doesn't care.
This stuff is used for live performances! Yeah, synthesis and processing is all software based, but can we get ahold of someone at MS with a say in prioritization and ask them how they imagine we're supposed to play those things live? With a mouse? macOS and iOS have Bluetooth LE MIDI support that works, an API to create virtual MIDI ports, and network MIDI support. They get it! I don't want to be forced to choose a platform just over this! I mean, I can't even make an app that uses my Surface's touch screen to control a DAW without licensing a third-party driver. I can't experiment with OpenCV and my webcam to control synth parameters, but wouldn't that be cool? I can't even express how disappointed I am - I was so excited about the potential of a touch screen for things like this, but nope, here we are years later with no sign of anything ever improving. We absolutely need equivalent functionality to macOS here if we're going to keep up with the innovation going on in music production.

I have a MIDI interface M-Audio MIDISPORT 4x4. It is enumerated in this way:
Input ports:
4 - MIDISPORT 4x4 In A (1)
4 - MIDISPORT 4x4 In B (1)
4 - MIDISPORT 4x4 In C (1)
4 - MIDISPORT 4x4 In D (1)
Output ports:
4 - MIDI
4 - MIDI
4 - MIDI
4 - MIDI
Korg M50, KORG nanoControl devices are not enumerated at all.
MessageReceived handler duplicates empty messages with the last status byte 4 times.
For example, a message NoteOn:
90 64 127
90 0 0
90 0 0
90 0 0
90 0 0
And this happens not only in my code, but also in the examples by Microsoft!
https://github.com/Microsoft/Windows-universal-samples

Microsoft has shown a steadfast resistance to fixing issues related to UWP MIDI functionality.  This problem has existed since the first release of the new MIDI API (became available with Windows 8 in 2014).  Given we are now 4 years out from when this problem was first reported, it's obvious there is zero willingness to fix this problem.  The less the subtle message from Microsoft: The Creators Edition of Windows is not for Musicians.

Unfortunately that's what it's looking like to me too. I guess I'll need to get a MacBook at some point. They've had decent MIDI support with virtual ports for years.

The problem is primarily on the part of PMs from what I can tell.  Microsoft has some of the best devs on the planet.  That said there is dead wood at the PM level that needs to go.  It's the Peter Principle that has yet to be eradicated in most large corporations.


how to use the result uiimage generated by imageByFilteringImage

as follows: selectedFilter is the filter used
[selectedFilter setBlurRadiusInPixels:(MAXBLURVALUE-iblurStep)];
UIImage image = [self imageFromSamplePlanerPixelBuffer:sample];
UIImage* imageBlured = [selectedFilter imageByFilteringImage:image];
sample = [self sampleBufferFromCGImage:imageBlured];//smaple is CMSampleBufferRef .sampleBufferFromCGImage is the class method.
when i call sampleBufferFromCGImage ,the parameter image is always nil

Are you sure the result of  -imageFromSamplePlanerPixelBuffer: isn't nil?


Can I use react-native-i18n with react-native-web-boilerplate

Hi,
Can I use react-native-i18n library with react-native-web-boilerplate?
I was trying my luck with react-native-i18n library but react-native-18n import fails, RNI18n object returned as undefined.
import I18n from 'react-native-i18n'
Any suggestions?

@ableabhijeet Looks like a link problem. Try doing a manual link following the documentation. https://github.com/AlexanderZaytsev/react-native-i18n#installation

@ableabhijeet Correction: react-native-web-boilerplate is for browsers, and this package is not designed for that


impact marks on doors and moveables

Currently in Unvanquished when people hit a door or an elevator with bullets and other projectiles (or dragoon/granger/trapper spit) there is no impact mark (neither creep) on them.
The spearmint engine by @zturtleman has support for “bullet marks on doors and moving platforms” according to its official page. It would be cool to have this feature too because the lack of such feature is the kind of thing that makes Unvanquished still looking a bit like Quake 3 from the last millennium.

https://github.com/zturtleman/spearmint/commit/bcd21277d8a0b7367213c4b5f3edb8fd2671bdab
I believe that's the commit for the enhancement.

great, and ztm linked this other commit (gamecode side):
https://github.com/zturtleman/mint-arena/commit/ad27e5c0de72fdb4ac2651e7a86478ceba817fec

+1


Art: Modular forest

Dungeon / lost woods inspired modular forest. It will be used for generating a maze-like forest one could get lost in.
Entrance
The forest is to be surrounded by something to see it from afar. This can be a wall with an entrance. Perhaps there's a danger sign at the entrance?

Modular pieces
Multiples of chunk sizes, size as square / long shape, with variations of entrances and exits. Think like plumbing, some can be L shaped entrance / exit. Keep all these flat.
Regular 20x20 size

Long example

Couple bigger areas of land, expand it out.
Props

Rocks
Signs
Fences
Ferns

Dream made these/posted them in the Discord earlier - just putting them here for posterity

The alignment and pieces are great, I just think we need to get the scale right. At the moment it feels large, like a forest for ants.
https://user-images.githubusercontent.com/6926057/122232418-3762df00-ce89-11eb-98b1-446af18001f8.mp4

The original references were built for PC's that are like half the size of a full VRM so making the VRM match in terms of screenshots results in geometry that's 2x too big or so.

https://www.zeldadungeon.net/wiki/images/2/21/Lost-Woods-Theme.jpg

I think some of these might be going down the wrong path like mushroom
house and pile of logs. To narrow this down, this is not an inhabited
forest with any industry or inhabitants to speak of, it is meant to be
lonely and confusing. Maybe it has some remnants and hints of something
that happened a while back like chopped stumps and remains of fences or
walls, or paths. But probably no houses or lumberjacks should be implied.
I think overall OOT got this theme right.
On Fri, Jun 18, 2021 at 9:23 AM jin @.***> wrote:

[image: image]
https://user-images.githubusercontent.com/32600939/122567623-b4af6080-cffd-11eb-9eaa-2bcf57104625.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/webaverse/app/issues/1313#issuecomment-864036584, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ABU252JJPX7KSEZUM3ZPBGTTTNCGPANCNFSM46XRTFBQ
.

If there were some inhabitants implied it should be otherworldly in nature
like the skull kids rather than Hansel and Gretel.
On Fri, Jun 18, 2021 at 1:00 PM Adrian Biedrzycki @.***> wrote:

I think some of these might be going down the wrong path like mushroom
house and pile of logs. To narrow this down, this is not an inhabited
forest with any industry or inhabitants to speak of, it is meant to be
lonely and confusing. Maybe it has some remnants and hints of something
that happened a while back like chopped stumps and remains of fences or
walls, or paths. But probably no houses or lumberjacks should be implied.
I think overall OOT got this theme right.
On Fri, Jun 18, 2021 at 9:23 AM jin @.***> wrote:

[image: image]
https://user-images.githubusercontent.com/32600939/122567623-b4af6080-cffd-11eb-9eaa-2bcf57104625.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/webaverse/app/issues/1313#issuecomment-864036584,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABU252JJPX7KSEZUM3ZPBGTTTNCGPANCNFSM46XRTFBQ
.

I wonder if it's too many tris when we instance a thousand of these. Reducing polys in things like the other wood is fine if we can pack more of these in.
Also can we make the trees straighter and taller? It is good that they are visible from the outside, but for artistic reasons I think they are better large and imposing, forming a dark structured canopy.

handpainting textures, will task on reducing triangles and making trees straighter / taller

DreamCo asked if other styles of trees might be better for this:

My feedback: The trees need more of a canopy so it feels enclosed in, also I'm not entirely sure about the water.

Review / feedback on latest version:
Main thing: there's a lot of triangles, took a look at the blend file and noticed that the bushes are the densest clusters:

Each one is about ~1758 tris, we need to drastically reduce or remove these. In a single section it accounted for about 24k tris.

Next, as pretty as the colors look, we need to try out different color schemes and aesthetics.

Example: Black Forest, would look very cool with fog.

The crystals don't really seem to make sense here. Although it would be interesting to have something that is mineable in the forest with a pickaxe, to gather some kind of material useful for crafting, not sure if crystals are part of the scope. Will remove in the blend.

Feels like its getting close. Grant will crank out a couple new trim sheets tonight. Can then do another review, in-game testing, and optimization pass after.

Comparing canopies. We can get more coverage by widening the tree leaves or trying different tree types in general for less light / sky.

Naturalizing the colors and adding god rays would help. In engine this would definitely have fog.
The crystals and mushrooms don't make too much sense, but some kind of vegetation does. Classes/clusters of grasses that can be replicated are probably the place to start.
The trees can go a lot higher and be lot more barren/wooden, except at the top.
Making any signs of inhbabitation old, destroyed, overgrown, and sparse would be closer in line with the theme.

The overall chunking and spacing is good, I think it comes down to details and textures.

Did a retexture of this, new textures are provided in the Drive folder as well as packed into the Blend file: https://drive.google.com/drive/folders/1pyeQ7Ne9wcnvJr718CDIHgGYJyWbh3Dj?usp=sharing

A few screenshots:

Basically treated it like a color and mood pass - everything is darker and in general less saturated, with the exception of the greens - those are pushed a bit blbue and pumped up in vibrance to compensate for the lower sat elsewhere

I'm pretty sure we could just grab the zelda color values.

The walls/hills could also use a texturing pass to give the walls a bit of a cut gradients (but that  might be a UVing job first).

Bushes and other plants have been optimized by lowering the poly count + rescattered all of them.

The tree canopy has been changed to have less sky penetration into the forest

In other games like LOZ the canopies are a couple of planes. This works when the camera distance is limited so you can't really tell, but would be difficult to pull off in an open world scenario like in Fortnite where you can see from a distance and land on the Forest from the sky.

The vegetation is looking cool, though we will need to blend those textures better. Coming up with even more vegetation variations would probably be good.

The texture quality on the walls and floor seems to be suffering -- it looks lower than OOT. Whatever trim sheet/uvs technique is being used might need to change.

The trees still seem like the biggest problem. They are very friendly, healthy, and clean, but that isn't the vibe for a challenge like a Filter, which is what this is supposed to be. I'm more in favor of the thick planes, and making them much taller and more barren in the lower layers, like this reference.

Having fog in screenshots might help to visualize.
We also don't need to be limited in the shapes of trees. There are other canopy styles. The trees do not need to be uniform and straight.

The rocks have a similar palette to the trees, which muddies things.

I don't think we need such high poly rocks. The larger rocks seem like they should be more of a natural feature of the space rather than detailed stone slabs sticking out of the ground. The smaller rocks could be simplified and treated more as vegetation that is sprinkled around.

Rocks can be turned into ores with veins of something thats mineable
Screenshots should be closer to the reference images (for ex, enable fog in blender)
Ivy can be higher resolution (this asset is for trailer)
Lower density of signs, if there are signs can be destroyed
The textures need to be toned down to be darker / closer to what we had before:

Updates from Dream today:

The trees are very close in color to the dirt, and the textures are quite dark, making it hard to see.

The water is also green for some reason, rather than clear (which is what it would be at this shallow depth).

New tree variations

Side by side with previous iteration, the landscape now also uses a tilemap so its more easily updatable

Here's a far shot for one of the modular pieces side by side a previous iteration

Water is now clearer and translucent

If greenlight, can finish the rest of the set (total 15 pieces modular land pieces).

The new shots are looking great, especially:

It's not clear yet what the water looks like in context. For example, would it be possible to place an object at the bottom of a pool so that it could be noticed from above?
Otherwise I think this is a good level of detail for the chunks.

Here's a gem and wine bottle in the water for perspective

From that shot, it seems like having ocean waves on the texture doesn’t make sense for this use, since it would either be still water or a flowing river; we should use a calmer water texture instead.
Is the intent to animate the texture or the water in any way?

Water is a whole thing. In the past I used gifs as water textures, then shaders.

https://github.com/martinRenou/threejs-water
https://threejs.org/examples/webgl_water.html
https://threejs.org/examples/webgl_shaders_ocean.html

I’ve written many waters before, but this is more a question about the art direction/pipeline.
Ideally that is in the artist’s control, and it’s figured out early.

Fwiw I do think the water should be animated.

Few ideas:

Editor.html where it's drag and drop to compose it into the scene (.glb) and export together
Text editing the scene graph

2 lines of code with janusweb to add cool water shader magic into a scene
Workflow: artist can position a placeholder asset and have shader_id="watershader" to enable effects

Plane in the blender file that is named something like water_1

Blender plugin isn't being maintained so this idea is least realistic at the moment

That answer amounts to artists not making water; water is created exclusively by the programmer.
However if we are going this route then the water syntax/component decoration makes the most sense to me, including blender.
In the best case scenario we are copying hubs here, though potentially with our own actual water.

Do we have any kind of UV scrolling possible in assets yet? I believe that's a commonly used effect for water and wouldn't detract from a regular texture flow for artists (much).
It's been referred to as a cheap toon shader effect elsewhere: https://virtualcast.jp/wiki/en/unity/shader/mtoonsample1
here's a small preview. It's a panned noise normal.

Yes it should already be possible in the Hubs style coming from Blender.

Progress pics, full set will be ready for review soon.

10 modular pieces done, 5 more to go then optimization pass.

This wouldn't prevent usage but:

From this angle it is looking quite generated rather than organic.

Textures could be better UV'd and higher res, this is quite stretched.

Think all the islands have been finished, checking the latest .blend that got uploaded to drive. Wanted to drop a couple screenshots first

I think it's going to look really good with fog, I could test in a game engine. Will take me a bit to setup.

All 15 pieces here
Tris: 2,268,227
96.1 MB

19 textures

grass is 1024x1024, can try for higher res. UV is way more tedious to change. Few tweaks and I think its ready for next steps (renaming / optimizing pieces).

It looks good, but the texture quality and number of tris total is kind of alarming.

I think it's going to look really good with fog, I could test in a game engine. Will take me a bit to setup.
Use Webaverse fog.

Use Webaverse fog.

Is there a code snippet for that somewhere?

I don't think any NFTs made it to master, but it's pretty easy to set up.
https://threejsfundamentals.org/threejs/lessons/threejs-fog.html
I actually am curious how it will look, but we can't really work with 2M tris for all of the pieces. Is it mostly in the trees?

If you want me to take a look at this and figure out why it's such a high plyc. I can. Seems very high.

Some of the tree variations are quite high polycount for what they are and their visibility to the player. A lot of the thinner branches are quite poly dense despite being really far from the player's view.
It appears these trees weren't batched during the creation of these different modular pieces.
If they are/were, then the offending pieces could be edited, and all instances of them would be changed in the scene at once. Since they are not, this becomes either a situation where the solution may be one of the following:
a) multiple objects are manually edited individually
b) objects are manually replaced with an optimized version, instanced
c) aggressive decimation (akin to heavy LOD)
at 0.25 decimation in Blender applied to the entire scene, the polycount drops to 570k~.
Here is an example of tone of the modular pieces WITHOUT Decimation (top), and WITH Decimation (bottom)
From this perspective there is not much visual difference. If we're looking to push this ASAP and not use pieces for other individual projects then this might be a simple option.

I think this will ultimately be a test case for LOD (which is part of the point!), but I think we should also trim the polygon count in the trees plus batch if we can.
Re batching, I think that can be done with gltfpack: EXT_mesh_gpu_instancing, and there is a THREE.js PR: https://github.com/mrdoob/three.js/issues/21937

The .blend needed to be modified so that the pipes can perfectly align with one another. Documenting here for future reference.
First select the pipes of one of the islands, then highlight the rest of the islands and hit ctrl+p (blender 279 keybind) and set parent.

Next zero the transforms so its perfectly at center origin. Can hide and do the next island.

With the above make sure the collections/groups also have zeroed transforms, or it might affect the export.
The batching would be the last step in the pipeline by running through gltfpack.

All the collections are zeroed. I parented each island to the pipes, which are also zeroed.

Ok then here is the last step before it can be used: gotta consistently name each section based on its size and orientation.
For example if it has a top and right slot (N and E from birds eye), then it should have a name that ends with “_L” because the letter L implies that part. If all four sides are open then it would be “+”. It doesn’t matter the characters chosen but they need to be consistent. Finally we should encode the WxH of the piece in the name. They should already be following multiples of size, so a 2 in the W slot would mean it is a 2x fat chunk.
So a name could be:
1x1_-
Should around origin to reduce the amount of directions used. For example “-“ and “I” are isomorphic so can just be rotated to be one letter.
Also chunks names must be unique (blender/gltf thing).

Okay, I'll do a decimation pass then rename everything so we can begin testing. Later on we can replace the trees for instancing.

Going for human readability with LxW_NESW
So if its a 1x1 with the L shaped it will be 1x1_NE
If its everything it will be 1x1_NESW

1x1 checks
Modular 7 isn't perfectly aligned

Modular 11 isn't perfectly aligned

The pipes for all the 1x1 need to be perfectly aligned

ETC
Modular 10 is a very different shape than the others

Hmm some pipes are shorter than others

Also we should disambiguate isomorphic naming. For example, NE is the same as NW since it is a rotation. Therefore only one of those suffixes should appear, and the algorithm will take care of rotations.

All the pipes have been aligned and renamed, going to get this ready for testing today!


[Adapter] gateway level interceptor support for ratelimit metadata

Description:
This is to support global level interceptor service for the gateway level which is to be used for setting dynamic metadata for rate limits with metadata type descriptors.
apiVersion: wso2.com/v1beta1
kind: APIPolicy
metadata:
  name: pet-store-authentication-1-resource-override
spec:
  override:
    requestInterceptor:
      backendRef:
         name: global-request-intercaptor
      includes:
      - request_headers
    responseInterceptor:
      backendRef:
         name: global-response-intercaptor
      includes:
      - response_headers
  default:
    ...
  targetRef:
    kind: Gateway
    name: default

https://github.com/wso2/apk/pull/994 merged


add signoff-check use github actions

Signed-off-by: Peixin Li<EMAIL_ADDRESS>Add github-actions-based signoff check for dev branches.
This is the same as signoff-check  https://github.com/NVIDIA/spark-rapids/pull/615 for gh-pages except the modified trigger events
related to new blossom-ci https://github.com/NVIDIA/spark-rapids/pull/642

build

build

build

build

build


files.exclude applies to findFiles() result when null provided as exclude argument

There is an extension which use findFiles() API:
https://github.com/matepek/vscode-catch2-test-adapter/blob/474e6c3d06f7bc3706ac8ec21cdcfa8ad1b4c35b/src/FSWatcher.ts#L101
I notice that extension could not find executables inside build/ when this folder is listed in files.exclude configuration: https://github.com/matepek/vscode-catch2-test-adapter/issues/113
As documentation stated, no excludes should apply when null is provided, so developer of extension and me consider this a bug.
Tested on VSCode Stable 1.36.1

This is by design, and has always been this way, but I will update the comment on the vscode.d.ts to reflect this.

When undefined only default excludes will apply. When null, no search excludes will apply, but files.exclude will still apply.

@roblourens I am super confused by that and don't believe that this is by design. Wasn't https://github.com/microsoft/vscode/issues/33528 about that? Re-opening for a better clarification of the issue

What I said makes no sense, I was misinterpreting a comment I made in an earlier issue. There is some bug here.

This is from https://github.com/microsoft/vscode/commit/10c0126e4b69d3c0672cdb10cd8f0c987304ac4b#diff-667e490a03391a012e309e8a660ce628R539 :( I will add tests

Thanks!

Thank you!


Cancel Scheduling

Add a button to allow users to cancel Scheduling Runs (similar to how they are able to cancel simulation runs). Being able to cancel will require subscribing to the latest scheduling run on the plan instead of the current polling implementation, similar to how it currently subscribes to the latest simulation run on the plan.
This ticket may additionally involve the UI fetching the latest scheduling run status, similar to what it does for simulation.

For first MVP of this, we want to just add a button in the Scheduling nav bar dropdown (similar to Simulation). Will tackle getting scheduling status of past runs in a future ticket

Per discussion today - @AaronPlave will update the UI to subscribe to the latest scheduling run (instead of the polling that it does today). But we'll still aim for the MVP of only allowing cancellation of the latest run & not show info about any other runs.


DOM is (unnecessarily) updated when moving cursor over the map

When moving the cursor over some map made with Bertin, the DOM is sometimes unnecessarily (according to my understanding) updated.
See the video I attached on which I'm simply moving the cursor:
https://user-images.githubusercontent.com/12172162/234621581-a61edb48-f60d-4d68-b582-06d472fc0f98.mp4
While glancing at the code, it seems that, in the 'mousemove' event handler, you are calling raise on the hovered entities only if there is a toopltip, however on the 'mouseleave' event handler you are calling lower (https://github.com/neocarto/bertin/blob/main/src/layers/simple.js#L236) whether there is a tooltip or not.

Solved


⚠ Bofrost.at has degraded performance

In e6d1ba8, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1886 ms

Resolved: Bofrost.at performance has improved in de9b1ff after 6 minutes.


Add test-proxy tests to azure-template

After test-proxy spinup is made part of the standard build processes, we need to exercise that in the template project under sdk/template/azure-template.

This issue is supplanted by the introduction of live tests. This build exercises exactly


Directory symlinks not followed when selecting an attachment

I confirm (by marking "x" in the [ ] below: [x]):

[x] This is not a troubleshooting question. Troubleshooting questions go here: http://www.mattermost.org/troubleshoot/.
[x] This doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[x] I have read contributing guidelines.

Summary

Interface to add an attachment does not follow directory symlinks.
Steps to reproduce

Pop!_OS 20.04 LTS
Mattermost Desktop App version 4.6.0
Mattermost Server version 5.25.0

Open desktop client.
Choose any channel.
Click the paperclip icon.
Double-click to navigate to a symlinked directory.
Fail with the message 'There was a problem uploading your files."

Expected behavior
Step 4 above does not fail, but instead navigates to the symlinked directory.
I have not observed this behavior with any other application on my machine.
Observed behavior
Symlinks appear as files not directories in the GUI.
The only error message is "There was a problem uploading your files."
Possible fixes
?

JIRA tickets are created for all valid bug reports filed here. Bugs and features that the Mattermost core team are not immediately working on are opened as Help Wanted GitHub issues and welcome to contributions.
Our goal is to bring the Mattermost desktop repository into our day-to-day internal process with the hope of having more frequent desktop releases with faster feature development and turnaround time on bug fixes.

Hello and thanks for the feedback.
Quick question: does this behavior reproduces if you are using the browser for accessing mattermost?

Hello and thanks for the feedback.
Quick question: does this behavior reproduces if you are using the browser for accessing mattermost?

It does not. The browser behaves as expected.
-------- Original Message --------
On Jan 18, 2021, 03:08, Guillermo Vayá wrote:

Hello and thanks for the feedback.
Quick question: does this behavior reproduces if you are using the browser for accessing mattermost?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

It does not. The browser behaves as expected.
-------- Original Message --------
On Jan 18, 2021, 03:08, Guillermo Vayá wrote:

Hello and thanks for the feedback.
Quick question: does this behavior reproduces if you are using the browser for accessing mattermost?
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub, or unsubscribe.

@wck0 Does this reproduce for you on v5.0.2? This does not reproduce for me.

Closing as inactive


Update master.cf.common.erb

smtpd_bind_address -> smtp_bind_address

smtpd_bind_address is likely a typo, should be smtp_bind_address

Is this a change in new versions of Postfix, or a bug in the module?

IMO this is a bug in the module.  There is no option named smtpd_bind_address for Postfix, so I believe it is a typo.  The correct option is smtp_bind_address.

So this has been broken for over 10 years without anybody noticing. I wonder if fixing this will change the default behavior.

This only comes up in the master.cf if use_amavisd == true so perhaps there's not many people using it.

Right. I'll merge.


RFC: [C++][Java][FlightRPC] Substrait, transaction, cancellation for Flight SQL

"[VOTE] Substrait for Flight SQL"
https://lists.apache.org/thread/3k3np6314dwb0n7n1hrfwony5fcy7kzl

Generally seems OK to me.

I've been pushing various tweaks to the spec while implementing it in C++.
One thing I will need to change: transaction IDs should be supplied when creating a prepared statement, not when executing them (since generally existing APIs associate the statement with a particular connection).

There's now implementations in C++ and Java.
TODOs:

Integration tests in C++
https://issues.apache.org/jira/browse/ARROW-17254
Ensure integration tests work across languages
Fix C++ API/Proto comments (methods should accept only Transaction values)
Add wrapper types for new types in Java (stop using the Protobuf classes directly)

Hmm, Windows builds fail because of a similar issue to https://github.com/apache/arrow/pull/13434 - Protobuf and DLLs don't interact well, since you can't get protoc to insert the dllimport/dllexport declarations correctly.
The easiest thing might be to just punt on CancelQuery for now. Or else, it would have to be
message ActionCancelQueryRequest {
  // XXX(ARROW-16902): A serialized FlightInfo
  bytes info = 1;
}

and then rely on FlightInfo::Deserialize.

@lidavidm  Since this is a draft, are you looking for a detailed review or more for general opinions?

The Protobuf definitions deserve more scrutiny; for the code, I'm just looking for general opinions.

I need to figure out the AppVeyor failure here, but this should generally be ready.

@jduo any further comments on the spec (or implementation) here?

I will fix ARROW-17254/ARROW-17420 and rebase this, but otherwise I think this is ready

ARROW-17420 was merged, rebased on top of PR for ARROW-17254 (#13898) and updated

@pitrou were you planning on taking a second look or were you just passing by? :slightly_smiling_face:
@zeroshade if you had any comments on the definitions before implementation, they would be appreciated!

@lidavidm I don't have time for a second look, unless you really need it :-)

Updated again, since @jvanstraten pointed out that the server may want to know the client's Substrait release version since otherwise it may be unclear how to interpret the plan (even if it parses properly).
Also, adds some validation for SqlInfo values to the integration test + adds SqlInfo values so the server can report Substrait version support.

(I guess these are mostly minor changes and we shouldn't need to restart the vote?)

Yes, definitely.
Also, sorry, the review contains C++ comments that I did some days/weeks ago but had forgotten to submit apparently :-S

Rebased + updated (minus the timeout since we'd have to change the result set schema for GetSqlInfo to add floating point)

Updated, thanks Antoine!

CI failures here are addressed/fixed elsewhere


WARNING  Garten: The recording process has been running for 3 minutes and is now being forced closed!

Hello,
I get the following warning.
Recording stops. How can I change this? This was not the case in previous versions.

@chip131001

change this to 0

@chip131001

change this to 0

i did that But nothing changes.

@chip131001

change this to 0

i did that But nothing changes.

Oh ok i will ckeck it

hello,
I have the same problem.
I also set the "motion detection" to 0 as described.


SQLite object leak

Currently, there is this message in logcat:
A SQLiteConnection object for database '/data/user/0/org.openssf.openjournal/databases/openJournalDB.db' was leaked!  Please fix your application to end transactions in progress properly and to close the database when it is no longer needed.

Meaning there is a DB leak. This will be fixed in the 'performance improvements' update.

It actually seems like this has been fixed. In my testing, I have now been unable to replicate the error. Likely fixed in commit 9b0cbc5.


[Feature] Run fastlane with dynamic folder name

Is it be possible to add an optional command line parameter to run fastlane from a different folder?
eg:
fastlane deploy "./fastlane_app1"
fastlane deploy "./fastlane_app2"

I believe FOLDER_NAME is the variable that needs to be dynamic:
https://github.com/KrauseFx/fastlane/blob/master/lib/fastlane/fastlane_folder.rb#L3
Any help would be appreciated!

Yes, I assume so. If you have different folders, why don't you cd fastlane_app1 && fastlane?

Thanks for the fast response!  I don't think I make the problem clear with my question.  Maybe if I explain the problem, you'll have a better alternative.
I have one workspace that has four apps/schemes.  All apps have different bundle IDs, assets, metadata, etc, but share a lot of code. So, the file structure is something like:
./TheApps.xcworkspace
./fastlane_app1
./fastlane_app1qa
./fastlane_app2
./fastlane_app2qa
Right now, I'm just renaming folder of the app that I need to build.  Which I can feel isn't the right solution.  Does that make sense?

If you plan on extending this to a number x of apps, your solution is absolutely not scalable.
But anyway, back to your problem: why don't you just do something like this:
Appfile
app_identifier ENV["APP_IDENTIFIER"]
...

and call fastlane like this: ```APP_IDENTIFIER=com.krausefx.app fastlane beta`

You can do that for all options of course.

Though the passing of command line arguments could be interesting. Let's say you have different actions to deploy different version numbers of your app, like so:
lane :major do
    increment_version_number 'major'
    # other lane actions
end

lane :minor do
    increment_version_number 'minor'
    # other lane actions
end

lane :patch do
    increment_version_number 'patch'
    # other lane actions
end

It would be nice to condense these into one action since the only differences are the arguments passed to the increment_version_number action. The lane could be called via fastlane deploy major, and this could allow for some interesting other options if it could be expanded to other actions.

@KrauseFx First off, the new fastlane updates look great!
I believe I'm passing the EVN variables correctly, but I am obviously missing something.  The ipa Action in the lane doesn't pass the correct variables.  eg output:  set -o pipefail && ipa build -c "Release" --verbose | xcpretty
I've put together a basic example project: https://github.com/iamjason/fastlane-multiple-app-example
Thanks again for your suggestions!

I'm definitely getting closer!  I'm currently having an issue with deliver :skip_deploy, :force
Found here: https://github.com/iamjason/fastlane-multiple-app-example/blob/master/fastlane/Fastfile#L18
The part of the error message that looks important: No value or block passed to method 'apple_id'
More detailed error information: https://gist.github.com/iamjason/d9519c3bb8d7e78e3728

First off, there is a built-in sigh action you can use.
The error message you linked is caused by not providing a value on the apple_id block in your Appfile.

I'll take a closer look later today.

Again thanks for your help on this!
Today, after updating all gems sudo gem update...  I'm running into a new error.  I tried on another machine, for a sanity check, and got the same message.
➜  fastlane-multiple-app-example git:(maven-test) ✗ sudo gem update
Updating installed gems
Nothing to update
➜  fastlane-multiple-app-example git:(maven-test) ✗ ./build_App2.sh
INFO [2015-04-16 13:31:46.73]: -------------------------------------------------
INFO [2015-04-16 13:31:46.73]: --- Step: Verifying required fastlane version ---
INFO [2015-04-16 13:31:46.73]: -------------------------------------------------
INFO [2015-04-16 13:31:46.73]: fastlane version valid
INFO [2015-04-16 13:31:46.73]: Driving the lane 'deploy'
INFO [2015-04-16 13:31:46.73]: -----------------
INFO [2015-04-16 13:31:46.73]: --- Step: ipa ---
INFO [2015-04-16 13:31:46.73]: -----------------
DEBUG [2015-04-16 13:31:46.73]: set -o pipefail && ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose | xcpretty
INFO [2015-04-16 13:31:46.73]: [SHELL COMMAND]: set -o pipefail && ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose | xcpretty
INFO [2015-04-16 13:31:47.53]: Variable Dump:
INFO [2015-04-16 13:31:47.53]: {:ENVIRONMENT=>nil, :LANE_NAME=>:deploy}
FATAL [2015-04-16 13:31:47.53]: Exit status of command 'set -o pipefail && ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose | xcpretty' was 256 instead of 0.

FATAL [2015-04-16 13:31:48.16]: fastlane finished with errors
/usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/actions_helper.rb:71:in `sh_no_action': Exit status of command 'set -o pipefail && ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose | xcpretty' was 256 instead of 0.  (RuntimeError)
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/actions_helper.rb:50:in `sh'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/ipa.rb:76:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:104:in `block (2 levels) in method_missing'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/actions_helper.rb:29:in `execute_action'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:103:in `block in method_missing'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:102:in `chdir'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:102:in `method_missing'
	from (eval):5:in `block (2 levels) in parse'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:19:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:19:in `block in execute'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:13:in `chdir'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:13:in `execute'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:45:in `block in cruise_lanes'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:44:in `each'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:44:in `cruise_lanes'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:32:in `block (2 levels) in run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:178:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:178:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:153:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/runner.rb:428:in `run_active_command'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/runner.rb:68:in `run!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/delegates.rb:15:in `run!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:111:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:117:in `<top (required)>'
	from /usr/local/bin/fastlane:23:in `load'
	from /usr/local/bin/fastlane:23:in `<main>'
➜  fastlane-multiple-app-example git:(maven-test) ✗

What happens when you execute  set -o pipefail && ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose | xcpretty?

It hangs for less than a second and returns to the command line prompt.

Looking deeper, this second problem was seems like cocoapods corrupted the workspace and the scheme no longer existed.  Running: ipa build -w "BothApps.xcworkspace" -c "Release" -s "App2" -d "fastlane/_build_app2" --verbose  Returned a valuable error message Scheme App2 not found
Rebuilding the workspace fixes that issue.  Sorry for the tangent...
However, I'm still getting the FATAL [2015-04-16 16:55:45.08]: App is missing information (apple_id not given) FATAL [2015-04-16 16:55:45.73]: fastlane finished with errors
With this image:

So, if the apple_id isn't getting passed correctly, here is where I think I'm passing the ENV value:
https://github.com/iamjason/fastlane-multiple-app-example/blob/master/build_App1.sh#L1
And here is where I think I'm using the value passed:
https://github.com/iamjason/fastlane-multiple-app-example/blob/master/fastlane/Appfile#L1
Do both of those look ok to you?

Can you run it without the | xcpretty in the end?

Yeah, it the ipa step is now working with out any errors, the current problem is with the deliver
Here is a snippet from the where it's erroring out currently:
INFO [2015-04-16 17:44:12.65]: --- Step: deliver ---
INFO [2015-04-16 17:44:12.65]: ---------------------
INFO [2015-04-16 17:44:13.86]: Skipping submission of app update
INFO [2015-04-16 17:44:14.05]: Got all information needed to deploy a new update ('1.0.7') for app 'com.mavenclinic.ForumQA'
INFO [2015-04-16 17:44:15.63]: Logging into iTunesConnect
INFO [2015-04-16 17:44:25.77]: Successfully logged into iTunesConnect
INFO [2015-04-16 17:44:26.57]: Variable Dump:
INFO [2015-04-16 17:44:26.57]: {:ENVIRONMENT=>nil, :LANE_NAME=>:deploy, :IPA_OUTPUT_PATH=>"/Users/jason/fastlane-multiple-app-example/fastlane/_build_app1/App1.ipa", :DSYM_OUTPUT_PATH=>"/Users/jason/fastlane-multiple-app-example/fastlane/_build_app1/App1.app.dSYM.zip"}
FATAL [2015-04-16 17:44:26.57]: App is missing information (apple_id not given)
FATAL [2015-04-16 17:44:27.29]: fastlane finished with errors
/usr/local/lib/ruby/gems/2.1.0/gems/fastlane_core-0.5.2/lib/fastlane_core/itunes_connect/itunes_connect_helper.rb:33:in `verify_app': App is missing information (apple_id not given) (FastlaneCore::ItunesConnect::ItunesConnectGeneralError)
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/itunes_connect/itunes_connect_reader.rb:45:in `get_live_version'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/itunes_connect/itunes_connect_new_version.rb:11:in `create_new_version!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/app.rb:152:in `create_new_version!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliver_process.rb:141:in `verify_app_on_itunesconnect'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliver_process.rb:37:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliverer.rb:133:in `finished_executing_deliver_file'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliverfile/deliverfile.rb:31:in `initialize'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliverer.rb:85:in `new'
	from /usr/local/lib/ruby/gems/2.1.0/gems/deliver-0.9.1/lib/deliver/deliverer.rb:85:in `initialize'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/deliver.rb:21:in `new'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/deliver.rb:21:in `block in run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/deliver.rb:19:in `chdir'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/deliver.rb:19:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:104:in `block (2 levels) in method_missing'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/actions/actions_helper.rb:29:in `execute_action'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:103:in `block in method_missing'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:102:in `chdir'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/fast_file.rb:102:in `method_missing'
	from (eval):18:in `block (2 levels) in parse'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:19:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:19:in `block in execute'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:13:in `chdir'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/runner.rb:13:in `execute'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:45:in `block in cruise_lanes'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:44:in `each'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/lib/fastlane/lane_manager.rb:44:in `cruise_lanes'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:32:in `block (2 levels) in run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:178:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:178:in `call'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/command.rb:153:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/runner.rb:428:in `run_active_command'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/runner.rb:68:in `run!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/commander-4.3.2/lib/commander/delegates.rb:15:in `run!'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:111:in `run'
	from /usr/local/lib/ruby/gems/2.1.0/gems/fastlane-0.9.0/bin/fastlane:117:in `<top (required)>'
	from /usr/local/bin/fastlane:23:in `load'
	from /usr/local/bin/fastlane:23:in `<main>'  ```

You still haven't provided an apple_id in your Appfile. Are you sure you're setting one?

See my note here: https://github.com/KrauseFx/fastlane/issues/195#issuecomment-93840233
I think I'm passing the apple_id with the env variable, but I'm not sure how to debug that.
https://github.com/iamjason/fastlane-multiple-app-example/blob/master/fastlane/Appfile#L1

Okay, after further investigation, it's your Deliverfile, where you define a new apple_id without providing a value.

:+1:  That seemed to be the issue!  Thanks again for all of your help.
With that said... I don't entirely understand the why here, because I define it as the same ENV variable in both the Appfile and Deliverfile.  But, removing it from the Deliverfile fixed all issues.  So, if there is an explanation shorter than "learn ruby" I'd be interested... Otherwise, don't worry about it.  :+1:

Sorry, I can't tell you, if you share your previous Deliverfile, I might be able to help.


Current script doesn't work for amazon latest

Edit: Another Update after testing.
So, been trying to build this and ran into several issues with the latest image i pulled from docker following the instructions. I had to make the following changes to get it even COMPILE the zip. I am not sure if it even works. I'll update testing tomorrow. However, here are the changes
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum update -y
yum install yum-utils -y
yum install -y cpio python2-pip zip
pip install --no-cache-dir virtualenv
pip install --upgrade pip
virtualenv env
. env/bin/activate
pip install --no-cache-dir -r requirements.txt

pushd /tmp
yumdownloader -x \*i686 --archlist=x86_64 clamav clamav-lib clamav-update json-c pcre2
rpm2cpio pcre2*.rpm | cpio -idmv
rpm2cpio json-c*.rpm | cpio -idmv
rpm2cpio clamav-0*.rpm | cpio -idmv
rpm2cpio clamav-lib*.rpm | cpio -idmv
rpm2cpio clamav-update*.rpm | cpio -idmv
popd
mkdir -p bin
cp /tmp/usr/bin/clamscan /tmp/usr/bin/freshclam /tmp/usr/lib64/* bin/.
echo "DatabaseMirror database.clamav.net" > bin/freshclam.conf

mkdir -p build
zip -r9 $lambda_output_file *.py bin
cd env/lib/python2.7/site-packages
zip -r9 $lambda_output_file *

Short Version, Added Repo that included ClamAV, change Python27-pip to python2-pip, install yum-utils to get yumdownloader. Included json-c, pcre2

I just changed the build image tag to 2<IP_ADDRESS>80622 and it's building again for us.
I guess using latest is not the best idea when you need something stable!

All my script changes work with latest.

Thing is, by using latest, you do not for how long your changes will work. You can never know when another image will be pushed with tag latest and break the build again.
Amazon linux images are always pushed with a timestamp version tag that should never be updated.
I think that would be safer to use one of those tags rather than latest.

@gjacquetupgrade it might build, but have you tested the deploy? I know they say the execution amzn-ami-hvm-2<IP_ADDRESS>70812-x86_64-gp2. However, to get the functions working in lambda environment I had to include the two additional libraries. I would test this myself, but I am not home at the moment

Edit: Another Update after testing.
So, been trying to build this and ran into several issues with the latest image i pulled from docker following the instructions. I had to make the following changes to get it even COMPILE the zip. I am not sure if it even works. I'll update testing tomorrow. However, here are the changes
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm -y
yum update -y
yum install yum-utils -y
yum install -y cpio python2-pip zip
pip install --no-cache-dir virtualenv
pip install --upgrade pip
virtualenv env
. env/bin/activate
pip install --no-cache-dir -r requirements.txt

pushd /tmp
yumdownloader -x \*i686 --archlist=x86_64 clamav clamav-lib clamav-update json-c pcre2
rpm2cpio pcre2*.rpm | cpio -idmv
rpm2cpio json-c*.rpm | cpio -idmv
rpm2cpio clamav-0*.rpm | cpio -idmv
rpm2cpio clamav-lib*.rpm | cpio -idmv
rpm2cpio clamav-update*.rpm | cpio -idmv
popd
mkdir -p bin
cp /tmp/usr/bin/clamscan /tmp/usr/bin/freshclam /tmp/usr/lib64/* bin/.
echo "DatabaseMirror database.clamav.net" > bin/freshclam.conf

mkdir -p build
zip -r9 $lambda_output_file *.py bin
cd env/lib/python2.7/site-packages
zip -r9 $lambda_output_file *

Short Version, Added Repo that included ClamAV, change Python27-pip to python2-pip, install yum-utils to get yumdownloader. Included json-c, pcre2

Cool Man, it works with your updating.

Fixed by https://github.com/upsidetravel/bucket-antivirus-function/pull/52


Idp webapp

cd idp/idp-ui
npm install
npm run startDev

You can use following URL to access Login webapp
http://localhost:3000/

Fix https://github.com/wso2/apk/issues/599


fix instructions for running install.sh

fixes #11  and fixes #12

I think we want it to be called '-installer' but okay to fixup the docs to match what we have, and change back for 0.2

yep, went for the easiest fix for now.

Thank you for fixing it. I will try to use FlowForge more. :)


Add ibox extension

Description
ibox extension
Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

icon.ray.so is cool

When opening the commands (I don't have iBox) nothing happens at all, no error warning when entering or while searching, was that as expected?

Yes, this is as expected

That sounds a bit like a bad UX, can we do something about that? Like warning the user that they need iBox?
Extensions like Eagle have that functionality


enh: remove docker-py as dependency

Move classes and functions that require the Docker Engine and the docker Python package to a lower scope, and remove the Python package docker as a dependency.

Codecov Report

Merging #21 into master will increase coverage by 0.06%.
The diff coverage is 97.5%.

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


How to enable xhtmlOut from the console?

Hello!
First of all, thank you for this great tool! I'm using it to publish MD to HTML that is later uploaded to Confluence.
However, Confluence requires XHTML in their API. For the most part it's fine, but from time to time a file will fail. I examined the code and I noticed that you do have an option (internally) to output XHMTL (xhtmlOut):
  md = require('..')({
    html: !options.no_html,
    xhtmlOut: false,
    typographer: options.typographer,
    linkify: options.linkify
  });

Since I'm running it from the console ( $ markdown-it SOME.MD > output.html) I have not been able to figure out how to pass that parameter. I see that other options are taken from the "options" parameter, which are parsed from the console arguments, but there doesn't seem to be an option for the xhtmlOut.
An I missing something? How can I pass a parameter to output xhtml? I read that the require('..') can be used to load a file, but not sure if that will work here (to create my own js options file) (Sorry, not a node developer)
Thanks for your attention!

markdown-it binary is created mostly for testing purposes and doesn't cover all possible options (presets, plugins, highlighter, etc.)
I would suggest to write custom wrapper and enable exactly what you need.
Something like this would do:
#!/usr/bin/env node

const fs = require('fs')

let md = require('markdown-it')({
  html: false,
  xhtmlOut: true,
  typographer: true,
  linkify: true,
  breaks: false,
  langPrefix: 'lang-',
  // etc.
})

let source = fs.readFileSync('input.txt')
let output = md.render(source.toString())
fs.writeFileSync('output.txt', output)

Proposals to add all possible features (something like babel-cli does) are welcome.


Cannot read property 'onRouteChangeStart' of undefined

Hey @sergiodxa - once I upgraded to 1.3.0 my app fails to run with this error:
Uncaught TypeError: Cannot read property 'onRouteChangeStart' of undefined
    at b.i (component.js:formatted:1)
    at commitLifeCycles (react-dom.development.js:15255)
    at commitAllLifeCycles (react-dom.development.js:16523)
    at HTMLUnknownElement.callCallback (react-dom.development.js:149)
    at Object.invokeGuardedCallbackDev (react-dom.development.js:199)
    at invokeGuardedCallback (react-dom.development.js:256)
    at commitRoot (react-dom.development.js:16677)
    at completeRoot (react-dom.development.js:18069)
    at performWorkOnRoot (react-dom.development.js:17997)
    at performWork (react-dom.development.js:17901)
    at performSyncWork (react-dom.development.js:17873)
    at requestWork (react-dom.development.js:17761)
    at scheduleWork (react-dom.development.js:17566)
    at scheduleRootUpdate (react-dom.development.js:18240)
    at updateContainerAtExpirationTime (react-dom.development.js:18267)
    at updateContainer (react-dom.development.js:18324)
    at ReactRoot.render (react-dom.development.js:18586)
    at eval (react-dom.development.js:18726)
    at unbatchedUpdates (react-dom.development.js:18124)
    at legacyRenderSubtreeIntoContainer (react-dom.development.js:18722)
    at Object.hydrate (react-dom.development.js:18780)
    at renderReactElement (index.js:334)
    at _callee5$ (index.js:397)
    at tryCatch (runtime.js:62)
    at Generator.invoke [as _invoke] (runtime.js:288)
    at Generator.prototype.(:3000/anonymous function) [as next] (http://localhost:3000/_next/static/runtime/main.js:16427:21)
    at asyncGeneratorStep (asyncToGenerator.js:5)
    at _next (asyncToGenerator.js:27)
    at asyncToGenerator.js:34
    at new Promise (<anonymous>)
    at new F (_export.js:36)
    at asyncToGenerator.js:23
    at _doRender (index.js:457)
    at doRender (index.js:343)
    at _callee2$ (index.js:233)
    at tryCatch (runtime.js:62)
    at Generator.invoke [as _invoke] (runtime.js:288)
    at Generator.prototype.(:3000/anonymous function) [as next] (http://localhost:3000/_next/static/runtime/main.js:16427:21)
    at asyncGeneratorStep (asyncToGenerator.js:5)
    at _next (asyncToGenerator.js:27)
    at asyncToGenerator.js:34
    at new Promise (<anonymous>)
    at new F (_export.js:36)
    at asyncToGenerator.js:23
    at _render (index.js:254)
    at render (index.js:205)
    at _callee$ (index.js:185)
    at tryCatch (runtime.js:62)
    at Generator.invoke [as _invoke] (runtime.js:288)
    at Generator.prototype.(:3000/anonymous function) [as next] (http://localhost:3000/_next/static/runtime/main.js:16427:21)

This is in combination with React 16.6.
Here is a branch with repo: https://github.com/brianlovin/brian-lovin-next/tree/react-and-fixes
clone, yarn, and yarn run dev should repro this error. It appears the error likely came from https://github.com/sergiodxa/next-nprogress/pull/27/files but it's hard to say.
Curious if you've seen this (I couldn't find anything too similar in past issues). In the meantime I'm going to try and fork + fix a local version of this package.

In my cloned version I consoled the props coming in to component.js:
color: "#2299DD"
delayMs: 500
options: undefined
router: undefined
showAfterMs: 300
spinner: true

That undefined router seems to be the culprit. Will keep digging.

I should additionally note that this is with the higher order component implementation, wrapping my _app.js component

Unfortunately I can't figure out where this is breaking. In my clone I'm able to get the imported next-nprogress/component to not break the site, but then it doesn't insert the #nprogress dom node

I ended up removing next-nprogress from https://github.com/brianlovin/brian-lovin-next/tree/react-and-fixes so that I can build and deploy the site.

I can replicate it on my own site, will check what's happening.

I found that Next.js now handles route change events based on EventEmitter, so you should change
this part (https://github.com/sergiodxa/next-nprogress/blob/master/src/component.js#L14-L47)
to like below. (I cloned this repo and change it like below and at local it works as expected)
componentDidMount() {
    const { options, router, showAfterMs } = this.props

    if (options) {
      NProgress.configure(options)
    }

    router.events.on('routeChangeStart', () => {
      NProgress.start()
    })

    router.events.on('routeChangeComplete', () => {
      NProgress.done()
    })

    router.events.on('routeChangeError', () => {
      NProgress.done()
    })
  }

and this is documented here.
(However, it seems like Next.js also handles the methods likerouter.onRouteChangeStart  as far as I see the code here. Is it never called ?)

Ping @sergiodxa - seems like we have a possible fix here in #36, if possible, could this be published?

Also confirming that 1.4.0 fixes the problem locally :)


add onImagesLoaded props

we might need this to solve some problems like this one: https://css-tricks.com/forums/topic/masonry-loading-images-displaynone-issue/

@tonytonyjan Thanks for your contribution!
Do you mind please adding a section in the Readme about this new handler as well as updating the tests?

@tonytonyjan cheers for the changes. Are you planning on adding tests for your new functionality?

@afram I am not sure, I have never written test for reactjs before, I can try if I am available next week.


findLast/findLastIndex supporting

Describe the bug
Array.prototype.findLast is undefined. So it's impossible to use findLast/findLastIndex in production code without adding array polyfills.
Reproduction

Create test case.
Add console.log([].findLastIndex) into test case.
Check output.

System Info
System:
    OS: macOS 12.5.1
    CPU: (8) x64 Intel(R) Core(TM) i7-1068NG7 CPU @ 2.30GHz
    Memory: 68.96 MB / 16.00 GB
    Shell: 5.8.1 - /bin/zsh
  Binaries:
    Node: 16.18.0 - /usr/local/bin/node
    npm: 8.19.2 - /usr/local/bin/npm
  Browsers:
    Chrome: 107.0.5304.87
    Safari: 15.6.1
  npmPackages:
    @vitejs/plugin-vue: ^3.0.3 => 3.0.3
    vite: ^3.0.9 => 3.0.9
    vitest: ~0.22.1 => 0.22.1

Used Package Manager
npm
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guidelines.
[X] Read the docs.
[X] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
[X] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
[X] The provided reproduction is a minimal reproducible example of the bug.

Works fine for me in stackblitz. This is not Vitest implementation, but a runtime you are using

As you can see here, you need Node 18 for this method: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/findLastIndex

Thanks!


Can't get the IoT Edge daemon logs on Windows

Adding section on how to debug when windows logs are not showing up properly

@ebertrams : Thanks for your contribution! The author, @kgremban, has been notified to review your proposed change.

Hi @ebertrams, there's a small type, "to pbe present" should be "to be present." You can edit within this pull request by clicking the little edit pencil button in the Changed Files tab.

@ebertrams : Thanks for your contribution! The author, @kgremban, has been notified to review your proposed change.

Thanks @kgremban ! I fixed the typo.

#sign-off


Removed Office 365 apps preview

Azure portal is no longer showing the Office 365 cloud app with the (preview) designation.

@dakoer : Thanks for your contribution! The author(s) have been notified to review your proposed change.

Confirming with the Product Group

Resolved in multiple articles via https://github.com/MicrosoftDocs/azure-docs-pr/pull/130648

#please-close


No need for Ping

Hey Nort,
I have asked around and there is no need for the ping request, since the swf doesn't actually accept or recognise any ping requests or 'pongs' anything back as result. There maybe no point in keeping it in.
Tech

Hey Tech.
The SWF might not accept or recognize it, however the media server will, if the packet is constructed right. I have done this before in C# using the broccoli products library so i know its possible.

Oh OK. I had not considered that possibility, I am not sure what event data to actually send since I am not fully knowledge when it comes to RTMP. I did check out the RTMP specification but it is slighlty confusing to get your head around.

This post seems to have implemented the ping in python: http://pydoc.net/Python/fmspy/0.1.0/fmspy.rtmp.packets/
Maybe it could be of some help?

On the other hand Nort, I think I have managed to get a server response with this. At the moment I am trying to figure out the reply using the RTMP specifications, I will keep you posted on this if I do successfully manage it.

Awesome. do you get a timestamp response??

Yeah, some kind of timestamp anyway.
Just look at this:
{'msg': 4, 'event_type': 7, 'event_data': 'KU\xb4p'}
I believe the timestamp is encoded as ' KU\xb4p' but not sure what kind of encoding that is.

Take a look at this snapshot:
https://gyazo.com/4b0a704b523e36f9f485f570dcf8eb21


Release Device Camera

I'm using the barcode scanner in an app in conjuction with NFC. Depending on the user's preferences, the app can be used to scan either bar codes or NFC tags, respectively. The issue I am now facing is that as soon as I add the bar code scanner to the UI, the NFC scanner won't work - this is a limitation on several Android devices. Removing, hiding or disabling the bar code scanner view does not resolve the issue. I'm curious if there is a way to force the view to release the camera resources in order to enable NFC scanning?

Solved in our case by updating the Disconnect() function in ZXing.Net.MAUI project CameraManager.android.cs
 public void Disconnect()         {             if (cameraProvider != null)             {                 cameraProvider.UnbindAll();             }         }
and when closing your scanner view
barcodeReader.IsDetecting=false; barcodeReader.BarcodesDetected -= barcodeReader_BarcodesDetected; barcodeReader.Handler.DisconnectHandler();  barcodeReader = null;


login token in url when user is logged in causes 403

If a logged in appspace user visits the appspace by opening a URL that includes a login token, they are given a 403. That's not right. We should

treat token errors such taht they don't revent a logged in user from continuing.
Make it so login tokens do not make it into bookmarked URLs (for example) by redirecting to same URL without token.

I can't reproduce this.

Actually I think I can reproduce this now. Simply entering the appspace and then reloading the page (which still has the login token) causes the 403.

Ah it's because of the SameSite attribute. In Chrome dev tools it shows the cookie that was not sent and explains that SameSite=strict means cookie does not get sent if from another site or top level navigation, which presumably includes refreshes.


qt 5.9.2

For being able to compile against Qt 5.9.2 I need to add
'-I/usr/include/qt/QtCore/5.9.2',
'-I/usr/include/qt/QtQuickControls2',

in binding.gyp "cflags" property. I'm using arch linux so basically is not possible for me to downgrade without lot of work. Is this an issue of brig or arch's. Thanks

@cancerberoSgx is pkg-config installed in your arch linux setup?


Minor UI glitch in boxes showing commits-per-week

I spotted a minor UI glitch. The left-most box showing the commits-per-week is missing the outer-left border. See screenshot.
The screenshots in the README don't have that problem, so I suspect it is something that is dependent on my browser or similar?

I couldn't reproduce this on Chrome/Windows, which browser are you using?

I couldn't reproduce this on Chrome/Windows, which browser are you using?

I am on Chrome/OSX. However I just tested tested this again and the issue seems to be gone.
I may have updated Chrome in between, not 100% sure.
We can close the issue if you like, as I cannot provide reproduction steps.

I am on Chrome/OSX. However I just tested tested this again and the issue seems to be gone.
I may have updated Chrome in between, not 100% sure.
We can close the issue if you like, as I cannot provide reproduction steps.

could be subpixel calculation rounding error in the browser. Usually the browser rounds borders to an integer but in your screenshot it seems like there is an aliasing in place. Closing the issue for now. If you spot it again, kindly reopen.

could be subpixel calculation rounding error in the browser. Usually the browser rounds borders to an integer but in your screenshot it seems like there is an aliasing in place. Closing the issue for now. If you spot it again, kindly reopen.


Parse Lone Function

Parse a function in the form "function()"

It can already do this apparently. Noice.


Class constructor TargetLanguage cannot be invoked without 'new'

I keep running into this problem while trying to use quicktype-core.
import {
  quicktype,
  InputData,
  jsonInputForTargetLanguage,
  languageNamed
} from "quicktype-core";

async function parse() {
  const target = "JSON Schema";
  const input = jsonInputForTargetLanguage(languageNamed(target));
  await input.addSource({
    name: "Schema1",
    samples: [`{ foo: "true" }`]
  });
}

It produces this error.
Class constructor TargetLanguage cannot be invoked without 'new'
new CrystalTargetLanguage
https://x88j6.csb.app/node_modules/quicktype-core/dist/language/Crystal.js:48:118
evaluate
https://x88j6.csb.app/node_modules/quicktype-core/dist/language/All.js:25:5
$n
https://codesandbox.io/static/js/sandbox.6fbf829d.js:1:148704
e.value
https://codesandbox.io/static/js/sandbox.6fbf829d.js:1:163968

Here's an example: https://codesandbox.io/s/quicktype-class-error-x88j6

I'm also having the same error (and I'm also using CodeSandbox).
Class constructor TargetLanguage cannot be invoked without 'new'
It points to the line of the import, in my case
import { quicktype, InputData, JSONSchemaInput, KotlinTargetLanguage } from "quicktype-core";
Any progress or solution?

I've added an example for how to call quicktype programmatically: https://runkit.com/dvdsgl/5dffa01dedf1a1001cf899c3

I've added a JSON example to the README https://github.com/quicktype/quicktype#calling-quicktype-from-javascript