chore(ci): require boxes CI to succeed

Benchmark results
Metrics with a significant change:

note_successful_decrypting_time_in_ms (8): 312 (-24%)

Detailed results
All benchmarks are run on txs on the Benchmarking contract on the repository. Each tx consists of a batch call  to create_note and increment_balance, which guarantees that each tx has a private call, a nested private call, a public call, and a nested public call, as well as an emitted private note, an unencrypted log, and public storage read and write.
This benchmark source data is available in JSON format on S3 here.
Values are compared against data from master at commit 6356d94b and shown if the difference exceeds 1%.
L2 block published to L1
Each column represents the number of txs on an L2 block published to L1.

Metric
8 txs
32 txs
128 txs

l1_rollup_calldata_size_in_bytes
45,444
179,588
716,132

l1_rollup_calldata_gas
221,016
866,288
3,446,120

l1_rollup_execution_gas
934,160
3,968,762
24,789,656

l2_block_processing_time_in_ms
1,331
5,109 (-2%)
21,068 (+1%)

note_successful_decrypting_time_in_ms
:warning: 312 (-24%)
933 (-4%)
3,374 (+1%)

note_trial_decrypting_time_in_ms
22.0 (+9%)
60.2 (-37%)
136 (+3%)

l2_block_building_time_in_ms
14,902
59,206
238,062

l2_block_rollup_simulation_time_in_ms
10,537
41,910
168,941

l2_block_public_tx_process_time_in_ms
4,334
17,224
68,851 (+1%)

L2 chain processing
Each column represents the number of blocks on the L2 chain where each block has 16 txs.

Metric
5 blocks
10 blocks

node_history_sync_time_in_ms
15,088 (-1%)
28,997

note_history_successful_decrypting_time_in_ms
2,172 (-4%)
4,278 (-3%)

note_history_trial_decrypting_time_in_ms
108 (-26%)
165 (-8%)

node_database_size_in_bytes
3,624,206
3,732,349

pxe_database_size_in_bytes
29,923
59,478

Circuits stats
Stats on running time and I/O sizes collected for every circuit run across all benchmarks.

Circuit
circuit_simulation_time_in_ms
circuit_input_size_in_bytes
circuit_output_size_in_bytes

private-kernel-init
213
44,681
25,561

private-kernel-ordering
166 (+1%)
43,753
14,809

base-rollup
1,068
128,338
881

root-rollup
80.8 (-2%)
4,088
709

private-kernel-inner
291
71,208
25,561

public-kernel-private-input
205
31,863
25,561

public-kernel-non-first-iteration
203
31,905
25,561

merge-rollup
8.40
2,608
881

Tree insertion stats
The duration to insert a fixed batch of leaves into each tree type.

Metric
1 leaves
2 leaves
8 leaves
16 leaves
32 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
8192 leaves

batch_insert_into_append_only_tree_ms
11.1
110 (+24%)
13.3 (-4%)
17.7 (-4%)
24.2 (+2%)
49.9
88.2 (-4%)
244 (+1%)
467 (-2%)
912 (-1%)
3,567

batch_insert_into_indexed_tree_ms
N/A
N/A
N/A
64.0 (+1%)
N/A
59.6
110 (-8%)
361 (-1%)
744
1,410
5,564 (-2%)

Miscellaneous
Transaction sizes based on how many contracts are deployed in the tx.

Metric
0 deployed contracts
1 deployed contracts

tx_size_in_bytes
15,455
32,224

Transaction processing duration by data writes.

Metric
0 new commitments
1 new commitments

tx_pxe_processing_time_ms
375 (-2%)
1,086 (+1%)

Metric
1 public data writes

tx_sequencer_processing_time_ms
535 (+1%)


Adding custom marshaller to value of a map removes the map from the output

What version of Go are you using (go version)?

$ go version
go version go1.16.6 darwin/amd64

Does this issue reproduce with the latest release?
Yes
What operating system and processor architecture are you using (go env)?
go env Output
$ go env
GO111MODULE=""
GOARCH="amd64"
GOBIN=""
GOCACHE="/Users/robby/Library/Caches/go-build"
GOENV="/Users/robby/Library/Application Support/go/env"
GOEXE=""
GOFLAGS=""
GOHOSTARCH="amd64"
GOHOSTOS="darwin"
GOINSECURE=""
GOMODCACHE="/Users/robby/golang/pkg/mod"
GONOPROXY=""
GONOSUMDB=""
GOOS="darwin"
GOPATH="/Users/robby/golang:/Users/robby/projects:/Users/robby/toonavox"
GOPRIVATE=""
GOPROXY="https://proxy.golang.org,direct"
GOROOT="/usr/local/go"
GOSUMDB="sum.golang.org"
GOTMPDIR=""
GOTOOLDIR="/usr/local/go/pkg/tool/darwin_amd64"
GOVCS=""
GOVERSION="go1.16.6"
GCCGO="gccgo"
AR="ar"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
GOMOD="/Users/robby/samples/marshal/go.mod"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -arch x86_64 -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/var/folders/7r/87xkrl_10yd6sk9qplnyzp5w0000gn/T/go-build4064495216=/tmp/go-build -gno-record-gcc-switches -fno-common"

What did you do?
A simple example of adding a custom MarshalJSON.
Adding the MarshalJSON the map disappears from the output.
If I remove the custom marshaller, the Maps value is in the output.
https://play.golang.org/p/h6S-CFbUPgk
What did you expect to see?
{
"Value": false,
"Properties": {
"foo": "bar"
},
"Maps": {
"one": {
"Value": false,
"Properties": {
"one": "two"
}
}
}
}
What did you see instead?
{
"Value": false,
"Properties": {
"foo": "bar"
}
}

The root cause is related to this, I think (from the official spec):

Given a struct type S and a defined type T, promoted methods are included in the method set of the struct as follows:
If S contains an embedded field T, the method sets of S and *S both include promoted methods with receiver T. The method set of *S also includes promoted methods with receiver *T.
If S contains an embedded field *T, the method sets of S and *S both include promoted methods with receiver T or *T.

So in that sense it's working as intended, the MarshalJSON method *M is a promoted method on a Top. Two ideas that I could think of:

https://play.golang.org/p/DgH6kgO4Q6n (using a field name rather than embedding *M; slightly different from your expected output)
https://play.golang.org/p/sKtLiglB7s7 (less typing, and using "omit empty"; matches your expected output)

Hope this helps!

See above
For questions please refer to https://github.com/golang/go/wiki/Questions


Performance on the paper's dataset

The performance reported in the Readme has not been computed on the same dataset used in the original paper (Hierarchical Attention Networks for Document Classification, Tang et al. 2016).
It would be more convenient for understanding the real performance of the implementation to report the accuracy on that dataset, where training, dev and test sets are predefined.
The dataset can be downloaded from the Duyu Tang's homepage.
Download link: http://ir.hit.edu.cn/~dytang/paper/emnlp2015/emnlp-2015-data.7z

@gabrer Hi, do you have re-implemented on dataset of original paper?
In my implementation, I can't get the same performance according to the paper.

@superzhangxing Hi, in my implementation, I can only get 63.7% accuracy rate on the dev dataset of yelp2013 under the same configuration according to the paper. The accuracy rate on the test dataset is supposed to be a bit lower, which is different from the performance in the paper.  Is there some idea? Can those tricks reduce the gap？

@MH23333 Hi, do you use pre-trained word embeddings or random initialized ones? I train them with word2vec method on train and dev dataset. I believe it will improve the accurate. I have the same configuration according to the paper and get around 67% accurate on dev and test dataset. Such as optimizer with SGD+Momentum, and momentum parameter with 0.9. The only trick I think is aligning the sentence length in each batch to accelerate the training speed. and it also has been mentioned in the paper.

@superzhangxing Appreciate for your quickly reply！I use word embeddings in the way same as you, and set all hyper parameters mentioned in the paper.  Maybe other unmentioned hyper parameters have an important influence on the results. How to set the following two parameters may be important: sentence length(how many words in a sentnece) and document length(how many sentences in a document).
I will do more experiments. Many thanks!

@MH23333 The max sentence length and max document length are both set 40. Please note that I use dynamic rnn , so I don't use fixed sentence length or fixed document length. I'm not sure whether it makes the influence.

@superzhangxing Thanks a lot! I also use dynamic rnn and masked attention. More contrast tests will be performed. Hope I can get better results.

@superzhangxing hey, may I ask what learning rate you use?


An option for NOT scaling thumbnail navigator

It would be nice to have an entry in the $ThumbnailNavigatorOptions to set if the thumbnail navigator should be scaled or not by the $SetScaleWidth function.

Hi,
Now when clicking on thumbnail image the slider transition for only left to right.
I need fade transition effect when clicking on thumb image. Can you please help me on that.

This job can't be done in a short time. I will consider this feature later.
Thanks for your interest!


As a user, when the Start or Join an Arena page loads, I see a flash of erroneous errors

Description
Next, provide a description of the issue you encountered and the outcome you expected.

[ ] Description: When the Start or Join an Arena page loads, the Name and Arena Code fields quickly show a red error for required fields. These should only show errors if the user tries to click the Join Arena button and either field is not filled out.

Screenshots/Gifs
Please provide a visual representation of the issue you encountered with screenshots or a gif. They should include the entire screen of the application, and should include the URL if the issue was found on a web app.

[ ] Screenshots or gifs:

https://user-images.githubusercontent.com/58119095/219786942-04f11a93-c657-441d-b8f1-1a33b6ed5d12.mov
Steps to Reproduce
Provide steps to reproduce the issue you encountered.

[ ] I am logged in as this user (leave blank if not logged in): any user
[ ] I am on this page: Start or Join an Arena (currently pointed at /home but being move to root URL)
[ ] I performed these actions: load page
[ ] And saw this happen: Name and Arena Code fields show a quick required field error

Platform/Device/Browser Information
Please provide platform, device , and browser (when applicable) that you were using when you encountered the issue.
i.e. found on iOS iPhone 7+, or found on OSX High Sierra Chrome version 37.1

[ ] Platform:
[ ] Device:
[ ] Browser (if found on web application):

this can be QA'd

looks good, moving to UAT


docs(style-guide): rename heroes-list into hero-list for consistency

We are using hero-list all across the guide except in one case. For consistency let rename that one too. Also, I think it is better to call it hero-list in singular.

@Foxandxss or maybe we could rename it just heroes?

let's make it hero-list

This got merged.

LGTM


Update number.py to increase comfort setting to 11kW

Since Alfen firmware 6.4.0 phase switching during solar charging functions properly. Therfore increase in comfort setting level makes sense. This limit can be used to switch phases. People that use the charger on a 32A fuse as 22kW charger can manually increase this limit. I think most chargers and car combinations will be capped at 16A and 11kW.

i've set them so low because  i haven't think for other people. i've only got 3.3kw solar panel, so i have set them so low. xD but this is needed for people who want to full speed charging.
maybe people now use boost to bypass this limit..
but i've merge your change


terraformDeploy to seed secrets from sops to vault

There is indeed a tf provider that can declaratively seed vault sercrets:
resource "vault_generic_secret" "backend" {
  path = "kv/path/to/secret"

  data_json = <<EOT
{
  "foo":   "bar",
  "pizza": "cheese"
}
EOT
}

Now I could make a template that materializes env variables from sops into an hcl file, but that seems a bit convoluted (maybe?).
So I wonder if there could be a better way to consume the entire secrets json decrypted from sops somewhat more directly as heredoc...
Maybe I'm just not seeing something.. p :shrug: (sry, has been a good work's week)

Oh I guess I'm just tired :smile: → https://github.com/carlpett/terraform-provider-sops


persistentFooterButtons should not wrap in a ButtonBar class which is right aligned

I am using persistentFooterButtons property of Scaffold to display two drop down buttons. But, they are right aligned. This is due to persistentFooterButtons being wrapped in a ButtonBar class which is right aligned. I had to wrap drop down buttons in a container to prevent this. I think ButtonBar class should be removed from persistentFooterButtons property.

CC @darrenaustin

its quite difficult to use this property as its seemingly quite difficult to align the buttons anywhere but right.

A Sample code for the issue:
import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      // Application name
      title: 'Flutter Hello World',
      // Application theme data, you can set the colors for the application as
      // you want
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      // A widget which will be started on application startup
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatelessWidget {
  final String title;

  const MyHomePage({@required this.title});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        // The title text which will be shown on the action bar
        title: Text(title),
      ),
      body: Center(
        child: Text(
          'Hello, World!',
        ),
      ),
      persistentFooterButtons: [
        ElevatedButton(
          child: const Text('BACK'),
          onPressed: () => {},
        ),
        ElevatedButton(
          child: const Text('NEXT'),
          onPressed: () => {},
        ),
      ],
    );
  }
}


cc2 column size

Had to change the cc2 field in the geoname table to varchar(100) to correctly import allcountries dated 2016-01-29 02:27.
Hope this helps,
Daniel

I only extended it to 90, today, but then it worked.


UVI Request

--- UVI JSON ---
{
  "vendor_name": "Linux",
  "product_name": "Kernel",
  "product_version": "versions from  to before v5.10.52",
  "vulnerability_type": "unspecified",
  "affected_component": "unspecified",
  "attack_vector": "unspecified",
  "impact": "unspecified",
  "credit": "",
  "references": [
    "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=0680db6f41920b2c91c7df3cc9cd5968701a6f74"
  ],
  "extended_references": [
    {
      "type": "commit",
      "value": "0680db6f41920b2c91c7df3cc9cd5968701a6f74",
      "note": "fixed"
    }
  ],
  "reporter": "joshbressers",
  "reporter_id": 1692786,
  "notes": "",
  "description": "scsi: megaraid_sas: Fix resource leak in case of probe failure\n\nThis is an automated ID intended to aid in discovery of potential security vulnerabilities. The actual impact and attack plausibility have not yet been proven.\nThis ID is fixed in Linux Kernel version v5.10.52 by commit 0680db6f41920b2c91c7df3cc9cd5968701a6f74. For more details please see the references link."
}
--- UVI JSON ---

This issue has been assigned UVI-2021-1001275


Sandboxing for potentially dangerous processing

All processing that is potentially dangerous, such as parsing files or re-rendering images, should be performed in an isolated sandbox.

firejail, bubblewrap ?


Document standard env variables

There are a set of standard env variables (e.g. NITRIC_STACK_ID) which should be documented, including the level of reliance developers can place on them (i.e. will they change in future).

this will be impacted by https://github.com/nitrictech/nitric/pull/514 which changes the standard StackID env var name for clarity.

Good example: https://vercel.com/docs/projects/environment-variables/system-environment-variables#system-environment-variables

Variables to document:
Nitric specific:
NITRIC_STACK_ID: coolkat-gcp-4c0wg0hg
NITRIC_ENVIRONMENT: cloud, ... etc

Cloud specific:
GCP_REGION:

Closed by: https://github.com/nitrictech/docs/pull/487


[otbn] Choose a final LFSR structure for URND

The current URND implementation is taken from the AES blocks LFSR implementation for masking. It uses 4  Galois XOR LFSRs (64 bits each) with some final scrambling provided by an SBox. URND required for OTBN must be carefully evaluated and a final URND implementation chosen to meet them.
Scope: PR with RTL for new PRNG block, replacing the current setup in OTBN for URND, ask Michael to do a synthesis experiment for area/timing numbers, and present result to security WG for final decision.

estimate 8

@vrozic has an implementation of the XorShiRo256** RTL. Next steps: Do a PR with this RTL and run through DC for area numbers.

Hey @imphil @GregAC, what is the status on this? Do we need an A/B synthesis comparison?

XorShiRo256 PRNG is now implemented in OTBN


Deprecate "directory" in .bowerrc, move it to bower.json

"directory" is a per project setting, it really should belong to bower.json file.
Thanks.

Duplicate of #1583


Allow CORS for vercel.app domain in staging

To fix preview deployments
@elbotho and @Entkenntnis, FYI: fix already deployed

thank you, comments are working again


gnustep.libobjc: 1.9 -> 2.1

Description of changes
the problems that we saw with sogo and 2.0 seem fixed with 2.1
Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.11 Release Notes (or backporting 22.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Apart from unar, also gnustep.projectcenter broke: https://hydra.nixos.org/build/195737090


Add README.md support to Edit Package page

Includes:

Add text box for repoURL
Add UI for README file/URL upload
Upload pending README
Create repoURL/README package edit

Finished, @chenriksson to stabilize and integrate to dev


Add Aggregate Type to RevisionSnapshotFilter

This pull request adds the aggregate type to the RevisionSnapshotFilter.
The type field is required for any SnapshotFilter implementation, as all filters are combined since they're configured on the EventStore level for the time being (issue #1769 marks an adjustment in this process).
By adding the aggregate's type, and setting it for that automatically created RevisionSnapshotFilter by the AggregateConfigurer, we should resolve any problems in the space of filtering out snapshots from other aggregates than where the filter was intended for.

Closing and reopening, as the build is acting up for some reason.


ORDER BY alias of a calculated column from select-clause gives an exception: "Too few parameters. Expected 1"

Description
Perhaps it is only about ODBC-connection (to excel?) but should be rechecked for others as well.
This query gives an exception:
select category_id, count(*) as cnt
from `C:\exp_data\film_category_202409171804.xlsx`.`Sheet0$`
group by category_id
order by cnt

But this is OK (solution 1):
select category_id, count(*) as cnt
from `C:\exp_data\film_category_202409171804.xlsx`.`Sheet0$`
group by category_id
order by count(*)

This one is also OK (solution 2):
select s.*
from (
    select category_id, count(*) as cnt
    from `C:\exp_data\film_category_202409171804.xlsx`.`Sheet0$`
    group by category_id
) as s
order by cnt

Due to this issue, Group-panel now gives an error when user specifies the order after grouping and it is quite common task to connect to xlsx-file, group some data in a sheet and order it by some calculated column.
https://github.com/user-attachments/assets/ccea35db-3cf9-400f-8ca0-fd81a6c89343
Please consider choosing one of the solutions suggested above.
Maybe wrapping the select-statement automatically "under the hood" to overcome the issue would be more robust and flexible.
Is it possible to find solution without changing the query itself?

please check other database engines withing ODBC-connection and non-ODBC.

Examples with xlsx-files to debug: exp_data.zip
DBeaver Version
Enterprise Edition 24.2.1-202409122322
Operating System
Windows 10
Database and driver
EXCEL 12.00.0000
DBeaver JDBC-ODBC Bridge (ACEODBC.DLL) 1.0.61 (Microsoft Access database engine)
Steps to reproduce
No response
Additional context
No response

Thank you for bug report


[Fix] Nested Transformer Includes

This PR should fix the Nested Transformer Includes bug described in https://github.com/apiato/apiato/issues/324
Can someone please revise this PR please?!

The solution passed all of my tests and it is working with all kind of includes.

wow, thanks for the quick response @jlorente . i'll merge this PR tomorrow, ok?
thank you very much for noticing this issue and providing feedback!


about the size of the conv kernel

Hi, I found in the paper that the  kernel size is 3 dims, but in your implementation it is 2 dims, is there any difference or influence about that?

I have understand that..conv2D means doing 3D convolution. Sorry for disturbing


Get rid of hardcoded values in codebase

We've got NSG names hardcoded in subnet and in installer packages. Our current tests will not detect the fact that we updated it in one place and failed to do so in other places.
Should review existing codebase and replace values like this with constants and\or add tests to cover this.
Background: https://github.com/Azure/ARO-RP/pull/69#discussion_r366333065

assigning on behalf of @sjkingo

Closed in #514


Bluetooth: host: Add host API to run conn CTE TX params set

Add host API to allow execution of HCI_LE_Set_Connection_CTE_Transmit_-
Parameters HCI command.
The commit also provides a refactored version of hci_df_set_conn_cte_tx-
_param function. The function was aligned to other hci_df_XXX functions
structure with separated parameters validation and preparation of
command object before it is send to controller.
Signed-off-by: Piotr Pryga<EMAIL_ADDRESS>

@Thalley looks that all comments were addressed.

@jhedberg @alwa-nordic could you take a look?

Rebased on main due to conflicts.

Fixed error in direction.h header file.

@carlescufi have a look please.


Implement FileSize pre-commit hook

Coming from https://github.com/brigade/overcommit/issues/348
After a few modifications from what I posted in the issue, the result is now this:

Note the file limit is now dynamically output in the hook's description so that it does not need to be repeated in each FileSize error.
Feel free to check the commit history to have an idea of my thinking process.
Improvements such as supporting file size units are welcome, but please let me suggest to open another PRs once this one is merged. 🙇

Thanks!


Self-service subnamespace creation (reconciler only)

Instead of creating subnamespaces as a two-step process, this adds an
method to create them directly. This is the first time we also modify
namespaces, as opposed to simply hierarchy singletons. This is part of
#90.
This change does not include a validating webhook to prevent most
failure cases that are identified by the conditions; this will come in a
future commit. It also doesn't attempt to set up ownersReferences to
automatically delete child namespaces when parents are deleted, although
we should probably do that too.
Tested: manual plus new integ tests

/assign @Fei-Guo
Last one for now then I'll leave you alone for a bit :)

/lgtm
/approve


Migration: new columns should be in the same order as schema (ALTER TABLE ... ADD ... AFTER)

When I create new columns in schema and perform a migration, they're always added at the end of the table.
Preferably, these should be added in the same order as they have in schema.xml, if it's supported by the database engine.
In MySQL, this would be
ALTER TABLE some_table ADD column2 int(11) AFTER column1;

Not supported on all vendors. E.g:

MSSQL: http://social.msdn.microsoft.com/Forums/en-US/transactsql/thread/f1281533-ad45-4bdc-867c-a9369a02de80/
SQLite: http://stackoverflow.com/questions/2209721/sqlite3-and-alter-table-after
PostgreSQL: http://stackoverflow.com/questions/1243547/how-to-add-a-new-column-in-a-table-after-the-2nd-or-3rd-column-in-the-table-usin

Besides, Propel lists all the columns in all queries. This is therefore not very important.

Let me add that since it's an evolution and not a bug, this will not be done in the 1.x branch. Please reopen a ticket in the Propel2 repository.

Thank you; I agree that it is a low priority request, since it doesn't break anything and is not widely supported.
The reason for the request is that we do a lot of administrative tasks manually in Adminer / phpMyAdmin, as our web back-end is largely missing. I will open a ticket for Propel2.


⚠ Bofrost.be has degraded performance

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

HTTP code: 200
Response time: 1266 ms

Resolved: Bofrost.be performance has improved in 00ebeb6 after 6 minutes.


feat(Avatar): Support overriding the Avatar img element. Fixes #482

Description
Changes the Avatar img prop to either be a string or a render prop that returns a React element. That makes it so any of the props can be overridden, or an entirely different element could be used in its place.
The docs site doesn't support the render prop syntax by default, so I added a small extension that allows the docs pages to provide a rawCode property which is passed directly to the syntax highlighter instead of generating the code sample from the code JSX.
Fixes #482
Type of change

[x] New feature (non-breaking change which adds functionality)
[x] This change contains documentation update

How Has This Been Tested?

[x] Automated test that renders using the new render props and checks to see if a special attribute is included on the rendered  element.

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have made corresponding changes to the documentation
[x] My changes generate no new warnings
[x] I have added tests that prove my fix is effective or that my feature works
[x] New and existing unit tests pass locally with my changes
[x] Any dependent changes have been merged and published in downstream modules
[x] I have checked my code and corrected any misspellings

LGTM, I think the logic in this component is getting a bit complicated to read but I don't know how to fix that at all.


doskey is not working

When having a file with doskey macros
keys.txt
k1=echo hi
k2=echo hi2

doskey /macrofile=keys.txt
and then list the defined ones the list comes back empty when running vtm inside Windows Terminal:
With vtm

when doing this in a Windows Terminal cmd prompt then it works
With cmd.exe

No errors. That is really strange.

TL/DR: This behavior is intentional. So far this doesn't work.
I haven't yet implemented DOSKEY functionality because it seemed to me to be a significant security flaw. DOSKEY (1989 A.D.) was invented and implemented for single user operating systems such as DR-DOS/MS-DOS/PC DOS, where there were no concepts of roles/rights, etc. Subsequently, in the Windows system, this functionality was moved up to the wrong security level, allowing any application to gain unauthorized access to sensitive data such as command history and allowing command name spoofing.
Despite the fact that Wikipedia says that this functionality is integrated into CMD.EXE, it is not. This is entirely outside of CMD.EXE, as you can see.
In fact, this functionality is not difficult to implement, but it should be further (and more thoroughly) investigated for security issues.
Everything related to aliases and command history is disabled for now. The following Win32 Console APIs are silently (w/o errors) disabled:

GetConsoleAlias
AddConsoleAlias
GetConsoleAliasExesLength
GetConsoleAliasExes
GetConsoleAliasesLength
GetConsoleAliases
ClearConsoleCommandHistory
SetConsoleNumberOfCommands
GetConsoleCommandHistoryLength
GetConsoleCommandHistory
GetConsoleHistory
SetConsoleHistory

While you are right it might be a security flaw many developer environments set them. It is unfortunate that I cannot use vtm in developer shells. As long not everyone is using Windows Terminal there is not much we could use for cmd shell scripting.

We can make this configurable and off by default.

That would be a great addition!

I have now realized that this is vital functionality, and it must be implemented unconditionally.

I implemented the DOSKEY functionality. You can test the branch from the pull request. I'll publish a release a little later.

Thanks. The test build looks good. Doskey macros are showing up now. Thanks!

My environment has VS2019, VS2022, VS2022 Preview, and VS2017 Build tools. Looks like cmake did create a solution which did target VS2019. It was targetting Build Tools 14.3, but these were not installed.

I have noticed that the new vtm when started from a Windows Terminal Session with a cmd shell
vtm -r
Not enough memory resources are available to process this command.

is showing up. The old VTM did not have this warning.

Not enough memory resources are available to process this command.

This issue may be related to the fact that when running vtm -r it requests the current window title and on the first request it received an empty line. I have corrected this bug by https://github.com/o-sdn-o/vtm/commit/be95d9c2d7e2d160478b3befef5ea94253325d70 .
Can you please test it for this issue? (auto binaries in the pull request are updated)


[dark theme] flash on right mouse click

Hi all
When I do a mouse right click in order to show the context menu a annoying white flash shows before the menu...how to avoid this that hurts my eyes.
Thank you so  much.

this is still with "disable-hardware-acceleration": true.

this version works fine without issue

also this works fine

also this fine

also this works fine ,no flash issue opening menu item

THIS VERSION INTRODUCED FLASH BUG ,flash also launcing code ,flash opening menus.

Looks like #80798
Which distribution are you using?

Looks like #80798
Which distribution are you using?

Yes,it's just the same,thanks for point this out.
Debian 10 buster with LXDE windows manager
Linux debian 4.19.0-9-amd64 #1 SMP Debian 4.19.118-2 (2020-04-29) x86_64 GNU/Linux


Display patch for 2D linear scan

"Better" display for 2D linear (stages are separated with children for start/stop/step)
Same convention as 1D linear start/stop/step (before start/step/stop)

yes it's nicer, could you do the same grouping for the spiral one also?
Cheers


Unable to use TCA in extensions

Description
We are currently taking leverage of Tuist dependencies to handle dependencies in our modular app. Until the release of version 0.41.0, everything worked fine, since then we're unable to update because we're getting errors in OpenURL.swift:
'open(_:options:completionHandler:)' is unavailable in application extensions for iOS
'shared' is unavailable in application extensions for iOS: Use view controller based solutions where appropriate instead.

Checklist

[x] I have determined whether this bug is also reproducible in a vanilla SwiftUI project.
[X] If possible, I've reproduced the issue using the main branch of this package.
[X] This issue hasn't been addressed in an existing GitHub issue or discussion.

Expected behavior
We should be able to use TCA in extensions / TCA should compile successfully.
Actual behavior
We are unable to use TCA in extensions / TCA doesn't compile successfully.
Steps to reproduce

Integrate TCA using Tuist dependencies / use TCA in extension
Compile the project

The Composable Architecture version information
0.45.0
Destination operating system
iOS 16
Xcode version information
14.0.1
Swift Compiler version information
swift-driver version: 1.62.8 Apple Swift version 5.7 (swiftlang-<IP_ADDRESS>.4 clang-14<IP_ADDRESS>)
Target: arm64-apple-macosx12.0

Hi @IgorRosocha, this was fixed in 0.42.0. Have you tried that? Also there has been many releases since then, so we recommend updating to the newest.

Hi @mbrandonw, as mentioned in the issue, we're getting the error on the latest release - 0.45.0

Oh sorry, I saw your first mention of 0.41 and thought that is what you were using. Are you able to share a sample project that reproduces the error so that we can figure out how to fix it?

Sure, please take a look at minimal example here: https://github.com/IgorRosocha/TCA-Extension-Sample
To build the project:

Install Tuist (curl -Ls https://install.tuist.io | bash)
Run tuist fetch to fetch dependencies
Run tuist generate to generate and open the project

Please let me know in case you run in to some problems building the project.

Hey @IgorRosocha! Can you take my tuist-fix branch for a spin instead of pointfree.co?
https://github.com/tgrapperon/swift-composable-architecture/tree/tuist-fix
I didn't install Tuist on my machine to avoid clutter, but I guess you can point to a specific branch instead of a tagged release. I simply marked the API @available(iOSApplicationExtension, unavailable) which is the fix I used in the past to share code in dynamic frameworks between my app and its extensions. I can't say if this is the best solution when importing a SPM dependency via Tuist though (nor if it's a solution at all!).

Hey @tgrapperon, sorry for such a late response. Fix introduced in your tuist-fix branch resolves our issue - the only question is if it's safe for you guys to mark openURL as unavailable for iOS application extensions, or maybe introduce some workaround for extensions.

Currently we use TCA with CocoaPod integration and also faced with same issue. I can suggest only ugly solution:
extension UIApplication {
    static func openIfAvailable(_ url: URL, options: [UIApplication.OpenExternalURLOptionsKey: Any] = [:], completionHandler completion: ((Bool) -> Void)? = nil) {
        let sharedApplication = NSSelectorFromString("sharedApplication")
        let openURL = NSSelectorFromString("openURL:options:completionHandler:")

        guard
            responds(to: sharedApplication),
            let application = perform(sharedApplication).takeRetainedValue() as? UIApplication,
            application.responds(to: openURL) else {
            // Or use SwiftUI implementation?
            completion?(false)
            return
        }

        typealias Callback = @convention(c) (NSObject, Selector, URL, NSDictionary, @escaping (Bool) -> Void) -> Void
        let callback = unsafeBitCast(application.method(for: openURL), to: Callback.self)
        callback(application, openURL, url, options as NSDictionary, { completion?($0) })
    }
}

And what will happen in runtime of an App Extension with integrated TCA with SPM? Seems to SPM ignored APPLICATION_EXTENSION_API_ONLY flag in build settings and allow to perform UIApplication.shared and other methods which mark as @available(iOSApplicationExtension, unavailable).

When used with SPM, the current implementation works, and without producing any error.
Besides NSSelectorFromString, there are two ways to fix this issue AFAIK:

Annotate this dependency with @available(iOSApplicationExtension, unavailable), which makes code harder to reuse
Base the implementation on SwiftUI's EnvironmentValues.openURL, which raises the availability to iOS 14+ generation.

It is not clear yet what is the best solution, but I'm confident it will be addressed in one way or another.

Fixed by #1714.


Choose main folder to store notebooks

By default, now, the home folder is picked, and a .noteorganiser folder is created. This then hosts the notebooks.
It would be best to have at launch a popup if the main folder is not set, to select its location. This would allow for choosing a cloud-synced folder, for instance. I was thinking of simply using a standard browsing widget for this.
I am working on a PR right now.

yes, a browsing widget at the first start would be nice. Probably you could put this in the menu, too, so the user can change the folder later.

done in #53


Use different extension

When I use Browserify I can choose the extension I want to use for React components ".jsx", but when run it with Watchify it doesn't listen for changes on these files

I use it with .jsx files just fine. Can you share your config or a repro case?

I've changed to another library, but let me try again this afternoon.


Add Timber extension

Add an extension module to work with Timber
https://github.com/JakeWharton/timber

done and released in v1.1.2


ciscoise_network_device_group missing other namen

Prerequisites

[x] Have you tested the operation in the API directly?
[x] Do you have the latest Terraform provider version?
[x] Review the compatibility matrix  ISE 3.1 patch 6before opening an issue.

Describe the bug
Try to build a network devices group
resource "ciscoise_network_device_group" "example" {
  provider = ciscoise
  parameters {

    description = "string"
    id          = "string"
    name        = "string"
    ndgtype     = "string"
  }
}

Then you become follow error:
Error: Failure when executing CreateNetworkDeviceGroup
│
│   with ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest#SuperDev"],
│   on main.tf line 2, in resource "ciscoise_network_device_group" "device_group_create":
│    2: resource "ciscoise_network_device_group" "device_group_create" {
│
│ error with operation CreateNetworkDeviceGroup
│ {
│   "ERSResponse" : {
│     "operation" : "POST-create-networkdevicegroup",
│     "messages" : [ {
│       "title" : "Validation Error - Mandatory fields missing: [othername]",
│       "type" : "ERROR",
│       "code" : "Application resource validation exception"
│     } ],
│     "link" : {
│       "rel" : "related",
│       "href" : "https://myServerMask:9060/ers/config/networkdevicegroup",
│       "type" : "application/xml"
│     }
│   }
│ }

The ERS API say you need the paramter:

Attribute
Type
Required
Default value
Description

name
String
Yes

Resource name

id
String
No

Resource UUID, mandatory for update

description
String
No

othername
String
Yes

This field holds the Network Device Group Hierarchy (A.K.A NDG Type)

Expected behavior
ndgtype     = "string" ist the othername paramater but this is not working.
Not really shure what ndgtype should be maybe "Location" or "Type"
Taking ndgtype as othername is not working
│ Error: Failure when executing UpdateNetworkDeviceGroupByID
│
│   with ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"],
│   on main.tf line 2, in resource "ciscoise_network_device_group" "device_group_create":
│    2: resource "ciscoise_network_device_group" "device_group_create" {
│
│ error with operation UpdateNetworkDeviceGroupById
│ {
│   "ERSResponse" : {
│     "operation" : "PUT-update-networkdevicegroup",
│     "messages" : [ {
│       "title" : "Resource Initialization Failed: Invalid JSON: Unrecognized field \"ndgtype\" (Class network.NetworkDeviceGroup), not marked as ignorable\n ",
│       "type" : "ERROR",
│       "code" : "Application resource validation exception"
│     } ],
│     "link" : {
│       "rel" : "related",
│       "href" : "https://isekonvdcmas01.ka.de.dm-drogeriemarkt.com:9060/ers/config/networkdevicegroup/28ccc190-0b54-11ee-921f-8edba861ae07",
│       "type" : "application/xml"
│     }
│   }
│ }

Environment (please complete the following information):

ISE version and patch:  3.1 patch 6
Terraform version: v1.2.9
ISE provider version: 0.6.18-beta
OS version:  MAC OS

@larsrei please try it again with 0.6.20-beta and let us know how does it go.

@fmunozmiranda I try it but not working. Not sure if I use all option rigth:

terraform apply
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"]: Refreshing state... [id=id:=28ccc190-0b54-11ee-921f-8edba861ae07\name:=Device Type#All Device Types#LRTest]
╷
│ Error: Failure when setting GetNetworkDeviceGroupByID response
│
│   with ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"],
│   on main.tf line 2, in resource "ciscoise_network_device_group" "device_group_create":
│    2: resource "ciscoise_network_device_group" "device_group_create" {
│
│ Invalid address to set: []string{"parameters", "0", "ndgtype"}

Terraform code:
Create Devices Types
resource "ciscoise_network_device_group" "device_group_create" {
provider = ciscoise
for_each = var.device_groups
parameters {
description = each.value["description"]
name        = each.key
othername   = each.value["othername"]
}
}
Variable:
All devcies types who are needed
variable "device_groups" {
type = map(object({
description = string
othername     = string
}))
default = {
"Device Type#All Device Types#LRTest"          = { description : "Lars Test", othername : "Device Type#All Device Types" }
"Device Type#All Device Types#LRTest#SuperDev" = { description : "Super Device", othername : "Device Type#All Device Types#LRTest" }
}
}

Hi, @larsrei please try it again with the new provider version and let me know how does it go.

Hi,
still error:
`Plan: 1 to add, 1 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest#SuperDev"]: Creating...
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"]: Modifying... [id=id:=28ccc190-0b54-11ee-921f-8edba861ae07\name:=Device Type#All Device Types#LRTest]
╷
│ Error: Failure when executing UpdateNetworkDeviceGroupByID
│
│   with ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"],
│   on main.tf line 2, in resource "ciscoise_network_device_group" "device_group_create":
│    2: resource "ciscoise_network_device_group" "device_group_create" {
│
│ error with operation UpdateNetworkDeviceGroupById
│ {
│   "ERSResponse" : {
│     "operation" : "PUT-update-networkdevicegroup",
│     "messages" : [ {
│       "title" : "Validation Error - Illegal values: [The request content has an invalid type(othername). Please verify type(othername) contains alphanumeric characters, underscore, minus signs, dot only., The name's first part (before the first pound sign delimiter) should be equal to group's type(othername) provided.]",
│       "type" : "ERROR",
│       "code" : "Application resource validation exception"
│     } ],
│     "link" : {
│       "rel" : "related",
│       "href" : "https://server:9060/ers/config/networkdevicegroup/28ccc190-0b54-11ee-921f-8edba861ae07",
│       "type" : "application/xml"
│     }
│   }
│ }
╵
╷
│ Error: Failure when executing CreateNetworkDeviceGroup
│
│   with ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest#SuperDev"],
│   on main.tf line 2, in resource "ciscoise_network_device_group" "device_group_create":
│    2: resource "ciscoise_network_device_group" "device_group_create" {
│
│ error with operation CreateNetworkDeviceGroup
│ {
│   "ERSResponse" : {
│     "operation" : "POST-create-networkdevicegroup",
│     "messages" : [ {
│       "title" : "Validation Error - Illegal values: [The request content has an invalid type(othername). Please verify type(othername) contains alphanumeric characters, underscore, minus signs, dot only., The name's first part (before the first pound sign delimiter) should be equal to group's type(othername) provided.]",
│       "type" : "ERROR",
│       "code" : "Application resource validation exception"
│     } ],
│     "link" : {
│       "rel" : "related",
│       "href" : "https://server:9060/ers/config/networkdevicegroup",
│       "type" : "application/xml"
│     }
│   }
│ }
`

@fmunozmiranda  you are right!
terraform apply -parallelism=1
is important.
Result:
`Plan: 2 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"]: Creating...
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest"]: Creation complete after 1s [id=id:=4ef9e1b0-1683-11ee-9793-660220509ceb\name:=Device Type#All Device Types#LRTest]
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest#SuperDev"]: Creating...
ciscoise_network_device_group.device_group_create["Device Type#All Device Types#LRTest#SuperDev"]: Creation complete after 0s [id=id:=4f3786f0-1683-11ee-9793-660220509ceb\name:=Device Type#All Device Types#LRTest#SuperDev]
Apply complete! Resources: 2 added, 0 changed, 0 destroyed.
`


Specification proposal for accordion

Specification proposal for accordion: https://www.figma.com/file/9r6xSfNmEfCFxl1yFYedrj/Lyne-Components?type=design&node-id=140%3A5&t=olA4VPN5utOO8jvQ-1

Check both sbb-accordion and sbb-accordion-item
sbb-accordion-item

Icon at left: @Prop() public iconName?: string;
Title: can we use @Prop() public titleContent?: string; & @Prop() public titleLevel?: InterfaceTitleAttributes['level’]; ?
Toggle: chevron-small-up/down icon instead than current SVG?
Add a disableAnimation property
Events: willOpen/didOpen/willClose/didClose ?
Reuse SbbOverlayState ?
Two variants (default/milk)? What state is 'Opacity 80%'?
Animation?

sbb-accordion

Keep the onlyOneOpen logic?

@DavideMininni-Fincons Could I ask you to take a look at https://angular.app.sbb.ch/angular/components/accordion/overview and write a specification along that use case? I apologize for only mentioning this now.


Build for 3.10 is now possible

I wanted to test it on my "old" environment. It doesn't change much but it might be useful to some people.

This has actually broken the menu on GTK 3.16+

Arf, sorry. From what I see in my changes, it shouldn't since I didn't touch to the glade file and the only difference in code is the macro. Any more information maybe?

The menu is actually not implemented in the glade file but in the source code in launch()

I don't have gtk 3.16 so I can't really help on this. What do you mean by "it doesn't work"? The application doesn't compile anymore (but travis builds so not this)? When you run, you have gtk warnings?

Travis is using GTK 3.18 so it passes the build. The GTK-rs team provides a repo for installing 3.18 on Trusty so that it can build, at least until Travis is updated to Xenial which is using GTK 3.18.  Which Linux distribution are you using? All the major distributions are shipping at least 3.18 right now, as far as I know (Ubuntu, Fedora, Gentoo, Arch).
As for not working, the menu uses a PopoverMenu in the MenuButton so that when the MenuButton is clicked, the PopoverMenu displays a list of buttons to switch the left pane's Stack to either services, sockets, or timers. After this change, that MenuButton was simply greyed out and no longer clickable.


Setting up a "store"

As integration with OpenRepos does not seem to be happening at any significant speed, we should consider backing up Chum repos with some kind of experience similar to app stores. This issue is made to discuss it and agree on steps forward.
Ideally, we need an app to interact with Chum on device and some kind of web presence. I'll try to write up what would such experience could be and later some implementation aspects. In principle, we should aim for something similar to Storeman and OpenRepos.
App:

[x] list available software in categories/subcategories
[x] search available software
[x] install software
[x] remove software
[x] see recent updates
[x] each software package could have icon, screenshots, issues and discussion forums, some stats.

Web:
Ideally same as for app, in part that makes sense:

[ ] list available software in categories/subcategories
[x] search available software
[ ] see recent updates
[ ] each software package could have icon, screenshots, issues and discussion forums, some stats.

@mentaljam can surely add to that list or comment on it.
If we start from the app and can provide all data for that, maybe it will be easier to roll out web interface later. In the current state, sailfishos-chum-gui already shows that it is possible to get list, some info on app, install and remove it.
Apps are missing icons, issues, and so on. In principle, we can add such data and provide to ChumGui via some files online. For example, each app can add at OBS some special file meta.yaml that would list app's repo, link to issues, links to discussion forums (multiple if needed), link to releases, link to icon. Unless we can specify in SPEC and make it available to ChumGui from PackageKit. Those package-specific meta.yaml datasets can be collected by a crawler and published at some github repo or in some S3 type bucket. This would allow ChumGui to refresh it as soon as needed from a single source. The crawler can just update it (if needed) once an hour, for example.
For GitHub and GitLab repos, we can also show number of stars (and forks), if some simple API is available. That would indicate the status of the app similar to currently used stars in OpenRepos. Advantage of guiding users to online issue trackers and discussion forums is a great experience for developers. In addition, it allows to merge users from different platforms for the apps that are multi-platform.
Thoughts, ideas?
cc: @mentaljam @piggz

I would like resurrect this topic and proceed with it. As we have no feedback on what's possible from OBS side, let's implement metadata separately and rely on PackageKit or libzypp on processing RPM data.
At Chum, we have a mix of libraries and applications. For the purpose of the store, I propose that each package that would like to be exposed in Chum GUI, would have to define metadata file with the relevant information. The ones missing this info, will be not shown in GUI. For example, there is no point in exposing support libs to GUI as users don't really need to install it separately. Unless they develop something and then can do it via command line.
As this metadata file has to be written by a developer, I propose to use YAML for it. For Pure Maps, it would be
name: Pure Maps
package: harbour-pure-maps
category: Applications/Maps
repotype: github
repo: https://github.com/rinigus/pure-maps
icon: https://raw.githubusercontent.com/rinigus/pure-maps/master/data/pure-maps.svg
screenshots:
  - https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/main.png
  - https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/menu.png
  - https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/traffic.png
forums:
  - https://github.com/rinigus/pure-maps/discussions
issues: https://github.com/rinigus/pure-maps/issues

This file defines icon, screenshots and relevant links (forum together with issues). Forum is kept in plural to allow support for FSO, TMO and other locations. Issues are usually in central location, hence kept as a single item. It is expected, that metadata file would define package key for which it is applicable. Category has to be defined from the given list and separate from SPEC, as in SPEC, at least according to Fedora, it is deprecated. I have also added repo together with repotype which would allow us to load releases, issues, stars by using GitHub or GitLab API.
In principle, one package (SPEC) can define multiple RPMs and we may wish to have support for it. In YAML, we can separate and have multiple documents using --- as a separating line.
After processing all packages metadata, we would end up with JSON which is easy to load on Chum GUI side. For example, as in
[
    {
        "name": "Pure Maps",
        "package": "harbour-pure-maps",
        "category": "Applications/Maps",
        "repotype": "github",
        "repo": "https://github.com/rinigus/pure-maps",
        "icon": "https://raw.githubusercontent.com/rinigus/pure-maps/master/data/pure-maps.svg",
        "screenshots": [
            "https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/main.png",
            "https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/menu.png",
            "https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/traffic.png"
        ],
        "forums": [
            "https://github.com/rinigus/pure-maps/discussions"
        ],
        "issues": "https://github.com/rinigus/pure-maps/issues"
    }
]

There are several ways we can now generate and distribute these files. One option is to have them at OBS as one of the package sources (named chum.yaml or similar). Alternative, would be to make dedicated GitHub project and add those via PRs. Latter would allow to categorize and drop package keyword as well through use of subdirectories and corresponding metadata filenames. For example, GitHub project would have a file
packages/applications/maps/harbour-pure-maps.yaml
All packages would be combined into a single JSON and put into that repository allowing Chum GUI to pull the file from GitHub.
I would prefer to have metadata for each package and overall generated JSON in the same GitHub repo and avoid OBS+Github combination. It would allow us to just regenerate such store definition file on each import and not to hunt down changes in OBS. Changes in OBS can be tracked automatically, if needed, but it is not very simple and may require something checking it periodically.
Thoughts / comments?

I like this approach. The only thing I'm not too keen about is aggregating in a central repository.  I suspect keeping things in sync might get hairy.  I was thinking a lazy man's solution would simply use the .spec's Description field. So, if that field contains, for instance subset:
Description    :
    View maps, find places and routes, navigate with turn-by-turn instructions,
    search for nearby places by type and share your location.

    repo: https://github.com/rinigus/pure-maps
    icon: https://raw.githubusercontent.com/rinigus/pure-maps/master/data/pure-maps.svg
    screenshots:
      - https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/main.png
      - https://raw.githubusercontent.com/rinigus/pure-maps/master/screenshots/menu.png
    forums:
      - https://github.com/rinigus/pure-maps/discussions
    issues: https://github.com/rinigus/pure-maps/issues

So, stick to the yaml idea but first just in the spec? I'm not sure this is even feasible.

If we add YAML into description field, there are few disadvantages:

all will have to make new releases to trigger the builds
this Chum specific info will get distributed all over the place and will be a part of package description in all stores (Jolla and OpenRepos) and, if you happen to work on other Linux distros with SPEC (Fedora and SuSe), them as well. Although, that part of description can be probably protected by some macros.

Notice that this YAML doesn't have a release info. Which, in practice, means that we have to make aggregation once in a while.
Advantage of having it in a SPEC would be easier control by developers in a longer run. For example, change links, add screenshots and such. It would also not need any central aggregation as it seems to be easy to generate package model from just parsing description for additional info.
So, to summarize, maybe adding it to SPEC would be better in longer term.

Ah, I hadn't thought of the first point. But I have a bunch of bug releases ;) Fair point.
Yeah, it did think it's a bit much if you also package for other distros. On the other hand, spec files permit conditionals. It does feel a bit spammy. On the other hand, it's quite descriptive :)
My thinking was, make a yaml stanza under description to start experimenting with what it might look like. Logic like sorting on Category and QML for displays can use the same field mappings even if later we see a need to move the data.
It does feel like a hack. I have to admit to liking hacks more than is healthy.

From discussion at IRC:

we would like to add that metadata into description of SPEC.
it is possible to use %if in description to drop out that metadata in Linux distributions or SFOS distribution channels that don't use it. it is up to developers to decide
for apps that don't supply this info, minimal info is displayed as it is now. I guess under "All packages" category

So, I suggest to have then %description in the format

%description
This is my awesome app

This is continuation of regular app description

name: Awesome App
category: Applications/Misc
...

So, the last paragraph of description would be parsed for YAML. Probably the other paragraphs should be processed for word alignment as well, using regular approach.
I will look into writing %description parser, hopefully tonight

Here is some progress on this.

Current code is https://github.com/piggz/sailfishos-chum-gui/tree/metadata
And an example .spec is https://github.com/piggz/harbour-advanced-camera/blob/metadata/rpm/harbour-advanced-camera.spec

I borrowed a few components from storeman, hope thats ok @mentaljam

Hi!
Sorry if missed, what's the benefit of using the description field of .spec? That a developer doesn't need to push some additional files to the Chum GitHub repo?

I borrowed a few components from storeman, hope thats ok @mentaljam

Which I've borrowed from the official store app😉

Looks nice!
Re keeping it in SPEC: it will simplify updates of the fields for developers. Other benefits are:

it avoids a nasty problem where you have to start matching RPMs to app descriptions. Same SPEC can define multiple packages, so it may become non-trivial
as RPM carries its own description, user will get only apps that (s)he has in the defined repo. As Chum apps don't always support all arch/SFOS release combinations, we get only relevant content automatically.

@piggz: I really love the fact that we have pulley menu working again :) .
Note that for Github and Gitlab we can detect many fields automatically as they have corresponding API. See my comments from earlier discussion over here regarding it. So, for those, we can even skip adding issues link in SPEC. But maybe we should start filing separate issues under chum-gui regarding design specifics.
As for BEGINCHUMMETADATA, let's avoid it. Instead, let's parse the last paragraph for Chum data in description. Note that you can avoid package field - we don't need to match package to metadata anymore. For GitHub, repotype can be dropped as that we can deduce automatically.
What about the list of packages? Have you had a chance to work on those?
Maybe you could push the changes into a new branch of chum-gui?
I'll be able to join you tonight, I hope. So, let me know where I should start. May I take Github API parsing, for example?

@piggz: Just saw that you convert YAML->JSON string and parse it in QML. As I'd like to add more integration with Github/Gitlab (such as showing current issues from there, release info for changelogs), it would make sense to parse it already in C++ and export data as properties. For example, "name" would be used to show package in the list and not the name of RPM. Similar exposure is expected for icon, number of stars in Github/Gitlab.

Would it make sense to use appstream as backend for metadata? Its already in a similar manager in gnome and kde.
https://www.freedesktop.org/wiki/Distributions/AppStream/

After some discussion, we ended by preferring adding metadata to SPEC description. See above for summary and pros/cons of that approach. In SPEC, we can, in principle have a link to appstream XML and load from there. However, I just remember how painful it was to fill it. See example of Pure Maps: https://github.com/rinigus/pure-maps/blob/master/packaging/pure-maps.appdata.xml . When you compare it with the examples above and the one used by @piggz, you could clearly see the difference. As we ask developers to fill it in, I would expect many would be happier to do it with SPEC extra than with appstream. Which would hopefully increase % of packages having such metadata.

I understand. Just asking did you try to generate the appstream metadata from rpm?
See here:
https://github.com/hughsie/appstream-glib#appstream-builder

Also appstream can use a yaml backend instead of xml.

https://docs.fedoraproject.org/en-US/packaging-guidelines/AppData/#_metainfo_xml_file_creation

When you compare it with the examples above and the one used by @piggz, you could clearly see the difference. As we ask developers to fill it in, I would expect many would be happier to do it with SPEC extra than with appstream.

If I compare the example here to one  the Fedora the difference is mainly XML vs YAML format.

@Thaodan, does appstream-builder support additional tags in RPM .spec? I don't know much about AppStream but fast googling makes me think that developers have to write additional metadata files in any case. For example, I didn't find a way how appstream-builder can get screenshots from a .spec file (searched here). On the other hand, if YAML is supported, it seems to me that it doesn't matter where you put the additional metadata: in the .spec or in the appstream file.
But the main disadvantage is that we return to the model with some kind of crawler for building the appstream metadata for OBS repositories.

I understand. Just asking did you try to generate the appstream metadata from rpm?

I don't remember doing it. Just note that we need data which is in addition to the one provided by RPM SPEC. So, while we can generate base XML (assuming that it works), it will have to be edited by developers further.

Also appstream can use a yaml backend instead of xml

I wasn't aware of it (https://www.freedesktop.org/software/appstream/docs/sect-AppStream-YAML.html#spec-dep11-example). In that example we have multiple apps, so only one section would have to be considered. I suspect that AppStream libs will fail to load if you don't provide some minimal info which, in part, maybe duplicating what is in SPEC already.
Now, we can support the both ways as well - instead of adding metadata in specified YAML spec, provide AppStream link. I just suspect, based on my experience of filling it, not many will be thrilled doing so. So, I'd prefer to have that little metadata section in SPEC and accept any PR coming our way that adds AppStream link support. :)

I'd like to suggest that we simply consider using the YAML field naming conventions from appstream but stick to first using the spec files. I've been doing a bunch of communicating with other developers and think it would be great, for the start  to keep the barriers low.

So, that would be some subset of https://www.freedesktop.org/software/appstream/docs/sect-AppStream-YAML.html#spec-dep11-fields ?

OBS also seem to support Appstream:
https://en.opensuse.org/openSUSE:AppStore

The devil is in the details. as @poetaster, I would keep the required info to minimal and as simple to enter as possible. Again, if OBS supports AppStream and there are developers wishing to use - sure, why not. Just someone would have to research the area and write the code. Use of AppStream parsers on partially filled data will most probably fail.
Note that when we have all data loaded from SPEC description field and all code working, it is possible to extend or convert to AppStream iff it will be found advantageous. At this stage, we have a bare-bones GUI that could really use some development. Taking into account the constraints, as discussed above, adding fields to SPEC description field looks to be the simplest way forward.

@piggz: I guess we could use some subset. They probably made some research before formalizing it and we can rely on it.

I pushed an update which uses the last paragraph method.
I also went through the appstream yaml, and tweaked the format @rinigus proposed into this:
name: Advanced Camera
package: harbour-advanced-camera
type: desktop-application
developername: Adam Pigg
categories:
- Media
- Video
custom:
- repotype: github
- repo: https://github.com/piggz/harbour-advanced-camera
icon: https://raw.githubusercontent.com/piggz/harbour-advanced-camera/master/harbour-advanced-camera.svg
screenshots:
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot1.png
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot2.png
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot3.png
url:
- homepage: https://github.com/piggz/harbour-advanced-camera
- help: https://github.com/piggz/harbour-advanced-camera/discussions
- bugtracker: https://github.com/piggz/harbour-advanced-camera/issues
- donation: https://www.paypal.me/piggz
Im still open to doing it either in the description, or, if OBS can generate the data easily, using that, but id like to see a demo of that.  Perhaps phase 2?

Ok. I was about to start implementing so it's good to know, uh, where. So, last stanza of Spec?
And a small nitpick: the field names in the appstream spec. are Name case. Should I use Name case?
And one last question, repotype is not really about type, that would be darcs, svn, git. So, we require git. Presumably we'll support gitea/gogs ?

@piggz, looks good! Thanks for pushing it into local branch.
I was looking into GitHub GraphQL API and will base Github support on that. It is rather handy and allows us to fetch exactly the data that we need and probably via single call per package page, without rather verbose extras as we get in REST API.  The sticky point is that we need to provide a token for accessing that API, even in read-only. However, I was thinking of creating a dedicated GitHub user and create a token for that. Similar API is available for GitLab. When I get to GitLab, we will see if we can support self-hosted instances - would depend on token requirements.
Looking at changed format, it seems to be fine. We don't need package field at all, as it is associated via SPEC already. We don't need repotype: github as that can be deduced from URL of repo. In case of GitHub (and probably GitLab), your example could be reduced to
name: Advanced Camera
type: desktop-application # not sure we need that
categories:
- Media
- Video
custom:
- repo: https://github.com/piggz/harbour-advanced-camera
icon: https://raw.githubusercontent.com/piggz/harbour-advanced-camera/master/harbour-advanced-camera.svg
screenshots:
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot1.png
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot2.png
- https://github.com/piggz/harbour-advanced-camera/raw/metadata/screenshots/screenshot3.png
url:
- donation: https://www.paypal.me/piggz

Developer Name (GitHub handle and probably full name) can be obtained from GitHub, homepage can be set in GitHub and could be either GitHub repo or any arbitrary page (see Pure Maps); issues have standard location; help can be set to discussions automatically, donation maybe as well, but I am not sure.
I would propose to load all data automatically from GitHub/GitLab and then merge it with provided YAML description taking into account that YAML-provided data overwrites automatic one. I am currently considering having an abstract package class with sub-classes for GitHub, GitLab, plain YAML implementations. That will allow to expand it later to AppStream as well. Will hopefully start on coding tonight...

Which brings me back to my last question which I would now switch to a recommendation. Let's not use apis we don't NEED to use. I've probably mised something, but what is it we need to fetch from the repos if we already have all the meta data in the spec?

And one last question, repotype is not really about type, that would be darcs, svn, git. So, we require git. Presumably we'll support gitea/gogs ?

it is more about API that allows to fetch info regarding a project.
As for need: it would allow to show Releases info and current issues. We can also show GitHub/GitLab forks, stars, and such. Whether it is an overkill, I don't know.
As for self-hosted: do you plan GitLab like? if so, this should work as long as you give us a token (not sure if it needed, will have to experiment first).

We don't need repotype: github as that can be deduced from URL of repo.

What about self-hosted GitLab instances?

@mentaljam : self-hosted would need it, indeed. Assuming we can get queries working on those - may depend on token availability. If token is required, we would have to add that together with URL base to support each self-hosted GitLab separately.
Right now I don't know how many apps we have in self-hosted GitLab instances. For Chum, I suspect it is zero or small number - at least nothing jumps into my mind.

@rinigus fine to have a minimal yaml, but id maybe keep some optional fields (was going to add that later) so that eg, if help is provided on a sfos forum post, that can be linked instead of detecting eg github discussions url.
also agree with @poetaster to use CamelCase

Ok. I was about to start implementing so it's good to know, uh, where. So, last stanza of Spec?

@poetaster, see https://github.com/piggz/harbour-advanced-camera/blob/metadata/rpm/harbour-advanced-camera.spec#L37

Then we may think about rather strict requirements for repositories: only git at GitHub or central GitLab. If someone prefer to use another VCS or another web-service for it they could use a separate GitHub/GitLab repo for storing packaging rules and metadata for Chum. In any case I don't think there would be much users who don't use GitHub/GitLab.

And one last question, repotype is not really about type, that would be darcs, svn, git. So, we require git. Presumably we'll support gitea/gogs ?

it is more about API that allows to fetch info regarding a project.
As for need: it would allow to show Releases info and current issues. We can also show GitHub/GitLab forks, stars, and such. Whether it is an overkill, I don't know.
As for self-hosted: do you plan GitLab like? if so, this should work as long as you give us a token (not sure if it needed, will have to experiment first).

I run gogs and gitea instances.  I still don't understand what data we need. Nothing against GraphQL ;)

Ok. I was about to start implementing so it's good to know, uh, where. So, last stanza of Spec?

@poetaster, see https://github.com/piggz/harbour-advanced-camera/blob/metadata/rpm/harbour-advanced-camera.spec#L37

Ok, so still under Description with conditional with newline between. Thanks!

@mentaljam : git / svn  and so on don't really matter. Plan is to use API that GitHub and GitLab provide to enrich user experience. For packages/apps that cannot do that, we can always use metadata provided via SPEC %description (and/or AppStream). As such, not strict requirement - we can always fallback to data we have.

@rinigus Ok. The need is not a need. But then, alternate app stores is kind of one of humanities big problems :).

Ok. I've updated 2 thus far. Im going to push the releases on chum:testing . These:
https://github.com/poetaster/harbour-beamdimension/blob/main/rpm/harbour-beamdimension.spec
https://github.com/poetaster/harbour-concretemixer/blob/main/rpm/harbour-concretemixer.spec
work?

Please drop "Package" field, it is not needed at all. If we keep it in examples, it will later will be adopted by all... :(

Yo. Sadly, these don't build.

As discussed at IRC. tar_git misreads SPEC and picks up 'Name' in Chum description section. Something a proper RPM SPEC parsing does not (as rpmspec, for example). To avoid clashing with tar_git, we should use some other keyword instead of name. mal suggested PackageName

It would be nice to add an url to a readme (markdown) to the package:
name: Dummy App
type: desktop-application # not sure we need that
categories:
- Media
custom:
- repo: https://github.com//johndoe/harbour-dummy-app/
icon: https://raw.githubusercontent.com//johndoe/harbour-dummy-app/master/harbour-dummy-app.svg
screenshots:
- https://github.com/johndoe/harbour-dummy-app/raw/master/metadata/screenshots/screenshot1.png
- https://github.com//johndoe/harbour-dummy-app/raw/master/metadata/screenshots/screenshot2.png
- https://github.com//johndoe/harbour-dummy-app/raw/master/metadata/screenshots/screenshot3.png
url:
- donation: https://www.paypal.me/johndoe
- readme: https://github.com/johndoe/harbour-dummy-app/raw/master/README.md

This could be rendered in Chum GUI instead of the description if present.

@black-sheep-dev: I have opened an issue at https://github.com/sailfishos-chum/sailfishos-chum-gui/issues/73 , will reply there.

All tasks in the original post of the first section "app" are fulfilled by the SailfishOS:Chum GUI application (hence I ticked these checkboxes), but for the section "web", the SailfishOS-OBS only provides the aspect "search" by its search field for the SailfishOS:Chum community repository.
Still I believe that is sufficient and this issue can be closed.

Agreed, it is sufficient. Closing.

Sorry for bumping a closed issue, but I have been working on a web interface for Chum, if you are interested. You can find its source code in this repo and the website running over here.
It is a static website generator written in Python, that runs every other day in GitHub actions and publishes the result to GitHub pages. The generated website lists all apps and packages by name and category, shows recently updated packages and has search functionality.
There are surely some improvements that could be made regarding functionality, design and others. If you have any suggestions, feel free to open an issue on the repo. Especially for the about page, since I mainly copied it from this README
I'd be interested in transferring it to the SailfishOS:Chum organisation if that's okay, so that the site can be published under the sailfishos-chum.github.io domain and so that the notice at the top of the site can be removed.

It is a static website generator written in Python, that runs every other day in GitHub actions and publishes the result to GitHub pages. The generated website lists all apps and packages by name and category, shows recently updated packages and has search functionality.

Neato! No hosting required :)

I'd be interested in transferring it to the SailfishOS:Chum organisation if that's okay, so that the site can be published under the sailfishos-chum.github.io domain and so that the notice at the top of the site can be removed.

I think this is a great idea.

I too think this is a great idea.  How are you determining recent  updates?  Can you order by update?  Could you also provide an API for the native app to order by update date?

I too think this is a great idea. How are you determining recent updates? Can you order by update? Could you also provide an API for the native app to order by update date?

In the primary.xml.gz file of the repository, I use the time in the file attribute of the time element in the package element. I assume this timestamp represents when the source to build the package was updated, but since I can't find any formal documentation of the format, it is just a guess. The best documentation I found was https://en.opensuse.org/openSUSE:Standards_Rpm_Metadata.
<metadata xmlns="http://linux.duke.edu/metadata/common" xmlns:suse="http://novell.com/package/metadata/suse/common" xmlns:rpm="http://linux.duke.edu/metadata/rpm" packages="1331">
    <package type="rpm">
        <!-- most properties omitted -->
        <time file="1694576425" build="1694576388"/>
    </package>
    <!-- Packages omitted -->
</metadata>

This seems to work well enough for now, but I suspect whenever a new repository is set up for a new Sailfish OS version, the time for all packages will be set to a little while after the new repository has been created.

@HenkKalkwater, great job! Indeed, it would be great to have it under this ORG. We will just make you an owner of that repository and you could continue your work on it without any problems. Reopening an issue, as it seems to be still closed

@rinigus I need to transfer the repository to someone who was the permission to create public repositories in the sailfishos-chum organisation. Can I transfer it to you, so you can transfer it to the organisation and add me back as collaborator?

Hmm, I think you can transfer directly. Try and we can see if it works

I get an error that I don’t have the permission to create public repositories on sailfishos-chum

Then we will make it easier - I'll import it :). One sec

Its currently as chum-web. When ready, we should rename it to something that goes into URL proposed by you. @HenkKalkwater, you should get an invite from Github for that repo

Okay, I got it deployed on https://sailfishos-chum.github.io/ and I have removed the notice at the top!

Congratulations! Closing here again and please announce it on the forum :)

Post on the formum: https://forum.sailfishos.org/t/announcing-chum-web/17593?u=ahappyhuman
Op Donderdag 14 december 2023 schreef rinigus:

Congratulations! Closing here again and please announce it on the forum :)
--
Reply to this email directly or view it on GitHub:
https://github.com/sailfishos-chum/main/issues/29#issuecomment-1856536781
You are receiving this because you were mentioned.
Message ID: @.***

@piggz

I too think this is a great idea. How are you determining recent updates? Can you order by update? Could you also provide an API for the native app to order by update date?

If the information is accessible from within the library you within chum-gui, I suppose that would have preference. Alternatively, I can provide either a RSS feed with the latest updates as an user requested or something like the package.json file that is currently generated to power the search results, but then sorted by update time.
What would have your preference?

I took the freedom to mark the last three un-ckecked tasks as done, as https://sailfishos-chum.github.io/ provides these features.


When using GBI with GhostBSD KDE

hostbsd@ghostbsd:~ % sudo gbi
No protocol specified
GLib-GIO-Message: Using the 'memory' GSettings backend.  Your settings will not be saved or shared with other applications.
Unable to init server: Could not connect to <IP_ADDRESS>: Connection refused
No protocol specified
Unable to init server: Could not connect to <IP_ADDRESS>:  �
/usr/local/lib/gbi/slides.py:20: Warning: g_object_get_qdata: assertion 'G_IS_OBJECT (object)' failed
styleContext = Gtk.StyleContext()
Segmentation fault
ghostbsd@ghostbsd:~ % sudo gbi

Hi,
It seems that you managed to start kde.
indeed using sudo gbi I have those messages.
It seems that in gnome, mate, xfce a polkit rule is used and is not installed in kde.
If we don't want to rely on any polkit rule for gbi we need to change install.py to be able to:
umount media/GhostBSD using sudo
stop and start hald using sudo
launch pc-sysinstall using sudo
and shutdown -r using sudo.
If we'll do that gbi won't depend of any polkit rule.


Add compound_objects

There are two options for objects with multiple items: to mark them as "compound_objects" or as "multiple" in the metadata table.
Depending on this, they are displayed differently on their item page. Here is an example with both versions:
https://koilebeit.github.io/forschung.stadtgeschichtebasel.ch
Both are easy to implement. However, it is necessary that all items of an object have their own row in the metadata csv and have the parentID assigned to it. (see also:  https://collectionbuilder.github.io/cb-docs/docs/metadata/compound-objects/#compound_object)
In my opinion, "multiple" objects only make sense if all (sub-)items are images.
@maehr  @mtwente what do you think? Is a PR necessary for this?

Thank you very much for your work. I think we do not need a PR for that but we need to figure out how to implement this for the import script from Omeka after the book presentation. Multiple if its the same type and compound for mixed types makes sense.


Cleaner Cuberite integration and world customizations

This PR fixes #71 and #54
The cuberite integration has been cleaned up so we now no longer have overlapping code.
To bump the cuberite version, we just increment the build number in the Dockerfile.
While cleaning this up, I took the liberty of adjusting the world.ini to generate an empty world instead of having one checked in to the repo.
The empty world was a little too empty for my liking, so I changed the config to generate a flat world underneath the containers.
This also reduced the complexity of the plugin code while also adding a new feature...
Introducing Customizations :tada:
You can transport your containers from the Plains to any other Biome of your choosing.
There are some examples of how to do this in the README along with images.
Oh, and if you are longing for the vanilla Dockercraft experience, you can use the Sky biome :grinning:
Additional minor fixes:

Added support for RC release of docker (now works on Docker for Mac beta)
Reformatted lua code with ZeroBraneStudio to get our indentation under control
Removed a stray binary that was checked in by mistake

One final implementation note...
I adjusted the addGround method to also addSky - it puts Air blocks in the spaces around the containers. This clears out any pesky trees that might be in the way... but it also allows you to do something cool, like putting all of your containers underground :)
I also seemed to be hitting a bug with Docker 1.13 RC3 - occasionally the container info didn't make it back and/or we were dropping block updates. This manifested as missing text on signs.
Strangely enough, disconnecting and reconnecting to the world cleared the issue.

Merging as master won't build due to new Cuberite runtime requirements (some missing apt-get invocations no doubt).


Thumbs down song won't play when clicking play button on song; freezes UI

OS:
Mac OS X Sierra (10.12.6)
Issue Descriptions:
Clicking play on a song that has a thumb down will not play the song. If this song is in a playlist/album of songs that are all thumbed down, the UI will freeze and you have to quit and re-open the application to get it working again.
Steps to Reproduce:

Click play on a thumb down song (song will not play; web client of GPM plays the song)

Have album or playlist full of thumb down songs
Click play on any song
Client UI will freeze, attempting to play next non-thumbed down song when there is none.

Sounds like you have enabled

Automatically skip disliked songs

You should disable it if you want to listen to those songs


Conflict Between Pruvious and my CSS Styles

I'm currently developing a Nuxt application that utilizes both Pruvious and Webflow for its frontend. However, I've encountered a significant issue where certain selectors from my Webflow CSS seem to interfere with Pruvious's styles, leading to a disruption in the intended visual presentation of Pruvious components.
Environment:

Nuxt Version: 3.10.3
Pruvious Version: 3.10.5
Node.js Version: 20 (used in my deployment environment)

Issue Description:
The main problem arises from Webflow's CSS selectors having unintended impacts on Pruvious's default styling, causing a departure from the expected look and functionality. This issue suggests a clash in CSS specificity or loading order that allows Webflow styles to inadvertently override Pruvious's styles.

Expected Outcome:
My goal is to integrate Pruvious into my Nuxt project seamlessly, ensuring that the style sheets from Webflow do not conflict with Pruvious. Ideally, there should be a method to isolate the styles from each other or ensure Pruvious's styles maintain their intended appearance regardless of the external CSS applied.
Steps to Reproduce:

Integrate Pruvious and Webflow CSS into a Nuxt project.
Observe that Webflow CSS selectors are impacting Pruvious's style, leading to visual discrepancies.
Attempt to resolve the conflict through CSS specificity and ordering without success.

Attempted Solutions:

Adjusting the import order of the CSS files in nuxt.config.ts to give precedence to Pruvious's styles.
Search for a configuration in Pruvious

Question:
Is there a recommended practice or solution within Pruvious or Nuxt's ecosystem to prevent such conflicts from occurring? Any guidance on ensuring Pruvious's styles are unaffected by external CSS libraries like Webflow would be highly appreciated.
Thank you for creating Pruvious, and I look forward to your suggestions on resolving this style conflict.

I think i've resolved the problem finally by reordering css import at the end of my nuxt.config.ts and by cleaning cache. If this issue happen again, i'll will reopen it.


add '.github' folder and PR template

Closes #1
Added the "github" folder and created the pull request template.

@avie-dev  Can you please take a look at this pr

And one more question why are there two bots for this repo when we only deployed it on Vercel ??


Feature: Ability to select the display being rendered to

I’m looking to remotely control at least two instances of mpv, with the ability to select which display output each instance renders to.
Is this currently possible?

Multiple MPV instances supported by this API. If you're on default config your first server will be accessible on port 8000 and your second instance available on 8001 (Of course if it's free, the API finds a free port on the provided range)
If you want to move MPV instances between your displays (Monitor), it's not supported by this REST.API yet.  I don't know if it's even possible with MPV IPC, it seems System API related thing to me. Maybe these options can help you
I'll do some investigation on the weekend and add this as feature if  implementable. If you have any progress let me know!

Excellent thank you
I see the following options that look promising:
--screen=<default|0-32>
In multi-monitor configurations (i.e. a single desktop that spans across multiple displays), this option tells mpv which screen to display the video on.
--fs-screen=<all|current|0-32>
In multi-monitor configurations (i.e. a single desktop that spans across multiple displays), this option tells mpv which screen to go fullscreen to. If current is used mpv will fallback on what the user provided with the screen option.

Sorry for a late response. I don't have good news, setting the screen or geometry even by using MPV command line seems not to work. For example if you run MPV with these flags nothing happens :
mpv --idle --force-window --screen=x
# or setting geometry manually.
mpv --idle --force-window --geometry=x:y

I've tested these commands on Fedora 37 VM which uses Gnome and Wayland as compositor  and on my host machine which using Pop OS with I3 on X11.
Maybe you could get this working on MAC or Windows. If you try these commands on your machine and it's working for you I'll add it to the mpv-remote-node project.
MPV documentation entries for screen and geometry flags.

working in windows 10/11 for me.
example:
for main screen
mpv --no-osc --loop-playlist=inf --no-keepaspect --no-border --ontop --image-display-duration=5 --idle=yes --fullscreen --screen=0 --title=player1 --audio-device=wasapi/{53669d3f-8de4-41bf-a2e5-c541aa3bceca}
for extended screen
mpv --no-osc --loop-playlist=inf --no-keepaspect --no-border --ontop --image-display-duration=5 --idle=yes --geometry=1920x1080 --screen=1 --title=player2 --audio-device=wasapi/{43822032-bd4b-4e9b-8ba4-c3cc1aac4757}

this works for me in windows 10/11
main screen
mpv --no-osc --loop-playlist=inf --no-keepaspect --no-border --ontop --image-display-duration=5 --idle=yes --fullscreen --screen=0 --title=player1 --audio-device=wasapi/{53669d3f-8de4-41bf-a2e5-c541aa3bceca}
extended screen
mpv --no-osc --loop-playlist=inf --no-keepaspect --no-border --ontop --image-display-duration=5 --idle=yes --geometry=1920x1080 --screen=1 --title=player2 --audio-device=wasapi/{43822032-bd4b-4e9b-8ba4-c3cc1aac4757}


Cherry pick #49284 to release-4.7

Cherry pick #49284 to release-4.7

I guess I'm going to also use this PR as a check to get a sense of regressions. Not sure if it will work off of main.
@typescript-bot test this
@typescript-bot user test this inline
@typescript-bot run dt
@typescript-bot perf test this


How to use

Hello, I have read the documentation of your library, but I'm still not clear about how to use it. I want to obfuscate Swift code, and I'm not sure what the generated Confidential.generated.swift file is for. Does your library only handle constants in the code, or can it obfuscate the entire code? Do you have any sample projects or examples?

Hi @ximlu, the short answer is: no, you cannot use Swift Confidential to obfuscate Swift code per se.
Swift Confidential, as stated in the repository description and README, is a Swift literals obfuscator, and as such it was designed to be used for obfuscating fixed values (currently, strings and arrays of strings are supported) that you reference in your source code. With that said, you can use it to obfuscate the selected literals that you specify in the confidential.yml configuration file, but you cannot use it to obfuscate the symbols (i.e. the code itself).
As for the sample project, there is a plan to create a sample iOS app that would showcase the use of Swift Confidential (and much more) + an interactive DocC tutorial. Hopefully then it will be easier for everyone to understand how to make the best use of our Open Source projects.

Closing as there are no further comments or questions from the issue's author.

Hi @mgutski , same question here. I don't know how to generate Confidential.generated.swift file. Could you help to provide the detail?

Hi @mgutski  , same question here. I don't know how to generate Confidential.generated.swift file. Could you help to provide the detail?

Hello @trinhtranduc, I need more context to be able to help you. Could you perhaps tell me what setup are you trying to achieve and which part of the Getting started guide are you having trouble with?

Hi @mgutski , thanks for your response. I'm able to integrate the library successfully now. If you don't mind, please help me another situation. Assume, i have an example below:
enum Environment: String{
    case development = "Development"
    case staging = "Staging"
    case production = "Production"
}

Does the library support as below? If not, do you have any suggestion?
enum Environment: String{
    case development = Secrets.$development
    case staging = Secrets.$staging
    case production = Secrets.$production
}

Thanks


Some parsing mistakes

Hi,
Consider the template at http://pastie.org/2954801. There's a couple of things going wrong here:

the outline isn't correct, because the parser cannot distinguish between single tags, and ranged tags, for example:

{% set test = 5 %} is parsed as an opening tag, even though it has no closing tag.
{% set test %}5{% set %} is parsed correctly
The same goes for blocks:
{% block pageTitle "test" %}
{% block pageTitle %}test{% endblock %}

I'm getting some obscure warning on line 27, {{ (labour.financialStatus.id is sameas(30))|tick }}:
"mismatched input '(' expecting PRINT_CLOSE"

Lines 30 and 31 also gives a strange warning {% set projectHours = projectHours + labour.hours %}
"no viable alternative at character '+'"

Regards

the outline problem is actually a bit tricky. The way it's implemented is that i basically use the PHP sourceelement requestor which detects the start/end positions of methods/classes etc and reports the structure of the sourcemodule to the Dynamic Language Toolkit which then renders the outline.
So each tag you see in the outline is actually a fake PHP method reported to the DLTK engine. Now this model does not know "optional" end tags - which is why i probably need to rewrite this functionality.
The validation errors are related to the ANTLR parser, which i am also thinking about re-writing from scratch...
So it might take some time to until this issue is closed.
If you have some background in ANTLR or even better jflex, you can checkout the parsers and speed this up a bit ;)

@Burgov: btw. you can switch to the "html" view in the outline window as a workaround.

the validation feature has been completely removed in 1.0.95. it was too buggy and it such a feature makes only sense if it works 100% correctly. As i don't think it adds much value to the plugin, i removed it for now as maintaining it is very time-intensive. It maybe added in a future version.
As for the outline and folding problems, this has been fixed in 1.0.95: see http://blog.dubture.com/2012/01/twig-eclipse-plugin-parser-rewrite.html for details.


Fix memory leaks in qiradb

PyDict_SetItem(d, k, v) calls Py_INCREF on k and v, so Py_DECREF needs to be called on k and v afterwards to avoid a memory leak. This reduces qira's memory usage drastically. Qira was OOM'ing on my trace (with 3.5GB of RAM), but now it uses only about 300MB.

Woah, nice find! Thanks!


okay and thanks for letting me work on themes

I would like to add more themes as the time pass

Thank you!


Add support to insecure registry

Missing an option to push to an insecure registry.
It's common  for development and integration tests
Log:
time="2018-05-14T18:59:03Z" level=info msg="pushing layers" exporting the image <IP_ADDRESS>:5000/tsuru/go:latest failed: failed to do request: Head https://<IP_ADDRESS>:5000/v2/tsuru/go/blobs/sha256:a440082623eba20362e20fea387de304e5fe1d6cce355e7189e39ed7d79fdc07: http: server gave HTTP response to HTTPS client

Personally I think it's better to spin up TLS at the registry and add an option like --insecure-skip-verify or something to img.

And also need to add a method to trust customized ca-certs, to support private, ssl-enabled registry.
both pull and push need that.

@ChaosEternal, not really if you do trust any cert (with --tls-insecure-skip-verify).
btw, it seems that this issue should be closed already?


Feat: credential WIP

TODO: test coverage, probably some refactoring

Replaced by https://github.com/Health-Education-England/tis-trainee-details/pull/264 to simplify the commit history.


clusterize with masonry/packery/isotope can be imaginable ?

I have a lot of data, but not per row, i use packery.js for a nice display.
Do you think i can make it work with clusterize.js ?
thanks !

Hi Stephane
Nope, items in those plugins are absolute-positioned.
Same "show/hide" technique of course may be applyed there too, but not with current Clusterize implementation

i have try :)
Thanks a lot !


Small enhancements for install_deps.sh

Coverage remained the same at ?% when pulling 6511071af1b44e9be7caaeaa526a89fc4bf5e746 on fedj:deps into 253dbfcf2a4d245c615cd37309b0d950f26e18a0 on criteo:master.


BetterTransformer support for VisionEncoderDecoder models like TrOCR

Feature request
I would like for there to be support for Vision Encoder Decoder models, such as TrOCR, with the BetterTransformer tool.
Motivation
I have a TrOCR model I want to speed up inference for (reducing latency). I've tried every quantization option I could, and none of them are speeding up my inference. If BetterTransformers could support the VisionEncoderDecoder model type, that would make my life a whole lot easier!!
Your contribution
I'm not very knowledgeable about open source contribution, especially on such a big project with so many complicated parts, so I don't know if I could really help with this.

Would also like to see this implemented for Donut models leveraging the VisionEncoderDecoder framework.


Fix loading GDExtensions in exported games

Fixes an issue introduced by PR https://github.com/godotengine/godot/pull/91166
In current master, GDExtensions will fail to load in exported projects. I noticed it first on Android, because you need to export in order to run on Android, but I've tested that this is the case for a desktop Linux export as well.
Basically, we're getting the absolute path a little earlier than we should, which works when running the unexported project from the editor, but doesn't when the .gdextension file is in the PCK file - we need to still use the res:// path for loading that.
This PR fixes the issue in my testing on both Linux and Android!

Thanks!


[BUG] Separator Widget got removed when toolbarType is changed..

Describe the bug
When we change the toolbarType default(nativeScrollable) to any of the other options like nativeExpandable or nativeGrid then separatorWidget got removed.
To Reproduce
Steps to reproduce the behavior:

Under HtmlToolbarOptions property
set the toolbarType to toolbarType: ToolbarType.nativeGrid or nativeExpandable
See the below screenshots

Expected behavior
Even if we changed the toolbarType to any of the options separatorWidget need to show somehow.
Screenshots
when toolbarType is nativeGrid

When toolbarType is nativeExpandable and expanded manually

Device:
Found in Flutter web
Additional context
Also found this strange that if toolbarType is nativeExpandable and if toolbar is expanded then only separatorWidget got removed otherwise when it's not expanded then separatorWidget are shown.

any update @tneotia ?


Player

Reloading scene on death breaks a lot of things
Player can kill themselves with the dagger

On player death, walking sounds can still be heard