Thread.rs correctly unwind call stacks

This is a rather bigger change than I hoped it would be, but I think I found a good solution for the issues many people have been having in https://github.com/target/lorri/issues/375.
Which is mainly that the thread pool was not re-throwing the call stack of the panicking inner thread, but just throwing its own panic, so human-panic would show the same error message for every panic (that the dyn Any returned by thread_handle.join() cannot print the actual data did not help).
I did a bit of refactoring before tackling the actual problem and wrote quite extensive commit messages, so best reviewed commit-by-commit.
I started using commit markers to better distinguish refactor commits from actual feature commits, and it looks quite usable to me.

Adding
        pool.spawn("nooo", || {
            panic!("in the disco");
        })?;

In between the spawns in daemon.rs and running lorri daemon gives:
> lorri daemon
Jun 30 00:41:24.900 INFO ready
Well, this is embarrassing.

lorri had a problem and crashed. To help us diagnose the problem you can send us a crash report.

We have generated a report file at "/tmp/report-40262958-b316-4b0f-8d1d-ca3a15c5e10a.toml". Submit an issue or email with the subject of "lorri Crash Report" and include the report as an attachment.

- Homepage: https://github.com/target/lorri
- Authors: Graham Christensen<EMAIL_ADDRESS>
We take privacy seriously, and do not perform any automated error collection. In order to improve the software, we rely on people to submit reports.

Thank you kindly!
philip@shiki ~ [101]> cat /tmp/report-40262958-b316-4b0f-8d1d-ca3a15c5e10a.toml
name = 'lorri'
operating_system = 'unix:Unknown'
crate_version = '1.1.0'
explanation = '''
Panic occurred in file 'src/daemon.rs' at line 109
'''
cause = 'in the disco'
method = 'Panic'
backtrace = '''

   0: 0x55563373312a - __rust_maybe_catch_panic
   1: 0x5556334f465c - std::sys_common::backtrace::__rust_begin_short_backtrace::h6433debb75883924
   2: 0x55563373312a - __rust_maybe_catch_panic
   3: 0x55563357a9e6 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h6a8d7b46fd9b8ac7
   4: 0x555633726f0f - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::he9dcb7073be13c65
   5: 0x555633714a40 - std::sys_common::thread::start_thread::h9ce8f903e84fe8e9
   6: 0x555633726586 - std::sys::unix::thread::Thread::new::thread_start::h5e894f0575174d9e
   7: 0x7f4119516edd - start_thread
   8: 0x7f411942da4f - __clone
   9:        0x0 - <unknown>'''

So we get the good stack traces now.


Gas redeposits

In Starknet v0.13.4 gas costs for classes with Sierra 1.7.0 onwards will be measured in Sierra gas rather than raw VM resources.
Before Sierra v1.7.0, the compiler's gas mechanism never reimbursed the user. Every branching in your program is charged for the maximum between the possible branches. This can result in very expensive edge cases (for example, loop with an extremely unbalanced if/else branch). To overcome this, in Sierra 1.7.0, whenever a function receives the gas builtin it will redeposit the difference inside the cheaper branch (i.e. the maximum will still be charged in advance, but going through the cheaper branch will result in reimbursement).
While this feature is implement in the high level, i.e. Cairo-->Sierra, compiler, we consider it bound to Sierra 1.7.0 (which is the cutoff version from which we'll start charging according to Sierra's gas mechanism on Starknet).

Closed by https://github.com/starkware-libs/cairo/pull/6280, https://github.com/starkware-libs/cairo/pull/6904


Remove Kestrel handle inheritance workaround

#4701 This was fixed in corefx in 3.0.

Any suggestions for a process to spawn? I had trouble finding anything that would be installed on all agents.
Since CoreFx has dealt with this I'd almost rather remove the test.

I'm fine with removing the test. corefx added CtorAndAccept_SocketNotKeptAliveViaInheritance when they fixed handle inheritance.


feat(factory): add createApp()

This PR introduces createApp() in hono/factory as an experimental feature. If you use this method with createFactory(), you can avoid redundancy in the definition of Env types.
Before:
const app = new Hono<Env>()

const mw = createMiddleware<Env>(async(c, next) => {
  await next()
})

With this PR:
const factory = createFactory<Env>()

const app = factory.createApp()

const mw = factory.createMiddleware(async (c, next) => {
  await next()
})

Using the "Simple Factory" pattern with the Factory helper, there is no need to write type definitions in global.d.ts with possible type conflicts. Also, you don't have to have Env definitions in multiple places.
// factory-with-db.ts
type Env = {
  Bindings: {
    MY_DB: D1Database
  }
  Variables: {
    db: DrizzleD1Database
  }
}

export default createFactory<Env>({
  initApp: (app) => {
    app.use(async (c, next) => {
      const db = drizzle(c.env.MY_DB)
      c.set('db', db)
      await next()
    })
  },
})

// crud.ts
import factoryWithDB from './factory-with-db'

const app = factoryWithDB.createApp()

app.post('/posts', (c) => {
  c.var.db.insert
})

In the future, I recommend the use of this "Simple Factory" pattern for larger applications, such as those using HonoX.
Author should do the followings, if applicable

[x] Add tests
[x] Run tests
[x] yarn denoify to generate files for Deno

Hi, @usualoma What do you think of this? I'd like to recommend the Factory pattern.

@yusukebe 👍 We will be able to define an app concisely!

@usualoma
Thanks!


Adding Zooz Zen30 causes docker image to crash

Describe the bug
When adding a Zooz Zen30 switch, zwavejs crashes and docker container stops.  When starting the container again I can see a new node but it has no device information.  When interacting with the node, I can see scene events in logs, but device has no entities in HASS.
Device information
Which device(s) is/are affected (make/model)?
Zooz Zen30
What are the node IDs?
23
Last Known Working Configuration

[X] New device

[ ] Previously working device (node-zwave-js)

Which library version/docker image/adapter version?
Have you made any recent configuration changes to the device? Describe.

[ ] Previously working device (other platform)

Which platform?
Have you made any recent configuration changes to the device? Describe.

Installation information
How did you install node-zwave-js?

[ ] zwavejs2mqtt (latest) docker image
[ ] zwavejs2mqtt (dev) docker image
[ ] ioBroker.zwave2 adapter
[ ] Pkg
[ ] Manual Docker build

node-zwave-js branch:
zwavejs2mqtt branch:

[ ] Manually built (as described in the docs)
[X] Other: HASS Docker image

To Reproduce
Steps to reproduce the behavior:
Exclude device, Include device
Additional context
Logfile:
17:25:40.616 CNTRLR   handling add node request (status = Ready)
17:25:40.617 CNTRLR     the controller is now ready to add nodes
17:25:42.899 CNTRLR   handling add node request (status = NodeFound)
17:25:43.067 CNTRLR   handling add node request (status = AddingSlave)
17:25:47.314 CNTRLR   handling add node request (status = ProtocolDone)
17:25:47.315 CNTRLR   stopping inclusion process...
17:25:47.375 CNTRLR   handling add node request (status = Done)
17:25:47.376 CNTRLR   done called for 23
17:25:47.377 CNTRLR   finished adding node 23:
                        basic device class:    Routing Slave
                        generic device class:  Multilevel Switch
                        specific device class: Multilevel Power Switch
                        supported CCs:
                        · Basic (0x20)
                        · Multilevel Switch (0x26)
                        · All Switch (0x27)
                        · Z-Wave Plus Info (0x5e)
                        · Binary Switch (0x25)
                        · Association (0x85)
                        · Multi Channel Association (0x8e)
                        · Association Group Information (0x59)
                        · Transport Service (0x55)
                        · Version (0x86)
                        · Manufacturer Specific (0x72)
                        · Device Reset Locally (0x5a)
                        · Powerlevel (0x73)
                        · Configuration (0x70)
                        · Central Scene (0x5b)
                        · Multi Channel (0x60)
                        · Security 2 (0x9f)
                        · Supervision (0x6c)
                        · Firmware Update Meta Data (0x7a)
                        controlled CCs:
17:25:47.378 CNTRLR » [Node 023] Assigning return route to controller...
17:25:47.389 CNTRLR   the inclusion process was stopped
17:25:47.520 CNTRLR   [Node 023] Configuring Z-Wave+ Lifeline association...
17:25:51.670 CNTRLR   [Node 023] did not respond after 1/3 attempts. Scheduling next try in 500 ms.
17:25:56.303 CNTRLR   [Node 023] did not respond after 2/3 attempts. Scheduling next try in 500 ms.
17:26:00.903 CNTRLR   [Node 023] Node 23 did not respond after 3 attempts, it is presumed dead
This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). The promise rejected with the reason:
ZWaveError: Failed to send the command after 3 attempts (Status NoAck)
    at Object.sendDataErrorToZWaveError (/usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/StateMachineShared.ts:112:12)
    at /usr/lib/node_modules/@zwave-js/server/node_modules/zwave-js/src/lib/driver/SendThreadMachine.ts:437:4
    at /usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/utils.js:410:33
    at Array.reduce (<anonymous>)
    at Object.updateContext (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/utils.js:400:25)
    at Object.resolveActions (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/actions.js:409:19)
    at StateNode.resolveTransition (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/StateNode.js:787:35)
    at StateNode.transition (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/StateNode.js:733:21)
    at StateNode.resolveRaisedTransition (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/StateNode.js:738:22)
    at StateNode.resolveTransition (/usr/lib/node_modules/@zwave-js/server/node_modules/xstate/lib/StateNode.js:873:39)
[cont-finish.d] executing container finish scripts...
[cont-finish.d] done.
[s6-finish] waiting for services.
[s6-finish] sending all processes the TERM signal.
[s6-finish] sending all processes the KILL signal and exiting.```

Thanks for the report. Is it reproducible when you exclude and add the device again?

Thanks for the report. Is it reproducible when you exclude and add the device again?

Yes it is. Same behavior. manually starting the container, exclude, then include will result in same behavior.

Okay just to make sure we don't miss anything, can you set the log level to debug and post the updated log snippet?

Sorry I didn't think logs uploaded before this was closed.  I have updated to the latest version and the container no longer crashes, but still fails to add the device (I will pull logs and open a new issue)


Add support for reading ascii Pro-E tetrahedral meshes

A user requested the ability to read in Pro-E tet meshes for our shaping capability.
The ascii format for this is supposed to be:
<Number of Nodes> <Number of Tets>
<Node ID> <xcoord> <ycoord> <zcoord>
…
<Tetrahedron ID> <Node 1> <Node 2> <Node 3> <Node 4>
…

For MPI-based runs, we should read the file in on a single rank and then broadcast the data to the other ranks, as we do for STL and C2C meshes.

Make a reader for this and then change to different format in the future.


CT 1808 diff based partial parsing

resolves #6592
Description
This is at the proof of concept stage, for discussion purposes. There are a number of edge cases and questions to resolve before being ready to officially review.
Checklist

[x] I have read the contributing guide and understand what's expected of me
[x] I have signed the CLA
[x] I have run this code in development and it appears to resolve the stated issue
[x] This PR includes tests, or tests are not required/relevant for this PR
[x] I have opened an issue to add/update docs, or docs changes are not required/relevant for this PR
[x] I have run changie new to create a changelog entry

A minor nit is that currently we do a checksum on the content of the file, then do a "strip" and store it. To keep the checksums from changing we should either do the checksum after the strip or not do the strip. My inclination is to do the checksum after the strip. If we start storing empty files, that would be slightly easier.

I put a little thought into how we would handle non-base project updates, and I think we have some open questions about how this will work with regard to "deps". The "deps" command takes both remote and local dependencies and copies them into the "dbt_packages" directory. Would these files have to be reflected back to the UI server which is providing the file_diff? Or would these files be "installed" only on the remote server which is accepting the file diffs? So would dependencies be local to the UI server or local to the remote dbt server?  If the "deps" command is processing a local dependency, would the ui server need to know that and provide all of those files, in a different kind of interface?

Although we aren't moving forward with more complete plans for file diff parsing, this pull request contains some refactoring which we don't want to lose, and it can serve as a base for using file_diff parsing in our tests, as a possible performance improvement and additional proof-of-concept.


unknown errors on js debugger

Type: Bug
unknown errors on js debugger is slow down the vs code  to start up and sometimes  didnt respond
VS Code version: Code 1.78.2 (b3e4e68a0bc097f0ae7907b217c1119af9e03435, 2023-05-10T14:39:26.248Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: Yes

System Info

Item
Value

CPUs
AMD Ryzen 7 5700U with Radeon Graphics          (16 x 1797)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: enabled

Load (avg)
undefined

Memory (System)
15.38GB (9.10GB free)

Process Argv
--crash-reporter-id c083aa48-174e-407b-8da9-5659ac280149

Screen Reader
no

VM
50%

Extensions (2)

Extension
Author (truncated)
Version

python
ms-
2023.8.0

vscode-pylance
ms-
2023.5.50

A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
vserr242:30382549
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263:30335439
vscoreces:30445986
vscod805cf:30301675
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593:30376534
pythonvs932:30410667
cppdebug:30492333
vscaat:30438848
vsclangdf:30486550
c4g48928:30535728
dsvsc012:30540252
pynewext54:30695312
azure-dev_surveyone:30548225
vsccc:30610678
3biah626:30602489
pyind779:30671433
f6dab269:30613381
pythonsymbol12:30671437
a9j8j154:30646983
showlangstatbar:30737416
vsctsb:30748421
pythonms35:30701012
a2ce3375:30757347
pythonfmttext:30731395
pythoncmv:30756943
fixshowwlkth:30730052
showsbindicator:30730056
pythongtdpathcf:30739705
pythonnosmt12:30757131

re: slow to start up, is this the issue for you? https://github.com/microsoft/vscode/issues/178962

Thanks for creating this issue! We figured it's missing some basic information or in some other way doesn't follow our issue reporting guidelines. Please take the time to review these and update the issue.
Happy Coding!

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


Feature: Add support for fake_rx_time

This is a useful feature in the Gateway Bridge for non-GPS gateways. It has a been mentioned on the forum as a roadblock to converting from Gateway Bridge, and I've experienced similar.
Thanks.

I believe this belongs to the concentratord : https://github.com/chirpstack/chirpstack-concentratord/issues/49

Negative, this feature request is for a setting comparable to what has existed in Gateway Bridge for a long time and works with the Semtech UDP forwarder. There are a number of gateways where I prefer not to use concentratord in favor of the buddled packet forwarder.

My bad you are right, I thought fake_rx_time was already in the Semtech UDP Packet Forwarder and this feature was for other backends.

Hi @bconway and @mullerch the above commit implement the requested feature. I named it time_fallback_enabled as we are not really faking a time, we are providing a less accurate time in as a fallback.


Translation Delivery

Translation Delivery

This pull request is for translation delivery. Please review and approve them,

This was just a test delivery. Will close this PR.


IP FILTER get error

when test the "index.php" from the repository, i got this error:
"Fatal error: Undefined constant 'FILTER_FLAG_NO_PRIV_RANGE' in /www/flight/net/Request.php on line 248"

What version of PHP are you using? Do you have the filter extension enabled? http://php.net/manual/en/book.filter.php

PHP Version 5.6.32
i think the filter is enabled by default.

Create a new file and just run this:
<?php
vardump(filter_var(
  '<IP_ADDRESS>,
  FILTER_VALIDATE_IP,
  FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE
));
?>

If you get an error there is something wrong with your install.

Thanks!!


cannot log-in into the integration

once I enter my credentials and hit send, it saves, than deletes the credentials and nothing happens. does anyone have a clue where to look at why the home assistant integration behaves that way?

The same thing happens to me :-(
Any Help?

The same thing happens to me :-(

I have the same problem. I'm stucked in the login pop-up page titled "Same as myVAILLANT app". I fill the fields with username and password but nothing happens....only pop-up refresh with empty field. Cheers.

Vaillant changed the authentication completely. They went from Okta to a Keycloak instance, the latest version has experimental support for that.
Let me know if it works for you all!

Vaillant changed the authentication completely. They went from Okta to a Keycloak instance, the latest version of this library has experimental support for that.
Let me know if it works for you all! Token refreshing should work, but it's not tested

sorry for a newbie question, but how do i try the experimental support? which is the latest version?

https://github.com/signalkraft/mypyllant-component/issues/4 let's continue there.


'kubectl logs -f insert_pod_here' stops reporting when log file rotates

Environmental Info:
K3s Version:

k3s version v1.27.7+k3s2 (575bce76)
go version go1.20.10

Node(s) CPU architecture, OS, and Version:

Linux odroid6 4.9.337-92 #1 SMP PREEMPT Thu Jul 20 05:16:44 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

Cluster Configuration:

Server/agent running on a single node.
Describe the bug:

kubectl logs -f pod stops reporting output when the log file rotates.
Further details can be seen at: stern/stern#287. That issue diagnosed it as a manifestation of: kubernetes/kubernetes#115701 which is solved in kubernetes/kubernetes#115702.
Steps To Reproduce:

Installed K3s:  Using standard method from web page using wget ....| sh.

stern/stern#287 has a kind config for reproducing the issue. Set up a pod that outputs data to the log, set the max log size to a small number. Run kubectl logs -f <podname> wait for the log file to rotate and see the log following stop.
I am using the following in /etc/rancher/k3s/config.yml:
kubelet-arg:
  - container-log-max-files=4
  - container-log-max-size=500Ki

set the max size lower to trigger the issue faster.
Expected behavior:

I expect the logs to continue to be scrolled to the screen as long as the pod exists.
Actual behavior:

After some period of time corresponding to the rotation time of the logs output stops.
Additional context / logs:

the apiserver streams logs from the kubelet, which in turn streams them from the container runtime implementation.
As that issue appears to be fixed in Kubernetes 1.29, and not backported to prior releases, I am going to close this as an upstream issue. Our v1.29.0+k3s1 release is currently underway, you can check out https://github.com/k3s-io/k3s/pull/9052 to see how this is progressing.

I will also note that building log collection frameworks around things that stream from kubctl logs -f isn't a great idea. If you are building a log collection framework, a better idea is to read directly from /var/log/pods on the nodes.

 While doing that I spent a lot of time spinning when one of the pods appeared to stop receiving connections. What had happened was the log had rotated and the connections were happening but I wasn't seeing them 8-(.


MRG: Fix displayed Raw duration in Jupyter notebook

Fixes #11202
# %%
import numpy as np
import mne

n_seconds = 1
sfreq = 100
ch_names = ['1']
data = np.ones((len(ch_names), sfreq*n_seconds))
info = mne.create_info(ch_names=ch_names, sfreq=sfreq)
raw = mne.io.RawArray(data, info)
raw

main:

PR:

I'm don't feel like adding a regression test for this…

I only wanted to provide a quick and dirty fix here. Repr displays time in seconds, weil in HTML we show it in HH:MM:SS so this is not directly exchangeable anyway ... any suggestions now to unify this?

CI errors are unrelated

I think it's safe enough to unify separately, thanks for the quick fix @hoechenberger !


Add RealmGeoQueries

Project URL
https://github.com/mhergon/RealmGeoQueries
Description
RealmGeoQueries simplifies spatial queries with Realm Cocoa. In the absence of and official functions, this library provide the possibility to do proximity search. It's not necessary to include Geohash or other types of indexes in the model class as it only needs latitude and longitude properties.
Checklist

[x] Only one project is in this pull request
[x] Addition in chronological order (bottom of category)
[x] Travis CI pass
[x] Supports iOS 7 or later
[x] Has a commit from less than 2 years ago
[x] Has a clear README in English

Thanks for contributing and good job on the lib! 😃


Unable to add placeholder

I am trying to add a placeholder for the material-ui-phone-number and I was unable to make it work. if there is a support for placeholder in this library .
My Code
 <MuiPhoneNumber         fullWidth={true}         placeholder="test"         defaultCountry={"us"}         onChange={handleChange}         disableAreaCodes={true}          value={this.state.test}         name='test'       />
  The out put is

have same problem

up


Correct formatting of data passed to CodeReviewer

Hi
Could you provide a code as an example of how to prepare data to be passed to the CodeReviewer model?
Is the marker for "old_file" ? So the text provided to the tokenizer should look something like this:
<s>source file content</s><add>new line<add>another one etc.
?
I tried implementing a GitHub commits code review this way and I'm wondering if that's the correct way of doing this.

The data preparation is in this file https://github.com/microsoft/CodeBERT/blob/master/CodeReviewer/code/utils.py. You can refer to different Dataset classes for different tasks.


French translation

Quick translations & sync check.

Thanks!

True, there should be a space before the ?, missed that!


feat: support hashtags

Bluesky posts made by these notifications weren't linking the hashtags as it seems this is another client side requirement.
So I've added a new detector in the defaultResolver to find and extract the tags.
It's based on the code style of the existing mention and links resolver, and aims to follow the guidlines and example from the bluesky docs.
A range of tests is included to confirm it works as expected, and with the expectation that over time more examples that should or shouldn't be found as tagged will need to be added and the regex updated where this can show what is and isn't desired.
I have confirmed this works as expected with my own account, posting with several hashtags that all were linked as expected.

Thanks!

No problem!
Would you be happy to enable issues on this repository? I have a few ideas for future features and one or two small problems found when building the source that probably need a bit of discussion.

Sure, just did


As an author, I want to mark a scene so that I can visually see how my story is organized in my text editor.

Closing issue as duplicate of #7.


Add Communities and Crime dataset

This pull request implements Communities and Crime dataset to resolve #14

Thanks for the review. Agreed to use more readable names.
How about renaming numb_urban with num_urban? I made some more additional field name changes.

As discussed, I have made another changes to use n_urban, also replaced cap with capita and replaced inc with income.

I think I have addressed all review comments so far.

Thanks!
I've re-checked and improved more names.


[BUG]: No GPU used for Native Bare Metal AnythingLLM Instance

How are you running AnythingLLM?
Local development
What happened?
I am using the Native option of a downloaded custom LLM (Mistral-7b-instruct-v0.2.Q5_K_M.gguf & Llama-2-7b-chat.Q5_K_M.gguf) but when i ask any question it takes about 1.5 minutes to get a response with RAG. I am running this in development on:

MS Windows 10 Pro
Processor: 12th Gen Intel(R) Core(TM) i9-12900T, 1400 MHz, 16 Core(s), 24 Logical Processor(s)
64 GB RAM
GPU: NVIDIA T1000 8GB

Is there a way to use the GPU for inference, offloading a specific number of layers? I tried looking through the code but couldn't find where i can adjust this knowing that Llama.cpp is used in the background.
Are there known steps to reproduce?
No response

Yeah, this is one of the pain points with the "native" llama.cpp module. Its becomes a lot more trouble to use directly vs just relying on the work of other local runners like Ollama or LMStudio so we will be deprecating the native runner in upcoming changes - unfortunately because of how the llama.cpp is built in-image it makes rebuilding so hard to do in-container to even hope to bind to the machines GPUs, plus it has no CUDA in the image so I imagine that wont even help :/
I highly recommend to swap out to another local LLM runner as we are going to remove that LLM provider soon because of issues like this

Yeah, this is one of the pain points with the "native" llama.cpp module. Its becomes a lot more trouble to use directly vs just relying on the work of other local runners like Ollama or LMStudio so we will be deprecating the native runner in upcoming changes - unfortunately because of how the llama.cpp is built in-image it makes rebuilding so hard to do in-container to even hope to bind to the machines GPUs, plus it has no CUDA in the image so I imagine that wont even help :/
I highly recommend to swap out to another local LLM runner as we are going to remove that LLM provider soon because of issues like this

The issue with switching to ollama or lmstudio is that the their server doesn’t allow for parallel API calls, which makes it so that it can’t be used as an application deployed somewhere for many users to log into and use simultaneously. If I’m wrong please correct me

Ollama does now support parallelization/concurrency now as of 0.2.0
It previously did not, and LMStudio still does not

awesome! I downloaded ollama for windows and it's working great! It is in fact though using minimal GPU (4%), may you guide me as to how to increase the GPU usage? If im not mistaken it's to do with offloading more layers to the GPU? It was easier to do on LMStudio.

Ollama should auto-bind to your GPU should the GPU support CUDA. What GPU are you on? Closing this for now but we can keep the convo going.
https://github.com/ollama/ollama/blob/main/docs/gpu.md

I'm on Windows 10, Lenovo Thinkstation with an Nvidia T1000 8GB GPU, The entire model is loaded onto the GPU memory (taking up 5-6 GB), and when I ask a question to the LLM the GPU usage % spikes to 100% then back to around 0%. I've tried setting the num_gpu parameter to -1, 10, 20, and 32 for Mistral, and all seem to be about the same.


Can create a spring boot project example , base on sparklr and tonr ?

since spring boot is recommend by spring.io

All the integration test samples (except sparklr and tonr) and Boot based. https://github.com/spring-projects/spring-security-oauth/tree/master/tests


Upgrade Python to 3.10.4 and support newer releases

Oh well... this is blocked on a new pyenv release for 3.10.4 — will update as soon as that is available

Oh well... this is blocked on a new pyenv release for 3.10.4 — will update as soon as that is available

As per the python/README.md-instructions, one should use a commit-hash instead of release if there has not been a release, so I did as instructed. Should be good to go

As per the python/README.md-instructions, one should use a commit-hash instead of release if there has not been a release, so I did as instructed. Should be good to go

And now a new version of pyenv is out, so this should be extra good to go

@brrygrdn bump, sorry to bother, but any chance of a review (and potentailly merge && release) soon?

@brrygrdn bump, sorry to bother, but any chance of a review (and potentailly merge && release) soon?

@henrikhorluck It's nice someone else pushing these updates too 🌹
@feelepxyz @landongrindheim @jurre 👋🏻

@henrikhorluck thanks for the PR! If you can rebase your branch on current main that'll fix the CI failure and I think we can get this merged in.

@henrikhorluck thanks for the PR! If you can rebase your branch on current main that'll fix the CI failure and I think we can get this merged in.

Done!


About load_radar funtion in radar_utils.cpp

Hi Keenan Burnett,
Your research is really interesting. I really enjoy the code you released. Thank you for your great work.
I try to integrate your work with my current research. However, there is one thing that I do not really understand so I would like to ask you. So, for the load_radar function, I realize that there is a code line as:
for (int j = 42; j < range_bins; j++) {             fft_data.at<float>(i, j) = (float)*(byteArray + 11 + j) / 255.0;         }
As far as I know, in Oxford dataset, the data from the column 12 to end is fft_data. Why did you start j at 42? In my opinion, j should be 0.
Thank you for your time and consideration.

Hi phamquandung,
You're correct that the actual data starts from zero. However, in my experience, it is useful to mask out the radar data within a certain distance to the sensor (42 * radar resolution). This essentially sets those bins to zero, so I skip processing them. It probably should be a function parameter with a default value set to 42 with better documentation, perhaps you can do that on your own fork 😉


Raise schema error if the file schema does not match the required schema

This allows applications to try older config files and do something about it, or fail gracefully

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (e3cbd96) 100.00% compared to head (1d39885) 100.00%.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #111   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            3         3
  Lines           54        55    +1
=========================================
+ Hits            54        55    +1

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


Permissions error, lambda can't access ECS

I'm pretty inexperienced with AWS, and I went through the guide a few times, but the Lambda errors out when trying to start the service. I'm getting this error.
"errorMessage": "An error occurred (AccessDeniedException) when calling the DescribeServices operation: User: arn:aws:sts::XXXX:assumed-role/minecraft-launcher-role-mijbep5x/minecraft-launcher is not authorized to perform: ecs:DescribeServices on resource: arn:aws:ecs:us-west-1:XXXX:service/minecraft/minecraft-server because no identity-based policy allows the ecs:DescribeServices action",
I have the polices attached to the role, but I don't know what the assumed-role part of the arn means, or how to attach policies to it.

I figured it out, I needed to change the region to us-west-1 as that's where my cluster was.


KeyboardAwareScrollView crashes

Environment:

React Native 0.36.0
React Native Form Generator 0.9.9
iOS

Steps to reproduce:

Declare a simple form:

import { Form, InputField, KeyboardAwareScrollView } from 'react-native-form-generator';

<KeyboardAwareScrollView>
  <Form
    ref="form"
    label="Information"
  >
    <InputField
      ref="num"
      label="Number"
      keyboardType="number-pad"
    />
  </Form>
</KeyboardAwareScrollView>

Expected result:

Form and the underlying fields are rendered
Form is scrollable

Actual result:

The application crashes with the following error:

Element type is invalid: expected a string (for built-in components) but got: undefined.

Standalone component react-native-keyboard-aware-scroll-view seems to work:
import { KeyboardAwareScrollView } from 'react-native-keyboard-aware-scroll-view';

react-native-form-generator's root index.js does not export KeyboardAwareScrollView.   There is a commented line that imports it from a dependency, but aside from being commented, that dependency was removed.  It looks like the author opted to place a copy of KeyboardAwareScrollView under src where it is referenced.  However the outside world can't see it.

FWIW... I'd like to avoid the continued use/promotion of any external keyboard-aware components since it's baked into react-native KeyboardAvoidingView -- packages like react-native-keyboard-aware-scroll-view haven't performed as well for me as KeyboardAvoidingView .. that is of course unless someone can chime in on the benefits

Any idea why the KeyboardAwareScrollView is commented out and/or if https://github.com/MichaelCereda/react-native-form-generator/pull/87 will be merged soon?

I just started trying to use this repo and I too am getting the crash with error:
Element type is invalid: expected a string (for built-in components) but got: undefined.
But in my case I am not referencing KeyboardAwareScrollView at all.
react: 15.4.1
react-native: 0.39.2
react-native-form-generator: 0.9.9
iOS: 10.2
<Form
  ref="form"
  label="Information"
>
  <InputField
    ref="num"
    label="Number"
    keyboardType="number-pad"
  />
</Form>

Error:

Can you post the actual code from your components render function? Your
code looks fine from what I can see
On Dec 28, 2016 7:03 PM, "MARC P"<EMAIL_ADDRESS>wrote:

I just started trying to use this repo and I too am getting the crash with
error:
Element type is invalid: expected a string (for built-in components) but
got: undefined.
But in my case I am not referencing KeyboardAwareScrollView at all.
react: 15.4.1
react-native: 0.39.2
react-native-form-generator: 0.9.9
iOS: 10.2

Error:
[image: simulator screen shot dec 28 2016 4 59 31 pm]
https://cloud.githubusercontent.com/assets/12177541/21534077/09cb5ae2-cd1f-11e6-9175-e94f5a327ca6.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MichaelCereda/react-native-form-generator/issues/83#issuecomment-269561325,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeBdtDx8ZxxNXImOjN24iwQBul0VMBiks5rMvjZgaJpZM4K3p1T
.

import React, { Component } from 'react';

import {
  StyleSheet,
  Text,
  View
} from 'react-native';

import { Form, InputField } from 'react-native-form-generator';

export class FormGeneratorTester extends React.Component{
  constructor(props){
    super(props);
    this.state = {
      formData:{}
    }
  }

  render(){
    return (
      <Form
        ref="form"
        label="Information"
      >
        <InputField
          ref="num"
          label="Number"
          keyboardType="number-pad"
        />
      </Form>
    )
  }
}

All looks correct. Since you're exporting the component as a named export,
make sure you're doing
import {FormGeneratorTester} from 'path'
and not
import FormGeneratorTester from 'path'
when you're including your component for rendering
On Dec 28, 2016 7:12 PM, "MARC P"<EMAIL_ADDRESS>wrote:

import React, { Component } from 'react';
import {
StyleSheet,
Text,
View
} from 'react-native';
import { Form, InputField } from 'react-native-form-generator';
export class FormGeneratorTester extends React.Component{
constructor(props){
super(props);
this.state = {
formData:{}
}
}
render(){
return (

)
}
}
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/MichaelCereda/react-native-form-generator/issues/83#issuecomment-269562026,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AEeBdiGhLY7KAuX5PAQendj4AIEZ0Vecks5rMvsCgaJpZM4K3p1T
.

@ainesophaur yup!  that was my issue...many thanks!  Keep up the good work!!


Enforce location of compute resources (instances and persistent disks)

This constraint template allows restriction of zones for placement of GCP compute resources, specifically VM instances and persistent disks. Allowlist and denylist functionality for zones is included, as well as the ability to exempt specific resources from the restrictions.
.gitignore updated to include .DS_Store for Mac dev compatibility.

@morgante @t12g Comments fixed up, this should be mergeable.


strict mode: unknown keyword: "format"

Hello, I'm using<EMAIL_ADDRESS>and<EMAIL_ADDRESS>in an AWS Lambda (Node.js 14) and I'm getting this error:
{
    "errorType": "Error",
    "errorMessage": "strict mode: unknown keyword: \"format\"",
    "stack": [
        "Error: strict mode: unknown keyword: \"format\"",
        "    at null.Gq (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/util.ts:211:28)",
        "    at null.$q (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/util.ts:27:22)",
        "    at null.Wfe (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/util.ts:17:3)",
        "    at Object.code (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/vocabularies/jtd/metadata.ts:11:9)",
        "    at null.UN (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/validate/index.ts:523:9)",
        "    at null.<anonymous> (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/validate/index.ts:265:9)",
        "    at Nq.code (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/codegen/index.ts:525:33)",
        "    at Nq.block (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/codegen/index.ts:680:20)",
        "    at null.RN (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/validate/index.ts:262:7)",
        "    at null.v (/node_modules/.pnpm/ajv@8.8.2/node_modules/ajv/lib/compile/validate/index.ts:248:7)"
    ]
}

Here is the function:
import {
  CognitoIdentityProviderClient,
  AdminCreateUserCommand,
  AdminAddUserToGroupCommand,
} from "@aws-sdk/client-cognito-identity-provider";
import { AppSyncResolverEvent } from "aws-lambda";
import Ajv, { JTDDataType } from "ajv/dist/jtd";
import format from "ajv/dist/vocabularies/format/format";
import addFormats from "ajv-formats";
import { transformUser } from "./user";
import { groupNames } from "./group";

// validation
const ajv = new Ajv();
ajv.addKeyword(format);
addFormats(ajv, ["email"]);
const schema = {
  properties: {
    email: { type: "string", metadata: { format: "email" } },
    family_name: { type: "string" },
    given_name: { type: "string" },
    groups: {
      elements: { enum: groupNames },
    },
    username: { type: "string" },
  },
} as const;
const validate = ajv.compile(schema);

// params
interface CreateUserGqlArgs {
  input: JTDDataType<typeof schema>;
}
interface CreateUserParams {
  cognitoClient: CognitoIdentityProviderClient;
  event: AppSyncResolverEvent<CreateUserGqlArgs>;
  userPoolId: string;
}

export async function createUser(props: CreateUserParams): Promise<unknown> {
  const { cognitoClient, event, userPoolId } = props;
  if (!validate(event.arguments.input)) {
    throw new Error(validate.errors?.toString());
  }
  const { username, groups, ...inputUserAttributes } = event.arguments.input;
  const userAttributes = Object.entries(inputUserAttributes).map(([k, v]) => ({
    Name: k,
    Value: v,
  }));
  const res = await cognitoClient.send(
    new AdminCreateUserCommand({
      UserPoolId: userPoolId,
      Username: username,
      UserAttributes: userAttributes,
    })
  );
  await Promise.all(
    groups.map((g) =>
      cognitoClient.send(
        new AdminAddUserToGroupCommand({
          GroupName: g,
          Username: username,
          UserPoolId: userPoolId,
        })
      )
    )
  );
  if (!res.User) throw new Error("Error while creating user");
  const user = transformUser(res.User);
  return user;
}

Does anyone know what's going on? Thank you!

@riker09, do you have insight? I based my code off your example here

Sorry, I'm afraid I will not be able to help you. I'm just a consumer of this library as well and have moved on to another project in the meantime.
Your code seems correct to me, though. So maybe it is something with the version?

@bestickley I believe you could just put "format" inside "metadata" member - JTD only allows extensions in this way, as they are no-op in this way.
If this does not work, please put pure JavaScript example in runkit so I can investigate.

@riker09, no problem.
@epoberezkin, thank you for your response. Here is the runkit example: https://runkit.com/bestickley/61eb0e06ce01ed0008bacdfe

ajv-formats does not seem to be supported by ajv-jtd, only ajv-keywords, also ajv-formats is not mentioned in docs (https://ajv.js.org/json-type-definition.html#extending-jtd)
Also according to docs: While it is ok to put some human readable information in metadata member, it is recommended not to add any validation logic there (even if it is supported by Ajv).
I decided to add regexp keyword from ajv-keywords, since I don't need anything else additionally to what jtd already supports.
import Ajv from "ajv/dist/jtd";
import addKeyword from "ajv-keywords";

export const ajv = new Ajv({
  parseDate: true,
});

ajv.addKeyword("description");
addKeyword(ajv, ["regexp"]);


unable to get an array of callables through static function within a static function

Godot version
v4.1.1.stable.official [bd6af8e0e]
System information
Godot v4.1.1.stable - Ubuntu 20.04.6 LTS (Focal Fossa) - Vulkan (Forward+) - dedicated NVIDIA GeForce GT 710 (nvidia; 470.199.02)
Issue description
I am unable to get a static array of callables in a static manner, except the 3rd option below.
Since this is unexpected behavior to me, checking to see if its a bug. I usually use #2, this is the first I've had so much issue I needed to report
to clarify ALL functions here are prepended with static
# get result by calling CLASS_NAME.a_func_1(v)

# 1
# will run through the array, but the array will be null callables or empty
static func a_func_1(v:Variant) -> String:
	for fn in get_funcs_1:
            fn.call(v)

static var get_funcs_1:Array[Callable] = [
	fn_one,
	fn_two,
	fn_three,
]

# 2
# will NOT run through array, errors at fn_one saying it is nil
static func a_func_2(v:Variant) -> String:
	for fn in get_funcs_2():
            fn.call(v)

static func get_funcs_2 -> Array[Callable]:
	return [
		fn_one,
		fn_two,
		fn_three,
	]

# 3
# this DOES work ONLY if  you create an instance of the class first
# otherwise, the same behavior as #2
static func a_func_3(v:Variant) -> String:
         var funcs_3 = [
		fn_one,
		fn_two,
		fn_three,
	]
	for fn in funcs_3:
            fn.call(v)

basically what I usually use in this situation, an empty static class without requiring an instance, is not working as expected so I need clarification on if its a bug, my misunderstanding, or what else is causing the frustration. A class of all consts and static funcs should perform without an instance, to my understanding at this point.
Steps to reproduce
Put the above in a class, attempt to call CLASS_NAME.a_func_1(v)
Minimal reproduction project
Not really needed at this point, its relatively simple.

@1xch Did you find a solution to this problem? If so, please document it here by commenting :slightly_smiling_face:

ok. I thought I saw my logic failure, or maybe not. So maybe just reopen it to see what anyone else thinks.
a_func_2 should be able to call get_funcs_2 which should be able to get static funcs fn_one, fn_two, and fn_three, but  get_funcs_2 can't because its requiring an instance to find the other three.
static func a_func_2(v:Variant) -> String:
	for fn in get_funcs_2():
            fn.call(v)

static func get_funcs_2 -> Array[Callable]:
	return [
		fn_one,
		fn_two,
		fn_three,
	]

So the question is this my mistake in misunderstanding static function interrelation or a bug. I initially thought that if its all static all the way down, it should not be an issue, as its not in other places: static funcs can call other static funcs so long as they are also static.
Here's the actual file:
# InputEventMatcher
# serialize and deserialize
class_name IEM
extends RefCounted

const IEM_ACTION:int = 1 << 1			# InputEventAction
const IEM_KEY:int = 1 << 2				# InputEventKey
const IEM_MOUSE_MOVE:int = 1 << 3		# InputEventMouseMotion
const IEM_MOUSE_BUTTON:int = 1 << 4		# InputEventMouseButton
const IEM_JOYPAD_MOVE:int = 1 << 5		# InputEventJoypadMotion
const IEM_JOYPAD_BUTTON:int = 1 << 6	# InputEventJoypadButton
const IEM_SHIFT:int = 1 << 7
const IEM_CTRL:int = 1 << 8
const IEM_ALT:int = 1 << 9
const IEM_META:int = 1 << 10
const IEM_PRESSED:int = 1 << 11
const IEM_RELEASED:int = 1 << 12
const _button_pad:String = "%07d"
const _address_delimiter:String = "."
# const NO_TAG:String = "NO_TAG"

# zero padded 5 digit flag "." zero padded 7 digit button "." string
static func SRZ(e:InputEvent) -> String:
	var acc:Array[String] = []
	var _srz_funcs:Array[Callable] = [
		_e_flagged,
		_e_button,
		_e_tagged,
	]
	for fn in _srz_funcs:
		acc.push_back(fn.call(e))
	return _address_delimiter.join(acc)

#static func _srz_funcs() -> Array[Callable]:
#	return [
#		_e_flagged,
#		_e_button,
#		_e_tagged,
#	]

static func _e_flagged(e:InputEvent) -> String:
	var f:int = 0
	var _flag_funcs:Array[Callable] = [
		_fl_type,
		_fl_modifiers,
		_fl_direction
	]
	for fn in _flag_funcs:
		f = fn.call(e, f)
	return "".num_int64(f)

#static func _flag_funcs() -> Array[Callable]:
#	return [
#		_fl_type,
#		_fl_modifiers,
#		_fl_direction,
#	]

static func _fl_type(e:InputEvent, f:int) -> int:
	if (e is InputEventKey):
		f = _enable(f, IEM_KEY)
		return f
	if (e is InputEventMouseMotion):
		f = _enable(f, IEM_MOUSE_MOVE)
		return f
	if (e is InputEventMouseButton):
		f = _enable(f, IEM_MOUSE_BUTTON)
		return f
	if (e is InputEventJoypadMotion):
		f = _enable(f, IEM_JOYPAD_MOVE)
		return f
	if (e is InputEventJoypadButton):
		f = _enable(f, IEM_JOYPAD_BUTTON)
		return f
	return f

static func _fl_modifiers(e:InputEvent, f:int) -> int:
	if (e is InputEventWithModifiers):
		if e.shift_pressed:
			f = _enable(f, IEM_SHIFT)
		if e.ctrl_pressed:
			f = _enable(f, IEM_CTRL)
		if e.alt_pressed:
			f = _enable(f, IEM_ALT)
		if e.meta_pressed:
			f = _enable(f, IEM_META)
	return f

static func _fl_direction(e:InputEvent, f:int) -> int:
	if e.is_pressed():
		f = _enable(f, IEM_PRESSED)
	if !e.is_pressed():
		f = _enable(f, IEM_RELEASED)
	return f

static func _e_button(e:InputEvent) -> String:
	if (e is InputEventKey):
		return _pads_button(e.keycode)
	if (e is InputEventMouseButton) || (e is InputEventJoypadButton):
		return _pads_button(e.button_index)
	return _pads_button(KEY_UNKNOWN)

static func _pads_button(v:int) -> String:
	return _button_pad%v

static func _e_tagged(e:InputEvent) -> String:
	if (e is InputEventAction):
		return e.action
	return "" # NO_TAG # e.as_text().sha256_text()

static func DSRZ(v:String) -> InputEvent:
	# var spl = v.split(_address_delimiter)
	return null

## flag

static func _checks(v:int, f:int) -> bool:
	return v & f != 0

static func _enable(v:int, f:int) -> int:
	return v|f

static func _disable(v:int, f:int) -> int:
	return v & ~f

My actual solution:
static func a_func_2(v:Variant) -> String:
	for fn in get_funcs_2():
            fn.call(v)

static func get_funcs_2 -> Array[Callable]:
	return [
		CLASS_NAME.fn_one,
		CLASS_NAME.fn_two,
		CLASS_NAME.fn_three,
	]


Register Tag with libasynql

I have a problem with registering a tag using libasynql being that obviously the function is asynchronous but the registration is not, how can I register it anyway?

You need to cache the data


Rewrote Docker install, added more features, BTCUSD dataset split, Optuna, ASHA scheduler, traded LSTM for AttentionNet...

This fixes and completes the partial Docker install, which should be preferred over other methods.

Thanks for the PR!
Why did you remove tensorflow from the dependencies?

The Travis CI test which fails uses Python 3.7 and Ubuntu Xenial. The Docker container was built with Python 3.6 support and was tested on Ubuntu Bionic.

Alright guys fixed this Travis CI thingy, so ready to be merged!

Just reporting here what we already discussed on discord: not ready to be merged as per the implied requirements that have been modified also for non-docker users.
I'll try to find a common ground between the two deployment options, starting from this PR.

Just reporting here what we already discussed on discord: not ready to be merged as per the implied requirements that have been modified also for non-docker users. I'll try to find a common ground between the two deployment options, starting from this PR.

Just reporting here what we already discussed on discord: not ready to be merged as per the implied requirements that have been modified also for non-docker users. I'll try to find a common ground between the two deployment options, starting from this PR.

Just reporting here what we already discussed on discord: not ready to be merged as per the implied requirements that have been modified also for non-docker users. I'll try to find a common ground between the two deployment options, starting from this PR.

I don't see a difference between the docker install and the pip install -r examples/requirements.txt. Do you see one? Besides one apt-get install for glx compatibility that was required in the dockerfile

Wow... those are so many changes in a single PR... will be hard to review haha :)
In the future try to split them in multiple PRs if you can, so that they can be tested and then merged individually.
I'll try to look into this asap, but I've had some issues delaying this

Wow... those are so many changes in a single PR... will be hard to review haha :) In the future try to split them in multiple PRs if you can, so that they can be tested and then merged individually.
I'll try to look into this asap, but I've had some issues delaying this

Yeah. My first PR was concise but I kept developing. Most of the development is in 2 notebooks. I'd review the rest before as 1 update, then check the notebooks.


Add optional installation instructions to emacs

As of dunn/homebrew-emacs@8d7b04b2d47a6591826e47769db49513835d0bc4 the emacs
version of the dracula theme can be installed via homebrew. This commit updates
the installation instructions to include this installation option.

Thanks @benjamreynolds!


opt make AGG_SCALAR_SUBQUERY_TO_WINDOW_FUNCTION rewrite rule

Proposed changes
Issue Number: close #xxx

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall

run buildall

run buildall


fix: opa cve vuln

What type of PR is this?

What this PR does / why we need it:
Which issue(s) this PR fixes:

Fixes #
Special notes for reviewers:

Does this PR introduced a user-facing change?

Additional documentation, usage docs, etc.:

Codecov Report

Merging #625 (cec157e) into master (ca50129) will decrease coverage by 0.08%.
The diff coverage is 3.96%.

:exclamation: Your organization is not using the GitHub App Integration. As a result you may experience degraded service beginning May 15th. Please install the Github App Integration for your organization. Read more.


[WIFI-3232] Fix Docker Compose deployment

Ignore the failing docker-compose CI check for now, it will be successful when https://github.com/Telecominfraproject/wlan-cloud-ucentralsec/pull/7 gets merged.

Do you know the reason why the build is failing?

@brennerm Yes the current main image of ucentralsec executes as a non-priviliged user, and the Compose deployment uses a bind mount, so the application inside the container has no write permissions in the folder and therefore can not write the SQLite database. This wasn't the case in the previous commit since at this time the switch to SQLite in the deploy repository wasn't merged yet.


Add @autostruct macro

This is an alternative to @compact for easily defining layers. Instead of rolling everything into one, @autostruct function MyModel takes the constructor function and magically defines the corresponding struct. You must still define the forward pass (m::MyModel)(x) = ... as usual.
The struct has an internal name. Iff you change the line MyModel(dense1, dense2), it will define a new struct to match the new definition. The binding MyModel = var"MyModel#13" is not const, but this only affects construction: calling the model is still type-stable. (The struct always has type parameters.)
julia> using Fluxperimental, Flux

julia> @autostruct function MyModel(d::Int)
          dense1, dense2 = [Dense(d=>d, tanh) for _ in 1:2]    # arbitrary code here, not just keyword-like
          dense2.bias[:] .= 1/d
          return MyModel(dense1, dense2)  # demand this be very simple, no = signs allowed (return optional)
       end
var"MyModel#13"

julia> function (m::MyModel)(x)  # forward pass looks just like a normal struct
         y = m.dense1(x)
         z = m.dense2(y)
         (x .+ y .+ z)./3
       end

julia> my = Chain(MyModel(2), Dense(2=>2))  # at present, always compact printing, from @layer MyModel
Chain(
  MyModel(...),                         # 12 parameters
  Dense(2 => 2),                        # 6 parameters
)                   # Total: 6 arrays, 18 parameters, 384 bytes.

julia> @inferred my(randn32(2,3))
2×3 Matrix{Float32}:
 -0.339922   -1.27762    -0.645441
  0.0119689   0.0943767   0.0357405

julia> Flux.trainable(m::MyModel) = (; m.dense1)  # no macro magic for this

julia> MyModel(2)
MyModel(...)        # 6 parameters, plus 6 non-trainable

Nice!

Niiiice! Comments:

Could it become @auto struct MyModel(d::Int)? Eventually, there could also be a @auto mutable struct MyModel(d::Int)
Can it be decomposed into 2 macros, say @autoflux and @auto? @auto does everything not flux-related, and should be a standalone package which every julian would find helpful. @autoflux will just call @auto and then add the @layer magic.
We should have a prototyping version and one for when the fields are settled and we don't care anymore about compatibility with Revise, so that the struct name can be MyModel for real at some point.

Could it become @auto struct MyModel(d::Int)?

My reservation is that the code inside is function-body code, not code you would normally find under struct. In fact, I thought things like this might not parse... but they do. Nevertheless this seems a bit strange to me.
julia> :(@mac struct Something
            a, b = eachcol(rand(3,3))
            for i in 1:3
              a[i] = i^2
            end
            return a+b
         end)
:(#= REPL[165]:1 =# @mac struct Something
          #= REPL[165]:2 =#
          (a, b) = eachcol(rand(3, 3))
          #= REPL[165]:3 =#
          for i = 1:3
              #= REPL[165]:4 =#
              a[i] = i ^ 2
              #= REPL[165]:5 =#
          end
          #= REPL[165]:6 =#
          return a + b
      end)

julia> struct Something
                   a, b = eachcol(rand(3,3))
                   for i in 1:3
                     a[i] = i^2
                   end
                   return a+b
                end
3-element Vector{Float64}:
 1.3967202370899579
 4.078791996072846
 9.943963169620071

julia> dump(ans)
Array{Float64}((3,)) [1.3967202370899579, 4.078791996072846, 9.943963169620071]

julia> methods(Something)
# 0 methods for type constructor

(Whether the name @autostruct is right I don't know... not attached to it.)

Can it be decomposed into 2 macros

It would certainly be easy to provide two macros -- say sharing the same inner function _autostruct  just with some keyword difference.
IDK if this is the right package for a non-Flux one though. Do you have non-Flux use cases in mind?
Literally composing macros tends to work badly. But one can pretend by having in e.g. @auto @layer function MyLayer the first macro @auto look for the other macro (which has not yet been expanded, need not even be defined) as a symbol to do something different.

... and one for when the fields are settled

If this ends up being useful, then I agree that might be a tidier final situation. I wonder if it ever matters besides being tidy -- will there be situations when performance differs, etc?

thought things like this might not parse...

wow, weird stuff, that should be avoided.  The @auto struct MyModel(d::Int) scenario would require for the first argument of the expression to be a :call.
I like the fact that @auto struct MyModel(d::Int) says concisely "I'm constructing a struct and its constructor at the same time" without looking too weird, and that it can be readily extended to mutable struct.

IDK if this is the right package for a non-Flux one though. Do you have non-Flux use cases in mind?

I was just looking forward to having a general-purpose package hosted by FluxML but also anywhere else.
It would be revise-friendly as https://github.com/BeastyBlacksmith/ProtoStructs.jl but also more powerful right?
Use cases is anyone developing a type-heavy package.
Also minimalistic versions like
@autostruct A(x, y)
@autostruct B(x::Int, y = 2)

would be useful.

could allow the syntax return MyModel(dense1::Dense, dense2::Dense)

Could do.
My examples all have only one constructor, and one reason to add constraints is to check other constructors. Doing the obvious thing does not work:
julia> MyModel(d1::Int, d2::Int) = MyModel(Dense(d1 => d2), Dense(d2 => d1))  # does not work
ERROR: cannot define function MyModel; it already has a value

julia> MyModel
var"MyModel#13"

julia> var"MyModel#13"(d1::Int, d2::Int) = MyModel(Dense(d1 => d2), Dense(d2 => d1))  # does work!
var"MyModel#13"

julia> MyModel(2, 3)
MyModel(...)        # 9 parameters, plus 8 non-trainable

If you have multiple constructors all using the macro... same struct if they agree exactly on field names, but if not, you'll get different structs. I think?

but also more powerful right? Use cases is anyone developing a type-heavy package.

I guess we can keep one eye on general-purpose usefulness. What I think this can't do is be type-stable through construction -- which ProtoStructs.jl manages:
julia> @proto struct Tmp
         x::Int
         y::Any
       end

julia> @code_warntype (z -> Tmp(1,z).y)([3 4.])
MethodInstance for (::var"#21#22")(::Matrix{Float64})
  from (::var"#21#22")(z) @ Main REPL[13]:1
Arguments
  #self#::Core.Const(var"#21#22"())
  z::Matrix{Float64}
Body::Matrix{Float64}

I think making prototyping possible would be important for this. Similarly to proto structs, maybe just have the macro turn it into a named tuple call? That way, every single struct would be
struct {name}{T<:NamedTuple}
    __x::T
end
Base.getproperty(…)= # access fields of __x

and you would simply update the tuple passed.
Then you can re-run it again with different numbers of arguments, and it won’t matter

There where some problems with Zygote + Functors with this approach
https://github.com/FluxML/Functors.jl/issues/46

I think making prototyping possible would be important for this.

I don't know if that was clear, but this PR's approach is fine for prototyping

name could be @autolayer. Or just @layer?

speculative: we can also add a macro @save_args to be used inside the constructor that adds two namedtuple fields, _args and _kwargs containing positional and keywords arguments. This allows easy storing of the hyperparameters and nicer show.

Re printing... there's now an option to do @layer :expand MyModel, which produces this -- not yet perfect:
julia> @autostruct :expand function MyModel(d::Int)
...

julia> my = Chain(MyModel(2), Dense(2=>2))
Chain(
  ##MyModel#270(
    Dense(2 => 2, tanh),                # 6 parameters
    Dense(2 => 2, tanh),                # 6 parameters
  ),
  Dense(2 => 2),                        # 6 parameters
)                   # Total: 6 arrays, 18 parameters, 384 bytes.

IDK if that should be here, or if we should just make it so that you can call both macros (currently this doesn't work):
@autostruct function MyModel(d::Int)
...
@layer :expand MyModel

constructor that adds two namedtuple fields, _args and _kwargs containing positional and keywords arguments.

The macro can see these arguments already (it just doesn't look). It could store their values as a special field of the generated struct, to print MyModel(2) in this case.
However, I'm a little scared of edge cases this will invite. Someone will do @autostruct function Model((in, out)::Pair; bias::Union{Nothing,Vector}=zeros(100)) and perhaps worse things?

Here's a failure case of the current code:
julia> @autostruct :expand function New2(a, b)
           A = Dense(a => b)
           B = Dense(b => a)
           return New2(A, B)
       end
var"##New2#262"

julia> New2(1, 2)
ERROR: MethodError: no method matching Dense(::Pair{Dense{typeof(identity), Matrix{…}, Vector{…}}, Dense{typeof(identity), Matrix{…}, Vector{…}}})
Stacktrace:
 [1] var"##New2#262"(a::Dense{typeof(identity), Matrix{…}, Vector{…}}, b::Dense{typeof(identity), Matrix{…}, Vector{…}})
   @ Main ./REPL[4]:2
 [2] var"##New2#262"(a::Int64, b::Int64)
   @ Main ./REPL[4]:4

julia> methods(New2)  # only the first seems to be called
# 2 methods for type constructor:
 [1] var"##New2#262"(a, b)
     @ REPL[4]:1
 [2] var"##New2#262"(A::var"T#1", B::var"T#2") where {var"T#1", var"T#2"}
     @ ~/.julia/dev/Fluxperimental/src/autostruct.jl:110

julia> @autostruct :expand function New3(a::Int, b::Int)
           A = Dense(a => b)
           B = Dense(b => a)
           return New3(A, B)
       end
"$(fun)(" = "New3("
var"##New3#263"

julia> New3(4, 5)  # with a::Int, it's unambiguous
New3(
  Dense(4 => 5),                        # 25 parameters
  Dense(5 => 4),                        # 24 parameters
)                   # Total: 4 arrays, 49 parameters, 404 bytes.

I would be conservative and require to specify some argument's type in the constructor when the type has the same number of field. This is what you would do when not using / removing  @autostruct. No strong feelings against the nothing option though.

It's true that we could leave it up to you. But perhaps it's more mysterious when things fail and there is no visible struct causing the ambiguity?
Perhaps nothing may cause issues if you replace this with a real struct & then try to load a saved Flux.state.


 Every time, when bitwise multiplication of the indices is not equal 0, TVM fails with the exit code 9 (Cell underflow).
For example indices 11 & 12 & 13 = 1011b & 1100b & 1101b = 1000b. When some bits in all indices equal 1, the leftNodes variable is empty. Does the fact that all rightNodes start with 1 mean that the label of the parent edge is incomplete?
Does Hashmap serialization work correct?

Hello. Could you provide the source code of the scripts you use to send the request to the smart contract? I think this will help us understand your issue more correctly.

It takes some time to simplify the script
import BN from "bn.js";
import { Address as T3Address, BOC, Builder, Coins, HashmapE } from "ton3-core";
import TonWeb, { AddressType } from "tonweb";
import { mnemonicToKeyPair } from "tonweb-mnemonic";
import { Cell } from "tonweb/dist/types/boc/cell";
import { NftCollectionOptions } from "tonweb/dist/types/contract/token/nft/nft-collection";
import { WalletV3ContractR2 } from "tonweb/dist/types/contract/wallet/v3/wallet-v3-contract-r2";

function delay(ms = 1000) {
  return new Promise<void>((resolve) =>
    setTimeout(() => {
      resolve();
    }, ms)
  );
}

async function transfer(
  secretKey: Uint8Array,
  wallet: WalletV3ContractR2,
  toAddress: AddressType,
  amount: BN,
  stateInit?: Cell,
  payload?: Cell
) {
  let seqno = null;
  while (seqno == null) {
    seqno = await wallet.methods.seqno().call();
    await delay();
  }

  let i = 0;
  while (i < 20) {
    try {
      await wallet.methods
        .transfer({
          secretKey,
          toAddress,
          amount,
          seqno,
          payload,
          sendMode: 3,
          stateInit,
        })
        .send();

      break;
    } catch (error) {
      i += 1;
      await delay();
    }
  }

  let newSeqno = null;
  while (newSeqno == null || newSeqno != seqno + 1) {
    newSeqno = await wallet.methods.seqno().call();
    await delay();
  }
}

async function getCollection(
  secretKey: Uint8Array,
  wallet: WalletV3ContractR2,
  deploy: boolean
) {
  const walletAddress = await wallet.getAddress();
  await delay();

  const collectionOptions: NftCollectionOptions = {
    ownerAddress: walletAddress,
    royaltyAddress: walletAddress,
    nftItemCodeHex: TonWeb.token.nft.NftItem.codeHex,
    collectionContentUri: "https://collectionContentUri",
    nftItemContentBaseUri: "https://nftItemContentBaseUri",
    royalty: 0.013,
  };

  const collection = new TonWeb.token.nft.NftCollection(
    wallet.provider,
    collectionOptions
  );
  const collectionAddress = await collection.getAddress();
  await delay();

  if (deploy) {
    const stateInit = (await collection.createStateInit()).stateInit;
    await transfer(
      secretKey,
      wallet,
      collectionAddress,
      TonWeb.utils.toNano("0.05"),
      stateInit
    );
  }

  return collectionAddress;
}

function itWillDeploy(from: number, to: number) {
  if (from == to) {
    return true;
  }

  let bits = from;
  for (let i = from + 1; i <= to; i++) {
    bits &= i;
  }

  return bits == 0;
}

async function deployNftItems(
  secretKey: Uint8Array,
  wallet: WalletV3ContractR2,
  collectionAddress: AddressType,
  from: number,
  to: number
) {
  const hashmap = new HashmapE(64);

  console.log("Deploy from", from, "to", to, "nfts");

  if (!itWillDeploy(from, to)) {
    console.log("Deploy will fail");
  }

  for (let i = from; i <= to; i++) {
    const content = new Builder();
    content.storeString("uri");

    const item = new Builder();
    const address = new T3Address(
      (await wallet.getAddress()).toString(true, true, true)
    );

    item.storeAddress(address);
    item.storeRef(content.cell());

    const body = new Builder();
    body.storeCoins(new Coins("0.01"));
    body.storeRef(item.cell());

    const hashIndex = new Builder().storeUint(i, 64).bits;
    hashmap.add(hashIndex, body.cell());
  }

  const builder = new Builder();
  builder.storeUint(2, 32);
  builder.storeUint(0, 64);
  builder.storeDict(hashmap);

  const payloadBoc = BOC.toBytes([builder.cell()]);
  const payloadCell = TonWeb.boc.Cell.fromBoc(payloadBoc)[0];

  const amount = TonWeb.utils.toNano("0.02").muln(to - from);
  await transfer(
    secretKey,
    wallet,
    collectionAddress,
    amount,
    undefined,
    payloadCell
  );
}

async function main() {
  const mnemonic: string[] = [ your mnemonic ];

  const keypair = await mnemonicToKeyPair(mnemonic);
  const provider = new TonWeb.HttpProvider(
    "https://testnet.toncenter.com/api/v2/jsonRPC"
  );

  const wallet = new TonWeb.Wallets.all["v3R2"](provider, {
    publicKey: keypair.publicKey,
    wc: 0,
  });

  const collectionAddress = await getCollection(
    keypair.secretKey,
    wallet,
    true
  );

  console.log("Collection:", collectionAddress.toString(true, true, true));

  await deployNftItems(keypair.secretKey, wallet, collectionAddress, 0, 9);
  await deployNftItems(keypair.secretKey, wallet, collectionAddress, 10, 15);

  // Try it out. It will cause tonweb.boc.Cell.fromBoc to fail
  // await deployNftItems(keypair.secretKey, wallet, collectionAddress, 11, 15);
}

main();

Bug fixed. Thanks for report!


Show cells in Outline

Can we have "Cell sections" (defined as #%%) in Outline of VS Code?
This could be the top hierarchy for Python files.
As an example: this feature already exists in Spyder editor.

Hy. Any progress on that?
This outline feature would be absolutely great.


fix: include types in package

This leaves me with so many questions, but here I am.  Fixes #350

TBR = @stephenplusplus


Comment the purpose of each function

It would be helpful if there was a comment before each function that gave a short description of what it does and what it's used for. I know a few are commented but it would make it much easier to read the source if you could add comments for every function.

Wasn't expecting people to start hacking the source so soon, heh :)
Not opposed to adding some more descriptions, but priorities right now are on finishing the routing plugin and making much more public API docs. The internals explanation would be secondary and could only be terse to those who are already familiar with the lib's ergonomics.
If you have questions about specific internal functions, go ahead and ask here. If you want a high-level overview, I can also give you that.

speaking of routing, if you'd like to provide some feedback on the current implementation that would be very helpful. see #11

@leeoniya

Wasn't expecting people to start hacking the source so soon, heh :)

Ha ha. I pulled the project and began looking over the source from the first day you tagged me. The best indicator of the quality of the thinking of a person is the quality of the code they write.

lol, there was some hairy code in there before. hope i didn't tag you too early :)

@leeoniya
Well, specifically I had a hard time quickly finding where the implementation of the templating language is, since the words 'template' and 'jsonml' aren't used in the source. Other than that it's relatively easy to read the code right now so it shouldn't be a main concern.

Wasn't expecting people to start hacking the source so soon, heh :)

I have wanted to write something like this for a while out of frustration for the way other javascript frameworks and libraries are written. When you linked me to it on HN I was really happy and started looking through the source immediately. :)
I noticed in your forked libraries you have a lot of the same libraries I was researching, I have a few more to suggest you look at if you're interested.
Gonna work on my first app with domvm either today or tomorrow, will report back with the results. :)

@FaizShah
Thanks! I look forward to some feedback. While I think broadly ingesting even more libs would reduce my focus, please link them anyways. If there is a lib or concept that can logically fit into domvm, I will definitely look at it, but from what I have seen, many pretty/terse features presume a coupled structure, so may not work at the lower levels.

btw, if your project is plopen source, it would be very helpful to see it in full rather than isolated pieces. It would be easier for me to see when you're scope-hacking around poorly documented or undocumented features.

I've published the router and split the lib into a few modules. The API has changed slightly.
domvm() is now domvm.view()
vm.html() is now domvm.html(vm.node)

gonna close this. not because i don't think it should be done but there's just way too much other stuff to get done by 1.0 and until the lib is stable there's enough changing internally that it doesn't make sense to spend additional time on this.


Not opening app leads to CLA not supported error

near-shell version 0.24.2

Unlock Ledger but don't open NEAR app.
Run:

$ near generate-key test123 --useLedgerKey
Using options: {
  useLedgerKey: "44'/397'/0'/0'/1'",
  networkId: 'default',
  nodeUrl: 'https://rpc.testnet.near.org',
  contractName: undefined,
  walletUrl: 'https://wallet.testnet.near.org',
  helperUrl: 'https://helper.testnet.near.org',
  accountId: 'test123',
  initialBalance: null
}
Make sure to connect your Ledger and open NEAR app
Waiting for confirmation on Ledger...
Error:  Error
    at new TransportStatusError (/usr/local/lib/node_modules/@ledgerhq/hw-transport-node-hid/node_modules/@ledgerhq/errors/dist/index.cjs.js:288:18)
    at TransportNodeHid.Transport.send (/usr/local/lib/node_modules/@ledgerhq/hw-transport-node-hid/node_modules/@ledgerhq/hw-transport/lib/Transport.js:59:15)
    at async Object.getPublicKey (/usr/local/lib/node_modules/near-ledger-js/index.js:31:30)
    at async getPublicKeyForPath (/usr/local/lib/node_modules/near-shell/middleware/ledger.js:26:30)
    at async /usr/local/lib/node_modules/near-shell/commands/generate-key.js:18:35
    at async Object.handler (/usr/local/lib/node_modules/near-shell/utils/exit-on-error.js:4:9) {
  name: 'TransportStatusError',
  message: 'Ledger device: CLA_NOT_SUPPORTED (0x6e00)',
  stack: 'Error\n' +
    '    at new TransportStatusError (/usr/local/lib/node_modules/@ledgerhq/hw-transport-node-hid/node_modules/@ledgerhq/errors/dist/index.cjs.js:288:18)\n' +
    '    at TransportNodeHid.Transport.send (/usr/local/lib/node_modules/@ledgerhq/hw-transport-node-hid/node_modules/@ledgerhq/hw-transport/lib/Transport.js:59:15)\n' +
    '    at async Object.getPublicKey (/usr/local/lib/node_modules/near-ledger-js/index.js:31:30)\n' +
    '    at async getPublicKeyForPath (/usr/local/lib/node_modules/near-shell/middleware/ledger.js:26:30)\n' +
    '    at async /usr/local/lib/node_modules/near-shell/commands/generate-key.js:18:35\n' +
    '    at async Object.handler (/usr/local/lib/node_modules/near-shell/utils/exit-on-error.js:4:9)',
  statusCode: 28160,
  statusText: 'CLA_NOT_SUPPORTED'
}

It says Make sure to connect your Ledger and open NEAR app, so assigning P3 unless there are any objections.


Printing Margins Help!

Hey all,
I am using chrome and trying to print my homebrew DM screen. However, every time I do, I get white margins around the pdf.
I have tried playing with all the different margin settings for my printer, while saving the pdf in chrome, and tried printing from both chrome and adobe with 0 margins set.

Share Link : http://homebrewery.naturalcrit.com/share/HJQQbqx3hb

Do you have your page size set correctly? If the document is a different
page than your pdf print settings you will get white borders.
On Thu, Oct 19, 2017, 1:00 PM 1sttimecaller<EMAIL_ADDRESS>wrote:

Hey all,
I am using chrome and trying to print my homebrew DM screen. However,
every time I do, I get white margins around the pdf.
I have tried playing with all the different margin settings for my
printer, while saving the pdf in chrome, and tried printing from both
chrome and adobe with 0 margins set.

Share Link : http://homebrewery.naturalcrit.com/share/HJQQbqx3hb
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/524, or mute the thread
https://github.com/notifications/unsubscribe-auth/AFmzBmp8RGI-Yym3JvkjfeN_duxKqs8lks5st4AQgaJpZM4P_jJh
.

It should just be standard letter size if I'm not mistaken? I combed through the file for any A4 size settings and didn't see any. Also if I set it to A4 the page shifts...so I am going to guess that I have everything set right in homebrewery. This is my first brew though, so I could be wrong.

I just tried printing it myself with standard letter size, default margins, and it seems totally fine to me. Can you maybe show a screenshot of what you're getting?

Wait wait... So does your pdf file have these margins or is it only in the
paper copy?
On Thu, Oct 19, 2017, 2:06 PM 1sttimecaller<EMAIL_ADDRESS>wrote:

[image: screen shot 2017-10-19 at 2 06 04 pm]
https://user-images.githubusercontent.com/32937680/31786491-ae25d636-b4d6-11e7-9218-6054ebaca191.png
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/524#issuecomment-337990141,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFmzBg2UIfDMulbbbjl8Xs8KMAkMo_yMks5st4-kgaJpZM4P_jJh
.

Only when I print. That one was done exactly how you said you set your print up.
No matter what settings I use printer wise, space is always there. Actually, this is the best it gets...Other settings make it really small

Ok ok. So if your PDF is being generated correctly without whitespace, then
the Homebewery site has done its job. Once you start printing on paper,
that starts to be more an issue with your printer than anything to do with
the website.
Some printers are simply designed to not print all the way to the edge so
they don't spill ink all over the inside od the printer. In fact it looks
to me like your printed page doesn't have a margin around the page, but
rather has cut off the outside 1/4 inch or so. Its trying to print all
the way to the edge, but when it gets to the printer it just isn't
programmed to do that. Options then would be to just print as big as you
can and trim off the white edge, or take your file to a copyshop where they
have special full-page printers and can make it look nice and shiny for a
couple bucks.
On Thu, Oct 19, 2017, 3:04 PM 1sttimecaller<EMAIL_ADDRESS>wrote:

Only when I print. That one was done exactly how you said you set your
print up.
No matter what settings I use printer wise, space is always there.
Actually, this is the best it gets...Other settings make it really small
—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/stolksdorf/homebrewery/issues/524#issuecomment-338006249,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFmzBiIu6VkrI_ryQbIzHt-ju9Yh8qqhks5st51VgaJpZM4P_jJh
.

I work at a place where we often print to the edge of a page. We make a lot of full-page ads, and when I print those as pdfs I have no issue.
Obviously, I cannot show you an example of that.

Closing since we have made many related improvements since this was posted, and the issue is likely solved.
If you are still experiencing this issue, feel free to reopen and provide information, @1sttimecaller

Closing since we have made many related improvements since this was posted, and the issue is likely solved.
If you are still experiencing this issue, feel free to reopen and provide information, @1sttimecaller


Roadmap / Checklist

Hey -- curious if you have an internal roadmap or checklist you're working off of. It'd be nice to surface it somewhere on here; I think it'd empower other people on Github to start helping you out.

Hello fmmoret,
yes I just recently started an internal roadmap on this wiki page, but it is on monthly basis.
I am working on getting the code in sync with the last release v3.3.0 and debugging features through examples. If you can motivate people to provide some help (or feedback) or defining some priorities that can attract more people that would be very welcome :) My personal roadmap is getting the Sponza demo scene working by end of January, there are still some things to do like debugging bones support; particles, fix scene loading issues. I can define some tasks here if needed.
Thanks,
Sam


Issue templates for the repo using new github issue forms

Resolves #1
This PR adds issue templates using new interactive github issue forms feature for following tasks:

bug reporting
documentation issues
feature suggestion

Better ease of use for issue reporting with interactive form.

@avats-dev  Great work. One more change before we can approve. We have made few changes in the language and also the format of Code of conduct. Please check https://github.com/appwrite/appwrite template and update accordingly.
Thank you.


Server Rejects Client

Hi
I am using Matrikon OPC simulation server to test the opc client
Here is the console log message
[2020-05-27T16:35:40.091] [INFO] main - Starting Influx OPCUA Logger v2.0.0-alpha, brought to you by FACTRY (www.factry.io) [2020-05-27T16:35:40.094] [INFO] main - Initialising influxClient [2020-05-27T16:35:40.111] [INFO] influx - localhost:8086 responded in 14ms running 1.7.2 [2020-05-27T16:35:40.112] [INFO] main - Initialising buffer [2020-05-27T16:35:40.116] [INFO] main - Connecting OPCUA [2020-05-27T16:35:47.144] [FATAL] main - Error: The connection has been rejected by server, Please check that client certificate is trusted by server. Err = (ERROR in waiting for data on socket ( timeout was = 60000 ms))     at Object.start (C:\TestProjects\NodeTests\OPC\SRC\node-opcua-logger-master\src\opcua.js:64:15) [2020-05-27T16:35:47.147] [INFO] buffer - Persisting membuffer.
Why is certificate rejected by the server?
Ajay

Hi there, you must trust the certificate from the server side. You'll probably find a menu in the matricon OPCUA server configuration where you can select this certificate and trust it.

Thanks. Let me check.
If there is no option, how to change to connection without certificates?
Thanks
Ajay

This also depends on your server settings I believe. You'll find a lot of settings related to authentication and so on in the endpoint configuration.

Thanks
Let me try...
Ajay

Hi
I Got it Working
Thanks
Ajay


[bug]: "Cannot read properties of undefined (reading 'Root')" on Modal component

What version of design-system are you using?
^1.19.0
What's Wrong?
When I try to add a Modal component, entire UI will crash in white with the error on the title. Is not recognizing the <Modal.Root>.  I'm using this component inside a custom field plugin on Strapi's CMS.
I was also wondering where to add the <DesignSystemProvider> provider in this case since from the plugin perspective, it just loads a component. Should I just wrap the component in this provider either way? I tried but keeps happening the same issue.

This is my current code that I was testing as an example:
const ModalImpl = (): JSX.Element => {
  return (
    <Modal.Root>
      <Modal.Trigger>
        <Button>Select Content</Button>
      </Modal.Trigger>
      <Modal.Content>
        <Modal.Header>
          <Modal.Title>Search content</Modal.Title>
        </Modal.Header>
        <Modal.Body>
          <Field.Root name="name" required>
            <Field.Label>Content Title</Field.Label>
            <Field.Input />
          </Field.Root>
        </Modal.Body>
        <Modal.Footer>
          <Modal.Close>
            <Button variant="tertiary">Cancel</Button>
          </Modal.Close>
          <Button>Confirm</Button>
        </Modal.Footer>
      </Modal.Content>
    </Modal.Root>
  );
};

This is my dependency list
"dependencies": {
    "@strapi/design-system": "^1.19.0",
    "@strapi/icons": "^1.19.0",
    "@strapi/plugin-cloud": "4.25.6",
    "@strapi/plugin-i18n": "4.25.6",
    "@strapi/plugin-users-permissions": "4.25.6",
    "@strapi/strapi": "4.25.6",
    "better-sqlite3": "8.6.0",
    "react": "^18.0.0",
    "react-dom": "^18.0.0",
    "react-router-dom": "5.3.4",
    "styled-components": "5.3.3"
  },

To Reproduce
Add a markdown for a <Modal.Root>
Expected Behaviour
It should render without any issues.

@mmarzullotv The documentation does not say that it is directed for the V2 (or I did not read it), I had to analyze the repository to realize that

@ruan-azevedo yea, I ended up having to use different components. Something's off with the current design-system documentation giving non-updated examples? Not sure what could be happening.

Probably because tag v.1.19.0 and main differ significantly from each other and the storybook documentation linked in the readme is built against main (at least according to the URL)


css modules and postcss

Coverage increased (+0.09%) to 94.03% when pulling e578080f2f65c6db1053b632f50b12903cc04071 on webpack-css into f3f2f6cd010cb1a20ca873d5319c4b9c9e3b5f3e on master.

Coverage increased (+0.09%) to 94.03% when pulling e578080f2f65c6db1053b632f50b12903cc04071 on webpack-css into f3f2f6cd010cb1a20ca873d5319c4b9c9e3b5f3e on master.


Holiday Hackathon?

Given that christmas is coming up and folks either have some time off or are visiting family and need something to do to escape their family for a few hours...any interest in doing an ev3dev-lang-python hackathon?
Brainstorming some project ideas that we could probably collectively do in < 24 hours (or we do a 12 hour hackathon if that is more manageable):

port the odometry library in #235
build some more of the EV3 reference models and add them to the demos
this wouldn't contribute much to the core of the repo here but it would be fun...I've been thinking about building a robot that could play the NES version of Tetris.  The game would run on a laptop, raspberry pi, etc with a keyboard attached.  You position a color sensor over the part of the screen where is shows you what the "next" piece is and then you have the motors press the appropriate keys to turn, shift, and drop the block.  The only gotcha might be learning what the very first piece is, I'm not sure if that shows up in the "next" block or if it just starts dropping down from the top as soon as you start.  Maybe the user has to tell us what the first piece is.

What do you guys/gals think?

I'm in -- my plan is to do as much ev3dev-related work as possible, so this is definitely something that's interesting to me! One of the topics that I've been thinking of is #264 (an ev3dev simulator).

That would be cool....do you think we could pull that off in a hackathon? What simulator do you think we should build on? Some of the ones in that thread look down right amazing.

If we want to pursue it we can discuss over in that issue; I think the main task is to essentially implement the ev3dev motor drivers at some level to back a simulation environment. The actual simulation could be anything from a simple 2D rendering of a robot to a full 3D physics-based one... for these purposes (a short hackathon-style time range) we'd probably want to go with the former, at least as a starting point.
As to the logistics of such a thing, what are you imagining? Create a Gitter room to use and set a date/time?

Was researching the Tetris idea, not surprisingly there is some good Tetris AI code out there:
https://codemyroad.wordpress.com/2013/04/14/tetris-ai-the-near-perfect-player/

Yeah I figure we pick a date, figure out how long we want it to be, pick a project, create a branch here, maybe kick it off with a video conference and then chat via Gitter after that.

Sounds good to me! Maybe we should advertise this somewhere that other ev3dev community members (who aren't watching this repo) could find it... what do you think?

yep, let's pick a date/time first and then we can send it out.  How about Dec 30th?  We could start at noon EST that way it isn't crazy early for anyone on the west coast (I realize now I have no idea where any of you guys live and what timezones you might be in).
Something else to settle on before we announce is how long this will be.  My vote would be for either 12 hours or 24 hours....I could do 24 hours given enough coffee.
Most hackathons have some sort of prize but that involves a lot of hassle (buying/shipping the prizes, judges, etc), my vote would be to not bother with prizes just to simply things.

I have some troublesome travel plans that I wanted to nail down before saying anything definitive; now that I know when I'm going to be unavailable I can actually help with specifics. I'm going to be traveling on the 19th, the 25th and the 30th, and likely will be unavailable in general between the latter two dates :laughing:... I can't say that leaves much in the way of flexibility 😢 I'll be in UTC-5 for most of that.
I agree on all points; 12 hours is the most reasonable and more than basic arrangements are probably more than necessary. We should just get a few people and have some fun doing cool projects.

Maybe we should aim to do it sometime in Feb so that folks have time to plan ahead?

Yeah, that sounds good to me! I am not sure of exactly when we may want to schedule it though.

https://github.com/ev3dev/ev3dev/issues/92 "Daisy chaining two EV3s?" might be a good hackathon project

Am going to close this...we can re-open if we get motivated enough to do a hack-a-thon


Update README.md

Minor/cosmetic:

Adding a top-level (H1) header
Highlighting that Incubation is a term (using an Italic font as per the Hyperledger Project Lifecycle document)
Extending the url/link to span the "Hyperledger Project Lifecycle document"

LGTM thanks @JonathanLevi
For future reference, you can bypass the TravisCI build with [ci skip] in the PR body for PRs that only address markdown changes, at least while we're using Travis.

@JonathanLevi could you rebase this PR? There's a merge conflict currently. Thanks

@christo4ferris: thank you. @srderson: Just did [& closing this, as suggested]


Does not work for deleted and re-opened again forks

Hello,
I have a master repo: https://github.com/fipl-hse/2019-2-level-labs
And the fork: https://github.com/demid5111/2019-2-level-labs
I removed the fork and created it again and it stopped working.
Could you please support?
Also, even when it was working, GitHub told me that I have 3 commits behind, 3 commits ahead of the master repo. How could that be possible if your app constantly updated the master branch and it could be only ahead?

Thanks for opening the issue. At this time, the hosted version maintains a list of all repositories that have uninstalled pull in memory which doesn't get cleared out. I clear the list so your fork can be picked up by pull again.
Secondly, the repository in question has a pull.yml with rebase as the merge method. This is what fipl-hse has picked as the default. You can create a new branch (new branch name), make it the default branch, then change rebase to hardreset in the pull.yml to customize the config to your needs.
Please reply if you have any follow up questions 🤓


fix submit function via url

Motivation
Submitting a function in which the function package is a url is broker right now.  If a user is submitting a function with a url package, he or she will get the following exception:
Jerrys-MBP:incubator-pulsar jerrypeng$ ./bin/pulsar-admin functions create --function-config-file ~/function.yaml
User class must be in class path

Reason: User class must be in class path

The reason is because we don't actually download the function package from the URL and load it
Modifications
Download the JAR from the function package URL.
I am not sure why in the code we only download the first 10 bytes from the URL and then delete the file.  Was this just to check if the URL is valid?
Maybe @rdhabalia can chime in since he wrote most of this code originally.
Though not sure we should download the function package/JAR so that we can do some validation.  The JAR can be very large.

@jerrypeng
There seems to be genuine test failure:
java.lang.NullPointerException
	at org.apache.pulsar.io.PulsarFunctionE2ETest.testPulsarSinkStats(PulsarFunctionE2ETest.java:424)
	at org.apache.pulsar.io.PulsarFunctionE2ETest.testPulsarSinkStatsWithUrl(PulsarFunctionE2ETest.java:595)

@merlimat this just means the prometheus stats did not have the function stats in them.  Its a timing issue because I am trying to download the jar from a url.  I am working on a fix for this

Merged in 2.3.1 at
04de22e