Refactor file models

Issue
First intended to only remove the Filesize class and refactor the size()/size_raw() methods for many reasons:

Attachment is a model, it's not in its scope to return/format a raw file size into a human readable one. You might want to format a size in other places, this is filters role.
The size method included an HTML breaking space ( ), which is fine on the Twig side but what if I need the text only version of it? Although Timber is mostly about Twig, models can also be used PHP side and in various contexts (JSON, etc.). The Attachment model should only by responsible for returning a raw file size you can manage yourself afterwards.
The size was grabbed directly from filesystem, which is too bad because WP 6.0 introduced a filesize key which is set and stored on attachment first upload. The Attachment::size() method now try first to get that value before getting to filesystem which will lead to potentially better performances.

While working on the above issue, I noticed that Attachment was setting every possible properties when building the object (get_info()), getting values from database that might not be needed already and maybe won't at all.
I decided to refactor this class to only grab metadata values when they are called which might lead into more efficient code.
Solution

Remove Filesize class
Refactor ExternalImage, Attachment, Image to add types and getting metadata in a more lazy way
Add format_bytes filter to format raw file size into a human readable file size
Fix/add tests
Fix city-museum.jpg by removing exif data which was causing issues in tests

Impact

Image/Attachment/ExternalImage properties are now protected, return types have changed
FileSize class has been removed (but it is a BC since it was introduced in 2.0?)

Usage Changes
If you want to format a file size,  you will now have to use {{ image.size|format_bytes(2) }} to display a human readable file size.
Considerations
Since metadata also contains image dimensions, ImageDimensions should also be refactored to grab those values from stored metadata rather than reading them from the filesystem.
Testing
Yes!

Note that I held myself back from removing more stuff 🙂
Things to consider:

Remove path() methods in all models. Same reason as n°1 mentioned above: I don't think models need this method. If you want a relative path for something (src, link, etc.): use the relative filter or use a WP filter/plugin. Plus I don't think we need a helper to get the relative URL, there's already one in WP.
Do you know what's the abs_url for? https://github.com/timber/timber/blob/99f7a1a10268a3c73e0570aff92faedd4f52f3f3/src/Attachment.php#L65 This feels redundant with $image->src()
I think we should remove the maybe_secure_url helper. If the URL is http, then it's a somewhere else problem that will be hidden (and not fixed and brought to the developer attention) by this fix that's not Timber in Timber's scope IMHO.
Same goes for remove_double_slashes: we shouldn't aim at fixing every issues whose causes are elsewhere in the stack.

I could further but I'd like your views on this first :)

I’ll look at this more closely soon, but I want to say that I totally agree with the changes. There are some details that we need to consider and I think I have some insight into some of your raised issues. This is definitely the direction we should take here. And we still can, because the Attachment class and the filesize features were all introduced in 2.x.

And we still can, because the Attachment class and the filesize features were all introduced in 2.x.

That's good news! 😁

coverage: 88.555% (-0.1%) from 88.676% when pulling cbb9ae00c7d348a310a8d88ae2348df2ab795d6b on 2.x-refactor-file-models into 9c344c934729de3c89d3877435e5fce250b0acbc on 2.x.

I removed the $file property which was useless and redundant with $file_loc, they both stored the absolute path.
There are still things I'm not fully ok with:

image dimensions are still read from file, which could be avoided by getting image metadata for registered sizes and improve performance. But would require quite some refactoring (ImageDimensions doesn't takes some $metadata to look for dimensions)
I noticed that ImageHelper::sideload_image() is very optimistic 😅 There are some places in that method that can go wrong and are not handled:

the extension parsing is not covering all possible cases
the download_url result should be handled as soon as it is is returned
there is no handling of the possible error index of wp_upload_bits()

This is something we can probably fix later.

Very nice, thanks a lot @nlemoine.
I added your notes as a separate issue in #2785. It would be great if we could resolve these issues as well.


about UI bug

To open a file, then change the theme, after change line block ui will be dislocation;
line block ui will Covers part of open file code;
i must close the file then open it,after that it become normal

Try latest release, and if you still have the problem, please open a new issue.


Uninstall incompatible modules

Questions
Answers

Description?
When upgrading from ps < <IP_ADDRESS> to >= <IP_ADDRESS>, some core modules should be uninstall because they are not compatible with the new version. This PR handles that.

Type?
bug fix

BC breaks?
no

Deprecations?
no

Fixed ticket?
Fixes https://github.com/PrestaShop/PrestaShop/issues/22668

How to test?
Upgrade from <IP_ADDRESS> to <IP_ADDRESS>, the upgrade process should work without any issueAs the CI is not working properly, we should try an update from <IP_ADDRESS> to <IP_ADDRESS> too.

Possible impacts?
/

Travis fails because upgrading to PS 1.7.7 requires php >= 7.1 and the base docker image uses php5.6 .
Might be fixed by combining this PR with https://github.com/PrestaShop/autoupgrade/pull/373

Travis fails because upgrading to PS 1.7.7 requires php >= 7.1 and the base docker image uses php5.6 .
Might be fixed by combining this PR with https://github.com/PrestaShop/autoupgrade/pull/373

ping @Quetzacoalt91 could you have a quick look, to tell us if we missed something important 🙏 ?

ping @Quetzacoalt91 could you have a quick look, to tell us if we missed something important 🙏 ?

So, from my understanding you're uninstalling modules before upgrading files, database and modules.
However, we wanted to migrate data from the 1.6 modules when installing the 1.7 ones. For each of them, a migration script is run so we never lose the configuration: https://github.com/PrestaShop/PrestaShop/issues/14404
You have to know that once the PS 1.6 modules are uninstalled, it might be impossible to retrieve their data later during the process.

So, from my understanding you're uninstalling modules before upgrading files, database and modules.
However, we wanted to migrate data from the 1.6 modules when installing the 1.7 ones. For each of them, a migration script is run so we never lose the configuration: https://github.com/PrestaShop/PrestaShop/issues/14404
You have to know that once the PS 1.6 modules are uninstalled, it might be impossible to retrieve their data later during the process.

Maybe we should finish @jolelievre's PR then?

Maybe we should finish @jolelievre's PR then?

Closing it as we're not gonna choose this solution in the end.

Closing it as we're not gonna choose this solution in the end.


Export PreciseDuration constructors

Desperately needed for internal use...

I thought the idea was to hide the constructors and use the smart constructors instead.

...to address the invariant where Nanoseconds must be integral


Fix for swift-format failure on CI

It seems that running swift-format on CI was failing, so I tried to fix it.

Ah, sorry about missing this, but looks like we resolved on main a little while back. Closing this for now, but we do appreciated you taking the time to PR!


OGM returns empty result if query results contains nodes and rels with same native id

Current Behavior
When using session.query(SomeRelationship.class, "MATCH ... RETURN ...", Map.of()), and the query returns rows which contain nodes and relationships which have the same native ids, OGM does not map them because GraphRowModelMapper passes an additionalNodeFilter which considers all relationships nodes if there is a node in the result with the same native id.
The problem actually only occurs if the node with the clashing native id was returned using pattern comprehension because only then the filter filters it out.
Your Environment
Tested with current state of 3.2.x branch. I have a unit test + fix candidate ready. PR will follow.

Just adding extract from official Neo4j docs:
The function id() returns a node or a relationship identifier, unique by an object type and a database. Therefore, it is perfectly allowable for id() to return the same value for both nodes and relationships in the same database.

Thanks @michael-simons for the super fast reaction. Already found the new release on Maven Central :).

#953 was merged

FYI Niels https://github.com/neo4j/neo4j-ogm-spring/releases/tag/1.0.0


Renet steam, but not in bevy?

I am searching through the code base how to setup steam sockets but with bevy.
I noticed that in bevy_renet there is a Netcode*Plugin for Netcode, but not for the steam version.
Is it a missing feature? The systems in bevy_renet plugins won't work with the steam transport since it's a different resource type, right?

The bevy transport steam pluglins are inside renet_steam:
https://github.com/lucaspoffo/renet/blob/master/renet_steam/src/bevy.rs


default language selection on config.php page not working properly

If default language = german is chosen, the app still starts using the english version.

Default_Language works only if you have the Use_Multi_Language_Selector = off.
Else the cookie will say what Language is the selected one.
In case it is a fresh start and you do not have any cookie yet then the Browser string will give as the Language.
Uncomment line 81 in class.language.php to check your Browser string.


Find or Create when saving data in cache

Hey there!
How can I ensure that every model is referencing a copy of the cached data?
For example, imagine Twitter, where each Tweet has a User.
struct Tweet {
  let id: String
  let user: User
}

struct User {
  let id: String
  let someRandomString = String.random() // For example purposes. :)
}

Now when importing from the API, each Tweet in the API response has a copy of its User, but on the iOS client we add a generated property (e.g. someRandomString) and cache this generated property. Every copy of User, even if they have the same modelIdentifier, will have a very different someRandomString value upon import since the value does not come from the server. Is there any way to "find or create" this data smartly?
So far I see two options:

Every time I create a user, fetch the copy in the cache manually and set someRandomString from cache without setting it locally. This is problematic since modelFromCache is async.
Call updateModel on the DataModelManager which will then let all instances of CollectionDataProvider know that a change has been made and to update from the cache (which will then force all copies of User to sync.)

Any other options/ideas?

So, there are a few options. I'm a bit confused by how volitile you want this property to be. It seems like you want:

Every instance has a different property even if they have the same model identifier.
You probably don't want all the models in memory to sync and set the same one.

So, I'd suggest something like this:
struct User {
    let generatedProperty = { /* ... */ } // maybe you want to make this lazy so you can access other properties
    func isEqualToModel(other: Model) -> Bool {
        // Don't check if generatedProperty is equal here
    }
}

Not checking for equality of generatedProperty means that it won't update other models if that is different.
So I think it seems like if you bake this into your model class, things look ok? I may be missing something though.
Btw, I think I'm suggesting don't save this property in the cache (since it's computed) and recompute it every time you get it out the cache.

Sorry @plivesey, I think my naming was poor and led to misunderstanding. :) I do not want this property to be volatile; I want it to be equal across all instances that have the same ID. Here's an example with a different name that may help me explain a bit better:
struct User {
  let id: String
  var color: UIColor.randomColor()
}

extension User: JSONRepresentable {
  init?(data: [String: AnyObject]) {
    id = json["id"]
    if let colorHex = json["color"] {
      // ... probably convert from hex string
      color = UIColor(hex: colorHex)
    }
  }

  func asJSON() -> [String: AnyObject] {
    // encode both the ID and the color as hex
  }
}

In this case, color should be the same for every instance of the user with this id -- you might get assigned the color blue, and I might get assigned the color purple -- and every time we show up in a list of users I want you to have the color blue and me to have the color purple. Note: color is generated locally
Right now, you would get a new color every time you're instantiated from server data since the JSON from the server does not have a color property (but it does when I convert a user to JSON using asJSON since it was generated on instantiation). Unfortunately, this means you might be blue, pink, yellow, orange, depending on where I see you in the app until I call updateData on DataModelManager to notify all views that your color is now X.

I presume you want this color to be the same per user in general. For the whole session? Across app launches?

Yup! I want it cached like any other property.

I think the only way to do this is to load from the cache. Even though it's async, you could do something like this in your network extension:
extension CollectionDataProvider where T: MyModelSuperClass {
  func fetchData(request: MyNetworkRequest,
                 cacheKey: String?,
                 fetchFromCache: Bool = true,
                 completion: (T?, NSError?) -> ()) {
    if fetchFromCache {
      fetchDataFromCache(cacheKey: cacheKey) { models, error in
        completion(models, error)
      }
    }

    NetworkManager.fetchCollection(request) { (data: T?, error) in
      let color: UIColor
      if let cacheData = self.data {
        color = self.data.color
      } else {
        // generate color
      }
      if let data = data {
        self.setData(data)
      }
      completion(data, error)
    }
  }
}

However, this only works if you fetch from the cache whenever you use this method. Perhaps you want to do something like:
NetworkManager.fetchModel(request) { (data: T?, error) in
   DataModelManager.sharedInstance.fetchModelFromCache(data.id) { cachedModel in
     if cachedModel.color //...
     self.data = modelWithColor
   }
}

Or you could include this fetchModelFromCache inside your fetchModel function? But yeah, in summary, I think you need to fetch from the cache to get the current color.

Did this resolve your issue? Can I close this ticket?

Unfortunately I haven't had time to try it, but I will next week. I'll keep you posted then, but for now I'll close it. Thanks again!!!


Add iconLibrary options to content-actions

Fix: #1467
Description

primary: now accepts an iconLibrary option to change icon library.
secondary: can now be an object with keys similar to primary: icon, iconLibrary, action.

{
    primary: [
        { icon, iconLibrary, label, className, action },
        // or
        { icon, iconLibrary, action: [
            { label, action, style },
            [...]
        ]},
        [...]
    ],
    secondary: [
        { label, action, style },
        [...]
    ],
    // or
    secondary: { icon, iconLibrary, action: [
        { label, action, style },
        [...]
    ]}
}

@c3dr0x Should work now. I let you test it before merging

I refactored it in function style (no state anymore)
I made some improvements onto icon-dropdown for merging default props: more_vert icon wasn't displayed
I fixed CSS when two icon-dropdowns where shown next to one another. They weren't displayed in the right order -> secondary was displayed in 2nd before the icon-dropdown from primary

My test :
// Libs
import React from 'react';
// Focus
import cartridgeBehaviour from 'focus-components/page/mixin/cartridge-behaviour';

export default React.createClass({
    displayName: 'HomeView',

    mixins: [cartridgeBehaviour],

    getInitialState() {
        return {
            visible: false
        };
    },

    cartridgeConfiguration() {
        const cartridge = {
            canDeploy: true,
            actions: {
                primary: [],
                secondary: []
            }
        };

        // Primary action
        cartridge.actions.primary.push({
            label: 'action',
            icon: 'home',
            className: 'totoro',
            action: () => { alert('action') }
        });

        // Primary menu
        cartridge.actions.primary.push({
            label: 'menu',
            icon: 'cached',
            action: [{
                label: 'sub1',
                action: () => { alert('sub1') }
            }]
        });

        // Secondary classic
        // cartridge.actions.secondary = [{
        //     label: 'sub2',
        //     action: () => { alert('sub2') }
        // }];

        // Secondary new
        cartridge.actions.secondary = {
            icon: 'close',
            action: [{
                label: 'sub3',
                action: () => { alert('sub3') }
            }]
        };

        return cartridge;
    },

    /** @inheritDoc */
    render() {
        return (
            <div data-app='homepage'>
                {'Home'}
            </div>
        );
    }
});


Update Friends page with Centricular

Fixes https://github.com/rust-lang/rust-www/issues/919

Thanks and sorry for the delay!

No problem at all, thanks for merging :)


[Question] Sample project with your boilerplate

Can you point me out to any simple but in production project which was developed using your boilerplate?  I need some coding reference for me to kick-start.
Thank you.

Hello @jchiu0710,
I am working on two projects with this template but they are not in production yet. In a month, we are planning to share this app on project and I will add to references of boilerplate. May be someone who use this boilerplate, release their app on store.
Thank you for question and choose react-native-boilerplate


Can't find Daisee dataset

We can't find the Daisee dataset, please can you provide working link. We will test it on our tasks and will connect with development team for project development collaboration.
Regards
Andrew

https://docs.activeloop.ai/datasets/daisee-dataset#load-daisee-dataset-training-subset-in-python


line 4: add license field and lines: 91 & 94 fix openssl error

Just suggesting some changes that fixed some errors for me

@Bec0l thank you, we will address them in another PR #953


Remove the Jenkins setup wizard

On first provisioning of the vagrant box when running the Jenkins server the user has to go through a security setup wizard. This should be removed to further speed up the process of having the Jenkins ready.

I've done this before so might be able to help, it's a case of adding a lot of jenkins config files and is quite verbose

Any contributions are welcome really.

This was resolved with #10.
Thank you for all your contributions @munkiepus. I will add you as a contributor to the repository so that you can directly create branches and review and merge future PR-s.


Solve [WsExceptionsHandler] undefined

closes #590

Please revert the package.lock ;) otherwise, one last comment and this is ready to be merged 👍


feat: expose hooks for extensibility

For Nuxt DevTools to logs it's own events. I am not sure if there is a way to prevent arbitrary modules from hooking into it tho.

Codecov Report
Patch coverage: 85.71% and project coverage change: +0.51% :tada:

Comparison is base (46e9f25) 82.24% compared to head (d3d79fa) 82.76%.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #111      +/-   ##
==========================================
+ Coverage   82.24%   82.76%   +0.51%
==========================================
  Files          19       19
  Lines         614      615       +1
  Branches       71       71
==========================================
+ Hits          505      509       +4
+ Misses        109      105       -4
- Partials        0        1       +1

Files Changed
Coverage Δ

src/telemetry.ts
75.00% <80.00%> (+3.12%)
:arrow_up:

src/module.ts
95.65% <100.00%> (+0.03%)
:arrow_up:

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

Good for me too, I let you merge and release @danielroe


Features for 0.9 release

My ideas for the 0.9 release are the following:

[ ] Deprecation of using gdrl  to launch training, I think it is better to have users refer to and use the examples as the sole way to use the lib.
[ ] Creation of a "pretrained behavior library" that will contain some basic 2D and 3D pretrained models for simple tasks such as point-to-point navigation, patrolling, exploration and enemy avoidance. The creation of this is quite an endeavor, so I plan to start with a MVP with just the point-to-point task. The objective of this feature is to allow users to add behaviours to their NPCs without the need to train/ install the python part of the plugin.
[ ] Creation of a dedicated Hugging Face org to store example environments and agent behaviors: https://huggingface.co/godot-rl-agents
[ ] Add more tests.
[ ] Add an example with an agent interacting in a discrete environment, I am not even sure if this would sync correctly, needs testing.

One suggestion until/for 1.0 (not necessarily 0.9) is to extend the API with terminated/truncated and set the default AIController timeout restart to truncated, as it might have an effect on training.

With the Godot 4.3, we now have a complete new rewritten skeleton3D framework.
It would be great to consider Mujoco environment for 0.9 or future release of Godot RL Agents


Pin GitHub provider to exactly 3.0.0

what

Pin GitHub provider to exactly 3.0.0

why

Possible fix for https://github.com/cloudposse/terraform-aws-ecs-web-app/issues/63
Every release of GitHub provider seems to have breaking changes.

references

GitHub provider Changelog

/test all

/test all


How to realize the cv::cvtcolor by computeLibrary?

hi, in opencv we can use the function cv::cvtcolor to convert an input image from one color space to another.
but, I don't know which function in compute library the resize function can realize the same function.
how can I convert an input image from one color space to another by compute library?

There are some color space conversion kernel available which can be found in   ComputeLibrary/src/core/CL/cl_kernels/color_convert.cl

You have an OpenCL function to do color convert CLColorConvert and also a NEON one NEColorConvert

Thanks a lot! @AnthonyARM @gunasekaran7

Feel free to re-open if you run into problems with the color convert functions.

How can I convert a RGB image to gray?


BorshDeserialize errors in system_program.rs and idl.rs

I've tried anchor build for 0.26.0 and 0.27.0 and both give the following errors.
In addition i also had to add #![feature(trivial_bounds)] to lib.rs.
Anyone knows why? doesnt anchor build use its own rustc version? why then does it keep giving me nightly build errors
error[E0277]: the trait bound `Pubkey: BorshSerialize` is not satisfied
   --> src/system_program.rs:289:10
    |
289 | #[derive(Accounts)]
    |          ^^^^^^^^ the trait `BorshSerialize` is not implemented for `Pubkey`
    |
    = help: the following other types implement trait `BorshSerialize`:
              &T
              ()
              (T0, T1)
              (T0, T1, T2)
              (T0, T1, T2, T3)
              (T0, T1, T2, T3, T4)
              (T0, T1, T2, T3, T4, T5)
              (T0, T1, T2, T3, T4, T5, T6)
            and 121 others
    = help: see issue #48214
    = help: add `#![feature(trivial_bounds)]` to the crate attributes to enable
    = note: this error originates in the derive macro `Accounts` (in Nightly builds, run with -Z macro-backtrace for more info)

adding #![feature(trivial_bounds)] to lib.rs makes the top error go away, however i still get another error
                                                                                error[E0277]: the trait bound `Pubkey: BorshDeserialize` is not satisfied
  --> src/idl.rs:95:1
   |
95 | #[account("internal")]
   | ^^^^^^^^^^^^^^^^^^^^^^ the trait `BorshDeserialize` is not implemented for `Pubkey`
   |
   = help: the following other types implement trait `BorshDeserialize`:
             ()
             (T0, T1)
             (T0, T1, T2)
             (T0, T1, T2, T3)
             (T0, T1, T2, T3, T4)
             (T0, T1, T2, T3, T4, T5)
             (T0, T1, T2, T3, T4, T5, T6)
             (T0, T1, T2, T3, T4, T5, T6, T7)
           and 101 others
note: required for `IdlAccount` to implement `BorshDeserialize`

+1

+1

@armaniferrante

This will be fixed by https://github.com/coral-xyz/anchor/pull/2512.

is there anything we can do to patch it in the meantime while waiting for the merge?

is there anything we can do to patch it in the meantime while waiting for the merge?

This currently works:
[dependencies]
anchor-lang = "0.27.0"
anchor-spl = "0.27.0"
getrandom = { version = "0.2.9", features = ["custom"] }
solana-program = "=1.14.17"
winnow = "=0.4.1"
toml_datetime = "=0.6.1"

thanks @acheroncrypto

@acheroncrypto I still get this error around toml_datetime in 0.28.0
error: package `toml_datetime v0.6.2` cannot be built because it requires rustc 1.64.0 or newer, while the currently active rustc version is 1.62.0-dev

Note that if you use solana stable, you'll get this error:
   Compiling solana-sdk-macro v1.16.1
error[E0658]: `let...else` statements are unstable
   --> /Users/nprince/.cargo/registry/src/github.com-1ecc6299db9ec823/solana-frozen-abi-macro-1.16.1/src/lib.rs:422:5
    |
422 | /     let Some(expected_digest) = expected_digest else {
423 | |         return Error::new_spanned(
424 | |             TokenStream2::from(item),
425 | |             "the required \"digest\" = ... attribute is missing.",
...   |
428 | |         .into()
429 | |     };
    | |______^
    |
    = note: see issue #87335 <https://github.com/rust-lang/rust/issues/87335> for more information
    = help: add `#![feature(let_else)]` to the crate attributes to enable
    ```

So in order to use anchor 28 you have to be on solana beta, `1.17.0`. Maybe an earlier version works, not sure the cutoff. But `1.14` definitely explodes.

@ChewingGlass you can use both 1.16 and 1.14(requires pinning versions of some crates) with Anchor 0.28.0 as explained in https://github.com/coral-xyz/anchor/pull/2527#issue-1749784936 but 1.16 is recommended.


Add support for new modmail API endpoints

https://www.reddit.com/r/redditdev/comments/5jf4yg/api_new_modmail/

While working on this feature for PRAW, I collected some information which you might find helpful:
https://gist.github.com/leviroth/dafcf1331737e2b55dd6fb86257dcb8d

Thanks! I'd been procrastinating on this because I still needed to investigate the endpoints and see how they worked, so this is a big help.

I've hacked around some parts of it over at https://github.com/VolunteerLiveTeam/Modmail2Slack/blob/master/vlt-modmail.js#L77 using oauthRequest - I haven't implemented the full API but it's something to go on

I was looking at implementing this. Some progress has been made, but I need some guidance as to how to parse everything. I got it to work doing the following, though we're then missing out on 90% of the response.
getNewModmailConversations (options = {}) {
  return this._getListing({uri: 'api/mod/conversations', qs: options, _name: 'ModmailConversation', _transform: response => {
    response.after = null;
    response.before = null;
    response.children = response.conversationIds.map(id => {
      return this._newObject('ModmailConversation', {id});
    });
    return this._newObject('Listing', response);
  }});

The get all Modmail conversations endpoint gives you the following structure. @not-an-aardvark this doesn't look like anything on the other endpoints, what's your thoughts?
{
    "conversations" : {
        "75hxt" : { ... },
        "75hxl" : {
            "isAuto" : true,
            "objIds" : [
                {
                    "id" : bdyfx,
                    "key" : messages
                }
            ],
            "isRepliable" : true,
            "lastUserUpdate" : ,
            "isInternal" : false,
            "lastModUpdate" : 2019-03-07T14:10:44.618955+00:00,
            "lastUpdated" : 2019-03-07T14:10:44.618955+00:00,
            "authors" : [
                {
                    "isMod" : true,
                    "isAdmin" : false,
                    "name" : SpyTecSnoowrap,
                    "isOp" : true,
                    "isParticipant" : false,
                    "isHidden" : true,
                    "id" :<PHONE_NUMBER>19,
                    "isDeleted" : false
                }
            ],
            "owner" : {
                "displayName" : SpyTecSnoowrapTesting,
                "type" : subreddit,
                "id" : t5_xogi3
            },
            "id" : 75hxl,
            "isHighlighted" : false,
            "subject" : you are an approved submitter,
            "participant" : {
                "isMod" : false,
                "isAdmin" : false,
                "name" : EliteDangerousBot,
                "isOp" : false,
                "isParticipant" : true,
                "isHidden" : true,
                "id" : 47524494,
                "isDeleted" : false
            },
            "state" : 0,
            "lastUnread" : ,
            "numMessages" : 1
        }
    },
    "messages" : {
        "bdyfx" : {
            "body" :

you have been added as an approved submitter to /r/SpyTecSnoowrapTesting: SpyTecSnoowrapTesting.
\n
,
            "author" : {
                "name" : {
                    "isMod" : true,
                    "isAdmin" : false,
                    "name" : SpyTecSnoowrap,
                    "isOp" : true,
                    "isParticipant" : false,
                    "isHidden" : true,
                    "id" :<PHONE_NUMBER>19,
                    "isDeleted" : false
                }
            },
            "isInternal" : false,
            "date" : 2019-03-07T14:10:44.618955+00:00,
            "bodyMarkdown" : you have been added as an approved submitter to [/r/SpyTecSnoowrapTesting: SpyTecSnoowrapTesting](/r/SpyTecSnoowrapTesting).,
            "id" : bdyfx
        },
        "bdyge" : {
            "body" :

test message
\n
,
            "author" : {
                "name" : {
                    "isMod" : false,
                    "isAdmin" : false,
                    "name" : EliteDangerousBot,
                    "isOp" : true,
                    "isParticipant" : true,
                    "isHidden" : false,
                    "id" : 47524494,
                    "isDeleted" : false
                }
            },
            "isInternal" : false,
            "date" : 2019-03-07T14:11:06.909685+00:00,
            "bodyMarkdown" : test message,
            "id" : bdyge
        }
    },
    "viewerId" : t2_3cti9t3b,
    "conversationIds" : [
        75hxt,
        75hxl
    ]

}

So if I'm understanding correctly: The conversations that get returned are identified by the IDs in conversationIds, and more information about each conversation ID can be found in conversations (presumably, each id in conversationIds is guaranteed to have a corresponding entry in conversations?). So when creating a new ModmailConversation, we would want to also include all the information corresponding to the given id from the conversations object.
Similarly, it seems like each conversation has a list of message IDs, and more information about each message ID appears in the messages object. So we would want to reassemble that too.
I'm not sure how pagination works here. Does the endpoint support the same type of limit queries as other listing endpoints?

(presumably, each id in conversationIds is guaranteed to have a corresponding entry in conversations?).

I'm quite certain that is the case. PRAW iterates through the conversations from the conversationsIds array.

Similarly, it seems like each conversation has a list of message IDs, and more information about each message ID appears in the messages object. So we would want to reassemble that too.

That is true, though I have not tested yet or looked at how other wrappers handle this. If how modmail functions in the GUI is anything to go by it will just show the latest message per ModmailConversations

I'm not sure how pagination works here. Does the endpoint support the same type of limit queries as other listing endpoints?

Yes, pagination works here as well, the API has pagination by after which is the base64 ID and limit
So how would we parse all of this in a good way? Is the way I started writing it the right approach to this? Will it detect the types going downwards such as for the conversations.75hxl.owner object? And would we need custom parsing for the conversations.75hxl.authors, conversations.75hxl.participant, and messages.bdyfx.author objects since it doesn't have type or id of the RedditUsers?

Right so when we get a Listing of ModmailConversation I made it as follows for now:
https://github.com/SpyTec/snoowrap/blob/feature/new-modmail/src/snoowrap.js#L863-L896
With specific listing doing the following:
https://github.com/SpyTec/snoowrap/blob/feature/new-modmail/src/objects/ModmailConversation.js#L8-L45
There has to be a better way to map all the objects correctly

Is there a useful difference between ModmailConversationAuthor and RedditUser? If not, we could just make the author a RedditUser.
To me, it seems like ModmailConversation could just expose a an objects list containing messages and anything else that reddit provides. That way we wouldn't be removing information about the order that the objects appear in, and we wouldn't need to separately filter out messages from modActions.
It seems like it would also be nice to have the messages property of a conversation be a Listing so that someone can fetch more messages easily, but we can deal with that later. (I'm assuming reddit sometimes truncates the messages in a specific conversation if there are too many, but I haven't tested this.)

Is there a useful difference between ModmailConversationAuthor and RedditUser? If not, we could just make the author a RedditUser.

ModmailConversationAuthor would catch the following fields from user, conversation.participant, and conversation.authors which has fields specific for the user in the subreddit's modmail. So putting them in RedditUser seems bad to me.
Speaking of author, should messages and modActions arrays be their own classes as well?
Examples:
user
{
  "user": {
    "recentComments": {
      "t1_ei5ih1f": {
        "comment": "...",
        "date": "2019-03-09T17:57:38.692577+00:00",
        "permalink": "https://www.reddit.com...",
        "title": "...."
      },
      "t1_ei5yec4": {
        "comment": "...",
        "date": "2019-03-09T21:18:55.217443+00:00",
        "permalink": "https://www.reddit.com.../",
        "title": "HCS / Voice Attack Cheatsheet"
      }
    },
    "muteStatus": {
      "isMuted": false,
      "endDate": null,
      "reason": ""
    },
    "name": "Name",
    "created": "2014-02-09T15:59:30.643957+00:00",
    "banStatus": {
      "endDate": null,
      "reason": "",
      "isBanned": false,
      "isPermanent": false
    },
    "isSuspended": false,
    "isShadowBanned": false,
    "recentPosts": {
      "t3_abcdef": {
        "date": "2018-06-17T20:47:52.055160+00:00",
        "permalink": "https://www.reddit.com...",
        "title": "If you were to play without 3rd party tools, what would you need to know?"
      },
      "t3_abcdeg": {
        "date": "2018-07-13T14:43:05.259408+00:00",
        "permalink": "https://www.reddit.com...",
        "title": "Title"
      }
    },
    "recentConvos": {
      "abcdef": {
        "date": "2019-03-11T16:41:45.496676+00:00",
        "permalink": "https://mod.reddit.com/mail/perma/abcdef",
        "id": "abcdef",
        "subject": "Edit removal of remove content"
      }
    },
    "id": "t2_abcdef"
  }
}

conversation.authors:
{
  "conversation": {
    "authors": [
      {
        "isMod": true,
        "isAdmin": false,
        "name": "SpyTec",
        "isOp": false,
        "isParticipant": false,
        "isHidden": false,
        "id": 12345678,
        "isDeleted": false
      },
      {
        "isMod": false,
        "isAdmin": false,
        "name": "SpyTecAgain",
        "isOp": true,
        "isParticipant": false,
        "isHidden": false,
        "id": 12345678,
        "isDeleted": false
      }
    ]
  }
}

conversations.<id>.participant:
{
  "conversations": {
    "77iiq": {
      "participant": {
        "isMod": false,
        "isAdmin": false,
        "name": "Abcdefg",
        "isOp": true,
        "isParticipant": true,
        "isHidden": false,
        "id": 12345678,
        "isDeleted": false
      }
    }
  }
}

To me, it seems like ModmailConversation could just expose a an objects list containing messages and anything else that reddit provides. That way we wouldn't be removing information about the order that the objects appear in, and we wouldn't need to separately filter out messages from modActions.

Right, so instead change the code to this, which takes all the objects associated with the conversation:
let objects = {};
for (const objId of response.conversation.objIds) {
  if (!objects[objId.key]) {
    objects[objId.key] = [];
  }
  objects[objId.key].push(response[objId.key][objId.id]);
}

It seems like it would also be nice to have the messages property of a conversation be a Listing so that someone can fetch more messages easily, but we can deal with that later. (I'm assuming reddit sometimes truncates the messages in a specific conversation if there are too many, but I haven't tested this.)

So far I haven't encountered anything suggesting there is any pagination of messages. Not seen any code in PRAW yet about such a thing. The Modmail GUI does truncate it, but it's a visual one


Update Google API Client version requirement

Checklist

[x] I've run bundle exec rspec from the root directory to see all new and existing tests pass
[x] I've followed the fastlane code style and run bundle exec rubocop -a to ensure the code style is valid
[x] I've read the Contribution Guidelines
[x] I've updated the documentation if necessary.

Motivation and Context

Since release 2.39.0 fastlane is requiring google-api-client version to be 0.12.x (https://github.com/fastlane/fastlane/pull/9445). Locking it to version 0.12.x may block other gems from being used, e.g.: google-cloud-storage requires version 0.13.x.
Description

I kept the requirement for google-api-client version 0.12.0 or higher, updating only the maximum version to be lower than 1.0.0, following the same standard as other dependencies.

I signed it!


Update README.md

Fixed very minor spelling mistake on line 521.
You = Your

Hi @WrathZA, I'm your friendly neighborhood .NET Foundation Pull Request Bot (You can call me DNFBOT). Thanks for your contribution!

This seems like a small (but important) contribution, so no Contribution License Agreement is required at this point. Real humans will now evaluate your PR.

TTYL, DNFBOT;

Thanks @WrathZA!


Fix contour bug

Related: https://github.com/nanshe-org/nanshe/pull/320
Turns out there was a bug in the way contours were being generated with Mahotas, which was resulting in contours not being generated or being generated in some strange way. This corrects that. There is a very slight slow down when using euclidean space here. However, it still remains quite fast over all and much faster than SciPy on 2D still. That being said, this is no longer used in domains where speed is relevant.

This is important enough to merit a release on its own.

Ready to go.


Support Python 3.10

Migrated from GitLab: https://gitlab.com/meltano/meltano/-/issues/2889
Originally created by @edgarrmondragon on 2021-08-12 15:46:09

Problem to solve
Prepare for the eventual release of Python 3.10, to enable support as soon as possible.
Target audience
Users of Meltano who want/need to run it on the latest Python.
Further details
Hopefully we can release Meltano with Python 3.10 support a few days after it comes out.
Proposal

Add 3.10 (or a release candidate) to our testing matrix
Make any necessary updates to the code
Watch out for dependencies without support for 3.10 and follow their development towards eventual support.

What does success look like, and how can we measure that?
Deprecations and other breaking changes are handled so Meltano can run on Python 3.10
Regression test
(Ensure the feature doesn't cause any regressions)

[ ] Write adequate test cases and submit test results
[ ] Test results should be reviewed by a person from the team

Links / references

View 11 previous comments from the original issue on GitLab


[FEATURE] ZEIT for storybook and vuepress

Describe how this feature will help us improve
After removed Netlify from develop we need something to deploy PR preview.
Describe the solution you'd considered
Use GH Actions and ZEIT to deploy Storybook and Vuepress from PR.

Whoever is gonna do this, please inform me. I want to learn how to do this :)

back to netlify, close this issues


feat: Autosuggestion with AI

Great work!
Fish has the best autosuggestion experience and I have been looking for autosuggest from AI. (Similar to github-copilot for coding).
fish suggests commands as you type, based on  command history, completions, and valid file paths. As you type commands, you will see a suggestion offered after the cursor, in a muted gray color (which can be changed with the fish_color_autosuggestion variable).
What I would like to add Suggestion from AI, in addition to command history, completions, and valid file paths.

I'm aware of autosuggestions and tab completion features in fish and it's something I would like to leverage, but I'm not sure how.
I did briefly look into how to write completions but there is no way to dynamically generate them since the command line buffer is not provided as input to the completions script.

@chenyuntc I don't think this can be implemented with a completions file  in ~/.config/fish/completions because the documentation states that:

A completion file must have a filename consisting of the name of the command to complete and the suffix .fish.

Did you have something else in mind?

While I'm willing to accept a PR on this, I'll not implement this feature for the following reasons:

Hijacking the fish autocompletion feature to add autosuggestions from an AI slows down the completions enough to make them annoying to use.
There is no way to provide freetext completions which makes this complicated to implement.


Wire up sync this folder and recursive

Summary
Wire up Sync This Folder and Sync This Folder & Subfolders.  It was tested by setting EnableAutoSync = N in HostSettings table.  Works like a charm.

LGTM - Do we have any idea what the experience will be for users when this process takes forever?

It shows an animated ellipsis and grays out the area.


Cannot read mame configuration with latest 262 mame release

here's the error, when i try to run the screen saver after updating the emulator

Please turn on logging and see what errors might be there: See https://github.com/mika76/mamesaver#logging

Have you had any success, @Solstar ?


sequence link  returns 404

https://github.com/siteadmin/inferno/tree/master/lib/sequences

That should point to https://github.com/siteadmin/inferno/tree/master/lib/app/sequences instead.  We'll resolve it in the README.

This was fixed and is reflected in the README.  Thanks for the report!


Disable party codes in non-party modes

Party code input and join button should be hidden or disabled.

No please. Let it enable then the user can join with party code without switching game mode to Party.


scala-jsonapi link is broken

zalando seems to abandoning scala-jsonapi (according to #96 in https://github.com/scala-jsonapi/scala-jsonapi/issues ). As a result, the compiled versions are no longer present in public repositories, and they have removed the site that is linked to from the implementations page. I have not been able to find a page online that is similar to the one linked from here.

Closed via #1263


Fix passing unexpected argument to cargo when options is false

I'm creating a new project using nxrs/cargo but I ran into an error when build after generate new library package.
> nx run lib:build

> cargo build -p lib --release false
error: unexpected argument 'false' found

Usage: cargo build [OPTIONS]

For more information, try '--help'.

 ——————————————————————————————————————————————————————————————————————————————————————

 >  NX   Ran target build for project lib (167ms)

    ✖    1/1 failed
    ✔    0/1 succeeded [0 read from cache]

It seems due to lib package contains options.release=false and the new logic in 0.4.0 pass falsely options into cargo args.
I made simple fix that skip pushing falsely options into args

Hi @nutstick, thanks for the PR! (And sorry for taking so long to get back to you.)
Apologies for the incorrect behavior! I hope you don't consider it a snub, but I went ahead and merged a different PR (#35) that addresses this issue using a slightly different approach. It should be available on npm imminently — thanks for your patience!


build_ibofos.sh failed

hello，When I run sudo ./build_ibofos.sh some errors occur. Please suggest your ideas
Error message：
Compiling [allocator.cpp]...
/usr/local/go/bin/go get<EMAIL_ADDRESS>go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp: lookup proxy.golang.org: no such host
Makefile:17: recipe for target 'protobuf' failed
make[1]: *** [protobuf] Error 1
Makefile:235: recipe for target 'pos-exporter' failed
make: *** [pos-exporter] Error 2
make: *** Waiting for unfinished jobs....
/home/sivp/pos/poseidonos/tool/cli/script/build_cli.sh
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp: lookup proxy.golang.org: no such host
mv: cannot stat './cli': No such file or directory
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp: lookup proxy.golang.org: no such host
go<EMAIL_ADDRESS>Get<EMAIL_ADDRESS>dial tcp: lookup proxy.golang.org: no such host
chmod: cannot access '../bin/gen_md': No such file or directory
chmod: cannot access '../bin/gen_man': No such file or directory

Hi, qiaobaaa,
Access to some sites seems to be restricted in your environment. If you are located on a private network, please contact the network administrator to check access to the site.

Thank you very much the problem has been solved


⚠ Bofrost.at has degraded performance

In 2997673, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 3976 ms

Resolved: Bofrost.at performance has improved in 7e43013 after 6 minutes.


[DRAFT] Rename start/stopIsolate and init/stopEngine to initialize() and dispose()

Description
Makes use of standard Dart style of initializing (with a single method) and disposing (with dispose()).
The previous methods (such as startIsolate) are still in the codebase — they're just marked Deprecated and forward calls to the new names. This way, user code will still work, it will just generate analysis warnings.
I've also implemented an automatic fix via Data-driven fixes. This way, developers can apply the changes to their code with dart fix --apply or via Quick Fix interfaces in their IDEs:

Type of Change

[ ] ✨ New feature (non-breaking change which adds functionality)
[ ] 🛠 Bug fix (non-breaking change which fixes an issue)
[x] ❌ Breaking change (fix or feature that would cause existing functionality to change)
[x] 🧹 Code refactor
[ ] ✅ Build configuration change
[ ] 📝 Documentation
[ ] 🗑 Chore

Marked as DRAFT because, while working on this PR, I realized something.
There's the initialize() and dispose() which work pretty well and seem very idiomatic, I think.
But there are also the startCapture() and stopCapture() methods. Are these completely independent from the main ("player") initialization? Should we, for example, have initializePlayer() and initializeCapture()? Or do the capture methods need the player to be initialized?
I assume we don't want to automatically initialize the capture subsystem in initialize() (formerly known as startIsolate()), because many developers will not be using the mic, and want to avoid asking for permissions, etc. But for simplicity, how about having something like SoLoud.initialize(withCapture: true)? The idea is that if you know you might want to capture audio, you probably know it in advance.
Or, we can keep it as is, and just let startCapture and stopCapture be. It throws me off, though, that for example in page_hello_flutter.dart, we have:
    SoLoud().dispose();
    SoLoud().stopCapture();  // <-- capture stopped _after_ dispose?

I guess my question to you, @alnitak, is: how "independent" is capture from the "main" soloud? Is it something we can start and stop independently on the rest of soloud? Should we have SoLoudPlayer() and SoLoudCapture()? What do you think?

Yes, the player and the capture are completely independent so having initializePlayer() and initializeCapture() should be coherent!

the player uses Soloud lib just for outputting audio.
the capture uses miniaudio to just capture from microphone
They are 2 separate things and I think the developers should make their choice to start one of them or both. So no need to initialize the player to use the capture.

I used
    SoLoud().dispose();
    SoLoud().stopCapture();  // <-- capture stopped _after_ dispose?

just because passing from a tab to another I have to be sure that all (player and capture) are stopped to eventually reinitialize in another tab.

I guess my question to you, @alnitak, is: how "independent" is capture from the "main" soloud? Is it something we can start and stop independently on the rest of soloud? Should we have SoLoudPlayer() and SoLoudCapture()? What do you think?
This could be a very good idea to clarify their scopes! Also because in the near future we could think about a SoLoudStream or something like that, to send audio data to be played from Flutter.


Problems

I have followed the instructions in the post to the letter with the exception of using jre1.8.0_45 instead of jre1.8.0_40 (as jre1.8.0_40 is no longer available on Oracle website). The following below are the list of errors in my program. What could be the cause of this?
Thank you and best regards,
Daniel
Description	Resource	Path	Location	Type
Access restriction: The constructor 'IgnoreAllErrorHandler()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 116	Java Problem
Access restriction: The constructor 'IgnoreAllErrorHandler()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 161	Java Problem
Access restriction: The constructor 'IgnoreAllErrorHandler()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 163	Java Problem
Access restriction: The constructor 'XMLGregorianCalendarImpl(GregorianCalendar)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAPackager.java	/IDESDataPreparation/src/fatca	line 357	Java Problem
Access restriction: The method 'Base64.encode(byte[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 138	Java Problem
Access restriction: The method 'Base64.encode(byte[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 426	Java Problem
Access restriction: The method 'Base64.encode(byte[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	UtilShared.java	/IDESDataPreparation/src/fatca	line 168	Java Problem
Access restriction: The method 'Base64.encode(byte[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	UtilShared.java	/IDESDataPreparation/src/fatca	line 169	Java Problem
Access restriction: The method 'Canonicalizer.canonicalize(byte[])' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 424	Java Problem
Access restriction: The method 'Canonicalizer.canonicalizeSubtree(Node)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 274	Java Problem
Access restriction: The method 'Canonicalizer.canonicalizeSubtree(Node)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 278	Java Problem
Access restriction: The method 'Canonicalizer.canonicalizeSubtree(Node)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 287	Java Problem
Access restriction: The method 'Canonicalizer.canonicalizeSubtree(Node)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 289	Java Problem
Access restriction: The method 'Canonicalizer.getInstance(String)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 110	Java Problem
Access restriction: The method 'Canonicalizer.getInstance(String)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 159	Java Problem
Access restriction: The method 'Canonicalizer.getInstance(String)' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 421	Java Problem
Access restriction: The method 'Init.init()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 104	Java Problem
Access restriction: The method 'Init.init()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 420	Java Problem
Access restriction: The method 'Init.isInitialized()' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 419	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 51	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 138	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 426	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	UtilShared.java	/IDESDataPreparation/src/fatca	line 29	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	UtilShared.java	/IDESDataPreparation/src/fatca	line 168	Java Problem
Access restriction: The type 'Base64' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	UtilShared.java	/IDESDataPreparation/src/fatca	line 169	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 50	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 94	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 110	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 159	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 159	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 252	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 421	Java Problem
Access restriction: The type 'Canonicalizer' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 421	Java Problem
Access restriction: The type 'IgnoreAllErrorHandler' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 52	Java Problem
Access restriction: The type 'IgnoreAllErrorHandler' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 116	Java Problem
Access restriction: The type 'IgnoreAllErrorHandler' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 161	Java Problem
Access restriction: The type 'IgnoreAllErrorHandler' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 163	Java Problem
Access restriction: The type 'Init' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 49	Java Problem
Access restriction: The type 'Init' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 104	Java Problem
Access restriction: The type 'Init' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 419	Java Problem
Access restriction: The type 'Init' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAXmlSigner.java	/IDESDataPreparation/src/fatca	line 420	Java Problem
Access restriction: The type 'XMLGregorianCalendarImpl' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAPackager.java	/IDESDataPreparation/src/fatca	line 44	Java Problem
Access restriction: The type 'XMLGregorianCalendarImpl' is not API (restriction on required library 'C:\Program Files\Java\jre1.8.0_45\lib\rt.jar')	FATCAPackager.java	/IDESDataPreparation/src/fatca	line 357	Java Problem

You should still be able to get the _40 version. There is an archives option at the bottom of the download page that has all their older versions. So as they release updates, they move the older JREs over there, but you can still access them. See if this gets you there: http://www.oracle.com/technetwork/java/javase/downloads/java-archive-javase8-2177648.html#jre-8u40-oth-JPR.
The code was built using an older 1.7 version of the JRE. When I created the walkthrough, I used the newer 1.8 JRE. I had a similar issue to what you stated when I used it in Eclipse. In the JRE settings, it was using the "Use an execution environment JRE" radio button option and it was set to JavaSE-1.8. I had to switch that to the "Use a project specific JRE" with the jre1.8.0_40 selected. That took care of the issue and my huge list of errors went away. You can see those radio button options on the second screen shot in the walkthrough. I think for an existing project, you can go to Project --> Properties, then select Java Build Path, the Libraries tab, highlight the JRE System option and hit the Edit button then you have the Execution Environment and Alternate JRE and you should be able to manually select the Alternate JRE version to use. For example, when I do that, it shows the _40 version for mine.

Thank you DanielCrouch. Implemented as suggested but I am getting a new list of errors:
log4j:WARN No appenders could be found for logger (fatca.FATCAXmlSigner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
at javax.crypto.Cipher.implInit(Cipher.java:801)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1249)
at javax.crypto.Cipher.init(Cipher.java:1186)
at fatca.FATCAPackager.aes(FATCAPackager.java:84)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:134)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:116)
at fatca.FATCAPackager.createPkgWithApprover(FATCAPackager.java:460)
at fatca.FATCAPackager.createPkg(FATCAPackager.java:408)
at fatca.TestMain.main(TestMain.java:53)
Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
at javax.crypto.Cipher.implInit(Cipher.java:801)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1249)
at javax.crypto.Cipher.init(Cipher.java:1186)
at fatca.FATCAPackager.aes(FATCAPackager.java:84)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:134)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:116)
at fatca.FATCAPackager.createPkgWithApprover(FATCAPackager.java:460)
at fatca.FATCAPackager.createPkg(FATCAPackager.java:408)
at fatca.TestMain.main(TestMain.java:53)

Did you compile with Java 8?
Regards

On Jun 24, 2015, at 06:05, Daniel-Low<EMAIL_ADDRESS>wrote:
Thank you DanielCrouch. Implemented as suggested but I am getting a new list of errors:
log4j:WARN No appenders could be found for logger (fatca.FATCAXmlSigner).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
at javax.crypto.Cipher.implInit(Cipher.java:801)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1249)
at javax.crypto.Cipher.init(Cipher.java:1186)
at fatca.FATCAPackager.aes(FATCAPackager.java:84)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:134)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:116)
at fatca.FATCAPackager.createPkgWithApprover(FATCAPackager.java:460)
at fatca.FATCAPackager.createPkg(FATCAPackager.java:408)
at fatca.TestMain.main(TestMain.java:53)
Exception in thread "main" java.security.InvalidKeyException: Illegal key size or default parameters
at javax.crypto.Cipher.checkCryptoPerm(Cipher.java:1026)
at javax.crypto.Cipher.implInit(Cipher.java:801)
at javax.crypto.Cipher.chooseProvider(Cipher.java:864)
at javax.crypto.Cipher.init(Cipher.java:1249)
at javax.crypto.Cipher.init(Cipher.java:1186)
at fatca.FATCAPackager.aes(FATCAPackager.java:84)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:134)
at fatca.FATCAPackager.encrypt(FATCAPackager.java:116)
at fatca.FATCAPackager.createPkgWithApprover(FATCAPackager.java:460)
at fatca.FATCAPackager.createPkg(FATCAPackager.java:408)
at fatca.TestMain.main(TestMain.java:53)
—
Reply to this email directly or view it on GitHub https://github.com/IRSgov/IDES-Data-Preparation-Java/issues/1#issuecomment-114794597.

You may want to look at this article. It could be one of the Java security or policy files that is missing or needs to be updated. I haven't seen that happen with the Java app yet.
http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters

This solution work for me. http://www.javacirecep.com/java-security/java-java-security-invalidkeyexception-illegal-key-size-or-default-parameters/ http://www.javacirecep.com/java-security/java-java-security-invalidkeyexception-illegal-key-size-or-default-parameters/
On Jun 24, 2015, at 10:34, DanielCrouch<EMAIL_ADDRESS>wrote:

You may want to look at this article. It could be one of the Java security or policy files that is missing or needs to be updated. I haven't seen that happen with the Java app yet.
http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters http://stackoverflow.com/questions/6481627/java-security-illegal-key-size-or-default-parameters
—
Reply to this email directly or view it on GitHub https://github.com/IRSgov/IDES-Data-Preparation-Java/issues/1#issuecomment-114869909.

Dear all,
Not sure if that helps but under JDK7 we did our own encrpytion (very close to this one)
We need (bouncyclastle libs) :
bcprov-jdk15on-1.51.jar and    bcpkix-jdk15on-1.51.jar
to be put in jre7\lib\ext
And edit jre7\lib\security\java.security
To add bouncyCastle to the security providers
security.provider.1=sun.security.provider.Sun
security.provider.2=org.bouncycastle.jce.provider.BouncyCastleProvider
security.provider.3=sun.security.rsa.SunRsaSign
security.provider.4=sun.security.ec.SunEC
security.provider.5=com.sun.net.ssl.internal.ssl.Provider
security.provider.6=com.sun.crypto.provider.SunJCE
security.provider.7=sun.security.jgss.SunProvider
security.provider.8=com.sun.security.sasl.Provider
security.provider.9=org.jcp.xml.dsig.internal.dom.XMLDSigRI
security.provider.10=sun.security.smartcardio.SunPCSC
security.provider.11=sun.security.mscapi.SunMSCAPI
Our code works and we have already sent data to IDES (successfully)
Regards
Chris

Thank you all for your helpful suggestions. Have managed to make the program run.
Best regards,
Daniel

Tuve el mismo error y fue un problema de políticas.
Buen aporte.


Feature: Visualizer for Game History

The engine would be greatly improved by a display of all the actions that can be walked through rather than having only text-only support for all actions. The working idea is to use an adaptation of an existing simple JS + HTML visualizer but includes logs and forward + back buttons so users have an easier time debugging or even visualizing what is happening with every action rather than scanning the GameHistory objects.

A good candidate for this is https://cestpasphoto.github.io/splendor.html whose source can be found at https://github.com/cestpasphoto/cestpasphoto.github.io/tree/main/splendor. We've gotten some feedback that shapes would make this a lot more color-blind friendly so a special focus on transforming color-only information to also include distinct shapes could be valuable.

Implemented!


Include stdlib features?

Currently libraries that come with the Crystal stdlib are not included. But there are already some great features bundled with Crystal that shouldn't be missing here. For example, the section about template engines doesn't mention ECR - if you're looking for a template engine in Crystal, that should be on the table.
Now, I wouldn't want to add everything the stdlib offers, but some more libraries should be listed.  Especially regarding no additional dependencies.
Some examples:

Cli Builders: OptionParser
Configuration (or better call it Data Formats): INI, YAML, JSON, CSV
HTML/XML Parsing: XML
HTTP: HTTP::Client
Logging and monitoring: Logger
Template Engine: ECR
Testing: Spec
Web servers: HTTP::Server

(I wouldn't add Markdown because it is very minimal and IMHO not suitable for general use)

@straight-shoota sounds good. would you like to submit a PR? There we can discuss pros and cons of inclusion each of those.


Use with nightly uefi-std

Can this crate be used with nightly uefi-std? Is there an example?

Excellent question. Actually, this is something that also came to my mind previously. We want to write something about this in https://github.com/rust-osdev/uefi-rs/pull/1292/commits/979c1311a99a7dfba5018ca3fc523a8c1edbcf7e - but we need to investigate it.

Not sure if it will be merged in that form, but this is a minimal example @Aalivexy  https://github.com/rust-osdev/uefi-rs/pull/1292/commits/5dc4386f9a0ccdc4be8bddf9984dfda0ec78a518

Not sure if it will be merged in that form, but this is a minimal example @Aalivexy  https://github.com/rust-osdev/uefi-rs/pull/1292/commits/5dc4386f9a0ccdc4be8bddf9984dfda0ec78a518

Thank you very much for your help! However, since it is still a nightly feature (in fact, only getting uefi tables is a nightly feature), it may be better to wait for it to stabilize.


Revert "📦 Implement tokenless publishing to PyPI"

Reverts ansible/django-ansible-base#598
The release job has not completed since we merged this:
https://github.com/ansible/django-ansible-base/actions/workflows/release.yml
no releases have been published
https://pypi.org/project/django-ansible-base/

@john-westcott-iv yes, PEP 440 explicitly instructs the indexes to reject local versions. I however don't remember changing the build process. So I wouldn't expect that reverting the publishing change would help you. I may take a look, though.

#663 should do it. Perhaps, ping me when I'm back, next year.


Added note to not install jar for Velocity

Closes #49

Used slightly different wording / positioning: 6c3e4bd7e1ea21e3864546b43c0980df14e6a171 :)


RSFetcher: BlockNotWritten(866119)

{"timestamp":"2024-10-18T03:34:21.235+00:00","level":"DEBUG","fields":{"message":"Write","height":866118,"max_height":866147,"progress":"99.96","avg_bps":"0.31","avg_eps":"0.31","total_elapsed":"18","remaining_hrs":"0.03","f_c_len":0,"e_c_len":0,"o_c_len":0,"w_c_len":0,"r_c_len":0,"c_c_len":1,"total_num_entries":5},"target":"counterparty_rs::indexer::workers::reporter"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 123, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "Block 866118 prefetched. (Queue: 4/20)", "time": "2024-10-18T03:34:21.607917+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:21.609261+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:22.099053+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:22.333050+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:22.788816+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:23.077056+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:23.610517+00:00"}
{"timestamp":"2024-10-18T03:34:23.621+00:00","level":"DEBUG","fields":{"message":"Timedout waiting for block at index 866119 to be written Retrying after error: BlockNotWritten(866119)"},"target":"counterparty_rs::indexer::utils"}
{"filename": "api_watcher.py", "funcName": "synchronize_mempool", "levelname": "DEBUG", "lineno": 864, "module": "api_watcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/api/api_watcher.py", "process": 32, "processName": "Process-1", "stack_info": null, "thread":<PHONE_NUMBER>46496, "threadName": "Thread-1", "block_index": null, "message": "API Watcher - 414 mempool events synchronized", "time": "2024-10-18T03:34:24.087166+00:00"}
{"filename": "rsfetcher.py", "funcName": "prefetch_blocks", "levelname": "DEBUG", "lineno": 140, "module": "rsfetcher", "name": "counterparty", "pathname": "/usr/local/lib/python3.10/dist-packages/counterpartycore/lib/backend/rsfetcher.py", "process": 1, "processName": "MainProcess", "stack_info": null, "thread":<PHONE_NUMBER>41664, "threadName": "ThreadPoolExecutor-1_0", "block_index": null, "message": "No block fetched. Waiting before next fetch.", "time": "2024-10-18T03:34:24.302944+00:00"}
{"timestamp":"2024-10-18T03:34:24.507+00:00","level":"DEBUG","fields":{"message":"Writing batch of length 1 with max height 866119 and target height 866147"},"target":"counterparty_rs::indexer::workers::writer"}
{"timestamp":"2024-10-18T03:34:24.510+00:00","level":"DEBUG","fields":{"message":"Write","height":866119,"max_height":866147,"progress":"99.96","avg_bps":"0.31","avg_eps":"0.31","total_elapsed":"21","remaining_hrs":"0.03","f_c_len":0,"e_c_len":0,"o_c_len":0,"w_c_len":0,"r_c_len":0,"c_c_len":1,"total_num_entries":6},"target":"counterparty_rs::indexer::workers::reporter"}
{"timestamp":"2024-10-18T03:34:24.621+00:00","level":"DEBUG","fields":{"message":"Timedout waiting for block at index 866119 to be written Retrying after error: BlockNotWritten(866119)"},"target":"counterparty_rs::indexer::utils"}
^C
adam_krellenstein@dev-xcp-main-zchn ~ $

Also getting a lot of these:

I assume this is fine but it's a scary message...

Let's change this message so it doesn't use the word "error". Or even the phrase "timed out".


0.0.0-dev.5

Codecov Report

Merging #6 (6a546a6) into master (fe7ea1f) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master       #6   +/-   ##
=======================================
  Coverage   68.67%   68.67%
=======================================
  Files          10       10
  Lines         265      265
=======================================
  Hits          182      182
  Misses         83       83

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 fe7ea1f...6a546a6. Read the comment docs.


Smooth scrolling

Currently if I click something on the TOC it jumps to the section. Yesterday I saw a video on YouTube about how to implement smooth scrolling. IMO smooth scrolling should be the default behavior. Here's the link to the Video: https://youtube.com/shorts/hk3RgcBx5Fc?feature=share

Yes, that would be nice to have! The problem is that doxygen itself seems to do some nasty jQuery stuff to add smooth scrolling when clicking on items in the navigation tree.
I think I've tried adding smooth scrolling before but it was really glitchy due to Javascript messing with the scrolling at the same time. :/
If you can make it work somehow pls let me know! :)

I created a issue, see doxygen/doxygen#9855

They fixed it. Should I close the issue or leave it open til the release of doxygen v1.9.7?

Awesome! I'll close this issue then. Looking forward to Doxygen 1.9.7! 👍


Templatize and Render jOOQ XML configs

Harry's used the jooq-sbt-plugin before to great effect. In our recent project, however, we are using jOOQ slightly differently more custom way that before. As a result we were unable to make use of the jooq-sbt-plugin in its current form. The changes made in this fork address two key issues:

Templatize our jOOQ XML config such that user/environment specific values do not need to be hardcoded and can therefore be checked in to the appropriate repository.
Allow dependencies from the parent project to be pulled into the classpath to allow more customization with the jOOQ XML config like custom naming strategies and forced types.

To achieve these we have made changes to the following files:

build.sbt
../JOOQPlugin.scala
README.md

Build.sbt
We have added a lightweight templating engine JavaMinimalTemplateEngine(https://code.google.com/p/jmte/). This lightweight library allows for simple templating via “${variable}” substitution.
JOOQPlugin.scala
The first change made was to add a settingKey to pass in the variables to be substituted. Subsequent changes check to see if both a config file AND config vars have been set before attempting to render the config XML as a temp file and use that for code generation.
The second important change that was made regards classpaths. This change allows the plugin to pull in dependencies from the parent project, be they managed through Ivy/Maven or pulled in via git (as we’re doing with some libraries). One may still scope dependencies in the parent project to the “jooq” config.
The final important change we have made it to looks for either “.java” or “.scala” in the output directory as we use jOOQ’s scala code generator.
README
We have updated the documentation for the new settingKey we have added in this fork.

Thanks for the patch Chris. I've merged it to master and rebuilt the
binaries in the repository for this new version.
Glad to see you find the plugin useful!
Sean
On Mon, 28 Sep 2015, Chris Clouten wrote:

Harry's used the jooq-sbt-plugin before to great effect. In our recent project, however, we are using jOOQ
slightly differently more custom way that before. As a result we were unable to make use of the
jooq-sbt-plugin in its current form. The changes made in this fork address two key issues:

Templatize our jOOQ XML config such that user/environment specific values do not need to be hardcoded
and can therefore be checked in to the appropriate repository.
Allow dependencies from the parent project to be pulled into the classpath to allow more customization
with the jOOQ XML config like custom naming strategies and forced types.

To achieve these we have made changes to the following files:

build.sbt

../JOOQPlugin.scala

README.md
Build.sbt

We have added a lightweight templating engine JavaMinimalTemplateEngine(https://code.google.com/p/jmte/).
This lightweight library allows for simple templating via “${variable}” substitution.
JOOQPlugin.scala

The first change made was to add a settingKey to pass in the variables to be substituted. Subsequent
changes check to see if both a config file AND config vars have been set before attempting to render the
config XML as a temp file and use that for code generation.
The second important change that was made regards classpaths. This change allows the plugin to pull in
dependencies from the parent project, be they managed through Ivy/Maven or pulled in via git (as we’re
doing with some libraries). One may still scope dependencies in the parent project to the “jooq” config.
The final important change we have made it to looks for either “.java” or “.scala” in the output directory
as we use jOOQ’s scala code generator.
README

We have updated the documentation for the new settingKey we have added in this fork.

You can view, comment on, or merge this pull request online at:

https://github.com/sean8223/jooq-sbt-plugin/pull/14
Commit Summary

making changes

removed the output file type setting key

Added additional settingKey and functionality

Updated README for new settingKey
File Changes

M .gitignore (3)

M README.md (17)

M build.sbt (1)

M src/main/scala/sean8223/JOOQPlugin.scala (82)
Patch Links:

https://github.com/sean8223/jooq-sbt-plugin/pull/14.patch

https://github.com/sean8223/jooq-sbt-plugin/pull/14.diff

—
Reply to this email directly or view it on
GitHub.[AAN6Vya-P19XCeMADeCHostGCRSqgk9fks5o2aBegaJpZM4GFPBD.gif]


eth_feeHistory

Description
Please provide a detailed description of what was done in this PR
Implementation of RPC method eth_feeHistory (evm-696)
Changes include

[ ] Bugfix (non-breaking change that solves an issue)
[ ] Hotfix (change that solves an urgent issue, and requires immediate attention)
[x] New feature (non-breaking change that adds functionality)
[ ] Breaking change (change that is not backwards-compatible and/or changes current functionality)

Checklist

[x] I have assigned this PR to myself
[x] I have added at least 1 reviewer
[x] I have added the relevant labels
[ ] I have updated the official documentation
[x] I have added sufficient documentation in code

Testing

[x] I have tested this code with the official test suite
[x] I have tested this code manually

Manual tests
Tested manually using param variations and bash. Please note no tests added in eth_endpoint_test.
Example request:
curl http://localhost:10002/   -X POST   -H "Content-Type: application/json"   --data '{"method":"eth_feeHistory","params":[4, 5, [25, 75]],"id":1,"jsonrpc":"2.0"}'

I have read the CLA Document and I hereby sign the CLA

This is on par with go-ethereum. Really good job :100: .
I have couple of suggestions:

Through https://github.com/0xPolygon/polygon-edge/pull/1629, we implemented eth_maxPriorityFeePerGas. In that PR we created gasprice package to contain these functions (eth_maxPriorityFeePerGas, eth_feeHistory, and others that we might introduce in future). My suggestion would be to move this feeHistoryfunction to provided package andGasHelperstruct, and expose that function to its interface. That interface is then used ineth_endpoint.go`.
It would be really awesome to have some unit tests for this. You can take a look at gasprice_test.go how we implemented them for eth_maxPriorityFeePerGas.

This is on par with go-ethereum. Really good job 100 .
I have couple of suggestions:
* Through [[EVM-697]: Implement `eth_maxPriorityFeePerGas` #1629](https://github.com/0xPolygon/polygon-edge/pull/1629), we implemented `eth_maxPriorityFeePerGas`. In that PR we created `gasprice` package to contain these functions (`eth_maxPriorityFeePerGas, eth_feeHistory`, and others that we might introduce in future). My suggestion would be to move this `feeHistory` function to provided package and `GasHelper` struct, and expose that function to its interface. That interface is then used in `eth_endpoint.go`.

* It would be really awesome to have some unit tests for this. You can take a look at `gasprice_test.go` how we implemented them for `eth_maxPriorityFeePerGas`.

Thanks! Just saw this got merged 2 days ago. Will close this PR and reopen soon with functionality moved to the new gasprice package. Additionally I will do the checks mentioned by @vcastellm and provide some unit tests to gasprice_test.go :)


Separate Errors and Warnings

Currently there is an indicator for the total number of issues in the project.

It would be useful if it showed the number of errors and warnings separately as togglable buttons. Most of the time I want the errors displayed in the log but can ignore a lot of the warnings so don't want them visible all the time. It would also be nice if it adjusted the number based on whether file or project was selected to the left of it.

We have considered it in the past but it comes with a lot of complexity and even some performance penalty. We have not been able to put together enough time for this, besides, once we consider it, other questions start to arise like will it only contain warnings and errors or all the types if it will contain all the types, how will the toggle be persistent? how will we have dynamic configs? Will they be persistent per project or globally?
I would love to have them answered and eventually accept a PR :)

Dupe of #878


Reveal underreporting factor and delay factor

Builds on #564
I'll rebase it once #564 is merged

Closing. Not really a needed feature for the user.


Issue: STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION sometimes not return the "Final Answer"

Issue you'd like to raise.
The agent(STRUCTURED_CHAT_ZERO_SHOT_REACT_DESCRIPTION) sometimes does not respond the "Final Answer" instead of the AI's thought.
Actual result:
The human is asking for the default xxxxxx. The tool has provided the information. I will now relay this information to the human.
Expected result:
{
"action": "Final Answer",
"action_input": "The information comes from the tool."
}
System info:
AzureChatOpenAI / gpt-4
This is a sometimes issue. I have tried with the smith playground, it can happen as well. Any thoughts about it?

It seems this issue had been reported in https://github.com/langchain-ai/langchain/issues/4059. But no resolution for it.


Fixes indent

Thanks! Looks like that line is still using tabs when the rest of the code is using spaces.

I changed it! Couldn't we use this package to check itself? 😊

😆
We definitely should.
Do you want to create an issue for that?


Getting modified assembly error?

After over an hour of searching, I cannot figure out what is wrong with my server. I installed unturned and rocket and they work fine, but when I use my own custom map it flips out

---
Want to back this issue? **[Post a bounty on it!](https://www.bountysource.com/issues/37081098-getting-modified-assembly-error?utm_campaign=plugin&utm_content=tracker%2F10719061&utm_medium=issues&utm_source=github)** We accept bounties via [Bountysource](https://www.bountysource.com/?utm_campaign=plugin&utm_content=tracker%2F10719061&utm_medium=issues&utm_source=github).

I have noticed that happens on my server when a map from the workshop gets updated. So I'm guessing it is not a rocket problem.


👷 codecov

Welcome to Codecov :tada:
Once merged to your default branch, Codecov will compare your coverage reports and display the results in this comment.
Thanks for integrating Codecov - We've got you covered :open_umbrella:

:tada: This PR is included in version 1.10.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Detect isRepoRoot on branches with slashes

Closes #15.

Tested, it works!

v2 has been published


Help needed to export Phi3v in ONNX

Hi there,
I'm seeking guidance on exporting a custom fine-tuned Phi-3 Vision model to ONNX. I've followed the ONNX build model guide from this link.
The build command I used was:
python3 -m onnxruntime_genai.models.builder -i ep_2_grad_32_lr_3e-5/ -o onnx_output/ -p int4 -e cuda --extra_options int4_block_size=32 int4_accuracy_level=4
The build process was successful and generated the following files:

genai_config.json
model.onnx
model.onnx.data
special_tokens_map.json
tokenizer.json
tokenizer_config.json

However, the number of files generated doesn't match the file count in the official HF repo for ONNX microsoft/Phi-3-vision-128k-instruct-onnx-cuda
Files highlighted in red below are missing:

Additionally, while loading the model using ONNX Runtime, the following error occurs:
OrtException: Load model from onnx_output failed: Protobuf parsing failed.
I have also noticed that sections for "embedding" and "vision" are missing from the genai_config.json
Can someone help me identify if I'm missing anything? Thanks

The Phi-3 vision ONNX models are created as follows.

The vision component (phi-3-v-128k-instruct-vision.onnx) is created using torch.onnx.export with some modifications to the original PyTorch source code.
The text embedding component (phi-3-v-128k-instruct-text-embedding.onnx) is created using the ONNX helper APIs.
The text component (phi-3-v-128k-instruct-text.onnx) is created using the model builder with --extra_options exclude_embeds=true enabled. The model builder prints a warning that only the text component is created.
https://github.com/microsoft/onnxruntime-genai/blob/00ceb80e1984c408459dfabe92a5b4eb97318578/src/python/py/models/builder.py#L2387-L2388
The genai_config.json is created manually.

I can open-source the scripts and workflows used to create these ONNX models and run them with ONNX Runtime GenAI.

@kunal-vaishnavi If you open-source it, I would really appreciate it!

@kunal-vaishnavi open-source scripts would be really helpful to the Phi community.

I have uploaded the necessary files in each of the Hugging Face repos and created this PR to show how to use them.

microsoft/Phi-3-vision-128k-instruct-onnx-cpu
microsoft/Phi-3-vision-128k-instruct-onnx-cuda
microsoft/Phi-3-vision-128k-instruct-onnx-directml

Quick question, would the same guide work for Phi3.5 vision model family ?

Yes, but the num_crops value in processor_config.json here needs to be set to 4 for Phi-3.5 vision as the value has changed.
Please note that this guide only works for a single image, however. We have re-designed the ONNX models so that there is multi-image support for both Phi-3 vision and Phi-3.5 vision. As mentioned here, the new ONNX models are undergoing Microsoft's Responsible AI evaluations before they can be published officially.
The changes needed within ONNX Runtime GenAI for the new ONNX models have already been merged in this PR. A revised guide as well as a new ONNX Runtime GenAI stable release will be published together to support this work.


Updating for Python 2.7.6 - build passing

I tested this on my Mavericks machine and it worked. It solved the issues I was having installing some Python based homebrew packages using Boxen, but I'm not saying it's perfect. Please test and update. I haven't tested any of the other features (requirements, virtualenv, etc.), just did include python and got Python 2.7.6 in the right place, with pip as well.

Replace brews/python.rb with current stock homebrew formula
Replace $BOXEN_HOME/homebrew assumptions with $HOMEBREW_ROOT
Bump to 2.7.6-boxen3
Remove file resources (managed in brew formula)
Removed pip empty parameter validation (Puppet already requires setting)
Update virtualenvwrapper to 4.2
Remove env script (deprecated, resolves issue #21, same as pull request #22 )
Updating tests

When ready to merge, I'd vote a version bump to 1.4.0. The CI tests are now passing, but please test!

I never gave it a look... I'm sorry...