Make sure a poll function doesn't get called before the previous one has returned

When running a polling function we want to make sure that the function isn't called if the previous function hasn't completed yet. This is to prevent cases when you are long polling and don't want to establish multiple connections.

Addressed by 7733b6725aefc5c344b124bee1ca652e326acde0


Create password.py

@chaudharyaditya1 please star the repo if u think this helped u for hacktoberfest :)


use esbuild, tsc and eslint instead of tsdx

Resolves #130
This PR removes tsdx in favor of using tsc, eslint, jest directly.
Bundling
tsdx used rollup for bundling. I opted for esbuild which is a more modern bundler and is used by aws-cdk and probably some other big stable projects. Ideally, I would like to avoid bundling altogether and just use tsc to transpile the typescript sources to runnable javascript. However, the dynamic import of blake3 in the ready function caused some issues with this. We can revisit at a later time to simplify this.
npm workspaces
Using npm workspaces to simplify dependency management of the examples/ directory. Read more here https://docs.npmjs.com/cli/v10/using-npm/workspaces. Essentially, now you only need to do npm install in the root directory to get all the dependencies needed to run the scripts and frontend app.
Note that when you install the project from github (.e.g., npm install WebOfTrust/signify-ts#development)  you still only get the root dependencies, so no unnecessary dependencies will be installed.
Remove text-encoding package
This repository has been archived since 2018: https://github.com/inexorabletash/text-encoding and caused issues when bundling because of the way the package was imported. This package should not be needed though. The TextEncoder API is supported by all modern browsers and node.js. See: https://caniuse.com/textencoder.
Restructured package export files
Previously, rollup did some magic to bundle all named exports into a default export. This is not supported by most other bundlers as far as I am aware. So I did it manually by gathering all named exports to export.ts, then re-exporting in index.ts while also grouping them as the default export. This ensures no existing code will break. However, we should revisit this as well and reconsider what is exported from the library.
Linting
I added the "recommended" .eslintrc config and just lowered all reported errors to "warning" for now. We should create an issue to resolve the errors. I just did not want this PR to blow up.

Nice work. I wanted to upgrade to the latest TextEncoder as well. Glad to see this moving forward.


Allow POSIX PALs to overwrite writev and fsync.

On FreeBSD (possibly elsewhere) the normal versions of these go via an
indirection layer because they are pthread cancellation points.  This
indirection layer does not work correctly if pthreads can't allocate
memory and so we can't get debug output until malloc is working, at
least a little bit.
With this version, we can call the _sys variants, which skip any libc
/ libthr interposition.

would it bother you if I commit to your branch ?

would it bother you if I commit to your branch ?

@devnexen, I am not sure you will have the ability to directly commit to this branch, but you should be able to PR onto the underlying branch @davidchisnall is using.
We're always super happy for your contributions ;-)

Or you can use the
```suggestions

notation, but that can be painful, and only allows you to change bits that already have changes.

ah I did not notice it was not a fork :)


URL params added to redirect URL after login

This pull request is solving:
http://www.concrete5.org/developers/bugs/5-6-3-3/redirects-after-login-with-get-properties/
I checked it and it is working for my c5 instance, however deeper review is highly recommended.
Best regards,
Grzegorz

wouldn't that open various security issues? I can easily add a delete to a file and send an admin a mail, if he's logged in, the file would be deleted without any confirmation. I think we would have to add a token to secure those links

All dashboard tools? That's a lot of work.
Maybe restricting it to front-end tools or showing a popup after login, like: "You tried to visit this URL. Redirect? (Yes/No)", would do the job?
I am very motivated to have it operational, though I am not advanced core dev.

I don't think it's that much work, you would only have to add a token in the login form and then validate that token before you redirect. This way no one could create direct links to controller actions.
Another step in the process would do the trick too I guess, but if it isn't necessary..

Remo, can you guide me where should I store this token? A Config? In a dedicated db table?
How should I generate the token? Simple md5 hash based on some var is enough?

What about enconding/decoding it with the session id?

@mlocati Encoding would work too, I just feel that tokens are more concrete5 like..
@glukasik  Here's an example on how to  use the validation helper to create one time tokens: http://www.concrete5.org/community/forums/customizing_c5/token-validation-helper/

Thanks guys for your tips! Unfortunately, I am busy now but early next week I should be back with a solution.

Hello @Remo @mlocati
I have updated the feature with a token checking.
Though, I found one issue with the feature - after submitting bad credentials "attr" is missing.
Please wait for a fix.

Dear All,
With the last commit I solved the issue with disappearing attribute values when incorrect login details are provided.
Ready to merge!

this doesn't seem to work for me. The attr input field is always empty, but $parameters in page_forbidden.php contains two array items. Any ideas what I'm doing wrong?
Also, why do you process $_REQUEST, can't see the reason for this:
https://github.com/concrete5/concrete5-legacy/pull/1898/files#diff-e0ec790ae6cc8167b55d1fb32db77543R234


chore(core): Update packages for Angular v8.0.0 support

As part of upgrading for Clarity v2.0.0 ng update @angular/cli @angular/core was run. Changes to config and code files were made to address failing testing and build errors. ted:

Angular packages were updated
Gemini is commented out: Angular 8 requires node 12 and a gemini dependency doesn't compile on node 12
Added node-sass back: for some reason sass (sass-dart) was not getting picked up and the build errors out)
Modified test utils to assign functions directly (Object.assign is only assigning properties after the update)
Updates jasmine packages
Updated misc package files that were behind
Application routes were migrated to the new lazy module form
Updates ViewChild (s) in website and fixes the website app

ng update made changes to the tsconfig files (module: esnext) that changes the way functions are imported and spied on when there is no parental object. I removed those changes but want to call them out for attention during the review since this seems to be something the cli is now defaulting to.
There is one xit in the wizard header action tests. It is failing and it looks like the DOM isn't fully cleaned up in between tests. Still need to investigate more here.
Signed-off-by: Matt Hippely<EMAIL_ADDRESS>

Do we have a plan for replacement of Gemini and the time line for that? Just concerned with disabling the tests and the upcoming changes with CSS Custom properties. Are we planing on migrating to Applitools soon? Maybe we can collaborate applitools upgrade with CSS Custom properties?


New Adapter: Concert

Add documentation for concert bid adapter

Just wanted to check the status of this adapter?

Hi all, just want to bump this. The Concert adapter made its way into the official 4.4.0 release.


[HOLD for @mention doc review] LOW: Add group mentions

Actually this doesn't even seem like a VSB concern, dropping.


Fixed issue 677

According to issue https://github.com/springfox/springfox/issues/677, set ignoreUnresolvablePlaceholders=true

@sabyrzhan want to reproduce this locally before merging.

So how is it in my project:

I used <context:property-placeholder location="file://${property_location}" /> in my spring-integration XML file.
XML file locate in classpath: /META-INF/integration-context.xml
And imported that file in my configuration bean:

@Configuration
@ImportResource("classpath:/META-INF/integration-context.xml")
public class IntegrationConfiguration {
    private static final Logger LOGGER = LoggerFactory.getLogger(IntegrationConfiguration.class);
.
.
.

cool. Working on a failing test before I merge your change

Cool, will merge when the build passes

Will this change be merged and if yes then when with 2.0.0-SNAPSHOT since I am actually using that version?

@sabyrzhan every successful CI build publishes a SNAPSHOT: https://circleci.com/gh/springfox/springfox/826

More specifically, every successful build on master publishes a SNAPSHOT.
https://circleci.com/gh/springfox/springfox
I've had to re-run the last build, there was a problem with jcenter - where we publish to!


[Android] BLE Synchronization

Please check all of the platforms you are having the issue on (if platform is not listed, it is not supported)

[ ] iOS
[X] Android
[ ] UWP

Feature Library

[ ] Core (Jobs, Settings, Initialization)
[ ] Locations (GPS, Geofencing, Motion Activity)
[ ] HTTP Transfers
[ ] Notifications
[ ] NFC
[ ] Push - Native
[ ] Push - Azure Notification Hub
[ ] Push - Firebase
[ ] Sensors
[X] BluetoothLE Client
[ ] BluetoothLE Hosting
[ ] Beacons
[ ] SQLite Integration

Version of Library
Shiny.BluetoothLE <IP_ADDRESS>39
Version of OS(s) listed above with issue
All
Steps to Reproduce

It is very easy to make a "mistake" which triggers a call to a native Android Ble method on a thread which is not the main thread. This leads to Gatt error 133 and disconnection of the ble device which is hard to uncover and fix.

It is very easy to make a "mistake", especially when using reactivex, which triggers a call to a native Android Ble method from "inside" a native Ble callback. By "inside" i mean the code will not let the callback return, before calling a Ble method again. This is prohibited by Android and also triggers Gatt error 133 and disconnection. And of course it's very very hard to uncover.

The locking mechanism used by the Invoke  method (ie: Synchronize(syncLock)) is a clever idea to serialize calls to native android Ble methods. Unfortunately it does not work as expected. Because of Tasks. Tasks are not threads, they are scheduled to threads from inside a thread pool by a task scheduler. And this scheduler can schedule 2 tasks to the same thread if one of them is waiting.

Here it should be quite simple as all calls should be on the main thread, so they should lock correctly. Unfortunately nothing prevents a developer to initiate a call on a worker thread. Even maybe without knowing it.
A second point against this lock, is the main thread is also used to call Android Ble, and most UI things, so locking it may leads to deadlock, timeouts, or slowness.
I agree this 3rd point may be litigious, but in my case it makes the app much more reliable.
Expected Behavior
Make the life of developers easier.
Actual Behavior
For 1) insights:
Currently, there is not enough insights in the ble lib to diagnose any of these 3 issues. Leading to suicides among developers.
For 2) callbacks:
There is no mechanism to prevent what is described.
For 3) sync:
Already described above. I will be happy to provide more explanations.
Proposals
For 1) insights:

Add more logs, using a log service. For example detect if a call is not on the main thread (if the flag is set) and log it. Throwing exceptions may not be enough for most devs, as it's quite difficult to setup a logger in an application correctly.

For 2) callbacks:

An easy 'fix' (if that can be called a fix) would be to trigger the callback events outside the callback itself. The following code is a way of doing that:

public class GattCallbacks : BluetoothGattCallback
    {
        //public override void OnPhyRead(BluetoothGatt? gatt, [GeneratedEnum] ScanSettingsPhy txPhy, [GeneratedEnum] ScanSettingsPhy rxPhy, [GeneratedEnum] GattStatus status) => base.OnPhyRead(gatt, txPhy, rxPhy, status);
        //public override void OnPhyUpdate(BluetoothGatt? gatt, [GeneratedEnum] ScanSettingsPhy txPhy, [GeneratedEnum] ScanSettingsPhy rxPhy, [GeneratedEnum] GattStatus status) => base.OnPhyUpdate(gatt, txPhy, rxPhy, status);

        public Subject<GattCharacteristicEventArgs> CharacteristicRead { get; } = new Subject<GattCharacteristicEventArgs>();
        public override void OnCharacteristicRead(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.CharacteristicRead.OnNext(new GattCharacteristicEventArgs(gatt, characteristic, status))));

        public Subject<GattCharacteristicEventArgs> CharacteristicWrite { get; } = new Subject<GattCharacteristicEventArgs>();
        public override void OnCharacteristicWrite(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.CharacteristicWrite.OnNext(new GattCharacteristicEventArgs(gatt, characteristic, status))));

        public Subject<GattCharacteristicEventArgs> CharacteristicChanged { get; } = new Subject<GattCharacteristicEventArgs>();
        public override void OnCharacteristicChanged(BluetoothGatt gatt, BluetoothGattCharacteristic characteristic)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.CharacteristicChanged.OnNext(new GattCharacteristicEventArgs(gatt, characteristic))));

        public Subject<GattDescriptorEventArgs> DescriptorRead { get; } = new Subject<GattDescriptorEventArgs>();
        public override void OnDescriptorRead(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.DescriptorRead.OnNext(new GattDescriptorEventArgs(gatt, descriptor, status))));

        public Subject<GattDescriptorEventArgs> DescriptorWrite { get; } = new Subject<GattDescriptorEventArgs>();
        public override void OnDescriptorWrite(BluetoothGatt gatt, BluetoothGattDescriptor descriptor, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.DescriptorWrite.OnNext(new GattDescriptorEventArgs(gatt, descriptor, status))));

        public Subject<MtuChangedEventArgs> MtuChanged { get; } = new Subject<MtuChangedEventArgs>();
        public override void OnMtuChanged(BluetoothGatt gatt, int mtu, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.MtuChanged.OnNext(new MtuChangedEventArgs(mtu, gatt, status))));

        public Subject<GattRssiEventArgs> ReadRemoteRssi  { get; } = new Subject<GattRssiEventArgs>();
        public override void OnReadRemoteRssi(BluetoothGatt gatt, int rssi, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.ReadRemoteRssi.OnNext(new GattRssiEventArgs(rssi, gatt, status))));

        public Subject<GattEventArgs> ReliableWriteCompleted { get; } = new Subject<GattEventArgs>();
        public override void OnReliableWriteCompleted(BluetoothGatt gatt, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.ReliableWriteCompleted.OnNext(new GattEventArgs(gatt, status))));

        public Subject<GattEventArgs> ServicesDiscovered { get; } = new Subject<GattEventArgs>();
        public override void OnServicesDiscovered(BluetoothGatt gatt, GattStatus status)
            => Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => this.ServicesDiscovered.OnNext(new GattEventArgs(gatt, status))));

        public Subject<ConnectionStateEventArgs> ConnectionStateChanged { get; } = new Subject<ConnectionStateEventArgs>();
        public override void OnConnectionStateChange(BluetoothGatt gatt, GattStatus status, ProfileState newState)
        {
            //Never call another android ble method while in a callback
            Task.Run(() => Xamarin.Essentials.MainThread.BeginInvokeOnMainThread(() => ConnectionStateChanged.OnNext(new ConnectionStateEventArgs(gatt, status, newState))));
        }
    }

For 3) sync:

ReactiveX is extensible enough to be able to use an async Semaphore instead of a lock, thus not locking the thread but effectively preventing multiple simultaneous calls of Android Ble methods. The followind code is a re-implementation of the Invoke method doing that:

        private readonly SemaphoreSlim sync = new SemaphoreSlim(1,1);

        public IObservable<T> Invoke<T>(IObservable<T> observable)
        {
            if (!this.ManagerContext.Configuration.AndroidUseInternalSyncQueue)
                return observable;

            return Observable.Create<T>(async ob =>
            {
                await sync.WaitAsync();
                try
                {
                    var result = await observable.Synchronize();
                    ob.OnNext(result);
                }
                catch (Exception e)
                {
                    ob.OnError(e);
                }
                finally
                {
                    sync.Release();
                }
            });
        }

Please stick to filing actual issues as something that is broken with an exception.  There isn't an actual problem here and the underlying commands are synchronized to prevent GATT133 unless the user disables it.  I also don't want to bumping on the main thread until right before the call is neecded.

I don't want to close this, but I need something more than a laundry list of issues.  They aren't issues until there is something I can work with.

ok, so after further review - I agree with most points.  The lock does work and blocks multiple tasks, but hence - it is a full lock.  I like the semaphore approach even better than the original queue I had before this.
Logging is a slippery slope and most people won't be digging.  It is usually enough to use the OS and errors should be bubbling through appropriately, but I'm open to more specific suggestions.
As far as async on the android callbacks, this is something I definitely don't want to do.  At least, not in the way it is done.  This one needs to be thought out a bit and in some cases, the user code does have to be responsible for things.
All for 1 and 3... 2 just needs some additional thinking.  Thanks for the detailed post.  Definitely still would like repros though as the issues need to be mostly proven.

To help with the further review and that it might not really need to be in the UI Thread please take a look at these 2 links whenever and if you have time:
<EMAIL_ADDRESS>https://punchthrough.com/android-ble-guide/
for solution 2 scheduling on the main thread actually is not safe because Android is reusing the GattCharacteristic and you can lose the value between the scheduling of the thread and a new incoming data that will override the value. (this info is close to the end of the first link)
PS: (I'm not sure about this. If anyone has a documentation that says otherwise please send me the link)
All articles and android docs that I have read they don't mention that it requires the UI thread. Actually they say don't use the UI thread. Again I heard and saw a lot of requests done in the UI thread but no doc says that must. (I guess I'll have to create a native Android app to test myself)

@MKGNZ Thanks for the articles.  I'll take a look.  Not all of the Android BLE mechanisms are created equal.  Samsung's version used to crap right out if it was on the main thread.  Perhaps things have improved.  I can/should make this configurable just in case.

Since I still have nothing but quotes on "mistakes" and nothing actually reproducible, I am closing this.  I do agree that the locking mechanism had to change and it has.   There has always been a way to disable operations from running on the main thread via BleConfiguration.AndroidShouldInvokeOnMainThread and the default on it is now false.
All errors are bubbled up to the caller, so adding a ton of logging in the internals is also not worthwhile as 99.9% of users aren't going to do that level of effort.


ReferenceMany with repositoryMethod vs. priming references

We use a bunch of ReferenceMany mappings with repositoryMethod in our software, sometimes including sort and limit fields. To reduce the number of database queries, we tried adding reference priming in some of the queries. Since reference priming is implemented in Doctrine\ODM\MongoDB\Query\Query (https://github.com/doctrine/mongodb-odm/blob/master/lib/Doctrine/ODM/MongoDB/Query/Query.php#L260..L268), there were two big problems with this:

Using limit or sort in the mapping causes exceptions. This is due to the fact that the query loops over the results of the queries to collect the objects to be primed. This opens the MongoDB cursor object which means that no limit or sort can be applied to the cursor anymore.
When using count() on the field, the query would be very slow since the execute() method of the query (to return the cursor) would always prime references, even when we're not even interested in the objects themselves.

To fix this, reference priming could be moved to Doctrine\ODM\MongoDB\Cursor and only prime references once the first object is to be hydrated. This would resolve both issues:

The cursor would definitely have to be opened when returning the first result of the query, so we're not breaking any future limit or sort operations since they were impossible anyways.
Using count() would not cause objects to be loaded and thus not trigger reference priming.

I started working on implementing this into the Cursor class (and into EagerCursor as well) but wanted to get some feedback on this before finishing up the job. What do you guys think?

I have an error in link with this case, but without using limit() or sort():
Documents:
class Account
{
    /**
     * @MongoDB\ReferenceMany(
     *  targetDocument="State",
     *  mappedBy="account",
     *  cascade={"remove"}
     * )
     */
    protected $states = [];

    /**
     * @MongoDB\ReferenceMany(
     *  targetDocument="State",
     *  mappedBy="account",
     *  sort={"createdAt"="desc"},
     *  limit=480
     * )
     */
    protected $lastStates = [];

    /**
     * @MongoDB\ReferenceMany(
     *  targetDocument="State",
     *  mappedBy="account",
     *  repositoryMethod="getLastDailyStates"
     * )
     */
    protected $lastDailyStates = [];
}

class State
{
    /**
     * @MongoDB\ReferenceOne(targetDocument="Account", inversedBy="states")
     */
    protected $account;
}

And the repo:
class StateRepository extends DocumentRepository
{
    public function getLastDailyStates(Account $account = null)
    {
        $qb = $this->createQueryBuilder('State')
            ->field('createdAt')->gte(new \DateTime('now - 20 day'))
            ->group([], ['dailyStates' => new \stdClass()])
            ->reduce('function (obj, result) {
                var date = obj.createdAt.toISOString().substring(0, 10);

                if (!(result.dailyStates[date])) {
                    result.dailyStates[date] = obj;
                }
            }');
        if (!empty($account)) {
            $qb->field('account')->references($account);
        }

        $ds = $qb->getQuery()->execute();

        return $ds[0]['dailyStates'];
    }

When I call: $d->getLastDailyStates() I have the error:
PHP Fatal error:  Call to a member function sort() on array in C:\Mes documents\moua\soclead\vendor\doctrine\mongodb-odm\lib\Doctrine\ODM\MongoDB\Persisters\DocumentPersister.php on line 809
But in the repo::getLastDailyStates I don't use sort()
I don't understand if it is an error or a bug ...

@acrozes repositoryMethod is supposed to return Cursor or EagerCursor according to docs. Example over there is a bit unfortunate as now it returns array but this has been amended lately in #1054 to clarify everything

@alcaeus idea seems reasonable :+1:

#1068 was merged


for #858 return a ErrPacket when a NullPointerException is fired

Fixes #858 .

Codecov Report

Merging #863 into dev will increase coverage by 0.02%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##              dev     #863      +/-   ##
==========================================
+ Coverage   63.52%   63.54%   +0.02%
==========================================
  Files         500      500
  Lines        9770     9770
  Branches     1610     1610
==========================================
+ Hits         6206     6208       +2
+ Misses       3211     3208       -3
- Partials      353      354       +1

Impacted Files
Coverage Δ

...proxy/backend/common/SQLExecuteBackendHandler.java
0% <0%> (ø)
:arrow_up:

.../internal/config/ConfigurationListenerManager.java
75% <0%> (+3.57%)
:arrow_up:

...OrchestrationMasterSlaveDataSourceFactoryBean.java
77.77% <0%> (+11.11%)
: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 fced903...d7464a4. Read the comment docs.


Update codegen documentation to show smithy-trait-codegen

e.g. in https://smithy.io/2.0/guides/building-codegen/configuring-the-generator.html#converting-json-configuration-to-java
there's no mention of smithy-trait-codegen, and I think it's a pretty huge time-saver when it comes to writing these POJOs.

Fair enough!


Add Kaniko policy

fixes: #11

🔥 thanks for the test! 🙏

Woohoo! Thank you for the merge @mattmoor!


Update CI workflows to enable release on tag

Codecov Report

Merging #65 (b81ca92) into main (62d21e5) will increase coverage by 0.23%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main      #65      +/-   ##
==========================================
+ Coverage   39.49%   39.73%   +0.23%
==========================================
  Files          20       20
  Lines         519      521       +2
  Branches       66       66
==========================================
+ Hits          205      207       +2
  Misses        308      308
  Partials        6        6

Impacted Files
Coverage Δ

qgis_deployment_toolbelt/__about__.py
100.00% <100.00%> (ø)


Implement Vault runcmd commands as systemd units

Signed-off-by: Luke Addison<EMAIL_ADDRESS>What this PR does / why we need it: Intermittent issues (e.g. network) can cause Vault's runcmd userdata commands to fail. This PR fixes this by automatically restarting them if they fail
Which issue this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close that issue when PR gets merged): fixes #506
Release note:
Run Vault userdata runcmd commands as systemd units

@simonswine if this is something we need, I can do the same for the rest of the runcmd part (e.g. yum installs)

Will be not merged, because it creates some risks and 0.6.0 will have that part in puppet anyhow


Text widget annotations: implement unit testing and sanitize data values

This patch is a part of #7613.
@Snuffleupagus Could you review this?

/botio-linux preview

/botio unittest

Unit-tests, nice!
Also, really good to move the validation to the worker side; thanks for the patch!


Add expires_on support in Az cli cred flow

Adds expires_on field support in Az cli credential.

API change check
API changes are not detected in this pull request.

pushing unit test next.


[Search v1] Implement policy filter

Implement this section of the design doc - https://docs.google.com/document/d/1ldZ85fyQO4662hLZRNFfm0_IxaP7-PWvaqc8Z33jsLQ/edit#bookmark=kix.qynv3hskwp7v

Hi! I'll take a look at this one :)

Gonna work on the backend part of this

Looks like this is being worked on, moving out of Hot Picks and into the Summer release.

PR was deployed to prod last week. Updating to process payment.

Hmm actually no C+ was involved in this, so we're good to close.

@adelekennedy offer accepted. Thanks!

done - I think that's everyone who needs payment via Upwork, please reopen if I missed something!


Change FIFO Output

Hello, and sorry for the noob question. I am trying to get this to work, but I have very little knowledge of anything to do with audio on linux. I can't find anything about this in any documentation, so could someone help me if its not too much bother?
Thanks, and great work on this!

This is not really the place to ask for help with another project. Raspotify is just listed as an example. You should ask for help their.

That repo hasn't had a commit in 3 years. It may not be maintained any longer?

The docs regarding Raspotify are outdated.

Raspotify has no access to /tmp for security reasons (and also because Raspotify doesn't use /tmp for anything at all) so the fifo can't be in /tmp so the default location used by aurora-server will not work.

Number 4 is documented in the wiki.

I'm closing this as invalid. This is not a Raspotify issue or even configuration issue.


Error for Int64Dtype column: "The 'reduce' method is not supported."

Thank you for creating this very useful library!
Describe the bug
I experience an error when using Pandas Profiling with a data frame containing a Int64Dtype() column with at least 5 rows.
To Reproduce
Create a file example.py with this code:
"""
Test for issue 502:
https://github.com/pandas-profiling/pandas-profiling/issues/502
"""
import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport

df = pd.DataFrame({
    'a': [1, 2, 3, 4, 5]
}, dtype=pd.Int64Dtype())

profile = ProfileReport(df, title='Pandas Profiling Report', explorative=True)
profile.to_file("your_report.html")

Run from the command line with python example.py. Output:
Summarize dataset:   0%|                                 | 0/15 [00:00<?, ?it/s]
Traceback (most recent call last):
  File "example.py", line 10, in <module>
    profile.to_file("your_report.html")
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 245, in to_file
    data = self.to_html()
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 348, in to_html
    return self.html
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 168, in html
    self._html = self._render_html()
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 275, in _render_html
    report = self.report
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 162, in report
    self._report = get_report_structure(self.description_set)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/profile_report.py", line 143, in description_set
    self._description_set = describe_df(self.title, self.df)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/model/describe.py", line 63, in describe
    series_description = get_series_descriptions(df, pbar)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/model/summary.py", line 473, in get_series_descriptions
    executor.imap_unordered(multiprocess_1d, args)
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 735, in next
    raise value
  File "/usr/lib/python3.6/multiprocessing/pool.py", line 119, in worker
    result = (True, func(*args, **kwds))
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/model/summary.py", line 450, in multiprocess_1d
    return column, describe_1d(series)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/model/summary.py", line 419, in describe_1d
    type_to_func[series_description["type"]](series, series_description)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas_profiling/model/summary.py", line 151, in describe_numeric_1d
    "min": np.min(present_values),
  File "<__array_function__ internals>", line 6, in amin
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 2831, in amin
    keepdims=keepdims, initial=initial, where=where)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/numpy/core/fromnumeric.py", line 87, in _wrapreduction
    return ufunc.reduce(obj, axis, dtype, out, **passkwargs)
  File "/home/ac/projects/python/profiling/env/lib/python3.6/site-packages/pandas/core/arrays/integer.py", line 372, in __array_ufunc__
    raise NotImplementedError("The 'reduce' method is not supported.")
NotImplementedError: The 'reduce' method is not supported.

Version information:

Python version: Python 3.6.9 (default, Apr 18 2020, 01:56:04)
Environment: Where do you run the code? Command line
pip: If you are using pip, run pip freeze in your environment and report the results. The list of packages can be rather long, you can use the snippet below to collapse the output.

Click to expand Version information

astropy==4.0.1.post1
attrs==19.3.0
backcall==0.2.0
bleach==3.1.5
certifi==2020.6.20
chardet==3.0.4
confuse==1.1.0
cycler==0.10.0
decorator==4.4.2
defusedxml==0.6.0
entrypoints==0.3
htmlmin==0.1.12
idna==2.9
ImageHash==4.1.0
importlib-metadata==1.6.1
ipykernel==5.3.0
ipython==7.15.0
ipython-genutils==0.2.0
ipywidgets==7.5.1
jedi==0.17.1
Jinja2==2.11.2
joblib==0.15.1
jsonschema==3.2.0
jupyter-client==6.1.3
jupyter-core==4.6.3
kiwisolver==1.2.0
llvmlite==0.33.0
MarkupSafe==1.1.1
matplotlib==3.2.2
missingno==0.4.2
mistune==0.8.4
nbconvert==5.6.1
nbformat==5.0.7
networkx==2.4
notebook==6.0.3
numba==0.50.0
numpy==1.19.0
packaging==20.4
pandas==1.0.5
pandas-profiling==2.8.0
pandocfilters==1.4.2
parso==0.7.0
pexpect==4.8.0
phik==0.10.0
pickleshare==0.7.5
Pillow==7.1.2
pkg-resources==0.0.0
prometheus-client==0.8.0
prompt-toolkit==3.0.5
ptyprocess==0.6.0
Pygments==2.6.1
pyparsing==2.4.7
pyrsistent==0.16.0
python-dateutil==2.8.1
pytz==2020.1
PyWavelets==1.1.1
PyYAML==5.3.1
pyzmq==19.0.1
requests==2.24.0
scipy==1.5.0
seaborn==0.10.1
Send2Trash==1.5.0
six==1.15.0
tangled-up-in-unicode==0.0.6
terminado==0.8.3
testpath==0.4.4
tornado==6.0.4
tqdm==4.46.1
traitlets==4.3.3
urllib3==1.25.9
visions==0.4.4
wcwidth==0.2.5
webencodings==0.5.1
widgetsnbextension==3.5.1
zipp==3.1.0

Additional context
Having at least 5 rows seems to be required for the error to occur. This code will run WITHOUT ERROR:
import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport

df = pd.DataFrame({
    'a': [1, 2, 3, 4] # no 5
}, dtype=pd.Int64Dtype())

profile = ProfileReport(df, title='Pandas Profiling Report', explorative=True)
profile.to_file("your_report.html")

Thank you!

Thanks for the extensive bug report. Will look into it.

Seems that this error was introduced by the changes for the enhanced performance of summarization of numeric series. I've pushed a workaround to revert this for pandas' nullable integers. Will be in the next release.

Great, thank you very much!

The v2.9.0rc1 release is out, and should resolve this issue.
Until this version is fully released, you can install it via pip in the following way:
pip install --pre -U pandas-profiling

It would be very helpful to know if the release candidate adequately solves the issue.

I installed it in via pip using that command and tried running the code from the bug report. It ran without error and generated the HTML output as expected. I believe the issue is solved now.
Thank you very much!


Bonfire

This macro works great at collecting wood, but when I want it to stash that wood into a bonfire it does not deposit it.  It goes as far to click add wood but does not click on max after that.

See how it goes now.  I just noticed the thistle program was failing to click the Max button when it was time to refill jugs.  Likely the same problem.  The issue was that maxbutton.png is a bit darker than maxbutton2.png (which does work).  So just copied and overwrote maxbutton2.png to maxbutton.png . See how it goes now.  This likely affected more than one macro requiring the Max button to be clicked.

The different png does not seem to have any affect for me.  But I found another work around with the help of Skyfeather, who was also having the same issue as myself.  In the code I change the 55 value to 35.  This is where it is looking to click for the max button and this seems to fix it for me.


Please move licensing information to LICENSE file

Currently the licensing for the project is included in README.md.
Please move licensing to LICENSE file.

@sandrobonazzola Can you please create a PR, that will be do it? Thanks


Support floating point numbers

Expand the C code generator to support binary floating numbers.
Rename test element ex_ints to ex_nums and add floating numbers to it.
Modify the C code generator to emit one-line parser and unparser
subroutine calls instead of emitting 14-16 lines of low level parsing
/ unparsing C code for each field.  Define each variation of these
14-16 lines for each type of numerical field as subroutines inside
parsers.c and unparsers.c in the c/libruntime directory instead.
Move the orion-command test element from TestRuntime2.dfdl.xsd to its
own schema (orion-command.xml) with its own tests and data files.
Currently orion-command.tdml will pass using daffodil-runtime1, but
fail if using daffodil-runtime2.  We need to make the C code generator
support array elements in orion-command.xml's VideoSettings element.
Changelog:
In TestCLIGenerateC.scala, rename ex_ints to ex_nums.
In daffodil_main.c, update the parseSelf and unparseSelf calls since
they now return void instead of const char *error_msg.
In xml_reader.c, define new strtofnum and strtodnum functions to
support reading floating point numbers from XML data.  Rename
xmlIntegerElem to xmlNumberElem and make it call strtofnum and
strtodnum as well as strtounum and strtonum.  Run clang-format on the
code.
In xml_writer.c, rename xmlIntegerElem to xmlNumberElem and make it
write floating point numbers as well as integers.  Run clang-format on
the code.
In infoset.c, make walkInfosetNode call visitNumberElem for primitive
floats/doubles as well as primitive integers.
In infoset.h, change signatures of parseSelf and unparseSelf.  Rename
VisitIntegerElem to VisitNumberElem.  Add enumerations for primitive
floats/doubles.  Add const char *error_msg to PState and UState
structs so parser/unparser subroutines can set it when needed.
Add parsers.{c,h} with subroutines to parse binary floating point
numbers and integers.
Add unparsers.{c,h} with subroutines to unparse binary floating point
numbers and integers.
Rename ex_ints.{c,h} to ex_nums.{c,h} and bring them up to date with
generated_code.{c,h} emitted by C code generator after latest changes.
In Runtime2CodeGenerator.scala, add BinaryFloat and BinaryDouble cases
within the generateCode function and make them call
BinaryFloatCodeGenerator.  Also add and call a noop function to
facilitate setting a breakpoint within the generateCode function.
Add BinaryFloatCodeGenerator.scala and make it emit one-line
subroutine calls for parsing and unparsing binary floating point
numbers.  Note that binary floating point numbers can be little-endian
or big-endian just like binary integers.
In BinaryIntegerKnownLengthCodeGenerator.scala, remove minimum 8-bit
alignment restriction since C code can read and write numbers without
needing alignment to 8-bit boundaries.  Change to emit one-line parse
and unparse subroutine calls (the low level parsing and unparsing code
is in c/libruntime/parsers.c and unparsers.c now).
In CodeGeneratorState.scala, add qualifiedName and localName methods
and invoke them to generate unique C file-scope names for ERD objects
while continuing to generate non-unique field names.  Support binary
floating numbers as well as binary integers and initialize their
fields with signaling NaNs.  Change parseSelf and unparseSelf to
return void instead of const char *error_msg.  Expand to handle floats
as well as integers.  Shorten ${C}_compute_ERD_offsets to
${C}_compute_offsets.  Remove unneeded headers from generated_code.c.
In TestRuntime2.dfdl.xsd, rename ex_ints to ex_nums and make it define
float/double numbers as well as integers.  Move orion_command and its
simple types to orion-command.xml.
In TestRuntime2.tdml, rename ex_ints tests to ex_nums.  Move
orion_command tests to orion-command.tdml.
Rename orion_command_parse.dat to command_parse.dat.
Rename orion_command_unparse.xml to command_unparse.xml.
Rename ex_ints test data files to ex_nums and add float/double numbers
to their contents.
Add orion-command.tdml with test cases for Command and VideoSettings
elements and corresponding data files (e.g., video_settings_parse.dat
and video_settings_unparse.xml).
Add orion-command.xml schema with Command, CameraState, and
VideoSettings elements.
Add TestOrionCommand.scala to run orion-command.tdml as part of sbt
tests.
In TestRuntime2.scala, rename ex_ints to ex_nums.  Move orion_command
test cases to TestOrionCommand.scala.
In Dependencies.scala, update dev.dirs:directories version to latest
version.
In Rat.scala, tell Rat to ignore new test data files.  Also ignore
orion-command.xml schema since we got it from a third party without
any license (we may keep it around only temporarily while developing C
code generator and remove it once Daffodil can generate C code for
array elements).

+1 with minor comments. Would like to also see the windows issues fixed, but I think based on another comment you fixed the portability already.

+1 with minor comments. Would like to also see the windows issues fixed, but I think based on another comment you fixed the portability already.


Why your feedforward layer use tf.layers.conv1d instead of the two liear with relu proposed in paper?

hi, why your feedforward layer use two tf.layers.conv1d instead of the two liear with relu proposed in paper? which is better?

@FrankWork did you figure out the reason... I am having exactly the same doubt.

Maybe feedforward layer with conv1d has better results

I have the same question. I doubt if it has better results if they represent the same function.

In my view, these two method are equivalent, so this does not matter. Maybe the coders just prefer 'tf.layers.conv1d' to 'tf.layers.dense'。

@RayXu14 why they are equivalent? I didn't get it.


Upgrade application: Version duplication error (Master deployment)

Description
Upgrade application runner raise an exception when try to update the current version to run the upgrade steps.
Error
More than one version found: [EntitiesVersion{version='X.Y.Z-SNAPSHOT', status=UPGRADED, updated=null}, EntitiesVersion{version='X.Y.Z-SNAPSHOT', status=UPGRADED, updated=null}]

Investigation
The UpgradeApplication implements the spring CommandLineRunner interface.
CommandLineRunner is a simple Spring Boot interface with a run method. Spring Boot will automatically call the run method of all beans implementing this interface after the application context has been loaded.
It has not been possible replicated the issue in local.
Seems that this UpgradeApplication is running twice creating a duplication of version entry in EntitiesVersion
From logs
metrics-services: "Version found from the property file : 4.2.5-SNAPSHOT"
jwkms: "Version found from the property file : 4.2.6-SNAPSHOT"
Solution
Implementation of a method to clean duplications on entitiesVersion when collect the versions from database before start the upgrade steps.

Test cases:

No entry in entitiesVersion
No duplications
Current version duplicated
Duplications of different versions
Duplications of different versions with different status
Two process running at the same time the upgrade
Force upgrade: true
Force upgrade: false
One process running the upgrade

Duplication of version issue fixed.


🌱 Undo1412

Summary
This PR undoes #1412 in order to remove the merge conflicts in #1363. After #1363 merges I will re-apply the changes from #1412.
Related issue(s)
Fixes #

/cc @waltforme
/cc @ezrasilvera

/approve
/lgtm


[BUG] Section personalization not found

Describe the bug
When I login I got stuck to the loading screen "Loading Conversations..."
Console is showing the error "Section personalization not found"
Screenshots

Desktop (please complete the following information):

OS: Windows
Browser chrome
Browser version latest

Local storage debug is just showing the nextauth.message: "{"event":"session","data":{"trigger":"getSession"},"timestamp":1699362676}"

That error should actually just be a warning and not affect the app. It is basically checking to see if you have set a preference for light or dark theme and should default to dark if nothing is set.
Try setting NEXT_PUBLIC_DEBUG_MODE=true in the .env file and see the console to check if all the env variables are being read correctly, client and server side. Also, check the browser network logs, you should see an error there if it is not connecting to supabase.

Getting the /api/models result into
[POST] /api/models reason=EDGE_FUNCTION_INVOCATION_TIMEOUT, status=504, user_error=true

We need to implement a timeout on our side to prevent the whole model fetching from crashing. I will make a note of that. In the meantime, I know you mentioned in another issue that you are using ollama. Could it be that it gets stuck trying to connect to the ollama server?

Yes I just checked that, so my Ollama server is not reachable, the fetch call is taking to long and therefor the api call to /api/models results in a timeout.

Yes so removing the ollama host variable "resolved" the problem. I think getting the ollama models isn´t working 100%

Does it work okay if you deploy locally?

I will test to run it on my local pc and connect to my external ollama server, maybe Vercel requires https to connect to external resources or maybe the default port of ollama 11434 isn´t allowed on Vercel infra.

Keep me updated. Thanks!

Yes so Vercel isn´t working with the port 11434 for me, when I reverse proxy my ollama api to https://ollama.mydomain.com it is working fine on Vercel.


Readme not rendering on PyPI

The problem is in the REAME.rst under Installation, there is a broken link (missing space between "feedstock" and the <). This is causing readme_renderer to choke, which then causes long_description to fail to render on PyPI.
You can check the README yourself with:
pip install readme_renderer
python setup.py check -r -s

yes, thanks. i already fixed it in the dev branch. is there a way of updating the readme without uploading a new version to pyPi?

no

I don't think so, but generally this is what a post release is for.


broken?

Have to refresh several times before video starts. Can somebody confirm it?

Resolved. It was interfering with a different plugin.


bug: Login button not working on mobile

This login button is not working in my mobile chrome browser. Needs to be fixed

Please assign me

Go ahead

Seems like the login button is not redirecting to login page or the  "smooth scrolling" behavior is not working for the button, this can be resolve either by making changes in " smooth scrolling" behavior of login button or redirecting to a login page.


Fix issue where multiple deployments was not allowed

Canvas only sends the iss and client_id for the login_initiation process. According to the LTI Core specification, the platform is only required to send the iss. As the code was written, it assumed that the client_id would be unique. However, in Canvas, it is possible to deploy a tool from within a course as opposed to within the Admin settings. This can be done across multiple courses, at which point there can be a variety of deployment_ids in the tool's database corresponding to a single set of iss + client_id. Therefore, it was problematic that the tool would return an error if more than one entry per client_id could be found in the database. Additionally, this means that the deployment_id cannot actually be verified until after the launch is complete because there is no way to truly know what the user's deployment_id is until that point, so that code had to be moved.

Changes look good and sadly, it needs to be applied.
IMO this is a problem in the SEC specification.  I don't understand why the platforms are allowed to only to send the iss and not the full key (iss, client_id, deployment_id).  that should always come on EVERY message.  (In fact, the LTI specification states that these 3 values must be in all the messages between platform and tool..., IMO, that should apply too to the login_initiation_process.


Display caps lock indicator in secure input

I'm uncertain if we can query the caps lock key status from winit, but we should show an indicator when masking is asctive if the caps lock key is pressed.

We need winit to tell us about the caps lock state, really. It doesn't look like they expose the API yet, and its internally tracked in xkb state that we can't read.
They've got an implementation to check caps state on windows and linux, supported on both wayland and X. It just needs to be added to public API

Thank you for investigating how all that works!


Node related events from kubelet are dropped silently

Any node object related events from the kubelet does not get recorded in the apiserver.
I0427 22:46:03.870194    4710 server.go:427] Sending events to api server.
I0427 22:46:03.918593    4710 event.go:200] Event(api.ObjectReference{Kind:"Node", Namespace:"", Name:"kubernetes-minion-iqzw", UID:"kubernetes-minion-iqzw", APIVersion:"", ResourceVersion:"", FieldPath:""}): reason: 'starting' Starting kubelet.
E0427 22:46:04.114130    4710 event.go:182] Server rejected event '&api.Event{TypeMeta:api.TypeMeta{Kind:"", APIVersion:""}, ObjectMeta:api.ObjectMeta{Name:"kubernetes-minion-iqzw.13d9005ed1b93275", GenerateName:"", Namespace:"", SelfLink:"", UID:"", ResourceVersion:"", CreationTimestamp:util.Time{Time:time.Time{sec:0, nsec:0, loc:(*time.Location)(nil)}}, DeletionTimestamp:(*util.Time)(nil), Labels:map[string]string(nil), Annotations:map[string]string(nil)}, InvolvedObject:api.ObjectReference{Kind:"Node", Namespace:"", Name:"kubernetes-minion-iqzw", UID:"kubernetes-minion-iqzw", APIVersion:"", ResourceVersion:"", FieldPath:""}, Reason:"starting", Message:"Starting kubelet.", Source:api.EventSource{Component:"kubelet", Host:"kubernetes-minion-iqzw"}, FirstTimestamp:util.Time{Time:time.Time{sec:63565771563, nsec:912344181, loc:(*time.Location)(0x1818fa0)}}, LastTimestamp:util.Time{Time:time.Time{sec:63565771563, nsec:912344181, loc:(*time.Location)(0x1818fa0)}}, Count:1}': 'the server does not allow this method on the requested resource' (will not retry!)

I digged a bit deeper and it looks like kubelet does not sets namespace to be empty and this results in the kubelet trying to post to `/api//events', which a resource that is not exported by the apiserver.

cc @dchen1107 @saad-ali


Use uname(2) on get_os_version.

Also moving it to a sol_util function, that is now more suitable.
Signed-off-by: Gustavo Lima Chaves<EMAIL_ADDRESS>

I don't think we need to keep it in sol_util just keep the implementations in common as before... the internal call doesn't add much.

It was in sol_util_file before. I still things it's better there in util.

I have no idea why people did put it in util, I guess because that one was for file... the platforms itself already have -impl- files and OS-specific code in there. There is no gain to keep an internal util version other than confusion -- which one should I use? why 2? etc.

Ok, no big deal for me, leaving as -impl- and not util.

2nd version coming, thanks.


Auto-tab-complete hide command if player has no permission

Description of issue or feature request:
Players who don't have access to specific commands are still able to tab complete them in 1.13.x
Players see much commands they should not be able to see using /(tab). There are about 50 commands which normal players should not be able to see. This of course should not happen.
I'm no dev, but it's been said that the key lies in the plugin.yml which should state all commands and their permissions.
Can this be solved?

Closing as this is not a Multiverse issue.


Occasional white screen after refresh

Describe the bug
Occasionally I get shown a white screen when refreshing the page in Chrome.  I am unable to reliably reproduce this issue however.
I haven't been able to reproduce the bug on desktop firefox or mobile chrome.
To Reproduce
Steps to reproduce the behavior:

Go to the website
Refresh
See white screen

https://user-images.githubusercontent.com/32662508/223877259-24c753a1-0193-4472-8c7e-4a12b28172c4.mov

Might be an issue with the redirect in middleware.ts @vinayaksh42 @benalleng

I am not able to reliably reproduce this issue on Chrome desktop or Firefox. When you do manage to reproduce this behavior what normally resolves this?

FYI the test above is chrome with default language settings as english. This doesn't seem to occur if my default language is dutch and I'm on the url /nl.
My hunch is this has to do with the browser being unable to resolve forced language settings and default language settings. If so, this would be problematic when we offer language options in the future.

Okay I figured out how to reproduce this.

Go to https://savingsatoshi.com/nl
Click start demo
Refresh the page (multiple times if needed)

Another thing that I notice is that the url doesn't always stick to /nl ending but jumps to /en ending.

I was unable to reproduce this error based on the instructions provided. Which browser are you using for testing this bug?
The website might be jumping to the /en ending due to your locale language being English.

Hmmm okay. I'm using chrome. If we can't reproduce we can close this issue.

Might be an issue with the redirect in middleware.ts

I think the issue may have to do with how our middleware.ts interacts with the browser's default locale search. because we are letting the browser decide which language to use, refreshing or going to a new page causes it to run getLocale(request) again but when the result of getLocale() and the locale set in the url differ this may be confusing useLang.ts is obviously causing some errors. when #148 is implemented we may be able to only run getLocale() on the first page load or when a new language is selected so that the useLang() and functions inside translate.ts aren't fighting with two locales. worth leaving this open to see if that PR fixes this issue later on.

With the addition of some new logic in translations.ts I was wondering if this is still an issue, granted we are still dealing with links always switching to the /en locale but i wanted to ask if anyone could reliably reproduce this particular bug anymore?

So now what happens is that if I go to https://savingsatoshi.com/nl and click on "start demo" it just shoots to /en.
I can't repro white flash anymore.

I think we should close this particular issue, however we obviously need to create a new issue to solve locale consistency. i.e. once I select a particular locale I expect it to retain my choice and carry through any link I click to move through the website.

Closing this issue.


magic-vlsi: 8.3.497 -> 8.3.501

Fixes issue #359320
./result/bin/magic -dnull -noconsole

Magic 8.3 revision 501 - Compiled on Tue Nov 26 16:01:52 UTC 2024.
Starting magic under Tcl interpreter
Using the terminal as the console.
Using NULL graphics device.
Processing system .magicrc file
Using technology "minimum", version 0.0
%

Things done

Built on platform(s)

[x] 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
[x] 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

[x] Fits CONTRIBUTING.md.

@thoughtpolice @AndersonTorres
ZHF: https://github.com/NixOS/nixpkgs/issues/352882

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

I'd like to have the fix in 24.11


Please add support sqlsrv driver.

I've try to use voyager with mssql 2008 with sqlsrv driver and i found problem about table info and bread. I try to fix that with add sqlsrv case in DBSchema.php like this
 case 'sqlsrv':
    $query = "SELECT table_name FROM information_schema.tables";
    break;

after add sqlsrv case i can create table but still error when create bread or view table info.
Thank you, btw voyager is a good one laravel backend.

We need to support this, as it's one of the DBMS that Laravel supports OOTB (5.3, 5.4, 5.5).  @marktopper, @tnylea, @akazorg
We're certainly open to pull requests

We should work on that.

hello, any new about this? thanks!

please re-open this. This is a valid concern.

It's not closed...?

Any news about it? I am getting this error:
Migrating the database tables into your application
Migrating: 2017_01_15_000000_make_table_name_nullable_in_permissions_table

   PDOException  : SQLSTATE[IM001]: Driver does not support this function: driver does not support that attribute

  at /Users/marcellopato/Sites/class/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:52
    48|      * {@inheritdoc}
    49|      */
    50|     public function getServerVersion()
    51|     {
  > 52|         return PDO::getAttribute(PDO::ATTR_SERVER_VERSION);
    53|     }
    54|
    55|     /**
    56|      * {@inheritdoc}

  Exception trace:

  1   PDO::getAttribute()
      /Users/marcellopato/Sites/class/vendor/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOConnection.php:52

  2   Doctrine\DBAL\Driver\PDOConnection::getServerVersion()
      /Users/marcellopato/Sites/class/vendor/doctrine/dbal/lib/Doctrine/DBAL/Connection.php:467

  Please use the argument -v to see more details.


Compress Apply layer-priority queue

Currently, there are places one can optimise the appD_data priority queue within Apply.

[x] It uses 64 bits for the entire from_1 bit-flag. Yet, all flags are already occupied for is_high (on source) or reserved for complement edges (t1 and t2). The sink-flag on t1 and t2 are also in use, so that only leaves the sink flag on source as the only place to put it.
EDIT: The from_1 flag can be removed. See #101 .

[ ] It stores from_1, data_low, and data_high for all requests forwarded across the layer. Yet, two requests to the same t1 and t2 do not need to store this same data multiple times. We could split appD_data into two priority queues: One still to pick the next request from and another in sync with it with all other requests to the same (and without duplication of data).

With 9e100bee16cef61d9691c872ac713f58f6739f7c it's easier for us to manage the memory given to each priority queue. So, we may want to look again into splitting appD_data into two.

I also still wonder whether the from_1 bit flag truly cannot be computed rather than has to be forwarded in the priority queue? Given a pair of nodes to compute, we should be able to determine which one we will visit/resolve first?

I also still wonder whether the from_1 bit flag truly cannot be computed rather than has to be forwarded in the priority queue? Given a pair of nodes to compute, we should be able to determine which one we will visit/resolve first?

About the second suggestion: It does decrease the memory usage, since each block on disk will be able to contain more elements. It also increases performance by being able to use fewer I/Os. It does also decrease performance (and increase the minimum memory needed) since now two queues have to share the memory that a single queue once had to itself.

About the second suggestion: It does decrease the memory usage, since each block on disk will be able to contain more elements. It also increases performance by being able to use fewer I/Os. It does also decrease performance (and increase the minimum memory needed) since now two queues have to share the memory that a single queue once had to itself.


Data Creation End Date

From Ron --

It wasn't clear to me how I should enter the end date in the case where the data creation is complete (i.e. I want to create a begin and an end date).

I looked at the metadata spreadsheet again, and source/usage section has YYYY-MM-DD or YY-MM-DD/YY-MM-DD.  Is the second one a way to specify a begin and an end date?


Template for v4 programming model references alpha Durable Functions package

To reproduce:

create a new Function app using the v4 programming model
create an orchestration function
you'll see that in package.json under "dependencies", the version of durable functions referenced is 3.0.0-alpha, which is not the latest supported package.

There might have been some hard coding of the package version that needs to be changed.

(cc @MadhuraBharadwaj-MSFT)


Problems With the script...

I put the script in/usr/local/bin with +chmod and it's happening again and again and I've Maxmind GeoLite2.csv , results.csv are IPs and I m a n00b , sorry for my errors :-)
$ pygeoipmap.py -i /root/results3.csv -o /tmp/output.png -f csv -s m --db /home/jhk/GeoLite2-City-Locations.csv
Traceback (most recent call last):
File "/usr/local/bin/pygeoipmap.py", line 124, in
main()
File "/usr/local/bin/pygeoipmap.py", line 118, in main
lats, lons = get_lat_lon_from_csv(args.input)
File "/usr/local/bin/pygeoipmap.py", line 77, in get_lat_lon_from_csv
lats.append(row[-2])
IndexError: list index out of range
I also did  $ python pygeoipmap.py -i /root/results3.csv -o /tmp/output.png -f csv -s m --db /home/jhk/GeoLite2-City-Locations.csv
python: can't open file 'pygeoipmap.py': [Errno 2] No such file or directory

Hi,
it looks like the data you provide is not what the script expects. A few things to investigate on your side:

try using the binary GeoLite database instead of the CSV one. It is available here (you have to unzip it).
the error that pops up is because lats.append(row[-2]) is looking for the second element from the end of the line. I put a few examples in the comments of the code. It looks like you don't have the data in the right form in your results3.csv file. From what you're telling me, I think you should try with the -f ip argument instead of -f csv.

Check it out and let me know if it works! :)

should i move GeoLiteCity.dat  to /usr/local/share/GeoIP??

Put it wherever you want and just point to the right path when you call it. If you put it in /home/jhk/GeoLiteCity.dat, just call the script with -f ip -s m --db /home/jhk/GeoLiteCity.dat.

ok. Olympus thanks to you...

Amazing work.. :-)

Worked perfectly... :+1: :100:

Cool, glad to know it worked!
Enjoy ;)

python pygeoipmap.py /tmp/ip_list
pygeoipmap.py: error: unrecognized arguments: /tmp/ip_list

Hi @antoncedoni, the previous issue looks different from yours and has been closed.
Can you open a separate one and provide the following info:

operating system you're using
version of Python you're running

Also, can you check if your ip_list file follows the format described in the readme file?
Thanks,


Unable to add icons to the navbar

Have you read the Contributing Guidelines on issues?

[X] I have read the Contributing Guidelines on issues.

Prerequisites

[X] I'm using the latest version of Docusaurus.
[X] I have tried the npm run clear or yarn clear command.
[X] I have tried rm -rf node_modules yarn.lock package-lock.json and re-installing packages.
[X] I have tried creating a repro with https://new.docusaurus.io.
[X] I have read the console error message carefully (if applicable).

Description
Adding svg's to the Navbar does not work, if I input it using the character svg method, that works.
You may see here: https://github.com/PatelN123/Digital-Support-Notes/pull/102
The first commit is with the .svg and second with the .png
Both times, it failed in some way
@Josh-Cena Requested I open a bug report for this, not sure how to better explain it.
Steps to reproduce

Clone the repo: https://github.com/PatelN123/Digital-Support-Notes
Try to add an image to the navbar
yarn build

Expected behavior
Add the icon to the navbar
Actual behavior
A white space shows, with no image.
Your environment

Public source code: https://notes.nayanpatel.net/
Public site URL:  https://github.com/PatelN123/Digital-Support-Notes
Docusaurus version used: Canary

Reproducible demo
No response
Self-service

[ ] I'd be willing to fix this bug myself.

Duplicate of #6408. I have told you on Discord...


Defaultable extension

Hi guys,
What do you think about create a "Default" extension (or Defaultable?)
Defaultable will maintain a field for set if the entity is the default or not.
Also it can have a DefaultableGroup, similar to SortableGroup. Each group can have a default entity.
The first entity saved in the group will be the default.
If the default entity is deleted, another one of the same group is set as default.
The repository can have this methods: changeDefault, findDefault, etc
I have this behavior in many of my applications, what about you?
Regards.

Hi, you can set default values in entity allready, etc:
<?php
/**
 * @ORM\Entity
 */
class Article
{
    /**
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @ORM\Column(length=128)
     */
    private $title = "Default title value";

    /**
     * @ORM\Column(type="integer")
     */
    private $num = 5;
}

I really do not see the point here in adding additional abstraction layer for that. What relates to relation default value. Well it depends on the foreign key of an entity related, if its deleted or whatever you would need to reconfigure and its just too much over using a setter

still, not sure if its worth having extra layer to handle SELECT p FROM Entity\Photo p WHERE p.default = 1 AND p.user = :user and having it as $photoRepository->findDefaultForUser($user); I tend to keep things as simple as possible and I think the science is really in simplicity not in abstraction


edited service.beta.kubernetes.io/azure-load-balancer-disable-tcp-reset annotation set for deprecation - doc needs update

This annotation is set to be depcrecated and the doc needs to be updated accordingly.
edited
service.beta.kubernetes.io/azure-load-balancer-disable-tcp-reset

Ref:  https://kubernetes-sigs.github.io/cloud-provider-azure/topics/loadbalancer/

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

ID: 60a7a0a8-97e7-0fda-763c-1a9972f4e9bc
Version Independent ID: 82b46441-43fc-fe48-97e2-0f3fca3d6eab
Content: Use a Public Load Balancer - Azure Kubernetes Service
Content Source: articles/aks/load-balancer-standard.md
Service: container-service
GitHub Login: @palma21
Microsoft Alias: jpalma

@MarcosMMartinez - Thanks for brining this to our attention. We will investigate it further and update you shortly.

@MarcosMMartinez The image refers to disable-tcp-reset, which should not be in the doc, but you mention idle timeouts. There's no plan to deprecate idle timeout.

@palma21 - sorry for the mix-up with the title. You'll find the tcp reset annotation in our doc:

This is the issue.

Yup that one we can remove (although it's not being planned to be removed yet, it's not a bad time to take it out)

@palma21 - Thanks for providing your insights.
@MarcosMMartinez - Thanks again for bringing this to our attention. We have updated the Doc and it will be live once its merged.  We will now proceed to close this thread. If there are further questions regarding this matter, please tag me in your reply. We will gladly continue the discussion and we will reopen the issue.


Removal of all the unused methods and preventing memory leak

Actual Behaviour
While analysing the source code , there are a large number of unused methods which hamper
the readability of the functions. Many functions are idles and are just consuming unnecessary memory.
Expected Behaviour
The source code should be free of memory leak and as readable as possible for the open source community to work on it.
Would you like to work on the issue?
Yes.

@gakarod Can you name a few instances where there are unused methods ?

Many functions are idles and are just consuming unnecessary memory.

Why would they consume memory ?

The source code should be free of memory leak

Again, please add a couple of instances where you found the memory leak.

Sir
In multiple classes of the UI folder , many functions are not used and are
hampering the readability of the code
Thank you
On 02-Feb-2018 5:30 PM, "Saurav Tiwary"<EMAIL_ADDRESS>wrote:
@gakarod https://github.com/gakarod Can you name a few instances where
there are unused methods ?
Many functions are idles and are just consuming unnecessary memory.
Why would they consume memory ?
The source code should be free of memory leak
Again, please add a couple of instances where you found the memory leak.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-android/issues/2305#issuecomment-362568188,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcOhFLi1foQ6hfeq1OneAuFBp3BaU2Vuks5tQvjZgaJpZM4R3Djn
.

n multiple classes of the UI folder , many functions are not used and are
hampering the readability of the code

I understood the problem but what i asked for is some names, so that i could verify it. ui folder is itself so big. I wanted some specific class names.
Anyways i checked all of them manually and yeah, StickyRecyclerHeadersDecoration has an unused constructor and StickyRecyclerHeadersTouchListener is a completely unused class.
You haven't mentioned anything about the memory leak. Where is the memory leak ?
Also, please don't call me sir :smile:

There is not something as particular that I can call a memory leak but
some of the unused classes require getters on initial project setup which
just seemed odd to me as the functions are not used anymore and
unnecessarily we have to maintain them
Please pardon me if I was wrong about the issue due to my limited knowledge
Thanks
On 02-Feb-2018 7:29 PM, "Saurav Tiwary"<EMAIL_ADDRESS>wrote:

n multiple classes of the UI folder , many functions are not used and are
hampering the readability of the code
I understood the problem but what i asked for is some names, so that i
could verify it. ui folder is itself so big. I wanted some specific class
names.
Anyways i checked all of them manually and yeah,
StickyRecyclerHeadersDecoration has an unused constructor and
StickyRecyclerHeadersTouchListener is a completely unused class.
You haven't mentioned anything about the memory leak. Where is the memory
leak ?
Also, please don't call me sir 😄
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-android/issues/2305#issuecomment-362593823,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcOhFJN-RkXqo40h_jGx5-HSbteQe1KHks5tQxTQgaJpZM4R3Djn
.

I think there is some misunderstanding (about lombok plugin) on your side @gakarod
@srv-twry and I myself would just like to know about which unused methods are you talking about. We'll surely want to remove unused code and things which are causing memory leaks but without knowing which code and methods you are talking about, it is difficult to know if we are on the same page and talking about the same thing

Sorry for inconvenience,
In the dialogfactory class of UI folder , there are 4-5 unused methods ,
similarly in other classes of the UI folder there where unused segment of
code is present.
I am not sure , if those methods are kept there for some future reference
but it just seemed odd to me.
If there was a mistake from my side in interpreting the code please pardon
me.
On 03-Feb-2018 12:41 AM, "Areeb Jamal"<EMAIL_ADDRESS>wrote:

I think there is some misunderstanding (about lombok plugin) on your side
@gakarod https://github.com/gakarod
@srv-twry https://github.com/srv-twry and I myself would just like to
know about which unused methods are you talking about. We'll surely want to
remove unused code and things which are causing memory leaks but without
knowing which code and methods you are talking about, it is difficult to
know if we are on the same page and talking about the same thing
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-android/issues/2305#issuecomment-362677264,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcOhFPhwvsPzuWOPK7ZZkJ_JR2nhw5LGks5tQ111gaJpZM4R3Djn
.

@gakarod that's what @iamareebjamal and @srv-twry are asking, can you name some of the unused functions?

Dialogfactory class has a bunch of methods which are not used anymore
please check it
On 04-Feb-2018 7:14 PM, "Harsimar"<EMAIL_ADDRESS>wrote:
@gakarod https://github.com/gakarod that's what @iamareebjamal
https://github.com/iamareebjamal and @srv-twry
https://github.com/srv-twry are asking, can you name some of the unused
functions?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/fossasia/open-event-android/issues/2305#issuecomment-362907861,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AcOhFERsTQ73d1kSmrhKYwp4FtSCTWg3ks5tRbQ_gaJpZM4R3Djn
.

can i resolve this issue ?

Dialogfactory class has a bunch of methods which are not used anymore
please check it

As it has been stated before, can you just name a few of those methods? The reason we are asking you to name them is not because we are lazy and don't want to check them on our own. It's because in my opinion there is no unused method. Now since you're saying that there are some, then please name them.
Not only the Class , but both Class and it's unused methods.

Apologies Sir
I am still new to this so I didn't know the how much of data I need to give
.
As for the unused methods there were 4 methods namely -
createprogressdialogue, creategenericerrordialog,
Createaimpleactiondialogue,
Createsimpleokerrordialogue
In dialogfactory class located in java/org.fossasia.openevent/common/ui
I also found some others in other classes in ui folder
Please pardon me for bad communication from my side , i hope this will be
enough.

@iamareebjamal I think we can close this due to inactivity.


Set rust-analyzer to all features

Highly confusing for beginners to not have rust analyzer and not knowing why.

my vote is no - this makes it so every time you run a build, rust analyzer will rebuild completely on top of it, leading to both builds taking forever and basic RA functions taking forever, which is even more frustrating
if you're not using the default features and want analyzer support, you should add them yourself in your local config - perhaps this could be said explicitly in the readme

Closing in favor of 99acb3d, which added a note to the README.


CI for Node

npm test

Run npm test

Initializes with two players

Starts the game with a random player

Sets the current player to be whoever it is not


not support some material that seem miss recognize the image

can not render model material properly
Description
I import a model that is glb type file,  the model can show material properly in design mode, but can not render the material in running mode.
console report error : 'nunuStudio: TextureLoader, no image specified for –  '
I also attache the model (glb file) help check the issue, thanks
Version
0.98.41
Platform

[x] Web Version
[ ] Windows
[ ] Linux

solved, not related the code


examples do not compile properly using GHDL

The two examples failing to build are:

bitvis_uart
bitvis_vip_uart
I will focus on the first example.

First compiled with GHDL 0.37 (mcode) from Ubuntu 20.04:
$ ghdl --version
GHDL 0.37 (Ubuntu 0.37+dfsg-1ubuntu1) [Dunoon edition]
 Compiled with GNAT Version: 9.3.0
 mcode code generator
Written by Tristan Gingold.

Copyright (C) 2003 - 2020 Tristan Gingold.
GHDL is free software, covered by the GNU General Public License.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

I attached the full log, but apparently two different versions of adaptations_pkg.vhd are compiled.
. ghdl_compile_all_and_simulate.sh &> ../../bitvis_uart_0_37_mcode.log

bitvis_uart_0_37_mcode.log
I also compiled with GHDL version 1.0 with a LLVM backend, but I do not think it would help much further with debugging this issue.

OK, I totally messed up the above report, please ignore it, let me try again.
I now tried to build with nightly builds with all three back-ends mcode/lvvm/gcc.
The mcode version is working well, the llvm version has problems with multiple object files for transaction_pkg, while the gcc version starts with a Segmentation fault in GHDL.
Now I think problems with llvm and gcc back-ends are problems in GHDL and not UVVM, so I will file an issue report there.
Therefore I will close this issue report now. I will probably add a link to the GHDL issue when I get to write it, it should contain more details.


PV panels and Electricity Layer

Is there an existing issue for this?

[X] I have searched the existing issues

What happened?
Dear Dorsan, Dear Joseph, Dear Cédric,Dear REHO Explorers,
After some basic trials on REHO, I wanted to simplify as much as possible the model to better understand the integration of my new technology (SOFC.mod). It seems that PV panels cannot be excluded of the analysis, and I am afraid that my SOFC model, as an electricity production unit is affected by this issue. FYI, my SOFC model is currently added but almost negligible compared to PV (even with investment cost being reduced down to 0).
Thanks for your help :)
Arthur
Version
1.0.2 (Stable)
Relevant log output
Traceback (most recent call last):
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/scripts/arthur_w/test.py", line 45, in <module>
    reho.single_optimization()
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/reho/model/reho.py", line 525, in single_optimization
    self.add_df_Results(ampl, Scn_ID, Pareto_ID, self.scenario)
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/reho/model/reho.py", line 681, in add_df_Results
    df_Results = WR.get_df_Results_from_SP(ampl, scenario, self.method, self.buildings_data)
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/reho/model/postprocessing/write_results.py", line 338, in get_df_Results_from_SP
    df_Results["df_Unit"], df_Results["df_Unit_t"] = set_df_unit(df, ampl)
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/reho/model/postprocessing/write_results.py", line 134, in set_df_unit
    df3 = get_variable_in_pandas(df, 'Units_curtailment')
  File "/Users/awaeber/Documents/PhD-IPESE/rSOC/reho2/reho/model/postprocessing/write_results.py", line 581, in get_variable_in_pandas
    if len(id[0]) > 1:
IndexError: list index out of range

Process finished with exit code 1

Anything else?
I was not willing to look further into the repo code. However in initialise_units (infrastructure.py) the PV are added by default. The error I get here above is after me removing them explicitly from the list: units_to_keep (l. 386).

@cterrier24 and @DorsanL, we might have a discussion on why some units must be defined in the model. For instance, here if there is no PV, there is no Units_curtailment, hence the IndexError Arthur got.
So, Arthur, as you can guess from this, some of the units are explicitly not removable and this shoud not be changed in the code. For the issue that you have with the PV still used even when setting scenario['exclude_units'] = ['PV'], the issue comes from somewhere else and we can have a further discussion so that I can try to understand the problem

Hi Joseph,
Sure let’s talk about it tomorrow or during the week. I chose to remove the PV, because they were overwhelmingly present in my simulations where I tries to integrate a new technology for electricity production (the SOFC). Let’s discuss that offline, no rush.
Thanks for your consideration :)
On 4 Mar 2024, at 12:16, JosephLoustau @.***> wrote:
@cterrier24https://github.com/cterrier24 and @DorsanLhttps://github.com/DorsanL, we might have a discussion on why some units must be defined in the model. For instance, here if there is no PV, there is no Units_curtailment, hence the IndexError Arthur got.
So, Arthur, as you can guess from this, some of the units are explicitly not removable and this shoud not be changed in the code. For the issue that you have with the PV still used even when setting scenario['exclude_units'] = ['PV'], the issue comes from somewhere else and we can have a further discussion so that I can try to understand the problem
—
Reply to this email directly, view it on GitHubhttps://github.com/IPESE/REHO/issues/7#issuecomment-1976348719, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AVXWCEWCJGVSL3IRI4O5SOLYWRJZPAVCNFSM6AAAAABD6L5AOCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNZWGM2DQNZRHE.
You are receiving this because you authored the thread.Message ID: @.***>


using annotations

Hello!
can i use this plugin in annotations style?

I'm not 100% sure I understand what you mean. Can you elaborate on what it is you're trying to accomplish?

Oh! I understand. Yes, you can absolutely target methods with your own annotation. I'll give you an example that I have working locally.
Here is the annotation class code:
package com.ibotta.gradle.aop.kotlin

@kotlin.annotation.Retention(AnnotationRetention.RUNTIME)
@Target(
    AnnotationTarget.FUNCTION,
    AnnotationTarget.PROPERTY_GETTER,
    AnnotationTarget.PROPERTY_SETTER
)
annotation class Trigger()

Here is the aspect code:
package com.ibotta.gradle.aop.kotlin

import org.aspectj.lang.JoinPoint
import org.aspectj.lang.annotation.After
import org.aspectj.lang.annotation.Aspect
import org.aspectj.lang.annotation.Before

@Aspect
class TriggerAspect {
    @Before("@annotation(Trigger) && execution(* *(..))")
    fun before(joinPoint: JoinPoint) {
        val messageListener = joinPoint.args[0] as MessageListener
        messageListener.onMessage("Kotlin AOP via Trigger annotation triggered.", CallerType.BEFORE_HOOK)
    }
}

I added these two classes to my local clone of the repo for testing inside the sample-kotlin module. I then modified the KotlinTargetExample class to look like this:
package com.ibotta.gradle.aop.kotlin

class KotlinTargetExample {
    @Trigger
    fun demonstrateKotlinAOP(messageListener: MessageListener) {
        messageListener.onMessage("Kotlin method with AOP attached is executed.", CallerType.TARGET)
    }
}

And when I run the sample-kotlin application in an emulator and hit the button to test, I get this (showing it works!):

Note the output Kotlin AOP via Trigger annotation triggered showing that the new TriggerAspect logic ran as a result of using the @Trigger annotation.
Hopefully this helps you!

I writed @Before just @Before("@annotation(Trigger)") but need @Before("@annotation(Trigger) && execution(* *(..))")
thak you so much!


WIP: Port QuadratureData to GPU

Pending the capability to run Functional on a GPU the only current test is the one @samuelpmishLLNL proposed - probably this PR should be merged after that one.

Codecov Report

Merging #518 (a0af767) into develop (6e322e6) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff            @@
##           develop     #518   +/-   ##
========================================
  Coverage    95.24%   95.25%
========================================
  Files           81       81
  Lines         4356     4362    +6
========================================
+ Hits          4149     4155    +6
  Misses         207      207

Impacted Files
Coverage Δ

src/serac/physics/utilities/quadrature_data.hpp
100.00% <100.00%> (ø)

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 6e322e6...a0af767. Read the comment docs.

I believe this is now ready to go pending the fixing of the final state of the fully integrated QuadratureData test (that uses StateManager etc)


removes spring and updates the lock file; closes #146

:ship: :it:
Never really liked this anyway.


add timeout to Jenkins Pipeline

Adds a timeout to the Jenkins run. Not a substitute for adding timeouts to the integration tests, but will at least prevent Jenkins from hanging due to faulty tests.

LGTM once kibbles makes one minor tweak

what's the tweak?

he wanted to bump up the time


Accessibility of forms

I am looking for a package just like this to replace Alpaca forms. I have prototyped a simple page to test this package out...
But like Alpaca it seems to have issues with accessibility. Collapsed field sets for instance do not seem to be expandable using the keyboard, only a click event is used?
Is there a way of enabling additional navigation options?
I have some blind users that have to use screen readers and keyboard navigation, and my application has some quite complex settings screens using JSON based forms. I also use collapsed and conditionally visible field sets quite extensively.

are they using jaws or built in navigation?
i thought I might have add something, but not I don't think..
where are classes expandable and expanded (added when expanded)
but the accessibility spec says you would need a button there to be a focus target, and operation target..
I thought prepend might work, but its only for input fields. and the expandable heading, fieldset, is not an input field..
course a tiny mod to the jsonform library could make it otherwise..
i made one to allow disabling drag on tabarry..

i was able to change the legend to enclose a button, which make the expandable sections keyboard navigable.
i added a new option and updated the fieldset template
i could add this to my JSONFORM fork, and u could try it..  i only did fieldset not the other two auth and select
but those would be easy, given what I did.
there is a visual change as the text is now the button text

I pushed this change to my fork
https://github.com/sdetweil/jsonform
set
accessible:true
on the fieldset definition
here is my template for those headings
const module_form_template= {
							             "type": "fieldset",
							             "title": "modulename",
							             //"htmlClass":"module_name_class",
							             "expandable": true,
								    "accessible": false,   // <--- new parm, set to true for button for legend
   								     "items": []
}

Great, I'll take a look at what you have done - it will be tomorrow now.
I was using MS Narrator, and no navigation was possible. But I then tried NVDA, and when that is running the fieldsets are expandable using  or .
I have also been playing around with adding Aria attributes.
For instance on the , make it ...
And NVD reads it as a clickable, and says it is collapsed. It would then need the jsonform JS to toggle the aria-expanded attribute value to true when the fieldset is expanded.
TBH all these accessibility issues are quite new to me and I'm feeling my way around...

no problem.. I spent 5 years in the Accessibility group in IBM so I understood right away .. i went and got the jaws inspector to test with..
there is a prepend attribute already that lets you inject 'any' html, but it doesn't apply to fieldset, I tried that first,
but the code would be IN the legend element and can't wrap it.. if u add stuff..

also there is an existing class added on expand,
'expanded'
so you could override that and add css elements like the aria attributes
the docs show examples of using expanded class override to make the twisty thing in front..

OK, I took a look at your updates and merged in my aria attributes. It works as far as display goes, but the fieldset buttons are also triggering the onSubmit function :(
BTW, I think the doc is slightly wrong for the fieldset style suggestions, they should be...
.expandable > legend::before {     content: '\25B8';     padding-right: 5px; } .expanded > legend::before {     content: '\25BE'; }
Note the double colons rather than single.

OK, I think I have it sorted (for fieldsets anyway)...
Accessibility enabled in JSON data
Accessibility disabled in JSON data
The jsonform.js file is your new base with my aria "tweaks".
What I would like to try and sort out next is dynamically rebuilding the form if the accessibility checkbox is changed without having to submit the values and reload the page...
Then move on to some of my more advanced pages and find any other accessibility issues - after I figure out how to build them!

as for the expandable info from the doc, copy/pasted it into my form css as is and it did what I wanted. gave the twisty out front in two different shapes.

I don't get submit with my button added, just expand or not.

I don't understand the
accessible: {{values.accessible}}
we can talk offline. my email is my same user ID at gmail

Hi @sdetweil  and @mcrossley
Thanks for this issue and the discussion around it
This accessibility thing is really interesting and I think it would be great if it could be supported directly in jsonform.
Is including a button in the legend the only way to make the fieldset accessible-compliant to use with screen readers and keyboards ? It feels a bit hacky — whereas adding aria-*  attributes like proposed (legend role="treeitem" aria-expanded="false">) seems more in line with what the lib should do.
I could spend some time on this to include it if you don't mind telling me your feelings about the changes and how to best make it compliant
looking forward;

TBH, at this stage I don't know. I've gone with a combination of the button and aria attributes for now - latest incarnation supports dynamic switching.
I think it depends on the reader used. I tested NVDA for instance, and with that the original jsonform code was usable (just) without any changes, adding the aria attributes makes it much clearer what is happening. NVDA allows you to use the Space or Return to expand the fieldset. But if you tried MS Narrator it just says there is no clickable element on the collapsed legends and you are stuck.

Ok — seems that adding the aria-* attributes is a quick win anyway, no ?

Closing for now — tell me if this needs reopening


🏇 Improve perf for clicking on long buffer rows

As discussed in https://github.com/atom/atom/pull/11539#issuecomment-213368868 by @as-cii, this PR reimplements the screenPositionforPixelPosition method in lines-yardstick.coffee to use two binary searches to find the position in order to minimize the number of getBoundingClientRect calls. The first stage performs a binary search on the text nodes of a row to find the node containing the pixelPosition. The second stage performs a binary search within the text node to find the character that contains the pixelPosition. This improves responsiveness when clicking near the end of a very long line of text.
This adds a dependency on binary-search-with-index, which is my fork of binary-search. This fork passes the index to the comparator which is needed in the characterComparator, and also relicenses the package to MIT. The original package was CC0-1.0 and waived all copyrights, so this should be okay.
Update: The original package accepted my PR, so the only thing preventing us from using it is that its CC0-1.0 license doesn't pass the legal-eagle check. Might be a better idea to patch legal-eagle to accept CC0-1.0 since it does accept public domain.
Resolves #10769

Thanks for this, @rahatarmanahmed! I left a bunch of comments, and I'll happily merge it as soon as they get addressed. 👍

@as-cii Added a commit to address your comments. Let me know if you need me to rebase if you can't use github's squash merge.

This should go out with #11414. Thanks, @rahatarmanahmed!