Run task under multiple enviroments

Problem description
Using polarify example:
[feature.py39.dependencies]
python = "3.9.*"
[feature.py310.dependencies]
python = "3.10.*"
[feature.pl017.dependencies]
polars = "0.17.*"
[feature.pl018.dependencies]
polars = "0.18.*"

and
[environments]
pl017 = ["pl017", "py39", "test"]
pl018 = ["pl018", "py310", "test"]

it would be very useful to define task to run under list of environments automically
[tasks]
run_tests =  { "pytest", environments = ["pl017", "pl018" ] }

so in this case in will run pytest in every enviroment.
This potentially could be useful to use for cross-testing.

Mm interesting!
One problem I see is that currently tasks are tied to features, tasks dont have any relation with environments as in your example. I think that could be quite confusing. Im wondering what an alternative syntax would be.
E.g. this could be confusing:
[feature.pl019.task]
run-test = { cmd = "pytest", environments = ["pl017", "pl018"]

Mm interesting!
One problem I see is that currently tasks are tied to features, tasks dont have any relation with environments as in your example. I think that could be quite confusing. Im wondering what an alternative syntax would be.
E.g. this could be confusing:
[feature.pl019.task]
run-test = { cmd = "pytest", environments = ["pl017", "pl018"]

good point! Could we extend and apply tasks for environments tables?
[environments .tasks]
run_test =  { "pytest", environments = ["pl017", "pl018" ] }

Chiming in to add another example that could possibly benefit from this. I couldn't find a more concise way to express my test matrix in pixi.toml. Note that I need pixi run test to run tests against an editable install in a local/default environment but in CI I need to build a wheel, install it and then test it, somewhat similar to what nox and nox-poetry do.

thanks for sharing this example!
It's true, maybe we can somehow help with more easy-way of handling this kind of matrix:
https://github.com/renan-r-santos/pixi-kernel/blob/75c4ad15c4d2dea58f08c49d255e6ea6dd66278d/.github/workflows/ci.yml#L21
so you don't need to maintain them manually

I think the task graph depends_on could do a lot of the heavy lifting, basically overloading the jarring interactive prompt if --environment is omitted. Consider a web-like thing:
[tasks.test-all]
depends_on = [
  { task = "test-unit", environment = ["test-oldest", "test-newest"] },
  { task = "test-acceptance", environment = ["test-oldest", "test-newest"] },
  { task = "test-acceptance", environment = "test-newest", env = { JS_COVERAGE="1" } },
]

[tasks.test-unit]
cmd = "pytest tests"
depends_on = [
  { task = "preflight", environment = "$PIXI_ENVIRONMENT_NAME" },
]

[tasks.test-acceptance]
cmd = "robot atest"
depends_on = [
  { task = "preflight", environment = "$PIXI_ENVIRONMENT_NAME" },
  { task = "build-js", env = { JS_COVERAGE = "$JS_COVERAGE" } },
]

(with some inputs and outputs sprinkled in to make that not... awful)

Might be more trivial (or even already possible, but not obviously documented), it would be nice to specify that a task belongs even to just a single environment, e.g. for running pytest within a "test" environment, etc.

Might be more trivial (or even already possible, but not obviously documented), it would be nice to specify that a task belongs even to just a single environment, e.g. for running pytest within a "test" environment, etc.

hey!
you can run a specify a environment for task using --environment flag.
Or you have other usecase ?

What about extending the idea from @bollwyvl with a simple syntax extension for the taskname with an environment prefix?
[task]
test = "pytest"
all-tests = {depends_on = ["py39:test", "py310:test"]}
local-test = {cmd = "echo TESTING", depends_on = "py39:test"}

[dependencies]
pytest = "*"

[feature.py310.dependencies]
python = "3.10"

[feature.py39.dependencies]
python = "3.9"

[environments]
py39 = ["py39"]
py310 = ["py310"]

The rule being, split on : where it is {environment}:{task_name}
When the --environment is used it would overwrite the test it self but the defined environments say. So in the local-test example it would echo TESTING in the --environment specified environment but the test in py39

Ha, gotta be careful with the grammar: there are only so many good separators, as suggested on #1285 for a per-file "namespace".

Given no movement here, I have started down the dark path of pixi-in-pixi:
[tasks.test-all]
cmd = """
     pixi r -e test         test  -m unit
&&   pixi r -e test-oldest  test  -m unit
&&   pixi r -e test         test  -m integration
&&   pixi r -e test-oldest  test  -m integration
"""

This feels far worse than an easy-to-reason-about (and therefore visualize, document) depends-on graph, but i basically never want the interactive prompt, and typing --environment (or more) also feels bad. Further, this  seems like it would never work with a future pixi run -j8, which is what I actually want in this case.
More thinking on typography: reusing the pixi run CLI grammar wouldn't feel quite as bad, if pixi can pull that meaning back out in pixi task list --json (#1344).
[tasks]
test-all = {depends-on=[
  "-e test         test -m unit",
  "-e test-oldest  test -m unit",
  "-e test         test -m integration",
  "-e test-oldest  test -m integration",
]}

TOML is real picky, though: one couldn't mix a string and an inline table in the same list... so I'm still mostly in favor of the "fat" depends-on which can build matrices with (decent, no task name lookup) completion:
[tasks]
test-all = {depends-on=[
  {task = "test", environment=["test", "test-oldest"], args=[["-m unit"], ["-m integration"]]}
]}

Issue https://github.com/prefix-dev/pixi/issues/1519 is related: binding a task to a specific environment.

Allowing to specify an environment in depends-on would be a really useful feature. As a minimal starting point even specifying a single environment is a great improvement already.
Consider my current config, using pixi in pixi:
[tool.pixi.feature.test.tasks]
tests = "pytest"

[tool.pixi.tasks]
tests-minimal = "pixi run -e minimal tests"
tests-mid = "pixi run -e mid tests"
tests-latest = "pixi run -e latest tests"
tests-all = { depends-on = ["tests-minimal", "tests-mid", "tests-latest"] }

This would become:
[tool.pixi.feature.test.tasks]
tests = "pytest"

[tool.pixi.tasks]
tests-all = { depends-on = [
    { task = "tests", environment = "minimal" },
    { task = "tests", environment = "mid" },
    { task = "tests", environment = "latest" },
]}


Reduce triple call to single call, improve video loading, fix embed play button being off-center

Removes the double call from videojs.jsx component
Improves user experience of the loading screen. Still going through some final testing

[ ] analytics need fixing

Sent feedback on slack, a couple small issues.


documentation: fixed typo

(repeated word)

@tlossen Could you fix the commit title to something like Documentation/learning: fix typo?
Then lgtm. Thanks!

done

Codecov Report

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

@@            Coverage Diff            @@
##             master    #7963   +/-   ##
=========================================
  Coverage          ?   74.71%
=========================================
  Files             ?      340
  Lines             ?    26467
  Branches          ?        0
=========================================
  Hits              ?    19774
  Misses            ?     5236
  Partials          ?     1457

Continue to review full report at Codecov.

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


FIX 404 page not found with make debug

I am just trying to test  the software so I followed https://github.com/AnubisLMS/Anubis/blob/main/docs/development_guide.md this tutorial  and used the "sudo make debug" command to use Docker to get Anubis running,

After running "sudo make debug"  I got  database connection error in the logs as follows
docker compose -p anubis exec api alembic upgrade head mysqladmin: connect to server at '<IP_ADDRESS>' failed                                                 error: 'Access denied for user<EMAIL_ADDRESS>(using password: NO)'                                                                                Starting with DATABASE_URI: mysql+pymysql://anubis:anubis@db/anubis Starting with CACHE_TYPE: RedisCache Starting with SECRET_KEY: DEBUG Starting with MINDEBUG: False Starting with DEBUG: True INFO  [alembic.runtime.migration] Context impl MySQLImpl. INFO  [alembic.runtime.migration] Will assume non-transactional DDL. make startup-links make[1]: Entering directory '/home/user/Projects/Anubis'

Then logs ended like this
seed: http://localhost/api/admin/seed/ auth: http://localhost/api/admin/auth/token/superuser auth: http://localhost/api/admin/auth/token/professor auth: http://localhost/api/admin/auth/token/ta auth: http://localhost/api/admin/auth/token/student site: http://localhost/ make[1]: Leaving directory '/home/user/Projects/Anubis'
and when i tried going to site from browser I am getting 404 error

need to understand why this is happening

You should not use sudo to do the make debug.  It should just work without root permissions.

I am using mac to ssh in another Linux machine which  in my local network. so it is linux machine  only

Ah ok, I didnt notice the url you have in the address bar. The end router traefik is configured to use the domain localhost. Not the <IP_ADDRESS> you have there. You can go into the docker-compose.yml file and change all the Rule lines to be the ip address you are accessing it from if you want to just hack it (like this line).
A slightly more eligant solution would be to ssh port forward. You can just do ssh -L 80:localhost:80 ... when you ssh to do that port forward. That will map your local port 80 (http) to your remote machines 80. Then you can just use the standard localhost startup links.


Preserve %2F in Shared Link

Preserve %2F in Shared Link when WordPress is installed in subdirectory, or Plausible is running on a multisite subsite. Will fix #53

Pulled this into a separate branch. Testing it now.


Hier verilog pretty print

This draft pull request has the latest version of the verilog hierarchical writer.
The main difference is the support for the pathName api in dbNetwork.cc. Of particular interest is how net names are constructed in hierarchy. We get the name of the driving instance (which gives the full hierarchical name) and then subtract that name as a prefix from the net name.
This pull request is a work in progress and marked as draft because I am still figuring out how to minimize the amount of copying of the pathName api from the sta/Network.hh (I found that if I overloaded one of the pathName apis -- for net -- then I needed to pull in all the others)

@andyfox-rushc ready for review?  Its still marked a draft.

My plan was to make it available (I sensed it might be helpful to Peter and Cho), but not to integrate it until I have cts going through hierarchy. It is useful to see the flat net names for debug (if something is misconnected it has a net strangely named in the current flat net name).

@andyfox-rushc I removed the copied code

PS Matt, thank you, I see what you did with using.
I am ok with merging this in, if it is ok with you.


Output port in use error if 2 servers started on the same port

This has always irritated me, when starting a server when you always have one running, and you get this nasty error:

So I made it nicer:

@stefanpenner yeah for sure. TBH we should look to use this server in ember-cli

I think this is good (bad error messages suck), but we should make the default behavior the same as what ember-cli does with ember s --port 0 (it finds an available port automatically for you).

@rwjblue good idea, I think that should be a separate PR though

Lgtm!

The future pr may always want to default to port 0


Board/Committee Member Title Edit Feature

Can we discuss getting a feature where we can edit Board/Committee Member Titles - similar to how we can edit member's bio?

@neilarellano We had the exact same thought! Love this idea.

HCG to check whether link between member and area of representation is from Legistar or manually defined in app. If the latter, it would be great for Metro to also be able to manage that.

Board member titles are currently defined on the scraper. We use them to create posts, which are records of a particular position within a legislative body:

https://github.com/Metro-Records/scrapers-lametro/blob/b7ebaba9a9a17ddce206716dcf19540359c3dd73/lametro/__init__.py#L46
https://github.com/Metro-Records/scrapers-lametro/blob/b7ebaba9a9a17ddce206716dcf19540359c3dd73/lametro/people.py#L10

Post records are independent of the person holding a position. Instead, they define the possible positions within an organization that are filled by its members.
Each post is associated with a division, which is a political geography.
Each division is assigned a division identifier in the scraper, then the actual geographic shape of the division is associated by the app. This is what shows up on the map.
The Metro board is always comprised of:

The Mayor of Los Angeles and three appointees
Appointees for each of the five Los Angeles County districts
At least one appointee for each of four statutorily defined sectors

In recent years, there has also been a (non-voting) appointee by the governor. This structure rarely, if ever, changes. (Is that right, @shrayshray?) It does not make sense to make this manageable, because there are no changes to manage.
Some things have changed, though:

The country has undergone redistricting
Titles can vary between members holding the same post

It makes sense to make these things manageable, so they can be updated without DataMade's intervention. Are there other (relatively) frequent changes we want to account for?

@hancush confirming the structure of the Metro board members "rarely, if ever, changes". It is defined by California Public Utilities Code Section 130051, which was last amended in 1997 and does include a nonvoting member appointed by the Governor - for recent history, this appointee has been the Director of CalTrans District 7.

All Board members now have their title in their Legistar > People "Notes" field.

Superseded by #1045, #1046


Streamline for repeat users

If I've done this once already, can I just give you my server url and playground ID without having to give you a URL? Do you have to parse it or could you offer the option for me to just type it without having to go looking for a URL?

We'll discuss offering an option for you to give the information directly. It's a bit complex as we've found people often don't know how to find the right playground id for their testing account.
That said, we'll be removing the need for all of that pretty soon with v4. Implementing the API will let us get all that information ourselves.


ConnectionResetError

The following error occured in the process of traing,but the training continued working automatically later.
I used 1 gpu and 4 num_workers.Anyone knows the reason of the error?
ConnectionResetError: [Errno 104] Connection reset by peer

same error.
num_workers=1
batch_size = 16
ngpu = 1
Exception ignored in: <bound method _DataLoaderIter.del of <torch.utils.data.dataloader._DataLoaderIter object at 0x7feb4a51aba8>>
Traceback (most recent call last):
File "/home/ubuntu/XXX/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 349, in del
self._shutdown_workers()
File "/home/ubuntu/XXX/lib/python3.6/site-packages/torch/utils/data/dataloader.py", line 328, in _shutdown_workers
self.worker_result_queue.get()
File "/usr/local/lib/python3.6/multiprocessing/queues.py", line 345, in get
return _ForkingPickler.loads(res)
File "/home/ubuntu/XXX/lib/python3.6/site-packages/torch/multiprocessing/reductions.py", line 70, in rebuild_storage_fd
fd = df.detach()
File "/usr/local/lib/python3.6/multiprocessing/resource_sharer.py", line 57, in detach
with _resource_sharer.get_connection(self._id) as conn:
File "/usr/local/lib/python3.6/multiprocessing/resource_sharer.py", line 87, in get_connection
c = Client(address, authkey=process.current_process().authkey)
File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 494, in Client
deliver_challenge(c, authkey)
File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 722, in deliver_challenge
response = connection.recv_bytes(256)        # reject large message
File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 216, in recv_bytes
buf = self._recv_bytes(maxlength)
File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 407, in _recv_bytes
buf = self._recv(4)
File "/usr/local/lib/python3.6/multiprocessing/connection.py", line 379, in _recv
chunk = read(handle, remaining)
ConnectionResetError: [Errno 104] Connection reset by peer

你们解决了吗,我也遇见了同样的问题,不过程序还能继续跑 @vickersmith @haochange @


routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #7/10 failed. Error: pq: password authentication failed for user "gitea"

Description
version: '3'

networks:
  docker-vlan:
    external: true
    name: docker-vlan

services:

  prod-gitea:
    image: gitea/gitea:1.20.2
    container_name: prod-gitea
    #user: root
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
      - TZ=Asia/Shanghai
    #restart: always
    networks:
      docker-vlan:
        ipv4_address: <IP_ADDRESS>
    volumes:
      - ./gitea/data:/data:rw
      #- ./gitea/app:/app:rw
      #- ./gitea/config:/etc/s6/gitea:rw
      #- gitea-data:/etc/gitea
      - /etc/localtime:/etc/localtime
      #- /etc/timezone:/etc/timezone:ro
    ports:
      - "3000:3000"
      - "22:22"
    depends_on:
      - 'db'
      #- 'prod-redis'
  db:
    image: postgres:14.5
    container_name: 'prod-gitea-db'
    healthcheck:
      test: [ "CMD", "pg_isready", "-q", "-d", "postgres", "-U", "postgres" ]
      timeout: 3s
      interval: 10s
      retries: 5
    ports:
      - "5432:5432"
    restart: always
    environment:
      POSTGRES_DB: postgres
      POSTGRES_USER: postgres
      POSTGRES_PASSWORD: postgres123456.
      TZ: Asia/Shanghai
    #command: ["postgres", "-c", "logging_collector=on", "-c", "log_directory=/logs", "-c", "log_filename=postgresql.log", "-c", "log_statement=all"]
    volumes:
      - ./postgres/data:/var/lib/postgresql/data:rw
      #- ./postgres/opt:/opt:rw
      - /etc/localtime:/etc/localtime
      #- /etc/timezone:/etc/timezone:ro
      #- ./postgres/logs:/var/log/postgresql:rw
      #- ./postgres/hosts:/etc/hosts:rw
    networks:
        docker-vlan:
          ipv4_address: <IP_ADDRESS>

2023/08/22 03:09:03 ...eful/manager_unix.go:208:handleSignals() [W] PID: 15. Background context for manager closed - context canceled - Shutting down...
2023/08/22 03:09:03 cmd/web.go:195:serveInstalled() [I] PID: 15 Gitea Web Finished
Server listening on :: port 22.
Server listening on <IP_ADDRESS> port 22.
2023/08/22 03:09:09 cmd/web.go:223:runWeb() [I] Starting Gitea on PID: 16
2023/08/22 03:09:09 cmd/web.go:148:serveInstalled() [I] Gitea version: 1.20.2 built with GNU Make 4.4.1, go1.20.6 : bindata, timetzdata, sqlite, sqlite_unlock_notify
2023/08/22 03:09:09 cmd/web.go:149:serveInstalled() [I] App path: /usr/local/bin/gitea
2023/08/22 03:09:09 cmd/web.go:150:serveInstalled() [I] Work path: /data/gitea
2023/08/22 03:09:09 cmd/web.go:151:serveInstalled() [I] Custom path: /data/gitea
2023/08/22 03:09:09 cmd/web.go:152:serveInstalled() [I] Config file: /data/gitea/conf/app.ini
2023/08/22 03:09:09 cmd/web.go:153:serveInstalled() [I] Run mode: prod
2023/08/22 03:09:09 cmd/web.go:154:serveInstalled() [I] Prepare to run web server
2023/08/22 03:09:09 routers/init.go:112:InitWebInstalled() [I] Git version: 2.40.1, Wire Protocol Version 2 Enabled (home: /data/gitea/home)
2023/08/22 03:09:09 ...g/config_provider.go:325:deprecatedSetting() [E] Deprecated config option `[log]` `ROUTER` present. Use `[log]` `logger.router.MODE` instead. This fallback will be/has been removed in 1.21
2023/08/22 03:09:09 ...les/setting/cache.go:75:loadCacheFrom() [I] Cache Service Enabled
2023/08/22 03:09:09 ...les/setting/cache.go:90:loadCacheFrom() [I] Last Commit Cache Service Enabled
2023/08/22 03:09:09 ...s/setting/session.go:74:loadSessionFrom() [I] Session Service Enabled
2023/08/22 03:09:09 ...s/storage/storage.go:176:initAttachments() [I] Initialising Attachment storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/attachments
2023/08/22 03:09:09 ...s/storage/storage.go:166:initAvatars() [I] Initialising Avatar storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/avatars
2023/08/22 03:09:09 ...s/storage/storage.go:192:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/repo-avatars
2023/08/22 03:09:09 ...s/storage/storage.go:186:initLFS() [I] Initialising LFS storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/git/lfs
2023/08/22 03:09:09 ...s/storage/storage.go:198:initRepoArchives() [I] Initialising Repository Archive storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/repo-archive
2023/08/22 03:09:09 ...s/storage/storage.go:208:initPackages() [I] Initialising Packages storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/packages
2023/08/22 03:09:10 routers/init.go:130:InitWebInstalled() [I] SQLite3 support is enabled
2023/08/22 03:09:10 routers/common/db.go:21:InitDBEngine() [I] Beginning ORM engine initialization.
2023/08/22 03:09:10 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #1/10...
2023/08/22 03:09:10 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:10 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #1/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:10 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:13 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #2/10...
2023/08/22 03:09:13 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:13 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #2/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:13 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:16 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #3/10...
2023/08/22 03:09:16 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:16 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #3/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:16 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:19 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #4/10...
2023/08/22 03:09:19 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:19 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #4/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:19 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:22 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #5/10...
2023/08/22 03:09:22 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:22 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #5/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:22 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:25 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #6/10...
2023/08/22 03:09:25 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:25 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #6/10 failed.  Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:28 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
^X^Z
[1]+  Stopped(SIGTSTP)        sudo docker logs -f prod-gitea

第一次部署成功，登录页面也正常，
但是不能重启，重启就出现问题，试了好几次了
数据库使用的是postgres14.5，配置大部分都是默认选项
Gitea Version
1.20.2
Can you reproduce the bug on the Gitea demo site?
Yes
Log Gist
No response
Screenshots
2023/08/22 03:09:03 ...eful/manager_unix.go:208:handleSignals() [W] PID: 15. Background context for manager closed - context canceled - Shutting down...
2023/08/22 03:09:03 cmd/web.go:195:serveInstalled() [I] PID: 15 Gitea Web Finished
Server listening on :: port 22.
Server listening on <IP_ADDRESS> port 22.
2023/08/22 03:09:09 cmd/web.go:223:runWeb() [I] Starting Gitea on PID: 16
2023/08/22 03:09:09 cmd/web.go:148:serveInstalled() [I] Gitea version: 1.20.2 built with GNU Make 4.4.1, go1.20.6 : bindata, timetzdata, sqlite, sqlite_unlock_notify
2023/08/22 03:09:09 cmd/web.go:149:serveInstalled() [I] App path: /usr/local/bin/gitea
2023/08/22 03:09:09 cmd/web.go:150:serveInstalled() [I] Work path: /data/gitea
2023/08/22 03:09:09 cmd/web.go:151:serveInstalled() [I] Custom path: /data/gitea
2023/08/22 03:09:09 cmd/web.go:152:serveInstalled() [I] Config file: /data/gitea/conf/app.ini
2023/08/22 03:09:09 cmd/web.go:153:serveInstalled() [I] Run mode: prod
2023/08/22 03:09:09 cmd/web.go:154:serveInstalled() [I] Prepare to run web server
2023/08/22 03:09:09 routers/init.go:112:InitWebInstalled() [I] Git version: 2.40.1, Wire Protocol Version 2 Enabled (home: /data/gitea/home)
2023/08/22 03:09:09 ...g/config_provider.go:325:deprecatedSetting() [E] Deprecated config option `[log]` `ROUTER` present. Use `[log]` `logger.router.MODE` instead. This fallback will be/has been removed in 1.21
2023/08/22 03:09:09 ...les/setting/cache.go:75:loadCacheFrom() [I] Cache Service Enabled
2023/08/22 03:09:09 ...les/setting/cache.go:90:loadCacheFrom() [I] Last Commit Cache Service Enabled
2023/08/22 03:09:09 ...s/setting/session.go:74:loadSessionFrom() [I] Session Service Enabled
2023/08/22 03:09:09 ...s/storage/storage.go:176:initAttachments() [I] Initialising Attachment storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/attachments
2023/08/22 03:09:09 ...s/storage/storage.go:166:initAvatars() [I] Initialising Avatar storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/avatars
2023/08/22 03:09:09 ...s/storage/storage.go:192:initRepoAvatars() [I] Initialising Repository Avatar storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/repo-avatars
2023/08/22 03:09:09 ...s/storage/storage.go:186:initLFS() [I] Initialising LFS storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/git/lfs
2023/08/22 03:09:09 ...s/storage/storage.go:198:initRepoArchives() [I] Initialising Repository Archive storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/repo-archive
2023/08/22 03:09:09 ...s/storage/storage.go:208:initPackages() [I] Initialising Packages storage with type: local
2023/08/22 03:09:09 ...les/storage/local.go:33:NewLocalStorage() [I] Creating new Local Storage at /data/gitea/packages
2023/08/22 03:09:10 routers/init.go:130:InitWebInstalled() [I] SQLite3 support is enabled
2023/08/22 03:09:10 routers/common/db.go:21:InitDBEngine() [I] Beginning ORM engine initialization.
2023/08/22 03:09:10 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #1/10...
2023/08/22 03:09:10 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:10 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #1/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:10 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:13 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #2/10...
2023/08/22 03:09:13 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:13 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #2/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:13 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:16 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #3/10...
2023/08/22 03:09:16 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:16 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #3/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:16 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:19 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #4/10...
2023/08/22 03:09:19 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:19 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #4/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:19 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:22 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #5/10...
2023/08/22 03:09:22 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:22 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #5/10 failed. Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:22 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
2023/08/22 03:09:25 routers/common/db.go:28:InitDBEngine() [I] ORM engine initialization attempt #6/10...
2023/08/22 03:09:25 cmd/web.go:175:serveInstalled() [I] PING DATABASE postgres
2023/08/22 03:09:25 routers/common/db.go:34:InitDBEngine() [E] ORM engine initialization attempt #6/10 failed.  Error: pq: password authentication failed for user "gitea"
2023/08/22 03:09:28 routers/common/db.go:35:InitDBEngine() [I] Backing off for 3 seconds
^X^Z
[1]+  Stopped(SIGTSTP)        sudo docker logs -f prod-gitea

Git Version
No response
Operating System
No response
How are you running Gitea?
docker compose
第一次配置成功，登录成功
重启容器就出现这个问题
Database
PostgreSQL

That is not a gitea issue.
The message means you try to authenticate to the database with the wrong password.
Please change the connection password in your app.ini.


Badge Request: Gitcoin Grants

:clipboard: Description
Gitcoin grants are a common funding source for crypto-related projects.

Which service is this badge for:
Gitcoin
What sort of information should this badge show?

gitcoin | $15,000 lifetime
gitcoin | $3,950 current round
gitcoin | $3,950 + $21,814 matched
gitcoin | 1171 contributors

:link: Data
Where can we get the data from?

Is there a public API?
https://gitcoin.co/grants/v1/api/grant/<grant id>

Does the API require an API key?
Seemingly no

Link to the API documentation.
No public documentation

:microphone: Motivation
Many crypto projects use Gitcoin grants for funding, and would like to promote their grants in the README of their repositories, or on their dApps.

Link to the API documentation.
No public documentation

How did you find out this API exists?

I just looked up the network request that the Gitcoin front-end makes when requesting grant pages.

OK thanks. The reason we say

Badges should not obtain data from undocumented or reverse-engineered API endpoints.

in our guidelines
is because we had some situations where a contributor worked out that a project had an API by inspecting the frontend code for their website or whatever, added a badge that calls it, and then we ended up relying on an API that wasn't really intended for public use. This then either annoyed the maintainers of the company/project behind it or we had no reasonable expectation of stability/compatibility over time (because devs maintaining the the API were making the assumption the only thing consuming it was their own frontend code) and stuff kept breaking.
That's pretty much the situation we've got here so I am going to close this issue, but we could revisit in future if there is a reliable public source for the data. It looks like this service meets all our other criteria.


Minecraft 1.19 Blocks and Items

Could you add all the New 1.19+ Items and Blocks? It would be great.

@ThePotatoKing55 Please consider it

If you just want the extra blocky textures, you can check out my fork, however the style is not exactly the same. I'll try and work on improving it, but you can take a look if you like

Ye pleas do 1.19.3.

right here @Waradu :
https://github.com/Thanos1716/2d-block-item-resourcepack


Separate the model and tensorflow initialization from its application for predictions

Thanks for providing NeuroNER, it is very nice. I trained a custom model based on some BRAT annotations, and was able to use this model to predict annotations for a new document.
From a user perspective, it would be very useful to separate the model and tensorflow initialization from its application for annotation predictions.
Currently, everything happens in the main() method in the main.py file. I am thinking of a use case where NeuroNER could provide a method like predict_annotations(doc), where given a string, it would apply a loaded model and return the BRAT annotation format. Then NeuroNER could be easily integrated into other scientific workflows or pipelines. Are there any plans for such a direction?
EDIT:
In line 270 in main.py I found a similar method to what I had in mind:
y_pred, y_true, output_filepaths = train.predict_labels(sess, model, transition_params_trained, parameters, dataset, epoch_number, stats_graph_folder, dataset_filepaths)
Of course sess and the other objects are all created in main(). It seems to me that the main() method could be refactored into an initialization component that sets up and returns sess, model and other objects, and further subsequent evaluation and output components, to facilitate pipeline use, but this is just a guess from looking at the code.

Thanks for the suggestion. Separating the model initialization from the prediction sounds like a great idea and a much-needed improvement. Pull requests are welcome :-)

In pull request #8 , I added a functionality to main.py, so that parameters_filepath and the output_folder can be given as (optional) command-line argparse or method arguments. This way, at least experiment specific parameter files and output folders can be used when calling NeuroNER in the shell or when calling the main method from Python.
I also wrote a unit test in test_main.py, which is really more of a sanity test to see if model outputs are being written to the desired output folder. It can be run with python test_main.py.
The next steps would probably be to de-couple the logical parts in the main method into smaller methods, so that one could unit test them. Then, the predict_labels and prediction_step methods in train.py could be wrapped up into a prediction only method, so that given some text input, the predictions are returned.
I really hope this could be done by somebody with more NeuroNER knowledge, this program seems really useful and it would be great to do some scientific pipelines with it.


Envoy proxy discarding http client request with Received bad client magic byte string

Issue Template
Title: One line description
Description:
Http2 client connecting envoy and sending a proto message. But  envoy discarding message with following error Received bad client magic byte string
Config:
"listeners": [
{
"address": "tcp://<IP_ADDRESS>:8005",
"filters": [
{
"name": "http_connection_manager",
"config": {
"codec_type": "http2",
"stat_prefix": "ingress_http",
"route_config": {
"virtual_hosts": [
{
"name": "inbound",
"domains": [""],
"routes": [
{
"timeout_ms": 0,
"prefix": "/service1",
"cluster": "local_service"
}
]
}
]
},
"filters": [
{
"name": "router",
"config": {}
}
]
}
}
]
},
{
"address": "tcp://<IP_ADDRESS>:8001",
"filters": [
{
"name": "http_connection_manager",
"config": {
"codec_type": "http2",
"stat_prefix": "egress_http",
"route_config": {
"virtual_hosts": [
{
"name": "service",
"domains": [""],
"routes": [
{
"timeout_ms": 0,
"prefix": "/service1",
"cluster": "service_1"
},
{
"timeout_ms": 0,
"prefix": "/service2",
"cluster": "service_2"
}
]
}
]
},
"filters": [
{
"name": "router",
"config": {}
}
]
}
Logs:
[2018-04-23 22:59:11.015][5][debug][upstream] source/common/upstream/upstream_impl.cc:817] async DNS resolution complete for
[2018-04-23 22:59:14.829][10][debug][main] source/server/connection_handler_impl.cc:189] [C1] new connection
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/connection_impl.cc:385] [C1] socket event: 3
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/connection_impl.cc:453] [C1] write ready
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/connection_impl.cc:423] [C1] read ready
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/raw_buffer_socket.cc:25] [C1] read returns: 166
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/raw_buffer_socket.cc:25] [C1] read returns: -1
[2018-04-23 22:59:14.829][10][trace][connection] source/common/network/raw_buffer_socket.cc:33] [C1] read error: 11
[2018-04-23 22:59:14.830][10][debug][http2] source/common/http/http2/codec_impl.cc:617] [C1] setting stream-level initial window size to 268435456
[2018-04-23 22:59:14.830][10][debug][http2] source/common/http/http2/codec_impl.cc:639] [C1] updating connection-level initial window size to 268435456
[2018-04-23 22:59:14.830][10][trace][http2] source/common/http/http2/codec_impl.cc:291] [C1] dispatching 166 bytes
[2018-04-23 22:59:14.830][10][debug][http] source/common/http/conn_manager_impl.cc:230] [C1] dispatch error: Received bad client magic byte string
[2018-04-23 22:59:14.830][10][debug][connection] source/common/network/connection_impl.cc:99] [C1] closing data_to_write=0 type=0
[2018-04-23 22:59:14.830][10][debug][connection] source/common/network/connection_impl.cc:134] [C1] closing socket: 1
[2018-04-23 22:59:14.830][10][debug][main] source/server/connection_handler_impl.cc:48] [C1] adding to cleanup list
[2018-04-23 22:59:14.830][10][trace][main] source/common/event/dispatcher_impl.cc:126] item added to deferred deletion list (size=1)
[2018-04-23 22:59:14.830][10][trace][main] source/common/event/dispatcher_impl.cc:52] clearing deferred deletion list (size=1)

Sounds like your client is not speaking HTTP/2.

Thanks Matt.
I did a curl client with http2 protocol. But envoy treated bad request.
[2018-04-24 18:27:28.184][10][debug][main] source/server/connection_handler_impl.cc:189] [C46] new connection
[2018-04-24 18:27:28.184][10][trace][connection] source/common/network/connection_impl.cc:385] [C46] socket event: 2
[2018-04-24 18:27:28.184][10][trace][connection] source/common/network/connection_impl.cc:453] [C46] write ready
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/connection_impl.cc:385] [C46] socket event: 3
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/connection_impl.cc:453] [C46] write ready
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/connection_impl.cc:423] [C46] read ready
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/raw_buffer_socket.cc:25] [C46] read returns: 216
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/raw_buffer_socket.cc:25] [C46] read returns: -1
[2018-04-24 18:27:28.185][10][trace][connection] source/common/network/raw_buffer_socket.cc:33] [C46] read error: 11
[2018-04-24 18:27:28.185][10][debug][http2] source/common/http/http2/codec_impl.cc:617] [C46] setting stream-level initial window size to 268435456
[2018-04-24 18:27:28.185][10][debug][http2] source/common/http/http2/codec_impl.cc:639] [C46] updating connection-level initial window size to 268435456
[2018-04-24 18:27:28.185][10][trace][http2] source/common/http/http2/codec_impl.cc:291] [C46] dispatching 216 bytes
[2018-04-24 18:27:28.185][10][debug][http] source/common/http/conn_manager_impl.cc:230] [C46] dispatch error: Received bad client magic byte string
[2018-04-24 18:27:28.185][10][debug][connection] source/common/network/connection_impl.cc:99] [C46] closing data_to_write=0 type=0
[2018-04-24 18:27:28.185][10][debug][connection] source/common/network/connection_impl.cc:134] [C46] closing socket: 1
[2018-04-24 18:27:28.185][10][debug][main] source/server/connection_handler_impl.cc:48] [C46] adding to cleanup list
[2018-04-24 18:27:28.185][10][trace][main] source/common/event/dispatcher_impl.cc:126] item added to deferred deletion list (size=1)
[2018-04-24 18:27:28.185][10][trace][main] source/common/event/dispatcher_impl.cc:52] clearing deferred deletion list (size=1)
Client curl.
curl -v http://<IP>:8001/service1 --http2

Trying …
TCP_NODELAY set
Connected to  port 8001 (#0)

GET /service1 HTTP/1.1
Host: :8001
User-Agent: [mycurltime:2018-04-24T11:27:29.3N]
Accept: /
Connection: Upgrade, HTTP2-Settings
Upgrade: h2c
HTTP2-Settings: AAMAAABkAARAAAAAAAIAAAAA

Empty reply from server
Connection #0 to host  left intact..

Same i tested target Http2 server and same worke fine.

Trying …
TCP_NODELAY set
Connected to  port 8002 (#0)
ALPN, offering h2
ALPN, offering http/1.1
Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
successfully set certificate verify locations:
CAfile: /etc/ssl/cert.pem
CApath: none
TLSv1.2 (OUT), TLS handshake, Client hello (1):
TLSv1.2 (IN), TLS handshake, Server hello (2):
TLSv1.2 (IN), TLS handshake, Certificate (11):
TLSv1.2 (IN), TLS handshake, Server key exchange (12):
TLSv1.2 (IN), TLS handshake, Server finished (14):
TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
TLSv1.2 (OUT), TLS change cipher, Client hello (1):
TLSv1.2 (OUT), TLS handshake, Finished (20):
TLSv1.2 (IN), TLS change cipher, Client hello (1):
TLSv1.2 (IN), TLS handshake, Finished (20):
SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
ALPN, server accepted to use h2
Server certificate:
subject: CN=server
start date: Apr 23 18:45:09 2018 GMT
expire date: Feb  6 18:45:09 2292 GMT
issuer: CN=server
SSL certificate verify result: self signed certificate (18), continuing anyway.
Using HTTP2, server supports multi-use
Connection state changed (HTTP/2 confirmed)
Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
Using Stream ID: 1 (easy handle 0x7f891480a400)

GET /service1 HTTP/2
Host: :8002
User-Agent: [mycurltime:2018-04-24T11:39:51.3N]
Accept: /

Connection state changed (MAX_CONCURRENT_STREAMS updated)!
< HTTP/2 200
< content-type: application/octet-stream
< content-length: 10
< date: Tue, 24 Apr 2018 18:39:49 GMT
<
Connection #0 to host  left intact

Envoy does not support upgrade. Prior knowledge only for plaintext, or ALPN for TLS.

Closing as answered.


Add DisableAcceleratorUsageMetrics feature gate with default value: false for accelerator usage metrics in Kubelet cAdvisor endpoint

What type of PR is this?
feature gate
What this PR does / why we need it:
ContainerInsights depends on GPU accelerator Usage metrics from Kubelet cAdvisor endpoint but deprecation of this feature moved to beta which breaks the ContainerInsights customers with K8s version 1.20 or higher
Until Container Insights move to new API adding this feature gate to get the GPU metrics continue to work
Reference - https://github.com/kubernetes/enhancements/tree/master/keps/sig-node/1867-disable-accelerator-usage-metrics
Which issue(s) this PR fixes:
GPU Accelerator Usage metrics continue to available in Kubelet cAdvisor endpoint

Fixes #
Requirements:

[x] uses conventional commit messages

[x] includes documentation
[x] adds unit tests
[ ] tested upgrade from previous version

Special notes for your reviewer:
Release note:
none

do you know if/when this flag will be removed? I'm browsing but i'm not finding it. I'd just ask that you bound it on both min/max or else it's a pain for clusters later. we need to fix this in other places as well, but prefer doing it now if we know this will be deprecated?

do you know if/when this flag will be removed? I'm browsing but i'm not finding it. I'd just ask that you bound it on both min/max or else it's a pain for clusters later. we need to fix this in other places as well, but prefer doing it now if we know this will be deprecated?

This flag will be removed when this feature "DisableAcceleratorMetrics" goes to GA. Currently, its in Beta. The GA date will be 1 year  from beta. I cant find the exact date when this feature went to BETA.
https://kubernetes.io/blog/2020/12/16/third-party-device-metrics-reaches-ga/#nvidia-gpu-metrics-deprecated
https://kubernetes.io/docs/reference/command-line-tools-reference/feature-gates/#feature-gates-for-alpha-or-beta-features.


Brackets Black bar

Ubuntu Linux 16.04 LTS
Brackets shows a black bar above the bottom status bar.

Nevermind, it was a brackets plugin error


new internals

Thanks for merges.
But the further I think about efficiency, certain hard to calculate properties should cached. So we need a mechanism to mark the value dirty if things change or we set it a policy to create a new object when a value changes.
second issue is we need a column iterator, not only for certain norms.
Please explain why exactly you need the row objekt.
Is a cooperation with Math::Vector planned?
plese set the trevis rights on your account so the status can be seen under modules.perl6.org.
thats all for now :)
(my next goal is a bool method for positive definite and choleski decomposition, maybe LU and LUP)
cheers
herbert

Hi,
For the integration with Math::Vector, i have nothing against, nor for. As a vector is only a matrix 1 x n or n x 1 , what does it gives more to use a Vector class?
The reason i created a class row is the following, let's imagine i do not have class row, and someone is playing with [] accessor.
I would only redifine method AT-POS() to return @!rows[$index]
However, with the first implementation i had @!rows was mutable, then a user could change a line of the matrix by a line with less or more columns. However, at the time i am writing this i realize that i do not have that issue anymore, so i can drop the Row object, it does not make any sense anymore, and just serve to slow down performance.
Pierre

There is still one issue, you can affect whatever you want to a cell of a Matrix:
my $matrix = Math::Matrix.new([[1,2],[3,4]]);
$matrix[0][0] = "a";
But it's not solve by Row anyway

Reopening concerning the dirty, cache and calculation

For the Travis, i did not find any settings in my account for that, if you have more info, i'm glad to listen to them

allright this looks serious lets fix the rewrite cells problem first

cograts you fixed that one: http://modules.perl6.org/

To be honest, i have no idea how, i checked a bit on #perl6 IRC , no body had any clues, the only thing i did was to remove blank lines from my .travis.yml file

i will look into the position-At thing but one way of solving it, could be to mark the values as dirty or delete them when you acess the matrix cells this way. another way to approach is the functional: that whenever something changes we create new object so that once created object is imutable. i just want that we make a decision here.   Thanks

I did some test by making @.rows an Array of Array[Numeric] , it would work and actually is working for the following case:
my $m = Matrix.new([[1,2],[3,4]]);
$m[0][0] = "a";

Where i get a
Type check failed in assignment to @row; expected Numeric but got Str
  in block <unit> at t.pl line 13

However, it does not solve the problem to make the property dirty, hence i discarded that solution.
What we need is just a way to know when someone is accessing a cell for writing, i did not find a solution yet. If you have any idea, feel free to share, i have no problem to get the $m[0] but $m[0][something] , i have no idea yet....

First, some solutions:
After some research, tests, and time on IRC, i have 2/3 solutions:
WE can make the matrix immutable with the following:
my role immutable_list {
    method ASSIGN-POS(|) { fail "immutable!" };
}

multi method AT-POS( Math::Matrix:D: Int $index ) {
    fail X::OutOfRange.new(
        :what<Row index> , :got($index), :range("0..{$.row-count -1 }")
    ) unless 0 <= $index < $.row-count;
    #my $row = @!rows[$index].List;
    my $row = @!rows[$index];
    $row does immutable_list;
    return $row;
}

Which fail without dying on affectation of one cell.
Still with immutability, the second solution i have is to transform the [] of Matrix to return a list with:
multi method AT-POS( Math::Matrix:D: Int $index ) {
    fail X::OutOfRange.new(
        :what<Row index> , :got($index), :range("0..{$.row-count -1 }")
    ) unless 0 <= $index < $.row-count;
    my $row = @!rows[$index].List;
    return $row;
}

In that case, it dies with
 Cannot modify an immutable Int
  in block <unit> at t.pl line 13

With the role solution, we are able to catch the affection, and if we rewrite the Proxy container in the role of the list, we might be able to as well manage dirtying things.
Now, some other considerations:
For now, the library is using Array of Array, and at one point, it should use shaped array, which are better adapted for that, but some parts are not implemented yet, and as it is today, it's slower than Array of Array.
my concern there is future compatibility break, Shaped Array use @a[row;column] notation, where Array of Array can use @a[row][column] , that methods, at least for now is not working on shaped arrays.
Until further development of shaped arrays, it is a bit "blocking", one solution however, not the cleanest, but it will work, and it allows us to switch internal without worrying for now, is to create an accessor cell
my $matrix = Math::Matrix.diagonal(1,2,3);
say $matrix.cell(1,1); #displays 2

I will create that accessor for now, without modifying the doc yet, it is offcourse open to discussion, but immutability of the matrix and an accessor is what i would go for, at least first.
Going from immutable to mutable is possible, where the reverse will break compatibility

great i have to do homework now, just added some norms, next will be cholesky decomposition but that would imply having a positive definite tester which easiest to implement if we have eigenvalues :),
With the oo: I maybe saw a different way to write a custom built method that would allow to have a completely private @!rows. But its not tested yet.

i like your idea to have accesor method instead of matrix[..][..] because so we dont even give the impression to direct acess and are more flexible with API anyway

im not convinced it would work somehow without your providing-private-accessor but what we need are iterators culumn wise and for the diagonal.
furthermore i would like to rename the diagonal to new-diagonal zero to new-zero and so forth and add a new-vector-product. And (after my upcoming exam) i want to extend the new method with optional hash parameter so you can insert single rows or columns or even single cells to minimize definition os sparse matrices. beside splitting and joining matrices i think it would be good to have a function to create a minor(matrix without certain row and column) and a somewhat cookie cutter like in : i want the partial matrix from 1;1 to 3;3. there are function who built upon this.
these are all rather basic ops but they would help to refactor/shrink a lot of what we already have and give a solid base for what mathematicians need.
cheers

I have already in local a function function to extract a matrix from a top left to bottom right cell, not pushed yet, as i was first trying to clean a bit the attributes, i wanted to remove the public ones (i kept them public only for equal, addition, those kind of methods)
Still, i would use different new function, using multi method instead of optional arguments, because some of those arguments will be mutually exclusive.
The one i have in mind are:

new( :@row-vector )
new( :@column-vector )
new( :$identity ) where identity is the size of the matrix
new( :$zero ) for zero matrix
new( :@diagonal ) for diagonal matrix, i tend to not like short name like diag, i have seen so many case in day to day work where abbreviations get misunterpreted

However, for sparse Matrix, i have no idea of a single signature to create that, i'm eager to listen to your view for that one.
Can you explain a bit more what you would like for row iterator and column iterator?
row iterator loops through a list of rows , column iterator loops through columns, give matrices of 1 x n [[1],[2],[3]] ?
I am required to stay in bed because of some back issues, so i have time to work on those, happy to hear your comment on those points, before doing too much
Cheers

Best wishes for your health,
before the new new method I would like to try an alternative to get same result without additional module (private accessor). If that's stable or decided lets go to the constructors. What you wrote was my initial idea too but the more I think about,  e.g. want that method diagonal returns you the diagonal values. new-diagonal(.....) creates it which will be an alias to new(:diagonal = ....); i want to make the general new method a powertool and new-.... safe subsets. some detaisl are  still unclear but i want to get a dry and cut soultion for the acessors first. if we have there we get iterator (i would like to call them mmap or something like that for rowwise and columswise, or cellwise calculation). this would also shrink a lot of code.
Best

Allright i made a quick test:
unit class Math::V;
has @!cells is required;
method new (@c)               { self.bless( cls => @c) }
submethod BUILD( :@cls ) {   @!cells = @cls }
method sum(--> Numeric)  {    [+] @!cells   }
and on other side
my $v = Math::V.new([1,2,3]);
say $v.sum;
say $v!cells;
which works except the forbidden access,
and we could use
https://design.perl6.org/S12.html#Private_methods
so is there any other use case i overlooked we need the module for private accessors?
thank you and very best

Actually, what you are proposing here is what i did a few commit ago in that commit:
https://github.com/pierre-vigier/Perl6-Math-Matrix/commit/e7b6746f595e1e21f9356e00e09944011634c3dd
As you have seen you code does not allow to access a private attribute which is normal. The private accessor i created are not for that, let's take a really simple example,
One class Cell , with has a private value, $!value. and we want to implement a Cell.equal( another cell method ), the first idea is that:
class Cell {
    has $!value is required;
    method new ($value) { self.bless( :$value ) }
    submethod BUILD( :$value ) { $!value = $value }
    method equal( Cell:D: $other ) {
        $!value == $other!value;
    }
}

my $a = Cell.new(5);
my $b = Cell.new(5);
say $a.equal( $b );

So in method equal, i need to check the value of another instance of the same class (we need that for Math::Matrix in equal, add, subtract, and a few others). However, a private attribute is only accessible to the instance itself, the previous code gives that output:
===SORRY!=== Error while compiling class3.pl
No such private method 'value' for invocant of type 'Cell'
at class3.pl:6
------>         $!value == $other!⏏value;

Solution for that, add a "private read accessor", with a private method:
class Cell {
    has $!value is required;
    method new ($value) { self.bless( :$value ) }
    submethod BUILD( :$value ) { $!value = $value }
    method !value() { $!value }
    method equal( Cell:D: $other ) {
        $!value == $other!value;
    }
}

my $a = Cell.new(5);
my $b = Cell.new(5);
say $a.equal( $b );

then output is:
True

The module AttrX::PrivateAccessor is just a syntaxic sugar
class Cell {
    has $!value is providing-private-accessor;
}

is the same as
class Cell {
    has $!value;
    method !value() {$!value}
}

However, the module Attrx::PrivateAccessor has some big issues in some cases, so i'll remove the dependency and declare the private method manually until i find a way to fix the module properly.
Cheers

thank you for explaining, i understand now the problem, there might be even another solution but i have to think it through first

I'm thinking of switching everything to list of List, without changing the outside interface.
flattening of Array is much "stranger" than flattening of list.
I might try on a separate branch at first

sorry but i could not understand you message, neither the consequences :)

Right now we are using Array of Array internally, which does not play well with flattening:
> my @array-of-array = [ [1,2],[3,4] ];
[[1 2] [3 4]]
> my $list-of-list = ( (1,2),(3,4) );
((1 2) (3 4))
> say @array-of-array.flat
([1 2] [3 4])
> say $list-of-list.flat
(1 2 3 4)
>

Flattening would help in some cases, and it would avoid some.
Also using list would avoid some unecessary looking [], like [ @rows.map( { [ @!rows[$_][|@cols] ] } ) ]
However, for flattening to check all the values, as the number of dimensions is always 2, @array[;] seems to be working
Anyway, if i test something, it will first be in a separate branch, and should not break any tests, without changing tests, naturaaly

i will give AT-POS another try even is is awkward to make array like acess readonly, mabye use our own postcircumfix op. this would be consitent with latest converter into AoA context. something like $matrix<1,2> ?

as rational arrays have [] hashes indexes {} so we have to have our own. on the other sider {} is Str and inside [] are numericals

i think with current desugn its decided how got about discussed questions plus there is still the native shape issue so I can close this


react-relay createFragmentContainer props types

Is the createFragmentContainer types correct? Because it is typed as taking and returning TBase, which, if I'm correct, implies that their props are identical. However, for a container taking a viewer fragment, the parent will pass viewer={||}, but the "contained" will receive viewer: {/* whatever is define in the fragment*/}, no? I'm on flow 0.63.1
Because it seem that I have errors on all my fragment since updating my libdefs. Since I'm in the middle of big flow version upgrade, maybe the errors are coming from somewhere else (I still have > 150 errors), so feel free to correct me.
const Raw = (props: {todo: {id: number, text: string}}) => {/**/}
const Child = createFragmentContainer(Raw, {
  todo: graphql`
    fragment todo_todo on Todo {
      id, text
    }
  `
})

const ParentComp = (props: {viewer: {todo: {||}}}) => {
  return <Child todo={viewer.todo}} />
}

In this example, both the viewer and the todo props would be typed by the relay-compiler. Their content is different (since the fragment container takes care of finding the correct Todo in the store, but it seems to me that <Child /> expects the id and text keys.
This is copied from an answer to @sibelius's PR #1520.

There's another problem with defining createFragmentContainer and createPaginationContainer as taking and returning TBase: The returned HOC class doesn't need the relay prop, it will supply it to the wrapped component. But Flow still complains about the missing prop if I omit it:
// MyPagingComponent.js
// ...
import { createPaginationContainer } from 'react-relay';
import type { RelayPaginationProp } from 'react-relay';
// ...

type MyPagingComponentProps = {
  relay: RelayPaginationProp,
};

class MyPagingComponent extends Component<MyPagingComponentProps> {
  // Use `this.props.relay.hasMore()` somewhere
}

export default createPaginationComponent(MyPagingComponent, /* ... */)

// MyFragmentComponent.js
// ...
import { createFragmentContainer } from 'react-relay';
import type { RelayProp } from 'react-relay';
// ...
import MyPagingComponent from './MyPagingComponent';
// ...

type MyFragmentComponentProps = {
  relay: RelayProp,
};

class MyFragmentComponent extends Component<MyFragmentComponentProps> {

  render() {
    return (
      <div>
        {/* stuff */}
        <MyPagingComponent relay={/* Here flow expects a RelayPaginationProp instance */}/>
      </div>
    );
  }
}

In this case I can't even pass the parent's relay prop because is the wrong type, and I could make it optional, but then I would have to pointlessly ask all the time if the relay prop is set.

we need to update flow-typed defs for relay
you can use relay directly from node_modules as well
just need to disable some files
; relay-runtime duplicates a lot of modules defined in react-relay
.*/node_modules/relay-runtime/lib/RelayConcreteNode.js
.*/node_modules/relay-runtime/lib/RelayDefaultHandleKey.js
.*/node_modules/relay-runtime/lib/RelayError.js
.*/node_modules/relay-runtime/lib/RelayProfiler.js
.*/node_modules/relay-runtime/lib/RelayRuntimeTypes.js
.*/node_modules/relay-runtime/lib/deepFreeze.js
.*/node_modules/relay-runtime/lib/getRelayHandleKey.js
.*/node_modules/relay-runtime/lib/isPromise.js
.*/node_modules/relay-runtime/lib/isScalarAndEqual.js
.*/node_modules/relay-runtime/lib/recycleNodesInto.js
.*/node_modules/relay-runtime/lib/simpleClone.js
.*/node_modules/relay-runtime/lib/stableCopy.js

we can't consume flow directly from node_modules yet,
so we need to upgrade this defs to match new code of realy 1.5.0

Any updates on this? Relay modern and flow don't really work together it seems without this fix (using the generated fragments for typing just don't work for me, at least). It looks like the correct typing for createFragmentContainer can be found here, but looking into adding that typing to the flow-typed libdef it led me down a bit of a rabbit hole. It looks like some of the types required are missing entirely from the libdef (like $RelayProps). And adding those types means you also need FragmentReference from RelayRuntime, which doesn't seem to have a libdef or even a stub in the react-relay libdef. I'd love to help, but I'm unsure where this all is supposed to be headed.

give a try here https://github.com/flowtype/flow-typed/pull/2157
this is based on react-relay repo

I tried #2157, didn't work for me either. But then I managed to edit the current react-relay libdef so it's usable on our current project.
I was dealing with these issues:

Variables were not compatible with generated types. Making fields read-only and using a read-only array instead of normal array helped:

  declare type Variable = string | null | boolean | number | Variables | void | $ReadOnlyArray<Variable>;
  declare export type Variables = ?{ +[string]: Variable };

function requestSubscription and interface ConnectionHandler were missing, but you can copy-paste them from the Relay documentation. Probably there are still other types missing.
Containers... My solution requires type-casting, but it works for us:

  declare export type RelayContainer<FragmentProps, WrappedComponent> = React$ComponentType<{|
    ...$Diff<React$ElementConfig<WrappedComponent>, { relay: * }>,
    ...FragmentProps,
  |}>

  declare export function createFragmentContainer<Component: React$ComponentType<*>>(
    Component,
    fragmentSpec: GraphQLTaggedNode | GeneratedNodeMap
  ): RelayContainer<*, Component>;

  declare export function createRefetchContainer<Component: React$ComponentType<*>>(
    Component,
    fragmentSpec: GraphQLTaggedNode | GeneratedNodeMap,
    taggedNode: GraphQLTaggedNode
  ): RelayContainer<*, Component>;

  declare export function createPaginationContainer<Component: React$ComponentType<*>>(
    Component,
    fragmentSpec: GraphQLTaggedNode | GeneratedNodeMap,
    connectionConfig: ConnectionConfig
  ): RelayContainer<*, Component>;

This is how we use it:
export default (createFragmentContainer(
  SomeComponent,
  graphql`
    fragment SomeComponent_item on Field {
      text
    }
  `,
): RelayContainer<{| +item: * |}, *>);

You have to list fragments in the RelayContainer's type parameter, so instead of item: ?SomeComponent_item the container requires item: *. It's not perfect, but at least we check that a prop with this name is passed to the container. Other props are checked also, as you can try in this REPL by uncommenting lines under // Expected to fail comment: https://bit.ly/2JGckAm
Maybe there will be more issues later, we're just starting to use it.

* is deprecated
can we use a generic instead?

Oh, I didn't notice this deprecation. That's a bummer, without the existential type I would have to repeat the component's type:
export default (createFragmentContainer(
  SomeComponent,
  graphql`
    fragment SomeComponent_item on Field {
      text
    }
  `,
): RelayContainer<{| +item: mixed |}, typeof SomeComponent>);

That's too much typing. I think I'll just hope Flow devs won't remove this type any time soon...


[Builds] Fix Android Builds

@Acunachristine93

@acunachristine93 @Empact add me please

???

what are the current problems with the android builds?
could you add some short description with what needs to be done?

I need to use my demeans and means unsure how or workflow

not sure myself, i tried to include it in the build workflow, but it was erroring out somewhere, i'll dig into it at some point and update the issue


Question: Setting partial locals or referencing the redirect path

I have everything working except for how to handle redirects for ajax form submissions. With respect to keeping DRY, how can I access the :location parameter in respond_with inside of my JS view?
To keep a baseline functionality of always following a redirect after an ajax submission I only want to create one file under /views/application/create.js.erb which will work for all controller create actions. Better yet would be to make a redirect.js.erb file and specify that partial for both create and update methods.
Current scripts:
ItemsController
def create
  @item = Item.create(model_params)
  respond_with @item, location: -> { edit_item_path(@item) }
end

create.js.erb
window.location = '<%= [insert_redirect_path_here] %>';

What I don't want to do is have to specify a js format, or to instantiate an instance variable for each controller method - it just feels redundant.
ItemsController
def create
  @item = Item.create(model_params)
  @redirection = edit_item_path(@item)
  respond_with @item, location: @redirection
end

create.js.erb
window.location = '<%= @redirection %>';

To be able to do this without setting a instance variable automatically you will need to define your own responser that does what you want based on some convention that you will have to come up. The default responders included in this gem doesn't support this.


deleted provider info

@VaishnaviGopal The action isn't really exporting, but setting and retrieving the user name and API key.
Also, I'm not sure we can just change the set variable names from SoftLayer. And, I see you removed them from the required variables, but as I understand they are required. Do you possibly have different information that was the basis for this PR?

It isn't clear at all that using ALLCAPS for variable names is common in the Terraform ecosystem or that the other diffs add much to the value of this template.

We will be holding this PR for future..This will be done when there is less time pressure.

Closing this PR, as the template is supporting TFv0.12 or more, hence the block to download the Terraform provider is needed.


Building from source on Windows seems broken

Component
Other (please describe)
Have you ensured that all of these are up to date?

[ ] Foundry
[ ] Foundryup

What version of Foundry are you on?
forge 0.2.0 (e6574c9 2023-06-25T10:11:04.115137400Z)
What command(s) is the bug in?
cargo install --git https://github.com/foundry-rs/foundry --profile local --force foundry-cli anvil chisel
Operating System
Windows
Describe the bug
I just wanted to do my monthly Windows upgrade of Foundry via:
cargo install --git https://github.com/foundry-rs/foundry --profile local --force foundry-cli anvil chisel

and it seems the building it from source on Windows is borked (full log):
warning: build failed, waiting for other jobs to finish...
error: failed to compile `foundry-cli v0.2.0 (https://github.com/foundry-rs/foundry#41a65936)`, intermediate artifacts can be found at `C:\Users\pasca\AppData\Local\Temp\cargo-installTzqkOQ`
error: failed to compile `anvil v0.1.0 (https://github.com/foundry-rs/foundry#41a65936)`, intermediate artifacts can be found at `C:\Users\pasca\AppData\Local\Temp\cargo-installDpXL4N`
error: failed to compile `chisel v0.1.0 (https://github.com/foundry-rs/foundry#41a65936)`, intermediate artifacts can be found at `C:\Users\pasca\AppData\Local\Temp\cargo-install8RAFRL`
     Summary Failed to install foundry-cli, anvil, chisel (see error(s) above).
error: some crates failed to install

Anyone has a clue what's going on?

will take a look—haven't seen anything in ci that could've pointed to this, but might be a newish pr maybe

My configs:
- cargo 1.71.0 (cfd3bbd8f 2023-06-08)
- rustc 1.71.0 (8ede3aae2 2023-07-12)

this looks like a libgit issue

error: failed to run custom build command for libgit2-sys v0.15.2+1.6.4 which requires libgit2

can you try via wsl?

this looks like a libgit issue

error: failed to run custom build command for libgit2-sys v0.15.2+1.6.4 which requires libgit2

can you try via wsl?

WSL works, I tested it this morning. This is just when I use Windows directly.

I've been building Foundry from source on Windows for at least a year w/o an issue until now...

hmm, we only test via wsl in CI

fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory

I think zlib is extra, maybe not installed?

hmm, we only test via wsl in CI

fatal error C1083: Cannot open include file: 'zlib.h': No such file or directory

I think zlib is extra, maybe not installed?

What's the effort to quickly make a CI test for Windows?
Since when is zlib needed? Was this added recently?

I really can't fix the bug with zlib; at this point it might be worth opening an issue here: https://github.com/rust-lang/git2-rs. I also found a recent issue with Windows zlib here: https://github.com/rust-lang/git2-rs/issues/797.

Let's see https://github.com/rust-lang/git2-rs/issues/972. I really don't know what's wrong, 3 weeks ago everything was still working...

I'm really lost, I tried everything to fix this issue (also via installing zlib, uninstall and reinstall rust and cargo etc.). I honestly think it's not a Foundry but a libgit2 issue... Was anyone able to reproduce this behaviour in the meantime? What I can try later is to install an older foundry version from source (maybe a week ago or so) to see whether I still face the error.

hmm, libgit2-sys hasn't been updated in over 2 months

yeah I also saw that, idk... (I mean it's not sooo important rn since I use WSL, but still sucks)

I've been trying to build foundry from source at commit c835a3df4fb066016d8201047ea58de84486e699:

hmm, will go back now another 1 week

Same story for ed8b709c8fed1aaec4e7de4e3c95553ef09de034:

After trying a couple of other older commits and failing again, I can say the last one I was able to build without issue is version: forge 0.2.0 (e6574c9 2023-06-25T10:11:04.115137400Z). I haven't tried all commits until now since Windows is really slow to compile rust code, but it's just weird...

Alright sers, I tested building Foundry via GH CI:
name: 🛠 Test Native Windows Foundry Build

on: [workflow_dispatch]

jobs:
  build:
    name: Foundry
    runs-on: windows-latest

    steps:
      - name: Checkout
        uses: actions/checkout@v3

      - name: Set up Rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: stable

      - name: Build Foundry from source
        run: cargo install --git https://github.com/foundry-rs/foundry --profile local --force foundry-cli anvil chisel

That one seems to work, but man that takes very long (it's the same as on my local machine...):

 That's what I did:

Go to %TEMP% folder and delete everything
Run rustup update
Restart the computer

I honestly don't know what triggered this error (maybe the %TEMP% folder), but am just happy it works now...

sorry you had to deal with that,
thank you for reporting this

Same issue in Ubuntu  .....

 That's what I did:

Go to %TEMP% folder and delete everything
Run rustup update
Restart the computer

I honestly don't know what triggered this error (maybe the %TEMP% folder), but am just happy it works now...

this worked for me, thanks!!
Had so much issue, i broke everything, then couldn't reinstall forge because of a different issue.
(you're a legend fr...)


No support for JS ES6 syntax - no due to underlying JS engine from PhantomJS

Hi @gauravgandhi1315, I'm afraid not because the JavaScript engine used is the one embedded in PhantomJS


WARNING: Usage of objects paths with class query parameter is not supported in Weaviate 1.18.2.

I believe the class query parameter IS supported in Weaviate 1.18.2, however, my following code still trigger this warning message.
	resp, err := w.client.Data().ObjectsGetter().
		WithClassName(w.IndexName).
		WithAdditional("vector").
		WithLimit(10000).
		Do(ctx)

The error messages are:
WARNING: Usage of objects paths with class query parameter is not supported in Weaviate 1.18.2. class query parameter is ignored

After I checked the related code:
https://github.com/weaviate/weaviate-go-client/blob/46038a0dbbc46a4e2478e609b012cea3b2ddd79e/weaviate/data/objectsGetter.go#L162-L169
I think it might be wrong, the code should be:
	if len(getter.id) == 0 && len(getter.className) > 0 {
		if getter.dbVersionSupport.SupportsClassNameNamespacedEndpoints() {
			pathParams.Set("class", getter.className)
		} else {
			getter.dbVersionSupport.WarnNotSupportedClassParameterInEndpointsForObjects()
		}
	}

Is there anything I'm missing?

should be fixed with 4.9.0 :)


Feature/csvimport

Merge back to master the changes.

Current coverage is 55.55%

Merging #45 into master will decrease coverage by -1.67% as of 78b659f

@@            master     #45   diff @@
======================================
  Files           40      32     -8
  Stmts         1828    1386   -442
  Branches       174     118    -56
  Methods          0       0
======================================
- Hit           1046     770   -276
+ Partial          6       4     -2
+ Missed         776     612   -164

Review entire Coverage Diff as of 78b659f

Uncovered Suggestions

+1.08% via .../models/receiving.py#92...106
+1.08% via .../models/receiving.py#74...88
+1.01% via ...views/sales_order.py#149...162
See 7 more...

Powered by Codecov. Updated on successful CI builds.


Announcement and breaking changes

If you want to know ahead of time about any changes or breakage, please subscribe to this issue.
Simply tag the previous plugin's version if you don't have time to update. For example:
use {
  "catppuccin/nvim",
  as = "catppuccin",
  tag = "v0.2"
}

12/7/2022 Invalid key: bold,italic after https://github.com/catppuccin/nvim/pull/176
The way highlights are handled changed, most notably the style property of the highlights. Instead of using commas to separate them (e.g. style = "italic,bold,underline"), please use a Lua table:
styles = {
	comments = { "italic", "bold" },
	conditionals = { "italic" },
	loops = {},
},

Please refer to catppuccin/nvim#configuration for more info

14/7/2022
c41a627: the code-base was refactored and now:

palettes: holds the palettes and the interface to fetch them
utils: general utilities for handling data and color properties
groups: holds the highlights groups and integrations
lib: main code. Holds the compiler, highlighter, mapper, ui and hsluv

So please don't forget to change your calls to any of Catppuccin's modules!

17/7/2022 This ain't much of a breaking feature but since the new update users are now able to pre-compile their configs to improve startup speed. Check it out!

Startuptime stat: 0.7ms

012.793  000.096  000.096: require('catppuccin')
012.835  000.035  000.035: require('catppuccin.config')
013.356  000.005  000.005: require('vim.F')
014.246  000.669  000.669: sourcing /home/nullchilly/.local/share/nvim/site/pack/packer/start/theme/colors/catppuccin.lua

27/8/2022 5726b64 bufferline.nvim highlight guidelines are now respected
Integration now moved to special integration (integrations.bufferline option is deprecated):
Update your bufferline config to use the Catppuccin components:
bufferline.setup { highlights = require("catppuccin.groups.integrations.bufferline").get() }

See :h catppuccin-integrations for more info

29/8/2022 We are looking for new maintainers!
Refer to https://github.com/catppuccin/nvim/discussions/261 for more info

27/8/2022 Breaking change in the neovim repo: https://github.com/neovim/neovim/issues/14090#issuecomment-1228444035
As a result we split nvim-treesitter integration to support 0.7 and 0.8 separately https://github.com/catppuccin/nvim/blob/3bc5c9670d51e41f103426504654685470bf66ed/lua/catppuccin/groups/integrations/treesitter.lua
Please update to the latest version of nightly

2/9/2022 https://github.com/catppuccin/nvim/commit/a064543bacdc6fd9d9d63a513cf9c524027bbd4a We only enable treesitter, lspconfig, cmp, telescope, gitsigns, nvimtree, indent blankline, dashboard, markdown, notify by default

Compile is now enabled by default (With more optimization), configuration moved to compile_path
require("catppuccin").setup({
	compile_path = vim.fn.stdpath "cache" .. "/catppuccin"
})

22/10/2022 You can now set flavour inside the setup table and Match :set background=light/dark with :Catppuccin background.light/dark
require("catppuccin").setup({
	flavour = "mocha", -- latte, frappe, macchiato, mocha
	background = { -- :h background
		light = "latte",
		dark = "mocha",
	},
})

23/10/2022 You can now pass a function to custom_highlights instead of a table
require("catppuccin").setup {
  custom_highlights = function(colors)
    return {
      Comment = { fg = colors.flamingo },
<EMAIL_ADDRESS>= { fg = colors.peach, style = {} },
      ["@comment"] = { fg = colors.surface2, style = { "italic" }
    }
  end
}

This will remove the need of calling get_palette, see https://github.com/catppuccin/nvim/#overwriting-highlight-groups for more info.

Deprecated by https://github.com/catppuccin/nvim/releases


Increase max-width for TODO

@leonardopliski
Increase max-width for TODO Item to 100% for desktop.
It does not look good as it is right now.

Hey @w3bdesign!
Thanks for your contribution! May you update the commit to the conventional commits convention?

Hey @w3bdesign!
Thanks for your contribution! May you update the commit to the conventional commits convention?

Sorry, I haven't heard of conventionalcommits before.
Is it ok now, and if not, can you modify it so that it is correct?

It's almost there,
Things to be improved:

The first line of your commit message must have a maximum of 50 characters long. No more, and (ideally), no less. See 50/72 rule.
It's not a feat type commit, this change is related to the style context, and isn't a new feature. See @commitlint/config-conventional.
It's recommended to break your commits on multiple lines. See How can I make git commit messages divide into multiple lines

So the desired message should look like:
style(todo-listings): increased width on desktop

* It didn't look good on desktop screens.

I deleted the old repository for this, so I can't amend the changes.
I created a new PR for it instead.


Feature: built-in retry logic

After a week of releasing daily on github releases, I'm a bit frustrated with how often it returns 502 :(
I know it's absolutely not your fault, and ideally this would be a beautiful PR and not a feature request, but if anyone can find it in their heart to implement that before I get around to, it would be beautiful. :tada:
I'm thinking maybe a --tries option (how many times to try) with a --cooldown option (how much to wait between tries) and have it only fail if all tries fail.
I'll probably implement it myself if no one beats me to the punch, but I just wanted to make sure @aktau thought this was a good idea / not outside the scope of github-release

First of all apologies for basically not looking at the open issues, and kudos on your forks which solves your and other people's issues.

@aktau no need to apologize :) You left a clean codebase for people to fork & expand to fit their needs, that's pretty good value for a $0 investment on the users' part!

Thanks, but I'll apologise anyway. Even if users don't invest anything, they still deserve to be treated with respect instead of being ignored (no matter if I rolled into a job that sucked up much more of my time). Doubly so when they aport code to fix their own issues (triply so if they do so to fix others' issues).
I couldn't help but chuckle when you complement the clean codebase. Many parts of it are anything but. I wish I had done better. Can't blame myself too much, I was less experienced, and like many things that turn out to be useful, github-release was written in a hurry to solve a need.
(*) Good thing I don't use acme(1), I could've been stoned for attempting to avoid clicking by clicking way more.

@aktau thanks for picking up development again! :)


Keep the video resolution (dimensions)

Is there a way to keep the video dimensions? I want to compress a video not to change its dimensions.

Compression is literally the reduction of frames per second and frame size.
So this is not possible

Compression is literally the reduction of frames per second and frame size.
So this is not possible

It is not. See Wikipedia they talk about lossless, lossy, machine learning, image differencing, inter-frame compression, but not about reduction of fps or frame size. That is not compression, you are not compressing anything, just throwing data out.

Apple has pre-defined compression models.
AVAssetExportPresetLowQuality
AVAssetExportPresetMediumQuality
AVAssetExportPresetHighQuality
Perhaps if the concept of native compression is not enough for you, you need to create your own algorithm for this.
We simply use what the native code (and standard recommendations) offers us.

Just don't call it compression it will confuse many users. Apple doesn't
call it compression either, these are quality presets.
You can compress a cake: make it occupy less volume (size) with the same
mass (data) by pushing (compress) it against something. Or you can throw a
slice of the cake to the garbage which will free-up some size in your
fridge, but it is not called compression.
On Wed, 23 Sep 2020 at 13:33, Jonny Borges<EMAIL_ADDRESS>wrote:

Apple has pre-defined compression models.
AVAssetExportPresetLowQuality
AVAssetExportPresetMediumQuality
AVAssetExportPresetHighQuality
Perhaps if the concept of native compression is not enough for you, you
need to create your own algorithm for this.
We simply use what the native code (and standard recommendations) offers
us.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/jonataslaw/VideoCompress/issues/42#issuecomment-697333706,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AASCMU4YUE6QPOTN5AOF6NTSHHTKNANCNFSM4RW3SYGQ
.


Throw an exception when adding an invalidated or deleted object as a link

Fixes https://secure.helpscout.net/conversation/65032812/293/. @alazier @tgoyne

:+1:


feat: Security Check Metrics AEROGEAR-2779

Motivation
This commit adds security check metrics publishing ability to the security module
JIRA: [https://issues.jboss.org/browse/AEROGEAR-2779]
Description
Added new publish methods, changed current MetricsData to be of type any instead of a dictionary as security metrics are slightly different to other metrics on the server side currently.
Verification steps
This accompanying PR can be used for verification purposes.

Install mobile core locally
Run metrics
Point the app at this metrics service
Run the showcase application and navigate to the Device trust page
Metrics should be populated in Grafana
Change the DeviceTrustService.swift file to the following: https://gist.github.com/StephenCoady/b4d96ec4630decdc17d968bdc0fa3c65 and run the app again to publish all metrics at once as opposed to one at a time.

@StephenCoady This looks really good. Left some minor comments. Once this is done I will verify that with the running metrics server.

I realised I never commented. I've verified that this works!


Repo - Codespace Error is "Terminated"

I have a large repo and I was able to open it in codespaces.   I got ctags installed and tagged it.
I asked aider what is the repo it started to heavily review the repo and it seemed like it was going great.   then i got
"Terminated"
@teknightstick ➜ /workspaces/Camogame2023 (master) $ aider
Aider v0.9.0
Model: gpt-4
Git repo: .git
Repo-map: universal-ctags using 1024 tokens
Use /help to see in-chat commands, run with --help to see cmd line args
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> /help

/add Add matching files to the chat session using glob patterns
/clear Clear the chat history
/commit Commit edits to the repo made outside the chat (commit message optional)
/diff Display the diff of the last aider commit
/drop Remove matching files from the chat session
/exit Exit the application
/help Show help about all commands
/ls List all known files and those included in the chat session
/run Run a shell command and optionally add the output to the chat
/tokens Report on the number of tokens used by the current chat context
/undo Undo the last git commit if it was done by aider
────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────
> /tokens

Terminated
@teknightstick ➜ /workspaces/Camogame2023 (master) $ aider

Thanks for trying aider and reporting this issue.
It looks to me like the OS has terminated aider because it ran out of resources, probably memory? What are the resource limits of the codespaces environment you are using? You might want to try increasing the available memory.

You nailed it.   I had the basic codespaces on and a pretty large repo.
So quick side question.  I used ctags and generated the ctag files.   What is the best way to get aider to see the ctags first to get context.

Glad to hear you resolved that issue.
You don't need to "generate the ctags file". Aider does all that automatically once you've installed universal ctags. Based on the output you showed above it looks like aider is already using ctags:
@teknightstick ➜ /workspaces/Camogame2023 (master) $ aider
Aider v0.9.0
Model: gpt-4
Git repo: .git
Repo-map: universal-ctags using 1024 tokens

That last line means aider has found and is using universal ctags.
Here's some more info about aider and ctags that you might find helpful:
https://aider.chat/docs/install.html#install-universal-ctags-optional

Ok awesome so ctags is more like a bonus feature that utilizes an optional dependancy but  once the dependancy is installed it just automatically can do more for itself.
I simply asked it what is this repo and now i see all the files aider made for itself and its able to give me a little brief on it.
Sidequest question.
So I have a repo where I have had 2 different developers work on it over time.
If i wanted to utilize aider to do an extensive code review and make a list of suggestions How exactly would i go about that.
FYI i just cranked the codespaces up to the largest one and its working fully now.


bowerInstall?

Hi, this an amazing plugin! I download node and does a lot for me! Thanks.
But for 100% of happiness I would need to fire "bower install" after  npm install :)
Do you have any example how to do that?
Thanks in advance

I used the solution that @dougborg proposes, installing the bower dependencies from withing grunt whith the bower-install-simple pluting.
Works perfect for me.


Keep HDR always active

According to https://github.com/awawa-dev/HyperHDR/pull/896#issuecomment-2525662688 this must always be enabled on webOS.

Nice! I wasn't sure if some users might want to use SDR without tone mapping, which is why I made this optional in my PR and exposed it in piccap.
Good to see we don't need the option and can keep that code simple 👍
Using the (default) HDR LUT which hyperhdr will fall back to, if no custom sdr lut is provided, will likely lead to oversaturated colors. Though IMO that's probably better than the slightly pale colors which you get with without tone mapping for SDR content.


Bluetooth: ISO: Change implicit ISO data path setup to explicit ISO data path setup

Is your enhancement proposal related to a problem? Please describe.
In the ISO API, the data paths are automatically setup and removed by the ISO layer at connection/disconnection.
This design offers a simpler version of ISO, but it is also less flexible, and does not allow the upper layers to control how or when the ISO data paths are setup. This design have caused several issues in BAP where multiple unicast streams may share the same CIS, but enters the streaming state at different times (unlike a CIS where both directions are connected at the same time).
ISO should not autonomously setup the ISO data path, and should be done by the upper layers
Describe the solution you'd like
Remove the call to bt_iso_setup_data_path in bt_iso_connected and the call to bt_iso_remove_data_path in bt_iso_chan_disconnected.
Move the bt_iso_setup_data_path and bt_iso_remove_data_path to public API functions that allows the upper layer to control the ISO data path. The parameters may be modified.
Finally remove the struct bt_iso_chan_path *path; from struct bt_iso_chan_io_qos.
Describe alternatives you've considered
N/A
Additional context
Samples, tests and BAP need to be modified for this as well, and thus is a larger change.
Consider implementing the data path functionality in BAP, rather than exposing similar functions at the BAP level, as the BAP implementation should be able to control the data paths (basically setup the data path when entering streaming (or even enabling) state, and remove when exiting the streamng state.

Blocked by https://github.com/zephyrproject-rtos/zephyr/issues/77387


Support git sparseCheckout, close travis-ci/travis-ci#5286

This will add support for git sparseCheckout!
By default, git will checkout all the files from the repository to the filesystem, by sparseCheckout, we can decide to checkout partial of the files, so this will help decrease the number of files git will checkout, which will totally save both disk sapce, cpu time, build time!
There are only few different steps between git clone and git, but would help a lot for a huge repo :smile:
The config will have a sparseCheckout under git section to point to the file contains sparseCheckout config like this:
git:
  depth: 10
  sparseCheckout: .travis.sparseCheckoutList

Please fell free to test and feedback!
ref:

https://git-scm.com/docs/git-read-tree
https://github.com/cdnjs/cdnjs/blob/master/documents/sparseCheckout.md

@PeterDaveHello  Thank you very much for working on this!

@BanzaiMan would you like to help review this PR? Many thanks!

Do you have a repo which requires sparse checkout set up on staging? https://staging.travis-ci.org/profile (You can switch between staging and production, if you want; Settings → Sync account → enable.)
If so, we can give this a shot. We can discuss cosmetic changes afterwards.

@BanzaiMan not yet, but I could setup for cdnjs/cdnjs repo.

@PeterDaveHello Hello. Have you had a chance to set up a repo?

@BanzaiMan not a problem, but I have problem here -> https://github.com/travis-ci/travis-build/pull/882#discussion_r91301091

Enabled here: https://staging.travis-ci.org/cdnjs/cdnjs

@PeterDaveHello Great. This has been deployed to staging now. Please restart the build to see how it goes for you. Thanks.

@BanzaiMan can you take a look at this part: https://github.com/travis-ci/travis-build/pull/882#discussion_r91301091 thanks.

The new commit has been deployed.

Wrong order of args fixed lol ...

The new commit has been deployed.

https://staging.travis-ci.org/cdnjs/cdnjs/jobs/529384
Not sure what's going on, disk space not enough?

It does look that way.
Receiving objects: 100% (742943/742943), 2.79 GiB | 20.08 MiB/s, done.

GCE may have more disk space (with sudo: required).

Then I don't know why I got I/O error there, will try.

To save the resource, reduce nodejs version to v4 only, tried with sudo and ubuntu version update:
https://staging.travis-ci.org/cdnjs/cdnjs/builds/529391
https://staging.travis-ci.org/cdnjs/cdnjs/builds/529393

strange ...
https://api-staging.travis-ci.org/jobs/529394/log.txt?deansi=true
Broadcast message from root@testing-gce-fadbdb93-e8e8-43ac-8426-e46e7a8d248d
	(unknown) at 19:01 ...
The system is going down for power off NOW!

Rerun https://staging.travis-ci.org/cdnjs/cdnjs/builds/529393, please.
https://staging.travis-ci.org/cdnjs/cdnjs/builds/529391 is on EC2, so it's still subject to less disk space.

Restarted, we'll see.

@BanzaiMan it jut stuck there for more than 40 mins lol

build failed after 6 hours lol ... triggered a new one here: https://staging.travis-ci.org/cdnjs/cdnjs/builds/529513

Hello @BanzaiMan , would you please take a look? Thanks.

What is the status of this PR? @BanzaiMan, are you gining to review change? @PeterDaveHello are you going to fix conflicts?

The main problem is not about the conflicts, please take a look at above comments ...

I'm going to close this in favor of https://github.com/travis-ci/travis-build/pull/1149.


Build errors not listed in the VS Code problems tab

I have a Java project (release version set to Java 21) using Maven as its build tool. I use the most recent versions of Maven, VS Code and the Oracle Java extension with OpenJDK 22 as my default JDK.
Currently, the project contains 33 build errors, which do appear in the output of the Oracle Java SE Language Server - but the build seems to be interpreted as successful as I don't see any errors in the VS Code problems tab (which is set to show errors and warnings):
starting jdk.build.workspace
...
Scanning for projects...

(output omitted)

33 errors
-------------------------------------------------------------
------------------------------------------------------------------------
BUILD FAILURE
------------------------------------------------------------------------
Total time:  4.812 s
Finished at: 2024-07-23T23:50:39+02:00
------------------------------------------------------------------------
Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.11.0:compile (default-compile) on project foobar: Compilation failure: Compilation failure:

(errors omitted)

-> [Help 1]

To see the full stack trace of the errors, re-run Maven with the -e switch.

Re-run Maven using the -X switch to enable full debug logging.

For more information about the errors and possible solutions, please read the following articles:

[Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoFailureException
finished jdk.build.workspace in 6624 ms with result true

I would expect that build errors are listed in the problems tab such that one can navigate to the problematic code and fix things.

Hey @d4span,
Could you please provide more details about the issue you're facing? Specifically, let us know the version of the extension you're using, any reproducible steps or code samples, and any other relevant information that might help us understand and resolve the problem.

Closing due to inactivity. Feel free to re-open this issue, if you still have some clarifications.


Could you add the releases to github ?

at the moment, there are no github releases.
For context, I'm packaging this for a linux distribution (nixos).
This packages is awesome, thank you for making it!
(qdrant too btw!!!).

+1

Will do for future releases! Keeping this issue open for tracking it

Done


[INTERNAL] Apply UA review from preload-excludes PR

Follow-up of: https://github.com/SAP/ui5-builder/pull/573

Coverage remained the same at 93.907% when pulling 8ef4258f8c29e8ed5257e3c56d0e2d11661e3929 on preload-excludes-ua-feedback into 5d3336964e33ef88ee66f30b32e3240fe935f6ed on master.


Update accesskit and accesskit_winit

Updates the requirements on accesskit to permit the latest version.

Release notes
Changelog
Commits

updated-dependencies:

dependency-name: accesskit dependency-type: direct:production ...

Adopted from #13787.

I f'd up, didn't realize this was on top of the dependabot branch. Sorry about that @jdm, would you be able to reopen this one?

Oh, weird, I also did not realize that was the case.

I was not able to reopen the PR or retarget it, so I opened #13841.

Thanks a ton and again I'm sorry for the inconvenience 😅