Slow repository browsing response times

Configuring Gogs, browsing the commit log, searching, pushing/pulling, etc. is all fairly snappy, but browsing the files of a repository is (comparatively) very, very slow.
For example, I have a repository with 30 entries in the root, and 147 folders in a nested folder. The total page time (as seen at the bottom of the page) is ~700ms for the root, and ~4000ms for the larger nested folder. I realize that's still only 23-27ms per item, but the sum total lag is significant, and makes it difficult to browse between folders. The template rendering time itself is negligible (~10ms).
Below are the top results of an strace -cfp pidof gogs`` for a refresh of the 147-item folder. Note this only shows the time spent in syscalls, which is only about a quarter of the total time (it takes twice as long when strace is running):
% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 30.50    0.749541         603      1242           futex
 17.68    0.434417      217209         2         1 restart_syscall
 17.55    0.431308         936       461           epoll_wait
 14.96    0.367632        1585       232           wait4
 13.43    0.329996        2750       120           sched_yield
  2.48    0.061040          90       676           select
  1.07    0.026240           5      5618           read
  0.46    0.011213           2      5789           mmap

Gogs version: Gogs version <IP_ADDRESS>2 Beta
Git version: git version 2.5.0
System: Fresh install of CentOS 7 in a single-core VM on a Windows 8 host (Hyper-V). No anti-virus.
Any idea of what might be causing this?

Thanks your detailed feedback!

Any idea of what might be causing this?

In my opinion, I think it's not a topic about what causes this, instead, it is because Gogs hasn't had a cache system for repository Git data(it reloads everything every time you visit a page).
The speed should be improved at some point in the future release.
Hope my explanation help you understand. :smile:

Ah OK, so this is normal?

At least it is expected for me when:

I have a repository with 30 entries in the root, and 147 folders in a nested folder.

Got it :-) It's really a pretty small repository, it's just spread over a lot of files.

Yeah, so parse file header info takes time, cache(when implemented) would definitely help!

Hmm, I wonder -- would it help much if the calls to git were batched by changeset? Often many files were changed at the same time.
The calls to git log -1 for each sha1 could have multiple paths appended instead of just one at a time.

Hmm, turns out git log -1 path1 path2 doesn't work that way -- it yields the top commit among the set of commits for both files together (one output), instead of the top commit per file (two outputs).
This is related to #684.

this is currently a show-stopper for something like this repo: https://github.com/gentoo/gentoo

Performance is enhanced.

This is still a thing: https://try.gogs.io/Rukenshia/loonix
It is impossible to browse this repository properly. Loading the "Documentation" folder takes over 45 seconds for me. I dont know how gogs handles viewing the tree, but maybe an idea would be some kind of loading the file info delayed (last commit on that file/directory). I think GitLab does this too.
@Unknwon can you tell me whether gogs loads the complete tree of the repository when viewing the repo?

Yeah, I too think that caching is not the only answer. The answer is to just show a loading icon for the git commit info, have the information being gathered in the background and just show it when it's available, while still allowing other operations that don't need that information.

Gogs finds only the information necessary for the immediate files in the folder being displayed, not the whole tree. But internally, git itself goes through its entire history looking for each child file/folder to get the most recent commit. Git's data structures are really not made for that kind of query.

Gogs finds only the information necessary for the immediate files in the folder being displayed,

I don't think you need commit hash, commit message and modification date to just browse the repository, do you? So these information can be loaded while the tree itself is already shown.

Sorry, I wasn't clear. I meant as opposed to loading the information for the whole tree, as Rukenshia was wondering.
I agree that if the information cannot be obtained instantly, preventing the UI from blocking by fetching it in the background is a good idea.

I might use https://github.com/src-d/go-git to test see if we can get performance gain.

I tried at one point to implement the same functionality using the git C API directly (from C code), taking in the whole list of files as input instead of a single one at a time. No matter what I tried, it was still slower than invoking the git process one file at a time, which of course is already too slow.
Fundamentally, whatever client is used, git's data structures don't allow this sort of query to be done quickly.

@cameron314 One git process execution is under 100ms on my dev machine, and I can speed up with unlimited processes running at the same time, but this cause many problems on machines with small memory, so right now it is hard limited to 10 at maximum.
Therefore, I think cache layer is the ultimate solution, and cache ahead browsing, is another way to improve view experience.

I have the same problem with a big repo. I uploaded it to try.gogs.io, so you can see the performance in a known machine/config. The same repo works pretty well with cgit (with the cache enabled).
Probably the slowest directory in the repo is this: https://try.gogs.io/juanfra684/openbsd-ports/src/master/devel (Gogs Version: <IP_ADDRESS>1 Page: 118641ms Template: 214ms)

An alternative strategy for very large directories, instead of calling git log for every file, would be to walk the git commit history and check for each commit whether or not a file in the directory was modified in this commit. Using the git command, this would be something like:
git log --name-only --format="%cd" <dirname>

This should be much more efficient than calling git log for each file, because internally git log has to walk the commit history until it finds a commit at which the file was modified. Instead of walking the git commit history n times where n is the number of files, this would only walk it once and collect information about all files in one pass.
Furthermore, using a git library instead of making calls to the git command could make this solution reasonably efficient.
Another advantage of this approach is that it allows trading-off running time for accuracy: there could be a limit on the number of commits to visit. After that, the files for which the date of last modification could not be determined could simply render as "more than x months ago", where x is determined based on the commit date of the last commit visited.
As mentioned above, the git data model was not designed for this kind of queries, so it seems that eventually some caching will be necessary for both efficient and exact answers for large directories/commit history.

@Thibauth: I tried pretty much this. Using libgit in C. It was slower than invoking git for each file (which doesn't pass through libgit if I understand correctly, but uses even lower level code).
But I like the idea of limiting the search to give a reasonable worst case instead of degenerating.

@cameron314 thanks for your answer. It is interesting that you tried and didn't find any performance gain by using libgit. Do you still have the code you experimented with (maybe you can put it on gist or something)? I think there are several ways to go about this and I agree with you that making it efficient will require doing it at a pretty low level, similar to how it is done in git.
Also, following the discussion in #2592, to implement this kind of approach in Go, we will have to use either git2go (go bindings to the C library libgit2) or the more recent pure go go-git. @Unknwon seems to prefer a pure go solution for portability reasons. I don't have much time right now, but I am also considering experimenting with all this a couple of weeks from now. I also have a few thoughts about how the caching could be done.

@Thibauth Unfortunately I lost the source code. It was just a crude test so I was a little careless with it. I remember basing most of the code on the log example, with the key being git_pathspec_match_tree (I tried a few other ways too, can't quite remember now). But even if the path matching could be made very fast, walking the commit log is fundamentally too slow in the worst case. Precomputing the desired per-file/directory information and updating it as commits are pushed is probably a better solution, though obviously there is a non-negligible space (and complexity) cost to that.

Thanks, I will keep that in mind when experimenting. Regarding the caching, I think the space cost should really be close to negligible: storing the hash of the last commit for each entry in the tree should take the same amount of space as storing a single tree associated with a single commit, so this is basically the size of single commit.

Ok so I did a very preliminary experiment usling libgit2 and the approach described above. The code is very ugly and not fully functional, but it already gives an idea of the gain which could be obtained.
Testing it on the root directory of the Gentoo repository I am able to cut the running time by a factor two when using the above approach rather than calling git log on each file. A couple of comments about this:

I ran into some limitations of libgit2 and, profiling the code, I believe that using a customized pure go implementation of git, we could cut another factor 2
the gain would be even larger for larger directories: calling git log for each file grows linearly with the  number of file, while the above approach grows sublinearly with the number of files

The gain is not mind-blowing, and it is a design choice to decide to pay in terms of code complexity for it. Ultimately, caching is probably the way to go, and the more I think about it the more I think it wouldn't be too hard to implement.

A bit late, but I found the source code of my test, if you want to compare implementations. Here you go: https://gist.github.com/cameron314/c9d55a82cc91e45496ab0c38a31e69cb

Maybe taking a look into how GitLab implements the repository browsing might be worth a try. I just gave it a shot on a Virtual Machine here on my tower PC. GitLab displays the "Files" tab of the Git repository in very little time (~1s) while Gogs needs ~23s to display the (semantically equivalent) "Code" tab. :(

I don't know for gitlab but i thinks that github take the approach of displaying the file list directly and retreiving after the hash from api. This will also permit to divide the problem and focus on optimizing (maybe by caching) the hash retreiving separatly.

Related? #3022

@tycho kind of, but not the exact same problem.

I think it is related in that if we go for a caching solution for this issue, we might as well cache the commit count at the same time and fix both problems at the same time.

Loading Django repository (~23k commits) with gogs takes about ~5 seconds.

What do you think about this ? Can be a nice feature for large directories like https://github.com/DefinitelyTyped/DefinitelyTyped

I have made a mirror of github.com/torvalds/linux and pageloads are between 6 and 40 seconds for this repository on my machine. This process runs with 100%  git rev-list --count <SOME_HASH> while the page is loading. Maybe we can cache the the output of git rev-list --count ...?

Is someone working on this? This issue is tagged with "dont send pull request" so I'm not going to send one, but through simple caching I was able to speedup a repositories home (overview) site by 300% on subsequent requests (the first one still takes its time), it's kind of a pain to work with a repository which takes three seconds to load :/

My biggest problem with this issue is that in the underlying gogits/git-module, there's an artifical .2s delay for every non-commit object. By commenting that Sleep out, a 20s page rendering goes down to 1.6s, without caching!

I should mention, that on my server browsing linux kernel repo clone is slow, but possible, but loading tags (release page) takes very long time.

my problem is if i have plenty files on a folder  ( 1500 ) to be precise it take allot to process almost 13 minutes to open the folder on gogs :(

I transferred to gitea, as this issue is still unresolved here...
simoesp<EMAIL_ADDRESS>ezt írta (időpont: 2017. ápr. 10., H
12:11):

my problem is if i have plenty files on a folder ( 1500 ) to be precise it
take allot to process almost 13 minutes to open the folder on gogs :(
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/gogits/gogs/issues/1518#issuecomment-292907195, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAPoSuyRJB_4gJGuH59pe024mzqvr5qGks5rugBAgaJpZM4FvG8D
.

Do we have any progress on this?


IndentationError on status.driveshare.org

Clients are reporting 500 server errors and this was recorded in the log file on several occasions.
[2015-08-21 17:07:01 +0000] [5673] [ERROR] Exception in worker process:
Traceback (most recent call last):
File "/usr/local/lib/python2.7/dist-packages/gunicorn/arbiter.py", line 507, in spawn_worker
worker.init_process()
File "/usr/local/lib/python2.7/dist-packages/gunicorn/workers/base.py", line 118, in init_process
self.wsgi = self.app.wsgi()
File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/base.py", line 67, in wsgi
self.callable = self.load()
File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 65, in load
return self.load_wsgiapp()
File "/usr/local/lib/python2.7/dist-packages/gunicorn/app/wsgiapp.py", line 52, in load_wsgiapp
return util.import_app(self.app_uri)
File "/usr/local/lib/python2.7/dist-packages/gunicorn/util.py", line 355, in import_app
import(module)
File "/root/dataserv/dataserv/app.py", line 123
total_shards += farmer.height
^
IndentationError: expected an indented block

Has since been fixed.


Running the  sample

How to run this sample? any specific address i need to provide in URL? when I runt the code, the browser shows some xml meta data. when I user /core, it says that page not found (404 error)

there are samples for it in the samples repo.


Remove beta documentation

Summary
This PR removes documentation for the BETA automation features of the platform. All changes to Bolt still remain available on the next-gen branch.
Requirements

[x] I've read and understood the Contributing Guidelines and have done my best effort to follow them.
[x] I've read and agree to the Code of Conduct.

Always appreciate the quick review @seratch 🙇


Use SQL for generation

What about a using SQLite for test data generation?
Example:
CREATE TABLE test (
  id INTEGER PRIMARY KEY NOT NULL,
  x REAL NOT NULL,
  y REAL NOT NULL,
  z REAL NOT NULL
);
INSERT INTO test
    WITH RECURSIVE
      cnt( id, x, y, z) AS (
      VALUES(1 , random(), random(), random()) UNION ALL
      SELECT id+1,random(),random(), random() FROM cnt WHERE ID<1000)
    select * from cnt;

https://paulbradley.org/sqlite-test-data/
https://stackoverflow.com/questions/17931320/how-to-insert-random-data-into-a-sqlite-table-using-only-queries

I was thinking about the same thing. It would be interesting to compare if everything was offloaded to a single transaction script like this and see if offloading all the math to SQLite makes sense. While there are range restrictions on the values, there aren't distribution restrictions (normal, poisson, what have you) and the post already says that any regular PRNG is fine and crypto-strength not necessary, so SQLite random() should be capable of meeting the constraints.
Having a quick scratch at the math, it would look something like:
Insert into user
with recursive usr(id, area, age, active) as (
    values (1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1))
    union all select id + 1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1) from usr
    where id < 100000
)
select * from usr

@WorldMaker hey, could you send this code as a PR?

I ran this locally, this is quite slow. Do let me know if i am missing something.

First I manually created a DB, created a table.
Then I ran this following script:

#!/bin/sh

sqlite3 pure_sql.db <<'END_SQL'
insert into user
with recursive usr(id, area, age, active) as (
    values (1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1))
    union all select id + 1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1) from usr
    where id < 100000000
)
select * from usr;
END_SQL

saved this in a script and ran it with time:
time ./sq.sh
./sq.sh  111.59s user 2.35s system 96% cpu 1:58.00 total

@avinassh It turns out - is it at least faster than PyPy?

PRAGMA journal_mode = OFF;
PRAGMA synchronous = 0;
PRAGMA cache_size = 1000000;
PRAGMA locking_mode = EXCLUSIVE;
PRAGMA temp_store = MEMORY;

Do they influence here?

I had tried with them too, but it did not make much difference:
#!/bin/sh

sqlite3 pure_sql.db <<'END_SQL'
PRAGMA journal_mode = OFF;
PRAGMA synchronous = 0;
PRAGMA cache_size = 1000000;
PRAGMA locking_mode = EXCLUSIVE;
PRAGMA temp_store = MEMORY;
insert into user
with recursive usr(id, area, age, active) as (
    values (1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1))
    union all select id + 1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1) from usr
    where id < 100000000
)
select * from usr;
END_SQL

output:
$ time ./sq.sh

off
exclusive
./sq.sh  114.55s user 3.31s system 99% cpu 1:58.93 total

Interesting results. We're about at the limit of my personal experience with SQLite directly and a lot of the things you might try to speed things up in other SQL environments obviously don't apply to SQLite.
Reviewing the Stack Overflow posted above, the sqlite3 shell supports an extension named generate_series which the documentation says is faster, so you could try that too (since you are already using the sqlite3 shell):
#!/bin/sh

sqlite3 pure_sql.db <<'END_SQL'
insert into user (area, age, active)
select abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1)
from generate_series(0, 100000000);
END_SQL

generate_series is definitely faster than a recursive query, about 2x in my test.
Using generate_series:
-- load.sql
insert into user (area, age, active)
select abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1)
from generate_series(0, 100000000);

$ time sqlite3 t1.db '.read schema.sql' '.read load.sql'

real	0m55.747s
user	0m45.945s
sys	0m5.894s

Using recursive:
-- load-rec.sql
insert into user
with recursive usr(id, area, age, active) as (
    values (1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1))
    union all select id + 1, abs(random() % 99999), (abs(random() % 3) + 1) * 5, abs(random() % 1) from usr
    where id < 100000000
)
select * from usr;

$ time sqlite3 t2.db '.read schema.sql' '.read load-rec.sql'

real	1m42.659s
user	1m35.587s
sys	0m4.820s

Adding in the pragma statements didnt make a difference in my test, in fact is slowed it down a few seconds.
Interestingly, I tried without random() calls and hardcoded some numbers, and it was even faster:
INSERT INTO user (area, age, active)
  SELECT
    1000000,
    5,
    1
  FROM generate_series(1, 100000000, 1);

real	0m27.924s
user	0m17.080s
sys	0m6.985s

So generate_series comes out at 55 seconds, still slower than the best rust method, but seemingly faster than the other ones. And there's about 25 seconds room for improvement if there's a faster random generator!
Unsure if you're still accepting PRs, but lmk if you want to see one using generate_series!

Interestingly, I tried without random() calls and hardcoded some numbers, and it was even faster:

Someone else did a flamegraph, I think some good time is being spent in random (in rust solution)

Unsure if you're still accepting PRs, but lmk if you want to see one using generate_series!

I don't have a pure SQL solution, so I will be happy to accept a PR on this since is close to python one :)

Created a PR for this in #23! Based on of my machine, it appears to be faster than even the fastest rust solution, but would love to see a more official benchmark run


glfwInit hanging on MacOS when called from Erlang

Hi! I'm trying to figure out how to run GLFW using the Elixir/Erlang programming languages. I've been using this library https://github.com/shiryel/rayex which provides Elixir bindings to Raylib, and by extension, GLFW.
I'm able to compile and run a basic GLFW example just fine on my Mac using C/C++. However, when I try to do it from Erlang (or Elixir which runs on the same VM as Erlang), glfwInit() hangs. I'm not sure what could be causing this exactly, but I've tracked down the exact line to this one:
https://github.com/glfw/glfw/blob/master/src/cocoa_init.m#L626
[NSApp run]; is the call that hangs. I've added log statements directly before and after that line, and I see the one before it, but not the one after it.
I've tried this with the current master branch of GLFW (as opposed to the one bundled with Raylib) and with my own custom Erlang NIF bindings (as opposed to going through the Rayex library I mentioned above). The issue happens consistently on my computer.
Note: I realize this is an odd combination of languages and I don't expect anyone to download Erlang just to debug this! However, if you're willing, I definitely could provide my test repo with the minimum reproducible example.
I'm just looking for help understanding what's happening here with the Cocoa interface and what could possibly cause it to hang.
One idea is that the process is spawned as  "daemon" or some sort of "server" process that doesn't have the correct permissions, as described here in a SO question about using OpenGL with Node.JS: https://stackoverflow.com/a/61073651/530728 I have no idea how to check whether that's true, or how to fix it if it is true. I'm hoping someone here does.
Any other ideas of what could be causing [NSApp run] to hang here?
Also potentially related: https://github.com/glfw/glfw/issues/1915
The Rayex issue I opened: https://github.com/shiryel/rayex/issues/7
System details:
macOS Big Sur 11.6.1 (Intel chip, not M1)
elixir 1.12
erlang 24.1.7
Thanks!

Here’s another StackOverflow answer that may be of interest: https://stackoverflow.com/a/65586446
That makes it sound like there is a difference on MacOS between running the app as a command line app vs. a full, GUI-enabled one.
But, the C++ example that runs with GLFW successfully also runs from the command line. So I’m confused about what exactly the difference is there.
One obvious difference is that when I run it through Erlang, it’s not just a pure C++ app. Is it possible this could be caused by that?
Is there any magic that GLFW does to turn a command line C++ app into a “full” one so it can open a window?

I was able to fix the issue by calling raylib/GLFW using an erlang CNode rather than a NIF. See https://github.com/shiryel/rayex/issues/7


Upgrade dependencies and Java (#41)

Updated the dependencies to the latest versions and Java version to Java 17.
Tested it locally (with gpsd-nmea-simulator docker) with the project Tester, and in our own project.
Peer reviewed by my colleague 'mydeveloperplanet'.
Signed-off-by: Dennis van Beek<EMAIL_ADDRESS>

Does this mean that future versions of the library will have a Java17 dependency? If so this might not be ideal: not everyone is there yet and it might be necessary to maintain multiple versions for this then.

@0x08 This indeed is a major change, I would recommend increasing the major version to show this.
I don't think 2 versions have to be maintained, because I don't expect a lot of functionality to be added in the coming months (the last release was more than 5 years ago).
But of course we can also lower the Java version to something like Java 11, to increase usability?

Maybe Java11 would be a good compromise for now? A version that is widespread and still quite recent.


Add neo-sbt-scalafmt

Replace scalafmt with https://github.com/lucidsoftware/neo-sbt-scalafmt

You might want to add these too...
scalafmtOnCompile in ThisBuild := true
scalafmtVersion in ThisBuild := "1.0.0-RC4"

(allows keeping up to date with the upstream scalafmt release)


Typos in code identifiers

Docs for registerallocator module https://ppci.readthedocs.io/en/latest/reference/codegen/registerallocator.html have a typo in a few places, "coalesc". Worse, such a typo is also in a method name: https://ppci.readthedocs.io/en/latest/reference/codegen/registerallocator.html#ppci.codegen.registerallocator.GraphColoringRegisterAllocator.coalesc
Should be fixed nonetheless ;-).

Another, and very repetitive typo: Arithmatics instead of Arithmetics (dozens of occurrences).

Agreed those typos must be fixed!

Thanks for acking. Note that this tangentially touches https://github.com/windelbouwman/ppci-mirror/issues/28 - starting editing real code, like identifiers, one would really want to be sure update is consistent and doesn't bring regressions. Of course, I can run all the different test methods for now ;-).


⚠ Bofrost.be has degraded performance

In 8419163, Bofrost.be (https://www.bofrost.be) experienced degraded performance:

HTTP code: 200
Response time: 1131 ms

Resolved: Bofrost.be performance has improved in 927bad6.


distinguish Windows from Mac/Linux command

Per Raghu, updated the port tunnel instructions.

thank you
On Tue, Nov 26, 2024 at 10:17 AM Seth Underwood @.***>
wrote:

@elisabethpatterson https://github.com/elisabethpatterson, this has
merge conflicts. I think I can fix this easily. I'll push an update.
@josh-eisinger https://github.com/josh-eisinger and @chanwilson
https://github.com/chanwilson, I'll let you know when I push an update
to let you know when to review.
—
Reply to this email directly, view it on GitHub
https://github.com/NOAA-RDHPCS/noaa-rdhpcs.github.io/pull/289#issuecomment-2501106454,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4T5JW53H5F4GMXC37C2FPL2CSGJPAVCNFSM6AAAAABSFNE6E2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBRGEYDMNBVGQ
.
You are receiving this because you were mentioned.Message ID:
@.***>

This PR now suddenly doesn't show any changes...?

I am so confused right now that I'm frozen in my tracks.
On Tue, Nov 26, 2024 at 12:53 PM Josh Eisinger @.***>
wrote:

This PR now suddenly doesn't show any changes...?
—
Reply to this email directly, view it on GitHub
https://github.com/NOAA-RDHPCS/noaa-rdhpcs.github.io/pull/289#issuecomment-2501588865,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/A4T5JWYJDHHWWH4I22IFF5L2CSYRXAVCNFSM6AAAAABSFNE6E2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDKMBRGU4DQOBWGU
.
You are receiving this because you were mentioned.Message ID:
@.***>


Add additional test for pageView HOME_PAGE

Minor refactor of shopping-event-conversions. No logic changed. 4273fba
Disable flow for shopping-event-conversion 3bc4e15
Add test for pageView HOME_PAGE ada9d84

Did you run npm run test it will execute flow-typed validation

the change otherwise, looks good. Please, fix the build. Make sure to run npm run test locally


Add my name to the contributors folder.

My Name - Mangesh  Chandrawanshi .

In above case I  used  mv command  to move my text file from Getting started to Contributors directory.But still it was present there. So ,I added a new commit after deleting text file from Getting Started directory.


Add "landscaper get" to clone a current state

Read a current state from a cluster and write it to files. These files will equal the desired state used to generate the landscape.

Why?!


[Web] Onboarding Tasks: Add default setup for new registered user

Couple setup for new register user:

Auto follow Matty
Auto follow tag # Matters 新人打卡
Auto follow tag # 玩轉 Matters 實用指南

Move it to server repo, so close it.


Fix cythonize(source_filename, cache=True) under Python 3

The hash digest cannot be computed under Python 3 because of a few missing string encode calls (to get  hashable bytes). Here is a example when trying to enable the cythonize cache to build scikit-learn:
Traceback (most recent call last):
  File "setup.py", line 268, in <module>
    setup_package()
  File "setup.py", line 264, in setup_package
    setup(**metadata)
  File "/home/ogrisel/.virtualenvs/py35/lib/python3.5/site-packages/numpy/distutils/core.py", line 135, in setup
    config = configuration()
  File "setup.py", line 135, in configuration
    config.add_subpackage('sklearn')
  File "/home/ogrisel/.virtualenvs/py35/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 1000, in add_subpackage
    caller_level = 2)
  File "/home/ogrisel/.virtualenvs/py35/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 969, in get_subpackage
    caller_level = caller_level + 1)
  File "/home/ogrisel/.virtualenvs/py35/lib/python3.5/site-packages/numpy/distutils/misc_util.py", line 906, in _get_configuration_from_setup_py
    config = setup_module.configuration(*args)
  File "sklearn/setup.py", line 82, in configuration
    maybe_cythonize_extensions(top_path, config)
  File "/home/ogrisel/code/scikit-learn/sklearn/_build_utils/__init__.py", line 84, in maybe_cythonize_extensions
    config.ext_modules = cythonize(config.ext_modules, cache='/home/ogrisel/.cycache')
  File "/home/ogrisel/code/cython/Cython/Build/Dependencies.py", line 876, in cythonize
    fingerprint = deps.transitive_fingerprint(source, extra)
  File "/home/ogrisel/code/cython/Cython/Build/Dependencies.py", line 568, in transitive_fingerprint
    m = hashlib.md5(__version__)
TypeError: Unicode-objects must be encoded before hashing

This PR fixes the issue. I am not sure where to add a test for this.
Auxiliary question: the cache option of Cython seems to not be documented anywhere (and apparently is not tested either). Is this a supported feature or are there known issues?

The travis failures in Cython.Debugger.Tests.test_libcython_in_gdb and __main__.CythonCompileTestCase seems to be unrelated to this PR.

Thanks.

@robertwb thanks for the merge. Do you have any opinion on the usability of this feature? Since it's not documented nor tested anywhere I am wondering if it can be trusted (e.g. to be used on a CI environment with a shared cache folder to test and generate packages).


Added support for named arguments to objective function.

This is a solution for issue #570 about named arguments for the objective function.
@betatim proposed using the Python inspect.signature() function - first time I heard about it :-)
But I think this a simpler solution that also has backwards compatibility with the current calling style of func(x) where x is a list. The user just needs to give all dimensions proper names (otherwise an exception is raised), and then set use_arg_names=True when calling e.g. gp_minimize(). The use_arg_names is then passed all the way down to base_minimize() which wraps the objective-function so it will be called with the named arguments instead of a list x as usual.
I found the function base_minimize() very confusing. I added a few TODO-comments which is a hope that you will spend an hour cleaning and commenting this function before you merge the code. It is unlikely that anyone else can / will do it for you.
The code below tests the new feature. Try changing use_arg_names so it is called with both the old and new methods. You can also try changing the order of the arguments to named_fitness() and it should still work. Also try changing a name e.g. from activation to activation2 and it should crash.
import numpy as np
from math import exp

from skopt import gp_minimize
from skopt.space import Real, Categorical, Integer

dim_learning_rate = Real(name='learning_rate', low=1e-6, high=1e-2, prior='log-uniform')
dim_num_dense_layers = Integer(name='num_dense_layers', low=1, high=5)
dim_num_dense_nodes = Integer(name='num_dense_nodes', low=5, high=512)
dim_activation = Categorical(name='activation', categories=['relu', 'sigmoid'])

dimensions = [dim_learning_rate,
              dim_num_dense_layers,
              dim_num_dense_nodes,
              dim_activation]

default_parameters = [1e-4, 1, 64, 'relu']

# TODO: Try changing the order of the args, which should work.
# TODO: Also try renaming an arg, which should crash.
def named_fitness(learning_rate, num_dense_layers, num_dense_nodes, activation):
    """New type of fitness function with named arguments."""

    fitness = ((exp(learning_rate) - 1.0) * 1000) ** 2 + \
              (num_dense_layers) ** 2 + \
              (num_dense_nodes/100) ** 2

    fitness *= 1.0 + 0.1 * np.random.rand()

    if activation == 'sigmoid':
        fitness += 10

    return fitness

def model_fitness(x):
    """Typical fitness function with list-argument."""
    learning_rate, num_dense_layers, num_dense_nodes, activation = x

    fitness = named_fitness(learning_rate=learning_rate,
                            num_dense_layers=num_dense_layers,
                            num_dense_nodes=num_dense_nodes,
                            activation=activation)

    return fitness

print(model_fitness(x=default_parameters))

# TODO: Try changing this!
use_arg_names = False

func = named_fitness if use_arg_names else model_fitness

search_result = gp_minimize(func=func,
                            dimensions=dimensions,
                            use_arg_names=use_arg_names,
                            n_calls=40,
                            x0=default_parameters)

print(search_result.x)
print(search_result.fun)

for fitness, x in sorted(zip(search_result.func_vals, search_result.x_iters)):
    print(fitness, x)

Hello @Hvass-Labs! Thanks for submitting the PR.

In the file skopt/optimizer/base.py, following are the PEP8 issues :

Line 54:80: E501 line too long (89 > 79 characters)
Line 63:1: W293 blank line contains whitespace
Line 111:63: W291 trailing whitespace

In the file skopt/optimizer/forest.py, following are the PEP8 issues :

Line 10:1: E303 too many blank lines (3)

Thanks for this. Let's see if we can get some feedback from others on introducing a new argument. Personally I quite like the idea of having a adaptor that takes care of the boiler plate conversion. Mostly because there are already a lot of arguments which leads to long doc strings, and long function signatures.

I found the function base_minimize() very confusing. I added a few TODO-comments which is a hope that you will spend an hour cleaning and commenting this function before you merge the code. It is unlikely that anyone else can / will do it for you.

As a general rule a PR is edited by the contributor, including adding tests, making sure existing tests pass, documentation, code, etc. Frequently others will make suggestions or ask for changes which the person who created the PR then implements. Very rarely people do collaborate on a PR but this means a third person has to review it so it can be merged. Keeping the roles separated works very well for us.
Your comments on base_minimize are welcome, so thank you for taking the time to write them down. Source code is not the place to store them however, issues is the place to do that or if relevant to this PR create a comment on that line to discuss how best to address something.
This means I won't +1 this PR until you remove the TODO comments or convert them.

I would provide the wrapper in skopt.utils and let the user pass in the wrapped objective instead of adding a new argument to influence the behaviour. This has two advantages:

it does not increase the number of arguments. There is a feeling (and corresponding discussion) that there are already too many, and how could we reduce them
it provides the same functionality to power users who use Optimizer directly.

One more thought on having named arguments.
Without any changes to scikit-optimize having named arguments (or a nice way to unpack them) already works (as long as the dimensions are defined in the same order):
# note the double parentheses
def named_fitness((learning_rate, num_dense_layers, num_dense_nodes, activation)):
  pass

The use case in #583 and when I've wanted the arguments to be named was when I had to pass them on to something else (like a scikit-learn estimator) where you want a dict to pass to set_params()
This makes me think we should remind people of argument unpacking in python and instead add support for objectives that receive a "single argument" like so: objective(**params) where we pass in a dictionary.

@betatim Thanks again for the quick response! We don't agree on a lot of issues especially regarding commenting of code and who should do what on a project, but you have a strong sense of making clean API design and I appreciate that! Why don't you just lead the project? It is already my impression that you are the main developer on this project? You should just take charge.
I like that you keep reducing the ideas for API design until it is as simple as possible. That is how good design is done. It is important that you scrutinize the contributions from other team members as well.
I am also learning something from your ideas and feedback, including Python features I wasn't aware of, so thanks for that!
Your final idea on this issue was this:
# note the double parentheses
def named_fitness((learning_rate, num_dense_layers, num_dense_nodes, activation)):
    pass

I hadn't thought about unpacking x already in the function-declaration. But it is semantically similar to what I previously did myself:
def named_fitness(x):
learning_rate, num_dense_layers, num_dense_nodes, activation = x

However, this has a few problems:

It is a hack of the Python API and as you note, you have to write double-parentheses in the function declaration which is confusing.

One advantage of using Python's named arguments is that you have added security against making mistakes by re-ordering the arguments. This is probably an even more important reason than saving a line of code.

I thought about making a function-wrapper e.g. in skopt.utils. I think the main reason I decided against it was because named args is a feature I would personally use all the time, so I thought it would be better to include it directly in the API.
I now see that my wrapper-function is actually incorrect because dimensions may not be a list of Dimension-objects. Maybe it would indeed be better to make the wrapper-function external so we also avoid having to deal with all these special cases of the dimensions argument. I'll take a look and re-submit later. I'm working on plots.py now, which is taking forever because it is so hard to understand the code.

Hi,
Thanks for your contribution. Can you remove your inline comments so that we can focus the review on changes that are concerned with this proposal? (i.e., adding support for named arguments)
We acknowledged that there might things that are difficult for newcomers to understand (as is with any complex bit of research code) and are open to discuss them, but in order to not waste everyone's time, it is probably more efficient to discuss them in standalone and targeted PRs.

A much better version of this is made in PR #592. So I am closing this PR.


Badge Span rendered when badgeContent is undefined

[x] This is not a v0.x issue.
[x] I have searched the issues of this repository and believe that this is not a duplicate.

Expected Behavior 🤔

When a badgeContent is undefined, the badge span should not render.
Current Behavior 😯

Badge component will currently render a bubble with no content when badgeContent is undefined.
This is because Badge converts badgeContent to a number using Number constructor. It then checks if it's type equal to 0.
When undefined is converted into a number, it is NaN which is false, not setting invisibility to false internally.
Steps to Reproduce 🕹

Link: https://codesandbox.io/s/81r4pn7y58
Context 🔦

Your Environment 🌎

Tech
Version

Material-UI
v3.9.3

React
v16.8.0

Browser

TypeScript

etc.

@Naismith The current behavior depends on:
Number(undefined) = NaN
Number(null) = 0

What do you think of this diff, would it work for you?
--- a/packages/material-ui/src/Badge/Badge.js
+++ b/packages/material-ui/src/Badge/Badge.js
@@ -92,7 +92,7 @@ const Badge = React.forwardRef(function Badge(props, ref) {

   let invisible = invisibleProp;

-  if (invisibleProp == null && Number(badgeContent) === 0 && !showZero) {
+  if ((invisibleProp == null && (badgeContent === 0 && !showZero)) || badgeContent == null) {
     invisible = true;
   }

@oliviertassinari that should work

@Naismith Do you want to submit a pull request? :)

@olegberman pr #15581 submitted


if I change mysql service name, cakephp does not find service any more

when creating cakephp application from example, then pre-hook throws this:
Generating Schema...
Error: Database connection "Mysql" is missing, or could not be created.
#0 /opt/app-root/src/lib/Cake/Model/Datasource/DboSource.php(269): Mysql->connect()
#1 /opt/app-root/src/lib/Cake/Model/ConnectionManager.php(105): DboSource->__construct(Array)
#2 /opt/app-root/src/lib/Cake/Model/CakeSchema.php(201): ConnectionManager::getDataSource('default')
#3 /opt/app-root/src/lib/Cake/Console/Command/SchemaShell.php(148): CakeSchema->read(Array)
#4 /opt/app-root/src/lib/Cake/Console/Shell.php(458): SchemaShell->generate()
#5 /opt/app-root/src/lib/Cake/Console/ShellDispatcher.php(219): Shell->runCommand('generate', Array)
#6 /opt/app-root/src/lib/Cake/Console/ShellDispatcher.php(66): ShellDispatcher->dispatch()
#7 /opt/app-root/src/app/Console/cake.php(47): ShellDispatcher::run(Array)
#8 {main}

ok, db service name cannot contain "-"

thanks for the update.

I do not think, that this should be closed, as this should be validated


Fixed away_mode for Ecobee thermostat.

Description:
Fix for away_mode for Ecobee thermostat. Now away mode is properly turned on using indefinite away hold, the correct value is returned for is_away_mode_on() and finally away mode is correctly disabled using turn_away_mode_off()
Related issue (if applicable): N/A
Pull request in home-assistant.github.io with documentation (if applicable): N/A
Example entry for configuration.yaml (if applicable): N/A
Checklist:
If user exposed functionality or configuration variables are added/changed: N/A
If the code communicates with devices, web services, or third-party tools: N/A
If the code does not interact with devices:

[x] Local tests with tox run successfully. Your PR cannot be merged unless tests pass

Hi @etsinko,
It seems you haven't yet signed a CLA. Please do so here.
Once you do that we will be able to review and accept this pull request.
Thanks!

Follow and fill in the PR template that was there when you opened the PR. Eg if there's an issue with background info, it should be linked to.

Done,
no tests have been added because the original class didn't have any tests

@etsinko Wondering if it also fixes https://github.com/home-assistant/home-assistant/issues/9256, in which case you can indicate it in the PR.

Isn't this related?
https://github.com/home-assistant/home-assistant/issues/9256

@arsaboo It doesn't really fix it. Interestingly enough hold_temp is set into the thermostat but is never used since b732174def5894708e90c7d8708e971410a43afd

@MartinHjelmare
I think it is only related by 50% because #9256 refers to two problems:

hold_temp doesn't work
away_mode doesn't work

This PR fixes problem 2.

Evaluating this PR is very difficult if you're not very familiar with the device api (ecobee). Giving as much background info as possible will help the review. 50% related issue is related.

@MartinHjelmare I think you are right. I added it to the description.

@etsinko I have been running your ecobee.py component in my environment the past couple of days and it is operating as I would expect it to.  @chilicheech have you given this a look/run?
I use the following automatons in my environment to set holds:
- id: set_ecobee_mode_away
  alias: Set Main House Ecobee Mode Away
  trigger:
    platform: state
    entity_id: input_select.main_house_thermostat_mode
    to: away
  action:
    - service: climate.set_away_mode
      data_template:
        entity_id: climate.main_house
        away_mode: on

- id: set_ecobee_mode
  alias: Set Main House Ecobee Mode
  trigger:
    - platform: state
      entity_id: input_select.main_house_thermostat_mode
      to: home
    - platform: state
      entity_id: input_select.main_house_thermostat_mode
      to: sleep
    - platform: state
      entity_id: input_select.main_house_thermostat_mode
      to: smart1
  action:
    - service: climate.set_hold_mode
      data_template:
        entity_id: climate.main_house
        hold_mode: '{{ states.input_select.main_house_thermostat_mode.state }}'

I also tested setting a hold to away using the climate.set_hold_mode service and it set the mode to away without being permanent, which is what I would expect.

I have also found a couple more bugs in this platform and in python-ecobee-api which is a requirement for this platform.
I will update this PR with new changes along with unit tests as soon as python-ecobee-api (https://github.com/nkgilley/python-ecobee-api) is fixed (hopefully soon, I did a PR there too)

I fixed two more bugs in ecobee platform:

Ecobee platform had some weird rounding errors due to all temperature holds being cast to integers before being passed to the thermostat. i.e. if you set temperature hold as 73.6 degrees upper/ 35.2 degrees lower it was passed to ecobee as 74 degrees upper / 35 lower.
If temperature hold was set while in auto mode an exception was thrown. This was due to set_temp_hold() covering only two cases (Cooling / Heating) and not covering auto mode

Also unit tests for the platform were added.

Good work


[refs #321]: correct makePathArray function in utils

Correct the replace regex in makePathArray

Oups, a push a bad commit (72f1ad5)…

This is great!  Please update your PR by not committing any files except for the file with your changes.

Done, it's clear now :)


Ensure compatibility with future MkDocs versions

By adding **kwargs to plugin methods

Thank you for your contribution.


Fix editor tooltip formatting

Removed unnecessary word wrap which caused broken tags and general
ugliness. Fixes #24926
Before/after:

So it turns out it was a pretty easy fix… thanks for figuring it out :smiley:

Thanks! This fix was long overdue :)

Cherry-picked for 3.1.1.

Cherry-picked for 3.0.7.


update: go-package-search

Description

Upgrade @raycast/api to 1.40.1
Support Copy Package Path and Download Command
Fix List.Item with the same key
Update List.Item Accessories

Screencast

Checklist

[x] I read the extension guidelines
[x] I read the documentation about publishing
[x] I ran npm run build and tested this distribution build in Raycast
[x] I checked that files in the assets folder are used by the extension itself
[x] I checked that assets used by the README are placed outside of the metadata folder

Would it make sense to add https:// to Copy Package Path - just asking because I don't know the purpose 😊

Package path does not have the protocol prefix, for example, https://pkg.go.dev/github.com/fsouza/go-dockerclient


Correct typo in playbook hook launcher

As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve
/lgtm

recheck


joinRoom password is required except for the current room admin

joinRoom endpoint password should be optional, only in the case where the user with a paid subscription is trying to create a room that does not exist yet

Reformulation:
joinRoom password is required except for the current room admin.
Do you agree?

done!


socketio server get empty json from nodejs cleint.

Server side code:
    server.addEventListener("eventname", JSONObject.class, new DataListener<JSONObject>() {
        @Override
        public void onData(SocketIOClient client, JSONObject data, AckRequest ackRequest) {
        	System.out.println("JSON Got1");
        	System.out.println(data.toString());
        }
    });

Client side code:
var socket = require('socket.io-client')('http://<IP_ADDRESS>:20000');
var msg = {
mn : 'request_message',
code : 200,
body : {
msg : 'this is msg from request',
}
}
socket.on('connect', function(){});
socket.emit('videbouds10', msg);
socket.on('disconnect', function(){});
Result:
JSON Got1
{}
I debugged that , it seems that the Json parser dosen't get json object out.  could you please have a look at the problem?

eventname? is wrong....

the event name actually is "videbouds10" , I changed when I pasted. sorry for that.
socket.on('connect', function(){});
socket.emit('eventname', msg);
socket.on('disconnect', function(){});
Result:
JSON Got1
{}

What is JSONObject this object can't be used with Jackson-codec used by default. To use JSONObject object you should implement your own JsonSupport provider and set it via Configuration.setJsonSupport


Error messagebox prompt and rendering issue

Describe the bug

. Add a event trigger
. Add SetProperties
. Add a property and input the property name "conversation.keyword"
Result:

while input, a error dialog is pop up for many times, each time with different error msg. This is not a smooth authoring experience.
rendering issue of the error dialog when scroll the error msg.
input perf is very bad, known issue.

Version

Browser

[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[ ] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior

Screenshots

Additional context

@bobokids I can't reproduce this on a new bot. Can you please create a bot from scratch and see if the issue still exists?

I can reproduce this issue. sounds like more easily to hit for complicated bot editing (eg. who skill) but never reproduced on my echo bot. @cwhitten

@zhixzhan  can you investigate why "editing a property will cause lg file not exist"

error message will be tracked https://github.com/microsoft/BotFramework-Composer/issues/2748.
this issue will track performance issue.


Consistent Serialization/Deserialization

Regardless of the global serialization settings, the module should always user camel case naming.

Delivered in #92


Improve mock READMEs

Description
Changes suggested in this PR:

update the README files for all the mocks + general README
make the mock READMEs unified.

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Update Actions

skip BrowserStack if we are not on the main repo
remove the action filename from cache

I'm still not sure about fork PRs, we'll see how this will go. This is an issue we are having since the switch to Actions.


Init new SDK with all the necessary helpers

Background
For the new Connext SDK, we need to clone all the necessary helpers and interfaces
Definition Of Done
Clone all the helpers using new light weight libraries like viem and bundler like bun

blocked by #4889

[ ] Minimise txService as a util in new SDK
[ ] Clone helpers
[ ] Migrate to viem
[ ] Add tests using bun framework.


Wikilinks with "end" anchor are not correctly formatted

Please select the area your bug applies to. (Multiple selections are Possible. You can leave blank if you're not sure.)

[ ] Workspace.  VSCode workspace, vaults, Intellisense/autocomplete, Dendron settings
[ ] Lookup.  Dendron's Lookup Command
[ ] Views.  Dendron Preview, Tree View, Side Panels in the UI
[ ] Schema.  Dendron Schemas
[ ] Pod.  Data import from / export to Dendron
[ ] Publish.  External Site Publish
[x] Markdown.  Markdown features, such as syntax support and features

Describe the bug
The Wikilinks with "end" anchor are not formatted correctly.
When used with [[note#header]] the link is correctly formatted but when used with "end" anchor [[note#header:#*]] it is formatted like a "missing note" but the Link is working fine.
To Reproduce
Steps to reproduce the behavior:

Create 2 Wikilink with anchor
Create one with "end" anchor, #header:#*
The wikilink with "end" anchor is formatted incorrectly (yellow)

Expected behavior
Both links should be blue (complete link)
Screenshots

Desktop (please complete the following information)

Versions (all that apply to bug):

VS Code version:

Additional context
Dendron Log file

thanks for the issue. actually, checking the syntax, we don't actually support this. we support a note reference including a range (![[foo#head:#*]]) but a regular wikilink to a range is not valid

Yeah, the end anchors are most useful when using the ref! annotation. It just stumbled upon it as I was taking my screenshots for the backlink feature request and last week when I was scribbling down notes for our chat. What confused me a little was that the link was working fine and even the hover-text was correctly cut of at the next header.

So, I figured here might be some formatting syntax missing since usually the yellow links have a "missing note" hover-info

Yeah, this is undefined behavior. dendron tries to parse the known part of the anchor when its a wikilink. i'll close this issue for now since its working as intended


Pasting to MTP devices does not work

It would be great to have MTP Support.<!--
🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
I ACKNOWLEDGE THE FOLLOWING BEFORE PROCEEDING:

If I delete this entire template and go my own path, the core team may close my issue without further explanation or engagement.
If I list multiple bugs/concerns in this one issue, the core team may close my issue without further explanation or engagement.
If I write an issue that has many duplicates, the core team may close my issue without further explanation or engagement (and without necessarily spending time to find the exact duplicate ID number).
If I leave the title incomplete when filing the issue, the core team may close my issue without further explanation or engagement.
If I file something completely blank in the body, the core team may close my issue without further explanation or engagement.

All good? Then proceed!
-->
Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Describe the solution you'd like
A clear and concise description of what you want to happen.
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here. Ex: What device type/UI layout and app version?

Hello could you add some more details? MTP devices like android phone storage are already supported.

Hello could you add some more details? MTP devices like android phone storage are already supported.

It is supported but I can't transfer files.

It is supported but I can't transfer files.

@AbdulRafay517 thanks for the info. Don't trust the percentage, also after pasting try refreshing the folder and see if the files were copied. If not please let us know.

@AbdulRafay517 thanks for the info. Don't trust the percentage, also after pasting try refreshing the folder and see if the files were copied. If not please let us know.

Pasting from MTP devies doesn't work either.

I had same problem in my laptop.
Copying files from phone's internal storage to laptop works but if I try to copy files in phone's internal storage from laptop it does not work.
Also do note that in neither of above case it shows percentage of transfer complete. It stuck at 0%.
Also If I try to copy small files like 1 GB and it works but big files does not works.

I can't copy photos from my android phone to my pc too.. tried USB File Transfer mode and PTP .. tried dragging to desktop copy here and copy pasting.. nothing is copied..

Merging with #9003


Develop INFORM risk scoring models

Need to develop INFORM risk model in consideration of:
Hazards (dengue cases)
Vulnerabilities (static area demographics)
Lack of Coping Capacity / Lack of Resilience (static area points of interest e.g. hospitals per sqmi)
Canonical INFORM model is a multiplicative model.
Need to test additive and regressor models based on data.


Warning with cargo build

Hi,
Great tool. I receive this warning with cargo build. The tool still works well.
warning: function `phred_gm` is never used
  --> src/modules.rs:87:8
   |
87 | pub fn phred_gm(q: &[u8]) -> f64 {
   |        ^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

Hi, this is ok, I have experimented with a function that is not used in the release build...

Great, thank you.


Contribute Readme

I have written a document that can help developers in getting started with Prisma Development. Let me know the changes.

Hey, thanks for writing this up. We'll think about where to put this and what else we would want in a guide to Core contributions.
As for setting up tests, you can have a look at the PaginationSpec, there we set up the test schema straight from a GraphQL SDL. The other way you described is a holdover from when those older tests like JsonVariablesSpec were created and we did not have a way to set them up using SDL yet. I think starting with SDL should make writing tests a lot easier for contributors. We just did not have time to switch the old tests over to the new format.

Cool. I will work on it.

@do4gr I have updated the Tutorial. Also, to be consistent with the tutorial I have updated JsonVariableSpec SDL.

@SHASHANK-PRO-05 : Hey, thanks for this amazing contribution! 🙏 Can you rebase your branch onto our latest alpha branch? Right now there are lots of merge conflicts and therefore i can't merge.

@mavilein Thanks for reviewing it. I have moved this pull request to #2785 because rebase was not happening automatically even with recursive theirs strategy. Some internal work was involved which I have no clue about so it would be better to move to a different and clean pull request.  Thanks :)


Add a default administrator account

When the application is deployed there should be a default administrator account.
@sumikasan are we keeping<EMAIL_ADDRESS>We can use this as the login, or would you prefer a better address?

Waiting on email address to be set up.

It's called
<EMAIL_ADDRESS>


Please change tray icons in Ubuntu

The default tray icon (gray-white shape) in Ubuntu is dim and fuzzy. Can you please make the default tray icon look like the nice app icon (green/white)? and also modify the paused icon accordingly?

@erezhdd
Thanks for the heads-up. Icon assets were updated in v3.9.6.

I just installed v3.9.6. Works great as usual, but the tray icon is still the weird gray shape. Is there a way to switch tray icons from the UI/settings? I didn't find any.

@erezhdd Can you provide a screenshot?

@erezhdd
Thanks again for testing, please try again with the latest version:
v3.9.7

Fixed in v3.9.8

Indeed. Thank you!

The reasoning behind me making the new monochrome icons is that they fit well with the modern desktop environment (GNOME in my case) with them modulating color to match the theme. Another set of white icons, or even being able to choose from different icons is definitely possible, but needs tweaks in the code.


NPM missing peer-dependencies

Bug description
Follow-up on this issue : https://github.com/apache/superset/issues/21799
I see two problems, the first one being the use of an unsupported Node version 16, while the package.json specifies that the Node version must be ^18.19.1, which is also the version used in the docker-compose.yml. This is despite the fact that the current package-lock.json seems to have been generated with Node 16.
As suggested by others, another problem are the missing peer-dependencies, namely currencyformat.js but also global-box. Interestingly enough, when installing all dependencies for superset-frontend with Node 18 and then trying to start the dev-server I get an error about another missing peer-dependency @react-spring/web.
As a solution I could submit a PR that installs the following packages:

<EMAIL_ADDRESS>in the superset-frontend root, as required by @visx/xychart
<EMAIL_ADDRESS>in plugins/plugin-chart-word-cloud, as required by encodable
<EMAIL_ADDRESS>in plugins/plugin-chart-handlebars, as required by just-handlebars-helpers

How to reproduce the bug

Install and use Node 18.
Navigate to superset-frontend.
Delete node_modules e.g. rm -rf node_modules.
Run npm i.
Run npm run dev-server.

Errors like "Can't resolve '@react-spring/web'" appear.
Screenshots/recordings
No response
Superset version
master / latest-dev
Python version
Not applicable
Node version
Not applicable
Browser
Not applicable
Additional context
No response
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[ ] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

We'd welcome a PR, or three! However, note that the updates should be made in the relevant plugins' directories, not on Superset's main package.json.
I thought we had everything all set with the node18 upgrade, but perhaps the package-lock file also needs an update thanks to the newer npm version, too.

After a bit more investigation, it seems that I had legacy-peer-deps enabled globally in the Node 18 version of my work laptop. Without this, the peer dependencies are correctly installed and also the lock-file doesn't have any changes anymore. I would guess that this is also the cause for the problem that the original author of the issue had, since peer-deps are installed since npm >=7.
Sorry for the confusion, I'm pretty sure that both, this issue and https://github.com/apache/superset/issues/21799 can be closed.


(#133) Unit Tests Refactoring

Detailed description:
Current Unit Tests which were failing are updated.
Which issue(s) this PR fixes:
Fixes #133

What about calculator_test, members_test, servers_test?

For coverage, you can add a test where ProcessTransfer resolves with an error.


chore: Add script to migrate OCI to OFT

Do we have any plans for the host-settlement cron job?

The host settlement job is being deactivated for November+ in https://github.com/opencollective/opencollective-api/pull/10332. We'll make a follow-up PR to make it work for Ofitech.


List of Pydantic stuctures with Optional values

First Check

[X] I added a very descriptive title to this issue.
[X] I used the GitHub search to find a similar issue and didn't find it.
[X] I searched the FastAPI documentation, with the integrated search.
[X] I already searched in Google "How to X in FastAPI" and didn't find any information.
[X] I already read and followed all the tutorial in the docs and didn't find an answer.
[X] I already checked if it is not related to FastAPI but to Pydantic.
[X] I already checked if it is not related to FastAPI but to Swagger UI.
[X] I already checked if it is not related to FastAPI but to ReDoc.

Commit to Help

[X] I commit to help with one of those options 👆

Example Code
class UserRightsBase(BaseModel):
	item: UserItem
	READ: Optional[bool] = None
	WRITE: Optional[bool] = None
	ADMIN: Optional[bool] = None

@app.put("/rights/user/{user_id}/", tags=['rights (admin)'])
def modify_right(   user_id: int = None,
                    rights: List[UserRightsBase] = None,
                    db: Session = Depends(get_db),
                    authorize: AuthJWT = Depends(),
                    token: str = Depends(oauth2_scheme)):
    checkCurrentUser(authorize=authorize, db=db, role=Role.WRITE, itemref="RIGHT")
    return crud_modify_userrights(db=db, user_id=user_id, rights=rights)

Description
Hi the team,
When I send a put with all fields filled, it works like a charm, but If I omit one of the optional field, I get a 422 reply.
For example:
[
  {
    "item": {
      "reference": "TOTO",
      "description": "TOTO",
      "id": 1,
      "creation_date": "2021-07-30T19:33:35.005Z"
    },
    "READ": true,
    "WRITE": true,
  }
]

In this example, I omitted "ADMIN": true
Is it supposed to work ?
Many thanks,
Fred
Operating System
Linux, macOS
Operating System Details
No response
FastAPI Version
0.66.0
Python Version
3.9.6
Additional Context
No response

I have it
My test data was like this :

[
  {
    "item": {
      "reference": "TOTO",
      "description": "TOTO",
      "id": 1,
      "creation_date": null
    },
    "READ": true,
    "WRITE": true,
  }
]

I though that the error was due to missing "ADMIN":true, but it was not the case. The error was due to the null value in my "item" structure, field creation_date.
Changing it to Optional and defaulting it to None solved my problem.


[Bug]: crash with water electrolyzer(GC) and pressurized pipes(Mekanism)

Forge Version
<IP_ADDRESS>60
Galacticraft Version
4.0.4
Log or Crash Report
https://gist.github.com/YiceLi/7826c22492de1eaa6a55fdbe3cff4611#file-crash_report-txt
Reproduction steps

Do this
Do that
Crash/Bug
...
1.Place the water electrolyzer of the GC mod
2.connect with any pressurized pipe of the Mekanism mod (including oxygen and hydrogen outlets)
3.then the game crashes and the save is corrupted

Pretty sure this was fixed in 4.0.5.


[ENHANCEMENT] (Change the settings page in 3.0.0 beta-1)

Please confirm these before moving forward

[X] I have searched for my feature proposal and have not found a work-in-progress/duplicate/resolved/discarded issue.
[X] This improvement refers to an existing feature. If you want to suggest a new feature, please use this template
[X] This improvement is not a bug. If you want to report a bug, please use this template

Describe the improvement
Make this settings page in 3.0.0 beta-1.

Describe how this improvement could help users.
This is more neat and beautiful than the current settings page.

See #1897 for more details.

This is more neat and beautiful than the current settings page.

Yes but the settings are not modifiable from here

P.D. The settings page is planned to be redesigned on a future release so it is less cluttered than how it is now


[WIP][objc] Add NSDecimalNumber <-> decimal support

Work in progress

[x] ReturnType Support
[ ] Array ReturnType Support
[ ] Parameter Support
[ ] Array Parameter Support
[ ] Make iOS work

Feedback is welcome 😄

Build failed

Build failed

Build failed

Build failed

Build failed

@spouliot / @rolfbjarne Ready for final review 👍

Build and tests passed.

@spouliot fixed 😄

Build and tests passed.

@dalexsoto now you'll need to resolve your conflicts ;-)

@spouliot already resolved 😎

Build and tests passed.


Can I use axios with domain-task?

I need to track the progress of a file upload and have discovered that it is not yet supported using fetch (it will be supported using streams but that is not yet implemented - https://github.com/matthew-andrews/isomorphic-fetch/issues/77).  So I need to use an alternative in this case. I'm looking at axios since it is also promise based. Will this work with domain-task?
I won't need to support file uploads with server side rendering so it isn't really an issue anyway but I would still like to know incase the need arises.

Ended up trying it myself. Can confirm it does.


Improve performance of topological sort

This change improves the performance of topological sort by removing the linear lookups of vertices. I think it was something like O(n^4) with calls to indexOfVertex. I also try to do fewer vertex allocations by using indices everywhere, although this is relatively minor in comparison.
I didn't test exhaustively, but in my use case with ~500 vertices and ~500 edges, sorting went from 12s to 20ms!

Thanks, @dabbott . This is an awesome and straightforward fix!

Hi @dabbott, is there a coming tag including this enhancement? We've tried it and it's significantly faster. We'd like to integrate it in production code.

Hi @kokluch,
I’ll push out a 3.0.1 version late today including @dabbott’s performance improvement. Thanks for using SwiftGraph.

Hi @kokluch,
This ended up getting pushed as 3.1. It's live now. Out of curiosity, what app are you using SwiftGraph in?
Thanks,
David

Hi @davecom,
Thanks for the tag :) however it's not a valid spm format so I cannot retrieve it properly. Would you be kind to make it 3.1.0? I would really appreciate.
As for the apps I can't say much but you'll find SwiftGraph license mentioned on the followed apps:
https://apps.apple.com/fr/app/netatmo-security/id951725393
https://apps.apple.com/fr/app/netatmo-weather/id532538499
https://apps.apple.com/fr/app/home-control/id1188809809
This list is not exhaustive.

Hi @kokluch,
Oops, sorry about that. I just pushed a 3.1.0 tag, hopefully that fixes the issue. And thanks for the info, that's very encouraging to know.
Best,
David


Use salt pillars to pass test arguments during cluster creation.

I've gone @bprashanth way of creating variables in config-test.sh, which populate salt pillars. Later on pillars are used as flags to pass to binaries.
@bprashanth @zmerlynn

Ref #10915

Also ref #10308 and fixes #8669.
It's not the nicest thing to do, as this will work only as long as test_args (in various forms) will be kept at the end of the argument list, as later flag values overwrite earlier ones.

@bprashanth @davidopp PTAL

Thanks for doing this! It'll accelerate putting out e2e fires. Please run a few consecutive iterations of the suite to confirm that we don't out-of-disk during the soak test. LGTM other than the tiny nits.

@bprashanth PTAL

LGTM assuming you ran the soak test

@k8s-bot test this [contrib/submit-queue: candidate for merging]

Automatic merge from SubmitQueue


What if I have no forms?

My file has no forms, but I get the error "Can't remove control or reference; in use" when I try to uncheck the reference to "Microsoft Forms 2.0 Object Library".

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 9fc65e53-f6e4-1e0f-bbdd-1ad51f658ef5
Version Independent ID: 566e9424-7120-baa5-b468-45d390d642e1
Content: Can't remove control or reference; in use
Content Source: Language/Reference/User-Interface-Help/can-t-remove-control-or-reference-in-use.md
Product: office
GitHub Login: @o365devx
Microsoft Alias: o365devx

Thanks for your feedback. We use Github issues for documentation bugs, not for developer support. Please try the VBA developer community on Stack Overflow (https://stackoverflow.com/questions/tagged/vba) where you can get help from actual developers. If you find a bug in our documentation, please let us know! Thanks!

I found a solution. It does seem to be a bug, not a developer knowledge gap.
With VBA I can remove the checkmark without issues, so it would seem the message box and prevention of checkmark removal were unnecessary. Whatever the system thought was in use, seems to not have been legitimately and relevantly in use. That certainly seems like a bug.


Broadcaster is parsed as Mod and Broadcaster?

Is the Broadcaster parsed as Mod and Broadcaster in the GetChatter-Method?
I get the Broadcaster back as Mod and Broadcaster which is a bit annoying

Technically this is correct
A broadcaster is a Moderator in their own Twitch Channel

well ok then I have to rework my system for user tracking

Actually, I do manually add the streamer as a broadcaster, and then GetChatters data adds it again as a moderator. I think the correct route is to just serve up what https://tmi.twitch.tv/group/user/{channelName}/chatters serves, which would mean that the streamer doesn't get "broadcaster" usertype. I will correct this now, just to prevent confusion.

If you want to give that commit ^ a go, it should fix the confusion. The response will only include the results returned by Twitch, as expected. Sorry about that.

Thx  :) Will give it a try^^


WIP

Refactoring go-crypto/keys to be much simpler, and also to use go-db.
Also see https://github.com/tendermint/tmlibs/pull/72
Please use the logic from https://github.com/tendermint/mintkey/blob/master/cmd/mintkey/common.go to encrypt and armor private keys.  I really don't think we need to create DB/store wrapper abstractions to make this work.
Some other feedback:

We should avoid calling things "Manager"
We should not use single letter receiver names, like func (s Something) MyFunc()... it makes refactoring s. -> kb. more difficult than it should be.  https://github.com/tendermint/coding/commit/0057139c237c888a0a31ca75714bc6d7489b8686#diff-87e87465831927a211c5a12fa8ace289

Ah, and we don't need all those GenEd25519.Generate type functions... it could be as simple as a switch statement in the dbKeybase impl.

Jae, I know you want to simplify and I think using the level db backend is nice.
 Talk to Bucky on that one, I don't promise any backwards compatibilty.

You removed all the generators, while they are still relied upon for creating keys.  If you think it can be done simpler, please do that.

Changing the signing interface breaks go-crypto/client/commands/keys. When refactoring libs, please only break one at a time. Like make changes in go-crypto and see that you can get a branch of tendermint:develop and cosmos-sdk:develop to compile again. Changing this API implies a major refactor of all signing in the cosmos-sdk.

Also, please make sure this works (with proper error handling) with the nano leger, I have a ledger with the app installed here, so we can test it. I see lots of deleted test code, which always makes me very nervous.

@jaekwon @ebuchman We should make a decision on backwards compatibility. I am personally in favour of having no backwards compatibility for anything from APIs to keyfiles until after launch. For now we can expect most people to upgrade and maintaining backwards compatibility sometimes introduces these weird code paths that we can otherwise avoid.

It all compiles and almost all tests pass. There is one issue I cannot resolve, as I cannot figure out how to properly use the dbm.Iterator.
If I call Next(), it will return false if I was at the end, or true and advance one step.
This is fine if there is at least one element, which I read, then call next until it returns false.
However, if there is no elements in the response, reading the first element will panic. If I call next to check if there was an element before reading it, it is safe, but I will always miss the first element.
@jaekwon I know you have a PR on tmlibs that makes this nicer. Maybe I wait until then, or you can fix this code to make the tests work.
https://github.com/tendermint/go-crypto/blob/keystore/keys/keybase.go#L86-L102

I am sure it also all needs a review and polish, but at least it is quite close to working code now.

vetshadow and zach's linting obsession kill all tests when the variable name is the same as a package (as it shadows the previous value).
I don't like to change it, but needed to change one name, so changed the name we saw less.

oh i c


HDSM will not run

Greetings,
When properly installed (its not that hard) HDSM will not allow DCS to start.  Remove folder and DCS will start.  Is there a particular mod that HDSM conflicts with?
476 Range Targets
AM2Mat (not even sure what this is)
LLH_Counter_Insurgency
Massun92-Asset Pack
SAMPack_S-300_Series << possible culprit
SAMSitesAssetPack << possible culprit
Tacview
I thought I read that this package is compatible with the two that are indicated.
Thanks in advance!

@LawnDartLeo Have you tried without SAMPack_S-300_Series? I believe that mod does cause a conflict with HDS


Perform Schlinkert pruning both forwards and reverse, picking whichever saves more words

Performs Schlinkert prune on given word list in both the direction it was provided and in reverse. Why in reverse? Because (a) that is still a valid way to make a list uniquely decodable and (b) in some cases it saves more words from the original list (BIPS39 English word list is such an example).
BIPS 39 word list as an example
If you perform a Schlinkert prune on the BIPS39 list in its given order, 1911 words are saved. If you reverse all words on the BIPS39 list and run a Schlinkert prune, 2011 words are saved.
With this PR, when a user tells Tidy to do a Schlinkert prune (-K), it now does it in both directions and then actually executes whichever the one saves more words. Cool!
Carefully reversing words with accented characters
Use graphemes!
/// Reverse all words on given list. For example,
/// `["hotdog", "hamburger", "alligator"]` becomes
/// `["godtoh", "regrubmah", "rotagilla"]`
/// Uses graphemes to ensure it handles accented characters correctly.
pub fn reverse_all_words(list: &[String]) -> Vec<String> {
    let mut reversed_list = vec![];
    for word in list {
        reversed_list.push(word.graphemes(true).rev().collect::<String>());
    }
    reversed_list
}

Downsides
It does roughly double the time it takes to run a Schlinkert prune. But I think it's worth it if it does save more words. Tidy isn't built for speed, its built for thoroughness.

length
prefix-free
suffix-free
Schlinkert-pruned
Reverse Schlinkert-pruned

BIPS39
2048
1999
1881
1914
2011

This felt good enough to merge. Will keep an eye out for bugs!


There has a problem when the character “@” within password

There has a problem when the character “@” within password, maybe we should make the regex pattern more compatible? :) Here is my solution:
parts = re.match('(\w+://)([^:]+?:.+@)?(.+)', line.strip())

instead of
parts = re.match('(\w+://)([^:]+?:[^@]+?@)?(.+)', line.strip())

Included in my pull request to add compatibility with splash browser


feature: robust JSX whitespace handling

Update to match JS version:
https://github.com/lingui/js-lingui/pull/1882
Few notes:

I found that tests in current version are broken, they always pass no mater what. Turned out this is a bug in upstream. I didn't find a way to update only swc_ecma_transforms_testing without updating swc_core
Due to forementioned swc_core was bumped to the latest, and this will break compatibility with latest nextjs. It still uses older swc_core according to compatibility

This is a breaking change and should be merged synchronously with JS version.

will port https://github.com/lingui/js-lingui/pull/1897 in this PR as well

done


add shorthand for fingering notation

Hi Silas, thanks for the work on jianpu-ly! I am using it to create scores for the erhu. Since erhu scores have many expression symbols and often annotate fingering, I found myself writing some lilypond syntax and custom LP blocks. It was convenient to have a fingering shorthand in the jianpu-ly syntax and to have the expression symbols documented for easy copy-pasting.
I realize this may be more specific to the erhu, but maybe this kind of idea could be useful to others.
% pitch and slides
1, Fr=𝀈 2, Fr=↗ 3 Fr=↘ 4
LP:
\finger \markup \bold \large "𝁜"
:LP

% souyin 久, bend, harmonic
2 Fr=久 3 Fr=⤻ 1 Fr=○
-

% fingering
1 Fr=0 2 Fr=1 3 Fr=2 4 Fr=3
5 Fr=4 6 Fr=1 7 Fr=2 1, Fr=3

Thanks, this is great.  I wonder if we should expand that dictionary with ASCII abbreviations of the common symbols so you don't have to copy-paste; I'll see what I can do later (also I'll update the docstring on a separate commit, as the readme is automatically updated from the docstring, and so is the HTML version on my website)


Improved Visual Design

@jaibhedia
**UI enhancements that can further improve the VoteChain website:
**Benifit:

Implement subtle animations and interactive elements to provide feedback on user actions (e.g., button clicks, hover effects).
Maintain consistent spacing, alignment, and padding across all elements to create a polished and professional look.
Use clear, meaningful icons alongside text labels to enhance comprehension and visual appeal.

Additional context
Please assign me this issue and add gssoc label , i will be happy to work on this project .

@jaibhedia please assign me this project

@jaibhedia Thank you Sir for assigning me this issue , I will give you update after few days..


pushState fallback breaks with a off-domain <base>

On browsers without pushState, but with Backbone.js' pushState support enabled, the browser is redirected using window.location.replace('/root'). However, the URL is resolved relative to <base>, which may be set to another domain, in my case one serving static assets.
This patch simply builds an absolute URL, including the scheme, host and port.

I'm still a bit uneasy about this ... are the rest of the Backbone Ajax requests still functional even though base is pointed to a separate domain? Are you sure that your URL building correctly handles subdomains, ports, and fancy root paths?
If you'd like to pursue this, let's first fix the ticket so that it applies cleanly on master, and add a test if possible.

That's okay. We don't use any of Backbone's Ajax stuff.
I'll leave it until I run into it again. So far, we've only had one project where this was an issue.


hierarchical clustering?

I'm wondering if there is any hierarchical clustering in dlib or something like dbscan so I don't have to define anything like K in advance.
I'm reading up on Chinese Whispers to see if I could use that but I have just tabular data so unsure if there is some trick or way I can convert it into some graph data representation.
I'm looking to start investigating if/how we could build a Clustered Heatmap (https://github.com/andrewm4894/netdata-ml-app) into our monitoring agent and so trying to see what clustering algos from dlib we might be able to use.
Going to keep exploring the docs but also just thought may as well ask here too.
Many thanks!

Not much clustering stuff in dlib.  The best ones are the graph clustering
methods.  But yeah, you need to be able to make some kind of sensible graph
of your data for those to make sense.
On Sat, Jun 11, 2022 at 3:32 AM Andrew Maguire @.***>
wrote:

I'm wondering if there is any hierarchical clustering in dlib or something
like dbscan so I don't have to define anything like K in advance.
I'm reading up on Chinese Whispers to see if I could use that but I have
just tabular data so unsure if there is some trick or way I can convert it
into some graph data representation.
I'm looking to start investigating if/how we could build a Clustered
Heatmap (https://github.com/andrewm4894/netdata-ml-app) into our
monitoring agent and so trying to see what clustering algos from dlib we
might be able to use.
Going to keep exploring the docs but also just thought may as well ask
here too.
Many thanks!
—
Reply to this email directly, view it on GitHub
https://github.com/davisking/dlib/issues/2599, or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABPYFR3V2QJNLIA72P77LTTVOQ6HRANCNFSM5YPVHB6Q
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


insecure XMLHttpRequest endpoint

Hey, not sure if you were aware of this but on the link provided, an error occurred as pasted below. I would really appreciate if you were able to give any fix/advice on this issue.
xhr-loader.js:82 Mixed Content: The page at 'https://freeview-nz.netlify.app/' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://i.mjh.nz/nz/tv.9.m3u8'. This request has been blocked; the content must be served over HTTPS.

Hi @007joshie, I just fixed this with commit 4bc8c87. Let me know if it is or isn't working for you 🙂

Cheers, Thank you so much. I look forward to using this as we don't have cable.


Build, test and deploy with AppVeyor

After pushing the docker-machine 0.5.0 package I found some issues. There were too many files in the package. While the package was in approval I've fixed the package, added some more links etc.
But I thought the build, test and deploy cycle should be automated. So I've added an appveyor.yml and a test.ps1 script that runs a test at AppVeyor after each git push.
The deployment with choco push is only done if we push a git tag to build a new release. I've updated the MAINTENANCE.md.
After merging this PR we can try this the next time when 0.5.1 is released.
This saves me from spinning up a fresh Windows VM with Chocolatey and run the tests manually.

And AppVeyor can be connected with GitHub, so if we use PR's then every PR will be checked by AppVeyor and tells us if the PR can be merged after all tests have succeeded.
I can help you set this up.

A first build the the merged PR can be found here: https://ci.appveyor.com/project/StefanScherer/choco-docker-machine/build/<IP_ADDRESS>

This is how it looks like if someone creates a PR:

And after a while the build + test status from AppVeyor, in this case going to green:


Integration with intellisense?

Could probably do something similar to this library:
https://github.com/madskristensen/json-Intellisense

More descriptions on how to implement something like this from official microsoft docs:
https://docs.microsoft.com/en-us/visualstudio/extensibility/walkthrough-displaying-quickinfo-tooltips


Update diagram

Add X-Road Security Servers to the diagram.

Hi @petkivim
It seems your image is not an editable draw.io image. Can you update it or share the logo of the security server?
Thanks


allow validation of nested parameters through block

Allows an endpoint to verify fields inside of a hash parameter via block syntax.

:+1:

Thanks for your contribution, @cmwright. I apologize for taking so long to review this.
I think this is a really nice implementation of a complicated and useful feature. At the moment, I'm in triage mode attempting to cut a new release that addresses the most pressing issues (primarily Sinatra 2.0 support), but I'd definitely consider this for the next major release.

Is there any progress on it?


Help text not showing correctly.

Hey!
Thanks for the great work!
Just a little bug when including help text in the field.

And a request, not a big deal for the project I am working on now, but it may be needed in the future or by other developers...
Can you make it translatable?
If we could have some LANG file to change the texts, it would make it a perfect field.
Thanks!

Hey @josemanuelsh, I'll look into fixing the visual bug with the help text being displayed along side the field. As for the feature request I have thought about implementing this in the future, so it's on the backlog right now but haven't needed to actually implement it - until now.
I'll try to work on this stuff through out this next week and update you when I have fixed the bug, as the lang files aren't mission critical for you at this point I'll start working on it soon after the bug fix! Thanks!

@josemanuelsh I have fixed the layout issue with help text and any error text. Thanks for reporting this issue!


bug 1957012: set ownerReference correctly

[x] APIVersion should contain group + version
[x] we should use EnsureOwnerRef just in case there are any problems with UIDs

The BZ is for an older version of Openshift, I am still not familiar with backporting stuff, so I will need help there.
~Also, I got a bunch of changes coming from go mod vendor and go mod tidy, not sure those should come here.~ (seems to be ok now)

/approve
/lgtm


Support channel first data format

Currently, we only support data format: N x M x 3. We would also ideally also support N x 3 x M by adding a flag in the extract_features function:
feats = extract_features(data, feature_set='full', sample_rate=sample_rate)

def chanfirst2chanlast(my_data):
    x = my_data[:, 0, :]
    y = my_data[:, 1, :]
    z = my_data[:, 2, :]

    x = x.reshape(len(x), -1, 1)
    y = y.reshape(len(y), -1, 1)
    z = z.reshape(len(z), -1, 1)

    final_data = np.concatenate((x, y, z), axis=2)
    return final_data

Something like this should do.


Changed the dim computation in a compact form. It is also very easy t…

Changed the dim computation in a compact form.
I think this is much easy to read and understand. I am not sure about the performance, but it's only a 3-element production, so it won't matter much.

Can one of the admins verify this patch?

Done!
On Sun, Apr 10, 2016 at 8:05 PM, googlebot<EMAIL_ADDRESS>wrote:

Thanks for your pull request. It looks like this may be your first
contribution to a Google open source project. Before we can look at your
pull request, you'll need to sign a Contributor License Agreement (CLA).
[image: :memo:] Please visit https://cla.developers.google.com/
https://cla.developers.google.com/ to sign.
Once you've signed, please reply here (e.g. I signed it!) and we'll
verify. Thanks.

If you've already signed a CLA, it's possible we don't have your
GitHub username or you're using a different email address. Check your
existing CLA data https://cla.developers.google.com/clas and verify
that your email is set on your git commits
https://help.github.com/articles/setting-your-email-in-git/.
If you signed the CLA as a corporation, please let us know the
company's name.

—
You are receiving this because you authored the thread.
Reply to this email directly or view it on GitHub
https://github.com/tensorflow/tensorflow/pull/1837#issuecomment-207971312

I made a better patch.


Cirrus CI failures

Both #1294 and #1295 fail on Cirrus CI due to reasons unrelated to the prs themselves.
pkg install -y curl
Updating FreeBSD repository catalogue...
Fetching meta.txz: . done
pkg: repository meta /var/db/pkg/FreeBSD.meta has wrong version 2
repository FreeBSD has no meta file, using default settings
Fetching packagesite.txz: .......... done
pkg: repository meta /var/db/pkg/FreeBSD.meta has wrong version 2
pkg: Repository FreeBSD load error: meta cannot be loaded No error: 0
Unable to open created repository FreeBSD
Unable to update repository FreeBSD
Error updating repositories!
Exit status: 3

@asomers any ideas?

See this issue on Tokio.

Maybe updating to 11.3 or 12.1 will help?

@Darksonn we're using freebsd-11-2-release-amd64, but I can try 12.1.


Add meteor support

Hi,
I installed the meteor-api package and it adds Javascript (Meteor) as a language.
atom-beautify tells me Unsupported language for grammar 'JavaScript (Meteor)'.

Oh my gosh, if you could add the Meteor styleguide to atom-beautify, that would be amazing.  I've been working on the meteor-api package, and would be more than happy to help debug any Meteor support.
Meteor styleguide is below...
https://github.com/meteor/meteor/wiki/Meteor-Style-Guide

@Prettydiff is this a language that you'd consider supporting?

Yep, I will add Meteor style guide to the jspetty style guide options. Would you be able to assign or transfer this issue to me?

@prettydiff has added support so this is not high priority.

@Francescu / @awatson1978 , please provide a simple example file that is not beautified. I am adding tests and once I have that example file I will publish :+1:.

Meteor support should come when #282 is released.

Published to v0.25.0
This is a very big release with lots of internal changes and (hopefully) no breaking changes. Please let me know if you are experiencing any unusual behaviour / breaking changes after updating. Thank you.

I may have to add the grammar JavaScript (Meteor) to a language. Is Meteor simply JavaScript? If you change the grammar for your file from JavaScript (Meteor) to JavaScript and then beautify, does that work?

Yeah, it's just JavaScript.  A specific api implemented in javascript, but same grammar and syntax.  I'm away from my computer this weekend, but have this on my todo list.  Will try getting to it early this week!

Excellent, thanks! Let me know wherever I can help.


Question: Fractions in nb and nn and their use of ordinals

I am looking into how SRE treats fractions in Norwegian bokmål (nb) and nynorsk (nn).
Both numbers_nn.ts and numbers_nb.ts define numberToOrdinal(num: number, plural: boolean): string. What I don't really understand is the use of this function.
It looks to me like it's used through vulgarFraction(node: Element): Span[] in numbers_util.ts, where we say numberToOrdinal(denom, enum !== 1).
My issue is the following. If I now transform a fraction \frac{1}{3} in nb, I'll get "en tredje". The problem is this, while this is a literal translation of the english "one third", in bokmål it is "one third" in the sense of "I've got one third place, two forth places and one fifth place over my career as a racing driver". To get the fraction, "one third", I'd say "en tredjedel" (one part of three).
What strikes me, though, is that the tests in SRE-tests says that the current behavior is the wanted behavior. Is the current implementation what is considered correct?
Further, I'd like to refactor numberOrdinal to get my wanted behavior, but I am skeptical of doing so as I only want to affect its behavior when used in fractions. What I'd really like to do, is modify vulgarFraction to use a separate function for denom so that numberToOrdinal could do just that, take a number and return an ordinal, without the need to know whether the number is to be used in a fraction or is "plural".
Am I making any sense, or have I just not understood the implementation correctly? (The latter is highly likely.)
Thanks for all your work!

Thanks for reporting this.
Firstly, please note that the current tests are effectively the results SRE produced after the initial localisation. (Think of them as galley proofs in typesetting.) The normal procedure is that the native speaker working on the localisation read over these proofs, gives feedback and I fix things in an iterative process.
Unfortunately, I never received any feedback regarding the two Norwegian languages from the translator on the initial output at the time. This was also during Covid, which meant that we could not just spent a couple of days in the same room together, which usually helps insure correctness. So there might still be plenty of skeletons in the closet.
If you would find the time and have a look over the tests and send me anything you thinks is wrong, I'll be happy to make corrections.

I see. Thanks for your reply.
I might need some help getting the tests to compile locally. Right now I've just done a brutforce search-and-replace for e.g. "to femte" -> "to femtedeler", which seems to work ... but it feels like the wrong approach.
Or would you prefer that I submit a PR to the SRE repo directly, and you can use that to generate new tests for the affected parts?

Firstly, reading the test code is probably too difficult. However, all the output that we usually use for proof reading is at:
https://speech-rule-engine.github.io/sre-tests/output/
That gives you the different test categories, rendered math expressions and English speech in comparison.
I have not updated it in a while but Bokmal should still be the up to date.
If you want to fix up tests directly, a PR against the test repo https://github.com/Speech-Rule-Engine/sre-tests/ is of course always welcome. Again doing this by hand might be a very tedious job. But since speech generation is rule based (or procedural for numbers) its usually easier to spot the pattern that goes wrong and I can try to fix the rules and push new output.
If you want to actually fix code or rules up yourself, you are again very welcome. But as you said you might need a bit of help to get started. I'll be happy to answer questions here or by email. Alternatively, we can have an online chat.
I'll be travelling in the US the next two weeks (starting tomorrow morning). But maybe we can schedule a call somewhere around 21-23 Nov, i.e., before Thanksgiving?

Thanks for your reply. I sent an email to the address listed on your Github profile.


Add table prefix to StatsQuery

Fixes #21
When using selectRaw table names need to be prefixed when the database connection uses a prefix (config/database.php)
I've added tests for it, but I'm not sure they are how you would test it.

Thanks!


[TACHYON-1440][WIP]One worker per host configurable

https://tachyon.atlassian.net/browse/TACHYON-1440

@kelvinchu , this PR may ease the process to run Tachyon on YARN with particular setting. Feel free to review this PR.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7272/
Test PASSed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7277/
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7287/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7297/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7321/
Test PASSed.

@aaudiber Thanks for the patch! I left some style comments.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7336/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7340/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Tachyon-Pull-Request-Builder/7341/
Test PASSed.

+1 LGTM


Specify NTP servers in Kea

Make palletjack2kea output configuration for NTP servers (option 42). Store them in the IPv4 network object. Include them in the example warehouse.

FreeIPA also wants SRV records for NTP servers, so output them to Knot as well.

Annoyingly, DHCPv4 option 42 takes a list of IPv4 addresses, not hostnames.


[FLINK-28893][table] Add built-in conv function.

What is the purpose of the change
Add built-in conv function.

hi @twalthr ,do you have time to review it ? i change it to BuiltInFunctionTestBase.
But i found the eval null is "", the code gen using the EMPTY_UTF8, it may be a bug.

hi @twalthr @wuchong do you have time to review it?

Thanks for the contribution
It would be great to have a filled template for PR
also I left some comments