"FlywayException: Validate failed" is cryptic

FYI @zikolach
After having run MESSAGE_ix installed through Anaconda on my machine, I uninstalled it again, deleted the folders in site-packages and then installed ixmp and message_ix through the source code.
This resulted in the following error when running mp = ixmp.Platform(dbtype='HSQLDB'):
---------------------------------------------------------------------------
org.flywaydb.core.api.FlywayException     Traceback (most recent call last)
<ipython-input-2-8838b5a9d05d> in <module>
----> 1 mp = ixmp.Platform(dbtype='HSQLDB')

~\AppData\Local\Continuum\anaconda3\lib\site-packages\ixmp\core.py in __init__(self, dbprops, dbtype, jvmargs)
    106                 logger().info("launching ixmp.Platform with local {} database "
    107                               "at '{}'".format(dbtype, dbprops))
--> 108                 self._jobj = java.ixmp.Platform("Python", str(dbprops), dbtype)
    109             else:
    110                 raise ValueError('Unknown dbtype: {}'.format(dbtype))

~\AppData\Local\Continuum\anaconda3\lib\site-packages\jpype\_jobject.py in __init__(self, *args)
     93             object.__setattr__(self, '__javavalue__', args[0])
     94         elif not hasattr(self, '__javavalue__'):
---> 95             jv = self.__class__.__javaclass__.newInstance(*args)
     96             object.__setattr__(self, '__javavalue__', jv)
     97         super(JObject, self).__init__()

org.flywaydb.core.api.FlywayException: Validate failed: Detected applied migration not resolved locally: 1.21

@khaeru pointed out that this is caused by the source code run expecting a new schema version of the database that is similar to the Java version that's being run, but finds that the older schema is present as the older database is still on the local computer.
Deleting all files (the local database) stored in ~/.local/share/ixmp/localdb/default.* resolves the issue.

@khaeru pointed out that this is caused by the source code run expecting a new schema version of the database that is similar to the Java version that's being run, but finds that the older schema is present as the older database is still on the local computer.

It is quite hard to understand from explanation ;) The underlying issue is that installed package has no migration file with version already applied by another version to local database. Which means it is either older version (which is not possible as master is latest) or there is some mess up with pip cache. Can you try pip install --no-cache-dir . or something similar? If it won't help can you please check md5 of ixmp.jar file in your site-packages/ixmp folder and the one on Github?

As I understand, @jkikstra did this:

Installed ixmp from conda, i.e. release 0.2.
Used it; so a local database was created.
Re-installed ixmp from source.
Used it again.

This produced the exception above.
The main issue is that the exception message is cryptic and doesn't offer the user a reasonable chance of identifying a solution. An easy fix will be to catch and re-raise the exception (in Python) with a message like: “The schema of database [path to database] does not match the schema of this version of ixmp. To resolve, either install the version of ixmp used to create the database, or delete it and retry.”

In the longer run, if the schema could be updated automatically in ixmp_source, that would help.
#182 should relocate any catch/re-raise code to JDBCBackend.


Support Tasking compiler errors in the terminal links

Hi,
Tasking compiler issue messages like this ones:
ctc W593: ["C:\JWD\wks\project\software\swc_CDD\MotCtrl\motor_app_type.h" 614/15] typedef Control_Mode_T redefined
0 errors, 5 warnings
However, the terminal is unable to detect the line and column of the error.

Right now we wouldn't want to accept this as it's a bit of an obscure format and the regex would run on every line on every terminal but get very few actual hits. Created #141305 to explore a refactor that would make that performance concern go away.


DSD 404 - test tugboat

Just a test PR to get the configuration right.

Tugboat has finished building the preview for this pull request!
Link:

https://pr636-nwizcvh5tuekkwysqt1kc3bj1uadp5pj.tugboat.qa

Dashboard:

https://dashboard.tugboat.qa/610d57c6b52cf99802b4f402

Closing in favor of #643


Consider adding logical_xor to mathematical functions

Currently, an XOR symbol can be created by composing different logical function symbols, i.e.:
sym_1 = model.binary(...)
sym_2 = model.binary(...)
xor = logical_and(
    logical_not(logical_and(sym_1, sym_2)),
    logical_or(sym_1, sym_2)
)
...

However, I imagine it would be more efficient and expressive to have a separate XOR symbol.

Do you have a specific use case in mind? I agree it could be there for symmetry, but I'd like to add new nodes lazily rather than eagerly.


name on Microsoft.KeyVault/vaults/accessPolicies generates error

0.3.126
The Microsoft.KeyVault/vaults/accessPolicies resource generates an error on the name attribute.
According to the ARM documentation, this should be possible:
  "resources": [
     {
      "type": "Microsoft.KeyVault/vaults/accessPolicies",
      "name": "[concat(parameters('keyVaultName'), '/add')]",
      "apiVersion": "2019-09-01",
      "properties": {
        "accessPolicies": [
          {
            "tenantId": "[subscription().tenantId]",
            "objectId": "[parameters('objectId')]",
            "permissions": {
              "keys": "[parameters('keysPermissions')]",
              "secrets": "[parameters('secretsPermissions')]",
              "certificates": "[parameters('certificatePermissions')]"
            }
          }
        ]
      }
    }
  ]

but doing this in bicep
resource accPol 'Microsoft.KeyVault/vaults/accessPolicies@2019-09-01' =  {
  name: '${keyVaultName}/add'
  properties: {
    accessPolicies: [for o in objectId: {
      tenantId: subscription().tenantId
      objectId: o
      permissions: access
    }]
  }
}

gives this error:

try using parent keyword instead slash in the name.

Actually , using this without loops generates the the same error. I would expect it to work like the secrets resource:
resource kvSecret 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = [for pair in keyVaultSecret: {
  name: '${keyVaultName}/${pair.name}'
  properties: {
    value: pair.value
  }
}]

The Secrets resource does not generate this error

Here's an example how you could declare this resource using parent, where keyVault is the name of the parent vault resource.
resource accPol 'Microsoft.KeyVault/vaults/accessPolicies@2019-09-01' =  {
  parent: keyVault
  name: 'add'
  properties: {
    accessPolicies: [for o in objectId: {
      tenantId: subscription().tenantId
      objectId: o
      permissions: access
    }]
  }
}

If you don't have a reference to the parent vault in this file, you can get a reference without deploying it using the existing syntax:
resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: keyVaultName
}

I want to have the access policy in its own module, so I can add access for each MI. Access can be added after the key vault has been created, just like key vault secrets. Adding parent (and keeping name form the pre-defined array) gives me this:

Key vault secret module works and looks like this:

The documentation for access policies is quite clear on the official site:

Likewise for key vault keys:

and secrets:

I do like the idea of adding a parent parameter - it is easier to read then '${keyVaultName}/${mySecret}' and this seems to work fine for secrets and keys, but for policies it makes no sense to have a parameter called name, that is used for determining an action done on the parent.
At the very least there should not be any errors in the key vault access policy module. The current errors make no sense.
Even adding the key vault access policy to a scope that contains the key vault generates the same errors:

Trying to mitigate the missing / in the error above results in another error:

If you wrap it in the any() function like any('${keyVaultName}/${pair.name}') it should work. I think understood from another post that this situation is a bug and that you can solve it with the any() function.

parent takes a symbolic reference to the parent resource - not a string. So to modify your example with the scope containing a kv:
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' = {
  name: keyVaultName
  ...
}

resource accPol 'Microsoft.KeyVault/vaults/accessPolicies@2019-09-01' =  {
  parent: kv
  name: 'add'
  ...
}

If you wanted to do the same thing in a scope not containing the kv, you could do (note the use of existing):
resource kv 'Microsoft.KeyVault/vaults@2019-09-01' existing = {
  name: keyVaultName
}

resource accPol 'Microsoft.KeyVault/vaults/accessPolicies@2019-09-01' =  {
  parent: kv
  name: 'add'
  ...
}

I can confirm, that a reference to the symbolic name solves the issue if having the key vault access policy in the same file as the key vault

However, it also does not make the name parameter more logical.
The key vault access policy module IS working, when implementing the change you suggest:

It would, however be more clean to assimilate the way key vault secret works, where a reference to key vault name is sufficient (they must be globally unique anyway) in stead of doing the whole resource kv etc stuff.

Just for reference:
Key vault access policy module:

Key vault secret module:

we are planning to introduce a simpler way of referencing an existing resource "inline" something like:
resource accPol 'Microsoft.KeyVault/vaults/accessPolicies@2019-09-01' = {
  parent: resource('Microsfot.KeyVault/vaults', keyVaultName)
  name: 'add'
}

The issue is that keyvault access policies using the name property as a type discriminator. This means that the name of the resource changes it's type, which is a strange API behavior but is a legacy thing we need to deal with. When you use the / method to set the parent context, we can't safely establish the type (that param could resolve to anything). Even though it might seems weird to use the existing pattern to get the error to go away, it's making your code safer. I'd recommend doing the same for the kvSecret resource as well.

I'm going to close this one since this initial issue has been resolved. Feel free to open another to continue discussing this one.


MedGen conflicts in OMIM:Mondo mappings

Hi @nicolevasilevsky et al!
We are preparing some reports regarding OMIM:Mondo relationships that seem to differ between MedGen and Mondo's mappings. In reviewing our data we have a few different types of conflicts: 1) Both Mondo and MedGen have the MIM number but disagree on where it should map relative to a CUI/Mondo ID based on names and other X-refs; 2) Mondo does not report the MIM number at all; 3) MedGen does not report the MIM number at all (out of scope for MedGen- potentially not an active disease/condition record)
Before we finalize the reports for these three groups, we want to understand what is in scope for Mondo from OMIM. From category 2 above, there are these groups of terms:

Blood group phenotypes
Quantitative trait loci -type named records (In OMIM they may display with % symbol, so these are phenotypes/conditions with unknown molecular basis)
Terms that are closer to phenotype descriptions rather than disease entities (i.e. https://www.omim.org/entry/128950) which are most likely in scope for HPO
Drug metabolism/response phenotypes ( i.e. https://www.omim.org/entry/100675 )
True disease records
Are any of these out of scope for Mondo?

Hi @kanems
here is a list of excluded OMIM classes in Mondo: https://github.com/monarch-initiative/mondo/blob/master/src/ontology/omim-exclusion-set.obo
This list was last updated in 2020, and we did not document our reasons at that time.
@kanems If you'd like to discuss this further, could you attend one of our weekly calls to further explain what is needed? Thank you!

@nicolevasilevsky - this is helpful, thank you. I'll see what we can do to filter out these items before sending the reports.
I also have not forgotten @matentzn 's pending invitation to discuss the CUI mapping conflicts on #4680  but I am waiting for a response from our developers that someone would be available for a call with you all. Presumably Fridays are your standing meeting times?

Yes! Friday at 9am PT/12pm ET. (note, we won't have a call on Friday, 05/06). It would be great if you were available to join one of our calls too. :)
Is it okay if I close this ticket?

@nicolevasilevsky if it's easier, sure, but we are hoping to have OMIM mapping conflicts ready to report in a week or so. I can make a new ticket at that time.

Sounds good, thanks @kanems! :)


Slow highlighting with large literals

https://user-images.githubusercontent.com/15268625/166972841-f53da9ac-f32d-4f60-9f54-bb00f67ec85a.mov

https://user-images.githubusercontent.com/15268625/166973231-853e1981-68a3-4a01-bf59-e23a294acbb8.mov


driverless:  Incorrectly passing IPP 'media' value directly as 'PageSize' argument

I do nearly all of my printing using native CUPS queues.   That works perfectly.   However some members of my household wish to use (eg) Mac systems to print using AirPrint.  That malfunctions quite spectacularly.
The PPD specifies page sizes using nominal names like 'w360h504' for a 5x7" print.  However the actual paper dimensions are slightly larger (~371x514pt).  The 'drivereless' printer translates this to IPP print sizes like "custom_131.06x181.19mm_131.06x181.19mm_borderless" and exports that to clients.  So far so good.
Unfortunately, when the client selects this size and submits a print job, the driverless filter passes the IPP size through instead of finding the matching size in the PPD -- Eg the PageSize option gets set to "131.06x181.19mm.Borderless" instead of the "w360h504' specified in the PPD.   As the submitted PageSize is not one of the legal options enumerated in the PPD, the filter fails to find a match yielding incorrect output, if not an outright error due to a media type mismatch.
This is 100% reproducible on the fully up-to-date Fedora 41 system that acts as my current printer server.  The major components in play:
cups-2.4.11-8
cups-filters-2.0.1-1
gutenprint 5.3.5-pre1
This is a representative eample of the options that CUPS is passing to the filter chain:
noCollate ColorModel=RGB job-uuid=urn:uuid:36242691-74a8-3363-41de-d1256a095156 media=custom_131.06x181.19mm_131.06x181.19mm_borderless MediaType=Standard number-up=1 OutputBin=FaceDown
PageSize=131.06x181.19mm.Borderless print-quality=4 job-originating-host-name=XXX date-time-at-creation= date-time-at-processing= time-at-creation=1734972775 time-at-processing=1734972775 cupsPrintQuality=Normal

rastertogutenprint's parsing makes this more legible:
]: [Job 64] Gutenprint:  CUPS option 13 time-at-processing =<PHONE_NUMBER>
]: [Job 64] Gutenprint:  CUPS option 12 time-at-creation =<PHONE_NUMBER>
]: [Job 64] Gutenprint:  CUPS option 11 PageSize = 131.06x181.19mm.Borderless
]: [Job 64] Gutenprint:  CUPS option 10 OutputBin = FaceDown
]: [Job 64] Gutenprint:  CUPS option 9 number-up = 1
]: [Job 64] Gutenprint:  CUPS option 8 MediaType = Standard
]: [Job 64] Gutenprint:  CUPS option 7 media = custom_131.06x181.19mm_131.06x181.19mm_borderless
]: [Job 64] Gutenprint:  CUPS option 6 job-uuid = urn:uuid:36242691-74a8-3363-41de-d1256a095156
]: [Job 64] Gutenprint:  CUPS option 5 job-originating-host-name = XXX
]: [Job 64] Gutenprint:  CUPS option 4 date-time-at-processing =
]: [Job 64] Gutenprint:  CUPS option 3 date-time-at-creation =
]: [Job 64] Gutenprint:  CUPS option 2 cupsPrintQuality = Normal
]: [Job 64] Gutenprint:  CUPS option 1 ColorModel = RGB
]: [Job 64] Gutenprint:  CUPS option 0 Collate = false

option 7 shows the IPP media atrtibute, and option 11 shows how this was translated into the 'PageSize' PPD option.  Below is the actual options lifted from the PPD:
*PageSize w360h504/5x7: "<</PageSize[371.520 513.600]/ImagingBBox null>>setpagedevice"
*PageRegion w360h504/5x7:       "<</PageSize[371.520 513.600]/ImagingBBox null>>setpagedevice"
*ImageableArea w360h504/5x7:    "0.000 0.000 371.520 513.600"
*PaperDimension w360h504/5x7:   "371.520 513.600"

131.06x181.19mm converts back to 371.509 x 513.609 points, clearly some rounding errors in play.  But I don't know if that's responsible for this failure or not.
I realize that Gutenprint playing a bit loose with PageSizes (eg w360h504 actually being 372x514) but I'd still expect a valid (ie present in the PPD) PageSize passed into the rastertogutenprint filter.
EDIT:  Given that the IPP sizes reported are clearly derived from the specifics of the PageSize/ImageableArea definittion rather than the wXXXhYYY identifier, it stands to reason that a reverse lookup would work the same way.

Can you tell us how you exactly have set up the queue and also attach the PPD file in use?
Could you also run the follwing command (from a Linux client):
ipptool -tv ipp://HOSTNAME_OR_IP:631/printers/QUEUE get-printer-attributes.test > attrs.txt

Replace HOSTNAME_OR_IP by the appropriate of your server and QUEUE by the name of your print queue on your server. Please attach the file attrs.txt to this issue.
The client (macOS in your case) discovers the print server with your printer via DNS-SD and sends a get-printer-attributes IPP request. The response contains the list of paper sizes, with generated IPP names and with size dimensions (in units of 1/100 of a mm). This response is solely produced by CUPS based on the PPD file. Code of cups-filters or libcupsfilters is not involved here.
When sending a job, CUPS is generating the option list to supply to the filter chain. CUPS could try to match the media size with the PageSize entries of the PPD here.
Now you tell that a "driverless filter" does something wrong here. What do you mean with driverless filter?
For me it seems that what is needed is that rastertogutenprint needs to adjust the size to the one of the PPD file here so that the printer gets the correct amount of pixels.
So for me I do not see a bug in cups-filters, both CUPS and rastertogutenprint could snap the size requested by the job to the next PPD size (the gstoraster CUPS filter does that, too).
CUPS will not be able to send w360h504 in its IPP response as this is not an IPP standard name.
Moving to CUPS ...


Update ldar_sim.py

There was an elusive comma on line 222 that was preventing sampling from the vent file from working properly. This should clear up any errors. Thanks @KeeganShaw-GIS for the help on this one!

closes #78


Add HubRouteTables specs to virtualWan.json

Latest improvements:
MSFT employees can try out our new experience at OpenAPI Hub  - one location for using our validation tools and finding your workflow.

Contribution checklist:

[x] I have reviewed the documentation for the workflow.
[x] Validation tools were run on swagger spec(s) and have all been fixed in this PR.
[x] The OpenAPI Hub was used for checking validation status and next steps.

ARM API Review Checklist

[x] Service team MUST add the "WaitForARMFeedback" label if the management plane API changes fall into one of the below categories.
adding/removing APIs.
adding/removing properties.
adding/removing API-version.
adding a new service in Azure.

Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.

[ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
Please follow the link to find more details on API review process.

/azp run automation - sdk

Can one of the admins verify this patch?

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@nagula-ritvika, could you take a look at the tool check errors? There are a couple of description And title missing for the new operations.

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@lirenhe : I have fixed the errors. Can you take a look please

@nagula-ritvika, i still see failures in NetworkValidation and could you double check?
Also, there are a couple of Lint failures in Staging Validation. Could you also check whether you could fix them?

/azp run automation - sdk

@lirenhe : Done. There are only breakingChange errors now

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

/azp run automation - sdk

@lirenhe please merge


Namespaces?

Hi all,
I'm writing my first Archetype contract, and I immediately ran into what strikes me as a very strange error.  Here is the code I'm trying to use:
asset all_tokens {
    owner: address;
    amount: nat;
}

asset voting_tokens {
    expires: date;
    tokens: partition<all_tokens>;
}

asset utility_tokens {
    foo:string;
    tokens: partition<all_tokens>;
}

And the error I get is:  already bound: "tokens" .
Do assets really not have their own namespaces?  I can't have two different assets with the same property name?
Please clarify.  This kind of thing would be a complete deal killer for me if there was another blockchain out there with usable storage layer, but it seems Tezos is the only game in town, so I'll have to deal with it.  Are there any plans to change this??
Thanks in advance.

Hi Mike,
indeed there is currently this constraint on field names; we are working on releasing it (should be done by November).
If this is a deal killer, you may use one of the two other languages SmartPy or Ligo. We wouldn't like you to rage quit Tezos for that :) ...

That's great.  I'll try to keep my asset use to a minimum until November.  And no, there's no way I'm rage quitting.  As I mentioned, Tezos is the only game in town for structured data storage on a blockchain.  Instead, I'll keep an eye on development here.  Thanks so much for the answer, and for building such a usable platform!

Just went through this problem today. It is indeed very important to be solved. Waiting on it.

Agreed.  I've more or less paused development until this is fixed because I was creating a huge mess that I would then have to clean up.  I hope it's still scheduled for November...

I temporarily switched to Ligo, even though I see Archetype as a more straightforward language to learn and code in. Ligo has some interesting test features and after two days of coding, you get used to it.


fix(chat): remove content top margin (Issue #2461)

Description:
Remove content top margin
Issues:

Issue #2461

Checklist:

[x] the pull request name complies with Conventional Commits
[x] the pull request name starts with fix(<scope>):, feat(<scope>):, feature(<scope>):, chore(<scope>):, hotfix(<scope>): or e2e(<scope>):. If contains breaking changes then the pull request name must start with fix(<scope>)!:, feat(<scope>)!:, feature(<scope>)!:, chore(<scope>)!:, hotfix(<scope>)!: or e2e(<scope>)!: where <scope> is name of affected project: chat, chat-e2e, overlay, shared, sandbox-overlay, etc.
[x] the pull request name ends with (Issue #<TICKET_ID>) (comma-separated list of issues)
[x] I confirm that do not share any confidential information like API keys or any other secrets and private URLs

/deploy-review

/deploy-review

/deploy-review

/deploy-review


Feature: Display icons but not full messags on all lines

This plugin is amazing and looks great!  One thing I'm missing is the ability to show the icon (dot, amongus, whatever) on all lines with issues but only show the message when the cursor is on that line.

Hi, thanks !
I've added options.add_messages:

Try to update, and tell me if it does what you want !

Oh I also have this in my options.lua
vim.diagnostic.config({ virtual_text = false, signs = true, underline = true })

🤦
That was totally it.  Updated and it works great.  Thank you!

Have a nice day !


[contracts] Relayer fee libraries

Need to implement the helper libraries outlined here

Closing in lieu of #1484


Leaderboard-Command + some changes to the grammar and words for zh* (OITC)

This PR has included a translation for Leaderboard-Command, as well as some modifications to the grammar and wording.

Thank you for your contribution! <3


3.5 SRD compatibility

Please make the module works on 3.5 SDR module

Good suggestion @valhallatoys thank you


[apptools] Add extension file for apptools

Init apkLength
Update case id
Add extension file

Impacted tests(approved): new 0, update 28, delete 0
Unit test platform: [Android]
Unit test result summary: pass 35, fail 0, block 0

LGTM


[Feature] Function to merge analogsignals

Hey all,
I wrote the following function to merge analogsignals, because I needed it. The function is thought to be memory efficient, and thus systematically deletes the data that has been duplicated.
If you think this function can find a home somewhere in the neo codebase, let me know where and I can create a corresponding test and PR it.
def merge_anasiglist(anasiglist):
    """
    Merges neo.AnalogSignal objects into a single object.

    Units, sampling_rate, t_start, t_stop and signals shape must be the same
    for all signals. Otherwise a ValueError is raised.

    Parameters
    ----------
    anasiglist: list of neo.AnalogSignal
        list of analogsignals that will be merged

    Returns
    -------
    merged_anasig: neo.AnalogSignal
        merged output signal
    """
    # Check units, sampling_rate, t_start, t_stop and signal shape
    for anasig in anasiglist:
        if not anasiglist[0].units == anasig.units:
            raise ValueError('Units must be the same for all signals')
        if not anasiglist[0].sampling_rate == anasig.sampling_rate:
            raise ValueError('Sampling rate must be the same for all signals')
        if not anasiglist[0].t_start == anasig.t_start:
            raise ValueError('t_start must be the same for all signals')
        if not anasiglist[0].t_stop == anasig.t_stop:
            raise ValueError('t_stop must be the same for all signals')
        if not anasiglist[0].magnitude.shape == anasig.magnitude.shape:
            raise ValueError('All signals must have the same shape')

    # Initialize the arrays
    anasig0 = anasiglist.pop(0)
    data_array = anasig0.magnitude
    sr = anasig0.sampling_rate
    t_start = anasig0.t_start
    t_stop = anasig0.t_stop
    units = anasig0.units

    # Get the full array annotations
    for anasig in anasiglist:
        anasig0.array_annotations = anasig0._merge_array_annotations(anasig)

    array_annot = anasig0.array_annotations
    del anasig0

    while len(anasiglist) != 0:
        anasig = anasiglist.pop(0)
        data_array = np.concatenate((data_array, anasig.magnitude),
                                    axis=np.argmin(anasig.magnitude.shape))
        del anasig

    merged_anasig = neo.AnalogSignal(data_array,
                                     sampling_rate=sr,
                                     t_start=t_start,
                                     t_stop=t_stop,
                                     units=units,
                                     array_annotations=array_annot)
    return merged_anasig

Cheers!
Aitor

Hi @morales-gregorio!
Thanks for providing this utility code. I am not sure yet on how this could be smoothly integrated with the AnalogSignals objects, therefore I would suggest to make for now available as a utility function. What do you think? Could you create a PR for this?

solved via #836


Seems to be broken on Canary (2.0.2)

When initially launched on 2.0.2, this plugin seems to have no effect at all:

… but if I change the hyperStatusLine configuration, and hit save in my editor, the status-line suddenly appears (without, however, respecting the configuration I just set?)

Here's hoping you guys get a chance to give this some update-love! This is an essential part of Hyper for me, and I don't want it to break when 2.0 goes stable! <3

I have the same problem

@ELLIOTTCABLE are you sure that the text color isn't just black (check by hovering the lower left corner)? cause that's my issue (not on canary though).

but when I change hyper's background color to transparent (backgroundColor: 'rgba(0, 0, 0, 0.5)'), i can actually (barely) see that the bar is there:


Amazing job!

Just want to know the roadmap and timeline, can't wait to see the one with more funcationality and features.
Good Job!

Thank you! we are currently working hard to finish all main functions.
I believe the package will be ready for alpha testing by the end of the year or maybe earlier I hope.


Reconsider scope of captureEffect with respect to hasNext on iterator

See @johnynek's question here about whether the captureEffect could be moved inside the first branch of the conditional in this code:
        F.flatten(
          captureEffect(
            if (iterator.hasNext) {
              val entry = iterator.next

              F.map(step.feedEl((entry, zipFile.getInputStream(entry))))(Left(_))
            } else F.pure(Right(step))
          )
        )

Actually I think you have it right now. Encapsulation of any effect seems smart.


Pipe transport on unix should use fifo not Unix Domain Socket

This code should use fs.mkfifo on non-windows:
https://github.com/microsoft/vscode-languageserver-node/blob/277e4564193c4ed258fe4d8d405d3379665bbab9/jsonrpc/src/node/main.ts#L201-L220

Unix Domain Socket (UDS) causes a problem in python for adaption of pip transport in LSP/DAP/testing where we need to communicate back to node process and we use VSCode JSON RPC package. When I say LSP/DAP/testing, we have plans to migrate all socket communication to use namedpipes. There are packages in python that explicitly disable sockets on load, and we often get bitten by firewall rules. Stdio communication also gets impacted by packages trying to write to stdio on load. Sometimes this occurs even before any of our packages are loaded for us to capture the stdio file descriptors. Another way this is a problem is when, pythons logging is enabled to write logs to stdout. We have several reasons to get off of stdio, and sockets is not a good option, so pipes are the next best thing.
How we discovered this problem: in python named pipes can be connected to using open, like with open("<pipe-name", "r+b") as pipe: gives you a stream object that read/write to pipes. This should work on all os'es. It worked on windows, when I tested this on linux, open would come back with file does not exist. I could connect to the node "pipe" using netcat or by using python sockets by setting the socket family to (AF_UNIX). Both of which means that it is using Unix Domain Socket.
The recommended change is on non-windows to use mkfifo to create the namedpipe (or fifo), and provide a similar wrapper to expose the read write streams.

@karthiknadig could you please point me to the fs.mkfifo in NodeJS. I was not able to find it. All I could find is stat related API to detect if a handle is a fifo.

@dbaeumer I will share code sample. You basically spawn mkfifo as a subprocess to create it.

Here is an example:
   let connectResolve: (value: [rpc.MessageReader, rpc.MessageWriter]) => void;

    const connected = new Promise<[rpc.MessageReader, rpc.MessageWriter]>((resolve, _reject) => {
        connectResolve = resolve;
    });
    return new Promise((resolve, reject) => {
        const proc = child_process.spawn('mkfifo', ['-m', '0666', pipeName]);
        proc.on('error', reject);
        proc.on('exit', (code, signal) => {
            if (code !== 0) {
                reject(new Error(`Failed to create fifo pipe ${pipeName}: ${signal}`));
            }
            fs.open(pipeName, constants.O_RDWR, (err, fd) => {
                if (err) {
                    reject(err);
                }
                const socket = new net.Socket({ fd, readable: true, writable: true });
                connectResolve([
                    new rpc.SocketMessageReader(socket, 'utf-8'),
                    new rpc.SocketMessageWriter(socket, 'utf-8'),
                ]);
            });
            resolve({ onConnected: () => connected });
        });
    });

You can also replace net.Socket with just plain stream from fs.createReadStream and fs.createWriteStream.

@karthiknadig thanks for the code snippet. Any desire to provide a PR for this :-) This code should go somewhere here: https://github.com/microsoft/vscode-languageserver-node/blob/f8a54a2b35e9a2781c711a145be8acc44ca6902f/jsonrpc/src/node/main.ts#L201 and https://github.com/microsoft/vscode-languageserver-node/blob/f8a54a2b35e9a2781c711a145be8acc44ca6902f/jsonrpc/src/node/main.ts#L224
I still think that we need to add a new transport kind fifo for this. Otherwise we might break things if users upgrade the client but not the server.

@dbaeumer I investigated more into how fifo are done in various linux variants and mac. There is lot of variance in how fifo are handled in each OS. The main issues comes down to read-write ordering. The requirement is that the read side should open the fifo in read mode, before the write side opens it. LS Client should open the fifo in read mode and wait for LS Server to open the fifo in read mode on its side before both LS Client and LS Server open write mode streams. This coordination is going to be difficult, as we don't really have a protocol way to say server has connected. fifos don't have a way to detect this, we will need to do this manually. The behavior of this ordering varies between flavors on linux. The fact that there is an ordering requirement is a blocker to me.
So, I don't think we can switch the communication over from stdio for python scenarios unfortunately.

@karthiknadig thanks for the investigation. One idea for working around the ordering is to have some ready/tag files in the file system to synchronize this.

@karthiknadig do we still need this. I had the impression that we don't based on our last discussion.

We can close this.


"Failed to load gRPC binary module because it was not installed for the current system"

What version of gRPC and what language are you using?
I've have tried different versions of gRPC - ( 1.8.x to 1.11.x)
What operating system (Linux, Windows, …) and version?
Ubuntu 16.04.4 (LTS)
What runtime / compiler are you using (e.g. python version or version of gcc)
Tried different versions of Nodejs (6.x.x to 8.x.x)
What did you do?
I'm trying to deploy meteor bundled application in the linux machine. The meteor application works fine in the windows. But with the same versions of configuration (Node,Mongo) if I try to deploy in linux machine it gives the following error message. I tried to comment the grpc code of lines and the application runs fine.
What did you expect to see?
What did you see instead?

Make sure you include information that can help us debug (full error message, exception listing, stack trace, logs).
Below is the nginx error log file
error.log
Anything else we should know about your project / environment?

Yes I've tried "npm rebuild"

I am getting the similar error. Is there any workaround for the above problem?
Error: Failed to load gRPC binary module because it was not installed for the current system Expected directory: node-v64-linux-x64-glibc Found: [node-v59-linux-x64-glibc] This problem can often be fixed by running "npm rebuild" on the current system Original error: Cannot find module '/app/node_modules/grpc/src/node/extension_binary/node-v64-linux-x64-glibc/grpc_node.node'     at Object.<anonymous> (/app/node_modules/grpc/src/grpc_extension.js:53:17)     at Module._compile (internal/modules/cjs/loader.js:689:30)     at Object.Module._extensions..js (internal/modules/cjs/loader.js:700:10)     at Module.load (internal/modules/cjs/loader.js:599:32)     at tryModuleLoad (internal/modules/cjs/loader.js:538:12)     at Function.Module._load (internal/modules/cjs/loader.js:530:3)     at Module.require (internal/modules/cjs/loader.js:637:17)     at require (internal/modules/cjs/helpers.js:20:18)     at Object.<anonymous> (/app/node_modules/grpc/src/client_interceptors.js:145:12)     at Module._compile (internal/modules/cjs/loader.js:689:30)

This issue was long stale, closing it. Please open a new issue on https://github.com/grpc/grpc-node instead with your full information and reproduction case.


More consistent i/o for dynamic member attributes

Changes proposed ✍

member attribute input style changed from:

attributes: {
     github: {
       someAttribute: 'someValue'
    }
}

into
attributes: {
     someAttribute: {
       github: 'someValue'
    }
}

to be more consistent with input and output of these API calls

Now the API supports sending custom attributes without sending it with the custom key. To elaborate: createWithMember function now accepts attributes like this

attributes: {
     someAttribute: 'some value'
}

which will be translated into
attributes: {
     someAttribute: {
       custom: 'someValue'
    }
}

Checklist ✅

[x] Label appropriately with type:feature 🚀, type:enhancement ✨, type:bug 🐞, or type:documentation 📜.
[ ] Tests are passing.
[ ] New backend functionality has been unit-tested.
[ ] Environment variables have been updated

[ ] Front-end: frontend/.env.dist
[ ] Backend: backend/.env.dist, backend/.env.dist.staging, backend/.env.dist.staging.
[ ] Configuration docs have been updated.
[ ] Team members only: update environment variables in Password manager and update the team

[ ] API documentation has been updated (if necessary) (see docs on API documentation).
[ ] Quality standards are met.
[ ] All changes have been tested in a staging site.
[ ] All changes are working locally running crowd.dev's Docker local environment.

there's a problem with the merge commit. It's still getting an old merge commit in github actions, failing the CI. Locally test lint ant formatting passes. Merging this


Drop page does not work on mobile

Is there an existing issue?

[X] I have searched the existing issues

What happened?
If someone opens Koda drops on mobile, it won't work for them.
Please reproduce in steps

On your phone open kodadot.xyz/drops
Go to any drop
Drop page has blank art

Expected Behavior
I expect to have art visible on mobile.
What browsers are you seeing the problem on?
Mobile iOS Safari (WebKit)
At which address did you encounter bug?
kodadot.xyz
Are you logged in?
None
Which wallet you are using?
No response
At which chain did you encounter bug?
Asset Hub Polkadot
Screenshots

Wallet Address & Transaction hash
No response
Relevant log output
No response
Payment link for reward
https://canary.kodadot.xyz/dot/transfer/?target=<My_Polkadot_Address_check_https://github.com/kodadot/nft-gallery/blob/main/REWARDS.md#creating-your-dot-address>
Code of Conduct

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

Seems like Nova Wallet does not work for me either

Seems Nova Wallet works 👀

@vikiival for me all of them loaded, I did get the white screen but it ended up loading.
a couple of weeks ago I had chatted with @exezbcz about introducing some kind of loader there so we wouldn't have that white screen

@hassnian ahhh now i see what is the issue
lets put a loader there:

in: https://www.figma.com/design/JXNtryaNYhY0XJNArzvPQx/Handoff?node-id=1287-18959&t=4JMKlxLIltW0cmZV-11


on load more method of Paginate Callback does not Called

I implement your library but  it has not effect but showing only loading view. I debug that it never called on load more method.please help me. below code is paginate declaration..
`private void setScrollListener() {
        int threshold=1;
        paginate = Paginate.with(listProduct, this)
                .addLoadingListItem(true)
                .setLoadingTriggerThreshold(threshold)
                .setLoadingListItemSpanSizeLookup(new LoadingListItemSpanLookup() {
                    @Override
                    public int getSpanSize() {
                        return newSpanCount;
                    }
                })
                .build();

    }`

Here is the where i initialize my adapter
`productAdapter = new ProductAdapter(getActivity(), productList);
            listProduct.setAdapter(productAdapter);
            productAdapter.notifyDataSetChanged();
            setScrollListener();`

and there  are my callback methods ..
` @Override
    public void onLoadMore() {
        onLoadMoreCallback();
    }

    @Override
    public boolean isLoading() {
        // Indicate whether new page loading is in progress or not
        return loading;
    }

    @Override
    public boolean hasLoadedAllItems() {
        // Indicate whether all data (pages) are loaded or not
        return pageNumber == totalProductpage;
    }`

@ashraful29
Did you setup the layout manager for RecyclerView?
Where does newSpanCount come from?
What is returned from following line
return pageNumber == totalProductpage ?

Ok i Solve this problem. Sorry for late response.

How did you solve this?

How did you solve ... ?? plz tell us .. i also have same issue


Fixed #29135 -- get_object_or_404() and get_list_or_404() swallow AttributeError in queryset filtering

https://code.djangoproject.com/ticket/29135

:+1: try/catch AttributeError implementation probably was inspired by Python 2.x hasattr behavior, that was fixed in Python 3.2  https://bugs.python.org/issue9666

@carltongibson fixed


Creating Rewired module instead of just example

Hey! What do you think about creating small modules for common configs in this project? Then instead of just having people could just use the modules or look at the source code in case they want anything super fancy.
ex:
import { rewireSass, rewireRelay } from 'react-app-rewired';

module.exports = function override(config, env) {
  return rewireRelay(rewireSass(config, env), env);
};

Cool idea I'm totally game for that.  Looks like a nice clean way to go from what I see.
Any thoughts @geelen ?

@pasviegas if you want to put together a sample module we can at least start there.  I'll have time next week to help get this setup.

I created some simple default rewires and changed the readme to show how to use it. All very simple, just so we can start.
PR: https://github.com/timarney/react-app-rewired/pull/8


Ingress Gateway only responding on one or two of three ELB IPs

Bug description
If I curl an ingress gateway with -v, I can see that it responds on one of the three ELB IPs... the other two just hang.
I'd normally be inclined to say it's clearly an AWS/ELB issue but hear me out.
I have 4 environments and back in October I deployed Istio for the first time to two of these.. version 1.0.2. We hit some scale issues and had to hold off.  In March/April, we tried again on 1.1.x and started moving forward with a rollout in all 4 environments.
At no time had I actually used ingress-gateway out of possibly trying a bookinfo demo or something. Today I started setting up ingress gateway configurations and hit this issue in two of our environments.The two hitting this issue are the two that were upgraded from 1.0.2.
Given that these environments are 100% isolated (different AWS accounts, even), it just seems odd that two of them would have an ELB with the exact same issue -- and it happens to be the ingress gateway ELB? All 4 environments are currently on the same versions of Istio.
It's also worth noting that all instances/subnets were healthy and reporting as normal. I did end up deleting the service/ELB in the affected environments and re-creating it. That resolved the issue.
Affected product area (please put an X in all that apply)
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[X] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ ] User Experience
[ ] Developer Infrastructure
Expected behavior
Ingress gateway responds to all requests consistently.
Steps to reproduce the bug
Unfortunately I do not have clear steps for this. Upgrade a 1.0.2 cluster to 1.1.x and then use ingress gateway for the first time? :/
Version (include the output of istioctl version --remote and kubectl version)
Istio: 1.0.2 originally; currently 1.1.9
k8s: 1.11.8
How was Istio installed?
Helm default + mTLS
Environment where bug was observed (cloud vendor, OS, etc)
AWS / Kops

Possibly not related, but I did observe that by default (no gateways) an ingress gateway elb will respond instantly with an Empty reply from server. After adding and then removing a gateway, I get a similar hanging behavior.
I call it out because it's odd, but the bigger issue is getting different results at random through an ELB.

Is this related? https://github.com/istio/istio/issues/14102#issuecomment-501513047

It does sound like it could be, given the relationship with ELBs and upgrade path -- but my ELBs in all 4 environments are already Cluster. And I was able to fix them by re-creating with no config changes.

 Across the 4 environments, 3 of them respond on one of the 3 ELB IPs while the other responds on 2 of the 3 ELB IPs.
It's very strange, but seems unrelated to the above issue/comment. My other ELBs in the same subnets (my old gateway) are working fine... this is specific to ELBs routing to ingress gateway.

Okay, it seems like if I left it sit long enough without adding rules it settles down. What could possibly explain this, given that the issue is 100% tied to the ELB IP it gets.

I've been able to consistently reproduce this and updated the OP, removing a bunch of irrelevant information.

This almost feels like https://github.com/istio/istio/issues/14242 but I don't see how it could be. Maybe a similar type of issue though


Create a new, non-navigate request when fetchOptions is set

Library Affected:
workbox-sw 3.6.1
Browser & Platform:
E.g.  Chrome < v68 for Android & windows (not checked on other platforms but seems true for them as well).
Issue or Feature Request Description:
on event.request.mode == 'navigate', using fetchOptions for networkOnly, networkFirst strategy fails and throws offline fallback page with TypeError as follows. (not checked with other strategies like staleWhileRevalidate, etc.)
The problem is discussed in (https://stackoverflow.com/questions/46982502/cannot-construct-a-request-with-a-request-whose-mode-is-navigate-and-a-non-emp) and the selected answer points to remove fetchOptions completely when event.request.mode == 'navigate'. After removing RequestInit object i.e. fetchOptions from strategies works but defeats the purpose of fetchOptions completely.
So, it seems the limitation with fetch(), can you suggest a fix or possible workaround or overcome this issue on old chrome builds?
Most of my users using old chrome build on android as well as on windows platform are trapped into this issue and always see offline fallback page.
Your help is appreciated. Steps to reproduce issue follows
Network request for '/page2,html' threw an error. TypeError: Failed to execute 'fetch' on 'ServiceWorkerGlobalScope': Cannot construct a Request with a Request whose mode is 'navigate' and a non-empty RequestInit.
    at Object.<anonymous> (workbox-core.dev.js:1400)
    at Generator.next (<anonymous>)
    at step (workbox-core.dev.js:14)
    at workbox-core.dev.js:25

trace

_print | @ | workbox-core.dev.js:132
-- | -- | --
  | workbox.core.defaultExport.(anonymous function).args | @ | workbox-core.dev.js:149
  | (anonymous) | @ | workbox-core.dev.js:1407
  | step | @ | workbox-core.dev.js:14
  | (anonymous) | @ | workbox-core.dev.js:27
  | Promise.then (async) |   |
  | step | @ | workbox-core.dev.js:24
  | (anonymous) | @ | workbox-core.dev.js:25
  | Promise.then (async) |   |
  | step | @ | workbox-core.dev.js:24
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:32
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:11
  | wrappedFetch | @ | workbox-core.dev.js:1424
  | (anonymous) | @ | workbox-strategies.dev.js:822
  | step | @ | workbox-core.dev.js:14
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:32
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:11
  | makeRequest | @ | workbox-strategies.dev.js:850
  | (anonymous) | @ | workbox-strategies.dev.js:780
  | step | @ | workbox-core.dev.js:14
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:32
  | self.babelHelpers.asyncToGenerator | @ | workbox-core.dev.js:11
  | handle | @ | workbox-strategies.dev.js:784
  | defaultNetworkOnlyHandler | @ | sw.js:2
  | handleRequest | @ | workbox-routing.dev.js:365
  | workbox.routing.self.addEventListener.event | @ | workbox-routing.dev.js:835

This is modified sample code for your reference for easy reproduction of issue at your side. Activate the service worker with 'sw-offline' fallback page and navigate to other url. You will see a error log and returns offline fallback
	workbox.precaching.precache(['sw-offline']);
	workbox.precaching.addRoute({cleanUrls: false,directoryIndex: null});
	const defaultNetworkOnlyHandler = async (args) => {
		console.log('Default:'+args.url);
		try {
			var defaultNetworkOnly = workbox.strategies.networkOnly({
				fetchOptions: {credentials:'include'}
			});
			const response = await defaultNetworkOnly.handle(args);
			return response || await caches.match('sw-offline');
		} catch(error) {
			return await caches.match('sw-offline');
		}
	};
	workbox.routing.setDefaultHandler(defaultNetworkOnlyHandler);

If you're making a navigation request, the event.request object should already have credentials set to 'include'. That's the default that browsers use for navigations:

When request’s mode is "navigate", its credentials mode is assumed to be "include" and fetch does not currently account for other values. If HTML changes here, this standard will need corresponding changes.

So I would expect that you'd get the behavior you want by not setting fetchOptions at all. That would result in this line
https://github.com/GoogleChrome/workbox/blob/b146d8d3c2db89fa51afc322049b9795894bb4f2/packages/workbox-core/_private/fetchWrapper.mjs#L113
being executed with fetchOptions set to undefined, and I believe that it will just use the request as-is (including with the existing credentials mode) in that case.
Or perhaps I'm missing something here related to older versions of Chrome that necessitates using fetchOptions? If so, could you clarify that bit?

The sample code i provided is only meant for reproduction of the issue. In real, i am appending additional header to each request to identify requests coming from service worker. Setting fetchOptions to undefined or {} when request.mode == 'navigate' works but defeats the purpose of setting additional header on each request.
you may check with following code...
	workbox.precaching.precache(['sw-offline']);
	workbox.precaching.addRoute({cleanUrls: false,directoryIndex: null});
	const defaultNetworkOnlyHandler = async (args) => {
		console.log('Default:'+args.url);
		try {
			var myHeader = new Headers(event.request.headers);
						myHeader.append('SWVER', '1.0');
			var fetchOptions ={headers: myHeader};
			var defaultNetworkOnly = workbox.strategies.networkOnly({
				fetchOptions: fetchOptions
			});
			const response = await defaultNetworkOnly.handle(args);
			return response || await caches.match('sw-offline');
		} catch(error) {
			return await caches.match('sw-offline');
		}
	};
	workbox.routing.setDefaultHandler(defaultNetworkOnlyHandler);

One possibility to overcome this issue i can think of is using makeRequest, but this fails silently (shows offline fallback page) without throwing any error.
	workbox.precaching.precache(['sw-offline']);
	workbox.precaching.addRoute({cleanUrls: false,directoryIndex: null});
	const defaultNetworkOnlyHandler = async (args) => {
		console.log('Default:'+args.url);
		try {
			var myHeader = new Headers(event.request.headers);
						myHeader.append('SWVER', '1.0');
			var defaultNetworkOnly = workbox.strategies.networkOnly();
			var myRequest = new Request(args.event.request.url, {headers: myHeader});
			const response = await etStrategy.makeRequest({args.event, request: myRequest});
			return response || await caches.match('sw-offline');
		} catch(error) {
			return await caches.match('sw-offline');
		}
	};
	workbox.routing.setDefaultHandler(defaultNetworkOnlyHandler);

The issue can be reproduced in older builds of Chrome, I've checked randomly in Chrome builds v60 to v65.

One possibility to overcome this issue i can think of is using makeRequest, and create custom request object. And the following solution works.

Implementing your own handler that creates a non-navigate Request with custom headers seems like the right approach for this scenario. Your code seems reasonable.

So as per my opinion, in order to support fetchOptions properly for request.mode=='navigate' for all workbox strategies, workbox-core needs a immediate fix.

Are you asking for a change that would detect when fetchOptions is set and request.mode === 'navigate', and when that's true, automate the process of creating a new request with mode set to 'cors' instead? (Or set to 'same-origin', which seems more in keeping with what you'd expect from a navigation request?)
That could be done, but I'm not sure I'd describe that as a bug that necessitates an immediate fix as much as it's a feature request to save some effort of manually implementing the logic.

Are you asking for a change that would detect when fetchOptions is set and request.mode === 'navigate', and when that's true, automate the process of creating a new request with mode set to 'cors' instead? (Or set to 'same-origin', which seems more in keeping with what you'd expect from a navigation request?)

Yes, It'd be great to have this feature. It look me long time to think of possible solution to overcome this issue. I am sure many others have faced this issue while using workbox or native service-worker js code.
I'll not say it a bug, this is a fetch API limitation. In workbox, there should not be any limitation.
I think, while you make this feature request in next workbox release, current documentation of workbox strategies should be updated with this limitation. (because novice like me rely on documentation and when any limitation is not documented, it takes much time to actually dig root cause of the issue).

Since this was requested for WB v4, we are at v6 and have not seen movement in a while, I'll close the issue.


use empty to check if not empty array rather than array[0]

fixes error Undefined offset: 0 in app/code/community/TriggeredMessaging/DigitalDataLayer/Model/Page/Observer.php
#7

Are you happy with the fix in https://github.com/TriggeredMessaging/digitalDataMagentoExtension/pull/8/files#diff-5359358b83cb99324c5652635f8a6246R754 ?

Thanks. Will tet and let you know. You have introduced some whitespace errors in that commit btw.

I would also add, that you need to be sure an array is returned if using count - as an empty string will return 1 - so using !empty as above may be safer.

My mistake btw regarding the commit - I didn't mean to attribute it to you. I think it needs some cleanup before committing though - perhaps you can merge it and then do some cosmetic changes (as well as the change mentioned above) - The existing codebase has some inconsistencies with mixed use of spaces/tabs for indentation and one file that is CRLF line endings cs LF.

@joolswills I've merged @blakefinney 's latest version - he's done some normalisation and code tidy on top of the code change.


Limit the number of concurrent imagemin processes to the number of CPUs

fixes issue as described in #11 .

new option maxConcurrency
default with cpu-cores

i tested i local with a basic-testsetup, but i think it would be nice, if you could test it again please 👍
maybe it would be good, to have some unit-tests for the feature 😄

mh sorry can you tell me what doesn´t work and how could i test it better?

I'm looking into what's going on now, but the standard image I check to make sure it worked (which is around 14kb when compressed) is 33kb, so it's not running for some reason.
Without having looked into it yet, I think it has something to do with the fact that i'm using lodash's map to map over an object (which passes in value, key as the func params).

I see what it is, instead of throttle(async (asset, filename) => ... it needs to be (asset, filename) => throttle(async () => ...

It works perfectly now! Thanks for the help.
(since you asked), make sure you are actually testing the final outcome when you manually run a library like this.
It's partially my fault though because I don't have any unit tests for it yet, and that's purely out of laziness... I'd be willing to open a hacktoberfest issue if you wanted to take a crack at adding them (using whatever stack you'd like, i'm not picky), but I felt bad just opening an issue like that as it feels really exploitative...


Be able to specify non-default balance for treasury account

Is your feature request related to a problem? Please describe.
It can be helpful for some tests to initialize a treasury with a certain balance (for example 0) and then assert that the balance grows after issuing some transaction.
Describe the solution you'd like
Add a parameter to Blockchain.treasury() allowing to specify a balance
Describe alternatives you've considered
Additional context

Looks like a good idea, will likely be added in the next release


Hydrogen Kernel persists through atom restart (tested only R)

Description:
Anytime the kernel is not manually closed, it persists through atom being closed. Reopening and sending a command leads to the start of a new kernel.
I can shut those R sessions down through task manager, of course, and I was. However, atom and the computer lag with enough iterations of this, to the point of insane text-input lag.
With no R sessions running in task manager, and atom closed and reopened with only the packages necessary for running Hydrogen, it would still be unusable. Especially after calling on a new kernel.
Is this purely a "Hydrogen doesn't startup and check for running kernels it started itself"?
Steps to Reproduce:

Call R kernel
Exit and start atom, or ctrl+shift+F5. Either works.
Call R kernel
See (2) R sessions running in task manager, and the front end. Close them.
Keep doing this. The more R demanded of your system, the better. My situations have been a day or two of use, and then...
Your atom will become unusable, especially if you try calling a kernel. Just type, there's insane lag. Your computer will follow suit, but especially so if a Kernel is called upon. A computer restart clears this.

Versions:

Windows 10
Atom 1.27.1
Hydrogen 2.5.0
R version 3.5.0
atom-ide-ui, atom-language-r, and hydrogen installed. Hydrogen functionality works, of course.

Logs:
The issue occurs when atom is exited. Whatever Hydrogen needs to do to shut down the kernel needs to be done. I can't provide this now, but I will if you need it. I hope you don't, I've done enough with this already. I would put it on my plate to help with this, but I'm 4 months into my first language, so I'll just apologize. Please fix this though, this seems like a big deal, and certainly feels like one.

Replicated on Linux today. Also bump, any official word here or?

Thanks for the report!
Which R kernel is installed specifically? When you say "kernel manually closed" are you talking through task manager or through the hydrogen commands in the atom command palette?

I have tried manually closing the kernel before shutting atom down. When I said "manually closed", I mean both through that mechanism, and through "End Task" in process manager on the R runtime. Jupyter kernel does not appear for some reason, although it did on Ubuntu for me.
Either way, since Hydrogen detects that I have started a new session (can't close atom and reopen, then "connect to existing kernel", because there are no active kernels listed), there is some event-detection that can go on, if not on-close, then on-open instead.
By "which R kernel is installed", what do you mean? IRkernel as far as I know, and the latest version. I am running the latest versions of R and atom as well.

Verifying: "Shutdown Kernel" (within atom, running Hydrogen's command...) does nothing. R remains running, with full memory loaded in.
Again: manually shutting down this R instance does not actually solve the issue.
Somewhere, using Hydrogen is sapping massive amounts of memory, in a cumulative fashion.
I am going to openly ask: do you have any idea what is going on here?

That's strange, I just verified that it works as expected with the Python kernel.

I have not been able to reproduce.

Yes, I run some code prior to trying to shut it down

I am going to bump this. Even shutting down the kernel using the command from within Atom leads to the R for Windows terminal front-end to continue running, and taking up all the memory it was before.
I have tested this on Linux, and using the shutdown Hydrogen Kernel command through Atom does indeed close all active processes.

@sdrakulich If you run q() does the kernel die?

The kernel does, the R windows-front-end service does not
On Wed, Aug 1, 2018 at 1:42 PM Nicolas Riesco<EMAIL_ADDRESS>wrote:

@sdrakulich https://github.com/sdrakulich If you run q() does the
kernel die?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/nteract/hydrogen/issues/1319#issuecomment-409660270,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAKtbiCuameGkg1HHKAbxr1bRHmDlamtks5uMeiGgaJpZM4UMtue
.

@sdrakulich What do you mean by "the R windows-front-end service does not"? Do you mean that Hydrogen doesn't know that the kernel died? That would be expected.
I'm just trying to determine where the problem is. When the user runs the command hydrogen:shutdown, the following should happen:

Hydrogen sends shutdown_request to kernel
IRKernel receives shutdown_request
IRKernel sends shutdown_reply to Hydrogen
IRKernel invokes quit()
Hydrogen sends SIGKILL to IRKernel (in linux, this kills IRKernel if it hasn't died before; in windows, it doesn't work; this is a long standing issue with node in windows; a potential alternative is https://www.npmjs.com/package/tree-kill)

I see two possibles leads:

find out why IRKernel doesn't invoke quit()
or use tree-kill in Hydrogen

Closed by IRKernel/IRKernel#582


[cherry-pick] [BugFix] Ignore delete/update/insert when no load data.

What type of PR is this：

[x] bug
[ ] feature
[ ] enhancement
[ ] refactor
[ ] others

Which issues of this PR fixes ：

Fixes #7419
Problem Summary(Required) ：

do not review it for now.

branch-2.2 is no problem.


Title property should be optional

iframes (and some other blocks) have no title property
'2dd41fb9-8294-4d68-bf76-a4cddc789763': {
   role: 'reader',
   value: {
     id: '2dd41fb9-8294-4d68-bf76-a4cddc789763',
     version: 3,
     type: 'video',
     properties: {
       source: [['https://www.youtube.com/watch?v=jNQXAC9IVRw']],
     },

but it is not optional https://github.com/zernonia/vue3-notion/blob/1e6b447f6d5ce601845d910f8b0ffa22a6f674be/src/lib/types.ts#L57

value.content should be optional too — it exists only for a title of page, and page as block

btw all type definitions are not working — see my previous issue https://github.com/zernonia/vue3-notion/issues/30


Bode Function produces wrong angular frequencies

Hi everyone,
When I try the bode function from the control.matlab library to plot the Bode of a simple function (H(s)=1/(s+1)) I'm getting the wrong angular frequencies (shifted one decade). In other words, the break frequency is at 0.1 rad/s instead of 1.0 rad/s (see image). I'm not sure if this is an issue or I'm just doing something wrong. Could you please help me with this problem.
My system is a macOS Catalina 10.15.3 and I'm using Python 3.7.5.
import numpy as np
import control.matlab as ml
import matplotlib.pyplot as plt

num = np.array([1])
den = np.array([1, 1])

G = ml.tf(num, den)

print(G)

mag, phase, freq = ml.bode(G)
plt.show()

Thank you

The units for frequency are in Hertz, not rad/sec.   1 rad/sec = 1/(2*pi) Hz = 0.16, which is where the breakpoint is (easiest to see as the point where the phase crosses 45 degrees).
It looks like this is a bug in the way that defaults are set up for the MATLAB compatibility module, which sets bode.Hz = True.  Can't remember if this has always been that way or whether the bug was introduced when the new config module was set up.
Quick fix: use bode(..., Hz=False).
Proper fix: we should change the default settings to match MATLAB.

Thank you, that solved the problem.
I did not check that the frequencies were in Hz, I just made the assumption that everything was the same as in MATLAB.


problem about  call driller to do symbolic execution job in shellphuzz

I'm a little confused about how can shellphuzz call driller, I can not find anywhere import driller module .
Also, I encountered a  problem about using shellpuzz to do drilling job, while testing a simple program, the fuzzer get stuck and drilling began. Hower,  I got the error as below:
root@ubuntu:/home/jshuang/work/driller-tests/samples# shellphuzz -c 4 -d 4 -w ./afl-work -C   ./simple_over_flow

WARNING | 2018-01-08 00:51:21,524 | angr.analyses.disassembly_utils | Your verison of capstone does not

[*] Drilling...

[*] Creating fuzzer...

WARNING | 2018-01-08 00:51:22,115 | fuzzer.fuzzer | not forced

[*] Starting fuzzer...

['/usr/bin/afl-unix/afl-fuzz', '-i', '-', '-o', './afl-work/simple_over_flow/sync', '-m', '8G', '-Q', ', './simple_over_flow']
['/usr/bin/afl-unix/afl-fuzz', '-i', '-', '-o', './afl-work/simple_over_flow/sync', '-m', '8G', '-Q', 'simple_over_flow']
['/usr/bin/afl-unix/afl-fuzz', '-i', '-', '-o', './afl-work/simple_over_flow/sync', '-m', '8G', '-Q', 'simple_over_flow']
['/usr/bin/afl-unix/afl-fuzz', '-i', '-', '-o', './afl-work/simple_over_flow/sync', '-m', '8G', '-Q', 'simple_over_flow']

[*] Waiting for fuzzer completion (timeout: None, first_crash: True).

WARNING | 2018-01-08 00:52:52,154 | local_callback | Driller stuck callback triggered!

WARNING | 2018-01-08 00:52:52,160 | local_callback | starting drilling of simple_over_flow, id:000000,o

WARNING | 2018-01-08 00:52:54,138 | angr.analyses.disassembly_utils | Your verison of capstone does not

Traceback (most recent call last):

  File "/usr/local/lib/python2.7/dist-packages/driller/local_callback.py", line 5, in <module>

    import driller #pylint:disable=relative-import,unused-import

  File "/usr/local/lib/python2.7/dist-packages/driller/driller.py", line 11, in <module>

    from . import config

ValueError: Attempted relative import in non-package

('', None)

There are various issues with proper environment modeling in angr, that hampers driller's operation on non-CGC binaries. Extremely simple ones should work, but anything that uses some syscall not modeled by angr (or a summarized library function that's incorrectly summarized) will fail.

Was the issue with environment modeling in angr resolved? No matter what non-cgc binaries I pass to shellphuzz it always outputs one or another error happening in angr/exploration_techniques/tracer.py. I was trying it on super simple 10 line buggy program and on binaries from LAVA paper.
Thanks.

It is a forever-ongoing problem. We are slowly chipping away at the issues but we are a three-person team, after all.


wrong text color for row select in demo

I'm submitting a ...  (check one with "x")
[x ] bug report => search github for a similar issue or PR before submitting
[ ] feature request
[ ] support request => Please do not submit support request here, post on Stackoverflow or Gitter

Current behavior
in the demos for selection (single or multi row) the text in the selected row(s) is black (and thus not really readable).
Expected behavior
The text should be white (as defined in the material.scss file)
Reproduction of the problem
Problem can be seen in the demo side (http://swimlane.github.io/ngx-datatable/#single-selection)
What is the motivation / use case for changing the behavior?
Better readability
Please tell us about your environment:
using VScode V1.31.0

Table version:
V14.0.0

Angular version:
V7.1.0

Browser: [all | Chrome XX | Firefox XX | IE XX | Safari XX | Mobile Chrome XX | Android X.X Web Browser | iOS XX Safari | iOS XX UIWebView | iOS XX WKWebView ]
Tested with firefox V65.0 and Chrome V72.0.3626.96

Language: [all | TypeScript X.X | ES6/7 | ES5]
<EMAIL_ADDRESS>

Created a solution and will send pull request (hope this is ok for you)


Cargo script has unexpected interaction with src/lib.rs

Problem
If I place a script in the same directory as a crate, it uses crate's source files, but does not use crate's dependencies, causing unexpected compilation errors.
Steps
./Cargo.toml:
[package]
name = "mainpackage"
version = "0.1.0"
edition = "2021"

[dependencies]
hex = "0.4.3"

./src/lib.rs:
use hex;

./script.rs:
#!/usr/bin/env cargo +nightly -Zscript

//! ```cargo
//! [package]
//! edition = "2021"
//! ```

fn main() {
}

Running ./script.rs causes:
warning: `package.edition` is unspecified, defaulting to `2021`
   Compiling script v0.0.0 (…/mainpackage)
error[E0432]: unresolved import `hex`
 --> src/lib.rs:1:5
  |
1 | use hex;
  |     ^^^ no external crate `hex`

This looks broken, because src/lib.rs is compiled with scripts dependencies, not its usual crate dependencies.
Possible Solution(s)
I would expect Cargo.toml and src/ to be completely ignored by the scripts. Or if they're not ignored, to be compiled correctly as a library and included as an external crate in the script (like tests/ or main.rs get). But compiling the crate, but with a wrong Cargo.toml context seems like the worst of both.
Notes
BTW, "warning: package.edition is unspecified, defaulting to 2021" is printed, even though I've tried to specify it in all places.
Version
cargo 1.82.0-nightly (8f40fc59f 2024-08-21)
release: 1.82.0-nightly
commit-hash: 8f40fc59fb0c8df91c97405785197f3c630304ea
commit-date: 2024-08-21
host: aarch64-apple-darwin
libgit2: 1.8.1 (sys:0.19.0 vendored)
libcurl: 8.7.1 (sys:0.4.74+curl-8.9.0 system ssl:(SecureTransport) LibreSSL/3.3.6)
ssl: OpenSSL 1.1.1w  11 Sep 2023
os: Mac OS 15.0.0 [64-bit]

BTW, "warning: package.edition is unspecified, defaulting to 2021" is printed, even though I've tried to specify it in all places.

It looks like this is because you are using an older syntax
//! ```cargo
//! [package]
//! edition = "2021"
//! ```

We dropped support for the doc-comment syntax in favor of rust-lang/rfcs#3503
I've verified the following does not produce the warning:
#!/usr/bin/env nargo
---
[package]
edition = "2021"
---

fn main () {
}

I would expect Cargo.toml and src/ to be completely ignored by the scripts. Or if they're not ignored, to be compiled correctly as a library and included as an external crate in the script (like tests/ or main.rs get). But compiling the crate, but with a wrong Cargo.toml context seems like the worst of both.

We do, for bins, tests, benches, examples, and build scripts  I overlooked that we don't have a way to control auto-discovery of lib targets.  We'll either need to hack this in or add a control mechanism for lib auto-discovery.


PHP: Deprecated Creation of dynamic property Grpc\Call::$channel is deprecated

What version of gRPC and what language are you using?
composer grpc/grpc 1.52 client library
pecl grpc php extension 1.50.0 (due to open bug https://github.com/grpc/grpc/issues/31772)
PHP 8.2.x
What operating system (Linux, Windows,...) and version?
Linux
What did you do?
Make a gRPC call using the PHP protobuf generated code, client library and PHP extension.
What did you expect to see?
Working application, no exceptions.
What did you see instead?
An ErrorException resulting from the deprecation of dynamic property usage introduced with PHP 8.2.
ErrorException: Deprecated: Creation of dynamic property Grpc\Call::$channel is deprecated
#12 /vendor/grpc/grpc/src/lib/AbstractCall.php(60): Grpc\AbstractCall::__construct
#11 /vendor/grpc/grpc/src/lib/DefaultCallInvoker.php(31): Grpc\DefaultCallInvoker::UnaryCall
#10 /vendor/grpc/grpc/src/lib/BaseStub.php(278): Grpc\BaseStub::Grpc\{closure}
#9 /vendor/grpc/grpc/src/lib/BaseStub.php(545): Grpc\BaseStub::_simpleRequest

Yeah this is definitely an issue, it makes grpc unusable with newer php versions at the moment. Any clue when we can expect a fix for this?

Fixed by #30997 which I believe went into v1.51.0 release.
Given the bug you referred to is still not fixed, I wonder if #30997 could be back-patched into an earlier version (eg 1.49.x or 1.50.x) ?

After recompiling with the latest version, this issue is resolved.

latest versions are not usable with php-fpm since 1.50.0, see https://github.com/grpc/grpc/issues/31772


How do I declare events' callback parameters?

Search terms
event, event callback, parameters, classes

Question
Hello,
I'm working on documentation for an application that has several dozen classes & objects/methods that are compiled from Delphi and are accessible in JS. Events for these native objects are handled in a very specific way, which differs from the standard JS method of myObj.addEventListener(eventString, callback) / myObj.on(eventString, callback):
app.listen(myObj, eventString, callback);
// example:
app.listen(player, 'playbackState', (newState) => {
    console.log(newState);
});

This is how I have my Delphi -> TS parser declaring events currently:
class Player {
    /**
      Event is called when state of the player is changed ... like playback is started etc.
      Possible states are 'unpause', 'play', 'stop', 'pause', 'trackChanged'.

      @event playbackState
      @param {string} newState new playback state
      */
    event_playbackState = 'app.listen(myObj, "playbackState", () => {})'

    /**
      Event is called when now playing list is somehow modified.

      @event nowPlayingModified
      */
    event_nowPlayingModified = 'app.listen(myObj, "nowPlayingModified", () => {})'
}

It's janky to describe a specific function call as a string, but at least it gets the point across.
The only problem is the @param fields. For events, it appears that parameter names (and types) are not preserved in the generated documentation:

This is manageable for events whose callbacks are provided  a single parameter, but it becomes quite unwieldy for events whose callbacks are provided multiple parameters:
    /**
      Event is called when playlist is changed in some way, additional params can detect the change type and new/old values </br>
      Note: Introduced in 5.0.3

      @event playlistChange

      @param playlist changed Playlist
      @param changeType (possible values 'title', 'new_child', 'child_removed', 'parent' or undefined)
      @param newValue possible values are playlist object, string or undefined
      @param oldValue possible values are playlist object, string or undefined

      */
    event_playlistChange = 'app.listen(myObj, "playlistChange", () => {})'

Is there a way for me to declare the event's callback parameters in a way that outputs something similar to that of function declarations (i.e., a list of named and typed parameters)? (Preferably while ALSO declaring the event ID)
(P.S. Maybe you could make it such that if the JSdoc includes the pattern "@event ", it would automatically declare that as the event ID, instead of just spitting out  as if it was regular text?)

I would probably describe this pattern with something like:
/**
 * May be listened to with `app.listen(player, "<method name>", <method>)`
 */
export interface PlayerEvents {
  playbackState(newState: string): void
  nowPlayingModified(): void
}

This has the advantage of also providing types, so I could do const listener: PlayerEvents["playbackState"], and later pass that to the listen method. Your app.listen method could then also be typed with something like:
interface PlayerEvents {
  playbackState(newState: string): void
  nowPlayingModified(): void
}
interface Player { isPlayer: true }

interface TrackEvents {
    complete(): void;
}
interface Track { isTrack: true }

interface App {
    // could do this without overloads, but this keeps types pretty simple
    listen<K extends keyof PlayerEvents>(obj: Player, event: K, callback: PlayerEvents[K]): void
    listen<K extends keyof TrackEvents>(obj: Track, event: K, callback: TrackEvents[K]): void
}

@Gerrit0 Thanks for the reply.
Hmmmmm... I'm not really the biggest fan of this method because it doesn't let me list the events on the pages for Player and Track respectively.
Is there a way to somehow make Player extend PlayerEvents or something, so that the list of events appear in the right place?

You could use declaration merging to do this:
interface Player extends PlayerEvents {}
class Player {...}

... but that has the disadvantage of those properties then showing up when you try to use Player.
Another option:
class Player {
    /** Note: Does not exist at runtime */
    declare static events: {
        playbackState(newState: string): void
        nowPlayingModified(): void
    }
}


FR: Break down this library into smaller ones for Microservices and FaaS

I am using Firebase Auth in my Flutter App and I need to validate my users in my Microservices. I just need Firebase Auth and nothing more.
I run my code in a serverless environment, a FaaS, so the smaller the better. My code was with 7MB before I added this library, now it jumped to 27MB!!!
This makes it very hard to use this library into an AWS Lambda and the likes of it.
Please break it down.

It's easy to filter out transitive dependencies that you don't want. Just use Maven exclusions to remove the google-cloud-storage and google-cloud-firestore dependencies (those are the biggest ones as far as I know). You might be able to drop some of the netty-* dependencies as well. Gradle supports the same feature too, if that's how you manage your builds.
We do this in our own codebase to screen out some unwanted dependencies:
https://github.com/firebase/firebase-admin-java/blob/6809316c814353b86c3f754128bd317617900488/pom.xml#L392-L402
We have no plans to split the library into smaller components at this point.

I use gradle, but this is a big hassle and a waste of time, just the opposite of what cloud computing is all about.

google-cloud-storage is about 1MB, while google-cloud-firestore is 14MB alone!
Could you open your build folder and share a printscreen of the sizes of all those jars, so I could select them more easily?

I created a simple webapp project with just firebase-admin as the sole dependency. Without any exclusions, the WEB-INF/lib directory is 23MB. With Firestore and Storage taken out, it comes down to 8.4MB. I can get it down to 5.9MB by taking out the 3 Netty dependencies.
<dependency>
      <groupId>com.google.firebase</groupId>
      <artifactId>firebase-admin</artifactId>
      <version>6.8.1</version>
      <exclusions>
        <exclusion>
          <groupId>com.google.cloud</groupId>
          <artifactId>google-cloud-firestore</artifactId>
        </exclusion>
        <exclusion>
          <groupId>com.google.cloud</groupId>
          <artifactId>google-cloud-storage</artifactId>
        </exclusion>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty-codec-http</artifactId>
        </exclusion>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty-handler</artifactId>
        </exclusion>
        <exclusion>
          <groupId>io.netty</groupId>
          <artifactId>netty-transport</artifactId>
        </exclusion>
      </exclusions>
</dependency>

That's everything that can be removed if you want to use FirebaseAuth.

Thank you, this helps a lot!

I think it's clear now that Firestore and Storage takes out the vast majority of space in this library (~75%), so it would make sense to at least make 2 libraries, one for Firebase Auth, and one for the rest.
Just my 2 cents.


xSQLServerFailoverClusterSetup: Tests need to be implemented for this resource

Details of the scenario you try and problem that is occurring:
There are no tests for this resource yet.
The DSC configuration that is using the resource (as detailed as possible):
n/a
Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
n/a
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
Dev

This resource will be migrated to xSQLServerSetup (issue #227). So I put this on hold for now.

xSQLServerFailoverClusterSetup is deprecated and will be removed. No tests is needed to be written. Closing this one.


HBASE-27316 Time based metrics will be reset after any get request

Jmx metrics can be query by http request.
But metrics will be reset after any get request.
The root cause may be the implement of Histogram's method "snapshot"
public Snapshot snapshot() {
return histogram.snapshotAndReset();
}
It will call snapshot and reset at the same time.

I can't figure out why snapshot will be reset after any get request.
The count of ops will keeps growing while the quantiles are reset.
I'll fix the test error if this patch needed

First query jmx
      "FlushTime_num_ops": 11142,
      "FlushTime_min": 1201,
      "FlushTime_max": 4614,
      "FlushTime_mean": 2437,
      "FlushTime_25th_percentile": 1344,
      "FlushTime_median": 2383,
      "FlushTime_75th_percentile": 2647,
      "FlushTime_90th_percentile": 4607,
      "FlushTime_95th_percentile": 4610,
      "FlushTime_98th_percentile": 4612,
      "FlushTime_99th_percentile": 4613,
      "FlushTime_99.9th_percentile": 4613,
      "FlushTime_TimeRangeCount_1000-3000": 4,
      "FlushTime_TimeRangeCount_3000-10000": 1,

Next
      "FlushTime_num_ops": 11191,
      "FlushTime_min": 534,
      "FlushTime_max": 3932,
      "FlushTime_mean": 2835,
      "FlushTime_25th_percentile": 2676,
      "FlushTime_median": 3104,
      "FlushTime_75th_percentile": 3531,
      "FlushTime_90th_percentile": 3913,
      "FlushTime_95th_percentile": 3922,
      "FlushTime_98th_percentile": 3928,
      "FlushTime_99th_percentile": 3930,
      "FlushTime_99.9th_percentile": 3931,
      "FlushTime_TimeRangeCount_300-1000": 1,
      "FlushTime_TimeRangeCount_1000-3000": 2,
      "FlushTime_TimeRangeCount_3000-10000": 4,

Some metrics like FlushTime_max , FlushTime_TimeRangeCount_1000-3000 are reset

@bbeaudreault i believe we are interested in this change.

Yea, I think there are a couple problems with this approach:

The histogram is initially created with some generic buckets that are used to create the distribution, which is then used to calculate the percentiles. Those generic buckets will get more accurate over time, because when you snapshotAndReset they use the boundaries of the old bins to modify the new bins. Take a look at the Bins constructor, which is called in the snapshotAndReset method. I would expect that if we never do snapshotAndReset, we'll have less accurate percentiles especially for outliers. This seems problematic given the typical use-case is for looking at 99th and 99.9th percentiles.
The FastLongHistogram has a few usages outside of jmx metrics. I haven't audited them, but we should be sure that any change here will not adversely affect the expectations of those usages.

We'll need to address those issues in a way that still achieves the goal.


Completion preview/popup not coming

Hi, I am here from your PR adding completeinfo+=popup in neovim.
I couldn't get it working so decided to try your completion.lua file
If I'm not wrong, just that completion.lua file along with set completeopt=menu,noinsert,popup should be sufficient to get the desired behaviour right?
For some reason, I am not getting the popup (or the preview window for that matter). The autocompletion trigger works though.
And I did uncomment the set_popup function.
But, it seems to work in your GIF in that pr, and thats the way I want it to work. What am I missing?
require'lspconfig'.lua_ls.setup{}
vim.opt.completeopt = {'menu', 'menuone', 'noinsert', 'popup'}
local api, completion, ffi, lsp = vim.api, vim.lsp.completion, require('ffi'), vim.lsp
local au = api.nvim_create_autocmd
local ms, libc = vim.lsp.protocol.Methods, ffi.C
local InsertCharPre = 'InsertCharPre'
ffi.cdef([[
  typedef int32_t linenr_T;
  char *ml_get(linenr_T lnum);
  bool pum_visible(void);
]])
local pumvisible = libc.pum_visible

-- completion on word which not exist in lsp client triggerCharacters
local function auto_trigger(bufnr, client)
  au(InsertCharPre, {
    buffer = bufnr,
    callback = function()
      if pumvisible() then
        return
      end
      local triggerchars = vim.tbl_get(
        client,
        'server_capabilities',
        'completionProvider',
        'triggerCharacters'
      ) or {}
      if vim.v.char:match('[%w_]') and not vim.list_contains(triggerchars, vim.v.char) then
        completion.trigger()
      end
    end,
  })
end

local function set_popup(bufnr)
  au('CompleteChanged', {
    buffer = bufnr,
    callback = function()
      local info = vim.fn.complete_info()
      if info.preview_winid and info.preview_bufnr then
        api.nvim_set_option_value('filetype', 'markdown', { buf = info.preview_bufnr })
        api.nvim_set_option_value('conceallevel', 2, { win = info.preview_winid, scope = 'local' })
        api.nvim_set_option_value(
          'concealcursor',
          'niv',
          { win = info.preview_winid, scope = 'local' }
        )
      end
    end,
  })
end

au('LspAttach', {
  callback = function(args)
    local bufnr = args.buf
    local client = lsp.get_client_by_id(args.data.client_id)
    if not client or not client.supports_method('textDocument/completion') then
      return
    end

    completion.enable(true, client.id, bufnr, {
      autotrigger = true,
      convert = function(item)
        return { abbr = item.label:gsub('%b()', ''), kind = '' }
      end,
    })
    auto_trigger(bufnr, client)
    set_popup(bufnr)
  end,
})

language server  complete tem info can be requested a second time. Usually when the info is not set in the first completion request, you need to request the info again with this item and then use the nvim__complete_set_info api. I haven't added this to my completion yet because I'm waiting for two other  bugfixed PRs to be merged.

Okay, can you point me to an example of this being implemented? and what to search in neovim issues to find those PRs so I can keep track of them as well?

Not a big deal. If you don't set the preview buffer's filetype to markdown then there is no problem. neovim have an issue about adding this support in core which i commented but i forget the issue number you can search it with label:completion label:lsp in neovim i guess


Docker error with miniconda

❓ Questions and Help
When i use the docker for building, this error below keeps showing up.

Step 8/19 : RUN /miniconda/bin/ conda install -y conda-build  && /miniconda/bin/ conda create -y --name py36 python=3.6.7  && /miniconda/bin/ conda clean -ya
---> Running in ff0d309c7d76
/bin/sh: 1: /miniconda/bin/: not found

It seems that /miniconda/bin does not exist. Can anybody help me to solve this problem?

changes the old Miniconda download URL (https://repo.continuum.io/miniconda/) to the new URL (https://repo.anaconda.com/miniconda/).


[Project Proposal]: IOOS RA query/utility package

Project Description
Write a draft API, or package, that would leverage the many Regional Associations (RAs) ERDDAP servers to perform a higher level search by RA.
Expected Outcomes
The goal would be to start a package that would allow for RA based browsing and filtering of the datasets.
Skills required
Basic Python, some ERDDAP knowledge, xarray/pandas API familiarity.
Expertise
Intermediate
Topic Lead(s)
ocefpaf
Relevant links
https://github.com/ioos/erddapy/issues/257

This could be another use case for a 'federated ERDDAP' across RA catalogs?
https://github.com/ioos/ioos-code-sprint/issues/39#issuecomment-2038089990

@ocefpaf can this combine with https://github.com/ioos/ioos-code-sprint/issues/39#issuecomment-2038089990 ? If so, please work with @iwensu0313 to ensure this is addressed.

Maybe we should abandon this one for now. I would like to focus on #40 during the sprint.

fine with me. We'll mark it as wont fix 2024.


typesMap property

Hello everyone!
Today I installed the latest version of web-ifc-viewer in one of my apps.
For some reason, the property typesMap stop working and now it gives an error (the result of applying it is undefined).

It is something related to the upgrade? Is there a way to substitute that expression to obtain a similar result?
Thank you

The entire file has been deleted in this commit. Depending on how you want to use all the types, there are probably more efficient ways to get them. Do you care to share your purpose/code?

So this can now be acquired from the web-ifc api using the GetIfcEntityList method. i.e.
viewer.Loader.ifcManager.getIfcAPI().GetIfcEntityList(modelID).
You need to provide your model ID as the list of ifc entities may be different depending on what schema your model is

Hi @beachtom it gives me the following error:
Uncaught TypeError: Cannot read properties of undefined (reading 'ifcManager')

Sorry should have been viewer.IFC.Loader.ifcManager.getIfcAPI().GetIfcEntityList(modelID).


tinyDTLS / lwm2m_close_connection

It's long ago, that I used tinyDTLS. Therefore my knowledge may not be longer valid:
"lwm2m_close_connection" should also trigger to remove the related tinyDTLS peer
(see "dtls_context_t.peers" in "dtls.h"). Therefore "dtls_reset_peer" should be called.
The current implementation of "lwm2m_close_connection" seems to call only "lwm2m_free",
which would therefore not be enough.

I think you're right. We should add close_connection in connection.c and dtlsconnection.c and just call it in lwm2m_close_connection.
In the dtls one we should done something like that to clear DTLS state.

Hi all , I am curious that when will wakaama project provide LWm2m server with DTLS ?  how could i test the client with DTLS???


[CI] Test against Ruby 2.5

All tests pass on added Ruby versions.
Might restart the failing jruby Travis job.


fix(starknet_client): change the Transaction struct in starknet clien…

…t reader to workaround serde bug (https://github.com/serde-rs/json/issues/625)
Pull Request type
Please check the type of change your PR introduces:

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, renaming)
[ ] Refactoring (no functional changes, no API changes)
[ ] Build-related changes
[ ] Documentation content changes
[ ] Other (please describe):

What is the current behavior?

Issue Number: N/A
What is the new behavior?

Does this introduce a breaking change?

[ ] Yes
[ ] No

Other information

This change is

This issue was resolved in a different way


Improve Cursor Effect for Enhanced User Experience.

Issue Addressed:
This PR addresses Issue No. #155
Changes Made:
1>Enhanced Cursor Behavior:

Improved the cursor effects to provide a smoother experience when hovering over elements. The updated cursor design creates a more visually appealing interaction.

2>Button Interaction Feedback:

Added CSS properties to enhance the button click effect. The new styles provide a more tactile feedback experience, making it feel as if the button is being pressed when clicked. This improvement aims to offer a user-friendly feel when interacting with buttons.

Here is the ScreenRecording:
screen-capture (10).webm

@Luson045 conflicts is resolved

@AnkitLuhar  you have changed the insights and analysis section right??

These data are not meant for what's written in the title, just add these back to where it was, below the services section add a research and analysis section and add all the graphs and tables that were present there.. ASAP.

@Luson045 sry for that changes,kindly please revert the PR!

@Luson045 wait

@Luson045 opening one more PR which address the Issue No. #156 , in this it will fixed


TaskScheduler error

Every time that i download the reshade and the fps unlocker and i open the roblox, give a error saying that was unable to find the taskscheduler.

https://youtu.be/AtOKbLkUi6E


Reference to missing file 'NSURLSession+RxAlamofire.swift'

Hi,
i have problems updating RxAlamofire in my project using carthage.
The file _.xcodeproj references the file 'NSURLSession+RxAlamofire.swift' which seems to be renamed to 'URLSession+RxAlamofire.swift'.
This PR fixes this issue.
BTW: Why are there 2 different xcodeproj-Files in this project?

Hi @MarianPalkus ,
thnx. Two projects are here because of two different integration methods. I'm not sure is there a safe way of doing this using single project only.


enhancement to dynamic object

[@farrukh-obaid] in javascript there are two ways to define property names in object literals one is using with quotes and other is without like this
var header = {
date: 123,
"Content-Type" : "text/plain"
}
in ceylon i can't create this object because of this second property.There is heavy usage of this type of property in nodejs app since most of http header names have "-" in between them like "content-length"
i tried this but not working
dynamic header = dynamic [date = 123, "Content-Type" = "text/plain"; ];
is there any way??
[Migrated from ceylon/ceylon-js#474]

The i\Content-Type, i'Content-Type' and i`Content-Type` start to look like perl operators, not that I have anything against it. :smile: Perl would also support i(Content-Type) and i{Content-Type} i[Content-Type] and whatnot.
I would vote against using quoting e.g. \ in the middle of variable names because that degrades searchability.
Quoted keys don't sound too bad to me, json and javascript use them anyway.
Regarding putAttribute() and getAttribute() - I would vote against fiddling with prototypes of standard JavaScript objects. But that's a highly subjective opinion. I would prefer having detached utility functions provided by some module, like putAttribute(dynamic obj, String key, dynamic item).

Now as I am re-reading this thread, I do seem to lean more towards quoted identifiers and using back ticks for that seems like a good option.
Comparing these identifiers:

value \i`Content-Type` = "application/json";
value \iContent\-Type = "application/json";
value i\Content-Type\ = "application/json";

I do like the first one the best, as it looks much more cleaner than other options and the backtick quoting is more or less consistent with other places where we use backticks currently.


[test] add comment to PostHogScript

Current dependencies on/for this PR:

main

PR #142

PR #145   👈

This stack of pull requests is managed by Graphite.