Buttons "Failed to load on" on iOS only

Hi,
Using the Safari inspector, I see JS errors appearing in the simulator. I don't have any problems when building/compelling my app.
I've tried removing, then re-adding the plugin (ionic plugin add cordova-plugin-themeablebrowser). No success.
It does not seem to create ic_buttons in platofrms/ios/myApp.xcodeproj/project.pbxproj
On my iOS device (and in the simulator) no navigational buttons appear. On android- it works fine.
Any suggestions?


Support double quoted alias names

SELECT field AS "My Field" FROM t1
Vitess does not appear to support double-quoted alias identifiers. I'm only able to get the above query to work as the following:
SELECT field as MyField FROM t1

This is a known shortcoming. Supporting this is non-trivial because there are many places where alias names are expected to follow variable naming conventions. For example, we generate bind var names based on alias names. But there may be other such dependencies that we don't know of.
If it's a showstopper, we can prioritize this. Otherwise, I'd wait till some of the more critical features are done.

Not a showstopper by any means.


python/driver/snowflake: TypeError: init() got multiple values for keyword argument 'database'

I'm using the following libraries to connect to Snowflake with ADBC:
adbc-driver-flightsql==0.6.0
adbc-driver-manager==0.6.0
adbc-driver-snowflake==0.6.0
I'm encountering an error in specifying only the conn_kwargs to establish a connection.
import os
import adbc_driver_snowflake.dbapi
from dotenv import load_dotenv

load_dotenv(override=True)

conn = adbc_driver_snowflake.dbapi.connect(conn_kwargs={
    "_".join(k.split("_")[1:]).lower(): v
    for k, v in os.environ.items()
    if k.upper().startswith("SNOWFLAKE")
})

I've ensured the parameter isn't somehow duplicated.

Could this be from?
https://github.com/apache/arrow-adbc/blob/a9c381d2203b28558739f99a8e770d6ab6a50b66/python/adbc_driver_snowflake/adbc_driver_snowflake/dbapi.py#L120
This is normally how I setup my connections with the Snowflake Connector for Python.

What is the traceback?

Should have included that, sorry!
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
Cell In[12], line 7
      3 from dotenv import load_dotenv
      5 load_dotenv(override=True)
----> 7 conn = adbc_driver_snowflake.dbapi.connect(conn_kwargs={
      8     "_".join(k.split("_")[1:]).lower(): v
      9     for k, v in os.environ.items()
     10     if k.upper().startswith("SNOWFLAKE")
     11 })

File [/opt/conda/lib/python3.11/site-packages/adbc_driver_snowflake/dbapi.py:120](https://vscode-remote+dev-002dcontainer-002b7b22686f737450617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c6573222c22636f6e66696746696c65223a7b22246d6964223a312c22667350617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c2265787465726e616c223a2266696c653a2f2f2f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c2270617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c22736368656d65223a2266696c65227d7d.vscode-resource.vscode-cdn.net/opt/conda/lib/python3.11/site-packages/adbc_driver_snowflake/dbapi.py:120), in connect(uri, db_kwargs, conn_kwargs, **kwargs)
    118 try:
    119     db = adbc_driver_snowflake.connect(uri, db_kwargs=db_kwargs)
--> 120     conn = adbc_driver_manager.AdbcConnection(db, **(conn_kwargs or {}))
    121     return adbc_driver_manager.dbapi.Connection(db, conn, **kwargs)
    122 except Exception:

File [/opt/conda/lib/python3.11/site-packages/adbc_driver_manager/_lib.pyx:632](https://vscode-remote+dev-002dcontainer-002b7b22686f737450617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c6573222c22636f6e66696746696c65223a7b22246d6964223a312c22667350617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c2265787465726e616c223a2266696c653a2f2f2f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c2270617468223a222f55736572732f7477686974652f5653436f646550726f6a656374732f736e6f77666c616b652d616462632d6578616d706c65732f2e646576636f6e7461696e65722f646576636f6e7461696e65722e6a736f6e222c22736368656d65223a2266696c65227d7d.vscode-resource.vscode-cdn.net/opt/conda/lib/python3.11/site-packages/adbc_driver_manager/_lib.pyx:632), in adbc_driver_manager._lib.AdbcConnection.__init__()

TypeError: __init__() got multiple values for keyword argument 'database'

I'm guessing the fact that there's also a named parameter named database is screwing it up. That said, the option name is actually "adbc.snowflake.sql.db", not "database", and it needs to be passed as db_kwargs. (See adbc_driver_snowflake.DatabaseOptions.)

That would make sense! I still seem to need help to run into trouble. I can get connected using a pure URI, but when I specify the arguments in various ways optionally, it doesn't establish the various contexts.
I rewrote the first part of my code to organize things a bit more for testing purposes:
import os
import adbc_driver_snowflake.dbapi
from dotenv import load_dotenv

load_dotenv(override=True)

connection_params = {
    "_".join(k.split("_")[1:]).lower(): v
    for k, v in os.environ.items()
    if k.upper().startswith("SNOWFLAKE")
}

def format_uri(connection_params) -> str:
    user = connection_params.get('user')
    password = connection_params.get('password')
    account = connection_params.get('account')
    return f"{user}:{password}@{account}"

Now I am trying both (swapping db and database)
conn = adbc_driver_snowflake.dbapi.connect(
    uri=format_uri(connection_params),
    db_kwargs={
        "db": "TWHITE",
        "schema": "COMMON",
        "role": "SYSADMIN"
    },
)

cur = conn.cursor()
cur.execute(operation="SELECT CURRENT_DATABASE();")
cur.fetchall()

and
conn = adbc_driver_snowflake.dbapi.connect(
    uri=format_uri(connection_params),
    db_kwargs={
        "database": "TWHITE",
        "schema": "COMMON",
        "role": "SYSADMIN"
    },
)

cur = conn.cursor()
cur.execute(operation="SELECT CURRENT_DATABASE();")
cur.fetchall()

and it keeps resulting in [(None,)].
I can get by just using the URI, but this will take me a little while to get used to. :)

So again: the option isn't schema, it's adbc.snowflake.sql.schema. Does that work for you? The dev docs have an example of some of the other options.

That is working! Sorry, for whatever reason, I have to get used to the namespace.
Here's what I've got now; we're good to go!

conn = adbc_driver_snowflake.dbapi.connect(
    uri=format_uri(connection_params),
    db_kwargs={
        "adbc.snowflake.sql.db": connection_params.get("database"),
        "adbc.snowflake.sql.schema": connection_params.get("schema"),
        "adbc.snowflake.sql.role": connection_params.get("role")
    },
)

I'll likely fiddle with it more to switch things around, but this works great for now. I genuinely appreciate your help!

Cool! Yeah, the namespace is a little confusing; possibly we can make the Python bindings be 'smarter' about this

I'm not sure if it would be worthwhile to mimic the Snowflake Python Connector's behavior with the args, as the URI stuff is always available, but not what most end users are doing to connect, I don't think.
Might be cool to fiddle around though do more conditional checking or something.


Image scale & scan

from all the videos on YT i originally thought the width and height parameters determine the scale of the picture :-)
soo, is there a way to scale pictures or find them no matter the scale ?
most games scale with the window (which i can imagine i would be able to calculate from the window sizes)
but some games and apps also let you ZOOM, which makes scanning for elements much more trickier ;-(
in my current scanning project, the game has a tilemap, and soo i need to find the contents of each tile for further processing
im thinking if i can find the scale of 1 tile i can scan for images with that scale on the entire rest of the screen ... yay
( currently my only option is to do lots of math and loops with pixel scanning and checking, travelling 1 pixel at a time XD )

DW, i will Start with trying to "force" a singular size (by resizing the window in specific way and zooming ingame ALL the way to the max)
and probably End up with sth. like, pixelsearching for tile sizes and then checking colors of specific pixels to determine the type of the tile XD
maybe i will end up finding another library that does img scaling and incorporate it into yours ( if so i will let you know ;-) )
the only thing i can think of is trying all the sizes in a loop untill i find it ... OHNO bruteforce !


Fix log message windows.cmd

I think this fixes the Missing closing " quote I see in the build logs.

Thanks a lot!


Site to site OpenVPN (p2p/shared key) allow /32 tunnel networks

Mentioned in #2529
I thought this case is handled somewhere, but I've just tried and indeed it accepts it, then openvpn_get_interface_ip() blindly generates a pair of addresses from it.
I can take it up if you tell me where is the code where validation should occur.

the code to fix here is the validation for tunnel networks in the vpn_openvpn_server.php page during saving a server instance. the code folds back to openvpn.inc but I would like to mention the flow of the data here. The goal is to prevent accepting a faulty tunnel network in the first place, not refusing to generate a config later on which would lead to dysfunctional OpenVPN service or user scratching their heads why their accepted instance isn't running as expected. :)

399d719edebcdc7cbe582e73357dab2ea785c362 should do the trick

Looks good, thanks!

Okay, closing, thanks!


Pcuq ads remove esa copyright

As discussed during RS RR v1.1 addon, I propose to suppress ESA copyright.

@pcuq-ads You shall request the PR on the develop branch.


Fix: scroll thing

Currently its like one page come from left and snap to right change that to as we scroll and add snap to it like when user scroll then it direct scroll to that div with some smooth scroll

I'd like to contribute on this. Do you want the scroll to still be horizontal or change it to vertical scroll? @Rajkumar-justcoder

I'd like to contribute on this. Do you want the scroll to still be horizontal or change it to vertical scroll? @Rajkumar-justcoder

Change to vertical with snap effect and smooth scrolling


Review and release the fixes for reset handling, caching, and various inconsistencies

Issues described in #1212 and #1226 and #1211 have been resolved but the PR (https://github.com/atsign-foundation/at_server/pull/1242) needs reviewing and then the server needs to be released.

PR https://github.com/atsign-foundation/at_server/pull/1242 merged to trunk

Closed by https://github.com/atsign-foundation/at_server/releases/tag/c3.0.28c


Add tests to verify correct file encoding behavior against project systems

This is a tech debt follow up to https://github.com/OmniSharp/omnisharp-roslyn/pull/727
We should add tests to verify files with different BOM.

The current state of the branch doesn't have these calling sites. The files are now being opened through
Microsoft.CodeAnalysis.Workspaces.dll. The other places where we are opening the source files are also not opening these files directly.
@DustinCampbell @filipw @TheRealPiotrP  I'll close the issue tomorrow if there are no objections.

Looks reasonable to me.

Fine by me.

@DustinCampbell as an owner in this repo, can you close the issue?

Sure. We've made a lot of changes around this area to just rely on Roslyn better, which should handle this for us.


allow processing of content as jinja templates

This is done with a little bit of a hack. My original thought as to create a jinja extension that provided a special tag {% templatized_string content.body %} or some such nonsense, similar to {% include %} but with a supplied string as the source. That ended up being much more complicated than simply creating a function that instead did the following:

Hash the string to generate a unique id for that content
Write that string to a a file named as its hash to a temporary directory that sits in the front of the template search order
Return that string.

In this way, the following works:
{% include string_as_template(arbitrary_string) %}


correct pattern letters used in JDateTime#.DEFAULT_FORMAT?

Hi,
does the current default format pattern (jodd.datetime.JDateTime.DEFAULT_FORMAT) use the correct pattern letters?
small code snippet
final long time = new JDateTime(2011, 11, 1, 9, 10, 12, 567).getTimeInMillis();

System.out.println("format Date with JDateTime#Default_Format -> " + new SimpleDateFormat(JDateTime.DEFAULT_FORMAT).format(new Date(time)));
System.out.println("format Date with slightly changed format -> " + new SimpleDateFormat("yyyy-mm-dd hh:mm:ss.mss").format(new Date(time)));

The Output is:
format Date with JDateTime#Default_Format -> 2011-11-305 09:10:12.1012
format Date with slightly changed format -> 2011-10-01 09:10:12.1012

In my opinion the default format pattern should be : yyyy-mm-dd hh:mm:ss.mss.
WDYT?
Bye,
Sascha

note:
code snippet with java.time.LocalDateTime and its Formatter
LocalDateTime localDateTime = LocalDateTime.of(2011, 11, 1, 9, 10, 12, 567);

System.out.println("format with slighty changed pattern -> " + localDateTime.format(DateTimeFormatter.ofPattern("yyyy-mm-dd hh:mm:ss.mss")));
System.out.println("format with JDateTime#Default_Format -> " + localDateTime.format(DateTimeFormatter.ofPattern(JDateTime.DEFAULT_FORMAT)));

outpout:
format with slighty changed pattern -> 2011-10-01 09:10:12.1012

java.time.DateTimeException: Field DayOfYear cannot be printed as the value 305 exceeds the maximum print width of 2

If the format is yyyy-mm-dd hh:mm:ss.mss, how to distinguish months and minutes?
JDateTime uses the ISO standard plus some additions (see Iso8601JdtFormatter) that are not specified by the standard.
SimpleDateFormat uses some mix of capital and lower letters, and it was released much after the JDateTime :)))
Are you suggesting to make compatible patterns to SimpleDateFormat?
We can provide additional SimpleDateFormatter that would make formatting by using the SimpleDateFormatter and to make DEFAULT_FORMAT to be configurable (not final).

Ups - i am mixing two different domains - my fault!
Well, let us wait until someone needs a SimpleDateFormatter.
Thanx for clarification!


Playwright 1.4.x

Issues

ffmpeg needs to be installed (not available on circleci/node:12.18.2-buster-browsers)

quick fix is to sudo apt install ffmpeg
better fix would be to build custom docker image

domain.enter is not a function

Status
Closed #1013 and will wait for another release which should hopefully fix these issues
It seems 1.4.1 should fix things
Playwright issues

https://github.com/microsoft/playwright/issues/3845
https://github.com/microsoft/playwright/issues/3848

Notes
It seems the docker images require ffmpeg to be installed
Tried using the official playwright docker image but make is missing, which we are using for sjcl (anonymous tokens):
Compression: none
/bin/sh: 1: make: not found

Installed ffmpeg via a sudo apt install ffmpeg
Now have an error with domain.enter is not a function:
+ yarn ts-node -r tsconfig-paths/register -T -P test/tsconfig.json test/playwright/logout-test.ts
yarn run v1.22.4
$ /home/circleci/project/node_modules/.bin/ts-node -r tsconfig-paths/register -T -P test/tsconfig.json test/playwright/logout-test.ts
TypeError: domain.enter is not a function
    at Proxy.EventEmitter.emit (domain.js:504:10)
    at Connection.dispatch (/home/circleci/project/node_modules/playwright/lib/client/connection.js:107:25)
    at Immediate.<anonymous> (/home/circleci/project/node_modules/playwright/lib/inprocess.js:39:85)
    at processImmediate (internal/timers.js:456:21)
    at process.topLevelDomainCallback (domain.js:137:15)

This even happens locally on my Mac
Tried Node 14 to see if it was domain stdlib changes with #1016, but no dice

https://github.com/microsoft/playwright/issues/3932

https://github.com/microsoft/playwright/issues/3696#issuecomment-708203957


Vertical speed of active waypoint not present for all generated aircraft while simulating scenarios

Hi,
While trying the trafgen plugin, I came across the issue shown in the screenshot below.

I did some debugging and it turns out that the problem occurs in the ComputeVNAV method and happens because bs.traf.actwp.vs does not the correct number of elements, hence the index out of bounds error. To test this I printed bs.traf.vs, bs.traf.gs, bs.traf,tas and bs.traf.id and the number of elements increases with each newly generated aircraft, while this does not happen for bs.traf.actwp.vs.
I tried running also simulating scenarios without using the trafgen plugin, more specifically I just ran the demo scenarios and the same issue came up. I think this might be happening because aircraft get generated faster than the variables are updated, but I'm not sure.
I'm using Windows 10 and running the qt version of bluesky.
Any hints would be greatly appreciated as this is a blocking issue for me.
Cheers,
Ralvi

Dear Ralvi,
Please check if your bluesky version is at least at commit 8217c42, which includes a fix for similar issues. If you already have bluesky up to this version or if it doesn't fix your problem, please make a minimum working example scenario file which replicates this crash and post it here.

Dear Joost,
Thanks for the reply. Getting the latest version seems to have fixed the problem, so far the issue hasn't occured again. There was one other thing that came up after updating, which as far as I can rememeber didn't occur before (it could be that the previous issue happened before so the part of this new issue was never run).

I managed to resolve it by substituting kwikdist with kwikqdrdist, though I'm not quite sure this is the correct way to solve this.
Cheers,
Ralvi

Looks like that was just a bug in the trafgen plugin, should be fixed in 09ba8ce.

Perfect. I'll go ahead and close this, as everything seems resolved. Thanks.


[Bug]: Millennium does not function properly when offline

Before Reporting

[X] I found no existing issues matching my bug
[X] My issue is not caused by a theme

Describe the Bug
When I try to launch Steam when my wifi is turned off, Millennium does not seem to do anything (theme is disabled, plugins are not loaded, settings ui is vanilla). This does not happen when wifi is on and I am connected.
Expected Behavior
Millennium should function as normal (minus update checking) when offline.
Steps To Reproduce

Turn off wifi in windows settings.

Launch steam. (I did it in dev mode using a shortcut: "C:\Program Files (x86)\Steam\steam.exe" -cef-enable-debugging -dev.)

Steam looks and acts like it does before installing Millennium.

Operating System
Windows
Anything else?
Logs:
debug.offline.log
debug.online.log

debug.no_plugins.after_uninstall_and_reinstall.log

I kept this open for a while, and it seems no one else has this issue, so I'm going to close it for now.


BundlerEnv UTF-8 encoding

Issue description
When trying to install certain gems through bundlerEnv (namely xcode-install) the nix-shell crashes while building packages, specifically when trying to execute gen-bin-stubs.rb for the gem.
Trying to track down the issue, it looks like the problem is that one of the executables uses the 🎉 symbol which isn't ASCII-safe and the script ultimately breaks here.
Modifying the gen-bin-stubs script and printing out the LC_ALL and LANG ENV values leads me to believe bundlerEnv is wiping the environment out as they both end up nil.  Checking the default external_encoding in the script thereby shows Ruby is using US-ASCII, which causes the encoding snafu.
Is there any way to properly inject these variables into the bundlerEnv to account for this?  Manually changing the script to read the file as UTF-8  gets around the problem but I'm pretty sure that's not a good fix-all.  Workaround looks like
executables = File.read("#{path}/nix-support/gem-meta/executables", :encoding => 'utf-8').split

Another alternative (again not a great solution) is to set the default external encoding at the beginning of gen-bin-stubs through
Encoding.default_external="UTF-8"

The actual environment settings (outside of nix) uses
LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8

Relevant piece of the default.nix script
with import <nixpkgs>{};

let
    gems = bundlerEnv {
        name = "test";
        inherit ruby_2_3;
        gemdir = ./.;
        # gemfile = ./Gemfile;
        # lockFile = ./Gemfile.lock;
        # gemset = ./gemset.nix;
    };
in

stdenv.mkDerivation rec {
    name = "test";
    version = "0.1.0";
    preInstall = ''
    unset GEM_PATH
    '';
    buildInputs = [
        # Ruby
        ruby_2_3
        bundler bundix
        libxslt libxml2 pkgconfig libffi libiconv
        gems

        wget
    ];
}

Steps to reproduce
Create a gemfile with xcode-install, generate the Gemfile.lock, and define the gemset.nix using bundix.
Running nix-shell should display the error. (e.g.)
/nix/store/wz11skksfy6ps3kprd4g2w8x4c50xas4-gen-bin-stubs.rb:21:in `split': invalid byte sequence in US-ASCII (ArgumentError)
       	from /nix/store/wz11skksfy6ps3kprd4g2w8x4c50xas4-gen-bin-stubs.rb:21:in `block in <main>'
       	from /nix/store/wz11skksfy6ps3kprd4g2w8x4c50xas4-gen-bin-stubs.rb:17:in `each'
       	from /nix/store/wz11skksfy6ps3kprd4g2w8x4c50xas4-gen-bin-stubs.rb:17:in `<main>'
builder for ‘/nix/store/fsnrwx4wkngg8jxgyshyfdfhdj5368z1-test.drv’ failed with exit code 1
error: build of ‘/nix/store/fsnrwx4wkngg8jxgyshyfdfhdj5368z1-test.drv’ failed

Technical details
System: Darwin
Nix version: 1.11.7
Nixpkgs version: 17.09pre102933.26625c9
Sandboxing enabled: no

Installing glibcLocales seems to allow me to properly set the encoding with
export LC_ALL="en_US.utf-8"
export LANG="en_US.utf-8"

at various points, but none of which have any real impact.  Adding a custom gemConfig doesn't help because it's not the actual build of the gem that is having issues, and the postBuild action is applied after stubbing so it's already failed.
The best workaround I've been able to come up with so far is to circumvent bundlerEnv by using buildRubyGem and maintaining a secondary gemset.nix file that only has xcode-install and its dependencies.  If there's a better way to do this I'd still like to know because this seems like bad practice.

I believe the issue you are running into is in building the dependencies for your shell environment, and in the environment those dependencies are build, only the C and POSIX locales are available so it really doesn't matter what you set LANG or LC_* to.
You can see this by looking at the output locale -a gives in the standard builder environment
nix build '(with import <nixpkgs> { }; runCommandCC "locales" { } "locale -a")'
nix-store -l <path of derivation>

C
POSIX


Python Interface

Now that we have a stable public API of the solver, we want to expose a python interface to the solver as well. This would enable us to hook in to CPMpy as well.
For this we can use https://pyo3.rs/, but further options can be investigated.

Konstantin likes to connect Rust and Python, he could likely give a few pointers!


[FEATURE] MagicCap Example

Description
I am having a really tough time getting MagicCap working for Mac. Is there someone who knows how to use it that can send their example?

Closing in favour of #134


LL-3857 change wording and condition of a lending banner

https://ledgerhq.atlassian.net/browse/LL-3857

I don't understand, Supplied: Amount supplied < Amount enabled is not possible to pass the condition because of getSupplyMax(account).eq(0)


Emit done event on rolling-update with no hosts

@staffan @rohansingh

:-1: The rolling-update op factory today contains only logic for acting on and moving between tasks in a rollout. Adding logic to it where around how to start rolling-updates seems out of place -- for example, the start() method cannot be called once a rolling-update is started, and nextTask() and error() cannot be called unless it has already been started.
IMO, a better, but still not that nice, solution would be to just return a RollingUpdateOp from  getInitRollingUpdateOps (it doesn't need to be created by the factory).
Although, at that point maybe it should be renamed to ZkOpsAndEventsPair or something like that :)

So I believe you can call start() in the middle of a rolling-update. It would be when the user runs rolling-update twice, the second time before the first has finished.
nextTask() and error() will probably throw exceptions if called before start(), but the ZooKeeperMasterModel that was calling RollingUpdateOpFactory needs to know this now anyways.
It's probably not the best way, but I think it's better than now for these reasons:

Fixes a bug
Consolidates more ZK ops and event data into one place where it's less likely we'll forget to pair ops and events
Increases test coverage of the business logic around starting a rolling-update

:+1:


Mint button altered

Hi @liarco, for some reason when I'm trying to change the font, add text colours, or make the text bold it changes my preview image - & + symbols shifting them to the ends of the preview but also changes my mint button size. How do I fix this? Thank you

Hi @monsterhive123, this is a React app. You can find the markup code in this folder: https://github.com/hashlips-lab/nft-erc721-collection/tree/main/minting-dapp/src/scripts/react
It also uses Tailwind but not from the markup, it's used through the @apply keyword in SCSS, check out the code in: https://github.com/hashlips-lab/nft-erc721-collection/tree/main/minting-dapp/src/styles/components
Changes inside the index.html file won't have any effect.


Tauri build fails on Arch Linux while attempting to build AppImage. [bug]

Describe the bug
After a recent Arch Linux update, the tauri build no longer completes successfully. I have run it successfully as recently as last week. To eliminate the possibility that the error is specific to my system configuration I have also tried in a vanilla Arch installation in VirtualBox with nothing installed except the bare minimum required to run tauri build and I still get the same error.
Reproduction

mkdir test
cd test
npx create-tauri-app
accept all defaults, Vanilla.js for UI
cd tauri-app
npm run tauri build -- --verbose

Expected behavior
Build should produce AppImage without failing.
Platform and versions
Environment
  › OS: Arch Linux Unknown X64
  › Node.js: 17.9.0
  › npm: 8.5.5
  › pnpm: Not installed!
  › yarn: Not installed!
  › rustup: 1.24.3
  › rustc: 1.57.0
  › cargo: 1.57.0
  › Rust toolchain: stable-x86_64-unknown-linux-gnu

Packages
  › @tauri-apps/cli [NPM]: 1.0.0-rc.7(outdated, latest: 1.0.0-rc.8)
  › @tauri-apps/api [NPM]: 1.0.0-rc.3(outdated, latest: 1.0.0-rc.3)
  › tauri [RUST]: 1.0.0-rc.6,
  › tauri-build [RUST]: 1.0.0-rc.5,
  › tao [RUST]: 0.7.0,
  › wry [RUST]: 0.14.0,

App
  › build-type: bundle
  › CSP: unset
  › distDir: ../dist
  › devPath: ../dist

App directory structure
  ├─ src-tauri
  ├─ node_modules
  └─ dist

Stack trace
-- Running input plugin: gtk --
[gtk/stdout] Installing AppRun hook
[gtk/stdout] Installing GLib schemas
[gtk/stderr] chmod: cannot access 'tauri-app.AppDir/usr/lib64': No such file or directory
[gtk/stderr] cp: ‘usr/share/glib-2.0’: No such file or directory
ERROR: Failed to run plugin: gtk (exit code: 1)
Error running CLI: failed to bundle project: Shell Scripting Error:`error running appimage.sh`

Additional context
npm list
tauri-app@ /home/james/software-projects/test/tauri-app
├──<EMAIL_ADDRESS>└──<EMAIL_ADDRESS>

I have the same problem, also running arch.

I can reproduce this. I'll see if I can fix it.

I couldn't find the issue. app.AppDir/usr/lib64 indeed doesn't exist, but app.AppDir/usr/share/glib-2.0 does.

can confirm, seeing the same issue.
However, running cargo build --release in src-tauri works just fine.

The problem does indeed exist in the AppImage step of the build process. I have a new process for reproducing the issue which avoids having to rebuild the entire app every time.

Run the reproduction steps above exactly once
cd src-tauri/target/release/bundle/appimage
rm -rf tauri-app.AppDir
./build_appimage.sh

This process only attempts to build the AppImage which is a much faster process. Additionally, if you open build_appimage.sh and comment out line 30 you can "debug" linuxdeploy-plugin-gtk.sh using echo for lack of any better ideas on my part.

I have fixed the problem.
The following function in linuxdeploy-plugin-gtk.sh:
copy_tree() {
    local src=("${@:1:$#-1}")
    local dst="${*:$#}"

    for elem in "${src[@]}"; do
        cp "$elem" --archive --parents --target-directory="$dst" $verbose
    done
}

Should instead be:
copy_tree() {
    local src=("${@:1:$#-1}")
    local dst="${*:$#}"

    for elem in "${src[@]}"; do
        mkdir -p "${dst::-1}$elem"
        cp "$elem" --archive --parents --target-directory="$dst" $verbose
    done
}

So the full workaround is the following:

Run npm run tauri build or cargo tauri build and allow it to fail at the AppImage step
cd src-tauri/target/release/bundle/appimage
rm -rf tauri-app.AppDir
Comment out line 30 of build_appimage.sh
Open linuxdeploy-plugin-gtk.sh and go to the copy_tree function
Above the cp line add the following `mkdir -p "${dst::-1}$elem"
Run ./build_appimage.sh
The AppImage step will now complete successfully

cc @FabianLars

Hmm, i wonder what changed in arch that made this fix necessary :thinking:

Opened corresponding issue on linuxdeploy-plugin-gtk.
https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/issues/31

https://github.com/linuxdeploy/linuxdeploy-plugin-gtk/pull/32 Pull request created.

The pull request was created and merged into linuxdeploy, but since tauri uses a fork, it has not yet been merged into tauri itself. I am still experiencing this issue. Could someone please update tauri's fork?

The change made it into our fork too (https://github.com/tauri-apps/linuxdeploy-plugin-gtk/blob/master/linuxdeploy-plugin-gtk.sh#L60). Whatever issue you're having should be unrelated to this one.

Oh, well. The issue seemed very similar, guess I'll open a new issue then. Thanks.


Huffman integration tests failing

============================= test session starts ==============================
platform linux2 -- Python 2.7.10 -- py-1.4.30 -- pytest-2.7.3
rootdir: /tmp/buildd/python-hpack-2.0.1, inifile:
collected 52 items

test/test_hpack.py ..............................
test/test_hpack_integration.py EEE
test/test_huffman.py ...
test/test_table.py ................

==================================== ERRORS ====================================
____ ERROR at setup of TestHPACKDecoderIntegration.test_can_decode_a_story _____
file /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py, line 12
      def test_can_decode_a_story(self, story):
        fixture 'story' not found
        available fixtures: pytestconfig, recwarn, monkeypatch, capfd, capsys, tmpdir
        use 'py.test --fixtures [testpath]' for help on them.

/tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py:12
 ERROR at setup of TestHPACKDecoderIntegration.test_can_encode_a_story_no_huffman
file /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py, line 31
      def test_can_encode_a_story_no_huffman(self, raw_story):
        fixture 'raw_story' not found
        available fixtures: pytestconfig, recwarn, monkeypatch, capfd, capsys, tmpdir
        use 'py.test --fixtures [testpath]' for help on them.

/tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py:31
 ERROR at setup of TestHPACKDecoderIntegration.test_can_encode_a_story_with_huffman
file /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py, line 44
      def test_can_encode_a_story_with_huffman(self, raw_story):
        fixture 'raw_story' not found
        available fixtures: pytestconfig, recwarn, monkeypatch, capfd, capsys, tmpdir
        use 'py.test --fixtures [testpath]' for help on them.

/tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build/test/test_hpack_integration.py:44
====================== 49 passed, 3 error in 0.19 seconds ======================
E: pybuild pybuild:274: test: plugin distutils failed with: exit code=1: cd /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build; python2.7 -m pytest test

Are you running from the .tar.gz available on PyPI, by any chance?

This is actually from the 2.0.1 git tag.

How did you invoke the test?

It was run like this (last line of the output) by the Debian packaging tools, after a successful build:
cd /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build; python2.7 -m pytest test

What is present in the /tmp/buildd/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build directory? Can you print the output of ls -R from there please?

~/python-hpack-2.0.1/.pybuild/pythonX.Y_2.7/build# ls -R
.:
hpack  test

./hpack:
__init__.py  __init__.pyc  compat.py  compat.pyc  exceptions.py  exceptions.pyc  hpack.py  hpack.pyc  hpack_compat.py  huffman.py  huffman.pyc  huffman_constants.py  huffman_constants.pyc  table.py  table.pyc

./test:
__pycache__  test_hpack.py  test_hpack_integration.py  test_huffman.py  test_table.py

./test/__pycache__:
test_hpack.cpython-27-PYTEST.pyc  test_hpack_integration.cpython-27-PYTEST.pyc  test_huffman.cpython-27-PYTEST.pyc  test_table.cpython-27-PYTEST.pyc

Yeah, so the test fixtures are missing. Did you adjust the install process at all? Ordinarily the test scripts are not installed at all, which suggests someone at Debian has adjusted either setup.py or MANIFEST.in. Whomever did that failed to include the test/test_fixtures directory. If you ensure that they do correctly add that directory, your tests should function just fine.

I am the maintainer for that package in Debian, and didn't modify any of those files :) I'll keep searching...

@sdelafond In that case, you need to determine how the Debian packaging process caused the test files to end up in that directory, but only the Python source files. Generally speaking I'd assume that was a change to MANIFEST.in, which can have that behaviour.

OK, nailed it: there is no test/test_fixtures in my source tree, because as you originally suggested it's based on the tarball (which doesn't include it) and not your git tree: I will changed the package config to directly pull from your git tree instead, which should avoid such problems going forward. Sorry for the noise, and thanks a lot for your help !

No problem @sdelafond, thanks for the packaging work! If you're planning to be packaging this for Debian for the foreseeable future I imagine I'll hear from you again, so please feel free to contact me for anything you need. My email address is available on my GitHub profile, and my GPG key is available from Keybase if it's useful for you to have both of those.

Many thanks, I guess you may indeed hear from me every now and then ;) Cheers !


i18n: translate using json file

resolves #641
Changes:

remove usage of Crowdin
translation json's are now statically defined in the modules/desktop/src/libs/translations/*

@mfts you might want to add german?

@getneil yes will add german here :)


Update mongojs

This enables support for Nodejs 6.
The current mongojs version has a breaking change that is fixed by an update:
TypeError: Proxy.create is not a function     at module.exports (...\node_modules\mongojs\index.js:8:19

thank you

Thanks, would you mind publishing the change? :)

done


leaderboard list app

In this project I built a Leaderboard list app, using webpack and ES6 features, modules.
Built With

HTML
CSS
-javascript
Linters
-webpack

thank you


up 1.5.3

Added storyboard.

Thanks for your contribution! :ok_hand:
I will look into this, could you meld your PR in one commit in the meantime?

Thanks for your contributions ❤
Merged in v1.6-beta.1 (soon to be master).


Correct typos in MapMiddleware docs

Thank you. Would you like to rebase on release/2.2 to ship this earlier? If not I can merge as is.

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

It looks like this was already fixed in release/2.2 by https://github.com/aspnet/HttpAbstractions/pull/1035/files#diff-aee003ac586b7ef78b5a449b08ad6079 it just hadn't been merged back to master yet. I'll take care of that.


Fix: badge in README to macOS from OS X

Codecov Report

Merging #1225 into master will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master    #1225   +/-   ##
=======================================
  Coverage   87.93%   87.93%
=======================================
  Files          38       38
  Lines        2404     2404
=======================================
  Hits         2114     2114
  Misses        290      290

Flag
Coverage Δ

#Kitura
87.93% <ø> (ø)
:arrow_up:

Continue to review full report at Codecov.

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


File with only requires

This:

results in this:

This:

results in this:

It appears that a file with only requires in it breaks parsing the docblock

Thanks for reporting, I wrote a testcase to ensure this keeps working in the future. This will be part of our next alpha release.


Whitepaper and Yellow paper translations to klingon language

Added proof of work table in the pr #532

Thanks. Already merged these in the other PR.


Issue with profile or environment variables? Plugin only works if xbar is launched via terminal

OS: MacOS - Ventura 13.2.1
Processor: Apple M1
xbar version: 2.1.7-beta
plugin: kubeswitcher.1m.sh by Elias Abacioglu (@Raboo on GitHub)
Description: I'm not sure what the issue is, but I'm trying to set up xbar with 'Kubeconfig Namespace & Context Switcher' plugin, and it's not working as expected when xbar is launched via a standard application.

Scenario 1:  Not Working when xbar launched via applications / or started at login (Namespace and Context empty):

Scenario 2: Running the script in the terminal is producing the expected output:

the output is ok:

Scenario 3: Working as expected when xbar is launched via terminal:

Could it be related to  https://github.com/matryer/xbar/issues/874 ?  Any Hints?
Thanks

xbar is not using your regular user's environment, define your PATH to include everything you need, including the initialisations you are running via your .bashrc or .zshrc etc.
If it is only about PATH then you can simply use absolute paths instead of relative ones.
For example, if you are lazy/careless you can put source ~/.zshrc at the top of your script BUT that can slow down your script significantly depending on how much work you are doing in your ~/.zshrc.

@brunopereira7 PR https://github.com/matryer/xbar-plugins/pull/2035 will probably fix your issue.

https://github.com/matryer/xbar-plugins/pull/2035 has been merged @brunopereira7 please test and confirm.

Hi @Raboo, thanks for your work, but unfortunately, it still does not fix my issue. Just to wrap up, now I have the following scenarios:
Scenario 1: Working as expected when xbar is launched via terminal (open -a xbar.app):

Scenario 2: xbar is launched via applications or started at login. I can't switch the context and namespace.

The last status is that the context list is okay, but I can't switch the context. The current namespace is greyed out, and I don't have the namespace list, so I can't switch.
Btw, I was trying to find a way to debug the Xbar app and to understand what could be causing this behavior, but I am still looking for a way. Feel free to share any insights/ideas :)
Thanks again for your work!

Ok I am able to replicate the problem with multiple kubeconfigs and not being able to switch context..
Strange thing if I run the command manually (kubectl config use-context $NAMESPACE) it works and that is what xbar should do when you click on a context name. Not really understanding why it's not switching the context.

Ok, I've figured it out the problem on my machine, YMMV.
Problem for me was that I had multiple clusters with the same name.
contexts:
    - context:
        cluster: local
        user: user
        namespace: kube-system
      name: Something

So even if the context is called "Something". The Something context uses a cluster called local. And when I have multiple clusters with the name local, I cannot switch to it using xbar and I cannot list its namespaces if it is selected from outside of xbar.
@brunopereira7 can you verify that you don't have multiple clusters with the same name across your kubeconfig files?

Hi @Raboo , I've double-checked and confirmed that my clusters have different names across the kubeconfig files.
echo $KUBECONFIG
/Users/miguebru/.kube/docker-desktop.kubecfg:/Users/miguebru/.kube/sandbox.kubecfg:/Users/miguebru/.kube/dlc-nonprod.kubecfg:/Users/miguebru/.kube/dlc-prod.kubecfg

I can only assume when you run open -a xbar.app from a terminal it has all the environment variables that you have in your shell.
So perhaps it is some other environment variable that your setup needs.
If you run
unset $(env | cut -d= -f1 | egrep -v "PATH")
open -a xbar.app

Will it still work?
If not perhaps you can one by one add the variables from env | cut -d= -f1  to the "egrep" (ex. egrep -v "PATH|SHELL|TERM|xxxx")?
Since it's an EKS cluster perhaps it needs "AWS*" variables.
So if the first one fails, try run (from a new terminal window):
unset $(env | cut -d= -f1 | egrep -v "PATH|AWS")
open -a xbar.app

I had an idea, A bit of a ugly and resource heavy work-around instead of trying to figure out which environment variable is missing. Perhaps all can be imported.
Just add this line
eval $(/bin/zsh -c "env|egrep -v 'PS1|^_='")

After the other eval line(16)..
I should say it's probably better to figure out which environment variables are needed(https://github.com/matryer/xbar/issues/877#issuecomment-2115125740) instead of trying to import all.

Thanks for your suggestion @Raboo . I will try and give feedback.


Android - ImageView in ListView is not filling up the content in various cases.

On Android, if we use smaller dimension ImageView in ListView, then CONTENT_FILL is not taking effect.
I tried it with a simple ListView having an ImageView of width:90dp & height:90dp in ItemTemplate, then CONTENT_FILL property doesn't work.
I then increased dimensions of ImageView step-by-step & it worked correctly on w=129dp, height=129dp.
On smaller screen devices (<=4 inch), CONTENT_FILL also doesn't work even in larger ImageView.
See attached screenshot where backgroundColor : blue. Code used for those ImageViews is
<!-- alloy.js -->
var AvImageview = require("av.imageview");
Alloy.Globals.CONTENT_MODE_FIT = AvImageview.CONTENT_MODE_ASPECT_FIT;
Alloy.Globals.CONTENT_MODE_FILL = AvImageview.CONTENT_MODE_ASPECT_FILL;

<!-- XML -->
<ImageView bindId="itemImage" ns="AvImageview" class="item-image" />

<!-- tss -->
    left: 15,
    width:90,
    height:70,
    defaultImage: '/images/placeholder2.png',
    contentMode : Alloy.Globals.CONTENT_MODE_FILL,
    backgroundColor: 'blue'

Device Details: Moto G4 Play - Android 6.0.1 - 1280x720 - 5" screen

Any news about it @AndreaVitale ?

@DouglasHennrich atm I have no time to work on it. Please feel free to apply a fix for that and open a PR. I will review it and merge it asap.

Sorry but I have no skill for this ):

Seems to work on TiSDK 7.0.2.GA

Hi guys I made a complete android module rewrite.
Please refer to my latest answer here inside #63 and test the latest android version (4.0.0).
Let me know if it is fixed or not.

@AndreaVitale : I solved issue of ImageView in ListView with dynamic Height does not show image or stucked in ratio of default image.
i.e height="Ti.UI.SIZE" width="Ti.UI.FILL"
I sent pull request: https://github.com/tvpsoft/av.imageview/tree/issue-63


Caedm/compile_results.py uses Python2?

Is this file supposed to use python2? The #! and the print call seems to suggest so. Any reason why it can't be ran in python3?

I also see a lot of other caedm .py files use python2. Also wondering about the following:

scripts/conformal/compile_results.py:97:15
scripts/conformal/generateDofile.py
scripts/iCEcube2/constrainOptimizer.py

We don't use these files.  They can be deleted.

Closed in pr #73


python312Packages.boto3-stubs: 1.35.81 -> 1.35.82, python312Packages.botocore-stubs: 1.35.81 -> 1.35.82

Things done

Built on platform(s)

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

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] 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/)
25.05 Release Notes (or backporting 24.11 and 25.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

[ ] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

nixpkgs-review result
Generated using nixpkgs-review.
Command: nixpkgs-review pr 365801

x86_64-linux

:white_check_mark: 14 packages built:

aws-sam-cli
aws-sam-cli.dist
python311Packages.boto3-stubs
python311Packages.boto3-stubs.dist
python311Packages.botocore-stubs
python311Packages.botocore-stubs.dist
python311Packages.types-aiobotocore
python311Packages.types-aiobotocore.dist
python312Packages.boto3-stubs
python312Packages.boto3-stubs.dist
python312Packages.botocore-stubs
python312Packages.botocore-stubs.dist
python312Packages.types-aiobotocore
python312Packages.types-aiobotocore.dist


Add option to ignore or override rules specified in notebooks

Currently, you can override global rules with local ones in the notebook. However, you might want to prevent that from happening, e.g. because you don't want notebook authors to be able to override rules, or because you want to try out some new value for a rule over multiple notebooks, or whatever. Maybe have a flag to ignore notebook-local rules, or to control the way overriding works (local overrides global or global overrides local, kind of a thing).
Another option could be to remove notebook-local specification of rules. However, I can see use cases where it's useful to have rules that you want to apply to a notebook, and that should follow the notebook around.

I was evidently confused when I wrote this - global rules passed in do already override local rules in the notebook. This makes a lot more sense to me, so I don't need the option suggested here :)


python311Packages.mypy-boto3-s3: 1.26.127 -> 1.26.155

Description of changes

Things done

Built on platform(s)

[ ] 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/)
23.11 Release Notes (or backporting 23.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

[ ] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 238230 run on x86_64-linux 1

2 packages failed to build:

toil
toil.dist

8 packages built:

python310Packages.dependency-injector
python310Packages.dependency-injector.dist
python310Packages.mypy-boto3-s3
python310Packages.mypy-boto3-s3.dist
python311Packages.dependency-injector
python311Packages.dependency-injector.dist
python311Packages.mypy-boto3-s3
python311Packages.mypy-boto3-s3.dist

Result of nixpkgs-review pr 238230 run on x86_64-linux 1

10 packages built:

python310Packages.dependency-injector
python310Packages.dependency-injector.dist
python310Packages.mypy-boto3-s3
python310Packages.mypy-boto3-s3.dist
python311Packages.dependency-injector
python311Packages.dependency-injector.dist
python311Packages.mypy-boto3-s3
python311Packages.mypy-boto3-s3.dist
toil
toil.dist


feat: Verify registered artifact matches instance class id

When registering a new contract instance with an artifact, validate that the computed artifact class id matches the class id from the instance preimage.

Benchmark results
Metrics with a significant change:

note_history_successful_decrypting_time_in_ms (10): 4,138 (+69%)

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 6e218d41 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
64 txs

l1_rollup_calldata_size_in_bytes
5,668
18,820
36,356

l1_rollup_calldata_gas
66,388
239,116
469,064

l1_rollup_execution_gas
647,486
929,474
1,305,244

l2_block_processing_time_in_ms
1,271 (-2%)
4,883 (-3%)
9,363 (+3%)

note_successful_decrypting_time_in_ms
180 (-8%)
506 (-10%)
965 (-6%)

note_trial_decrypting_time_in_ms
84.4 (-19%)
131 (+73%)
98.6 (+74%)

l2_block_building_time_in_ms
18,108 (-2%)
68,587 (-1%)
136,232 (-1%)

l2_block_rollup_simulation_time_in_ms
8,085 (-2%)
28,652
56,797 (-1%)

l2_block_public_tx_process_time_in_ms
10,000 (-1%)
39,880 (-1%)
79,337 (-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
13,715 (-3%)
29,380 (+9%)

note_history_successful_decrypting_time_in_ms
1,254 (+2%)
:warning: 4,138 (+69%)

note_history_trial_decrypting_time_in_ms
93.3 (+39%)
170 (-2%)

node_database_size_in_bytes
19,107,920
35,713,104

pxe_database_size_in_bytes
29,859
59,414

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
285 (+1%)
44,366
28,244

private-kernel-ordering
217
52,868
14,326

base-parity
1,901 (+3%)
128
311

base-rollup
728 (+1%)
165,787
925

root-parity
1,482 (-9%)
1,244
311

root-rollup
63.6 (+1%)
4,487
789

private-kernel-inner
647 (-1%)
73,771
28,244

public-kernel-app-logic
469 (+4%)
35,260
28,215

public-kernel-tail
183 (+5%)
40,926
28,215

merge-rollup
8.37 (-1%)
2,696
925

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

Metric
1 leaves
16 leaves
64 leaves
128 leaves
512 leaves
1024 leaves
2048 leaves
4096 leaves
32 leaves

batch_insert_into_append_only_tree_16_depth_ms
10.7 (+6%)
16.1 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_count
16.8
31.6
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_16_depth_hash_ms
0.627 (+7%)
0.499 (+1%)
N/A
N/A
N/A
N/A
N/A
N/A
N/A

batch_insert_into_append_only_tree_32_depth_ms
N/A
N/A
46.6 (+1%)
72.1 (-1%)
230 (-1%)
443 (-1%)
872
1,724
N/A

batch_insert_into_append_only_tree_32_depth_hash_count
N/A
N/A
96.0
159
543
1,055
2,079
4,127
N/A

batch_insert_into_append_only_tree_32_depth_hash_ms
N/A
N/A
0.478 (+1%)
0.445
0.420
0.416
0.415
0.413
N/A

batch_insert_into_indexed_tree_20_depth_ms
N/A
N/A
55.8 (+2%)
106 (-1%)
334 (-2%)
658
1,309 (-2%)
2,613 (-1%)
N/A

batch_insert_into_indexed_tree_20_depth_hash_count
N/A
N/A
104
207
691
1,363
2,707
5,395
N/A

batch_insert_into_indexed_tree_20_depth_hash_ms
N/A
N/A
0.498 (+2%)
0.481
0.456 (-1%)
0.454
0.452 (-1%)
0.454 (-1%)
N/A

batch_insert_into_indexed_tree_40_depth_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
64.1 (+4%)

batch_insert_into_indexed_tree_40_depth_hash_count
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
109

batch_insert_into_indexed_tree_40_depth_hash_ms
N/A
N/A
N/A
N/A
N/A
N/A
N/A
N/A
0.561 (+5%)

Miscellaneous
Transaction sizes based on how many contract classes are registered in the tx.

Metric
0 registered classes

tx_size_in_bytes
22,012

Transaction processing duration by data writes.

Metric
0 new note hashes
1 new note hashes

tx_pxe_processing_time_ms
3,258 (-2%)
1,758

Metric
0 public data writes
1 public data writes

tx_sequencer_processing_time_ms
11.4 (+1%)
1,307 (+4%)


FileSystem: JSDoc: Fixed a typo in writeToFile(), added a unit test

Applicable helpers:

[ ] Playwright
[ ] Puppeteer
[ ] WebDriver
[ ] REST
[X] FileHelper
[ ] Appium
[ ] TestCafe

Type of change

[ ] :fire: Breaking changes
[ ] :rocket: New functionality
[ ] :bug: Bug fix
[ ] :clipboard: Documentation changes/updates
[ ] :hotsprings: Hot fix
[X] :hammer: Markdown files fix - not related to source code
[ ] :nail_care: Polish code

Checklist:

[X] Tests have been added
[X] Documentation has been added (Run npm run docs)
[X] Lint checking (Run npm run lint)
[X] Local tests are passed (Run npm test)

I don't know why https://github.com/codeceptjs/CodeceptJS/actions/runs/6342453311/job/17228234303?pr=3897 failed. It passed in my environment (npm test).
The unit test I added in this PR passed.

OK, I can see that a re-run https://github.com/codeceptjs/CodeceptJS/actions/runs/6342453311 run by @kobenguyent passed.
BTW I didn't find a way how to re-run failed test in GitHub UI. Any idea?


Consider adding Request::Params: Deserialize bound

Hi!
I have not thought out implications of this completely, but it might be useful to change the definition of Request to
pub trait Request {
    type Params: DeserializeOwned;
    type Result: Serialize;
    const METHOD: &'static str;
}

That'd allow to write generic dispatch code using only R: Request bound. It is possible today by adding bounds where R::Params: DeserializeOwned on the call site, and thus not having the bounds upstream is more general. However in practice I think all params and results (even custom ones) are always serializable?

However in practice I think all params and results (even custom ones) are always serializable?

Hm, actually if you are wring only a half of the protocol, than some things might be only serialize, and some things might be only deserialize. With this in mind, I think it's ok to make the client to supply the bounds.

For all the types provided by this crate then params are always deserializeable and results are serializable. The main reason for this being omitted is that I like to be conservative with adding bounds and the place where I use this outside of the crate are in another abstraction so I never needed to deal with repeating the bounds. So I am not really against making this change at least.

I've actually tried to define my own extension trait, and turns out that, b/c my server is multithreaded, I needed : Send + 'static bounds as well:
https://github.com/matklad/libsyntax2/blob/46e4232cc69bc2e003dc8a14e604119bb36e9f9f/crates/server/src/req.rs#L10-L24
That is, even if upstream has Ser/De, I'll still would need my trait for Send...


Comment on why we can't replace copy_addr instructions with moves in arc-inert blocks

radar rdar://problem/24011383
This concludes this radar by adding a comment on why copy_addr instructions can't be turned into moves in simplifyProgramTerminationBlock()

@gottesmm Can you please review?

@swift-ci Please smoke test

Why does it have to be ARC-inert? It should always be possible to break a copy_addr [init] [take] into a load and store.

@jckarter That is not what is happening here. What is happening here is that we are changing copy_addr in blocks that we know are leaking to just be moves.

The transformation here is always valid; copy_addr [init] [take] should always be equivalent to load; store for a loadable type. I was wondering why we were constraining the transformation only to 'ARC-inert' blocks; AFAICS this transformation should always be OK.

@shajrawi Sorry for the delay. I am reviewing this now.

The reason why we do not want to eliminate retains is we want to make sure that we fail at the actual program termination point, not before.
There is a possibility where we could by removing the retain change a balanced retain count to be unbalanced resulting in us touching a deallocated object.
In contrast, removing a release just makes us leak even more, which we are fine with.

Changing copy_addr [take] %0 to %1 into a take-initialization is not safe in all cases. If the type being operated on contains weak references or other side references, it will corrupt the weak reference table if you fail to deregister the value currently at %1. Maybe it's safe for all currently loadable types, but if we move in the direction of semantic ARC and start representing all types as SSA values, would this be a liability?
Again, copy_addr [take] [init] are load; store are always equivalent, so I don't understand why we're limiting this transformation to unreachable blocks.

@gottesmm can you please answer @jckarter 's input, I feel you are more qualified to answer his concerns.
I also updated the PR with all the changes you requested.

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test

Joe, can we talk about this tomorrow in person?

@jckarter I mean ; )

Updated the PR: removed code modifications and replaced it with a comment that sums-up the offline discussion with @jckarter and @gottesmm

@swift-ci Please smoke test

@swift-ci Please smoke test

@swift-ci Please smoke test


Move namespace

It's about to solve this deprecation

Codecov Report

Merging #380 (e156520) into master (657c288) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #380   +/-   ##
=========================================
  Coverage     87.15%   87.15%
  Complexity      372      372
=========================================
  Files            32       32
  Lines          1432     1432
  Branches        164      164
=========================================
  Hits           1248     1248
  Misses          115      115
  Partials         69       69

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more


Remove version: hrzlgnm.mdns-browser version 0.7.2

This version is older than what has been set in max-versions-to-keep by the publisher.
Microsoft Reviewers: Open in CodeFlow

URL: https://github.com/hrzlgnm/mdns-browser/releases/download/mdns-browser-v0.7.2/mdns-browser_0.7.2_x64-setup.exe
OK
(Automated message - build 923)

URL: https://github.com/hrzlgnm/mdns-browser/releases/download/mdns-browser-v0.7.2/mdns-browser_0.7.2_x64-setup.exe
OK
(Automated message - build 923)


Allow selecting multiple files in the file open picker

Since the app has tabs I think it should support opening multiple files.

LGTM, did you test it? Make sure you have tested with zero file, one file, multiple files, multiple files with a large one that cannot open, multiple files with all files cannot open.

Tested it and it seems to work as expected for all of those cases


Inconsistent behaviour in prompt parser

In the PromptParser, if we reach max_api_calls because of API errors, we are raising a ValueError but if we reach max_api_calls because of unsuccessful extraction, we are logging a warning and returning None. We should have consistent behaviour if we cant parse a prompt (I think the right response is to raise a ValueError in both cases).
 Any thoughts on what the behaviour should be @neubig / @viswavi ?

Hi @saum7800, I think that in general we should try to raise exceptions when something broke, so raising a ValueError (or actually maybe RuntimeError is better) seems to be preferable to me.


Create a separate directory for 2.0 RackHD Users Guide

Changes to the content of this folder will be tracked in a different PR

@BillyAbildgaard @dalebremner @RackHD/corecommitters @srinia6

If you want to reference these docs from within the overall set, you'll need to update https://github.com/RackHD/docs/blob/master/docs/index.rst, and I'd recommend making updates to docs/rackhd/index.rst and docs/rackhd2.0/index.rst to make it clear that the first is the 1.1 API user's guide, and the second is the 2.0 API user's guide.

@heckj updated !!

👍

+1


Add rerank and sentence-similarity tasks to text embedding module

Add rerank and sentence-similarity tasks to text embedding module.
This PR is stacked on the first embedding PR #224.
Since embedding, sentence-similarity, and rerank all work with a sentence-transformer model this module will load a model and is able to run multiple tasks.
In addition to the 3 (embed, rerank, sentence-similarity), there are another 3 so that each is not limited to a single input string.  In the case of sentence-similarity and rerank this means that a list of source_sentences or queries (respectively) are each applied against the same list of sentences or documents.  So there is a real benefit many queries can be sent against a large collection of documents.  In the case of embeddings, this is simple batching.
Text Embedding Module
Implements the following tasks:

EmbeddingTask: Returns an embedding from an input text string
EmbeddingsTasks: EmbeddingTask but with a list of inputs producing a list of outputs
SentenceSimilarityTask: Compare one source sentence to a list of sentences
SentenceSimilarityTasks: SentenceSimilarityTask but with a list of source sentences producing
a list of outputs
RerankTask: Return top_n documents ordered by relevance given a query
RerankTasks: RerankTask but with a list of queries producing a list of outputs

More details for sentence-similarity and rerank...
sentence-similarity is a common and simple concept (see Hugging Face or Sentence Transformers)
class SentenceSimilarityTask(TaskBase):
"""Compare the source_sentence to each of the sentences.
Result contains a list of scores in the order of the input sentences.
"""
@task(
required_parameters={"source_sentences": List[str], "sentences": List[str]},
output_type=SentenceListScores
)
class SentenceSimilarityTasks(TaskBase):
"""Compare each of the source_sentences to each of the sentences.
Returns a list of results in the order of the source_sentences.
Each result contains a list of scores in the order of the input sentences.
"""
rerank is less intuitive, but is popular for RAG and chaining.  One of the more popular rerank APIs is from Cohere.  This implementation is similar to their API.
class RerankTask(TaskBase):
"""Returns an ordered list ranking the most relevant documents for the query
Required parameters:
    query: The search query
    documents: JSON documents containing "text" or alternative "_text" to search
Returns:
    The top_n documents in order of relevance (most relevant first).
    For each, a score and document index (position in input) is returned.
    The original document JSON is returned depending on optional args.
    The top_n optional parameter limits the results when used.
"""

class RerankTasks(TaskBase):
"""Returns an ordered list for each query ranking the most relevant documents for the query
Required parameters:
    queries: The search queries
    documents: JSON documents containing "text" or alternative "_text" to search
Returns:
    Results in order of the queries.
    In each query result:
        The query text is optionally included for visual convenience.
        The top_n documents in order of relevance (most relevant first).
        For each, a score and document index (position in input) is returned.
        The original document JSON is returned depending on optional args.
        The top_n optional parameter limits the results when used.
"""

Checked feedback again and added more docstring for some things I had missed.  Thanks @gkumbhat

@dtrifiro @Xaenalt could you please help review this PR? Thank you!

I think I addressed all the comments in code and/or in reply.
Sorry for the delay.  I thought I was nearly done and then found a bunch that had been collapsed.
Thanks again for the advice!

@gkumbhat anything else needed here except for rebase on caikit interfaces and PR #224
I could just combine the PRs here, but both have been under review.


Upgrade VM configuration to use flex environments

FYI @danrubel @devoncarew
This moves dart-services into the new vm configuration from for appengine.

I'm addressing the failures that Travis highlighted

LGTM once Travis issues addressed.

The remaining problem is an info message about an unnecessary cast in code that we're importing from analysis server. I'm going to merge this now and fix the cast in a seperate PR as it'll need more extensive testing.


Feature/cdr 343 Handle Spring MVC Exceptions

Changes

Handle ResponseStatusExceptions and 4xx status code related Spring MVC exceptions

Related issue

CDR-343

Additional information and checks

[x] Pull request linked in changelog

The code duplication value is so high because the two handlers are part of the two different rest interfaces, but they do almost the same... There currently is no good place to put a common superclass.


Investigate Test Failures on Core CLR

After re-enabling the Core CLR tests, two of them are still failing. We should investigate why and follow up with the appropriate teams.

SharedInMemoryEndToEndTest.Can_save_changes_and_query() in test/EntityFramework.CrossStore.FunctionalTests/EndToEndTest.cs
SqlServerEndToEndTest.Can_save_changes() in test/EntityFramework.SqlServer.FunctionalTests/SqlServerEndToEndTest.cs

@bricelam just to double-check, you merged a fix for this and it should be closed, right?

@bricelam Please ignore the previous comment :smile:


Click outside to close table menu

The table menu only closes when clicking the "dots" link on the left side of the page. It should close when a "click-outside" event occurs.

Observed issue is still present on non-angular pages


Looping through scenarios with Jest

So I have a scenario wondering how to achieve this the best way due to async nature of puppeteer, using Jest.

Array has say 100 objects either google / yahoo
If Google Do X
If Yahoo Do Y
So I need to run these 100 scenarios in the same test launching closing the browser each time

I already tried turning the loop into an async function, but the issue is it launches 100 browsers all at once. I also need a new instance of the browser each time it loops through.
Thinking of maybe encapsulating the current loop in a do while loop that checks browser.process() is < 3 or something before continuing? Out of ideas please help implement, either through jest itself, another library anything.
      let browser
      let page

  beforeAll(async () => {
    browser = await puppeteer.launch()
    page = await browser.newPage()
  })

  afterAll(async () => {
    await browser.close()
  })

  it('should search on google and navigate to domain', async () => {
    jest.setTimeout(500000)
    let numOfTotalVists =  await helpers.getTotalVisits()

    numOfTotalVists.forEach(element => {
      if (element.includes('Google')) {
          browser = puppeteer.launch()
          page =browser.newPage()
          Do Some Stuff
          browser.close()
      }
        console.log('no')
        browser = puppeteer.launch()
          page = browser.newPage()
          So Some Stuff
          browser.close()
    })

Close figured it out, changed to a simple for loop.


[ADD] Discord authentification

Is your feature request related to a problem? Please describe.
No it's not a problem, it's an option to potentially add
Describe the solution you'd like
It would be perfect to add an option to choose between steam auth and discord auth, cause today, Fivem server mostly use rockstar auth
Describe alternatives you've considered
No alternative, it's a new option
Additional context
/

We don't use steam for authentication? We already use discord...


Psycopg Support?

We use Psycopg for our connections to Postgres. Are there any plans to support Psycopg? It uses the DB API 2.0 (PEP 249), so we should be able to use the existing aws_xray_sdk/ext/dbapi2.py module. I will happily work on this if you approve and no one else is working on it. =)

Great @haotianw465! Just to be clear, this will be support for psycopg2 which succeeded the original Psycopg project.

It should be safe to close this with the merge of https://github.com/aws/aws-xray-sdk-python/pull/83.


Doesn't seem to work for Gensim Topic Models

I have trained LDA model using Gensim, and now want to use topicwizard for visualization.
But even after following the Readme for using Gensim topic model case, it doesn't seem to work.
Note: I am doing in Nepali Language. The lda model is also trained in Nepali Language.
Code :
from gensim.corpora.dictionary import Dictionary
from topicwizard.compatibility import gensim_pipeline
import topicwizard

dictionary, and lda_model are loaded from my training by use of Gensim.
I have checked and there is no problem in any of that.
dictionary_form_data = Dictionary(dictionary)
pipeline = gensim_pipeline(dictionary_form_data, model=lda_model)

corpus = [" ".join(tokenized_news) for tokenized_news in dictionary]

no problem till now, as corpus is shown as:
print(corpus[10:12])

Now fitting the corpus
pipeline.fit(corpus)

printing topic_names:

So, everything seems to be fine but when doing visualization:

So, what is the problem here? Is it that its not working in Gensim topic model ?

I think I wrote this down in the documentation, but only pretrained Gensim models are supported. To me it seems like you were trying to train the wrapper pipeline. Try fitting the model first and then pack it in a pipeline. I would also encourage using scikit-learn wherever possible, as it's easier to work with (in my humble opinion).
The way I would do it in Gensim goes something like this:
from gensim.corpora.dictionary import Dictionary
from gensim.models import LdaModel
from gensim.utils import tokenize

tokenized_corpus = [list(tokenize(text, lower=True)) for text in corpus]
dictionary = Dictionary(tokenized_corpus)
bow_corpus = [dictionary.doc2bow(text) for text in tokenized_corpus]
lda = LdaModel(bow_corpus, num_topics=10)
pipeline = gensim_pipeline(dictionary, model=lda)
topic_data = pipeline.prepare_topic_data(corpus)

I know for a fact that this works, because it's in the library's test suite.
I hope I could be of help, if you experience further issues feel free to write again.

I am sorry, I couldn't get back to this sooner.
My previous code as said in this issue, is exactly same like you said ,except that:
1. Point 1:
i have just loaded lda_model which was trained and saved in disk. i.e. by
lda_model = models.ldamodel.LdaModel.load('./results/models/40_topics')
I don't think loading a saved model or training on the go makes any difference in model ,except that training makes slower everytime to run topicwizard.
You mentioned training on the go by this code :
lda = LdaModel(bow_corpus, num_topics=10)
2. Point 2:
Also, I loaded the tokenized_corpus , which is in same format as yours, just language is different, in my code tokenized_corpus was written as dictionary ( just different name only ) i.e.
dictionary_form_data = Dictionary(dictionary)
Then i did:
pipeline = gensim_pipeline(dictionary_form_data, model=lda_model)
and then like you said ,now I did:
`topic_data = pipeline.prepare_topic_data(corpus)'
but it throws following error:

3. Point 3:
This time i also trained like you said, where i have loaded bow_corpus variable ( i checked it )

And, still got same above error.
Conclusion
So, in conclusion, I have tokenized corpus, bow_corpus, and lda_model ( also trained lda_model on the go in point 3 ),  I checked format/shape of those variables and they are similar to english language case. I couldn't use that tokenize() function of gensim ,as it is Nepali Language so tokenization and stemming is different.
Now, on running that  pipeline.prepare_topic_data(corpus), it throws error and also topicwizard.visualize(corpus, model = pipeline)
Note: I wanted to be clear if we have misunderstandings, so have detailed comment, let me know if you want to know anything more.

Thanks for the effort and sorry for the troubles, I will mark this as a bug and will try to fix it as soon as possible!

@avisekksarma version 1.0.2 should fix this issue, can you please confirm that it works on your end?

I apologize for not getting back to this project sooner since I was going through exams.
Now, I tested according to same code as I said in first part in this issue thread. And , it is still not working.
The change now is : Its not throwing NotFittedError like previous case, but now the thrown error while i did following is :
topicwizard.visualize(corpus,model=pipeline)
Error: IndexError: index 18580 is out of bounds for axis 1 with size 18580
Just to be clear, My all code [ Like said above ] is:
from load_variables import load_data
processed_data, bow_corpus, id2word, lda_model = load_data()
# above line loads all data since i trained already using Gensim i.e. same code as "lda = LdaModel(bow_corpus, num_topics=10)" for model training
dictionary = processed_data['body'].to_numpy().tolist()
print(dictionary[0])
# prints - ['सर्वोच्च', 'अदालत', 'प्रस्तावित', 'न्यायाधीश', 'अब्दुल', 'अजिज', ...]   i.e. tokenized forms in Nepali Language ( like in English )
corpus = [" ".join(tokenized_news) for tokenized_news in dictionary]

from gensim.corpora.dictionary import Dictionary
from topicwizard.compatibility import gensim_pipeline
import topicwizard

dictionary_form_data = Dictionary(dictionary)
# not done below two lines of code since i loaded already
# Note: Even though I do below code, the error is same only difference is I just have to redo training again.
# bow_corpus = [dictionary.doc2bow(text) for text in texts]
# current_lda_model = LdaModel(bow_corpus, num_topics=40)

pipeline = gensim_pipeline(dictionary_form_data, model=lda_model)

pipeline.fit(corpus)

# No error till now, but now , below line causes error
topicwizard.visualize(corpus,model=pipeline)

Above last line threw below error :

And, like you said if i do following then also get following error:
Code : topic_data = pipeline.prepare_topic_data(corpus)
Error:

Shouldn't I be able to use LDA model that i trained with gensim and just loading it rather than training it here again like you said, since it takes lots of time to train lda model, I feel training here ( i.e. like you said - lda = LdaModel(bow_corpus, num_topics=10) ) and loading trained model should have no impact as its the same model
underneath.
Can you provide me with code snippet that you feel should work with gensim lda models, so that I can tweak around that to see if that works ?

Hmm your code should be fine. I will look more into this. Very strange behaviour considering that I have a test case for just this and it passes. Loading the model from disk should in theory be fine. In the meantime, like I said above, you can try using sklearn instead of gensim.

By using sklearn do you mean using that trained lda_model by gensim into some function of sklearn? Can you provide me some code for how to use sklearn on this aspect of utilizing the trained lda_model ? Or , can you clarify and give some code part for what you meant by using sklearn here?
Thank you.

If you don't mind training a new model you can do so with sklearn like this:
import joblib
from sklearn.decomposition import LatentDirichletAllocation
from sklearn.feature_extraction.text import CountVectorizer
import topicwizard
from topicwizard.pipeline import make_pipeline

pipeline = make_pipeline(CountVectorizer(), LatentDirichletAllocation())
topic_data = pipeline.prepare_topic_data(corpus)

# I recommend persisting this data to disk
joblib.dump(topic_data, "topic_data.joblib")

topicwizard.visualize(topic_data=topic_data)

Though I personally would NOT recommend using LDA unless you have very good reasons to do so.
My experience is that it's incredibly slow and gives subpar results most of the time. If you wanna keep it classic and don't want to mess with contextual models I would just recommend a good preprocessing pipeline and NMF, because it's waaaay faster and gives nicer results.
If you want the best results possible you can try KeyNMF.

Also big sorries for not fixing this issue for a while, I've just been working on a publication and have been ill for a little while, I will hopefully get to it quickly :D


Improve documentation of default attribute arguments

From @janpio:

We are currently using an _ to document the "default" argument of our attributes in PSL which can be used with and without its "name":
@@index(_ fields: FieldReference[], map: String?)
(via https://www.prisma.io/docs/reference/api-reference/prisma-schema-reference#signature-5)
Here this means that if you can either do @@index([foo, bar]) or @@index(fields: [foo, bar]) interchangeably to achieve the same thing.
Is this a common notation?
I noticed we are not consistently using it any more, probably accidentally when changing things or when editing.
We should probably define if we want to keep using it, or not. If not, we need another way to document which argument is the default and can be used without the name.

Slack thread with lots more discussion and context here: https://prisma-company.slack.com/archives/C01TM7UM83Y/p1658848253368889

My current understanding based on the thread:

We can stop using the _  syntax in docs, as this was borrowed from Swift but doesn't correspond to any actual Prisma language feature.
These 'default' attribute arguments with the _ can be nameless, but they're not positional, you can list the key-value pairs in any order
We need a way to explain this in docs


does not work on macOS 14

Bug Description, Steps to Reproduce, Crash Logs, Screenshots, etc.
SettingsAccess/Utilities.swift:17: Fatal error: This method has no effect on macOS 14 or later.

Are you compiling with Xcode 14? That's the only way that error should be happening.

I've pushed release 1.1.0 which will now only compile on Xcode 15. That was originally intended and was a bit of an oversight to have allowed compiling on Xcode 14 which is where the error came from.

this does not resolve the issue, it had been compiled with xcode 15 already, updating to the next minor still throws this exception

I need more details about where you're using .openSettingsAccess() and where you're calling openSettings().

it's being chained onto mainmenuview in app.swift here
@main
struct ishare: App {
    @Default(.menuBarIcon) var menubarIcon
    @Default(.showMainMenu) var showMainMenu
    @StateObject private var appState = AppState()
    @NSApplicationDelegateAdaptor private var appDelegate : AppDelegate

    var body: some Scene {
        MenuBarExtra() {
            MainMenuView().openSettingsAccess()
        }
    label: {
        switch menubarIcon {
            case .DEFAULT: Image(nsImage: GlyphIcon)
            case .APPICON: Image(nsImage: AppIcon)
            case .SYSTEM: Image(systemName: "photo.on.rectangle.angled")
        }
    }
    .menuBarExtraAccess(isPresented: $showMainMenu)
        Settings {
            SettingsMenuView()
        }
    }
}

within MainMenuview the env is declared:
struct MainMenuView: View {
    @StateObject private var availableContentProvider = AvailableContentProvider()
    @Environment(\.openSettings) private var openSettings

    var body: some View {
    ...

and then the method is called within a button
Button {
                NSApplication.shared.activate(ignoringOtherApps: true)
                openSettings()
} label: {
                Image(systemName: "gearshape")
                Label("Settings", image: String())
}.keyboardShortcut("s")

Actually I think I've found solution. I'll try to push it today or tomorrow, just want to polish it up.

Ok try release 1.2.0. The Demo project and readme are updated, but this is the gist:

Remove .openSettingsAccess() from your MenuBarExtra menu view
Inside MainMenuView, instead of your Button, use this:SettingsLink {
    Image(systemName: "gearshape")
    Text("Settings")
} preAction: {
    NSApp.activate(ignoringOtherApps: true)
} postAction: {
    // empty
}
.keyboardShortcut("s")

lovely, whatever you did works much better than the actual SettingsLink component <3


Flatten pdf

Hi,
is there a way to flatten a pdf with this library?

Also interested in this

converting the pdf to an image using "imgpdf" configuration can achieve the same effect

I close these flattening issues - this is discussed more at #74