ludumdare.com: switch domain to active site

Pushing this back.

API has now moved to api.ludumdare.com, due to certificate issues.

Change of plans. We've established ourselves on ldjam.com too much, so by the time we're ready ludumdare.com will act like a redirect for ldjam.com.


How to specify the endorsement policy when I am instantiating the chaincode

req := &gohfc.ChainCode{
	Type:      gohfc.ChaincodeSpec_GOLANG,
	ChannelId: Channel_ID,
	Name:      CCName,
	Version:   CCVersion,
	Args:      CCArgs,
}

_, err = client.InstantiateChainCode(*admin, req, []string{Peer0_Org1}, Orderer_Name, "deploy", nil)

For now you cannot, it is not implemented. Default policy will be applied. It is written in documentation. At some point I will add this option, but is too complicated and also there are plans HLF to change how policies are specified.


ECDSA_do_verify and ECDSA_verify incorrect return values.

In https://github.com/openssl/openssl/blob/master/crypto/ec/ecdsa_vrf.c there are two functions, both feature the same...
/*-
 * returns
 *      1: correct signature
 *      0: incorrect signature
 *     -1: error
 */
int ECDSA_do_verify(const unsigned char *dgst, int dgst_len,
                    const ECDSA_SIG *sig, EC_KEY *eckey)
{
    if (eckey->meth->verify_sig != NULL)
        return eckey->meth->verify_sig(dgst, dgst_len, sig, eckey);
    ECerr(EC_F_ECDSA_DO_VERIFY, EC_R_OPERATION_NOT_SUPPORTED);
    return 0;
}

In both cases if the verify_sig is not available then a no supported error is created but a return of incorrect signature provided. The signature has not been checked here, the facility to check is missing, surely the correct return in this case is 'error' and the user will be able to retrieve not supported and wonder to their hearts content.

hopefully i addressed this (first issue yay)! Wondering if there are any other instances similar to this in the codebase, i did a quick scan but couldn't find anything obviosu

Fixed in master and 1.1.1-stable through #10693.
Thanks @daveHitchman for reporting this, and @a--hoang the work on the fix!

Thanks for fixing it :)
On Sun, 5 Jan 2020, 15:48 Nicola Tuveri<EMAIL_ADDRESS>wrote:

Fixed in master and 1.1.1-stable through #10693
https://github.com/openssl/openssl/pull/10693.
Thanks @daveHitchman https://github.com/daveHitchman for reporting
this, and @a--hoang https://github.com/a--hoang the work on the fix!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/openssl/openssl/issues/8766?email_source=notifications&email_token=AL3B5DV6BUX6B275W3273WDQ4HXLXA5CNFSM4HGI2BWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEIDYQUA#issuecomment-570918992,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AL3B5DWUBYBKVSBPGYMSKR3Q4HXLXANCNFSM4HGI2BWA
.


ui-toggle="uiSidebarLeft" not working

Am using mobile-angular-ui with MEANJS boiler-plate and all the design are working except for the app, app-body, and app-content css class that are not working with the boiler-plate but have figured it out. But for the ui-toggle="uiSidebarLeft"  to show the side bar once I resize to mobile screen it doesn't show the sidebar.

Hi,
I'm suffering the same issue.
Have you got any shortcut or fix?

Am sorry no solution still. I did my best, but I couldn't solve it. So, I had to write my own directive.

Hi,
I think I've found the main problem.
Mobile Angular UI uses $rootElement for adding the proper classes to the  in order to get the desired effect with sidebars (opening, closing, etc). When ngApp is defined in , everything seems to work like a charm, but when you use angular.bootstrap() (AngularJS manual initialization, used in MEANJS), the $rootElement points to the whole document instead of the , so $rootElement.addClass(whatever) just doesn't work.
I have not studied all the code and I don't know the consequences of using just the element  instead of $rootElement, but if there're not any consequences, it'd be desirable.
To sum up, with the current state of the mobile-angular-ui code the fix is to use ngApp in the  like they do in their demos or examples.

Hello @rubenjimenez  how is it going? Well have also made some research based on what you suggested as the likelihood of the cause of why Mobile Angular UI might not be working as it should on MEANjs. So there was this tutorial I saw I believe it might be of help as a way forward. The link is:
http://www.simplygoodcode.com/2014/04/angularjs-getting-around-ngapp-limitations-with-ngmodule/

Hi @dtytomi, thanks for the tutorial. I realized of that a little while after I published my answer here.
I found that indeed ngApp was not the best way to fix our problem. I kept searching and I found this issue  #222, where they explain it's better to use angular.bootstrap(), just like your tutorial says.
So, replacing the current angular.bootstrap of MEANJS from
angular.bootstrap(document, ['mean']);

to
angular..bootstrap(document.body, ['mean']);

did the trick.
I hope this was useful for you =)

angular.bootstrap(document.body, ['mean']);


Fix host correction

This PR improves host correction:

ignoring flagged values during magnitude interpolation
removing unnecessary db access

ignore flagged values during magnitude interpolation

remove unnecessary db access


Reduce concept

Summary
Add a Reduce concept

the reduce filter is very useful but a bit tricky.
I think common-lisp is the only other track with this concept

Add a learning exercise

it's pretty short, only 2 tasks, only 1 of which needs reduce, but I don't think it has to be bigger.

Closes #126
Checklist

[x] If docs where changed, run ./bin/configlet generate to ensure all documents are properly generated.
[x] CI is green

@IsaacG this is the last concept I plan to write before launch. Can you have a look at issue #1  and see if there anything I've checked off that's actually missing?


Bump dotnet/sdk from 7.0.100-alpine3.16 to 7.0.101-alpine3.16

Description
Bump dotnet/sdk from 7.0.100-alpine3.16 to 7.0.101-alpine3.16
Related issues
Addresses issue # 99334
Testing
Describe how this change was tested.

Looks like we have some analyzer fixes that need to be made


Automatically Update Container Image Using Github Actions Workflow

Howdy,
After forking your repo I went about setting things up to make sure they were appropriately linted and updated automatically. While I'm still in the process of setting up the workflows to run the checks on the images that are created, I thought you may be interested in pulling my workflow to centralize the process for ensuring that updates are applied to the container on a regular basis.
It only pushes to the Github registry which might not be your thing as you're currently using Docker Hub for hosting your container images. This could work in tandem or be edited to push to Docker Hub by referencing the documentation for docker/build-push-action@v1 at : https://github.com/docker/build-push-action/tree/releases/v1#example-usage .
A quick breakdown of what's in the workflow file:

Runs every day at noon UTC.
Sets the version tag by referencing the Monero branch being used.
Builds and pushes to the Github registry without needing any additional configuration to the repository settings or creating secrets.

Hey there,
Sorry for the delay, life has been crazy lately and this fell off my radar.
Merging now and will create CI to push to Docker Hub as well when I have the time.
Thanks for pushing back upstream 👍

@mkell43 I sort of fell down the rabbit-hole of Github Actions...
Feel free to snatch any of my updates, I added in pushes to Docker Hub and migrated to a cached build using registry, build-push-action@v2, and created a new action to run anytime the Dockerfile is updated.

Sorry for the delay, life has been crazy lately and this fell off my radar.

No worries! I started a new job and moved into a new home this month, so I'm well acquainted with life getting crazy and things dropping off.

@mkell43 I sort of fell down the rabbit-hole of Github Actions...

They're pretty great. If you haven't already, checkout act. It allows you to test GH actions locally. There are some limitations, but overall it's a great way to catch things without having to get your repo's history messy.

Feel free to snatch any of my updates, I added in pushes to Docker Hub and migrated to a cached build using registry, build-push-action@v2, and created a new action to run anytime the Dockerfile is updated.

I'll take a look this weekend. I'm doing a bunch of work with GH actions for work and w/ my personal stuff. Feel free to hit me up on Telegram with the same username if you want to talk about 'em or swap knowledge. (Disclaimer: Life is still crazy and I spend most of my time in Slack & not Telegram, but I'll catch your message/s eventually.)


[Do-Not-Merge]Generating SDK from extended loc swagger specs

Generating SDK for extended location swagger specs into compute 2020-12 branch.
Added Do Not Merge Tag as tests need to be added for this change. Since it's a change to new api version, other files with api change are also being shown up in the committed files. This PR is just to make sure the SDK can be generated from Swagger Specs.

@Sandido @viananth

Hi @pavanrachapudy.  There hasn't been recent engagement on this PR.  Would you please be so kind as to let us know if this is still an active work stream or if the PR should be closed out?

@jsquire , There have been a couple of blockers preventing the underlying Rest API from releasing as scheduled. This PR will be used in the near future. Please leave it as open for now.

@pavanrachapudy If no updates, will close it next week. Thanks


genrsa: introduce -verbose option to suppress output

Other commands like 'req' support -verbose, so why not genrsa?
Signed-off-by: Philip Prindeville<EMAIL_ADDRESS>

[x] documentation is added or updated

Why limit this to genrsa? What about gendsa a d genpkey?

My experience has been that my PRs have a better adoption rate if they’re small and not too ambitious.

Agreed with the sentiment and approach - smaller changes are likely to get added.
Although it is also good to point out if you plan to follow up with changes to the other applications so we have a sense of where you are heading and your enthusiasm.

I think I can commit to making the changes in these other apps if @pprindeville hasn't done them already.

I don't think this should be merged until 1.1.1 is out of the door.

See also PR #6908 and more to follow.

@paulidale I'm fine with doing them, but I might need people to call out any apps I've missed...

Thanks.
Post 1.1.1 sounds quite reasonable.

Other than the nit just mentioned, this looks good to me

Merged to master.  Humble apologies for the delay, this one slipped off the radar.

Thanks!


[QUESTION]: change role

Question
Hello everyone. Can I change my role after his appointment? Please, I want a solution

Hello, yes, after installation, you can choose any role you want to install and choose and install the next one


Prepare the tqec code base to the concept of spatial and temporal boundaries

Is your feature request related to a problem? Please describe.
Going from "simple" 2-dimensional templates to the more complete picture of 3-dimensional topological structures will require to introduce a few concepts into the tqec code base.
One of the main concept that will need to be introduced is "interchangeable spatial and temporal boundaries". Spatial boundaries are the 1 by 2k and 2k by 1 rectangular templates at the borders of a logical qubit. Temporal boundaries are basically the initialisation/measurement layers at the beginning/end of a memory experiment.
To implement QEC computations, we need to be able to easily swap the plaquettes used in any of these spatial/temporal boundaries by other, user-provided, plaquettes.
This issue is here to track the fact that we need to think about how to implement that feature, and to track the advancement of the feature once someone will want to look into it.

Do you already have a solution in mind?
For me, these are two separate issues:
1 How to implement the temporal dimension
We should first target the base building blocks we currently express with SketchUp.
I'm in favor of a simple solution; a 3d grid structure is probably not necessary

Extend the plaquette/template library to cover all the necessary pieces
Add a linear scaling parameter for the main component

Add circuit generation accordingly
For observables, the notion of midline has to be extended to the temporal axis
We need to handle a start time

We need a concept similar to ComposedTemplate for the temporal direction, giving an order to temporal blocks and how they connect.
One possible solution could be introducing a concept of Computation representing a fixed order of operations.
2 How to switch between spatial and temporal views
I don't know a good way of thinking about this.
For me, the simplest solution would probably be to think of this as a relabeling of axes.
With that, by default, every template would be in spatial view; changing temporal boundaries would be executed by relabel_axes -> replace_spatial_boundarie -> relabel_axes. For this to work, the relabeling has to be very general.

I do not have a definite idea in mind, but I have some tracks.
For example, I like the idea of separating "cubes" into logical code units that would contain an initial layer, a repeated layer, and a final layer. This could very much be represented as
@dataclass
class ComputationLayer:
    template: Template
    plaquettes: list[Plaquette]

@dataclass
class ComputationBlock:
    start: ComputationLayer
    repeated: ComputationLayer
    repeat_count: int
    final: ComputationLayer

or if we restrict a "block" to be defined on the same template (which seems reasonable for my current view of what we want to do):
@dataclass
class ComputationBlock:
    template: Template
    start_plaquettes: list[Plaquette]
    repeated_plaquettes: list[Plaquette]
    repeat_count: int
    final_plaquettes: list[Plaquette]

These blocks could then be linked in whatever direction using a graph-like approach like in ComposedTemplate internal implementation.
Also, the more I think about it the more I feel like we need (at least for the moment) to drop the generality over time/space dimensions. Basically, say that there is only one direction that represent time and make it "hard-coded". This should not really limit expressibility, as users would still be able to relabel the axes before using the tqec library (basically rotating the 3-dimensional SketchUp computation before sending it to tqec), and would greatly reduce the complexity of our implementation.
So basically, I think we should only consider what you present in section 1, leaving section 2 to other tools or the user.

This looks very similar to what I had in mind.
I'm unaware of any cases where we need to change the template during one block.
Maybe this is necessary for certain operations @afowler?

The concept of a block will take us a long way, and most will indeed have
uniform layers in the extendable time layers, but state injection, for
example, as discussed on Wednesday is well outside of this with a lot of
unique layer by layer structure.
On Thu, Jul 4, 2024, 8:05 AM Philipp Seitz @.***> wrote:

This looks very similar to what I had in mind.
I'm unaware of any cases where we need to change the template during one
block.
Maybe this is necessary for certain operations @afowler
https://github.com/afowler?
—
Reply to this email directly, view it on GitHub
https://github.com/QCHackers/tqec/issues/260#issuecomment-2209196177,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKAXTAH24YHWPX3E3WUPR3ZKVQEBAVCNFSM6AAAAABKBTPDT6VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDEMBZGE4TMMJXG4
.
You are receiving this because you were mentioned.Message ID:
@.***>

So I thought a little bit on this issue yesterday, and here is my current state of mind.
We want to be able to represent different kind of "blocks". The first 2 we have at the moment are "repeating blocks" containing an initial layer, a repeated layer, and a final layer, and "state injection" blocks. This calls for a common interface for a "block", that will then be implemented differently depending on the block.
For me, any kind of block should have:

a way to query the 3-dimensional (2 spatial dimensions and 1 temporal dimension) space they need. The first step will be to simply be able to represent 3-dimensional volumes with edges (sides of the structure) that are parallel to the axes, in which case the "space they need" can simply be represented as a 3-dimensional point. Then, we might need to lift that assumption, e.g., for the shifting memory that moves the logical qubit one qubit away from where it was at the previous round, and be able to represent 3-dimensional structures with edges that might not be parallel to the time dimension.
a way to return the quantum circuit they represent.

I have made a quick experiment with that in mind and that gave:
from __future__ import annotations

from abc import ABC, abstractmethod
from dataclasses import dataclass

import cirq
import cirq.circuits

from tqec.circuit.circuit import generate_circuit
from tqec.circuit.schedule import ScheduledCircuit, merge_scheduled_circuits
from tqec.exceptions import TQECException
from tqec.plaquette.plaquette import Plaquette
from tqec.templates.base import Template

@dataclass
class Position3D:
    x: int
    y: int
    z: int

@dataclass
class ComputationBlock(ABC):
    @property
    @abstractmethod
    def needed_time(self) -> int:
        pass

    @abstractmethod
    def instantiate(self) -> cirq.Circuit:
        pass

def _number_of_moments_needed(plaquettes: list[Plaquette]) -> int:
    return max(max(p.circuit.schedule) for p in plaquettes)

@dataclass
class StandardComputationBlock(ComputationBlock):
    template: Template
    initial_plaquettes: list[Plaquette]
    final_plaquettes: list[Plaquette]
    repeating_plaquettes: tuple[list[Plaquette], int] | None

    def __post_init__(self):
        expected_plaquette_number = self.template.expected_plaquettes_number
        if len(self.initial_plaquettes) != expected_plaquette_number:
            raise TQECException(
                f"Could not instantiate a ComputationBlock with {len(self.initial_plaquettes)} "
                f"initial plaquettes and a template that requires {expected_plaquette_number} "
                "plaquettes."
            )
        if len(self.final_plaquettes) != expected_plaquette_number:
            raise TQECException(
                f"Could not instantiate a ComputationBlock with {len(self.final_plaquettes)} "
                f"final plaquettes and a template that requires {expected_plaquette_number} "
                "plaquettes."
            )
        if (
            self.repeating_plaquettes is not None
            and len(self.repeating_plaquettes[0]) != expected_plaquette_number
        ):
            raise TQECException(
                f"Could not instantiate a ComputationBlock with {len(self.repeating_plaquettes)} "
                f"repeating plaquettes and a template that requires {expected_plaquette_number} "
                "plaquettes."
            )

    @property
    def is_connector(self) -> bool:
        return self.repeating_plaquettes is None

    @property
    def needed_time(self) -> int:
        time = _number_of_moments_needed(self.initial_plaquettes)
        if self.repeating_plaquettes is not None:
            plaquettes, repetitions = self.repeating_plaquettes
            time += repetitions * _number_of_moments_needed(plaquettes)
        time += _number_of_moments_needed(self.final_plaquettes)
        return time

    def instantiate(self) -> cirq.Circuit:
        circuit = generate_circuit(self.template, self.initial_plaquettes)
        if self.repeating_plaquettes is not None:
            plaquettes, repetitions = self.repeating_plaquettes
            inner_circuit = generate_circuit(self.template, plaquettes).freeze()
            circuit += cirq.CircuitOperation(inner_circuit, repetitions=repetitions)
        circuit += generate_circuit(self.template, self.final_plaquettes)
        return circuit

@dataclass
class Computation:
    blocks: list[ComputationBlock]
    positions: list[Position3D]

    def to_circuit(self) -> cirq.Circuit:
        time_positions = [position.z for position in self.positions]
        shifted_circuits = [
            block.instantiate().transform_qubits(lambda q: q + (position.x, position.y))
            for block, position in zip(self.blocks, self.positions)
        ]
        instantiated_scheduled_blocks = [
            ScheduledCircuit(circuit, starting_time)
            for circuit, starting_time in zip(shifted_circuits, time_positions)
        ]
        return merge_scheduled_circuits(instantiated_scheduled_blocks)

(with a small modification to ScheduledCircuit that includes the possibility to give an integer, in which case moments are scheduled from that integer value as list(range(start, start + number_of_moments_in_circuit)))
The above code is simply a first exploration, but will already require some changes in the Template hierarchy. Basically, we should have a way to query the spatial boundaries of a specific kind of Template and to change the plaquettes applied on these specific regions.
For that purpose, we discard from the list of templates to support anything that is not in the shape of a logical qubit, because generically defining what is "on the boundary" and what is not is hard (not impossible with ComposedTemplate, but nevertheless hard) and will require the composed templates to include a distance-1 (in the sense "one plaquette on the interesting dimension) template on each boundary.
For the basic building block of qubit, we currently have two classes:

The DenseQubitSquareTemplate1  5  6  5  6  2
7  9 10  9 10 11
8 10  9 10  9 12
7  9 10  9 10 11
8 10  9 10  9 12
3 13 14 13 14  4

that is the most generic representation of a scalable logical qubit,
The QubitSquareTemplate.  .  1  .  1  .
2  3  4  3  4  .
.  4  3  4  3  5
2  3  4  3  4  .
.  4  3  4  3  5
.  6  .  6  .  .

that enforces the standard parity placement on weight-2 stabilizers.

The DenseQubitSquareTemplate will be the most (only) used template, as QubitSquareTemplate does not allow any plaquette on corners, and this is required for all the operations we might be interested in (e.g., merging/splitting).
So I can see 2 ways forward:

Keep both classes, define an abstract SurroundedSquareTemplate that will provide ways to query/replace templates/plaquettes on a specific boundary of the template, and re-implement both DenseQubitSquareTemplate and QubitSquareTemplate using that base class.
Remove completely QubitSquareTemplate, implement a way to query/replace templates/plaquettes on a specific boundary of a DenseQubitSquareTemplate instance.

Any opinion on that?

I think 2 is better unless there are other ways to specify qubits we must take care of.  Potentially, we can also relax this to be rectangular instead.


support for Nuance on-prem

Nuance speech service can either be accessed via their cloud service -- this is what we support today, and it requires a client id and secret -- or it can be installed on a customer premise.  In the latter case, all we need is the uri, in terms of ip:port (similar to nvidia).
So when adding a speech service for Nuance there should be choice of entering either:

client and and secret, OR
uri

We should probably have radio buttons to guide the user labeled:

"Hosted"
"On-prem"

This is slightly more complicated than I thought, because when using the on-premise nuance product (which is called Krypton, I believe), you can have different uris for STT and TTS.  For instance:
STT : <IP_ADDRESS>:7021
TTS : <IP_ADDRESS>:7023

So the full set of credentials that are possible for nuance are:

client_id (when using hosted)
secret (when using hosted)
nuance_tts_uri (when using on prem tts)
nuance_stt_uri (when using on prem stt)

And the user should be able to mix and match, e,g,

hosted for both stt and tts (they provide only client_id and secret)
on prem for both stt and tts (they provide nuance_tts_uri and nuance_stt_uri)
hosted for stt and on prem for tts (they provide client_id, secret, and nuance_tts_uri)
on-prem for stt and on hosted for tts (they provide client_id, secret, and nuance_stt_uri)

Currently the nuance panel looks like this:

I suggest we leave the Client ID and Secret inputs as they are, but remove the red asterisk as they are no longer necessarily required.
Then, below that have a check box labeled "Use on-prem TTS".  To the right of the checkbox should be an input field that is disabled until the checkbox is checked.  Then it is enabled and should have placeholder text "ip:port".  The entry should be validated that it ends with a colon and digits (we should allow them to enter either an IP or a DNS for the host part, so don't validate that part).
Below that, similarly, have a check box labeled "Use on-prem STT".  To the right of the checkbox should be an input field that is disabled until the checkbox is checked.  Similar validation there.
Form-level validation, before submit, they must have either entered client id and secret or entered a uri

close as PR is merged


Error when execute az apim api import

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az apim api import
Errors:
must be str, not NoneType
Traceback (most recent call last):
Local\Temp\pip-unpacked-wheel-yccaebu4\knack\cli.py, ln 233, in invoke
azure\cli\core\commands\__init__.py, ln 664, in execute
azure\cli\core\commands\__init__.py, ln 727, in _run_jobs_serially
azure\cli\core\commands\__init__.py, ln 720, in _run_job
AppData\Local\Temp\pip-unpacked-wheel-rg200gj8\six.py, ln 703, in reraise
azure\cli\core\commands\__init__.py, ln 698, in _run_job
azure\cli\core\commands\__init__.py, ln 331, in __call__
pip-unpacked-wheel-8u6uejh7\azure\cli\core\__init__.py, ln 816, in default_command_handler
azure\cli\command_modules\apim\custom.py, ln 275, in import_apim_api
TypeError: must be str, not NoneType

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az apim api import --path {} --resource-group {} --service-name {}

Expected Behavior
Environment Summary
Windows-10-10.0.17763-SP0
Python 3.6.8
Installer: MSI

azure-cli 2.19.1

Additional Context

route to appropriate team

I think there was already another post https://github.com/Azure/azure-cli/issues/17029


[BugFix] at repo-settings protected branch

origin: #8512

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@729708e). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master    #8799   +/-   ##
=========================================
  Coverage          ?   41.24%
=========================================
  Files             ?      542
  Lines             ?    69708
  Branches          ?        0
=========================================
  Hits              ?    28749
  Misses            ?    37278
  Partials          ?     3681

Continue to review full report at Codecov.

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

@lafriks @lunny can you look if the CI checkbox is now checked?

@guillep2k the checkbox shuld be checked if it is required otherwise if you "Update Settings" you will deaktivate it without knowing it

Or We remove the checkbox and make the "Required" to a button wich is higlightetd or not ?

and YES this fix a bug ;) - wich but this wasent my intend in the first place 😅

checking ... (delete browser cache)

@guillep2k works fine now :D

git branch --contains 04ca7f004710de2b408f558f6f148894aa61ba57
-> master
-> release/v1.10
Need backport to 1.10

@zeripath ready to merge :)


[Component] - Combobox - AutoComplete

This will actually be named autoSelect and can wait for v2 of the component

@lauragautheron Do we have a design guideline for this behaviour?


Component path not recognized as valid return type

For example, the function declaration public path.to.Component function cflintTest() is triggering FUNCTION_TYPE_MISSING.

Related to https://github.com/cfparser/cfparser/issues/97.

fixed in dev


cpuid: 20211210 -> 20220224

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/cpuid/versions.
meta.description for cpuid is: "Linux tool to dump x86 CPUID information about the CPU"
meta.homepage for cpuid is: "http://etallen.com/cpuid.html"
meta.changelog for cpuid is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
Warning: no invocation of /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224/bin/cpuid had a zero exit code or showed the expected version
Warning: no invocation of /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224/bin/cpuinfo2cpuid had a zero exit code or showed the expected version
0 of 2 passed binary check by having a zero exit code.
0 of 2 passed binary check by having the new version present in output.
found 20220224 with grep in /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224
found 20220224 in filename of file in /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

1 x86_64-linux rebuild(s)
0 x86_64-darwin rebuild(s)

First fifty rebuilds by attrpath
cpuid

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cpuid https://github.com/r-ryantm/nixpkgs/archive/623e8057cf375dd27d35d2729a7eb7d386f952c3.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224
ls -la /nix/store/8vwm36jirgns9hg2xvga8261zg49a2px-cpuid-20220224/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

cpuid

Maintainer pings
cc @blitz for testing.

Result of nixpkgs-review pr 161937 run on x86_64-linux 1

1 package built:

cpuid


ignore cookie cutter references to schemasheets and google-sheets...

google_sheet_id
google_sheet_tabs

see https://github.com/search?q=repo%3AGenomicsStandardsConsortium%2Fmixs google_sheet_id&type=code
I just thought that people may be surprised to see these unused settings in the configuration files


Use non-Number values for data on StockLine chart type

I want to show the xKey as a string,but it's a number, i tried to modified it,but it doesn't work.

I'll look at maybe changing this. Do you have some sample data you are trying to work with?

why can't see the X and Y data

@BaroneX I'm confused about what you are trying to accomplish.
xkey is a property you set on the StockLine component to identify the key name you use when specifying your data. So if you have this:
<StockLine data={sampleData.stockLine.data} options={sampleData.stockLine.options} xKey='x' yKey='y' />

you would want your data to look like this:
stockLine: {
        data: [
            [{
                "x": 0,
                "y": 47782
            }...

or, as another example, if you want to use more mathematical terms for the x & y coordinates and use "abscissa" for the x (horizontal) coordinate-part name and "ordinate" for the y (vertical) coordinate-part name, you would have code that looked like this:
<StockLine data={sampleData.stockLine.data} options={sampleData.stockLine.options} xKey='abscissa' yKey='ordinate' />

and your data would look like this:
stockLine: {
        data: [
            [{
                "abscissa": 0,
                "ordinate": 47782
            }...

but I think you are using the term xkey to refer to something you see visually (something you are trying to make appear on the x-axis?).
If this is still an outstanding issue, can you explain it differently? Do you have some sample code and data to illustrate what you are trying to do?

@cwxStrong That looks like a separate issue that you are having specifically with the SmoothLine component in the example app. I'm guessing maybe you have changed the options on the sample data and changed the showLabels property from true to false. If that doesn't address your issue, could you open a separate issue with some example code & data illustrating the issue?

I want show the month in x and number in y
stockLine: {
        data: [
            [{
                "x": "January",
                "y": 47782
            },{
                "x": "February",
                "y": 2323
            }...

and another data to show the time
stockLine: {
        data: [
            [{
                "x": "2016-10-10 15:00",
                "y": 47782
            },{
                "x": "2016-10-10 16:00",
                "y": 2323
            },{
                "x": "2016-10-10 17:00",
                "y": 2323
            }...

This project is based on react-pathjs-chart and there is a built in assumption in that project that the x and y data values are specifically Number data types. For now, at least, we will not deviate from the basis project and keep things as they were designed.
As for alternatives, you could continue to use the StockLine chart type and use numbers for the months of the year (1,2...12) or you could use a different chart type like Bar.

thkq.

Hi,
I have the same need, to show string labels on X axis instead of numbers. I found a work around, in which we still pass x values as numbers to the chart and we need to change source code of file Axis.js a little bit.
In file Axis.js :
` const ticks =_.map(axis.ticks, function (c, i) {
const label = options.labelComponent !== undefined? React.cloneElement(options.labelComponent,{value:c}) : c
let gxy = horizontal ? [scale(c),chartArea.y.min]:[chartArea.x.min,scale(c)]
  let returnValue = <G key={i} x={gxy[0]} y={gxy[1]}>

            {options.showTicks &&
              <Circle r="2" cx="0" cy="0" stroke="grey" fill="grey" />
            }

            {options.showLabels &&
              <Text x={xy[0]} y={xy[1]}
                    fontFamily={textStyle.fontFamily}
                    fontSize={textStyle.fontSize}
                    fontWeight={textStyle.fontWeight}
                    fontStyle={textStyle.fontStyle}
                    fill={textStyle.fill}
                    textAnchor={textAnchor}>
                    {label.toString()}
              </Text>}
        </G>

  return returnValue
})`

We can see that if we supply a "labelComponent" component, then this component will be used to render custom the axis label values, this component will take the current axis number value and return something (a string) to show as axis label.
I build a map, from number axis values to label strings, then supply the number array to the chart, but I can't figure out how to build a component that can show correctly with this  {label.toString()}, it always give me this sting "[object]".
So I updated 1 line of code in my local source to run:
` const ticks =_.map(axis.ticks, function (c, i) {
const label = options.labelFunction !== undefined? options.labelFunction(c) : c
let gxy = horizontal ? [scale(c),chartArea.y.min]:[chartArea.x.min,scale(c)]
  let returnValue = <G key={i} x={gxy[0]} y={gxy[1]}>`

Then can easily define a label function, that take in a axis number value and return a custom label string I want.
Please help me how to use a labelComponent proprerly.

I do want to look into this more but for now I just want to mention that this library is largely based on react-pathjs-charts and sometimes it is nice to look at some of the examples there for reference - https://github.com/rsamec/react-pathjs-chart/blob/95b56505e43c92eca1e7750b4070fac96358d7f0/example/src/ChartDemo.js#L48

thanks

in the options on xAxis is one value called tickValues
axisX: {
                showAxis: true,
                showLines: false,
                showLabels: true,
                showTicks: false,
                zeroAxis: false,
                orient: 'bottom',
                tickValues: [
                  {value:'name1'},
                  {value:'name2'},
                  {value:'name3'},
                  {value:'name4'},
                  {value:'name5'},
                  {value:'name6'},
                  {value:'name7'}
                ],

it works but you need to modify Axis.js
on line 102
let gxy = horizontal ? [scale(i),chartArea.y.min]:[chartArea.x.min,scale(i)]

@eriksape Your comment was super helpful and I thought was really close to a true solution. The problem is with your change to Axis.js, it "fixes" the StockLine chart but breaks the other chart types. A slight variation on your change to Axis.js that doesn't break for other chart types is this:
let scaleBase = isNaN(c) ? i : c
let gxy = horizontal ? [scale(scaleBase),chartArea.y.min]:[chartArea.x.min,scale(scaleBase)]

I will shoot for putting the changes to Axis.js in a new PR with a new example chart that shows non-numeric labels.

It will be better if we can pass a format function to format value. I have data by date time (datatype is long - timestamp), I want to display as date string.

@minhquankq  for values you mean the yAxis?
it would be something like this
axisY: {
                showAxis: true,
                showLines: false,
                showLabels: true,
                showTicks: false,
                zeroAxis: false,
                orient: 'bottom',
                tickValues: [
                  {value:'name1'},
                  {value:'name2'},
                  {value:'name3'},
                  {value:'name4'},
                  {value:'name5'},
                  {value:'name6'},
                  {value:'name7'}
                ],

To cover a wider range of use cases, things could be changed to handle an array of labels (i.e. tickValues with the axis fix) or a function to return a string for the label (formatted from something in the data).  There are certainly use cases where a single format function would be cleaner such as a date/time formatting with a time stamp or money format on a number value.

I think I've covered the desire for both static and dynamic axis tick labels as discussed in this thread in PR #48 - feel free to take a look at that and provide feedback if necessary.

error while updating property 'd' in shadow node of type :RNSVGPath
with static tickValues, any idea what can be the reason
tickValues: [
{value:'name1'},
{value:'name2'},
{value:'name3'},
{value:'name4'},
{value:'name5'},
{value:'name6'},
{value:'name7'},
{value:'name8'},
{value:'name9'},
{value:'name10'},
{value:'name11'},
{value:'name12'},
{value:'name13'},
{value:'name14'},
{value:'name15'},
{value:'name16'},
{value:'name17'},
{value:'name18'},
{value:'name19'},
{value:'name20'},
{value:'name21'}
]

That looks ok and similar to the example in the example app. Perhaps there is a problem elsewhere - what does the rest of your source look like?

Actually it was working fine without this, but as soon as I added this it breaks. `class LineGraph extends Component {
constructor(props) {
super(props);
}
render() {
let data = [
  [{
    "x": -10,
    "y": -1000
  }, {
    "x": -9,
    "y": -729
  }, {
    "x": -8,
    "y": -512
  }, {
    "x": -7,
    "y": -343
  }, {
    "x": -6,
    "y": -216
  }, {
    "x": -5,
    "y": -125
  }, {
    "x": -4,
    "y": -64
  }, {
    "x": -3,
    "y": -27
  }, {
    "x": -2,
    "y": -8
  }, {
    "x": -1,
    "y": -1
  }, {
    "x": 0,
    "y": 0
  }, {
    "x": 1,
    "y": 1
  }, {
    "x": 2,
    "y": 8
  }, {
    "x": 3,
    "y": 27
  }, {
    "x": 4,
    "y": 64
  }, {
    "x": 5,
    "y": 125
  }, {
    "x": 6,
    "y": 216
  }, {
    "x": 7,
    "y": 343
  }, {
    "x": 8,
    "y": 512
  }, {
    "x": 9,
    "y": 729
  }, {
    "x": 10,
    "y": 1000
  }],
  [{
    "x": -10,
    "y": 100
  }, {
    "x": -9,
    "y": 81
  }, {
    "x": -8,
    "y": 64
  }, {
    "x": -7,
    "y": 49
  }, {
    "x": -6,
    "y": 36
  }, {
    "x": -5,
    "y": 25
  }, {
    "x": -4,
    "y": 16
  }, {
    "x": -3,
    "y": 9
  }, {
    "x": -2,
    "y": 4
  }, {
    "x": -1,
    "y": 1
  }, {
    "x": 0,
    "y": 0
  }, {
    "x": 1,
    "y": 1
  }, {
    "x": 2,
    "y": 4
  }, {
    "x": 3,
    "y": 9
  }, {
    "x": 4,
    "y": 16
  }, {
    "x": 5,
    "y": 25
  }, {
    "x": 6,
    "y": 36
  }, {
    "x": 7,
    "y": 49
  }, {
    "x": 8,
    "y": 64
  }, {
    "x": 9,
    "y": 81
  }, {
    "x": 10,
    "y": 100
  }]
]

let options = {
  width: 280,
  height: 280,
  color: '#2980B9',
  margin: {
    top: 20,
    left: 45,
    bottom: 25,
    right: 20
  },
  animate: {
    type: 'delayed',
    duration: 200
  },
  axisX: {
    showAxis: true,
    showLines: true,
    showLabels: true,
    showTicks: true,
    zeroAxis: false,
    orient: 'bottom',
    label: {
      fontFamily: 'Arial',
      fontSize: 14,
      fontWeight: true,
      fill: '#34495E'
    },
    tickValues: [
          {value:'name1'},
          {value:'name2'},
          {value:'name3'},
          {value:'name4'},
          {value:'name5'},
          {value:'name6'},
          {value:'name7'},
          {value:'name8'},
          {value:'name9'},
          {value:'name10'},
          {value:'name11'},
          {value:'name12'},
          {value:'name13'},
          {value:'name14'},
          {value:'name15'},
          {value:'name16'},
          {value:'name17'},
          {value:'name18'},
          {value:'name19'},
          {value:'name20'},
          {value:'name21'}
    ],
  },
  axisY: {
    showAxis: true,
    showLines: true,
    showLabels: true,
    showTicks: true,
    zeroAxis: false,
    orient: 'left',
    label: {
      fontFamily: 'Arial',
      fontSize: 14,
      fontWeight: true,
      fill: '#34495E'
    }
  }
}
    return (
        <View style ={{width:width,height:height}}>
            <SmoothLine data={data} options={options} xKey='x' yKey='y' />
        </View>
    )
}

}`

@manjeets12 It turns out this behavior is the same for your example and the StockLineChartStaticTickLabels chart in the example app. I also discovered the cause of this behavior is the problem @qiangspecial pointed out in #89. It's fixed in #91


Book updates

A PR has been opened and reviewed in the book's repo, and is awaiting the esp-hal release to be merged: https://github.com/esp-rs/book/pull/145
Closing this issue.


patch code-cursor to remove double window header

Describe the bug

https://github.com/getcursor/cursor/issues/837
Steps To Reproduce
Steps to reproduce the behavior:

run cursor (possibly on gnome)

Expected behavior
to not have the extra gnome header

Additional context
i am new to nix and tried to modify the package.nix for code-cursor. i achieved to patch it according to instructions on (https://github.com/getcursor/cursor/issues/837#issuecomment-2326443145) but i failed to update the update script to match url and outputHash
here is my package.nix
{
  lib,
  stdenvNoCC,
  fetchurl,
  appimageTools,
  makeWrapper,
  writeScript,
}:
let
  pname = "cursor";
  version = "0.41.3";
  appKey = "230313mzl4w4u92";
  src = appimageTools.extract {
    inherit pname version;
    src = fetchurl {
      url = "https://download.todesktop.com/230313mzl4w4u92/cursor-0.41.3-build-240925fkhcqg263-x86_64.AppImage";
      hash = "sha256-WtfyiNGnUn8g1HR0TQPyn3SMJmjqe+otAYeyokMIO+w=";
    };

    #workaround for https://github.com/getcursor/cursor/issues/837
    postExtract = ''
      substituteInPlace $out/resources/app/out/vs/code/electron-main/main.js \
        --replace ',minHeight' ',frame:false,minHeight'
    '';
  };
in
stdenvNoCC.mkDerivation {
  inherit pname version;

  src = appimageTools.wrapAppImage { inherit version pname src; };

  nativeBuildInputs = [ makeWrapper ];

  installPhase = ''
    runHook preInstall

    mkdir -p $out/
    cp -r bin $out/bin

    mkdir -p $out/share/cursor
    cp -a ${src}/locales $out/share/cursor
    cp -a ${src}/resources $out/share/cursor
    cp -a ${src}/usr/share/icons $out/share/
    install -Dm 644 ${src}/cursor.desktop -t $out/share/applications/

    substituteInPlace $out/share/applications/cursor.desktop --replace-fail "AppRun" "cursor"

    wrapProgram $out/bin/cursor \
      --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--ozone-platform-hint=auto --enable-features=WaylandWindowDecorations}} --no-update"

    runHook postInstall
  '';

  passthru.updateScript = writeScript "update.sh" ''
    #!/usr/bin/env nix-shell
    #!nix-shell -i bash -p curl yq coreutils gnused common-updater-scripts
    set -eu -o pipefail
    latestLinux="$(curl -s https://download.todesktop.com/${appKey}/latest-linux.yml)"
    version="$(echo "$latestLinux" | yq -r .version)"
    filename="$(echo "$latestLinux" | yq -r '.files[] | .url | select(. | endswith(".AppImage"))')"
    url="https://download.todesktop.com/${appKey}/$filename"
    currentVersion=$(nix-instantiate --eval -E "with import ./. {}; code-cursor.version or (lib.getVersion code-cursor)" | tr -d '"')

    if [[ "$version" != "$currentVersion" ]]; then
      hash=$(nix-hash --to-sri --type sha256 "$(nix-prefetch-url "$url")")
      update-source-version code-cursor "$version" "$hash" "$url" --source-key=src.src
    fi
  '';

  meta = {
    description = "AI-powered code editor built on vscode";
    homepage = "https://cursor.com";
    license = lib.licenses.unfree;
    sourceProvenance = with lib.sourceTypes; [ binaryNativeCode ];
    maintainers = with lib.maintainers; [ sarahec ];
    platforms = [ "x86_64-linux" ];
    mainProgram = "cursor";
  };
}

after wrestling for a few days i hope the maintainer can help
Notify maintainers
@sarahec
Metadata
[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.11.2-cachyos, NixOS, 24.11 (Vicuna), 24.11.20241009.5633bcf`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.8`
 - nixpkgs: `/nix/store/60sn02zhawl3kwn0r515zff3h6hg6ydz-source`

Add a :+1: reaction to issues you find important.

Thanks for spotting this! I'll update the derivation.

After digging into the code (and the other 115 packages that use app images), there's no good way to do this. The solution is to push on the cursor team.
I'm sorry I can't fix it from this end.


Improve Prisma Client error handling

As of now, we have many different kinds of errors and don't make sure, that errors are easily consumable by both humans and machines.
Concrete steps we can do to improve them:

[ ] Instead of printing a custom error stack into the error message, we should probably just override the .stack property of the errors
[ ] Make Prisma Client validation errors easier to consume programmatically

2 libraries that are interesting to look at in this context:

ono https://github.com/JS-DevTools/ono
verror https://github.com/joyent/node-verror

Closing in favor of https://github.com/prisma/prisma/issues/5040

Closing in favor of https://github.com/prisma/prisma/issues/5040


[Discussion] Azure Functions Runtime 2.0.12427 release

Discussion issue for the Azure Functions runtime release 2.0.12427

Deployment is complete.


TypeError in scipy/optimize/_trustregion

Line 238 of scipy/optimize/_trustregion should have "m.fun" instead of "m()".  The following test case (a variation of scipy/optimize/tests/test_trustregion.py) will throw "TypeError: call() takes exactly 2 arguments (1 given)" without the given change:
from scipy.optimize import (minimize, rosen, rosen_der, rosen_hess, rosen_hess_prod)
x0=[-1.2, 1.0]
r = minimize(rosen, x0, jac=rosen_der, hessp=rosen_hess_prod,tol=1e-8, method='trust-ncg',options={'disp': True,'maxiter': 5})
I'm willing to submit a pull request to get it fixed but I've never done one before so I could use some guidance.

@dlax this looks like a problem introduced in https://github.com/argriffing/scipy/pull/2 which was not caught by testing because it occurs only for disp=True. I guess there should be 'smoke tests' for that option (possibly across optimization methods) in a way that somehow does not clutter the unit test output.

@danielsjensen1 thanks for this report, I think your proposed solution of changing m() to m.fun is correct but I'm not sure how the unit tests would work. Maybe you wouldn't need to worry about that and it could be added later in a separate PR?

I'm willing to submit a pull request to get it fixed but I've never done one before so I could use some guidance.

Great! Here are some official guides:
https://docs.scipy.org/doc/scipy/reference/hacking.html
http://docs.scipy.org/doc/numpy/dev/gitwash/development_workflow.html
Or try https://github.com/scipy/scipy/pull/4049#discussion_r18455048 which includes a recipe that may be more specific to your situation.

I agree with the diagnosis and proposed solution.

I just submitted my first pull request; I wouldn't be surprised if I messed up so let me know and I can probably fix it on Monday.  I can also contribute a unit test based on my first message but I'm not sure how to suppress the output.

Thanks @danielsjensen1!
Fixed in https://github.com/scipy/scipy/pull/4801.
The testing issue has been opened separately as https://github.com/scipy/scipy/issues/4804.


Python3

I quickly hacked your module for Python 3 and released it https://pypi.python.org/pypi/uwsgi_metrics3 (mostly because I needed it "now" --- I'm using it in Docker, so the module name clash is not important for me).
Would be cool to get Python 3 support :smile:

Just one minor change, otherwise looks great!  Thanks :)
Once done, I'll release a new version on pypi.

@jnb done :+1:

Any plans to merge this?


Update the date in the blog when the new sidecar data was added

Also two links got messed up in the last PR. Have fixed them as well.

@xmulligan @liquidat


Error on whereHasMorph when morph columns are null

Laravel Version: 7.6.2
PHP Version: 7.2.25
Database Driver & Version: MySQL 5.5.5-10.4.10-MariaDB

Description:
Using whereHasMorph and orWhereHasMorph when there are records with null values on morph columns, laravel produces this error:
Search Filter (Ambengers\QueryFilter\Tests\Feature\SearchFilter)
 ✘ It can search through polymorphic relation
   ┐
   ├ Error: Class name must be a valid object or a string
   │
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php:718
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/HasRelationships.php:179
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:245
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Relations/Relation.php:90
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:247
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:217
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:228
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:266
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:227
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php:228
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:229
   ╵ /Users/dignity/codes/query-filter/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php:321

Steps To Reproduce:
For simplicity's sake, let's use the comments example we have on docs:
https://laravel.com/docs/7.x/eloquent-relationships#querying-polymorphic-relationships

Setup a couple comment records in the database. Let couple of records be null on commentable_type and commentable_id columns.
Run the whereHasMorph query against comments like so:

$comments = App\Comment::whereHasMorph('commentable', '*', function (Builder $query) {
    $query->where('title', 'like', 'foo%');
})->get();

I can reproduce this bug.

Please see https://github.com/laravel/framework/issues/29357

@driesvints I am also using this for morphTo and it's still not working.

@driesvints I don't think the solution on #29357 is the same solution for this issue, if this is the reason this issue is being closed.

@driesvints I can provide a more detailed explanation as this bug occurs specifically when querying morphs of any type (using *).
Migration:
...
$table->nullableMorphs('service');
...

Model:
public function service()
{
   return $this->morphTo();
}

When there is a ModelName record with actually null service_id and service_type columns, it works like this:
This one WORKS:
ModelName::whereHasMorph('service', [RelatedOne::class, RelatedTwo::class])

This one does not:
ModelName::whereHasMorph('service', '*')

When there are no null morphs in the database, both actually exist as expected.
Therefore, there appears to be a bug in the handling of "any" type.

Okay re-opening.
@staudenmeir do you might know what's going on here?

@DSpeichert or @driesvints - is it correct to say that when we use wildcard ("*") on whereHasMorph, we also expect to get rows with null morph columns?

I'll submit a fix.

@ambengers Right now it looks like undefined behavior, but in my opinion, when using whereHasMorph('morph', '*'), I have an expectation of NOT getting morphs with NULL values. If they are NULL, we don't actually "have morph".
I'd be curious to see what is the "desired" behavior for soft-deleted morphs. I guess that by following Laravel's prior pattern, those would be skipped as well, although that would make it impossible to decide through the Closure (one could do ->whereNull('deleted_at') in the Closure).

@DSpeichert The wildcard includes soft-deleted morph types.
A query like this works correctly even if all comments of a certain type are soft-deleted:
Comment::whereHasMorph('commentable', '*', function (Builder $query) {
    $query->where('title', 'like', 'foo%');
})->withTrashed()->get();

Fixed.

This doesn't consider if all morph records in a table are null and, since we're not even hitting the loop here, will return all records:
https://github.com/laravel/framework/blob/92957206252cd4e40430f6f9eb2560566fa34ba3/src/Illuminate/Database/Eloquent/Concerns/QueriesRelationships.php#L216
I would expect something like:
if (count($types) > 0) {
     // foreach ($types as $type)...
} else {
     $query->whereNotNull(this->query->from.'.'.$relation->getMorphType());
}

...for consistency. Thoughts?


RANSAC Error on Custom Dataset

Hello,
I've followed the documentation guidelines to train SPT on my custom dataset, but I fail to go through the training step as a ValueError raised by ransac emerges on one of the point clouds.
Error executing job with overrides: ['experiment=HAG', 'ckpt_path=../HAG.ckpt']
Traceback (most recent call last):
  File "src/train.py", line 139, in main
    metric_dict, _ = train(cfg)
  File "/data/Moussa/superpoint_transformer/src/utils/utils.py", line 48, in wrap
    raise ex
  File "/data/Moussa/superpoint_transformer/src/utils/utils.py", line 45, in wrap
    metric_dict, object_dict = task_func(cfg=cfg)
  File "src/train.py", line 114, in train
    trainer.fit(model=model, datamodule=datamodule, ckpt_path=cfg.get("ckpt_path"))
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 532, in fit
    call._call_and_handle_interrupt(
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/call.py", line 43, in _call_and_handle_interrupt
    return trainer_fn(*args, **kwargs)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 571, in _fit_impl
    self._run(model, ckpt_path=ckpt_path)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/trainer.py", line 932, in _run
    self._data_connector.prepare_data()
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/connectors/data_connector.py", line 94, in prepare_data
    call._call_lightning_datamodule_hook(trainer, "prepare_data")
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/pytorch_lightning/trainer/call.py", line 166, in _call_lightning_datamodule_hook
    return fn(*args, **kwargs)
  File "/data/Moussa/superpoint_transformer/src/datamodules/base.py", line 144, in prepare_data
    self.dataset_class(
  File "/data/Moussa/superpoint_transformer/src/datasets/base.py", line 200, in __init__
    super().__init__(root, transform, pre_transform, pre_filter)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/torch_geometric/data/in_memory_dataset.py", line 57, in __init__
    super().__init__(root, transform, pre_transform, pre_filter, log)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/torch_geometric/data/dataset.py", line 97, in __init__
    self._process()
  File "/data/Moussa/superpoint_transformer/src/datasets/base.py", line 511, in _process
    self.process()
  File "/data/Moussa/superpoint_transformer/src/datasets/base.py", line 546, in process
    self._process_single_cloud(p)
  File "/data/Moussa/superpoint_transformer/src/datasets/base.py", line 577, in _process_single_cloud
    nag = self.pre_transform(data)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/torch_geometric/transforms/compose.py", line 24, in __call__
    data = transform(data)
  File "/data/Moussa/superpoint_transformer/src/transforms/transforms.py", line 23, in __call__
    return self._process(x)
  File "/data/Moussa/superpoint_transformer/src/transforms/point.py", line 223, in _process
    ransac = RANSACRegressor(random_state=0, residual_threshold=1e-3).fit(
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/sklearn/base.py", line 1152, in wrapper
    return fit_method(estimator, *args, **kwargs)
  File "/home/moussa/miniconda3/envs/spt/lib/python3.8/site-packages/sklearn/linear_model/_ransac.py", line 358, in fit
    raise ValueError(
ValueError: `min_samples` may not be larger than number of samples: n_samples = 2.

Set the environment variable HYDRA_FULL_ERROR=1 for a complete stack trace.

Could you help me on this issue ?

By applying a multiplicative factor to all dimensions of the point cloud, I was able to bypass this issue.


Fix to add hive decimal mapping to bigquery bignumeric when condition…

map hive decimal to bigquery's bignumeric when precision/scale is out of bigquery's numeric range.

close this one, it is in https://github.com/GoogleCloudDataproc/hive-bigquery-connector/pull/83


Add date feature to Self-Organised Workshop Request Form

There is no date field in the SO WRF we would like to add a date field between: "What is the format of this workshop?*" and "Please share your workshop URL". Can use the same feature as the Centrally-Organised WRF

I have a couple of questions:

Is the field required?
Should it read "Preferred dates"?
Should it have a help text?

Our workshops typically run two full days. Please select your preferred first day for the workshop. If you do not have exact dates or are interested in an alternative schedule, please indicate so below. Because we need to coordinate with instructors, a minimum of 2-3 months lead time is required for workshop planning.

@pbanaszkiewicz  thanks for the questions!

This is a required field
Bc this is a Self-organised form... the dates are not preferred but actual because the workshop hosts is submitting the information to us directly.
Help text could read: Please provide the dates that your Self-Organised workshop will run.

@sheraaronhurt important question I need an answer to before implementing this feature: is the field going to store the date of the first day of the workshop? Or do you want a generic text field for user to enter which dates the workshop will run (this will not be machine-friendly)?

Given that the dates are known for Self-organized workshops, the fields should store the actual dates for the beginning and the end of the workshop. Thanks!

@pbanaszkiewicz I agree with @fmichonneau  these should be the exact dates.


Current feature structure makes configuring no native dependencies difficult

I am attempting diesel_async and have been attempting to use mysql_async with the explicit intention of having no native dependencies. This requires using rustls and flate2 with the rust_backend feature.
This works if directly depending upon mysql_async, but if doing so transitively it becomes awkward for crates like diesel_async to do so given how dependencies are currently configured. I'm not entirely sure what the 'best' solution is here, but for a more in-depth explanation of the issue please see this discussion on diesel_async.

@oeed, hi.
Well, I agree with @weiznich that it is preferable to keep library feature space as small as possible.
Also I see no problem with adding some convenience features for end users (not for another libraries that depends on your library). default-rustls is an example of such a feature.
For libraries it seem better to do it like this:
If library A depends on library B, than it sets default-features = false on B and adds B's minimal/required set of features into A's default set of features (for A to successfully compile by default).
So, as a downstream user, by disabling default features on A you also disables all the features of B (and all the features of C if B depends on C the same way, and so on). So now you are in a position where you are able to select all the desired features of all the dependencies.
This is true, that this will bloat downstream user's Cargo.toml, but this seem fair to me if user desires some non-standard configuration.

Yeah I do agree too with keeping feature space small.
The primary issue with default-rustls in my use-case is that it uses flate2/zlib, which still incurs a native dependency. Perhaps default-rustls could instead use flate2/rust_backend? As I would imagine a decent proportion of users opting to rustls are doing so do avoid native dependencies.

This seems reasonable. I'll update default-rustls feature.


Export/Import all (multiple) multisig wallets at once

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.


Modularization of library

There is a rising demand to move towards modularization of *marked * and separate different components in different files(grammar-rules, lexers, parsers and renderers). This though not have been mentioned explicitly, is evident from issues #743, #717, #704.
A properly modularized code would make maintenance easy and also allow addition of new grammar, implementation of custom parser, renderer and would address separation of concerns properly.
Like may be we can have an /src folder to fiddle with the code in development and use /lib for deliverable file.

@Nalinc: See #956
This idea is intriguing to me, primarily from the perspective of making it easier for the library to communicate what and how it works from an architectural perspective.
I don't know enough about Marked to do this work myself. What would you propose as a full folder structure given what's already here?

hey @joshbruce
I worked on marked a bit in past and even changed some of its functionalities based on my needs back then. One thing I found annoying was keeping track of things in the same file even if I was working on a different component. Here's what I did back then:

I moved each of the primary components in a separate file in /src. This way I was left with core.js, grammar.js, lexer.js, parser.js and renderer.js in /src folder.
Each of these components was written in IIFEs so they weren't messing with global scope.
Finally, I had a grunt task that'd combine these components from /src and create a bundled file in  /dist`

I found it easy because having independent components in different files, I could easily change/extend one component without worrying about others. The code became smaller, readable and more manageable too. I feel comfortable with marked and am open to make a PR on this.
Regarding #956, is there an exiting card for this or should I make one and move it to "under consideration"?

#420
#660

To ES6 or not to ES6 is one question on the table.
I also learned more about JS recently - not in my usual language stack or selection (I know, weird, but I'm learning - lol). If we went totally prototypal based on specification - that could also be interesting totally make sh*t up here to demonstrate a non-ES6 concept (no fake classes):

Daring = {}

Daring.prototype.paragraph = function(markdown) {
  // whatever this is against the param :)
  // /^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/
  return result;
}

CommonMark = {}

CommonMark.prototype.paragraph = function(markdown) {
  return Daring.paragraph(markdown);
}

GFM = {}

GFM.prototype.paragraph = function(markdown) {
  return Daring.paragraph(markdown);
}

(This could be horrible JS, btw)
I should be able to override all the things at that point, yeah? (Hyper-extensibility.) We capture the exact differences between each of the specifications. I mean, unless I'm just a complete idiot, which is possible - this move would resolve most of the "feature request" problems that got us into hot water in the first place.
Having said that, I have no idea how slow it would be - but Marked isn't the fastest kid on the block anymore anyway.
We could also bail on the the configuration options for choosing which flavor, because you're always doing it directly - then divide the architecture by flavor to minimize compilation and package size - for example, Daring would be the lightest weight solution for client-side...but have the least amount of extended features. GFM would require CommonMark - override and add where need be.
Add builds for minified versions of each flavor to the npm build script @Feder1co5oave just finished.
Granted I still don't know what the difference is between the lexer, the parser, and all that jazz. But, I mean, if we're going to be doing breaking changes anyway, might as well reconsider our lives a bit on the way. lol
Again, just spitballing from the sidelines based on things I've done in other languages to solve similar problems.
Tagging a gentleman by the name of @colinalford - He's been helping me with my JS, is wicked smart, and should probably not add this to the list of things he's already doing. rofl

We can also do it in such a way that the changes aren't breaking for those who haven't modified or extend it - I think. Leave the same entry API as the entry point for the facade to do everything else.

The question is not really "To ES6 or not to ES6" because I sure don't want to stick with ES5 forever. It's more of a question of when to ES6.
ES6 has lots of improvements for code readability and modularization.
P.S. ES2018 will come with named capture groups which would make the RegExp heavy code much more readable.

@UziTech: How so? Can you drop a small code sample? Pseudo is good enough as long as it does es6 things. :)

I think before we start modularizing the code base we need to do some serious work on automating testing and benchmarking in node and a browser environment like chrome headless or phantomjs

That's fair. Before that (or during it), we should probably keep working on the fixing known issues thing as well - this is just future visioning.
What do you propose we need? What stops us from getting any of them? (CI against PRs, for example.) Maybe a ticket on this? I don't think we have one yet.

I'll flag that one as part of 0.4.0 milestone to make sure we don't go out of order.

Here is the same code with classes as your example above:
class Daring {
  paragraph(markdown) {
    // whatever this is against the param :)
    // /^([^\n]+(?:\n?(?!hr|heading|lheading| {0,3}>|tag)[^\n]+)+)/
    return result;
  }
}

class CommonMark extends Daring {}

class GFM extends Daring {}

Much less boilerplate code

As far as automated testing is concerned, it would be nice if @chjj could set up CI for PRs on Travis for mac and linux and AppVeyor for windows.
I could create the CI scripts to automatically run the tests on multiple versions of node and different browser engines including benchmarks.
That would help a lot when modularizing the code base to prevent accidentally introducing bugs or performance hits.

Yep. This is where @colinalford really comes into play for this conversation because he knows more about it than me but the class system in JS under the hood isn't true classing is it? Not like the ones we find in Swift, PHP, Objective-C?
I mean every object in JS is not only a definition (a class) but an instance as well; so, by boilerplate are we talking about the "prototype" piece? And functions are first class citizens, yeah?
Inheritance of classes can get tricky from the perspective that I can't just inherit parts and pieces (https://youtu.be/bIhUE5uUFOA). And, if this is what makes it easier to modularize, I'm not sure we need/want ES6 for most of it.
This is also what makes the prototype system interesting...I can inherit just the things I want - the banana without the gorilla holding it. Similar to traits in PHP, for example.

Agreed on the automated CI piece.
Is that it; or, is there more we could/should be doing on that score?
(I don't know how we can do the CI thing and actually maintain the repo being under @chjj . I mean it took us a lot of work to get to having me able to publish things, thanks for that. Does GitHub have a "I would like to take over this thing" like NPM does?)

Right, the class syntax is just hiding all the boilerplate "prototype" pieces. The code is doing the same thing just much easier to read.
We can just copy parts if we need to:
class CommonMark {
  // Daring has many other things but
  // we only want the paragraph
  paragraph(markdown) {
    return Daring.paragraph(markdown);
  }
}

again same as the ES5 code, just cleaner.
ES6 has many benefits over ES5 especially engine optimizations but since we will be transpiling it to ES5  anyways developer sanity will be the only benefit we will get until we can drop older browser/node versions.
That being said, keeping up with current ES versions will help us get those optimizations when we can drop the old version since we won't have to do an entire rewrite. All we will have to do is change our transpiler configuration.

Once the class fields proposal lands in es it will be even easier:
class CommonMark {
  // Daring has many other things but
  // we only want the paragraph
  paragraph = Daring.paragraph;
}

@UziTech: Fair. And I agree. Now the next question, not a recommendation, just want to cover the base:
What about TypeScript?
It adds keywords that do not exist in the ES spec as of today, but might in the future; could the same argument be made and does it hold the same value.

This is a great Crockford video, and he advocates what he calls a class free paradigm starting 42:50: https://youtu.be/DePE0ffiMf4
No need for classes, no need to worry about inheritance. Write a constructor, add the parts you want from other classes, and return the new object. Don't have to wait for the new spec, either. Very cool.
I am not the biggest fan of classes in JavaScript since it's a false construct. I write Typescript everyday for an Angular project, though, and I don't think it really matters  given you understand the underlying JavaScript.
Re: using Typescript, I really like it for the type system. It has been incredibly helpful organizing my code. However, it's kind of a pain to setup and adds a bunch of complexity with the build. I don't think I would advocate adding it for such a small project -- ~1300 LOC seems manageable without a type system.

@KostyaTretyak has done a pretty good job of rewriting marked using TypeScript  in marked-ts
I'm not opposed to TypeScript but I feel like that would be an  extra barrier to getting contributors. Anyone who would want to submit a pull request would need to learn TypeScript.
The class-free method seems clever, which is usually not a good thing in the long run. Almost all code smells were once clever hacks.

@UziTech I hear your concerns about being clever, but it is generally accepted in OOP that we should prefer composition over inheritance. The class free approach means  using only composition while ignoring inheritance.
There has been a lot of debate in the community since the introduction of classes about whether we should even use them or not. I'm not sure I would say its a modern standard just because its part of the modern spec.
But that's JS in a nutshell. Its not like we ever had a PEP like Python or whatever the PHP style guide is. Probably Crockford's Good Parts is the closest thing in the past, and AirBNB's style guide is pretty popular nowadays, so maybe pick that (they prefer classes to prototypes, btw).
IMO as long as everyone understands how Javascript really works and that classes don't actually exist in JS, then it is a nice syntax to organize your code. My fears are based around Java/C# devs working on ES6/Typescript projects for the first time without learning the differences between the languages.
Also, here's a really good article from Dan Abramov titled "How to Use Classes and Sleep At Night": https://medium.com/@dan_abramov/how-to-use-classes-and-sleep-at-night-9af8de78ccb4

@joshbruce Actually, that's a good recommendation. Use AirBnb's Style Guide for the project.

@colinalford: Having said that, we are talking linters:
#999 - #1020

@colinalford sticking with modern specs is what I meant by modern standards. Specs aren't always the best way to do things but they are the way that most people know and the starting point of future specs. If we want to keep this project from becoming stale again we will want to keep up with the specs.
I'm not married to the javascript class either but I think this:
class Markdown {
  paragraph() {
    // code...
  }
}

is easier to read and write than:
function Markdown(){}

Markdown.prototype.paragraph = function () {
  // code...
}

If we want something to be a javascript "class" we might as well call it so.
The class syntax is not really why I want to use ES6+ that was just an easy example of making the code easier to read.
ES6+ also comes with:

Block scoped variables (i.e. let, const)
Default parameters
Destructuring
Template leterals
Arrow functions
Async/Await
and many more...

Again, since we are compiling to ES5 in the build, the only benefit to any of this is ease of development.
Being that this is a community project with lots of people working on it (as opposed to a single person writing most of the code) remember that which ever code style we pick will need to be learned and written by anyone who submits a PR. Sticking with modern specs seems to be the easiest way to be sure that most people are able to easily help with the project.

It will be much easier to cherry pick once private methods are introduced.
"lots" may have been an exaggeration but my point was that this is a project where the only way it will last very long is if it is easy to hand off to the next person that wants to maintain it. I don't think there would have been two or three people willing to take over this project from Chris if it was written in Elm or ClojureScript.
While I enjoy writing TypeScript, I will never use it for one of my projects unless the project is meant for the TypeScript community (like an angular tool).

Not entirely sure, but it seems like #1077 and the push for a faster move to the 1.0 is clearing scrutiny. It got me thinking about the transition period between 1.0 (marked with current APIs and whatnot) and 2.0 (all the architecture and deprecation changes ever) and backward compatibility while actually making the changes. We might be able to maintain marked.js as an entry point that then references other things based on the setup options.
marked.js
core.js - rules common across supported flavors
grammar.js - maybe not necessary at root
lexer.js - same
parser.js - same
renderer.js - same
/DaringFireball
  core.js, grammar.js, lexer.js, parser.js, renderer.js
/CommonMark
  core.js, grammar.js, lexer.js, parser.js, renderer.js
/GFM
  core.js, grammar.js, lexer.js, parser.js, renderer.js
/[some other flavor]
  core.js, grammar.js, lexer.js, parser.js, renderer.js

Then we could compile minified versions for each flavor to allow users to take only the functionality they need into their projects. We could also modify the way the option settings change things in marked.js itself.
pedantic: true - use DaringFireball indirectly
gfm: true - use GFM indirectly (if both are set to true, use non-pedantic)

// Create more generic setting
flavor: daring|gfm|common-mark|[some other flavor]

Doing the update to the docs has me seeing a lot of setting options I'm curious if we need or want as well. gfm: true, tables: false, for example, why not use CommonMark instead?

#1347

@joshbruce @UziTech This ticket along with #1288 and #1347 seems to be requesting the same thing. What do you think of closing the duplicates?
I would imagine we still want to focus on spec compliance before tearing things apart to modularize, and probably wait for ESM in Node.js to go stable.
Since this ticket appears to be the oldest, should we close the other two and get all this discussion in one place?


ctime

Hi, since the ctime() function has been removed, and seemingly replaced by the %c formatter, these two are inconsistent.
The old ctime function corresponds to:
%a %b %-d %H:%M:%S %-Y
While the new %c corresponds to:
%a %b %-d %-H:%M:%S %-Y
I just wondered if this is intentional, or not, as it made things depending on this format break for me on upgrading the time dependency.
Thanks!

Yes, this is intentional. Specifiers are explicitly not backwards-compatible, and I even created a tool to assist in upgrades (see #201).
I may be re-adding fixed formats, like ctime and a few RFC formats, as it would eliminate the runtime parsing of the formatting string. In theory, that will make it more performant.
But yeah, this is to be expected. Use the tool where possible. You can then think about edge cases with regard to padding, as most people don't really care what happens when the year is past 10,000, for example.


Caching for npm

Implements #76

Thanks for the Pull Request @developStorm :ok_hand:
I also wanted to look into caching the build website between the two jobs you originally opened the issue for. If you're up for it, feel free to include that in this Pull Request - I guess you'll need to find a cache key that is only valid for one workflow run :thinking:
If not, let me know and I can merge this in. Just one small request, could you rename the steps to Cache dependencies?

For the build cache, just to confirm -- since we can't mix dev and prod build, the only place that this cache could apply would be between build website and test website. Is that what you are expecting? The cache key I think github.sha would work well as it identifies an unique commit.
Also, we need a way to stop jest from rebuild the site automatically when cache is hit. I've tried searching but there doesn't seem to be a parameter does that (prevent rebuild/use existing build), any ideas?

For the build cache, just to confirm -- since we can't mix dev and prod build, the only place that this cache could apply would be between build website and test website. Is that what you are expecting?

That is correct

The cache key I think github.sha would work well as it identifies an unique commit.

That's a great idea! :+1:

Also, we need a way to stop jest from rebuild the site automatically when cache is hit. I've tried searching but there doesn't seem to be a parameter does that (prevent rebuild/use existing build).

Ah yes, I didn't think about that. The way that works is a bit of a hack :sweat_smile: So, I guess I'll look into that part myself - finding a suitable solution for that hack and caching the website - does that sound good to you?

The way that works is a bit of a hack

Thanks for pointing this out. I guess we could just add an ENV check here that if process.env.action_cache then skip build. We can then try to passing the value of steps.[cache step].outputs.cache-hit from Action to ENV to indicate caching status.
Or we can just check if _site exists, since there must not be this folder on the Action if cache isn't hit - but it may become a bit tricky when testing locally as the folder might exist due to previous builds.

Thank you for taking the time to implement this @developStorm, though now I will need some time to review your approach and consider alternatives :slightly_smiling_face:

Or we can just check if _site exists, since there must not be this folder on the Action if cache isn't hit - but it may become a bit tricky when testing locally as the folder might exist due to previous builds.

That would probably be a better idea in the long run. We should be able to pull that off by comparing the last edited timestamp of _site and public but I'm not sure if that will actually work with the cache :thinking:

*P.S. Isn't this actually using a production build? I am not seeing any command that sets NODE_ENV=dev thinking.

Interesting. I suppose I technically said "can use a dev build", not that they did. But in all seriousness, you're right and it should probably be updated to just use the dev build - at least in the CI.

though now I will need some time to review your approach and consider alternatives 🙂

No problem! Just letting you know that I've now implemented caching with environment variable approach, and the verify CI is switched to use dev build now. Although it doesn't appear that the speed of integration testing has improved (・_・;

See https://github.com/developStorm/simple-icons-website/pull/1 @developStorm :slightly_smiling_face:


v2.0-rc

NEXT MAJOR release
The following items are to be included with the next MAJOR release of the Auro WC-Generator, all PRs are to be from the feature branch to v2.0-rc branch.

[ ] https://github.com/AlaskaAirlines/auro-pane/issues/7

closing this rc in favor of milestones


Compile error on illumos/SmartOS

As part of the MoarVM build, I'm getting the following compile error on illumos/SmartOS:
3rdparty/libuv/src/unix/core.c:1060:5: error: too many arguments to function 'getpwuid_r'
In file included from 3rdparty/libuv/include/uv-unix.h:37:0,
from 3rdparty/libuv/include/uv.h:61,
from 3rdparty/libuv/src/unix/core.c:21:
/usr/include/pwd.h:191:23: note: declared here

Works alright with the node.js smartos builds but pull requests nevertheless welcome.

Some tests are failing, but compiling seems to work fine: https://ci.nodejs.org/job/libuv+any-pr+multi/nodes=smartos14-64/181/console

Ugh... appears that this might be an illumos glitch...
https://www.illumos.org/issues/5363

Closing. @konobi since it works on our build bots, but you're welcome to send us a PR if there are some exotic cases that need to be covered.

@konobi suggesting you stick with the base64-lts branch of smartos; currently at 14.4.4.


improve docs on building docs

There have been a number of questions recently on how to build the docs, it's not documented well enough. E.g. from @adbugger at https://mail.python.org/pipermail/scipy-dev/2018-April/022817.html:
So I finally got the docs built. Couple of points which I think might be helpful to people building docs in the future:
You need to have sphinx installed in your working environment (native installation, virtualenv, conda, whatever). I did not see sphinx listed as a dependency online. Maybe it should be included in the HACKING.rst.txt file?
You do NOT need to have numpydoc installed on your system. Irrespective of where it is installed, the build process only uses the numpydoc package present under the sphinxext directory. I wasted a lot of hours trying to find which version of numpydoc was being used as I had it installed both in my virtualenv, and native installation; neither of those had the faulty import line.
After using git submodule update to get the latest sphinxext directory and numpydoc installation, the faulty import line in file doc/sphinxext/numpydoc/numpydoc.py needs to be changed. From
    from sphinx.util.compat import Directive

to

    from docutils.parsers.rst import Directive

Thank you Lars for pointing that out.
Finally, and this was my fault entirely, I had my virtual environment running python version 3.5.2, but as python3 or python. Calling python3.5 (as the Makefile was doing when I set PYVER=3.5) called the python executable in /usr/bin/python3.5, which couldn't find the sphinx module itself (as I didn't install it along with my native installation). Setting PYVER=3, or PYTHON=/path/to/python/in/virtualenv fixed this.

I'd be happy to test updated written instructions and, if they work for me, make a video like the others. I was eventually able to build the docs when I last tried, but they never looked right so I'm not the right person to update the written instructions.

Issue #8794 updated the version of numpydoc used by scipy, so modifying files is no longer required.

Wrote some instructions for building documentation at:
https://github.com/scipy/scipy/wiki/Rendering-SciPy-Documentation
Is git submodule update a necessary step?
Any troubleshooting tips to add?
Does this close the issue?

Using make html-scipyorg fixed the appearance issues I had with make html. Was that target added to the makefile recently?

No it's been there for a long time.

Is git submodule update a necessary step?

you have to do git submodule init and git submodule update at least once after cloning. After that, another update may be needed depending on if the submodule changed (not often)

Is it possible for Sphinx to update documentation rather than building from scratch every time?

It does. Rebuilds are way faster than if you rm -rf build

When this is linked from existing documentation, should we close this issue?

once it's in the built docs I'd say.

Thanks for those responses.
Not sure why I wasn't getting the big speedup after the initial build before, but I've seen it in recent tests.  After making changes to the linprog documentation, it is much faster to rebuild than build for the first time after branching from master (or after deleting the build folder).
Now I'm noticing that when I try to update the linprog method='interior-point' documentation by changing the docstring of _linprog_ip in scipy/optimize/linprog_ip.py, the rendered documentation doesn't change unless I delete the build folder before make html-scipyorg. Then, of course, it takes a long time to build the documentation from scratch.
Thoughts on why this might be happening?

browser caching issue? I usually use make html instead of make html-scipyorg, but I think they behave the same. you can check by seeing if the html file you're looking at in the browser has changed (check timestamp, or with a text editor for example)

@rgommers it looks like git submodule init/update ensures that scipy-sphinx-theme, scipy-mathjax, and numpydoc are up to date? Calling these commands automatically merges (or rebases on?) upstream changes?
I imagine that numpydoc is shared and that's why it's a submodule, but why aren't scipy-sphinx-theme and scipy-mathjax part of the main repository?
RE:  linprog_ip docstring not re-rendered unless I delete build - it doesn't look like a browser caching issue. The .html files simply don't change. index.html updates, but optimize.linprog-interior-point.html doesn't.  I tried changing the documentation for  optimize.minimize-trustexact.html and optimize.minimize-cobyla.html, too - same thing. These optimize method files are different because they appear directly in the html/html-scipyorg folder rather than in the generated subfolder (like scipy.optimize.linprog.html, which updates just fine). Could that have something to do with it?

@rgommers it looks like git submodule init/update ensures that scipy-sphinx-theme, scipy-mathjax, and numpydoc are up to date?

Indeed

Calling these commands automatically merges (or rebases on?) upstream changes?

If by upstream you mean the version of those submodules set in the the main SciPy repo, then yes. If you mean "latest numpydoc", then no.

I imagine that numpydoc is shared and that's why it's a submodule, but why aren't scipy-sphinx-theme and scipy-mathjax part of the main repository?

Also shared. scipy-sphinx-theme is used by numpy.org, docs.numpy.org, scipy.org, numpy and scipy (at least). Not 100% sure about scipy-mathjax, but likely in >1 place as well.

Thanks. Good to check my understanding before spreading lies : )

Also, because these modules contain files not directly related to scipy source code (for example, the MathJax files) they are better kept separate. How git submodules work is a bit unintuitive at first (tutorial at https://git-scm.com/book/en/v2/Git-Tools-Submodules), but there are good reasons why it works like it does.


added LDAP to dovecot and postfix (TODO: regression test & improve DOC)

My mail-server is running and working, this has been done 1 month ago:
In my memories, start-mailserver.sh wasn't ready for signed certs. I do use signed certs, and I prefer to have a separate file for both, the key and the certs.
Signed-certs documentation needs to be adapted for the new changes, other certs conf should not be impacted by the change.
I have added postfix-ldap and dovecot-ldap to the packet
I have updated the dovecot.conf for working with my ldap, however, this cannot be kept for simple authentication, please use two separate dovecot.conf file and choose the proper one on initialization by adding some more code to start-mailserver.sh.
I also added some examples on how to add accounts and aliases to openldap.
Most important TODO: do regression test and clean the DOC.
If you need help to start the server with your ldap, I can help here.
Regards and sorry for being in hurry, I was OK to share with the help of @tomav, but vacation period and work decided differently.

#335 and #352 will replace this one.


How to limit the scope, where metabase can query a table

I already limiting the permission from metabase side but the generated sql still refer to table that I'm not interested in
Is there a settings where i can limit the llm?

Currently we don't have a setting to limit the tables referred to. Perhaps prompting should work? i.e: specify as a prompt which tables you don't want the model to use?


Update suser-sname-transact-sql.md

Added remark for Azure SQL Database that the function does not support the server_user_id argument.

Learn Build status updates of commit f3ab6a3:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/functions/suser-sname-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@MikeRayMSFT
Can you review the proposed changes? IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.
#label:"aq-pr-triaged"
@MicrosoftDocs/public-repo-pr-review-team

Learn Build status updates of commit 587dcd5:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/functions/suser-sname-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

Learn Build status updates of commit 3961c06:
:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs/t-sql/functions/suser-sname-transact-sql.md
:white_check_mark:Succeeded

For more details, please refer to the build report.
Note: Broken links written as relative paths are included in the above build report. For broken links written as absolute paths or external URLs, see the broken link report.
For any questions, please:Try searching the learn.microsoft.com contributor guidesPost your question in the Learn support channel

@MikeRayMSFT, is this OK to merge now? Thanks.

@MikeRayMSFT, is this OK to merge now?
IMPORTANT: When the changes are ready for publication, add a #sign-off comment to signal that the PR is ready for the review team to merge.

@jborsecnik @MikeRayMSFT @guzmanda Replacing this with an internal PR to refresh the entire article. This PR will auto-close when the internal one is merged.


Upgrade to .NET 5

Upgraded projects from .NET 3.1 to .NET 5.0.
Upgraded WebApp project from TypeScript 3.8 to TypeScript 5.0.
Upgraded NuGet packages to the latest versions:

Microsoft.SourceLink.GitHub 1.0.0-beta2-19367-01 > 1.0.0
System.Drawing.Common 4.7.0 > 5.0.0
Microsoft.VisualStudio.Web.CodeGeneration.Design 3.0.0 > 5.0.0

This addresses issue #491

I don't see any testing guidelines on the repo.  I was able to run the web app to test the changes and fire off demo code.

Will this change mean that our existing .NET Core 3.1 projects will no longer be able to update versions of Electron .NET?

If you were to use the .NET 5 version I think you would need to update your project to .Net 5 as well.  From Core 3.1 that should be possible but of course not everyone will want to do that.

Yeah I am not sure we'll want to do that. .NET Core 3.1 and then .NET 6 are the long term support versions from Microsoft. I would still like to be able to get fixes and new features from Electron .NET without having to upgrade to .NET 5.
Unless you guys are planning on adding some .NET 5 specific features, is there really any reason to drop .NET Core 3.1 support. Could you not still build and ship both in a NuGet package?

That's probably a better question for Gregor to answer.  He is planning out the next milestone release now.

Fantastic - I could really use this version - when is it going to hit nuget?

I think the new version will only be compatible with .NET 5. However, the 9.31.x version can still be used. I think otherwise we will get mixed up on two tracks.

Is there any ETA on when this will be available on github?

Is there any ETA on when this will be available on github?

@arne309 I still have three weeks vacation. Definitely will publish it in the next few weeks.

@arne309 I still have three weeks vacation. Definitely will publish it in the next few weeks.

It looks like this feature is merged - is there any bug holding from doing a beta release in nuget?

It looks like this feature is merged - is there any bug holding from doing a beta release in nuget?


Add macOS dynamic framework example

Adds an example of using macos_dynamic_framework within a maocs_application target.

Blocked by: https://github.com/MobileNativeFoundation/rules_xcodeproj/issues/2722

Can you rebase? Then we should merge this.

Tested and the project builds now with #2724


Add Getting Started section to README

README Update
please add a getting started section to the README so folks know how to start with this project.

Adding Getting Started section in README file.


Group Bolt version bumps with Maven into a single @dependabot grouping

Type of change

[ ] New sample
[x] New feature
[ ] Bug fix
[ ] Documentation
[x] Dependencies

Summary
This PR attempts to group Bolt version bumps with Maven into a single @dependabot grouping by using the com.slack.api:bolt* pattern. Matching patterns with a pom.xml can be a bit tricky...
Requirements

[x] I’ve checked my submission against the Samples Checklist to ensure it complies with all standards
[x] I have ensured the changes I am contributing align with existing patterns and have tested and linted my code
[x] I've read and agree to the Code of Conduct

@seratch I'm more hopeful for this one, just going off of the PR titles from @dependabot! Initially I thought the comparison was made against the labels in pom.xml but it doesn't seem so...


Add overview of .NET Editions

The document lists out different .NET Editions that
are planned and their operating system support.
/cc @richlander

Excellent feedback, will incorporate! :)

Thanks for all the updates. Coming along nicely.

LGTM modulo feedback

Guys, is this PR OK to be merged?

LGTM

LGTM!
Rebase and merge.

Done and done.


avoid reserve and unreserve trigger unexpected Endowed event

close #641

we need to have some tests

Codecov Report

Merging #645 (4c69cc7) into master (728d503) will not change coverage.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##           master     #645   +/-   ##
=======================================
  Coverage   75.83%   75.83%
=======================================
  Files          78       78
  Lines        6493     6493
=======================================
  Hits         4924     4924
  Misses       1569     1569

Impacted Files
Coverage Δ

tokens/src/lib.rs
86.14% <100.00%> (ø)

Continue to review full report at Codecov.

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