text:
Engraving algorithms - Voronois and medials

One way to approach engraving with a v-bit is to generate voronoi diagrams and medials to determine the path one should take in order to engrave a shape.
One option: https://trimsh.org/trimesh.path.polygons.html#trimesh.path.polygons.medial_axis
FreeCAD uses a custom version of OpenVoronoi AFAIK. The original OpenVoronoi is a no go as it is windows only AFAIK. Backporting FreeCADs implementation would probably be too much work.
Read more @ http://www.anderswallin.net/category/cnc/cam/openvoronoi/

Definitely pretty tricky stuff, but voronoi can be used to find the largest circle that fits inside a polygon. That is definitely useful information for helical plunging.

repo: voneiden/cq-cam


text:
Enable data Presistence for Firebase emulator

Hi @voraciousdev, I'm currently looking to have persistent data to avoid creating new users or data all the time for testing. I saw there's already an option in firebase, do you think would make sense to have it here too?
https://github.com/firebase/firebase-tools/issues/2269

@jdinartejesus that looks like a great feature to add. I'll add it to the list. 👍

@jdinartejesus I think a good approach will be to allow a custom startup script when running the container. I'll see if I can get this updated tonight or tomorrow!

@jdinartejesus I have started on it, but I've been away for work the last few days. I'll be home tomorrow, and I hope to get it finished up once I'm back!

Hey @jdinartejesus. I was finally able to get this working locally, so I just released a new version. You might have to create an initial export manually (see below), but then it should automatically import/export going forward.
docker exec -it firebase --project $PROJECT_ID --non-interactive emulators:export -f ./data

Sorry, only saw it now! That's so awesome, thanks so much for working on it @voraciousdev 🎉

@jdinartejesus no problem! Let me know if you run into any issues!

Hi @voracious sorry for the late reply but everything worked, I just had to do some changes in your exporting command:
docker exec -it $CONTAINER firebase --project $PROJECT_ID  --non-interactive emulators:export -f ./data

Hey @jdinartejesus! I'm glad it worked out, and thanks for following up!

source: gharchive/issue

authors: jdinartejesus voracious voraciousdev

repo: voraciousdev/docker-firebase-tools

license: MIT

license_type: permissive

license_source: github-api


text:
Attempting to call stored procedure with parameters in DynamicDataContext

I am trying to invoke a stored with parameters using context generated from connection string.
ActionImport got mapped into EDMX.

....

However none of odata routing conventions pick up a call:

.../api/dbo.usp_patch_something(id=1) //The request URI is not valid. The segment 'dbo.usp_patch_something' cannot include key predicates, however it may end with empty parenthesis.
.../api/dbo.usp_patch_something(1) //The request URI is not valid. The segment 'dbo.usp_patch_something' cannot include key predicates, however it may end with empty parenthesis.
.../api/dbo.usp_patch_something()?id=1 //Procedure or function 'usp_patch_something' expects parameter '@id', which was not supplied.

I see that odata uri parser is not even picking up a list of parameters in (3) case. Could you suggest a workaround or solution?

http://localhost:5000/api/dbo.GetOrders(name='Order 1',id=1,status=null)

I am using OdateToEntity.Test.Asp solution and routing through OdateToEntity.Test.AspServer.
SP is:
CREATE PROCEDURE usp_patch_something @id INT
AS
--Some inserts
SELECT * FROM messages --Tried this as well - sample table to return latest changed row + added information schema mapping to map to this dbo.messages return type.
GO;
Full edmx from $metadata:
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">

Need use DynamicDataContext.AspServer and add in InformationSchemaMapping.json you SP.

Thank you - all works in that solution.

authors: aprishchepov voronov-maxim

repo: voronov-maxim/OdataToEntity

license: mit

license_source: bigquery


text:
Nats, Kafka and Rabbitmq Consumer apps added

Description
Adds to following apps:

kafka-consume
rabbitmq-consume
nats-consume
nats

Purpose

[X] New feature

How was this tested? (if applicable)
Ran and tested on local direktiv & nats / kafka / rabbitmq servers
Test Platform Details (if applicable)
Operating system: Ubuntu 20.04

@jalfvort Approved (you'd know kafka/rabbitmq/nats better than me) but it seems as though some checks failed.

Build checks should resolve themselves when merged, so I merged.

source: gharchive/pull-request

authors: jalfvort jamesjmurtagh

repo: vorteil/direktiv-apps


text:
The filename could foreseeable have a conflict

Added a new filename generate function so there is a standard filename generation method that can easily be modified and update the generation for all of the functions.
Changed the filename generation to have a greater chance of avoiding a conflict.

I'm gonna leave it for now. Since we're not using separate folders to store images, using time() in their name is the least we can do to have an idea about which is new and which is old. If you could make a PR that stores them in folders (year, month, day) that would be great and then we could also generate long unique names. Thanks

authors: dalehurley sullyfischer

repo: voten-co/voten


text:
Calling injected with a token instead of constructor

Currently when defining arguments using injected, one has to pass in the constructor as a first argument. This kinda removes a lot of the flexibility a DI container can give you. Let's say we want to do the following:
const TOKENS = {
  readCredentials: token<string>("readCredentials"),
  writeCredentials: token<string>("writeCredentials"),
  readConnection: token<DatabaseConnection>("readConnection"),
  writeConnection: token<DatabaseConnection>("writeConnection"),
  listTodosUseCase: token<ListTodosUseCase>("listTodosUseCase"),
  saveTodoUseCase: token<SaveTodoUseCase>("saveTodoUseCase"),
};

class DatabaseConnection {
  constructor(private credentials: string) {}
}

class ListTodosUseCase {
  constructor(private connection: DatabaseConnection) {}
}

class SaveTodoUseCase {
  constructor(private connection: DatabaseConnection) {}
}

container.bind(TOKENS.readCredentials).toConstant(config.db.credentials.read);
container.bind(TOKENS.writeCredentials).toConstant(config.db.credentials.write);
container.bind(TOKENS.readConnection).toInstance(DatabaseConnection);
container.bind(TOKENS.writeConnection).toInstance(DatabaseConnection);

/**
 * Perfect so far, we can give the different use cases the appropriate connections.
 */
injected(ListTodosUseCase, TOKENS.readConnection);
injected(SaveTodoUseCase, TOKENS.writeConnection);

/**
 * Here we run into an issue, we can't inject different connection strings into the same constructor.
 */
injected(DatabaseConnection, TOKENS.readCredentials);
injected(DatabaseConnection, TOKENS.writeCredentials);

You could say well, just create a read and write connection class and let them implement the same interface. But this defeats the purpose. The implementation of these classes will be the same, resulting in code duplication.
A great thing about some DI containers is that they give you flexibility to have the same class with different arguments injected, registered under different keys. (that's why the injected function should probably also not be in the same file as the class definition, this removes that flexibility).
I first thought conditional bindings with tags would solve this, but they are also bound directly to the constructor. That just moves the issue one level up.
My proposed solution is as follows, let's define the injected arguments per token instead of per constructor:
injected(TOKENS.listTodosUseCase, TOKENS.readConnection);
injected(TOKENS.saveTodoUseCase, TOKENS.writeConnection);

injected(TOKENS.readConnection, TOKENS.readCredentials);
injected(TOKENS.writeConnection, TOKENS.writeCredentials);

I can imagine, having the injected function as a separate function is then not even necessary anymore. We could do something like:
container.bind(TOKENS.readCredentials).toConstant(config.db.credentials.read);
container.bind(TOKENS.writeCredentials).toConstant(config.db.credentials.write);

container
  .bind(TOKENS.readConnection)
  .toInstance(DatabaseConnection);
  .withArguments(TOKENS.readCredentials);

container
  .bind(TOKENS.writeConnection)
  .toInstance(DatabaseConnection)
  .withArguments(TOKENS.writeCredentials);

I think this would greatly improve the flexibility of this library. Let me know what you think!

Hello!
Thanks for the suggestion, this is a very interesting thing. I have understood the problem and will think about how to solve it.
You say "A great thing about some DI containers is that they give you flexibility to…", it would be interesting to look at the implementation in other libraries, possibly in other languages.

Hello!
Thanks for the suggestion, this is a very interesting thing. I have understood the problem and will think about how to solve it.
You said "A great thing about some DI containers is that they give you flexibility to…", it would be interesting to look at the implementation in other libraries, possibly in other languages.

You could look at PHPLeague's Container library and also Symfony's container allows this behaviour. I happen to also have my own DI container that has this: https://ngerritsen.gitlab.io/containor.
PS. I made a PR to awesome-nodejs to add our DI libraries https://github.com/sindresorhus/awesome-nodejs/pull/1164

authors: ngerritsen vovaspace

repo: vovaspace/brandi

license: ISC


text:
App patches

Issues

Resolves #947
Resolves #990
Resolves #981

Description
Adds support for patches in the App.

Renames sample to patch where relevant.
Adds patches actions for both regular patches views and evaluation patches views

Discussion points:

Will frame labels be supported? (requires my player51 updates, likely)
Add helpful information about patches, e.g. creating evaluation keys for patches if none exist

Object patches example
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")

session = fo.launch_app(dataset)

# In App... select patches icon -> Labels -> "ground_truth" in the App

print(session.view)

Evaluation patches example
import fiftyone as fo
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")
dataset.evaluate_detections("predictions", eval_key="eval")

session = fo.launch_app(dataset)

# In App... select patches icon -> Evaluations -> "eval"

print(session.view)

Image similarity example
import fiftyone as fo
import fiftyone.brain as fob
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart")

fob.compute_similarity(dataset, brain_key="image_similarity")

session = fo.launch_app(dataset)

# In App... select some images -> similarity icon -> "image_similarity" -> apply

print(session.view)

Objects similarity example
import fiftyone as fo
import fiftyone.zoo as foz
import fiftyone.brain as fob

dataset = foz.load_zoo_dataset("quickstart")

fob.compute_similarity(dataset, patches_field="ground_truth", brain_key="gt_similarity")

session = fo.launch_app(dataset)

# In App... switch to ground truth patches mode, then select some patches -> similarity icon -> "gt_similarity" -> apply

print(session.view)

Still finalizing some string filter functionality and working through edges cases, but this is ready for eyes/comments.

Ready for review. Working through a couple expanded view style fixes, but functionality is done.
@brimoor Would you like me to keep the base as patches-view? Looking at #974 now.

Supporting long strings like filepath was proving to be (overly) difficult. I don't think there is a reasonable solution in front of us, but happy to take it offline.
Currently, filepath, etc. remain left-aligned with ellipsis.

What if you summarized long list entries like eta.core.utils.summarize_long_str(string, n, mode="middle") does?
https://github.com/voxel51/eta/blob/eddd44981a0e8f2bdd213cb5e86f955d46f76456/eta/core/utils.py#L120-L150.
For example, /home/ben/fiftyone/lots/of/crazy/folders/and/stuff/here/data/0001.jpg might become /home/ben/qui...data/001.jpg.
The benefit of this approach is that it works regardless of whether its is the beginning or the end of the string that uniquely defines it.
Alternatively, if you only want to change behavior for filepaths in particular (since they are unique among most common types of strings that one is likely to load in that it is their end not beginning that uniquely defines them) you could try summarize_long_str(string, n, mode="first").
In either case, the tooltip would show the full path. You'd have to adopt the same convention for the selected entries that appear below the filter in order for the user to make sense of what they've done.

Yes I can add. I'll just note that our font is not monospaced.

Everything works amazingly well!
Here's a few reactions after using the UI for awhile:
Filter widgets

How about centering the Reset button text for the filters? I see that things are left-aligned nicely, which I appreciate, but I kind of like Reset being centered because it visually separates from the other content, which makes sense because they have different semantic meanings ("reset" is not a label, its an action). If you feel strongly about how it is now, I defer to you
I like how the select/hide toggle for boolean fields. What about also omitting it for string fields with < n unique values? In the screenshot below, it feels a bit weird that the toggle is visible in one case but not the other. I'm not sure what value of n you chose for the transition, but if n=10, say, then perhaps you're worried that it might be laborious to select 9/10 checkboxes to achieve the same thing as selecting one and then selecting exclude? If that's the case, I might recommend adding the select/exclude toggle to the boolean fields as well, for consistency

Patches icon

What if the patches icon were orange whenever > 0 label fields are visible (or even if the schema has > 0 label fields), similar to how the other icons light up when they are clickable? Yes, this would mean that the patches icon is almost always orange when working with detections, but it's an awesome feature right!?

Tooltips

Proposed edit to the evaluation patches tooltip: Switch to evaluation patches view for the "ground_truth" field
Proposed edit to the patches tooltip: Switch to patches view for the "ground_truth" field
Proposed edit to tooltip of the apply button on sort by similarity: Sort by similarity to the selected [images/objects/patches] (bracketed term depends on brain key and view type

This is probably a taste thing, but just trying to make them a bit easier to parse
Patches/similarity menus

What about always including the link to the documentation at the bottom of the lists, even if there are >= 1 entries? Then the user always has a link into the documentation to recall what the feature does and how to use it? Under the proposed change, there would not text that has No label fields [arrow], there would just be a persistent entry at the top or bottom that says About patch views, About evaluation views, and About similarity search. In the case of sort by similarity with >= 1 entries, a whole modal populates, so perhaps instead of keeping an entry like this, you could add a ? icon to the right of the Sort by similarity heading

Expanded modal

Render null values as - rather than undefined (latter is JS specific)

String tags

What about using the new middle-summarization technique when abbreviating long tags in the grid as well?

Okay one small thing: what about auto-selecting the first radio button in the similarity modal by default? Then the user can directly click apply without clicking anything else.
Technically they can already click apply since the backend ViewStage will attempt to chose a reasonable default, but since the App already has the logic to render the possible values, might be a bit cleaner to show an option as selected so that the user knows what will be happening if they click apply.

Okay one small thing: what about auto-selecting the first radio button in the similarity modal by default? Then the user can directly click apply without clicking anything else.
Technically they can already click apply since the backend ViewStage will attempt to chose a reasonable default, but since the App already has the logic to render the possible values, might be a bit cleaner to show an option as selected so that the user knows what will be happening if they click apply.

Actually I think there might be a small bug in the logic related to this. I ran compute_similarity() for both images and ground truth objects in my dataset, then switched to ground truth patches view, then ran sort by similarity without choosing a radio button, and I got an error explaining that my image similarity run couldn't be used for my current view. I thought this was because I messed up the default brain key logic on the backend, but I think its actually correct; it was the App that chose the wrong type of similarity result. The weird thing is that the radio button showed (only) my object similarity key, so it seems that some but not all parts of the App know what to pick by default.

With respect sort by similarity issues, I'm seeing an error from this...
import fiftyone.brain as fob
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart").limit(10).clone()
fob.compute_similarity(dataset, patches_field="ground_truth", brain_key="gt")

patches = dataset.to_patches("ground_truth")

# AttributeError: 'PatchesView' object has no attribute '_get_ids_map'
patches.sort_by_similarity(patches.first().id, brain_key="gt")

With respect sort by similarity issues, I'm seeing an error from this...
import fiftyone.brain as fob
import fiftyone.zoo as foz

dataset = foz.load_zoo_dataset("quickstart").limit(10).clone()
fob.compute_similarity(dataset, patches_field="ground_truth", brain_key="gt")

patches = dataset.to_patches("ground_truth")

# AttributeError: 'PatchesView' object has no attribute '_get_ids_map'
patches.sort_by_similarity(patches.first().id, brain_key="gt")

Ah my bad, I deleted it in https://github.com/voxel51/fiftyone/pull/974/commits/703c4563758691dfcefcaa4c9d96a4a2d0c3e6cc because it wasn't used anywhere, but I forgot that the brain might be using it. It's added back now https://github.com/voxel51/fiftyone/pull/974/commits/07945f8b7f3d2344bc8c06ee41c1585826e1f064.
FYI- I am currently writing unit tests for this functionality so this sort of stuff won't happen!

Thanks! I've addressed everything I believe. Merging now, and can make any tweaks on patches-view.
I did not middle ellipsis filepath, etc. in the sample grid because hard coding a length would mean arbitrarily cutting of the value no matter the width of the image.

authors: benjaminpkane brimoor


text:
docs home page crashing

tried to debug, i think character is not exported from the core package, which is used in character-view.tsx in docs folder
but was not able to figure out why webpack was not able to compile it,
will resolve this when i get free time

thanks! this has been an issue forever, just don't have time to fix it hahaha

repo: voxelize/voxelize


text:
Sshd_config[PubkeyAcceptedKeyTypes]: Could not evaluate: Failed to save Augeas tree to file.

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: 7.x
Ruby: bundled
Distribution: Debian
Module version: 6.0.0

How to reproduce (e.g Puppet code you use)
Save this as sshd.pp:
sshd_config {
      'PubkeyAcceptedKeyTypes':
        ensure => present,
        #value  => [ '+ssh-dss' ];
        value  => '+ssh-dss';
}

Run using default sshd_config file:
cp /usr/share/openssh/sshd_config /etc/ssh/sshd_config
puppet apply sshd.pp

What are you seeing
Error: /Stage[main]/Main/Sshd_config[PubkeyAcceptedKeyTypes]: Could not evaluate: Failed to save Augeas tree to file. See debug logs for details.

Debug output shows:
Debug: Puppet::Type::Sshd_config::ProviderAugeas: Save failure details:
/augeas/files/etc/ssh/sshd_config/error/path = /files/etc/ssh/sshd_config/
/augeas/files/etc/ssh/sshd_config/error/lens = /opt/puppetlabs/puppet/share/augeas/lenses/dist/sshd.aug:154.12-.47:
/augeas/files/etc/ssh/sshd_config/error/message = Failed to match tree under /

     { "#comment" = "$OpenBSD: sshd_config,v 1.103 2018/04/09 20:41:22 tj Exp $" }
etc
  with pattern
etc.

Error: /Stage[main]/Main/Sshd_config[PubkeyAcceptedKeyTypes]: Could not evaluate: Failed to save Augeas tree to file. See debug logs for details.

What behaviour did you expect instead
I was hoping it would add the option to /etc/ssh/sshd_config
Output log
Any additional information you'd like to impart

Hi,
I think I fixed this in #65, which is not yet released. Could you confirm that the current HEAD works for you? I expect you will need to swap to the commented line for value in your code:
sshd_config {
      'PubkeyAcceptedKeyTypes':
        ensure => present,
        value  => [ '+ssh-dss' ];
        #value  => '+ssh-dss';
}

Hey, wanted to make sure you saw they released 7.0.0 which should fix this for you

Hi @tedgarb, nope I totally missed it. I've given it a quick go and it seems to be fixed indeed.  Thank you very much for the reminder.👍


text:
Add crowd single sign-on functionality

Add crowd's single sign on feature to jira. When using delegated authentication via Atlassian Crowd, you are able to activate this feature according to Atlassian's documentation at https://confluence.atlassian.com/display/CROWD/Integrating+Crowd+with+Atlassian+JIRA#IntegratingCrowdwithAtlassianJIRA-2.2ConfigureJIRAtouseCrowd'sAuthenticatortoenableSSO(Optional)

thanks for the contribution @patricktoelle, could you have a look at the two failed travis runs?

Hi, just saw them, I'll investigate. Did not get them locallly...

Now all checks are fine. Did not make use of rspec-puppet-facts, but now they are included.

authors: bastelfreak patricktoelle

repo: voxpupuli/puppet-jira


text:
start declaring the 'global' chain with module resources

the 'global' chain is a vestigial piece of early development on this
module, but it can be useful for creating fast short-circuits like
blocking traffic that match a certain set of IPs.
in the current state we can't inject rules inside the 'global' chain
since it's unknown to puppet. so let's remove the hard-coded definition
and use a puppet resource to declare it.

Sound good. Could perhaps some extra test coverage be added to spec/classes/inet_filter_spec.rb at the same time to make sure that the chain is created and cover regressions?

yeah, let's add a spec and merge.

@nbarrientos ah yes good point, I forgot to add tests. I've just sent the added tests, let's see how CI likes them (at least locally they were failing on the master branch and successful on top of this branch)

thank you!

authors: duritong lelutin nbarrientos

repo: voxpupuli/puppet-nftables


text:
PrivateKey directory is filling up

I'm using this module with puppet 3.8 and 4.6 to install certs on 2012r2 from .pfx and .cer files. Every time Inspect.ps1 is run the .pfx certificate is loaded and seems to leave a private key artifact on disk. I just looked at a machine running this module for a single cert for a year - 21,000+ files in there!
Would it be reasonable to assume if the cert matching the thumbprint is installed that the intermediate certs are there too? This would make it possible to just look up by thumbprint without loading into memory (and on disk for privateKeys)

Just coming across this issue as well, and it poses a relatively significant problem for me.  I see that this issue has had no traction, in the meantime have you found any means of addressing the issue?

Submitted PR#70 to resolve this issue

authors: cmezzett ouberlord slmcfarland81

repo: voxpupuli/puppet-sslcertificate


text:
Error with webpage

I have successfully installed the annotate package however when I run annotate in my project site, the local host 8088 showed No webpage was found for the web address. Furthermore, I cant use git clone git@github.com:vpj/annotate.git since it returned fatal: permission denied. I have to work around by git clone https://github.com/vpj/annotate and other submodules, I'm not sure this is the cause of error.

I didn't see the website either after installation.

I have successfully installed the annotate package however when I run annotate in my project site, the local host 8088 showed No webpage was found for the web address. Furthermore, I cant use git clone git@github.com:vpj/annotate.git since it returned fatal: permission denied. I have to work around by git clone https://github.com/vpj/annotate and other submodules, I'm not sure this is the cause of error.

I encounter the same situation. You can avoid the permission denied error by adding ssh keys to your account, but I still get a 404 error with the localhost 8088.

I try to fix this issue by changing file:lib/weya/router.ts line 187: checkUrlInterval from Timeout to number. After changing the type, you can run install.sh again, and then you can see the webpage.

authors: huyphan168 quantumiracle weownthenight

repo: vpj/annotate


text:
chore(gui)(ja): update locale

日本語向けに追加し忘れていた翻訳キーと内容を追加します。

#856 の実験に使えそうですし、マージタイミングは良い感じに調整してください

repo: vrc-get/vrc-get


text:
[Frontend] Cosmetic improvements

### Tasks
- [x] Make record listing responsive (i.e. remove the horizontal scrolling)
- [x] Format records to contain title, authors, description and files presented clearly, possibly reproducing what happens in the Zenodo webpage.
- [x] Switch order of Search <-> Login buttons
- [ ] Shrink columns width of Resource Type and Date Published -> Either make "Reseource Type" and "Date publish" become two lines, either just show "Resource" and "Date"

@mrzengel can this issue be closed ?

Yes

Right, thanks @mrzengel

authors: Soap2G garciagenrique mrzengel

repo: vre-hub/zenodo-jupyterlab-extension


text:
Fix major Windows compatibility problems

There are some large windows compatibility problems, and 3.0.4 windows is also shipped with the wrong crypto/ssl libs.
After these are fixed, I will release a 3.0.5, but for now, don't Windows users will have to wait, since it will require a bit of refactoring.

Working on windows 64bit under QEMU

repo: vrienstudios/anime-dl


text:
Can't fetch package using the Official package manager

zig-sqlite commit
master
Zig version
0.11.0
Steps to reproduce
I'm getting the following error whenever trying to use the build.zig.zon dependency:
error: Expected response status '200 OK' got '404 Not Found'
     .url = "https://github.com/vrischmann/zig-sqlite/archive/COMMIT.tar.gz",

This is what my dependencies look like:
    .dependencies = .{
	.sqlite = .{
		.url = "https://github.com/vrischmann/zig-sqlite/archive/COMMIT.tar.gz",
	},
    },

My build.zig looks like this:
const sqlite = b.dependency("sqlite", .{
    .target = target,
    .optimize = mode,
});

exe.addModule("sqlite", sqlite.module("sqlite"));

// Sqlite
exe.linkLibC();
exe.linkSystemLibrary("sqlite3");
exe.addPackage(.{ .name = "sqlite", .path = "third_party/zig-sqlite/sqlite.zig" });

Expected behaviour
It to fetch correctly.

It's not documented properly but you need to replace the COMMIT part with an actual commit from zig-sqlite, like f101ae075124f77a44444d368c869a5b3d3d4a6f: https://github.com/vrischmann/zig-sqlite/archive/f101ae075124f77a44444d368c869a5b3d3d4a6f.tar.gz
When you want to update the version of zig-sqlite you'll have to change the commit in the URL.

I see, makes sense, I think you also need to add the .hash as well.

There's something else that I'm not sure if I should make a new issue for:
exe.addPackage(.{ .name = "sqlite", .path = "third_party/zig-sqlite/sqlite.zig" });
This syntax is deprecated now and doesn't compile.

I updated the readme, I'll close this issue now.

authors: Doomwhite vrischmann

repo: vrischmann/zig-sqlite


text:
Changed button colors with different states

Previously bootstrap default colors caused the follow button and probably some other buttons as well to have weird colors with certain states like :hover and :active. The colors were some shades of green or yellow and stayed there for a short time. I don't think this kind of behaviour would be wanted anywhere on the application so I didn't limit the fix for only the follow button.

Button is now darkened if active and hovered.

repo: vrk-kpa/opendata


text:
Use ci cli command in semgrep

Semgrep recommends using CI command instead of scan on CI environments.

seems to have new findings https://github.com/vrk-kpa/restricteddata/security/code-scanning?page=1&query=is%3Aopen+pr%3A339.

repo: vrk-kpa/restricteddata


text:
refactor: merge two escape keybindings into one

Previously:

Merged two escape keybindings into one, improved escape's when condition.

This was intentional, from #680 (fixes #677).
What the two bindings do is

insert mode will always send escape to vim, regardless of popups. This way you can always be sure you exit insert mode.
normal mode will only send escape to vim if there are no popups. This way the escape gets sent to vscode which closes the popups.

repo: vscode-neovim/vscode-neovim


text:
Added “twitter-kit-ios” library

Project URL

https://github.com/twitter/twitter-kit-ios
Category

Tools
Description

Twitter Kit is a native SDK to include Twitter content inside mobile apps.
Why it should be included to awesome-ios (optional)
Checklist

[X] Only one project/change is in this pull request
[X] Addition in chronological order (bottom of category)
[ ] Supports iOS 9 / tvOS 10 or later
[ ] Supports Swift 4 or later
[X] Has a commit from less than 2 years ago
[X] Has a clear README in English

          2 Warnings

:warning:
Too many changes (when adding, please keep it to one project per Pull Request)

:warning:
Found 2 link issues, a project collaborator will take care of these, thanks :)

Link issues by awesome_bot

Line
Status
Link

736
301
https://github.com/knly/Evergreen redirects tohttps://github.com/nilsleiffischer/Evergreen

2879
404
https://www.manning.com/books/ios-development-with-swift

  Generated by :no_entry_sign: Danger

It must be under SDK -> Official. What do you think @dkhamsing, @lfarah and @vsouza ?

Yup, you're correct @arasu01

Updated the request as @arasu01 mentioned

Thanks for the quick changes @Yogesh-MV.

Good job guys! 👍

authors: Yogesh-MV arasu01 danger-awesome-ios lfarah

repo: vsouza/awesome-ios


text:
chore: Adds fallback to some modules

What's the purpose of this pull request?

How it works?

How to test it?

Starters Deploy Preview

References

can we close it? @hellofanny

authors: eduardoformiga hellofanny

repo: vtex/faststore


text:
autoprefixer for external CSS

Fix feature request #85
Here is a summary :

Removed autoprefixer from vue
Added postCSS loader
Added postcss autoprefixer
Added a new configuration setting to define browser support
Added postcss mqpacker to merge media query

@Grafikart Thanks a lot! 🍺

This seems to work. @yyx990803 Does this look like it'll play well with vue-loader?

vue-loader still uses postcss internally (when using scoped styles), so I think this would cause postcss to be run twice on Vue component CSS in some cases.
What I think would be more ideal:

Only chain postcss-loader for non-Vue CSS (probably by adding an option to the cssLoaders function)
Disable autoprefixer in Vue config, and let both vue-loader and postcss-loader share the same Array of postcss plugins.

Ok I see what you mean, I'll try to implement your idea

Hi guys,
I think that this is good stuff, but I am concern with adding mqpacker to the build process for the following reason:
https://github.com/hail2u/node-css-mqpacker/issues/16

I got your concern @hekigan, this plugin can be removed if needed after the template is installed so I don't think it's a big deal (but if it's blocking I can remove it)

@hekigan I removed mqpacker since it was only merging mediaquery from the same file (so it was quite useless to add it :( )

@yyx990803 I just did the changes you requested

@Grafikart thanks!
@chrisvfritz would appreciate you taking a look at this

This looks really great. I just submitted a PR to your PR 😜 with a slight refactor. I changed the strategy used a little bit, so am happy to hear your thoughts on that. Afterwards, it should be good to merge. 😄

I'm now wondering if all this work worth it. I mean webpack is not designed for CSS and I think we could achieve the same result doing postcss transform when webpack extract text plugin finish.
We build => webpack generate assets => postcss is used on compiled CSS (remove duplicates, autoprefix, mergemediaqueries...)
This design could make things simpler.

authors: Grafikart chrisvfritz hekigan shentao yyx990803

repo: vuejs-templates/webpack


text:
"Missing required prop" warning after mounting component with union as props

Vue version
3.3
Link to minimal reproduction
https://play.vuejs.org/#__DEV__eNqFUs1O9DAMfBV/uSxIfFvB3kpZCRAScAAESFxyKa1bAmkSJemyUsi746TaZQ/8nFrP2PHY48BOjZmvRmQlq1xjhfHg0I8GZK36E86842zJlRiMth4CWOwgQmf1ADMqm22pcz2YCedsXqQoPcvZMVdcNVo5D4Pr4SS9sDe7RCk1PGkr23+zfa6qYmpOrSjwOBhZe6QIoHo5XIaQi2OsCooyKpQZPaz+D7pFSUKJz0qJmqRoTWjt2o6zYgcvn2tLxOHRYsKrYtuNHdC4JLUT/fzVaUU7CamQs4YqhUR7a7ygUTgrITOJq2mS9+uMeTviwQZvXrB5+wZ/deuEcXZn0aFd0Y62nK9tj36iLx5ucE3/W5ImHSVl/0Leo9NyTBqntLNRtSR7Jy+rvcqWCdU/uou1R+U2QyWhKTPmfM7IwbS0n0b/kruYL3IdV5G2uHH/j6OarsJYbRzdRYudUHiXoiqQeyU4b0ljhA8IZFoJahye0cbl3j4d1Y8XU7ViRZ+NBgghd4ikrSombtfz+Amh+wLo
Steps to reproduce
Open console; observe warning.
What is expected?
No warning.
alternatively, one of:

a proper error which says you can't make the props a union
a way to suppress this warning for a specific component (eg an attribute on <script>)

What is actually happening?

System Info
System:
    OS: Linux 6.5 Manjaro Linux
    CPU: (12) x64 AMD Ryzen 5 3600 6-Core Processor
    Memory: 19.29 GB / 31.23 GB
    Container: Yes
    Shell: 3.6.1 - /usr/bin/fish
  Binaries:
    Node: 20.5.1 - /usr/bin/node
    Yarn: 1.22.19 - /usr/bin/yarn
    npm: 9.8.1 - /usr/bin/npm
  npmPackages:
    vue: ^3.3.4 => 3.3.4

Any additional comments?
No response

Both cross type and union type compiled props are required.
props: {
    foo: { type: String, required: true },
    bar: { type: Number, required: true }
  },

But you can make them optional
<script setup lang="ts">
const props = defineProps<{foo?: string} | {bar?: number}>();
</script>

if it's categorically illegal then it should be a proper error which refuses to type-check

putting a union in defineProps should, like, be either allowed or not allowed. not this limbo state.

cc/ @sxzz

similar to https://github.com/vuejs/core/issues/8952
maybe we should generate a runtime validator for prop.

https://github.com/vuejs/rfcs/discussions/547

@edison1105 Should vue core handle this? vue-macros is suitable for this work IMO.

This can be listed as an improvement of vue/core at the compiler level

Hey, I think this would make the template attributes behave as expected. Can someone more qualified take a look at this?
File: vuejs/core/packages/runtime-core/src/componentPublicInstance.ts
type UnionOmit<T, K extends keyof any> = T extends T ? Omit<T, K> : never

...
/* line 211 */ ? Partial<Defaults> & UnionOmit<P & PublicProps, keyof Defaults>
...

I took the idea for T extends T from here

authors: SIGSTACKFAULT baiwusanyu-c edison1105 jacekkarczmarczyk jonoreilly so1ve

repo: vuejs/core


text:
fix(types): add missing property loading for iframe

MDN

Firefox 😵💫

Duplicate of #8607

authors: Jungzl Shyam-Chen sxzz


text:
fix(runtime-core): avoid using teleported node as anchor

close #9071

/ecosystem-ci run

@edison1105 如果有多处teleport插入的节点都被规避掉，可能会导致插入位置不符合预期，渲染错位吧

@edison1105 如果有多处teleport插入的节点都被规避掉，可能会导致插入位置不符合预期，渲染错位吧

比如说🤔

/ecosystem-ci run

playground
这种场景下，按照代码逻辑会插入到teleported1下面吧，但实际应该在上面

@cicada-ah

点击这里可以看到这个 PR 的 playground.
https://deploy-preview-9313--vue-sfc-playground.netlify.app/#eNp9ks1OwzAQhF/FmAMglUYITlVa8aMe4AAIevQlJJvUrWNb9iatVOXdWSdNKFXVi2XvfDser7zjT9aO6wr4hMc+ddIi84CVnQktS2scsh1zkLOG5c6U7IrQK6GFTo32hC7Nhk0DcJ0nysON0HHU2ZABHRBKqxIEOjEW/1SIRrPHVMl0PRU8tE8vwir4DE1RKIijDuoaMlkzmRGJiSsAiQplEhagoE1X38p87yQ4Q0P7yyOYcG8TPcN9D2SUMRT2XlFv1t0Z0aXdbrjkpO2x6d2B6z/POBqmwEccPY0ul8V45Y2mqe8CL3hqSisVuA+LkkYr+IS1StASpczmra2hq2DU19MlpOsT9ZXfhprgnw48uBoEH7T+EUGef7/DlvaDWJqsUkSfEb/AG1WFjB32XOmMYh9wbdrX9u9IXSz8fIugff+oEDSQTcsLTv/p5czT/+Lejx/aPqEb3vwCW93nDQ==

@edison1105 请看下面示例，对比修改前后，在一次切换后，foo的位置发生了变化，同时包括一些其它issues里对insetBefore第二个参数做兜底，也应该会有这个问题，且更加粗暴，会规避掉一些本该报错的场景，我可能相对比较赞成，先unmount，再重新找anchor的做法
修改前
[修改后]
(https://deploy-preview-9313--vue-sfc-playground.netlify.app/#eNp9kk1vwjAMhv9Klh22SUA1bSdU0D7EYTts08Yxl651SyBNosQtSIj/PqelhSHEpUr8PrZfu9nyZ2tHdQV8zGOfOmmRecDKToWWpTUO2ZY5yNmO5c6U7IbQG6GFTo32hC7Mmk0CcJsnysOd0HHUlqECdEEorUoQ6MZY/FshGs2eUiXT1UTwkD65Cl/Bp2iKQkEctVCbkMmayYxITFwBSFQIkzAHBY27eijzfSXBGRo6X5/AhHub6CnucyAjjyGwrxV1xbpA6FoPgeaZ5sbEEd1bO4dT3/9sx9N+90cN/7WLo35BfMDR01ZzWYyW3mj6IdvAC56a0koF7tOipK0LPmaNErREKbN+b2LoKhh08XQB6epMfOk3ISb4lwMPrgbBe60bIsiznw/Y0LkXS5NViugL4jd4o6rgscVeKp2R7SOucfvWPCupi7mfbRC074YKRgO5a3jB6am9Xhj9YPdh9NjkCb3juz/sFe+w)

@cicada-ah
I've updated the solution, please feel free to look it over.

/ecosystem-ci run

/ecosystem-ci run

@edison1105 还是有遗漏场景
https://deploy-preview-9313--vue-sfc-playground.netlify.app/#eNqdU11r2zAU/SuaNogDmc3YnjIndCt92GAfrIW9+MW1rx21smSkKzcQ8t97JSGnKaUPfTDI9xwdnft14N/GMZ8c8DUvEYZR1gjbSjFWtmJiot1UHGvTA1Y8hAlINDZ9FB3h7+xOP/w39ThTiHS5E7JNDE8IgYqzC9R9L8HrhgOFiqRcnDsoyAKdzsL0axsjRmSyVr1XsaRgAd1IqBhGbZAdmFa/tFMI7YoZ6NiRdUYPbEGJLr7OtOgxInkR/nwpPKNSjVYWWUqNbbxO1tXSwpLwExpFnsHz81m2ZJstO/h8ZnY+1dIB3UHjgNjHk2KsCUGZsNfEX7NbrSXU6lzGW5pVItPr0FcWsTxUDL6i4pBsJ/r8zmpFLQ4CFW/0MAoJ5s+Igp6t+DpKe6yWUj/8DDFvb5XizQ6a+xfid3bvYxX/a8CCmaihM5Ymx8NX179hT+cZHHTrfPtfAf+B1dJ5j5H23amWbD/hBbc/QjuF6m/s1R5B2ZSUN+qZx8CvODX38pXUT3Y/51/CPaopVXGejBeXJA3vrUPUil00UjT3NJgfYBCYLWJHF6tgZkkrEgNlEfnp9g1ICEOJmu6+f7ZzRNh92iJYLAs6pHVJl966Lk+H5fgIKv9YFg==


text:
Go to definition failed

It will go to shims-vue.d.ts aflter command + click "*.vue" tags.
This is my shims-vue.d.ts
declare module '*.vue' {
  import { defineComponent } from "vue";
  const component: ReturnType<typeof defineComponent>;
  export default component;
}

And this is tsconfig.json
{
	"compilerOptions": {
		"baseUrl": "./",
		"module": "ESNext",
		"target": "ESNext",
		"lib": ["DOM", "ESNext"],
		"declaration": true,
		"strict": true,
		"esModuleInterop": true,
		"allowSyntheticDefaultImports": true,
		"jsx": "preserve",
		"jsxFactory": "h",
		"jsxFragmentFactory": "Fragment",
		"moduleResolution": "node",
		"isolatedModules": true,
		"resolveJsonModule": true,
		"noUnusedLocals": true,
		"strictNullChecks": true,
		"forceConsistentCasingInFileNames": true,
		"paths": {
			"~/*": ["./*"],
			"@/*": ["./src/*"]
		},
		"types": [
			"vite/client",
			"node",
			"unplugin-icons/types/vue",
			"naive-ui/volar",
			"vue/ref-macros",
			"@vue-macros/reactivity-transform/macros-global"
		],
		"plugins": [{ "name": "typescript-plugin-css-modules" }]
	},
	"exclude": ["node_modules", "dist"],
	"include": ["./src/**/*.ts", "./src/**/*.vue", "./src/**/*.d.ts"]
}

Remove shims-vue.d.ts

@so1ve
Huh ... Like a rocket! ❤

@Joseph-Wheat-Carryier what is shims-vue.d.ts for?
Such a pain getting simple go to definition working in nuxt

authors: Joseph-Wheat-Carryier kleenkanteen oshliaer so1ve

repo: vuejs/language-tools


text:
自动创建有错误

Version
4.0.5
Environment info
System:
    OS: Windows 10
    CPU: (8) x64 Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz
  Binaries:
    Node: 13.1.0 - D:\node\node.EXE
    Yarn: Not Found
    npm: 6.12.1 - D:\node\npm.CMD
  Browsers:
    Edge: 44.18362.449.0
  npmPackages:
    @vue/cli-overlay:  4.0.5
    @vue/cli-plugin-router: ^4.0.0 => 4.0.5
    @vue/cli-plugin-unit-mocha: ^4.0.0 => 4.0.5
    @vue/cli-plugin-vuex: ^4.0.0 => 4.0.5
    @vue/cli-service: ^4.0.0 => 4.0.5
    @vue/cli-shared-utils:  4.0.5
    @vue/component-compiler-utils:  3.0.2
    @vue/preload-webpack-plugin:  1.1.1
    @vue/test-utils: 1.0.0-beta.29 => 1.0.0-beta.29
    @vue/web-component-wrapper:  1.2.0
    vue: 2.6.10 => 2.6.10
    vue-hot-reload-api:  2.3.4
    vue-loader:  15.7.2
    vue-router: ^3.1.3 => 3.1.3
    vue-style-loader:  4.1.2
    vue-template-compiler: ^2.6.10 => 2.6.10
    vue-template-es2015-compiler:  1.9.1
    vuex: ^3.0.1 => 3.1.2
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce
vue create
What is expected?
能创建项目并运行
What is actually happening?
Module build failed (from ./node_modules/postcss-loader/src/index.js):
BrowserslistError: E:\JAVA_WebStorm\vueproject\newagain contains both .browserslistrc and browserslist

Module build failed (from ./node_modules/postcss-loader/src/index.js):
BrowserslistError: E:\JAVA_WebStorm\vueproject\newagain contains both .browserslistrc and browserslist，就简单的创建项目并运行

你是新建了一个全新项目？还是和已有目录合并？创建的时候都选了些什么选项？
我们需要可以复现这个错误的项目代码才能够排查问题，还烦请提供一下。

repo: vuejs/vue-cli


text:
Node15 Stay on DONE  Build complete. The dist directory is ready to be deployed.

Version
4.2.1
Environment info
Environment Info:

  System:
    OS: Windows 10 10.0.18363
    CPU: (8) x64 Intel(R) Core(TM) i5-9300H CPU @ 2.40GHz
  Binaries:
    Node: 15.10.0 - C:\Program Files\nodejs\node.EXE
    Yarn: 1.22.5 - ~\AppData\Roaming\npm\yarn.CMD
    npm: 6.14.9 - C:\Program Files\nodejs\npm.CMD
  Browsers:
    Chrome: 87.0.4280.141
    Edge: Spartan (44.18362.449.0)
  npmPackages:
    @ant-design/icons-vue:  2.0.0
    @tinymce/tinymce-vue: 3.0.1 => 2.1.0
    @vue/babel-preset-app:  3.2.0
    @vue/cli-overlay:  3.2.0
    @vue/cli-plugin-babel: 3.2.0 => 3.2.0
    @vue/cli-plugin-eslint: 3.2.0 => 3.2.1
    @vue/cli-service: 3.2.0 => 3.2.0
    @vue/cli-shared-utils:  3.2.0
    @vue/component-compiler-utils:  2.3.0
    @vue/preload-webpack-plugin:  1.1.0
    @vue/web-component-wrapper:  1.2.0
    ant-design-vue: 1.5.0 => 1.6.1
    babel-helper-vue-jsx-merge-props:  2.0.3
    babel-plugin-transform-vue-jsx:  4.0.1
    eslint-plugin-vue: 6.2.2 => 5.0.0 (4.7.1)
    viser-vue: 2.4.2 => 2.4.2
    vue: 2.5.17 => 2.5.19 (2.6.11)
    vue-cropper: 0.4.4 => 0.4.6
    vue-eslint-parser:  2.0.3 (4.0.3)
    vue-hot-reload-api:  2.3.1
    vue-loader:  15.4.2
    vue-ls: 3.2.0 => 3.2.0
    vue-print-nb: 1.5.0 => 1.5.0
    vue-qr: 2.2.1 => 2.2.1
    vue-ref:  2.0.0
    vue-router: 3.0.1 => 3.0.2
    vue-style-loader:  4.1.2
    vue-template-compiler: 2.5.17 => 2.5.19
    vue-template-es2015-compiler:  1.6.0
    vuex: 3.0.1 => 3.0.1
  npmGlobalPackages:
    @vue/cli: Not Found

Steps to reproduce

npm run build

What is expected?
Continue executing the CI code
What is actually happening?
Staying still on this line does not report an error

Please provide a runnable reproduction
Your dependencies are too outdated. These may be bugs that were already fixed in previous releases. Please upgrade to at least @vue/cli-* v3.12. v4 would be better if you can.

Check your npm packages first. In my case it was vue-cli-plugin-webpack-bundle-analyzer which was causing issue when I was running the development build command:
vue-cli-service build --mode development
I uninstalled this specific npm package and the above command worked fine.

Check your npm packages first. In my case it was vue-cli-plugin-webpack-bundle-analyzer which was causing issue when I was running the development build command: vue-cli-service build --mode development I uninstalled this specific npm package and the above command worked fine.

Thanx, this helped me

authors: DreamPWJ dev069 rizypb sodatea


text:
When switching between child routes, beforeDestroy is called after beforeMount

Version
2.5.2
Reproduction link
https://jsfiddle.net/3xu0o52g/8/
Steps to reproduce
Go to the jsfiddle : https://jsfiddle.net/3xu0o52g/8/
Open the console
Click Foo then click Bar
console outpout is :
beforeMount Foo
beforeMount Bar
beforeDestroy Foo

What is expected?
I expected beforeDestroy to be called before beforeMount
like this:
beforeMount Foo
beforeDestroy Foo
beforeMount Bar

What is actually happening?
beforeDestroy is called after beforeMount
beforeMount Foo
beforeMount Bar
beforeDestroy Foo

I will start working on it

This is actually expected. If you really need the other way, you can use a transition with mode="out-in": http://jsfiddle.net/01t7wdus/

Oh thanks !
For those interested, relevant doc is here (pretty detailed and interesting) :
https://vuejs.org/v2/guide/transitions.html#Transition-Modes

authors: marioacc nicolas-t posva

repo: vuejs/vue-router


text:
关于router用query传参时的格式问题

Version
3.0.1
Reproduction link
https://jsbin.com/yujepuwamo/edit?html
Steps to reproduce
当使用 如下方法传递参数时
this.$router.push({
path: "/xxx",
query: {
id: “yyy”
}
});
What is expected?
按照URL的标准格式 将会跳转至如下格式
scheme://host:port/path?id=yyy/#/xxx
What is actually happening?
然而生成路径时是如下格式
scheme://host:port/path/#/xxx?id=yyy

这样的结果是在URL不符合路径传参的规则，当然这不影响用 this.$route.query的方法拿到所要传递的参数。但是当用window.location.search的方法时会发现参数被存放在hash的内容了。是否能统一格式呢？

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.

authors: posva yangzhuq


text:
Replace NPM by npm

Because we replace « NPM » by « npm » in french version (as it is named by official npm team : https://www.npmjs.com/), I propose to you this update.
Feel free to not accept it if you prefer kept the non official terms.

Thanks

authors: Haeresis posva


text:
feat: warn when operating on destroyed Vue component, fix #1685

See #1685 for original idea
In general, I've decided to go with warning as more relaxed way instead of throwing
What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[X] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[X] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[X] It's submitted to the dev branch.
[X] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[x] All tests are passing: https://github.com/vuejs/vue-test-utils/blob/dev/.github/CONTRIBUTING.md#development-setup
[x] New/updated tests are included

If adding a new feature, the PR's description includes:

[X] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

@xanf thanks I can release this weekend!

repo: vuejs/vue-test-utils


text:
Changed some of the wording for validators.md

Fixed some grammatical mistakes and made documentation more clear by changing some words. Also I completely changed the meaning of things like "min: whether the specified numerical value is less than or equal to a minimum" because I believe there were some mistakes (I don't think a 'min' rules specifies that a value should be less than the minimum).

Thanks

Hey thanks, I'm glad to help !

authors: GianlucaCandiotti kazupon

repo: vuejs/vue-validator


text:
can directive unbind hook be called  before component destroy ?

Version
2.6.10
Reproduction link
https://codesandbox.io/s/withered-glitter-b6ewf
Steps to reproduce
vue directive hooks is  : bind -> inserted -> update(componentUpdated) -> unbind .
unbind is called  after  host component  destroyed ; if i want to restore dom ( for example: transfer dom before  destroy)  ,  vue not support this case . when unbind ,  component is destroyed ,  $el is  isolated  , so can't get enough dom info 。
What is expected?
unbind  called before component  destroy
or  add a  beforeDestroy directive hook like ?
i guess if directive can run  before destroy, it can do more things.
or maybe i miss some consideration, please tell me and thanks .
What is actually happening?
unbind  called after destroyed

This is unlikely to change as it would be a breaking change but it shouldn't change anything since any Dom modification won't be rendered once the directive is unbond

ok. i know unbind is unlikely change, but i still think some logic need be executed before destroy in directive .

repo: vuejs/vue


text:
Web component in Vue: 'is' attribute doesn't work for web component

Version
2.6.11
Reproduction link
https://codesandbox.io/s/tender-wave-kcu39?file=/src/App.vue
Steps to reproduce

Create webComponent which is extended from HTMLButtonElement
Try to use it in Vue project

What is expected?
Vue Api provides for developers the opportunity to ignore some attribute like 'is'
What is actually happening?
Vue renders element as a dynamic component.

Hi, thanks for your interest but Github issues are for bug reports and feature requests only. You can ask questions on the forum, the Discord server or StackOverflow.
Web Components work with Vue but you have to use a different approach than the is attribute. I don't have an article right now to give you.

sorry, got it, thank you. Will find the answer

authors: VorobiovKir posva


text:
[FEATURE-REQUEST] Shorthand attributes/props

What problem does this feature solve?
Having an attribute where the name and value are the same is common case in many of the projects I have worked on.
You find yourself rewriting the same word twice in many components.
Example
my-component.vue
<template>
  <a :id="id" :href="href"> {{title}} </a>
</template>

<script lang="ts" setup>
defineProps({
  id: String;
  title: String;
  href: String;
});
</script>

App.vue
<template>
  <my-component :id="id" :title="title" :href="href" />
</template>

<script lang="ts" setup>
  const id = 'my-id';
  const title= 'my-title';
  const href = 'http://my-link.com';
</script>

What does the proposed API look like?
As you can see in the following example, it's cleaner and easier to read when attribute names aren't repeated twice.
my-component.vue
<template>
  <a :id :href> {{title}} </a>
</template>

<script lang="ts" setup>
defineProps({
  id: String;
  title: String;
  href: String;
});
</script>

App.vue
<template>
  <my-component :id :title :href />
</template>

<script lang="ts" setup>
  const id = 'my-id';
  const title= 'my-title';
  const href = 'http://my-link.com';
</script>

This was already requested, please, search existing issues and pull requests before opening issues, it saves maintainers a lot of time 🙏


text:
ajax加载显示问题

ajax没有加载完时   页面显示{{}}   如何处理   我现在用的是v-text ,请给解答一下，谢谢

贴代码

http://rc.vuejs.org/api/#v-cloak


text:
Not able to pass down properties to external template

Hello, what i'm trying to do is pass down properties to HTML that's defined via template tag:
HomeComponent.vue
<template id="home-comp">

{{message}}

		my home message

</template>

Then in my app view i register the component and add a message
App.vue
<template>

		<home-component message="testing a message"></home-component>

</template>

Results in the following error:
"Property or method "message" is not defined on the instance but referenced during render. Make sure to declare reactive data properties in the data option."
It seems pretty straight forward and not sure if this is a bug or if I'm doing something wrong. I checked the forum as well as did some Googling around and can't really find an answer.
Thanks!

I found out that it does work with straight up javascript though
HomeComponent.js
'use strict';

import Vue from 'vue';

export default Vue.component('home-component', {
	template: '
{{message}}
',
	props: ['message']
})

You don't need to give the template an id in vue files... They are already in the same file.

<template>

{{message}}

		my home message

</template>

Still results with the same error message.

You also need to export your component instead of registering it globally... Please read the docs for vue-loader.

This worked, thanks for the tips and your hard work.


text:
Update README.md

What kind of change does this PR introduce? (check at least one)

[ ] Bugfix
[ ] Feature
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[x] Other, please describe:

Does this PR introduce a breaking change? (check one)

[ ] Yes
[x] No

If yes, please describe the impact and migration path for existing applications:
The PR fulfills these requirements:

[ ] It's submitted to the main branch for v2.x (or to a previous version branch)
[x] When resolving a specific issue, it's referenced in the PR's title (e.g. fix #xxx[,#xxx], where "xxx" is the issue number)
[ ] All tests are passing: https://github.com/vuejs/vue/blob/dev/.github/CONTRIBUTING.md#development-setup
[ ] New/updated tests are included

If adding a new feature, the PR's description includes:

[x] A convincing reason for adding this feature (to avoid wasting your time, it's best to open a suggestion issue first and wait for approval before working on it)

Other information:

just demo ignore it


text:
remove unused variables

This is already done in a local branch as part of some additional refactoring, but thanks for the PR.


text:
[Bug report]

Bug report
Description

I try to custom a theme, but failed.
Steps to reproduce

I follow this: https://v2.vuepress.vuejs.org/advanced/cookbook/extending-a-theme.html#extend-default-theme.

I think it's easy to re-emerge.

Nothing happened.
So i tried to resolve it.
In docs/.vuepress/config.js
const path = require("path");
module.exports = {
  theme: path.resolve(__dirname, "./theme"),
};

And then run it. I get this error in devtools.
[Vue warn]: injection "Symbol(themeLocaleData)" not found.
  at <Layout>
  at <Layout>
  at <AsyncComponentWrapper>
  at <Vuepress onVnodeUnmounted=fn<onVnodeUnmounted> ref=Ref< Proxy > >
  at <RouterView>
  at <VuepressApp>
warn @ runtime-core.esm-bundler.js?5c40:38

Expected behavior
I can preview my custom theme.
Environment info
vuepress: ^2.0.0-beta.23

Please provide a reproduce repo

I am also having the same issue, Unable to extend theme's 404 layout.

@meteorlxy Please help regarding this I am trying to extend from 5 hours but IDK what's the problem
const { path } = require('@vuepress/utils')
// .vuepress/theme/index.js
module.exports = {
  // inherit the default theme
  extends: '@vuepress/theme-default',

  // override the `404` layout
  layouts: {
    404: path.resolve(__dirname, 'layouts/404.vue'),
  },
}

404 File
<template>

I am CUSTOM 404 PAGE

Nothing to see here.

      <RouterLink to="/">
        Let's Go to Home
      </RouterLink>

</template>

So could you please provide a reproducing repo, instead of copying and pasting code?

@meteorlxy here it is https://github.com/ramesh-dada/ramesh-dada.github.io
URL : https://ramesh-dada.github.io

@ramesh-dada You didn't set the theme to your local directory.
https://github.com/ramesh-dada/ramesh-dada.github.io/blob/67dc261874fc8b6fc1c4fd6fda6d5c9a7021268b/.vuepress/config.js#L1-L11

@meteorlxy I did it now

@ramesh-dada You even didn't put the .vuepress dir into docs dir ...
Please check carefully. Don't waste our time.

It is recommended that everyone go to Github discussions for help first, not issues🤔

And before that, it’s best to read the document carefully

Hello, i think this is a reproduce repo.

https://github.com/YunYouJun/element-theme-ink

Just clone it, then:
yarn
yarn build
yarn dev

I think I've taken the right approach based on the documentation.
But i get:
Uncaught (in promise) Error: useThemeLocaleData() is called without provider.
    at useThemeLocaleData (useThemeLocaleData.js:6)
    at useThemeLocaleData (useThemeData.js:3)
    at setup (Layout.vue:32)
    at callWithErrorHandling (runtime-core.esm-bundler.js:155)
    at setupStatefulComponent (runtime-core.esm-bundler.js:7154)
    at setupComponent (runtime-core.esm-bundler.js:7110)
    at mountComponent (runtime-core.esm-bundler.js:5109)
    at processComponent (runtime-core.esm-bundler.js:5084)
    at patch (runtime-core.esm-bundler.js:4690)
    at componentEffect (runtime-core.esm-bundler.js:5221)

@YunYouJun Please read docs carefully. extend has been migrated to extends. Thanks a lot.

authors: YunYouJun jiazengp meteorlxy ramesh-dada

repo: vuepress/vuepress-next


text:
[Bug]: yarn start will cause FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory

Expected Behavior
i run it by :
sudo yarn start --max_old_space_size=3096
Actual Behavior
in 2 or 3 hours, it will be killed by follow issue
<--- Last few GCs --->
[8537:0x4dfe310] 44483799 ms: Mark-sweep (reduce) 1944.7 (2005.5) -> 1943.9 (2006.0) MB, 3499.1 / 0.1 ms  (average mu = 0.285, current mu = 0.005) allocation failure scavenge might not succeed
[8537:0x4dfe310] 44487316 ms: Mark-sweep (reduce) 1945.0 (2006.0) -> 1944.2 (2006.5) MB, 3158.1 / 0.1 ms  (average mu = 0.205, current mu = 0.102) allocation failure scavenge might not succeed
<--- JS stacktrace --->
FATAL ERROR: Reached heap limit Allocation failed - JavaScript heap out of memory
1: 0xb02ec0 node::Abort() [/usr/bin/node]
2: 0xa181fb node::FatalError(char const*, char const*) [/usr/bin/node]
3: 0xced88e v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/usr/bin/node]
4: 0xcedc07 v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/usr/bin/node]
5: 0xea5ea5  [/usr/bin/node]
6: 0xeb557d v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/usr/bin/node]
7: 0xeb827e v8::internal::Heap::AllocateRawWithRetryOrFailSlowPath(int, v8::internal::AllocationType, v8::internal::AllocationOrigin, v8::internal::AllocationAlignment) [/usr/bin/node]
8: 0xe793e2 v8::internal::Factory::AllocateRaw(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/usr/bin/node]
9: 0xe73d0c v8::internal::FactoryBasev8::internal::Factory::AllocateRawArray(int, v8::internal::AllocationType) [/usr/bin/node]
10: 0xe8913a v8::internal::Handlev8::internal::PropertyArray v8::internal::Factory::CopyArrayAndGrowv8::internal::PropertyArray(v8::internal::Handlev8::internal::PropertyArray, int, v8::internal::AllocationType) [/usr/bin/node]
11: 0x1083af5 v8::internal::JSObject::MigrateToMap(v8::internal::Isolate*, v8::internal::Handlev8::internal::JSObject, v8::internal::Handlev8::internal::Map, int) [/usr/bin/node]
12: 0x10a5581 v8::internal::LookupIterator::ApplyTransitionToDataProperty(v8::internal::Handlev8::internal::JSReceiver) [/usr/bin/node]
13: 0x10c4e0b v8::internal::Object::AddDataProperty(v8::internal::LookupIterator*, v8::internal::Handlev8::internal::Object, v8::internal::PropertyAttributes, v8::Maybev8::internal::ShouldThrow, v8::internal::StoreOrigin) [/usr/bin/node]
14: 0x107b721 v8::internal::JSObject::CreateDataProperty(v8::internal::LookupIterator*, v8::internal::Handlev8::internal::Object, v8::Maybev8::internal::ShouldThrow) [/usr/bin/node]
15: 0x1084423 v8::internal::JSReceiver::SetOrCopyDataProperties(v8::internal::Isolate*, v8::internal::Handlev8::internal::JSReceiver, v8::internal::Handlev8::internal::Object, v8::internal::PropertiesEnumerationMode, v8::base::ScopedVector<v8::internal::Handlev8::internal::Object > const*, bool) [/usr/bin/node]
16: 0x11ffc5b v8::internal::Runtime_CopyDataProperties(int, unsigned long*, v8::internal::Isolate*) [/usr/bin/node]
17: 0x15e7879  [/usr/bin/node]
error Command failed with signal "SIGABRT".
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
error Command failed with exit code 1.
info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
[ec2-user@ip-172-31-31-70 shopify]$
[ec2-user@ip-172-31-31-70 shopify]$
Possible Solution
No response
Steps to reproduce
No response
What version of shopify integration are you using?
main branch
What version of Node.js are you using?
v16.13.0
What browser (and version) are you using?
96.0.4664.55
What operating system (and version) are you using?
linux
Relevant log output
No response
Code of Conduct

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

Is increasing more size old space doesn't do any good?

Closing this as there are no further updates. Thank you.

authors: jeffpdotone tingxin

repo: vuestorefront/shopify


text:
Reverse the order of plugin and Vuex ORM loading

Fixes #145

Looks good, thanks for your MR! :)

repo: vuex-orm/plugin-graphql


text:
morphToMany relation duplicates the pivot records

fix: https://github.com/vuex-orm/vuex-orm/issues/258
Hi @kiaking
Cause is this.increment() to Taggable's id field, but I don't know is need to fix this problem, because pivot data isn't set to insertOrUpdate.

Niiice thanks!

Hi @kiaking
I fixed. please review.

Wonderful!!! Thank you so much! Looking good to me. I'll merge this and release the new version soon!

authors: kiaking kkyouhei

repo: vuex-orm/vuex-orm


text:
🛑 o.emdayo is down

In 98ab8c7, o.emdayo (https://o.emdayo.fr/) was down:

HTTP code: 0
Response time: 0 ms

Resolved: o.emdayo is back up in de24a8f after 6 minutes.


text:
Make it possible to load shader bytecode with identical entry point names for different execution models

It is only required that OpEntryPoint have unique (name, execution model), which lets us link vertex and fragment shader code into a single module, both with the name "main".
We should extend #1747 so that entry points are parameterized by both values, rather than overwriting pre-existing entry points.

Issue closed as resolved in #1753.

authors: Eliah-Lakhin incertia

repo: vulkano-rs/vulkano


text:
class css attribute

hi, i want to add a class to th path when i create it with codebehind.
How can i add customattribute to the path?
thanks

Can you elaborate a bit what you are doing? What path are you speaking about - an SVG path? Do you create an SVG programatically? Thanks

sorry, yes i create a path:

create a SvgDocument
set SvgDocument.ID
set SvgDocument.Width
create a SvgViewBox
-create a path
set path.ID
set ...

i want to add a class attribute to the path when i create it in c#. I know i can add on with javascript but i want add class attribute with codebehind.

Ah, ok, thanks! I'm not sure, but I think this is currently not possible - #404 may be a related issue. I may have a closer look later tonight...

Ok, the custom attributes actually are publicly accessible (SvgElement.CustomAttributes) , so I guess it should be possible to add one, e.g.:
    element.CustomAttributes[attributeName] = attributeValue;

thanks it's work fine.

authors: lroye mrbean-bremen

repo: vvvv/SVG

license: MS-PL


text:
Tons of lines and garbage collector

When there is many dynamic lines:
https://gist.github.com/honix/e94f42eb24e62a2ade8cbb45ab8b9df1
Sketch becomes little laggy because of GC hard work. So, for now i down *shape-cache-capacity* to zero and have smooth animation. I think it needs to rethink caches somehow..

Thanks for reporting this, you are right. I'm working on a much better solution (keeping everything in gfx memory with better defaults). I'm hoping to have it completed before the next QL release.

Fixed in April release (removed caching). Will try doing this again - but in a smarter way - once CEPL backend is ready.

authors: honix vydd

repo: vydd/sketch


text:
Error/Warn signs disappear in vim+tmux

Hi! Few days ago signs starts to disappear on saving file and changing tab. Reproduces only in tmux+vim.

OS: macOS Sierra 10.12.4 (16E195)
tmux -V
tmux 2.4

vim --version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Apr 24 2017 00:30:32)
MacOS X (unix) version
Included patches: 1-586
Compiled by Homebrew
Huge version without GUI.  Features included (+) or not (-):
+acl             +file_in_path    +mouse_sgr       +tag_old_static
+arabic          +find_in_path    -mouse_sysmouse  -tag_any_white
+autocmd         +float           +mouse_urxvt     -tcl
-balloon_eval    +folding         +mouse_xterm     +termguicolors
-browse          -footer          +multi_byte      +terminfo
++builtin_terms  +fork()          +multi_lang      +termresponse
+byte_offset     -gettext         -mzscheme        +textobjects
+channel         -hangul_input    +netbeans_intg   +timers
+cindent         +iconv           +num64           +title
-clientserver    +insert_expand   +packages        -toolbar
+clipboard       +job             +path_extra      +user_commands
+cmdline_compl   +jumplist        +perl            +vertsplit
+cmdline_hist    +keymap          +persistent_undo +virtualedit
+cmdline_info    +lambda          +postscript      +visual
+comments        +langmap         +printer         +visualextra
+conceal         +libcall         +profile         +viminfo
+cryptv          +linebreak       +python          +vreplace
+cscope          +lispindent      -python3         +wildignore
+cursorbind      +listcmds        +quickfix        +wildmenu
+cursorshape     +localmap        +reltime         +windows
+dialog_con      +lua             +rightleft       +writebackup
+diff            +menu            +ruby            -X11
+digraphs        +mksession       +scrollbind      -xfontset
-dnd             +modify_fname    +signs           -xim
-ebcdic          +mouse           +smartindent     -xpm
+emacs_tags      -mouseshape      +startuptime     -xsmp
+eval            +mouse_dec       +statusline      -xterm_clipboard
+ex_extra        -mouse_gpm       -sun_workshop    -xterm_save
+extra_search    -mouse_jsbterm   +syntax
+farsi           +mouse_netterm   +tag_binary
   system vimrc file: "$VIM/vimrc"
     user vimrc file: "$HOME/.vimrc"
 2nd user vimrc file: "~/.vim/vimrc"
      user exrc file: "$HOME/.exrc"
       defaults file: "$VIMRUNTIME/defaults.vim"
  fall-back for $VIM: "/usr/local/share/vim"
Compilation: clang -c -I. -Iproto -DHAVE_CONFIG_H   -DMACOS_X_UNIX  -g -O2 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=1
Linking: clang   -L. -fstack-protector -L/usr/local/lib -L/usr/local/opt/libyaml/lib -L/usr/local/opt/openssl/lib -L/usr/local/opt/readline/lib  -L/usr/local/lib -o vim        -lncurses -liconv -framework Cocoa  -L/usr/local/lib -llua -mmacosx-version-min=10.12 -fstack-protector-strong -L/usr/local/lib  -L/usr/local/Cellar/perl/5.24.1/lib/perl5/5.24.1/darwin-thread-multi-2level/CORE -lperl -lm -lutil -lc -F/usr/local/opt/python/Frameworks -framework Python   -lruby.2.4.1 -lobjc

ALEInfo
 Current Filetype: go
Available Linters: ['go build', 'gofmt', 'golint', 'gometalinter', 'gosimple', 'go vet', 'staticcheck']
  Enabled Linters: ['go build', 'gofmt', 'golint', 'gosimple', 'go vet', 'staticcheck']
 Linter Variables:

 Global Variables:

let g:ale_echo_cursor = 1
let g:ale_echo_msg_error_str = 'Error'
let g:ale_echo_msg_format = '%s'
let g:ale_echo_msg_warning_str = 'Warning'
let g:ale_enabled = 1
let g:ale_keep_list_window_open = 0
let g:ale_lint_delay = 200
let g:ale_lint_on_enter = 1
let g:ale_lint_on_save = 1
let g:ale_lint_on_text_changed = 'always'
let g:ale_linter_aliases = {}
let g:ale_linters = {}
let g:ale_open_list = 0
let g:ale_set_highlights = 0
let g:ale_set_loclist = 1
let g:ale_set_quickfix = 1
let g:ale_set_signs = 1
let g:ale_sign_column_always = 1
let g:ale_sign_error = '✖'
let g:ale_sign_offset = 1000000
let g:ale_sign_warning = '⚠'
let g:ale_statusline_format = ['⨉ %d', '⚠ %d', '⬥ ok']
let g:ale_warn_about_trailing_whitespace = 1
  Command History:

(finished - exit code 0) ['/bin/zsh', '-c', 'go env GOPATH GOROOT']
(finished - exit code 0) ['/bin/zsh', '-c', 'gofmt -e /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/0/ale.go']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 0) ['/bin/zsh', '-c', 'golint /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/1/ale.go']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 0) ['/bin/zsh', '-c', 'go vet /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/2/ale.go']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 2) ['/bin/zsh', '-c', 'GOPATH=/Users/k33nice/dev/go cd . && go test -c -o /dev/null ./']

<<<OUTPUT STARTS>>>
# _/Users/k33nice
./ale.go:4: undefined: fmt in fmt.Println
<<<OUTPUT ENDS>>>

(finished - exit code 2) ['/bin/zsh', '-c', 'GOPATH=/Users/k33nice/dev/go cd . && go test -c -o /dev/null ./']

<<<OUTPUT STARTS>>>
# _/Users/k33nice
./ale.go:4: undefined: fmt in fmt.Println
<<<OUTPUT ENDS>>>

(finished - exit code 0) ['/bin/zsh', '-c', 'gofmt -e /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/3/ale.go']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 0) ['/bin/zsh', '-c', 'golint /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/4/ale.go']

<<<NO OUTPUT RETURNED>>>

(finished - exit code 0) ['/bin/zsh', '-c', 'go vet /var/folders/_m/6b7yjdhj0g5d68_jxrychl700000gn/T/vd0j4NL/5/ale.go']

<<<NO OUTPUT RETURNED>>>

UPD:
Removing custom sings g:ale_sign_error = '✖' g:ale_sign_warning = '⚠' OR downgrade tmux to 2.3_3 solves problem.
Thus, I think, it's tmux bug, so you can close it.

Yeah, I can confirm it's a tmux bug.
Something similar happened with multi byte characters in my shell prompt. I have an icon in my shell prompt indicating if there's an SSH connection, and, on a particular machine where I SSH'd into, the icon disappears after running commands.
I can reproduce your issue on that same machine.

I'll keep this in mind for my issue for improving the default signs, where possible. It might be best to stick with ASCII signs by default when you're using Vim from tmux.

I compilled last tmux version from master(3a8e56b2) and the bug is gone. So in new release, I supose, it'll be fixed.


text:
Losing delete command in Neovim when deleting word

When using the 'delete word' chord (dw) nvim will lose the fact that a delete action has been started when using ALE (YouCompleteMe also has the same issue) if the key combo is hit fast enough. So when hitting dw, the cursor moves forward to the next word from the current position without deleting to the next word as expected.
I've tested this by installing ALE into ~/.vim/bundle/ale and then using the following init.vim:
set nocompatible
filetype off
let &runtimepath.=',~/.vim/bundle/ale'
filetype plugin on

Opening a file that has filetype support in ALE (such as /usr/include/stdio.h) and then pressing dw quickly results in the behavior described. I'm not sure what my delay is between hitting d and w. I've created a short video that illustrates the issue (http://gph.is/2tEZsSZ). If I disable ALE (:ALEDisable), the issue goes away. It looks like this is Neovim specific as the issue doesn't happen in normal Vim.

nvim --version: 0.2.1
Vim (version: 7.4/8.0) behaves differently? yes
Operating system/version: Ubuntu on Windows, SUSE, macOS
Terminal name/version: mintty, gnome-terminal, st, urxvt, iTerm2
$TERM: screen-256color

This is a bug in NeoVim. See here: https://github.com/neovim/neovim/issues/6166
It's one of the two most annoying bugs in NeoVim, which has yet to be fixed.
I recommend waiting for the bug to be fixed in NeoVim, or switching to Vim 8.

@w0rp out of curiosity, what's the other one?

The other annoying bug is that NeoVim doesn't create jobs in process groups and then kill the groups, so certain programs, like pylint or flow, can be left running even after you close NeoVim. Vim 8 handles this just fine.

authors: Chillee jseba w0rp


text:
Lodash, Ramda, TypeScript…?

TypeErrors of all kinds are by far the most common RTEs in JS.
Using utility packages, or transpiling from a strongly-typed superset of JS, helps prevent them.
What are your thoughts on, and experience with, Lodash (classic), Ramda (cooler), TypeScript (heavier), etc?

The problems Lodash and Ramda solve are not the same as TypeScript/Flow.
TypeScript mainly solves the dynamic type-changing issues with JavaScript. Although Lodash/Ramda can solve this kind of issue to a certain extent, TypeScript can solve this problem better (but we should restrict the use of any).
TypeScript is also supported by many libraries and frameworks, like:

Ant Design
Svelte
Apache ECharts
nest

I don't have much experience with Lodash (mostly removing dependencies on it for functions like flatmap that js now offers) and none at all with Ramda (though I like the architecture). Given my limited experience, I'm not sure how they help you with TypeErrors (maybe their ubiquitous isX functions?).
IMO, TypeScript is a mild pain to set up, another mild pain to return to after you've swapped out, limits your potential contributors, but indispensable for large or complex projects. I tend to do either very small things (couple files in one directory) or very big things with it. On the small end, if you're trying to work through some algorithm , type-checking is a godsend. On the large side, I programatically ported a large-sh Java library to typescript, spent a couple weeks on the converter, XMass and New Years cleaning up the translated code, and a couple days tracking down the one bug that type-safety didn't catch for me (promise execution order, naturally).
For mid-sized projects, I find the overhead of futzing around with search paths and sprinkling tsconfig.json's everywhere too daunting and typically don't bother, even if I might have saved time by shifting effort from debugging to baby-sitting compile-time type errors.

authors: ericprud tripu xfq


text:
拉取最新代码

What is the purpose of the change
XXXXX
Brief changelog
XX
Verifying this change
XXXX
Follow this checklist to help us incorporate your contribution quickly and easily. Notice, it would be helpful if you could finish the following 5 checklist(the last one is not necessary)before request the community to review your PR.

[x] Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
[x] Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
[x] Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
[x] Write necessary unit-test(over 80% coverage) to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
[x] Run mvn -B clean apache-rat:check findbugs:findbugs checkstyle:checkstyle to make sure basic checks pass. Run mvn clean install -DskipITs to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test  to make sure integration-test pass.
[ ] If this contribution is large, please file an Apache Individual Contributor License Agreement.

拉取最新代码

repo: wadenvip/rocketmq


text:
SNUTT-246 GET /ev-service/v1/tags/{id}/evaluations API 개발

related issues: https://draft-waffle.atlassian.net/browse/SNUTT-246
Major Changes
1. GET /ev-service/v1/tags/{id}/evaluations API 개발

@Hank-Choi Lecture 및 SemesterLecture 의 classification 의 enum 으로 만들고, GET /ev-service/v1/tags/{id}/evaluations의 내부 조건을 '교양'으로 한정하는 것은 별개 PR 로 하겠습니다.

repo: wafflestudio/snutt-ev


text:
Make channelManager public

Hi !
Thanks for this useful lib!
I'm wondering if the channelManager struct could be exposed (renamed to ChannelManager) to be imported.
It could also be useful to expose the channelManager struct values of Consumer / Publisher.
My use case is that I'd like to do manual creation of exchange and queues.
I can create a new new AMQP channel but I'd lose the auto reconnect handling of the channelManager.
Thanks!

I understand why exposing the channelManager is undesirable, as it might make others depend on a specific private implementation which might change in the future.
It might be better to add a connection that supports exposing the actual amqp library for exceptional cases such as only declaring an exchange or something like it.
This way it is possible to manage access to them in a unified manner.

Check out the updated API on the main branch. The Conn is new a separate public struct

Thanks for the change @wagslane !
However, the public Conn struct does not let me access the underlying amqp.Channel (which is now stored in github.com/wagslane/go-rabbitmq/internal/connectionmanager.ConnectionManager.channel).
My usecase for this issue is to let me call QueueDeclare, ExchangeDeclare and QueueBind.
These calls are available in ConnectionManager.QueueBindSafe() and related funcs.
What would work for my usecase would be to:

move ConnectionManager from internal to pkg
add a method NewConnFromConnectionManager with the following signature:

NewConnFromConnectionManager(cm *connectionmanager.NewConnectionManager) (*Conn, error)

For the reference, here is the related commit: https://github.com/wagslane/go-rabbitmq/commit/0df88ac7e9af0ee5cd217e1c3a04729b02b8322c

@wagslane Should I create a new issue for this? Thanks !

Sorry, I think this is something you should just use AMQP for @gnuletik

I did a copy of ConnectionManager and ChannelManager in my repo and that works well.
This does exactly what I need.
So, I think that could be quite useful to export these symbols to import these instead of copying.

I did a copy of ConnectionManager and ChannelManager in my repo and that works well. This does exactly what I need. So, I think that could be quite useful to export these symbols to import these instead of copying.

I Need to visit QueueDeclare too. Becase this package cannot declare queue if I want to use default exchange.

authors: GuihaiHU gnuletik shoham-b wagslane

repo: wagslane/go-rabbitmq


text:
update: Add manual action to consumer handler & expose function for Publishing with deferred confirmation

I would want to spin up goroutines to do some other processing on the message and use the amqp.Delivery object to send acknowledgements later from the routine. Currently the consumer handler expects a compulsory type which doesn't let us do any processing from a routine.

Please re-pull to trigger a new CI flow! Thanks

@wagslane done!

Exposed the function from the base amqp llibrary to publish with deferred confirms. This is useful in correlating published messages with publisher confirms via NotifyPublish()

@wagslane sorry, you must be busy, but does this look good to merge? Wanted to switch our dependency from our fork to this main repo. Would be great if you can get it merged

authors: vishal-android-freak wagslane


text:
Limitations with block naming

Hi,
Thank you for all your work. I use react-streamfield since about 18 month and I built some websites using exotic names containing '+' (plus) or '.' (dots).
It seems that theses names now break react streamfield.
Btw there is no advertising about it. Block._check_name don't refers to plus or dots.
Prior moving to wagtail-2.7, it worked (last known working version from pip : 1.3.5).
(Actually I am not sure if I should report this as a Wagtail bug.)

Ping ? (I am still not sure if I should report this as a Wagtail bug.)

Thanks for the report, I am going to investigate this, I don’t immediately know why it’s failing.

Could you elaborate more? I tested with Wagtail 2.9.3 & wagtail-react-streamfield 1.3.6, and didn’t face the issue with a rather tricky name, as you can see below. It correctly rendered and saved:

Hi,
Very thanks for your attention.
Unfortunately I am able to reproduce it in wagtail 2.7 and wagtail 2.9.
I started a repo here : https://forge.cliss21.org/fpoulain/issue54
After cloning it you can:

make init
an editor will open; uncomment "ENV=development", save and quit
./manage.py createsuperuser
make serve
visit http://127.0.0.1:8000/admin/pages/3/edit/

I could see the issue when using your project but… Your project is not using wagtail-react-streamfield!
The issue is really with Wagtail itself. It may seem that Wagtail now uses wagtail-react-streamfield, but it actually only uses the CSS of react-streamfield, adjusted to work with the old StreamField. Wagtail-react-streamfield is unfortunately still not yet in Wagtail due to long discussions and concerns regarding compatibility with a few third party blocks. For the record, we are arriving at a resolution for all these points, which will be documentation on how to migrate tricky third party block.
So I’m closing this issue for now, marking it as invalid, sorry :) Please open a Wagtail issue instead and reference this one. Thanks!

These names are invalid in vanilla Wagtail too, as per the docs:

‘name’ is used to identify the block type within templates and the internal JSON representation (and should follow standard Python conventions for variable names: lower-case and underscores, no spaces)

But it works with wagtail-react-streamfield because it only uses UUIDs to identify field instances :stuck_out_tongue:

@BertrandBordage ok sorry, I have been confused. I started to migrate a project from wagtail 2.4 + wagtail-react-streamfield to wagtail 2.7. I thought the latter has included wagtail-react-streamfield.
@gasman Ok, so i was misled by Block._check_name which was too lazy. Is it useful to propose a patch making it more restrictive?

But it works with wagtail-react-streamfield because it only uses UUIDs to identify field instances stuck_out_tongue

And installing wagtail-react-streamfield hide my problem. Thanks for the hint.

@gasman Ok, so i was misled by Block._check_name which was too lazy. Is it useful to propose a patch making it more restrictive?

Sure, sounds good. I think it makes sense for Block._check_name to reject anything which is not valid as a python variable name (so, for example, it should reject any names with invalid symbols, but it should still allow uppercase).

ok; I will propose a PR.

authors: BertrandBordage fpoulain gasman

repo: wagtail/wagtail-react-streamfield


text:
Add logging for users' actions/errors on each of wagtail's main features, with UI to browse

A UI should be created in the wagtail admin, which allows browsing of any logs (#492 suggests additional logs to the above), filtering by severity, object type, user, date-range and ordering by date.
Severity levels will come from standard Python logging.
Logs should be recorded for activity concerning:

pages
docs
images
snippets
redirects
promoted search results ("editors picks")
users
groups
sites

Logs entries would be timestamped and associated with the user account performing the action.
Generic actions to be recorded:

create
edit
delete

Also:

page publish
page unpublish
page password protect
page unpassword protect
page move
page reorder
page submit for moderation
page moderation reject
page moderation accept
private page successful front end login
private page unsuccessful front end login
wagtail admin login success
wagtail admin login failure
user deactivate
user activate
back end 404s
front end 404s
front end searches

Additionally Errors should be caught for:

back end 500s
front end 500s

There will also need to be provision for actions taken by the system:

scheduled publish
scheduled unpublish

I'd presume/suggest logging be done via a method easily copied to new systems, such as via a decorator.
I was also going to suggest we use this system to record document downloads/page views, but the potential discrepancy with Google Analytics is always hard to explain to clients. It might be better to integrate GA Data API directly, rather than try and reinventing that wheel.

@gasman, Please will you consider changing the milestone from some-day to some-day-soon.

The Audit Log feature covers (https://github.com/wagtail/wagtail/pull/6084) some of the generic actions mentioned in the issue. Would be good if we revised the issue description so it reflects current state.

Closing this as #6084 added audit logging for page models, then #7550, #7551 and #7557 extended it for other models.
Documentation: https://docs.wagtail.org/en/stable/extending/audit_log.html

authors: davecranwell euan marteinn zerolab

repo: wagtail/wagtail


text:
Limit max number of pixels for animated GIFs

https://github.com/wagtail/wagtail/pull/5097 implemented a check to prevent images that decompress to too many pixels from being uploaded. It does this by simply multiplying the width with the height.
However, for animated GIFs, we need to also take into account the number of frames in the image.
Note: This number should be total number of pixels in an uncompressed image, so this value shouldn't take into account any savings made by the file format due to techniques like differential encoding.

Fixed in #5227 / #5627

authors: gasman kaedroho


text:
Add Go Back button in Redirects (breadcrumbs)

I found that there is no way to go back to the Redirect listing page when adding/editing redirection, except by clicking "Redirects" in "Settings" on side bar menu.

@aliceni81 @zerolab I am interested to contribute to this issue. Can you please guide me how to approach this issue as I am new to the codebase.

I set out to provide some instructions on doing this and realised that we don't really have "go back" button or anything else anywhere but pages doing destructive actions (i.e. delete confirmation pages). As such I think this needs a wider interface decision.
@gitkaarma as for contributing, please see https://docs.wagtail.org/en/stable/contributing/index.html on how to set up Wagtail for development. Create a fork of the Wagtail repository and for each feature that you work on, create a branch of the main branch.
As for any issue you work on, first find it in the UI/replicate it locally, then find the relevant bit in code and take it from there. If it is a backend-specific issue, starting with a test that replicates the issue is always a good start.

@aliceni81 thank you for the suggestion! This strikes me as something that could be solved everywhere in Wagtail with a breadcrumb, rather than a "back" button.
Can you expand upon why this would be important for redirects in particular?

@thibaudcolas Actually its not only important for redirects, but also for other models shown in Wagtail admin settings, like users, groups, sites and so on.

https://github.com/wagtail/wagtail/issues/8767 created to solve for the generic case of this now that breadcrumbs have been cleaned up via https://github.com/wagtail/wagtail/issues/8645

As of Wagtail 4.0 - the concept of 'back' buttons or similar in Wagtail has been adopted for Snippets and is now an 'approved' usage via breadcrumbs.
https://github.com/wagtail/wagtail/issues/8767  will need to be implemented ideally before this is picked up but I have now removed the 'needs design decision'.

Return Button for redirect Pages
A use case of where a return button would be needed. After the upload of an image, there is no way of going to the previous page without clicking on the images tab

Tried looking into this in #10884 but just noticed that the views code still uses function-based views. If someone wants to work on this, ideally the views should be refactored to use the generic model views (and potentially wrapped in a ModelViewSet subclass). Then adding the breadcrumbs shouldn't be too hard, following the examples seen in that PR.

I would love to work on this as I have the knowledge required for it @aliceni81 @laymonage

There is now a PR up for moving redirects to class based views.
https://github.com/wagtail/wagtail/pull/11035
There's also still a bit of discussion happening about when to use Breadcrumbs/back buttons and when not to.
I'd recommend this issue not be picked up by new contributors for now until there is a solid guideline as to when we want to use these navigation patterns. See https://github.com/wagtail/wagtail/pull/10915 for context.

This has been implemented in Wagtail 6.1.

The breadcrumbs are still missing for the "add" view, but the view code needs to be refactored to CBV first. I guess we can leave this closed in favour of the views listed in https://github.com/wagtail/wagtail/issues/8365#issuecomment-2061032553.

authors: KaluBuikem aliceni81 gitkaarma laymonage lb- thibaudcolas uju-juelle zerolab


text:
Add docker and fig to get contributing faster

Hey there,
Love your work! I have been using wagtail since 0.3 and it has been great!
I wanted to help out and contribute, but I am primarily a Ruby developer so I am having trouble figuring out how to setup the repo and get all the tests running etc.
I use Docker and Fig (now docker-compose) for my dev at work, and thought it would be great to have that same setup here, so that it is really simple for people to get setup so that the barrier to contribution for non-Python devs is lower.
This is just a start, but I wanted to know your thoughts on the matter and if its of interest we can work on getting a more complete setup and perhaps multiple docker files for different python versions connected to different databases in the fig.yml.

+1 from me!

Thanks a lot, @pvdvreede! This looks really good. What would 'a more complete setup' look like?

Well if this PR gets merged into docker-compose: https://github.com/docker/compose/pull/1075/files, then we could have a Dockerfile.py2 a Dockerfile.py3 and then in the fig.yml (which would be renamed to docker-compose.yml) we could have a apppy2 container and a apppy3 container, so that you could run tests with docker-compose run apppy2 make test and docker-compose run apppy3 make test. You can then extrapolate the docker containers to all connect to different databases as well if you need, and for different django versions as well.
However, we can just leave it as it is for the moment, to either use python 2.7 (as it currently is) or python 3.4 and it would just be a good start to get contributing.
The thing I would need help from you guys with is what should actually go in the Dockerfile to make sure the environment is setup correctly. Maybe I have done it correctly, and indeed the tests work and pass, but not sure if I am missing anything.

It appears that the .drone.yml file can actually do this.
If you download the drone client and run drone build . it will build a local docker container and run the tests.

That is a good advantage @kaedroho to have the same environment as tests. Do you know if you can setup the .drone.yml do run a matrix of different python versions and databases as well? That would be the optimum thing if you could run one command to run all tests across all supported python versions and dbs before you push.
I know docker-compose will support the dockerfile option soon so that it will possible to do this with docker-compose. If drone can also do it, then that would be good enough for me...

Matrix builds are coming to Drone, but not quite there. See https://github.com/drone/drone/issues/6

Setup scripts like this are very definitely welcome, but including them as an officially-supported tool within the Wagtail repo is a bit problematic. It means that we need to keep them up to date whenever our build dependencies change (such as CSS precompilation #1228, which has been added since this PR was submitted) - and since we don't enforce the use of any particular virtualisation platform, we can't count on developers having the knowledge to do that (or the means to test their changes).
I think the best way forward is for these scripts to live outside of the main repo as unofficial / semi-official packages (as I've done with my Vagrant script that serves much the same purpose as this one: https://github.com/gasman/vagrant-wagtail-develop) - and link to them from the developer documentation.

Thats a fair call. I will close this PR and see if I can setup this stuff as a separate repo, then maybe make another PR for the doco with a link.

Also, instead of add the env vars by this way:
environment:
   DATABASE_NAME: wagtail
   DATABASE_USER: postgres
   DATABASE_HOST: db

you can use an env var file and add and example copy of that file. something like:
env_file:
  - .env

and .env will look file like:
  DATABASE_NAME=wagtail
  DATABASE_USER=postgres
  DATABASE_HOST=db

i think looks nicer by this way. I just an idea

authors: antero10 gasman kaedroho pvdvreede tomdyson zerolab


text:
Replace urlparse with urlsplit

urlsplit is approximately 6x faster.
See also similar change in Django: https://github.com/django/django/pull/18187
Much like the Django PR, I've not touched calls where the .path is used, as the semantics change. It's ok however to port if the usage is just going into urlunsplit again.
The most annoying remaining place is in the redirects middleware. Redirects currently support using the old-style path parameters, which require the use of urlparse to pull out the params. urlparse is called during normalization, and called at least twice per request (at least inside RedirectMiddleware). Being able to replace this with urlsplit would improve performance not in a noticable way, but would require breaking any redirect uses of path parameters.

Merged in d1a0f4cd294d8ed71a8341fee105b7ac3009e1c4

authors: RealOrangeOne gasman


text:
RichTextField.deconstruct method

It should include the features & editor kwargs

Hi @danthedeckie - thanks for the PR.
Do you have a specific use-case in mind for this? Despite what the TODO note says, I'm thinking it might actually make more sense to leave this as-is, since changing this will cause new migrations to be generated on all rich text fields when users next upgrade Wagtail (which is what's causing the test failures here - there are changes in the test models that aren't accounted for by migrations), and I suspect there are very few situations where having an accurate features / editor value inside migrations would be any benefit.

The specific use case that made me notice this was we have a site with a few languages all on the same model (pre wagtail multilingual support) and we have a TranslatedField which works kinda similar to ArrayField:
class WhateverPage(Page):
    translated_title = TranslatedField(models.CharField(max_length=100, blank=True))
    translated_subtitle = TranslatedField(RichTextField(features=['bold', 'italic', 'link'], blank=True))

kind of thing - then the TranslatedField generates all the underlying fields on the model - equivalent of:
    spanish_subtitle=RichTextField(features=['bold', 'italic', 'link'], blank=True)
    german_subtitle=RichTextField(features=['bold', 'italic', 'link'], blank=True)
    english_subtitle=RichTextField(features=['bold', 'italic', 'link'], blank=True)

and then the accessor on translated_subtitle returns the appropriate field depending on your current language.  It works pretty well - except that the RichTextField, missing the features, ends up creating all the fields w/o features set.
We've got around it by subclassing RichTextField with the changes in the PR.

Our TranslatedField is something like:
 class TranslatedField:
    def __init__(self, base_field, other_options):
        self.base_field = base_field

    def contribute_to_class(self, cls, name):
        for language in SITE_LANGUAGE_CODES:
            field = self.base_field.clone()
            field_name = f"{name}_{language}"
            setattr(cls, field_name, field)
            field.contribute_to_class(cls, field_name)

(There's a bit more to it than that the codebase, handling extra options, over-rides, re-using existant fields, keeping track of the new fields for accessing, etc.)
So when the field is initialised by django, it clones the base field, and attaches them to the model.

Ah, I see - self.base_field.clone() makes use of deconstruct, so this is about making clone behave correctly and not about migrations as I thought...
So, the question remains about how to deal with the migrations that we'll end up creating on everyone's existing RichTextFields due to this change of representation. I can see three possibilities:

accept that it will happen (and fix up Wagtail's own test migrations accordingly)
make the deconstruct logic a bit smarter so that it only adds the features and editor kwargs to the deconstructed representation if they differ from the system-wide default
Instead of changing deconstruct, override RichTextField.clone to pass on the features and editor kwargs - that way clone will work as intended without any impact on migrations

I'm thinking that option 3 is the way forward - what do you think?
For the record, I suspect there are other places in Wagtail where the deconstruct result is not a 100% accurate copy of the field - for example, not preserving the widget kwarg on choice blocks within StreamField - it's possible that your code may trip up on these too.

I've updated the PR to approach 3 like you suggested. It still seems to work correctly for us here 👍
Would you like me to squash the PR completely?

Thanks again @danthedeckie! Now merged in fee65a93458b0c4b0b68dfefade13fda9c6291cb. What name would you like to be credited under in CONTRIBUTORS.rst?

Thanks again @danthedeckie! Now merged in fee65a9. What name would you like to be credited under in CONTRIBUTORS.rst?

"Daniel Fairhead" would be great!
Thanks @gasman

authors: danthedeckie gasman


text:
Move editor guide content to its own website

Do not merge. This PR removes all content related to the editor guide, now that it lives on guide.wagtail.org password-protected for a few more days. Username: wagtail, password: wagtail – this is just to prevent crawlers from accessing the site.
After review and before merging this, we need to:

[ ] Remove password-protection on the site.
[ ] That’s it?

After merging this, we need to:

[ ] Wait for the Read the Docs latest build to finish
[ ] Create redirects from now-inexistent latest pages, to the new site https://github.com/wagtail/guide/issues/92
[ ] Create redirects from stable pages, to the new site (will only take effect upon removal of the pages)
[ ] Cherry-pick this to the stable/4.1.x branch

Converted this to a draft PR just for safety's sake :)
This doesn't prevent code reviews from being done on the Files tab.

Cherry-picked to stable/4.1.x in https://github.com/wagtail/wagtail/commit/1397a4b030d31247c4b45058792c5d932c79aa90

Wow - incredible stuff Thibaud!

authors: Scotchester gasman lb- thibaudcolas


text:
Fixed: Wagtail userbar toggle doesn't close the userbar

Issue Summary:
When the user clicks on the user bar toggle button, the content displays fine. But when it's clicked again and the content is supposed to disappear, they don't. The content disappears for some seconds and then reappears again. Then also, the first list item of has a yellow border around it when the toggle event is triggered.
**Fixed:**https://github.com/wagtail/wagtail/issues/9342

By setting the value to true in hideUserbar(true).

Before
https://user-images.githubusercontent.com/76876709/202866459-311d4606-5823-452b-a01a-32dc37714238.mp4
After
https://user-images.githubusercontent.com/76876709/202866470-72cf6f89-627d-447e-b0d1-936e92b3b94f.mp4
Please check the following:

[ ] Do the tests still pass?[^1]
[ ] Does the code comply with the style guide?

[ ] Run make lint from the Wagtail root.

[ ] For Python changes: Have you added tests to cover the new/fixed behaviour?
[ ] For front-end changes: Did you test on all of Wagtail’s supported environments?[^2]

[ ] Please list the exact browser and operating system versions you tested:
[ ] Please list which assistive technologies [^3] you tested:

[ ] For new features: Has the documentation been updated accordingly?

Please describe additional details for testing this change.
[^1]: Development Testing
[^2]: Browser and device support
[^3]: Accessibility Target

I’ll close this now as #9808 takes LB’s feedback into account to fix this issue.