text:
Option to generate caniuse panels for EDs only

As discussed in https://github.com/w3c/csswg-drafts/issues/1219#issuecomment-295034986, pending some improvements to bikeshed's handling of caniuse panels (or pending agreement that it is fine as is), the CSSWG has decided to use caniuse panels in EDs only for now.
Adding this metadata in the spec, turning Include Can I Use Panels on and off every time I want to publish a draft based on what status it should have is a pain and error prone.
It would be great if the Include Can I Use Panels key was extended to make that easier. For instance, in addition of "true" and "false", it could also take "ED" and only generate caniuse table is the Status is ED. (or if you want to be more generic, it could take a coma separate lists of statuses, and generate if the current status is one in the list).

Actually, no need for this special syntax. Instead, just setting Include Can I Use Panels to yes in the CSSWG's defaults-ED.include does the trick just fine, as long as you then leave it unset in the actual draft.
Submitted PR #1012 for this.

Closing in favor of #1014, since being able to do this roundabout via boilerplate files but not directly is silly.

authors: frivoal tabatkins

repo: tabatkins/bikeshed


text:
Exception in thread "main" java.util.NoSuchElementException

When I run the tool in command line, it prompted the following error, and generated an empty csv file. Could you please help to investigate?
-p all -a 617.684,73.259,776.103,315.722 -o pdf01.csv test_pdf2.pdf
Exception in thread "main" java.util.NoSuchElementException
at java.util.ArrayList$Itr.next(Unknown Source)
at java.util.Collections.min(Unknown Source)
at technology.tabula.Page.getArea(Page.java:67)
at technology.tabula.CommandLineApp.extractTables(CommandLineApp.java:14
7)
at technology.tabula.CommandLineApp.main(CommandLineApp.java:60)

Hi @xeonhh,
Can you send us the PDF, so we can examine the issue for ourselves?
You can send the PDF any of the following three ways:

send a link, if the PDF is accessible over the internet
attach it via Github's web Issues interface, if the document is not sensitive. (You must use the web interface. If you attempt to attach it to an email reply to GitHub, it will not be sent.)
send it directly by email to me (or another Tabula collaborator), using the email address in my profile. If the document is sensitive, please say so.

I think this is the same as https://github.com/tabulapdf/tabula/issues/573

closed via #131; fix will be in next release

source: gharchive/issue

authors: jazzido jeremybmerrill xeonhh

repo: tabulapdf/tabula-java

license: mit

license_type: permissive

license_source: bigquery


text:
Unable to generate output CSV

I'm only getting this message below when executing the tabula java using the PDF file in this url (http://www.state.nj.us/comptroller/divisions/medicaid/disqualified/monthly_exclusion_report.pdf).
The output csv file contains nothing after running the conversion and no errors logs displayed in the console .
I tried converting this using Acrobat and it was able to convert it to Excel with no issues at all.
By the way, Tabula is working fine when converting the old version of this pdf (previous month report file from NJ state). Here is the link to the working pdf version (http://www.nj.gov/comptroller/divisions/medicaid/disqualified/monthly_exclusion_report_11_30_2015.pdf)

Did you solve the issue? How?


text:
Move Helvetica down in sans-serif font stack

#428 #461

a good guide: https://woorkup.com/system-font/

Not looking to adjust the font-stack at this time but thank you for contributing.

source: gharchive/pull-request

authors: luizbills mrmrs straurob

repo: tachyons-css/tachyons


text:
dll x64 architecture error

when i just click play, the console show this error :
Failed to load 'Assets/Plugins/x86_64/taichi_c_api.dll', expected x64 architecture, but was Unknown architecture. You must recompile your plugin for x64 architecture.
but i've checked dll inspector , which is x64 architecture.
I wonder how to deal with this problem？ thx

I wonder what's your platform? Are you using Windows?

I wonder what's your platform? Are you using Windows?
Yes, Does it not support windows?

It actually supports windows in the first place and it's tested by our CI server... That's an issue. Thanks for the report. Will look into this.

Thanks a lot, it's very strange that my friend's windows works. I'm looking for the difference, I'll report back here if I make progress

@PENGUINLIONG I solved this problem, the dll of git clone can run normally, but this error will be reported when downloading the zip package.
BTW，I noticed that some local binary files (edges, c2e, etc.) are loaded in the fem demo. What do these binary files represent? Why do I write it like this? If I want to port the taichi fem algorithm to my model (FBX) ,What should I do?

e same problem with Failed to load 'Assets/Plugins/x86_64/taichi_unity.dll', expected x64 architecture, but was Unknown architecture. You must recompile your plugin for x64 architecture.
My system is window.
The version of unity is 2021.3.41.
Do I need to recompile taichi_unity.dll and taichi_c_api.dll according to the error message?

I have a same problem with Failed to load Assets/Plugins/x86_64/taichi_unity.dll, expected x64 architecture, but was Unknown architecture. You must recompile your plugin for x64 architecture. and Failed to load 'Assets/Plugins/x86_64/taichi_c_api.dll', expected x64 architecture, but was Unknown architecture. You must recompile your plugin for x64 architecture.
My system is window.
The version of unity is 2021.3.41.
Do I need to recompile taichi_unity.dll and taichi_c_api.dll according to the error message?

repo: taichi-dev/Taichi-UnityExample

license_source: github-api


text:
xtensa: Support load/store (experimental)

The first step of Xtensa support.

Btw, the reason we cannot yet support CAS (on esp32 and esp32s3) is that support for target features is broken and cfg(target_feature = "s32c1i") always evaluates to false.

repo: taiki-e/atomic-maybe-uninit


text:
Cleanup CI config

FIx minimal versions check.
Run tests on all versions.

bors r+

repo: taiki-e/iter-enum


text:
Update zio, zio-test, zio-test-sbt to 2.0.12

About this PR
📦 Updates

dev.zio:zio
dev.zio:zio-test
dev.zio:zio-test-sbt

from 2.0.6 to 2.0.12
📜 GitHub Release Notes - Version Diff
Usage
✅ Please merge!
I'll automatically update this PR to resolve conflicts as long as you don't change it yourself.
If you'd like to skip this version, you can just close this PR. If you have any feedback, just mention me in the comments below.
Configure Scala Steward for your repository with a .scala-steward.conf file.
Have a fantastic day writing Scala!

⚙ Adjust future updates
Add this to your .scala-steward.conf file to ignore future updates of this dependency:
updates.ignore = [ { groupId = "dev.zio" } ]

Or, add this to slow down future updates of this dependency:
dependencyOverrides = [{
  pullRequests = { frequency = "30 days" },
  dependency = { groupId = "dev.zio" }
}]

labels: library-update, early-semver-patch, semver-spec-patch, commit-count:1

Superseded by #78.

repo: tailcallhq/zio-compose

license: MIT


text:
Inconsistency of syntactical sites to become node names between nodes and their child nodes

As we can see below,

whether nodes have arguments, properties or doesn't have one at all,
whether they are modelled by tuple structs, struct structs or unit structs,

knuffel's mantra in mapping KDL to Rust should be simple: a node's name is a struct's name or an enum's variant name:

node0

node1 1 "hoge"

node2 a=1 b="hoge"

structs

#[derive(Decode)]
struct Node0;

#[derive(Decode)]
struct Node1(
    #[knuffel(argument)] i32,
    #[knuffel(argument)] String
);

#[derive(Decode)]
struct Node2(
    #[knuffel(property(name = "a"))] i32,
    #[knuffel(property(name = "b"))] String
);

#[derive(Decode)]
struct Node1 {
    #[knuffel(argument)] a: i32,
    #[knuffel(argument)] b: String
}

#[derive(Decode)]
struct Node2 {
    #[knuffel(property)] a: i32,
    #[knuffel(property)] b: String
}

enums

                          #[derive(Decode)]
                            enum Node {
                                Node0,
                                Node1(
                                    #[knuffel(argument)] i32,
                                    #[knuffel(argument)] String
                                ),
                                Node2(
                                    #[knuffel(property(name = "a"))] i32,
                                    #[knuffel(property(name = "b"))] String
                                )
                            }

                          #[derive(Decode)]
                            enum Node {
                                Node0,
                                Node1 {
                                    #[knuffel(argument)] a: i32,
                                    #[knuffel(argument)] b: String
                                },
                                Node2 {
                                    #[knuffel(property)] a: i32,
                                    #[knuffel(property)] b: String
                                }
                            }

But when it comes to modelling children, knuffel supposes a different syntactical site to be those children's names:
node {
  child 1
}

is modelled not by
#[derive(Decode)]
struct Node {
    #[knuffel(child)]
    a: Child
}

#[derive(Decode)]
struct Child(#[knuffel(argument)] i32);

but
#[derive(Decode)]
struct Node {
    #[knuffel(child)]
    child: A
}

#[derive(Decode)]
struct A(#[knuffel(argument)] i32);

And this is the cause of every problem in knuffel ––

Impossibility

Since the child's name is anchored by the field's name, enums with Decode cannot be used for the single child. #7

Inconsistency

This especially comes up when combined with serde's Serialize derive macro and knuffel::parse::<Vec<Node>> pattern, where the Node's aren't camel-cased (node) but outputted raw (Node).

Redundancy

children directive takes name argument.
node_name attribute.
type_name attribute.

Partiality

Tuple structs cannot have children, only struct structs can.

Incompleteness

Structural typing

Instead of nominal typing which must be the culmination in writing KDL and the shared spirit with Rust.

Well, yes we use Rust attribute names for the names of childs. I think this leads to a better reusability.
And node_name and type_name attributes are needed to model more complex stuff, where custom node names can be used by user of the kdl file. I.e:
files {
  user_file1
  user_file2
}

In your model, user_file1 and user_file2 should be rust type names which doesn't make sense.
I don't think struct's inner type name can be used for matching:

Because it'll make more parser building at runtime (i.e we have to find out all children type names from fields first, because this is limitation of rust derives). So no compile-time checking of fields, which is a strong thing for knuffel.
It's unclear what to do with:

struct Document { a: Child, b: Child, c: Child }

I don't think "positional-named" childs make sense (i.e. every child matches by type name, and then also by position).
Generally knuffel allows you chosing one of the three node styles:

It's a "record". Where each child is a named property (use child with property names)
It's a bunch of nodes, each one of a set of types (use children with an enum as property type)
It's a dict where every node can be named differently (use children with property type of struct having node_name inside).

It also allows combining (1) and (2) or (3). Which is enough for config files. And for very special things it can be emulated by some of these methods and adding a postcheck.
I think this is generally flexible enough. Although, I understand that guide-level documentation is missing. So I appreciate contributions for the documentation.

I’m glad to know that you’ve come back! 🇺🇦
I have forked your knuffel and actually fixed nearly every problem and issues submitted to this project. I have made a considerable amount of changes both in its implementation and concepts, and each of them would be exciting and make sense for you, the original author, as well. So please check it out https://github.com/synthet-ic/kfl!
Some of the changes includes:

Make knuffel completely nominal-typing and trait-driven
Implement Encode and its derive macro
Make KDL scalar values more literal

——
As a reply only to this issue, the point was (as a hindsight from the huge refactoring) it’s not about positional but quantification of children, from only n to 0/1/n, like regex. And if you want to have multiple children of the same type, you must declare the name (=type) for those values first:
files {
  file user_file1
  file user_file2
}

This is the idea of nominal-typing. Actually, as a hindsight again, node_name and type_name have different and necessary meanings in the AST: they are a variant name and an enum name when a node is defined by an enum.

Otherwise, the two (not three, four, .. but two) values must have distinct purposes in your configuration that deserve each different name (=type), for example, src and dest.

Right. And this is actually a feature :)

Make knuffel completely nominal-typing and trait-driven

You mean for children only right? Because for scalars I don't see any difference.

Implement Encode and its derive macro

Great!

Make KDL scalar values more literal

Not sure what it means.

Overall on your examples I see the only difference, is that sometimes you need to put a name on the children:
#[derive(Decode)]
struct Document {
    #[kfl(children(name="route"))]
    routes: Vec<Route>,
    #[kfl(children(name="plugin"))]
    plugins: Vec<Plugin>,
}

Which is a good trade off. Because I remember sometimes I want reuse types, like in your example:
#[derive(Decode)]
struct Document {
    #[kfl(child)]
    src: FileSpec,
    #[kfl(children(name="plugin"))]
    dest: FileSpec,
}

#[derive(Decode)]
struct FileSpec {
    #[kfl(argument)]
    filename: PathBuf,
    #[kfl(property)]
    format: FileFormat,
}

I have made KDL file format transparent to Rust itself

Sorry, but I'm not sure what that means.

Decode trait is now explicitly implemented for Option and Vec

Well, there are no arrays/lists/vectors in KDL, so what do you mean?
Regarding the option. I don't remember the details. But I probably could implement Option<T> where x=null means None, but absense of thing has to be processed by the macro itself.
I kinda understand that with enough trait magic that can be somehow solved, but I'm not sure if it's easy enough to make error handling on par when doing that.

now we are free from quoting scalar values such as /path/to/file, 172.0.0.1:80, 2023-3-15 or http://example.com

I think you have to quote arguments and properties by KDL spec. You can non-quote node names, but I usually don't like node names that look complex. But example that looks nice to you might help to get your understanding clearer.

if String is just another scalar value, what is 'literal' at this level?

Not sure what you mean. Literals in the AST are scalar values.

Your idea of exposing ast::Node for crate users

This is basically exposing dynamically typed documents as part of statically typed document. I needed that for plugins (i.e. to embed configuration of the plugin that isn't known at compile-time). And I got this idea from the serde.

authors: rnarkk tailhook

repo: tailhook/knuffel


text:
Not able to send data remotely..

I have run the sample app.I am facing following exception, any ideas how to resolve this-
FATAL EXCEPTION: Thread-357 Process: pl.tajchert.buswear.sample, PID: 5527
java.lang.NoSuchMethodError:com.google.android.gms.common.api.GoogleApiClient.blockingConnect at pl.tajchert.buswear.EventBus$SendByteArrayToNode.run(EventBus.java:796)

I have the same problem as you. I also tried with older versions of Google Play Services

I've faced the same issue when I tried to connect BusWear using gradle.
The only way I could find to fix it is downloading full library and connecting it as module.

authors: aksatoskar betrisey oleksiiborysenko

repo: tajchert/BusWear


text:
Allow for customizing equation numbering

#set math.equation(numbering: none) no longer has any effect when using ilm. Would it be possible to allow for such adjustments? Thank you!
To reproduce:
#import "@preview/ilm:1.4.0": *

#set math.equation(numbering: none)

#show: ilm

$ "equation automatically numbered" $

Since you want to override the default behavior of Ilm therefore you should specify your set and show rules after the #show: ilm.with().
For example, try this:
#import "@preview/ilm:1.4.0": *

#show: ilm.with(
  ...
)

#set math.equation(numbering: none)

$ "equation without numbering $

Thank you talal! I appreciate your efforts in developing this template!

authors: Epsilon-Delta-N talal

repo: talal/ilm


text:
Disabled flag on Input does not work

I'm happy to investigate this myself! But before doing so, figured I should create an issue. If you'd like me to take it on, just assign it to me. I'm using Tamagui for one of the frontends to my AGPL social media app, Jonline, and enjoy contributing back. I've also contributed to rocket_async_compression in furtherance of this project 🙂 But I'm also relatively new to frontend dev vs. backend dev, and so could just not be using Tamagui correctly! But I seem to be able to reproduce this from a starter repo.
(I have not tested in the regular web starter.)
Current Behavior

Create the starter app (Expo+Next).
Paste <Input disabled={true} placeholder="Type something..." /> into the home/screen.tsx file (and Input, into the import {...} from '@my/ui' of course).
Fire up the server (yarn web)

The input is not disabled. Futher, I seem to see client-side errors stemming from the onTextChanged callbeing being made when it shouldn't be.
Expected Behavior
The input should be disabled.
Tamagui Version
1.35.8

Reproduction
I honestly can't get this thing to log me in with Google or GitHub. Again:

1. Create the starter app.
2. Paste `<Input disabled={true} placeholder="Type something..." />` into the `home/screen.tsx` file. (Also add `Input,` to the `import {...} from '@my/ui'`)
3. Fire up the server.

System Info
System:
    OS: macOS 13.4
    CPU: (8) x64 Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
    Memory: 467.32 MB / 16.00 GB
    Shell: 5.9 - /bin/zsh
  Binaries:
    Node: 19.3.0 - ~/.nvm/versions/node/v19.3.0/bin/node
    Yarn: 1.22.19 - ~/.nvm/versions/node/v19.3.0/bin/yarn
    npm: 9.2.0 - ~/.nvm/versions/node/v19.3.0/bin/npm
  Browsers:
    Brave Browser: 110.1.48.158
    Chrome: 114.0.5735.133
    Safari: 16.5

Hi @JonLatane,
try it like that:
<Input editable={false} placeholder="Type something..." />

Andy

@megacherry This works! However, disabled is the parameter for Button, Switch, etc., so this API seems inconsistent. Would there be any opposition to me adding a PR to add disabled as an alias for editable on Input elements? Happy to do so 🙂

Depends on how we want it to work. Probably we shouldn't have added disabled, (is it on switch, perhaps extending themeablestack). The web does have a disabled state that we could technically implement as a pseudo style like disabledStyle. Not sure what's best.

sets editable=false in next release

authors: JonLatane megacherry natew

repo: tamagui/tamagui


text:
Ys chen0609 madlibs

Changed the receiver to John.

@HarshPatel187 This merge is all yours.

Hey, I have merged pull request.


text:
on my own data

您好，请问我在自己的数据集（室内场景）上没有取得很好地效果，可以修改那些参数来增强效果。

没有test time optimization 也结果很差吗？

您好，我有些关于这个代码的问题想咨询学习一下，内容详情请见附件
------------------ 原始邮件 ------------------
发件人:                                                                                "tangjiapeng/SA-ConvONet"                                                                                @.>;
发送时间: 2023年4月11日(星期二) 下午5:06
@.>;
@.@.>;
主题: Re: [tangjiapeng/SA-ConvONet] on my own data (Issue #13)
没有test time optimization 也结果很差吗？
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

您好，我有些关于这个代码的问题想咨询学习一下，内容详情请见附件。请您抽空解答下，拜托了。
------------------ 原始邮件 ------------------
发件人:                                                                                "tangjiapeng/SA-ConvONet"                                                                                @.>;
发送时间: 2023年4月11日(星期二) 下午5:06
@.>;
@.@.>;
主题: Re: [tangjiapeng/SA-ConvONet] on my own data (Issue #13)
没有test time optimization 也结果很差吗？
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

我这边看不到附件 不知道你的问题

------------------ 原始邮件 ------------------
发件人:                                                                                "tangjiapeng/SA-ConvONet"                                                                                @.>;
发送时间: 2023年4月13日(星期四) 晚上10:41
@.>;
@.@.>;
主题: Re: [tangjiapeng/SA-ConvONet] on my own data (Issue #13)
我这边看不到附件 不知道你的问题
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

非常感谢您抽时间看我留下的问题
问题一：我用代码提供的预训练好的模型迁移到我用的DTU数据集生成的点云上，没有训练新的模型，我想请教您如果想让模型看起来更好除了重新训练模型之外可以修改，config.yaml（以这个为例）中的哪些参数来改进，比如采样点的数量或者是大小一类
问题二：请问应该怎么评估自己的模型，这个带有法向信息的真值曲面如何获取
我看到您提供的四个数据集里边的内容是不相同的，然后分别用代码进行了预处理，这一步是在采样真值吗？
这个真值是.off形式的mesh还是.ply形式的点云。
如果是采样点云是否有代码获取这个采样点，因为提供的数据集好像不是都有真值
是否可用colmap获取的数据当做真值。
处理后的共通之处就是有个point.ply和pointcloud.npz这种文件。eval输入的数据好像只有points_iou.npz和pointcloud.npz，所以我不理解这个是怎么评价的。是评价的mesh随机采样点（真值）和输入点云数据之间的距离或者是差别嘛？
问题三：这个输出格式是体素还是面片
------------------ 原始邮件 ------------------
发件人:                                                                                "tangjiapeng/SA-ConvONet"                                                                                @.>;
发送时间: 2023年4月13日(星期四) 晚上10:41
@.>;
@.@.>;
主题: Re: [tangjiapeng/SA-ConvONet] on my own data (Issue #13)
我这边看不到附件 不知道你的问题
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

作者可以留个邮箱交流学习一下吗，关于这个网络对数据进行的预处理我有一些比较简单的问题想请教一下

抱歉，我不是作者，我也有一堆问题想要请教，预处理我只做成功了M3D数据集其他shapenet、scannet及室内的那个都没搞成
------------------ 原始邮件 ------------------
发件人:                                                                                "tangjiapeng/SA-ConvONet"                                                                                @.>;
发送时间: 2023年4月21日(星期五) 上午10:23
@.>;
@.@.>;
主题: Re: [tangjiapeng/SA-ConvONet] on my own data (Issue #13)
作者可以留个邮箱交流学习一下吗，关于这个网络对数据进行的预处理我有一些比较简单的问题想请教一下
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: @.***>

authors: Pacemak7r tangjiapeng zhao-you-fei

repo: tangjiapeng/SA-ConvONet


text:
[NotionConfig] 在Notion Config中配置WIDGET_PET_SWITCH_THEME为false后，依然能够通过点击桌面宠物切换主题

描述bug
在Notion中配置了WIDGET_PET_SWITCH_THEME为false

但是页面上点击桌面宠物还是会切换主题
在component/live2D.js文件中添加如下代码进行调试

在浏览器中点击live2D动画，通过siteConfig函数获取的值和NOTION_CONFIG中的值不同

siteConfig函数中使用了useGlobal钩子，但是siteConfig本身并不是一个React组件，猜想应该是这里获取值失败了
复现步骤
按照教程部署到Vercel, 在Notion中配置WIDGET_PET_SWITCH_THEME字段为false，点击博客页面的live2D动画，会切换主题
期望的正常结果
配置WIDGET_PET_SWITCH_THEME字段为false后不会切换主题
截图
【可选】相关的页面，应该的结果
环境
NotionNext v4.4.2
主题 hexo
部署方案 Vercel
操作系统 Windows
浏览器 Chrome
补充说明

建议还是写入 Vercel 的环境变量，因为很多配置是在打包的时候被写死了，这种动态读取其实不太稳定

感谢反馈，确实有些地方的读取不规范，我这边尽量完善一下。


text:
一直显示没有找到文章

pageid已经改过了，为什么还显示找不到文章

share也开了

代码要重新更新一下哦，今天下午刚修复了一个bug，会导致找不到文章。


text:
Resolve ambiguous draw rules by lexical sort

Sometimes a feature matches multiple layers, at the same depth, that set the same property (or properties). This isn't desirable because it's ambiguous, and should be avoided when authoring layer rules (it is often useful to write multiple layers that match the same feature, they should just be used to control different properties, for example one set of rules to control color and another parallel set to control order). However, it's also a little too easy to do accidentally :)
Previously, the resolution of which layer would "win" was undefined, leading to divergent behavior between Tangram JS and ES. This PR resolves the conflict by lexically sorting the layers by name. As with deeper layers overwriting the properties of shallower layers, the last layer sorted by name will overwrite any earlier layers. This means that if layers named layerA and layerB both try to set a property, the value defined in layerB will be used:
layers:
   layerA:
      color: red

   layerB:
      color: blue   # feature will be blue because `layerB` sorts after `layerA`

This is not intended as the final solution for this issue. But before we introduce additional syntax for reducing collisions, it provides a deterministic fallback behavior that can be used by both platforms. Note, a suggested and preferred resolution would be to use the rule that occurs later in the file, e.g. last definition wins. However, since plain JS objects don't guarantee sorting of keys by insertion order, it is not currently possible to implement this on the JS side; this could possibly be enabled by future additions to the js-yaml parser to either use an ES6 Map (which does support enumeration of keys by insertion order), or the addition of positional metadata for YAML mappings.

@blair1618 there are some other incidental changes and a test here, but it basically boils down to this sort: https://github.com/tangrams/tangram/pull/225/files#diff-deabab718e02af3782a643dcdbbde01aR48

repo: tangrams/tangram


text:
All of the examples are broke

Hey, I'm seeing the same error across the board:

I can see the examples by clicking 'Open in CodeSandbox' and then clicking 'Add performance-now as dependency'.

same issue

Due to a massive overhaul and rewrite of React Charts to TypeScript and a massively upgraded public API, this issue is being bulk closed for triage. The latest version can be tested via the react-charts@beta tag. Documentation is in the process of being upgraded, but thankfully, everything is fully typed now, so you can explore the API that way for now.
If, after testing or playing with the v3 beta, you believe your issue is still not addressed or relevant, feel free to open a new issue.

authors: JiangWeixian f-felicio mikestopcontinues tannerlinsley

repo: tannerlinsley/react-charts


text:
[Feature Request] useClearQueryCache Hook

Hey, I just thought it'd be nice to have a hook to clear the query cache.
I think it would just be:
const useClearQueryCache = () => {
  useEffect(() => {
    clearQueryCache()
  })
}

Seems simple enough to do on your own if you need to. I don’t think we need to add those kbs to the lib for that.

Fair enough :)

authors: JaceHensley tannerlinsley

repo: tannerlinsley/react-query


text:
Adding default filters

I didn't managed to add filters.
The docs says just to add showFilters={true} (or just showFilters) to the component.
But still  i cant see the filters.
Current Component:
          <ReactTable
          loadingText={this.state.loadingText}
          data={this.state.data}
          columns={this.state.columns}
          showFilters={true}
          loading={this.state.loading} />

There is another setting needs to be done to acheive default filtering?

That should work. What version are you using?

"react-table": "^5.3.5",

Do i need to add anything besides that showFilters?

You need to upgrade to at least version 5.5.0 to use filters.

Worked! Thank you!!!!

Awesome!

repo: tannerlinsley/react-table


text:
Total number of records inside the pager.

Not a bug, but can we have an optional component inside the pager to show the total number of records in the entire list?

This is possible with a custom pagination component. We invite you to join the slack channel and ask for help there or on stack overflow. Thanks!

I'm stuck with this too, so is there any example?

why close this?  This should be a feature request.   It would be really useful to see this in the pagination footer: Showing 11-21 of 50 total rows

Not perfect, but here's a quick pass at modifying the default pagination component to add row counts in the above format:
import React, { Component } from 'react'
import classnames from 'classnames'

const defaultButton = props => (
  <button type="button" {...props} className="-btn">
    {props.children}
  </button>
)

export default class CBReactTablePagination extends Component {
  constructor (props) {
    super()

    this.getSafePage = this.getSafePage.bind(this)
    this.changePage = this.changePage.bind(this)
    this.applyPage = this.applyPage.bind(this)

    this.updateCurrentRows(props)

    this.state = {
      page: props.page
    }
  }

  componentWillReceiveProps (nextProps) {
    this.setState({ page: nextProps.page })

    this.updateCurrentRows(nextProps)
  }

  updateCurrentRows(props) {
    if (   typeof props.data  !== 'undefined'
        && typeof props.page !== 'undefined'
        && typeof props.pageSize !== 'undefined'
    ){
      this.rowCount = props.data.length
      this.rowMin = props.page * props.pageSize + 1
      this.rowMax = Math.min((props.page + 1) * props.pageSize, this.rowCount)
    }
  }

  getSafePage (page) {
    if (isNaN(page)) {
      page = this.props.page
    }
    return Math.min(Math.max(page, 0), this.props.pages - 1)
  }

  changePage (page) {
    page = this.getSafePage(page)
    this.setState({ page })
    if (this.props.page !== page) {
      this.props.onPageChange(page)
    }

    this.updateCurrentRows(page)
  }

  applyPage (e) {
    if (e) { e.preventDefault() }
    const page = this.state.page
    this.changePage(page === '' ? this.props.page : page)
  }

  render () {
    const {
      // Computed
      pages,
      // Props
      page,
      showPageSizeOptions,
      pageSizeOptions,
      pageSize,
      showPageJump,
      canPrevious,
      canNext,
      onPageSizeChange,
      className,
      PreviousComponent = defaultButton,
      NextComponent = defaultButton,
    } = this.props

    return (

          <PreviousComponent
            onClick={() => {
              if (!canPrevious) return
              this.changePage(page - 1)
            }}
            disabled={!canPrevious}
          >
            {this.props.previousText}
          </PreviousComponent>

            {this.props.pageText}{' '}
            {showPageJump
              ?

                <input
                  type={this.state.page === '' ? 'text' : 'number'}
                  onChange={e => {
                    const val = e.target.value
                    const page = val - 1
                    if (val === '') {
                      return this.setState({ page: val })
                    }
                    this.setState({ page: this.getSafePage(page) })
                  }}
                  value={this.state.page === '' ? '' : this.state.page + 1}
                  onBlur={this.applyPage}
                  onKeyPress={e => {
                    if (e.which === 13 || e.keyCode === 13) {
                      this.applyPage()
                    }
                  }}
                />

              :
                {page + 1}
              }{' '}
            {this.props.ofText}{' '}
            {pages || 1}

          {(typeof this.rowCount !== 'undefined') ?
              {"Showing "}
                {this.rowMin}
                  {" - "}
                {this.rowMax}
                  {" of "}
                {this.rowCount}
                  {" total rows"}

            : ''}

          {showPageSizeOptions &&

              <select
                onChange={e => onPageSizeChange(Number(e.target.value))}
                value={pageSize}
              >
                {pageSizeOptions.map((option, i) => (
                  // eslint-disable-next-line react/no-array-index-key
                  <option key={i} value={option}>
                    {option} {this.props.rowsText}
                  </option>
                ))}
              </select>
            }

          <NextComponent
            onClick={() => {
              if (!canNext) return
              this.changePage(page + 1)
            }}
            disabled={!canNext}
          >
            {this.props.nextText}
          </NextComponent>

    )
  }
}

Import the above and wherever you drop in a react-table just add
PaginationComponent={CBReactTablePagination} or whatever you want to call it

@Morasta  - Thanks for sharing your script.  That saved me a lot of time in my own implementation.
Since I am using filters on all of my columns, I wanted to output how many rows are actually showing on screen.
Thus, I changed one item in your updateCurrentRows method:
   updateCurrentRows(props) {
        if (   typeof props.data  !== 'undefined'
            && typeof props.page !== 'undefined'
            && typeof props.pageSize !== 'undefined'
        ){
            this.rowCount = props.sortedData.length
            this.rowMin = props.page * props.pageSize + 1
            this.rowMax = Math.min((props.page + 1) * props.pageSize, this.rowCount)
        }
    }

I am using "sortedData" array instead of the "data" array in this method.  That array, at least as far as I can tell, contains only the filtered / sorted data.
This appears to do the trick.  Thanks again!

That's awesome. I am also using filters in a couple places, thanks for sharing the change you made to use filtered counts!
I think maybe the first if check should be props.sortedData to make sure there's data in there (no results may cause errors?).

@Morasta - Thanks.
I can definitely understand the logic of wanting to check against props.sortedData.  I am very new to React Table so I cannot speak definitely on whether that would make a difference.
Is there ever a case where props.sortedData would be undefined but props.data wouldn't?
I haven't hit that case yet but I can see where the code would seem to make sense more if we were checking against sortedData.

Thanks to both @Morasta and @aldefouw for their work, very useful to me on a tight deadline here. Also very new to React-Table so this was a great example of how it can be extended.

@dilushi : Glad you found it helpful!
Here's a VERY rough addition of adding first and last buttons:
import React, { Component } from 'react'
import classnames from 'classnames'
// import _ from './utils'

/*
  Custom react table pagination with row count support
  Based on core component: https://github.com/react-tools/react-table/blob/master/src/pagination.js
*/

const defaultButton = props => (
  <button type="button" {...props} className="-btn">
    {props.children}
  </button>
)

export default class CBReactTablePagination extends Component {
  constructor (props) {
    super()

    this.getSafePage = this.getSafePage.bind(this)
    this.changePage = this.changePage.bind(this)
    this.applyPage = this.applyPage.bind(this)

    this.updateCurrentRows(props)

    this.state = {
      page: props.page
    }
  }

  componentWillReceiveProps (nextProps) {
    this.setState({ page: nextProps.page })

    this.updateCurrentRows(nextProps)
  }

  updateCurrentRows(props) {
    if (   typeof props.sortedData  !== 'undefined'
        && typeof props.page !== 'undefined'
        && typeof props.pageSize !== 'undefined'
    ){
      this.rowCount = props.sortedData.length
      this.rowMin = props.page * props.pageSize + 1
      this.rowMax = Math.min((props.page + 1) * props.pageSize, this.rowCount)
    }
  }

  getSafePage (page) {
    if (isNaN(page)) {
      page = this.props.page
    }
    return Math.min(Math.max(page, 0), this.props.pages - 1)
  }

  changePage (page) {
    page = this.getSafePage(page)
    this.setState({ page })
    if (this.props.page !== page) {
      this.props.onPageChange(page)
    }

    this.updateCurrentRows(page)
  }

  applyPage (e) {
    if (e) { e.preventDefault() }
    const page = this.state.page
    this.changePage(page === '' ? this.props.page : page)
  }

  render () {
    const {
      // Computed
      pages,
      // Props
      page,
      showPageSizeOptions,
      pageSizeOptions,
      pageSize,
      showPageJump,
      canPrevious,
      canNext,
      onPageSizeChange,
      className,
      PreviousComponent = defaultButton,
      NextComponent = defaultButton,
    } = this.props

    console.log("pagination props")
    console.log(this.props)

    return (

          <PreviousComponent
            onClick={() => {
              if (!canPrevious) return
              this.changePage(0)
            }}
            disabled={!canPrevious}
          >
            {'|<'}
          </PreviousComponent>

          <PreviousComponent
            onClick={() => {
              if (!canPrevious) return
              this.changePage(page - 1)
            }}
            disabled={!canPrevious}
          >
            {this.props.previousText}
          </PreviousComponent>

            {this.props.pageText}{' '}
            {showPageJump
              ?

                <input
                  type={this.state.page === '' ? 'text' : 'number'}
                  onChange={e => {
                    const val = e.target.value
                    const page = val - 1
                    if (val === '') {
                      return this.setState({ page: val })
                    }
                    this.setState({ page: this.getSafePage(page) })
                  }}
                  value={this.state.page === '' ? '' : this.state.page + 1}
                  onBlur={this.applyPage}
                  onKeyPress={e => {
                    if (e.which === 13 || e.keyCode === 13) {
                      this.applyPage()
                    }
                  }}
                />

              :
                {page + 1}
              }{' '}
            {this.props.ofText}{' '}
            {pages || 1}

          {(typeof this.rowCount !== 'undefined') ?
              {"Showing "}
                {this.rowMin}
                  {" - "}
                {this.rowMax}
                  {" of "}
                {this.rowCount}
                  {" total rows"}

            : ''}

          {showPageSizeOptions &&

              <select
                onChange={e => onPageSizeChange(Number(e.target.value))}
                value={pageSize}
              >
                {pageSizeOptions.map((option, i) => (
                  // eslint-disable-next-line react/no-array-index-key
                  <option key={i} value={option}>
                    {option} {this.props.rowsText}
                  </option>
                ))}
              </select>
            }

          <NextComponent
            onClick={() => {
              if (!canNext) return
              this.changePage(page + 1)
            }}
            disabled={!canNext}
          >
            {this.props.nextText}
          </NextComponent>

          <NextComponent
            onClick={() => {
              if (!canNext) return
              this.changePage(pages)
            }}
            disabled={!canNext}
          >
            {'>|'}
          </NextComponent>

    )
  }
}

And some quick and dirty CSS to get ya started:
/* Pagination */
.ReactTable .-pagination .-first {
    margin-right: 3px;
}
.ReactTable .-pagination .-last {
    margin-left: 3px;
}

please let me know, how can i added optional totalPages ?
example server response :
{
data: [
{id: 0},{id: 1},{id: 2},{id: 3},{id: 4},{id: 5}
],
pages: { totalPages: 10 }
}
i want show "Page 1 of 10" with 5 rows 5 records but i can't custom totalPages

@dilushi : Glad you found it helpful!
Here's a rough addition of first and last buttons. I repurposed the Previous and Next components and changed which page they reference for navigation.
import React, { Component } from 'react'
import classnames from 'classnames'
// import _ from './utils'

/*
  Custom react table pagination with row count support
  Based on core component: https://github.com/react-tools/react-table/blob/master/src/pagination.js
*/

const defaultButton = props => (
  <button type="button" {...props} className="-btn">
    {props.children}
  </button>
)

export default class CBReactTablePagination extends Component {
  constructor (props) {
    super()

    this.getSafePage = this.getSafePage.bind(this)
    this.changePage = this.changePage.bind(this)
    this.applyPage = this.applyPage.bind(this)

    this.updateCurrentRows(props)

    this.state = {
      page: props.page
    }
  }

  componentWillReceiveProps (nextProps) {
    this.setState({ page: nextProps.page })

    this.updateCurrentRows(nextProps)
  }

  updateCurrentRows(props) {
    if (   typeof props.sortedData  !== 'undefined'
        && typeof props.page !== 'undefined'
        && typeof props.pageSize !== 'undefined'
    ){
      this.rowCount = props.sortedData.length
      this.rowMin = props.page * props.pageSize + 1
      this.rowMax = Math.min((props.page + 1) * props.pageSize, this.rowCount)
    }
  }

  getSafePage (page) {
    if (isNaN(page)) {
      page = this.props.page
    }
    return Math.min(Math.max(page, 0), this.props.pages - 1)
  }

  changePage (page) {
    page = this.getSafePage(page)
    this.setState({ page })
    if (this.props.page !== page) {
      this.props.onPageChange(page)
    }

    this.updateCurrentRows(page)
  }

  applyPage (e) {
    if (e) { e.preventDefault() }
    const page = this.state.page
    this.changePage(page === '' ? this.props.page : page)
  }

  render () {
    const {
      // Computed
      pages,
      // Props
      page,
      showPageSizeOptions,
      pageSizeOptions,
      pageSize,
      showPageJump,
      canPrevious,
      canNext,
      onPageSizeChange,
      className,
      PreviousComponent = defaultButton,
      NextComponent = defaultButton,
    } = this.props

    console.log("pagination props")
    console.log(this.props)

    return (

          <PreviousComponent
            onClick={() => {
              if (!canPrevious) return
              this.changePage(0)
            }}
            disabled={!canPrevious}
          >
            {'|<'}
          </PreviousComponent>

          <PreviousComponent
            onClick={() => {
              if (!canPrevious) return
              this.changePage(page - 1)
            }}
            disabled={!canPrevious}
          >
            {this.props.previousText}
          </PreviousComponent>

            {this.props.pageText}{' '}
            {showPageJump
              ?

                <input
                  type={this.state.page === '' ? 'text' : 'number'}
                  onChange={e => {
                    const val = e.target.value
                    const page = val - 1
                    if (val === '') {
                      return this.setState({ page: val })
                    }
                    this.setState({ page: this.getSafePage(page) })
                  }}
                  value={this.state.page === '' ? '' : this.state.page + 1}
                  onBlur={this.applyPage}
                  onKeyPress={e => {
                    if (e.which === 13 || e.keyCode === 13) {
                      this.applyPage()
                    }
                  }}
                />

              :
                {page + 1}
              }{' '}
            {this.props.ofText}{' '}
            {pages || 1}

          {(typeof this.rowCount !== 'undefined') ?
              {"Showing "}
                {this.rowMin}
                  {" - "}
                {this.rowMax}
                  {" of "}
                {this.rowCount}
                  {" total rows"}

            : ''}

          {showPageSizeOptions &&

              <select
                onChange={e => onPageSizeChange(Number(e.target.value))}
                value={pageSize}
              >
                {pageSizeOptions.map((option, i) => (
                  // eslint-disable-next-line react/no-array-index-key
                  <option key={i} value={option}>
                    {option} {this.props.rowsText}
                  </option>
                ))}
              </select>
            }

          <NextComponent
            onClick={() => {
              if (!canNext) return
              this.changePage(page + 1)
            }}
            disabled={!canNext}
          >
            {this.props.nextText}
          </NextComponent>

          <NextComponent
            onClick={() => {
              if (!canNext) return
              this.changePage(pages)
            }}
            disabled={!canNext}
          >
            {'>|'}
          </NextComponent>

    )
  }
}

And some quick and dirty CSS to get ya started:
/* Pagination */
.ReactTable .-pagination .-first {
    margin-right: 3px;
}
.ReactTable .-pagination .-last {
    margin-left: 3px;
}

Thanks, this code is very useful.

Don't you want to add this feature? It's still needed by users

Agreed, this seems like a valid issue for server side pagination. I was using the solution in this thread for a while until switching to server side pagination. Now I fear I am stuck with no way to pass actual totalRecords from ReactTable to the pagination component.

I created a decent work around that uses the default component.
<ReactTableStyle
     {...this.props}
     ofText={`of ${totalPages}: ${this.props.totalRows} total`}
     renderTotalPagesCount={() => null}
/>

You can even use custom html instead of a string like this.
ofText={
{`of ${totalPages}: ${this.props.totalRows} total`}
}

authors: CTumminaro Morasta aaronbiser aldefouw boss225 cristianoccazinsp emil14 ickphum schnelle14 tannerlinsley thanaratjaruenying timc13


text:
[BUG] : Remove quotes in some columns

Story: #3
Date: 04-03-2022
Description:
Remove quotes in language column
Estimated efforts: 1

Resolved the bug and committed the changes


text:
Embedded all language in lib make it too fat

Although we can edit build.rs manually, change the
let langs = vec![
    "af",
    "hy",
...
    "hsb",
    "cy"
];

to
let langs = vec!["en"];

to make the final lib much smaller (8.65 MB -> 132 KB). I think its nice to have a option in [dependencies.hyphenation] to set what language to be embedded.
Maybe something like this:
[dependencies.hyphenation]
version = "0.6.0"
features = ["nfd"]
language = ["en-us"]

Dictionary embedding was already going to be under a feature flag starting with the next release, and adding individual language flags is certainly an idea worth considering. (It would have to be flags, because the Cargo manifest format and Rust cfg system are not flexible enough to allow as nice a syntax as language = ["en_us"] for library features.) It will probably happen soon, but not immediately..

maybe https://crates.io/crates/inflate and https://crates.io/crates/deflate also helps.
use deflate::deflate_bytes;

let data = b"Some data";
let compressed = deflate_bytes(data);

compress US-en lang 132kb to 20kb……

Starting with v0.8, embedding all dictionaries should take no more than 2.8MB. Moreover, the feature embed_en-us has been introduced for the common case of embedding American English in e.g. a small utility.
I would still like to find a better solution; ideally, one which allows end-users to select languages individually without a feature explosion.

authors: blackgear tapeinosyne

repo: tapeinosyne/hyphenation


text:
Add CatchAll functionality

Description
This pull request is based on the closed PR https://github.com/tarampampam/error-pages/pull/161
With the author's permission, I have incorporated the catch-all functionality into a new PR.
The catch-all functionality can be used especially when using error-pages in a Kubernetes project to - independent of the requested URL - always deliver an error page according to the X-Code HTTP header.
Since this PR has been closed before, please let me know what else is needed for this PR to be merged this time.
Checklist

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented on my code, particularly in hard-to-understand areas
[x] I have made changes in the CHANGELOG.md file

Looks pretty simple and cool! Did you test it on your side well?

Yes, I have tested it successfully. I created a Docker image containing the PR and pushed it to nrybnikar/error-pages:catch-all if you want to test it.
I rolled it out to our K8s cluster and also successfully tested the intended use, i.e. as a default-backend in an Ingress object.

You've done a tremendous job! Thank you!

Thank you @tarampampam!
The credit should go to @chrisamti since he was the original author and I created this PR based solely on his work.

authors: rybnico tarampampam

repo: tarampampam/error-pages


text:
cannot get free key

Шаги для воспроизведения проблемы (steps to reproduce)

Скачал исходники.
Установил по инструкции
Запускаю:  nod32-mirror.sh -k

Какое действие ожидалось (expected behaviour)
Поиск бесплатного ключа для тестирования работы скрипта
Что произошло на самом деле (actual behaviour)
Скрипт не ищет ключи
 ./nod32-mirror.sh -k
[Debug   ] Execute "get key" action

Use for educational or informational purposes only!

[Debug   ] Returned random key is
[Debug   ] Removeing invalid keys failed: valid keys file not found
[15:32:11] Requesting for a new free keys..
[15:32:11] Cannot get new free keys :(
[Debug   ] Returned random key is
Fatal error: Cannot get valid free key

Данные системы (system information)
Операционная система (operating system):
$  cat /proc/version
Linux version 3.2.0-110-generic-pae (buildd@lgw01-54) (gcc version 4.6.3 (Ubuntu/Linaro 4.6.3-1ubuntu5) ) #151-Ubuntu SMP Tue Aug 30 14:20:45 UTC 2016

Bash:
$  bash --version
GNU bash, версия 4.2.25(1)-release (i686-pc-linux-gnu)

wget / curl:
$  wget --help
GNU Wget 1.13.4, программа автоматического получения файлов по сети.

$ curl -V
curl 7.22.0 (i686-pc-linux-gnu) libcurl/7.22.0 OpenSSL/1.0.1 zlib/1.2.3.4 libidn/1.23 librtmp/2.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3 pop3s rtmp rtsp smtp smtps telnet tftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP

Настройки (settings):
Настройки скрипта (script settings):
$ cat ./settings.conf ./conf.d/*.conf | grep -v -e '^#' -e '^$'
cat: ./conf.d/*.conf: Нет такого файла или каталога
export NOD32MIRROR_DEBUG_MODE=1;
export NOD32MIRROR_USE_FREE_KEY=1;
export NOD32MIRROR_MIRROR_DIR="/files/update";
export NOD32MIRROR_TEMP_DIR="/home/sysadmin/tmp";
export NOD32MIRROR_SERVER_0='http://update.eset.com:80/eset_upd/ username password';
export NOD32MIRROR_SERVER_1='http://nod32.someserver.com/';
export NOD32MIRROR_SERVER_2='http://someserver2.com/nod32/';
export NOD32MIRROR_LANGUAGES='1033 1049';
export NOD32MIRROR_CURL_BIN='false';
export NOD32MIRROR_TEST_URI='http://update.eset.com:80/v8-rel-sta/mod_010_smon_1036/em010_32_l0.nup';
export NOD32MIRROR_TIMESTAMP_FILE_NAME='lastevent.txt';
export NOD32MIRROR_VERSION_FILE_NAME='version.txt';

**Отладочный-лог / Вывод работы скрипта (debug-log)**:
```log
cat nod32mirror.log
[2016-09-23/15:39:03] [Debug] Execute "get key" action
[2016-09-23/15:39:03] [Debug] Returned random key is
[2016-09-23/15:39:03] [Debug] Removeing invalid keys failed: valid keys file not found
[2016-09-23/15:39:03] [Info] Requesting for a new free keys..
[2016-09-23/15:39:03] [Error] Cannot get new free keys :(
[2016-09-23/15:39:03] [Debug] Returned random key is
[2016-09-23/15:39:03] [FATAL ERROR] Cannot get valid free key
```

Спасибо за корректно оформленный тикет;
Каков результат выполнения $ wget -O - http://tnoduse2.blogspot.ru/ и $ wget -O - http://nod325.com/? Выводится ли контент страниц, содержащих ключи?
Директория /home/sysadmin/tmp точно существует и доступна для записи пользователем, из под которого производится запуск?
Работайте лучше с копией конфигов, расположив их в директории ./conf.d, как это указано в README файле

Тоже не работало, удалил default, отредактировал settings и заработало

tarampampam:
2. Да, ключи показаны.
3 Да, существует и доступная для записи всем: 777

@rra01 проблема решена, раз ключи показывает?

authors: Gudzikgit rra01 tarampampam


text:
Command button enhancements

Fixes #362
@tarasglek and I were discussing today how it's too hard to find the "Share" feature.  I've done a first pass at improving our left-hand menu, which I'm now calling the "Command Button."

I've copied everything from the Chat Header menu down here, simplified the naming of what we already have, and added "Share."  The Share feature will use the WebShare API if it's supported (e.g., mobile), and fallback to our Share Modal when it's not.
I'm not sure if the "+" icon is the best one to use here, but I looked at others and nothing stood out to me as being better.
We don't need to try and land this for 1.2, since it's so late in the release cycle.

@humphd Wow that's pretty cool. I didn't know that was possible :D
I tried this on my mobile, but for some reason nothing happens when I click on share.
Also for the commands button I tried MdKeyboardCommandKey icon, what do you think?

Also, shouldn't the button title be plural as its showing a list of commands.

I tried this on my mobile, but for some reason nothing happens when I click on share.

Are you logged in?  I currently disable the menu item if you aren't logged in.  Maybe there's a better way to handle it.

Also for the commands button I tried MdKeyboardCommandKey icon, what do you think?

I thought about this too, but it's too closely associated with macOS.  This has nothing to do with what it does on Mac, so I don't think it's a good idea.

Also, shouldn't the button title be plural as its showing a list of commands.

I don't know, maybe?  Prior art implies the singular: you use the File menu, not Files; the Window menu, not Windows.

Are you logged in? I currently disable the menu item if you aren't logged in. Maybe there's a better way to handle it.
That was it, should we have a toast suggesting to login if someone like me tries to use that button. Or some other to let the users know? But if it is temporarily disabled, I don't think its an issue.

I thought about this too, but it's too closely associated with macOS. This has nothing to do with what it does on Mac, so I don't think it's a good idea.
Agreed, I was also confused so wanted to know your opinion.

I don't know, maybe? Prior art implies the singular: you use the File menu, not Files; the Window menu, not Windows.
I was thinking from the context "Click to see a list of commands", but I guess you're right.

Command seems like an odd name. Why not options or condense down to burger icon?

Likewise, share needs the standard share icon next to it

What do you think of using all that empty space on the left to show a toolbar with items from Command menu?

Would be cool to have the share button clearly visible...Could also move the toolbar into menu area next to user avatar

Made some changes:

Renamed "Command" to "Options."  I don't think it works to only have an icon, but I like "Options," as this is exactly what it is.
Added icons to menu items that use them elsewhere. I not sure if it works or not, see what you think.
Renamed "Delete" to "Delete Chat," which is what it does
Renamed "Open New" to "New Window"
Improved menu grouping a bit
Moved "Attach Files..." into this menu vs. having in prompt.  I don't think it's worth having it take space in the prompt area for normal usage, since it won't be the default thing you do.

I'm not sure about toolbars.  Let's do that as a separate thing.

Looks better now!
Shouldn't we also add an icon to Download option as well?
Looks a little inconsistent with alignment. Maybe within a 'group' of options, either all items should have icons or none?

Added a Download icon to fix alignment in menu group, per review.

Looks good now. Thanks!

I think it would be cool to also allow users to copy in 3 different format like with Download - text, markdown and image.
Should we have a follow up for that?

I think it would be cool to also allow users to copy in 3 different format like with Download - text, markdown and image.
Should we have a follow up for that?
Edit: Sorry I thought this was Download as Image PR which is already merged, should have been relevant to post there.

I'm not sure if multiple formats work for the entire chat.  With a single message, we can provide different formats more easily, since we can reference the body of the referenced message.  With an entire chat, we have an array of ChatCraftMessage instances, which are basically Markdown content.
If we want to provide more options for download, we better do that in a follow-up, since it would be more than a menu change.

I think it would be cool to also allow users to copy in 3 different format like with Download - text, markdown and image.
Should we have a follow up for that?
Edit: Sorry I thought this was Download as Image PR which is already merged, should have been relevant to post there.

I'm not sure if multiple formats work for the entire chat. With a single message, we can provide different formats more easily, since we can reference the body of the referenced message. With an entire chat, we have an array of ChatCraftMessage instances, which are basically Markdown content.
If we want to provide more options for download, we better do that in a follow-up, since it would be more than a menu change.

That's right, it only makes sense for individual messages. For some reason, my subconscious was still reviewing PR #402, but later realized this was a different one.

lgtm to land.

I guess the only thing left to get rid of the "new chat" header is adding "Rename Chat". We can do that in followup if you like.
I think on mobile we can get rid of the other titlebar(with search) too by adding option to "hide toolbar" or something

Switched to gear icon:

authors: Amnish04 humphd tarasglek


text:
Upgrade Eslint to v9

Fixes #689
This PR upgrades Eslint to v9 and moves to a flat config.
All plugins are now up to date and compatible with the new Eslint flat config. The exception was eslint-plugin-react-hooks where I had to use the latest rc version (https://github.com/facebook/react/issues/28313#issuecomment-2363692765).
I started the upgrade process with the configuration migrator and then went through each plugin and used the recommended configuration setup found in the docs (while making sure all the original chatcraft custom configurations are kept).

Cloudflare build fails like so:

16:56:24.488 | > chatcraft.org@0.0.0 build /opt/buildhome/repo
-- | --
16:56:24.488 | > tsc && vite build
16:56:24.488 |
16:56:32.623 | src/components/Sidebar/SidebarDesktop.tsx(1,15): error TS2305: Module '"@chakra-ui/react"' has no exported member 'keyframes'.
16:56:32.658 | ELIFECYCLE  Command failed with exit code 2.
16:56:32.690 | Failed: Error while executing user command. Exited with error code: 2
16:56:32.700 | Failed: build command exited with code: 1
16:56:33.704 | Failed: error occurred while running build command

Cloudflare build fails like so:

16:56:24.488 | > chatcraft.org@0.0.0 build /opt/buildhome/repo
-- | --
16:56:24.488 | > tsc && vite build
16:56:24.488 |
16:56:32.623 | src/components/Sidebar/SidebarDesktop.tsx(1,15): error TS2305: Module '"@chakra-ui/react"' has no exported member 'keyframes'.
16:56:32.658 | ELIFECYCLE  Command failed with exit code 2.
16:56:32.690 | Failed: Error while executing user command. Exited with error code: 2
16:56:32.700 | Failed: build command exited with code: 1
16:56:33.704 | Failed: error occurred while running build command

This is because I upgraded @chakra-ui/react without noticing. I reverted it now!

authors: humphd menghif


text:
Add updatekeys command

This would be rough equivalent of
cd $WORKSPACE_ROOT
find -name .sops.yaml|xargs -n1 /usr/local/bin/github-to-sops --inplace-edit  <where it infers arguments used originally from command in file>
find -name \*.enc.yaml|xargs -n1 sops updatekeys -y

this is done in 1.2 release

repo: tarasglek/github-to-sops


text:
Trying to set up a production site using nginx -- gulp dist failing

I am trying to put together a production plan to use this approach.  I need a production server as well as an HTTPS proxy for the backend.  Seems like nginx would be a good fit to handle this.
However, when I try to generate a static site to feed to nginx, using 'cd frontend; gulp dist' I get an error.
[18:38:26] Starting 'scripts-dist'...
stream.js:94
throw er; // Unhandled stream error in pipe.
^
Broken @import declaration of "http://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700" - timeout
Am I doing something wrong or is this not working as designed?

I did some investigating and it seems that the error is coming from the 'vendor' task.  The error occurs within the es.merge() call below.  I am guessing that it is in the dist() function but I am very new to gulp.  I don't know if this helps anyone to see the issue.
gulp.task('vendors', function() {
var bowerStream = g.bowerFiles();
return es.merge(
bowerStream.pipe(g.filter('/*.css')).pipe(dist('css', 'vendors')),
bowerStream.pipe(g.filter('/*.js')).pipe(dist('js', 'vendors'))
);
});

I did some looking at the dist() function.  It sets the dest twice, so I removed the second setting and it no longer crashes.  Not sure it does what it is supposed to do, but it no longer fails.
/**

Concat, rename, minify

@param {String} ext
@param {String} name
@param {Object} opt
*/
function dist(ext, name, opt) {
opt = opt || {};

return lazypipe()
.pipe(g.concat, name + '.' + ext)
.pipe(gulp.dest, './dist')
.pipe(opt.ngAnnotate ? g.ngAnnotate : noop)
.pipe(opt.ngAnnotate ? g.rename : noop, name + '.annotated.' + ext)
.pipe(opt.ngAnnotate ? gulp.dest : noop, './dist')
.pipe(ext === 'js' ? g.uglify : g.minifyCss)
.pipe(g.rename, name + '.min.' + ext)()
//.pipe(gulp.dest, './dist')()
;
}

Duplicate with #73 closing this one.

authors: cwoloszynski tarlepp

repo: tarlepp/angular-sailsjs-boilerplate


text:
How to build a dynamic form based on tau-prolog?

i'm think use prolog build form that display different element based on user input value, any example?
ex:
get predicts when user checked some checkboxes?
get predicts when user input some value great than or less than?
and should i learn prolog before i use tau-prolog?

Tau Prolog is a Prolog interpreter, so yes, you should learn the language first. There aren't many examples, but the DOM module has a very similar interface to JavaScript (see Manipulating the DOM with Prolog).

authors: crapthings jariazavalverde

repo: tau-prolog/tau-prolog


text:
feat(clipboard-manager): implement ios and android clear functionality

This PR contains iOS and Android clear clipboard functionality that I use in my own project and shared here. Below is a screenshot that contains iOS simulator demonstration (as best as console logs could demonstrate) that it functions in the intended manner, and below that is the Android emulator version.
iOS simulator test:

Android emulator test:

Also, the below when missed the else part. Not that it was causing errors for now, other than the IDE error, but it might in the future. Thinking it might not be worth a separate PR, I included it in this one. If I should open another one for that, I can send it in a separate PR and take it out of this one.
    val clipData = when (args) {
      is WriteOptions.PlainText -> {
        ClipData.newPlainText(args.label, args.text)
      } else -> {
        invoke.reject("Invalid write options provided")
        return
      }

Thank you

authors: amrbashir unbeauvoyage

repo: tauri-apps/plugins-workspace


text:
feat(tauri) add global shortcut API

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

[ ] Bugfix
[x] Feature
[ ] New Binding Issue #___
[ ] Code style update
[ ] Refactor
[ ] Build-related changes
[ ] Other, please describe:

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

[ ] Yes. Issue #___
[x] No

The PR fulfills these requirements:

[x] It's submitted to the dev branch and not the master branch
[ ] When resolving a specific issue, it's referenced in the PR's title (e.g. fix: #xxx[,#xxx], where "xxx" is the issue number)

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

[ ] 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:

Is there any reason for that this is not merged for a while?
Global shortcut API is great, isn't it?

We need macOS support to merge this, but hotkey only supports Linux and Windows :(

Is this help for this to be merged?
https://github.com/gamebooster/soundboard/blob/master/extern/hotkey-rs/src/macos.rs

What?? How did you find this gem??? You're a genius. I'm definetely going to find some time to try it, maybe we can publish it next week. Awesome work!

By the way if you want to contribute, you could see if the original hotkey-rs repo would accept a PR with that code or push that to a repo and see if it works (if you have a macOS).

Thank you for awesome project!!
Actually, I was thinking about it, but I quit as I've never read "C" and,
now I'm learning Rust. So it's too much for me 😊
I'm looking forward to seeing this to be merged.
And I cannot wait "Copy & Paste" feature, and using Tauri 😆

No problem. Enjoy the learning, it's difficult but rewarding :) copy and paste would be the next step. Ping us on Discord in case you need anything.

My first experiment with Soundboard's hotkey-rs fork wasn't successful, seems like it doesn't work on latest macOS version :(

Regarding copy/paste:
https://github.com/webview/webview/pull/405
That will land imminently, and although it's slightly different than this concern wanted you to know about it.

Hmm I was thinking about writing a Rust implementation but seems like a waste of time with that feature.

+1 for this PR, urgently need it!

I could "copy & paste" on macOS, when I register main menus for ":copy: & ":paste".

I believe WRY makes this feature possible. I tested it again and it seems like it wasn't working on macOS due to the lack of a winit window. I'll try to get it done next week.

I'm going to close this PR and open another one - too many conflicts :)

authors: futurist ken0x0a lucasfernog nothingismagick

repo: tauri-apps/tauri


text:
Your client has issued a malformed or illegal request

Hello!
Thank you very much for the client.
I am trying to integrate Pinecone in LangChain.dart using your client. However, I am always getting the following exception when trying to make any GET request:
PineconeClientException({
  "uri": "https://controller.gcp-starter.pinecone.io/databases/langchain-dart",
  "method": "GET",
  "code": 400,
  "message": "Unsuccessful response",
  "body": "\n\n<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n<title>400 Bad Request</title>\n\n\n
Error: Bad Request
\n
Your client has issued a malformed or illegal request.
\n

\n\n"
})

After debugging it, it seems that it is caused by this line:
https://github.com/tazatechnology/pinecone/blob/d4ee12ebebbbf269cf1684ad32df154b6a947a51/lib/src/generated/client.dart#L206
If the body is null, it is still serializing it as {}.
I was going to issue a PR with the fix in openapi_spec, but I saw that you already fixed it in the latest version.
I am trying to regenerate the Pincone client using the latest version, but I am getting some other errors:
Failed assertion: line 10405 pos 13: 'values == null || ref == null': Cannot define both values and ref

And I'm not sure how to fix them. So I will leave it to you 🙂
Thanks again for your work.

@davidmigloz this should all be resolved as of the latest release. I tested the latest dart pinecone client on a deployed pinecone DB directly and all of the operations worked as expected.
Let me know if you run into any further issues!

How do you run the generator in this package?
If I run the oas/main.dart, I still get the following exception:
'package:openapi_spec/src/open_api/index.freezed.dart': Failed assertion: line 10433 pos 13: 'values == null || ref == null': Cannot define both values and ref
#0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:51:61)
#1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:40:5)
#2      new _$_SchemaEnum (package:openapi_spec/src/open_api/index.freezed.dart:10433:13)
#3      __$$_SchemaEnumCopyWithImpl.call (package:openapi_spec/src/open_api/index.freezed.dart:10382:18)
#4      Schema.dereference.<anonymous closure> (package:openapi_spec/src/open_api/schema.dart:250:46)
#5      _$_SchemaEnum.map (package:openapi_spec/src/open_api/index.freezed.dart:10529:23)
#6      Schema.dereference (package:openapi_spec/src/open_api/schema.dart:222:12)
#7      SchemaGenerator._writeProperty.<anonymous closure> (package:openapi_spec/src/generators/schema.dart:547:15)

Ahh I missed the Makefile. make generate works thanks!
(not sure why it was actually failing before, as I was actually running the same commands but from the IDE)

repo: tazatechnology/pinecone


text:
Intro paragraph appears to treat "diversity" as the problem

The second sentence reads, "Diversity is one of our goals, but it can also lead to communication issues and unhappiness". This seems to center on "diversity" as the problem, rather than people behaving in a manner that's against the code as the problem.
My initial proposal would be to delete the first part of that sentence and merge it into the one after. This would lead to:

Like the technical community as a whole, TC39 is made up of a mixture of professionals and volunteers from all over the world. To avoid communication issues and unhappiness, we have a few ground rules that we ask people to adhere to.

Thoughts?

but it can also lead to communication issues and unhappiness

Reading from this issue, this part feels negative as diversity would lead to unhappiness.
To not cut out the goal entirely that do you think about adding this small part, to your suggestion:

Like the technical community as a whole, TC39 is made up of a mixture of professionals and volunteers from all over the world. To avoid communication issues and unhappiness, and to promote inclusiveness, we have a few ground rules that we ask people to adhere to.

@leobalter Your alternative reads well to me and does a good job of introducing the document as well (connecting the goal, inclusiveness, with the code itself).

@leobalter's rewording seems pretty great.

authors: ajklein gnarf leobalter


text:
A subclass that overrides DisposableStack#dispose must also override DisposableStack#[Symbol.dispose]

Consider code like:
class NotifyingStack extends DisposableStack {
  dispose() {
    const wasDisposed = this.disposed;
    super.dispose();
    if (!wasDisposed) {
      notify();
    }
  }
}

By my reading of https://tc39.es/proposal-explicit-resource-management/#sec-disposablestack.prototype-@@dispose this code is buggy, notify will won't be called when NotifyingStack.prototype[Symbol.dispose] is called, only when its dispose method is called. Such a subclass would need to also update NotifyingStack.prototype[Symbol.dispose]. This could be a potential footgun in the API.
Likewise AsyncDisposableStack and its disposeAsync, and Symbol.asyncDispose fields.

If Symbol.dispose was instead a getter on the prototype, or was defined as a function that called this.dispose(), that would alleviate the issue. We'd want to document in that case that users should override dispose and not Symbol.dispose.

In an earlier draft of the proposal, DisposableStack.prototype.dispose was actually a getter that returned a bound function invoked this[Symbol.dispose]. If we were to make a change, it would likely be in that direction since the runtime is going to invoke [Symbol.dispose](), not dispose(). That would also be more in line with what has been discussed in https://github.com/tc39/proposal-explicit-resource-management/issues/229#issuecomment-2146316120

In the meantime, a potential workaround that matches the current spec behavior would be to do the following:
class NotifyingStack extends DisposableStack {
  dispose() {
    const wasDisposed = this.disposed;
    super.dispose();
    if (!wasDisposed) {
      notify();
    }
  }
  static { this.prototype[Symbol.dispose] = this.prototype.dispose; }
}

Also, is there a reason you are not just using .defer() in this case?
class NotifyingStack extends DisposableStack {
  constructor(notify) {
    this.defer(notify);
  }
}

Ha, that's elegant!
The actual use case I was evaluating was goog.Disposable, which has many subclasses that override its defer method, and wondering if it could ever extend DisposableStack (answer: prooooobably not? there's a number of relatively minor differences that are likely to be issues at scale. the foremost one I've noticed is that it disposes in FIFO order). I'm gonna try a bit though, starting by narrowing the differences by giving it a [Symbol.dispose]. If that works, I'll try improving its error handling with SuppressedError, then going FIFO -> LIFO. This issue isn't a blocker at all, just a potential footgun I noticed while evaluating.

authors: rbuckton rictic


text:
Slow Image Load Time

Slow Image Load Time
Upon opening /blog.html, images take a considerable time to load. Consider possibilities to optimize images and consider caching/preview image functions/plugins.
Potential Options
jekyll-speed

I have a plugin I use here for resizing
https://github.com/MichaelCurrin/jekyll-resize

I list some alternatives in the README too.

Fixed inadvertently in #50, images are no longer previewed on blog page with new UI layout

Fixed inadvertently in #50, images are no longer previewed on blog page with new UI layout


text:
Container Insights are not working if Karpenter is used

The node role created by cdk-karpenter do not have the permission to push metrics and logs to CloudWatch. Hence, there will be no metrics or logs reflected in Container Insights.

Removed "cdk-karpenter" and created a Karpenter construct. Added a CloudWatch managed policy to the node role and fix the permission issue which prevent metrics and logs to be sent to CloudWatch for Container Insights.

repo: tchangkiat/aws-cdk-stacks