BlocklyEvents (first pass, create events only, foundations of #309)

Event classes, listener hooks, and one listener implementation. DevTests activity now has a "Log Events" checkbox in it's action bar menu.  Create event works end-to-end.

This change is

PTAL @roboerikg

Review status: 0 of 10 files reviewed at latest revision, all discussions resolved.

Comments from Reviewable

General approach looks good. Some cleanup before submitting the first draft.

Review status: 0 of 10 files reviewed at latest revision, 22 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/DevTestsActivity.java, line 83 [r1] (raw file):

        int id = item.getItemId();

        if (item == mLogEventsMenuItem) {

Why aren't you using id == R.id.log_events_menuitem? Then you could toggle 'item' directly instead of keeping a reference to it and you can remove the onCreateOptionsMenu override.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 70 [r1] (raw file):

    private static final String SERIALIZED_WORKSPACE_KEY = "SERIALIZED_WORKSPACE";

    public interface Listener {

s/Listener/EventsCallback
Add Javadoc

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 77 [r1] (raw file):

        /**
         * Called when an event group contains at least on of the requested types.  Some events in

"Called when a group of events are fired and at least one event is of a type specified by {@link #getTypesBitmask}. All of the events are not guaranteed to be of a specified type."

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 837 [r1] (raw file):

                List<String> ids = new ArrayList<>();
                block.addAllBlockIds(ids);
                event = new BlocklyEvent.CreateEvent(

This should only be a create event if it's a new block, otherwise it's a move event with an old parent.
There are also cases where addRootBlock is called as part of a remove, please add a TODO to investigate.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 26 [r1] (raw file):

/**
 * Base class to all Blockly events.

s/to/for

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 39 [r1] (raw file):

    public static final int TYPE_MOVE = 1 << 3;
    public static final int TYPE_UI = 1 << 4;
    // When adding an event type, update TYPE_ID_COUNT, TYPE_ALL, TYPE_ID_TO_NAME, and TYPE_NAME_TO_ID.

nit: >100 cols

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 92 [r1] (raw file):

    /**
     * Ensures {@code typeId} is a singular valid event it.

s/it/id

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 95 [r1] (raw file):

     * @param typeId The typeId to test.
     */
    public static void validateEventType(int typeId) {

These validate methods can probably be private.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 172 [r1] (raw file):

    protected String mGroupId;

    protected BlocklyEvent(@EventType int typeId, @Nullable String blockId,

javadoc

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 240 [r1] (raw file):

     * Event fired when a block's field value has changed.
     */
    public static class ChangeEvent extends BlocklyEvent {

Consider making the concrete event classes final.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 312 [r1] (raw file):

        }

        public List<String> getIds() {

"Get the list of block ids that were created."

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 336 [r1] (raw file):

        private final List<String> mIds;

        DeleteEvent(String workspaceId, String groupId, @Nullable String blockId, String oldXml, List<String> ids) {

nit length

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 341 [r1] (raw file):

            this.mIds = Collections.unmodifiableList(ids);
        }

missing methods to get the oldxml and the ids

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 375 [r1] (raw file):

        /**
         * Creates a new

finish javadoc. Make it clear that the event should be created before the move and finished at the end of the move. To make it clearer, please pull out the initial setup into a recordOld method so it's obvious that there's two steps. This event is pretty different than the other events in use, so the more we can do to really make it clear the better.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 150 [r1] (raw file):

                connectedBlock.addAllBlockIds(outList);
            }
        }

Don't forget to recurse on nextConnection

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 122 [r1] (raw file):

     *
     * @param toSerialize A list of Blocks to serialize.
     * @param os An OutputStream which to write them.

Please fix here too: "An OutputStream to write the blocks to."

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 135 [r1] (raw file):

     *
     * @param toSerialize A list of Blocks to serialize.
     * @param writer An writer which to write them.

nit "A writer to  write the blocks to."

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 149 [r1] (raw file):

     *
     * @param toSerialize A list of Blocks to serialize.
     * @param os An OutputStream which to write them.

ditto.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 200 [r1] (raw file):

     * @throws BlocklySerializerException
     */
    public static String writeOneBlockToXmlString(Block toSerialize)

remove String from signature, it's implied by the return type. Add @return to the javadoc.

Comments from Reviewable

Review status: 0 of 24 files reviewed at latest revision, 22 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/DevTestsActivity.java, line 83 [r1] (raw file):
Previously, RoboErikG wrote…
> Why aren't you using id == R.id.log_events_menuitem? Then you could toggle 'item' directly instead of keeping a reference to it and you can remove the onCreateOptionsMenu override.

Moved to id. I saved there reference so that setLogEvents would only take a boolean (could be called without passing in the MenuItem reference).

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 70 [r1] (raw file):
Previously, RoboErikG wrote…
> s/Listener/EventsCallback
>
> Add Javadoc

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 77 [r1] (raw file):
Previously, RoboErikG wrote…
> "Called when a group of events are fired and at least one event is of a type specified by {@link #getTypesBitmask}. All of the events are not guaranteed to be of a specified type."

Rewrote.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyController.java, line 837 [r1] (raw file):
Previously, RoboErikG wrote…
> This should only be a create event if it's a new block, otherwise it's a move event with an old parent.
>
> There are also cases where addRootBlock is called as part of a remove, please add a TODO to investigate.

Fixed.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 26 [r1] (raw file):
Previously, RoboErikG wrote…
> s/to/for

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 39 [r1] (raw file):
Previously, RoboErikG wrote…
> nit: >100 cols

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 92 [r1] (raw file):
Previously, RoboErikG wrote…
> s/it/id

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 95 [r1] (raw file):
Previously, RoboErikG wrote…
> These validate methods can probably be private.

They could, but there are probably a few cases where app code trying to configure Blockly might want them for their own configuration loading.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 172 [r1] (raw file):
Previously, RoboErikG wrote…
> javadoc

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 240 [r1] (raw file):
Previously, RoboErikG wrote…
> Consider making the concrete event classes final. It'll discourage breaking compatibility with other events.

Done. Good point.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 251 [r1] (raw file):
Previously, RoboErikG wrote…
> javadoc

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 252 [r1] (raw file):
Previously, RoboErikG wrote…
> Should elementChanged be before fieldName?

Moved it to the front.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 308 [r1] (raw file):
Previously, RoboErikG wrote…
> Javadoc "Get the xml for the blocks that were created."

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 312 [r1] (raw file):
Previously, RoboErikG wrote…
> "Get the list of block ids that were created."

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 336 [r1] (raw file):
Previously, RoboErikG wrote…
> nit length

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 341 [r1] (raw file):
Previously, RoboErikG wrote…
> missing methods to get the oldxml and the ids

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 375 [r1] (raw file):
Previously, RoboErikG wrote…
> finish javadoc. Make it clear that the event should be created before the move and finished at the end of the move. To make it clearer, please pull out the initial setup into a recordOld method so it's obvious that there's two steps. This event is pretty different than the other events in use, so the more we can do to really make it clear the better.

Added documentation.  The current constructor and `recordNew()` mimics web blockly.  If we want to update that with a recordOld, I'll do the same here.  That said, there is no valid case of creating the event without immediately recording the old state (calling `recordOld()`), so I see the separation as extraneous.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 150 [r1] (raw file):
Previously, RoboErikG wrote…
> Don't forget to recurse on nextConnection

Good catch.  Also clarified the behavior with shadow blocks in the comment.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 122 [r1] (raw file):
Previously, RoboErikG wrote…
> Please fix here too: "An OutputStream to write the blocks to."

Done.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 135 [r1] (raw file):
Previously, RoboErikG wrote…
> nit "A writer to  write the blocks to."

Done.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 149 [r1] (raw file):
Previously, RoboErikG wrote…
> ditto.

Done.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 200 [r1] (raw file):
Previously, RoboErikG wrote…
> remove String from signature, it's implied by the return type. Add @return to the javadoc.

Done and done.

Comments from Reviewable

Review status: 0 of 24 files reviewed at latest revision, 26 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/DevTestsActivity.java, line 83 [r1] (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
> Moved to id. I saved there reference so that setLogEvents would only take a boolean (could be called without passing in the MenuItem reference).

It might be better to have setLogEvents take the item instead. It can get the state itself and perform the update without needing the external reference.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 95 [r1] (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
> They could, but there are probably a few cases where app code trying to configure Blockly might want them for their own configuration loading.

Do you have a specific example in mind? This seems like it's purely implementation details.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 375 [r1] (raw file):
Previously, AnmAtAnm (Andrew n marshall) wrote…
> Added documentation.  The current constructor and `recordNew()` mimics web blockly.  If we want to update that with a recordOld, I'll do the same here.  That said, there is no valid case of creating the event without immediately recording the old state (calling `recordOld()`), so I see the separation as extraneous.

Good points. Please comment the expectation that recordNew is called at the new location before the event is fired.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 208 [r2] (raw file):

    }

    protected BlocklyEvent(@EventType int typeId, JSONObject json) throws JSONException {

Javadoc

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 310 [r2] (raw file):

         *
         * @param elementChanged The {@link ChangeElement} identifying the aspect of the change.
         * @param workspaceId The string id for the workspace.

Why does this version have workspaceId  and the field version not have groupId?

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 313 [r2] (raw file):

         * @param groupId The string id for the event group.
         * @param block The block containing the change.
         * @param oldValue The original field value.

This version doesn't support changes to field, so these values can be field values.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 60 [r2] (raw file):

    // These values can be changed after creating the block
    private Workspace mWorkspace;

I'm not sure it's worth the extra logic and reference just to avoid passing the workspace id in when creating events... Is there some other reason this is necessary?

blocklylib-core/src/main/java/com/google/blockly/model/FieldDropdown.java, line 142 [r2] (raw file):

     * @return The value of the currently selected option.
     */
    public String getSelectedValue() {

Why was this deleted? It's the pair of setSelectedValue

Comments from Reviewable

Review status: 0 of 27 files reviewed at latest revision, 26 unresolved discussions.

blocklydemo/src/main/java/com/google/blockly/android/demo/DevTestsActivity.java, line 83 [r1] (raw file):
Previously, RoboErikG wrote…
> It might be better to have setLogEvents take the item instead. It can get the state itself and perform the update without needing the external reference.

Fixed per offline conversation.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 95 [r1] (raw file):
Previously, RoboErikG wrote…
> Do you have a specific example in mind? This seems like it's purely implementation details.

With the new constructors, it make more sense to making private, as you suggested.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 375 [r1] (raw file):
Previously, RoboErikG wrote…
> Good points. Please comment the expectation that recordNew is called at the new location before the event is fired.

Added a sentence to that effect.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 208 [r2] (raw file):
Previously, RoboErikG wrote…
> Javadoc

Done.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 310 [r2] (raw file):
Previously, RoboErikG wrote…
> Why does this version have workspaceId  and the field version not have groupId?

Replace workspaceId with block.getWorkspaceId().
Group id is set to all members of a group just before the group is set out to BlocklyController.EventCallbacks, unlike web Blockly which sets and unsets a static current group id.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 313 [r2] (raw file):
Previously, RoboErikG wrote…
> This version doesn't support changes to field, so these values can be field values.

Correct @param docs.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 60 [r2] (raw file):
Previously, RoboErikG wrote…
> I'm not sure it's worth the extra logic and reference just to avoid passing the workspace id in when creating events... Is there some other reason this is necessary?

I was on the fence when I wrote it, but it felt cleaner.  Removed, now.

blocklylib-core/src/main/java/com/google/blockly/model/FieldDropdown.java, line 142 [r2] (raw file):
Previously, RoboErikG wrote…
> Why was this deleted? It's the pair of setSelectedValue

Good point.  Removed because it was identical to getSerailizedValue(), but not just have that delegate to this.

Comments from Reviewable

Review status: 0 of 27 files reviewed at latest revision, 7 unresolved discussions.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 352 [r3] (raw file):

         *              null.
         * @param oldValue The original value.
         * @param newValue The original value.

The new value.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 683 [r3] (raw file):

    /**
<<<<<<< HEAD

bad rebase

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 241 [r3] (raw file):

     *
     * @param inStream The input stream to read blocks from. Maybe null.
     * @param inString The xml string to read blocks from if {@code is} is null.

{@code inStream}

Comments from Reviewable

Once comments are fixed

Review status: 0 of 27 files reviewed at latest revision, 3 unresolved discussions.

Comments from Reviewable

Review status: 0 of 27 files reviewed at latest revision, 3 unresolved discussions, all commit checks successful.

blocklylib-core/src/main/java/com/google/blockly/android/control/BlocklyEvent.java, line 352 [r3] (raw file):
Previously, RoboErikG wrote…
> The new value.

Done.

blocklylib-core/src/main/java/com/google/blockly/model/Block.java, line 683 [r3] (raw file):
Previously, RoboErikG wrote…
> bad rebase

Fixed.

blocklylib-core/src/main/java/com/google/blockly/utils/BlocklyXmlHelper.java, line 241 [r3] (raw file):
Previously, RoboErikG wrote…
> {@code inStream}

Done.

Comments from Reviewable


[Chore] Consolidate Webhooks into a Single Directory

Background
Currently, we store the mutating webhooks in controllers/api/v1alpha1 and the validating webhooks in controllers/webhooks. We should store everything in the same place to make it easier to manage.
Action to take
Consolidate all the webhooks into a single directory in controllers.
Impact
Make it easier to work on the webhook code as you do not have to think about where a given webhook is implemented.
Dev Notes
We need to decide where we want to store the webhooks. Do we want to put them all in controllers/api/v1alpha1, even though some of them are not functions on the CR types, or do we want to put them all in controllers/webhooks, even though some of them ARE functions on the CR types.

Is this possible?
If we move the controllers/webhooks webhooks to v1alpha1 wouldn't controller-gen be upset, since it would try to generate zz_deeplcopy files for them.
If on the other hand we move the v1alpha1 ones to controllers/webhooks will we be able to define methods on the original CR objects, as we will be in a different package?


Book Duping

Hello, given that most other duplication glitches have fixes in this mod, i would greatly appreciate if the book duplication glitch that is done with the popbob mod be fixed as well. I'm not versed enough in how this dupe works or how to write a mod to add this myself unfortunately, but i have seen it done on my server before and it is a problem. If not i understand, but i figured that given most other duplication methods are patched woth this mod that it could make sense to be included. Thanks in advance for any response to this issue.

Sounds good could you link me to the mod or explanation on how it works?

Yes, this isn't the best video on it but its the first dupe in the video otherwise known as the .d dupe. Apparently its fixed in most paper and spigot servers but not fabric. https://youtu.be/U-p2DCF5Qv0

From the sounds of it it causes the book data to overflow crashing the client and not saving their inventory. This means that when they join their inventory reverts back and what ever items they offloaded will be in both places.

Oh that one
Ya I already fixed that, the rule is called: chunkRegenFix

Oh cool! I did not know that was already fixed! Thank you!


define a set of analysis options shared by analyzer packages

See the discussion in https://github.com/dart-lang/linter/pull/4653.
Assuming we can agree on a core set of shared lints, it would be great to codify them in a singled shared set of options.
/fyi @bwilkerson @scheglov @srawlins
(Apologies if I've filed this issue before -- I can't find it...)
/fyi @devoncarew in case there's been any progress on a Dart ecosystem options set

Starting from https://github.com/dart-lang/ecosystem/tree/main/pkgs/dart_flutter_team_lints would be a good start, at least for consistency. It might require some ignores or larger migrations though. Any extra can be added on top of that.

I would definitely try to base the analyzer lint config off of package:dart_flutter_team_lints (and, it would be interesting to know what additional lints are turned on above and beyond what dart_flutter_team_lints defines). package:dart_flutter_team_lints is already dep'd into the sdk so you should be all set.

/fyi @kenzieschmoll, @elliette  as ideally we could come up with a plan that includes alignment with devtools as well.

DevTools uses flutter_lints and several lints from DCM currently: https://github.com/flutter/devtools/blob/master/packages/analysis_options.yaml. My initial thought is that DevTools will likely want to use lints that are more specific to writing a Flutter app that the analyzer packages may not care about, but that hypothesis would need to be validated by comparing what is in dart_flutter_team_lints to what is in flutter_lints + our DCM lints configuration.

My hypothesis is that the closer we can get to having a single unified coding style, the easier it will be for members of our team to move between code bases.
Enabling flutter-specific lints won't cause any problems in code that isn't using Flutter, so I'm not sure that's an issue. I suspect that it would be a no-op to enable flutter_lints in all of our packages.
I'm not familiar with the DCM lints that are enabled (and the link above results in a 404 for me so I don't even have the names of the lints as a reference), but it does seem like we should discuss whether we want them enabled for non-DevTools code.
At the very least it does seem like we ought to be able to have a set of lints that we use across all of our code bases that's defined in a single location, even if there are additional lints for some packages that we can't agree to apply everywhere.

That file was moved here after the migration to workspaces : https://github.com/flutter/devtools/blob/master/analysis_options.yaml

but it does seem like we should discuss whether we want them enabled for non-DevTools code.
Can you please elaborate on what "enabled" means in this context as adding the rules to "analysis_options" won't be sufficient for them to be actually enabled?

Can you please elaborate on what "enabled" means in this context as adding the rules to "analysis_options" won't be sufficient for them to be actually enabled?

I meant "adding a 'dart_code_metrics/rules' section to the analysis options files that lists the agreed on set of DCM lints".
The question is whether we want the analyzer, analysis_server, dartdoc, linter (and a few other packages) to use the same set of lints as those used by flutter/devtools. The DCM lints aren't currently enabled for any of those packages.

Thanks! Do you have any plans to enable them in those other packages (AFAIK, no)? If not, then just listing them should not affect any other package, right? Though if your plan is to not add them because they are used only by flutter/devtools (and have that repo list them while including your common config), then I understand the point.
Edit: Ah, and if someone with enabled DCM tries to contribute, they will get warnings and that will be very confusing. So I get your point even more.
I'm just trying to understand whether your words are actionable feedback for us or not (looks like not).

No, I don't think there's anything we need from DCM, but thanks for being on top of it!
I think this issue is just a task for us to make some decisions about which lints are enabled across our combined code bases in light of the fact that our combined team should be expecting to work across package boundaries that we previously weren't working across.


fix(chips): set appropriate aria-orientation

Based on the accessibility guidelines, the listbox role has a default aria-orientation of vertical, however the chips in a chip list are horizontal.

Addressed the feedback. Can you take another look @tinayuangao?


[FR] Support for multiple repos in the same site? (like https://git.suckless.org)

Hi!  I recently added some support for multiple repos.
https://github.com/picosh/pgit?tab=readme-ov-file#with-multiple-repos

Oh, great! That's lovely!
I was thinking perhaps it'd be best to be able to have a config in a directory and just run pgit without any arguments to have it update/create the files of the static site

That's a good though and my original implementation did use a config file.  I didn't want pgit to be in charge of the root index file and was hoping this would be easier to run since it doesn't require a config file.
Let me know how it goes.

Perhaps using a struct-based config library and config library would make things easier.
I can certainly recommend https://github.com/goccy/go-yaml, perhaps TOML support too. I personally would use https://github.com/fred1268/go-clap + g-yaml to offer both a CLI and TOML interface to the program.
In one of my programs I have:


Ignore new files in link checker

Update link checker to ignore checking of edit links on new and renamed files.
count all commits on branch
ignore failures of individual rm commands in rm -r out; rm -r public

This is required for #146

https://github.com/Maistra/test-infra/pull/46 needs to merge in order for the tests to pass


Sprite editor touch issues

Sprite editor is completely unusable on touch devices that use pointer events. That includes Surface books and Chrome on Android.
On IOS devices (which use touch events), it works but it has issues where the sprite cursor is offset / misaligned with the user's finger.

re: ios issues, this is current behavior:

moving left and right works properly, but dragging up / down lags behind the cursor by about half


fatal: remote fork already exists

I'm not sure why this is a fatal error:
+------------------------------------------------------------------------------+

| (1) git-clone                                                                |
+------------------------------------------------------------------------------+
| id: git-clone                                                                |
| version: 4.0.14                                                              |
| collection: https://github.com/bitrise-io/bitrise-steplib.git                |
| toolkit: go                                                                  |
| time: 2019-04-21T05:36:18Z                                                   |
+------------------------------------------------------------------------------+
|                                                                              |
config:
- RepositoryURL: https://github.com/tonyarnold/Differ.git
- CloneIntoDir: /Users/vagrant/git
- Commit: eca60d25ba5cec2f5c32c3e33d41e65d1fb95f5f
- Tag:
- Branch: make-nested-batch-update-public
- BranchDest: master
- PRID: 53
- PRRepositoryURL: https://github.com/mihai8804858/Differ.git
- PRMergeBranch: pull/53/merge
- ResetRepository: true
- CloneDepth: 0
- BuildURL: https://app.bitrise.io/build/df9f50a7c54c5555
- BuildAPIToken: [REDACTED]
- UpdateSubmodules: true
- ManualMerge: true
git "reset" "--hard" "HEAD"
HEAD is now at eca60d2 Make NestedBatchUpdate public
git "clean" "-x" "-d" "-f"
Removing .build/
git "submodule" "foreach" "git" "reset" "--hard" "HEAD"
git "submodule" "foreach" "git" "clean" "-x" "-d" "-f"
git "init"
Reinitialized existing Git repository in /Users/vagrant/git/.git/
git "fetch" "origin" "master"
From https://github.com/tonyarnold/Differ
 * branch            master     -> FETCH_HEAD
git "checkout" "master"
Switched to branch 'master'
Your branch is ahead of 'origin/master' by 1 commit.
  (use "git push" to publish your local commits)
git "merge" "origin/master"
Already up to date.
commit hash: eca60d25ba5cec2f5c32c3e33d41e65d1fb95f5f
git "remote" "add" "fork" "https://github.com/mihai8804858/Differ.git"
fatal: remote fork already exists.
ERROR: manual merge, error: couldn't add remote (https://github.com/mihai8804858/Differ.git), error: exit status 128
|                                                                              |
+---+---------------------------------------------------------------+----------+
| x | git-clone (exit code: 1)                                      | 4.08 sec |
+---+---------------------------------------------------------------+----------+
| Issue tracker: https://github.com/bitrise-io/steps-git-clone/issues          |
| Source: https://github.com/bitrise-io/steps-git-clone                        |
+---+---------------------------------------------------------------+----------+

Surely a remote already existing is something that could be ignored if the remote name and URL match what is being set?

did anything change since the last successful build? 🤔 the name of the repository, the url, or something?
I would try the url with git@github.com:USERNAME/REPOSITORY.git syntax as well

I was checking out the same repo twice in the same workflow - I still think adding an existing remote isn't worth failing over, but I have worked around this issue by moving my clone to a separate workflow.

I'm glad to hear you found a solution! 🙃

@fehersanyi-bitrise @tonyarnold I'm facing a similar issue here https://app.bitrise.io/build/aefb4b3d2abac7bc#?tab=log
git "merge" "origin/master"
Already up to date.
commit hash: ba6ffc570a115d3da4d7cb3dc64a6b02f8dda4c9
git "remote" "add" "fork" "https://github.com/kmpnz/Maccy.git"
fatal: remote fork already exists.
ERROR: manual merge, error: couldn't add remote (https://github.com/kmpnz/Maccy.git), error: exit status 128

Can't get my head around what is wrong here. Any ideas?

Who ever run into the same problem, this commit solved the issue: https://github.com/p0deje/Maccy/commit/a0be3a15383b3c9b338bde7fe7008b02fb248b2e

Thanks for sharing @kmpnz!

Any ideas? It started happening from today, nothing has changed in repo since yesterday.

I'll close this issue, as it seems to be resolved, but if you need more info/help just let us know by opening a new one!


Request timeout error

:tada: This PR is included in version 1.2.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


AffineCouplingLayer scale <1.001

Line 225 of coupling.py can only produce a scale in the interval [0.001,1.001] which is very restrictive. The commented out line 224 produces an interval of roughly [0,3] which seems more generally useful. Or alternatively maybe both types of behaviour could be allowed e.g. through extra class initialization arguments.
(Thanks for the very useful + clear package!)

Hi Dennis,
Sorry for a belated response. Glad you're finding the package useful!
Indeed, the parametrization used is rather restrictive. However, empirically we've observed that such parametrization makes the training more stable. In fact, the canonical Glow implementation does the same, likely for the same reason. You can also see the naive exp parametrization commented out on the previous line: we've also observed this to be particularly unstable.
I agree this should ideally be configurable with a parameter to the constructor. Unfortunately, I am really low on time these days to implement this myself, but I can commit to reviewing a PR implementing this.
Cheers,
Artur

Hi Artur, thanks for the response. I will try to put a PR together over the next few weeks. I think the code should be straightforward, but feedback on what is a good API would be great.


Preferred Netconf Version

First draft of manual/preferred netconf version option. Still needs unit tests. Probably needs sanity checking too...
cc @kn-winter

Thanks @carlmontanari .  I just tested this and it works now.  Leaving it on auto breaks like before but setting it to 1.0 pulls the configuration as expected.

Awesome thanks @kn-winter ! I'll try to get a test or two in this week and get this merged and then cut a release. Thanks again for the help and for raising the issues/prs!
Carl


Not running apt-get update before installing packages

chef-client versions tried: 11.12.8 & 11.6.0
build-essential version 2.0.4
Hello,
Running into an issue today where chef run fails to install build-essential cookbook for the following reason:
  * package[build-essential] action install
================================================================================
Error executing action `install` on resource 'package[build-essential]'
================================================================================

Mixlib::ShellOut::ShellCommandFailed
------------------------------------
Expected process to exit with [0], but received '100'
---- Begin output of apt-get -q -y install build-essential=11.5ubuntu2.1 ----
STDOUT: Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
  binutils cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc gcc-4.6
  libalgorithm-diff-perl libalgorithm-diff-xs-perl libalgorithm-merge-perl
  libc-dev-bin libc6-dev libdpkg-perl libgomp1 libmpc2 libmpfr4 libquadmath0
  libstdc++6-4.6-dev linux-libc-dev make manpages-dev
Suggested packages:
  cpp-doc gcc-4.6-locales debian-keyring g++-multilib g++-4.6-multilib
  gcc-4.6-doc libstdc++6-4.6-dbg gcc-multilib automake1.9 libtool flex gdb
  gcc-doc gcc-4.6-multilib libmudflap0-4.6-dev libgcc1-dbg libgomp1-dbg
  libquadmath0-dbg libmudflap0-dbg binutils-gold glibc-doc libstdc++6-4.6-doc
  make-doc
The following NEW packages will be installed:
  binutils build-essential cpp cpp-4.6 dpkg-dev fakeroot g++ g++-4.6 gcc
  gcc-4.6 libalgorithm-diff-perl libalgorithm-diff-xs-perl
  libalgorithm-merge-perl libc-dev-bin libc6-dev libdpkg-perl libgomp1 libmpc2
  libmpfr4 libquadmath0 libstdc++6-4.6-dev linux-libc-dev make manpages-dev
0 upgraded, 24 newly installed, 0 to remove and 0 not upgraded.
Need to get 30.6 MB of archives.
After this operation, 83.9 MB of additional disk space will be used.

---- End output of apt-get -q -y install build-essential=11.5ubuntu2.1 ----
Ran apt-get -q -y install build-essential=11.5ubuntu2.1 returned 100

When I ssh into the half-baked machine and run:
ubuntu@machine:$ sudo apt-cache policy linux-libc-dev
linux-libc-dev:
  Installed: (none)
  Candidate: 3.2.0-65.98
  Version table:
     3.2.0-65.98 0
        500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     3.2.0-23.36 0
        500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

After running an apt-get update, I get this:
ubuntu@machine:~$ sudo apt-cache policy linux-libc-dev
linux-libc-dev:
  Installed: (none)
  Candidate: 3.2.0-67.101
  Version table:
     3.2.0-67.101 0
        500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise-updates/main amd64 Packages
        500 http://security.ubuntu.com/ubuntu/ precise-security/main amd64 Packages
     3.2.0-23.36 0
        500 http://us-east-1.ec2.archive.ubuntu.com/ubuntu/ precise/main amd64 Packages

wgetting the first package fails, second one succeeds.

@jtimberman ... this ends up still being an issue in cases where you need both apt & build-essentials at compile time. i have a cookbook with default recipe, starting with these lines:
node.override['apt']['compile_time_update'] = true
include_recipe "apt"

node.override['build-essential']['compile_time'] = true
include_recipe "build-essential"

When run in CI tools (Travis CI with latest test-kitchen and chef omnibus 11.10 for opsworks compatibility), build-essential compile-time is being run before the apt-get update (compile time). I think this has to do with how chef decides which order to run the compile-time directives, which gets jumbled when sourced from include_recipe.
If build-essential will always require an apt-get update on ubuntu, then it may need to explicitly do this. Otherwise everyone has to add an in-line apt-get update compile-time directive in their default recipe (since the in-line directive from apt::default might not run first).
first_run_file = "/tmp/apt-get-update-stamp"
if node['apt']['compile_time_update'] && ( !::File.exist?('/var/lib/apt/periodic/update-success-stamp') || !::File.exist?(first_run_file) )
  e = bash 'apt-get-update at compile time' do
    code <<-EOH
      apt-get update
      touch #{first_run_file}
    EOH
    ignore_failure true
    only_if { apt_installed? }
    action :nothing
  end
  e.run_action(:run)
end

Please document better how to get build-essential and apt to work properly at compile time, i've tried various fixes and work arounds mentioned here and other places, but chef still tries to do compile build-essential before apt..  i'm working witht the 1.4.X version at this point.

Same problem here in 2016. Whatever I try build-essential tries to install via apt before the cache is updated.


bug(mat-date-picker): changing max date for open datepicker does not update view

Reproduction
Use StackBlitz to reproduce your issue: https://stackblitz.com/edit/angular-eh8mrw
Steps to reproduce:

Open the StackBlitz (the datepicker will open automatically)
Observe how the max date is incremented by 1 day every few seconds.

Expected Behavior
What behavior were you expecting to see? Greyed-out dates in the datepicker should become selectable as the max date grows larger and larger.
Actual Behavior
What behavior did you actually see? The dates remain greyed out until you click one one of the days, then the view is updated (greyed-out days become selectable).
Environment

Angular:
CDK/Material: @angular/material 10.0.1
Browser(s):
Operating System (e.g. Windows, macOS, Ubuntu):

@crisbeto I believe this is NOT related to #19907


The source is much older than dist and doesn't play some mp3s in Firefox

It doesn't play some mp3s in Firefox and since the source is much older than the dist (.min) file I cannot fix myself. I can send you the problematic mp3 file, just cannot post it here (copyrights and stuff).

The source cannot be older, because the distribution is built from it. Regarding the mp3 support in Firefox, please try the Firefox'es bugtracker.


Strange behaviour when delegating to a user who has already some delegation

I wanted to delegate twice more power from one user to another that I had already delegated to. The UI didn't let me know what would happen and only let's me delegate the amount that is available, but then it changes the amount delegated as if it was editing the delegation.
Then I thought that I could achieve what I wanted by delegating a minimum amount and then delegating the maximum amount afterwards, but it turned out that I stayed with the power locked and only a fraction of what I wanted was delegated.
The 7 day restriction applies also when raising the delegation? It shouldn't I think... Maybe the slider should allow to take from the current value to the maximum (available+already delegated) instead?
Anyway it could be important to have some information on the UI that would explain this case for users...

You're absolutely right - the UI is pretty terrible for altering delegations to an account you've already delegated.
I'm going to mark this for the next version since I think it's a priority. Basically whatever you set the value to is what it will be. There's no adding/subtracting, it just sets a value, and the UI should reflect that.

Got this fixed by adding an "edit" button to existing delegations that also includes SP that's already delegated between the two accounts. Will be released in 0.0.9.


Examples in Docs are deprecated

Hello Everyone,
I hope I am using the right kind of Issue right now.
I noticed some outdated and unclear parts in the docs. While trying to apply your examples on our project, visual studio stated that IEventMessage is deprecated and one should rather use IEventStream. My Problem is that I don't really see a way to use IEventStream instead of the IEventMessage.
The parts that are unclear to me, is why to use an Input on a subscription Method, maybe you could put a explaining sentence in the docs.
One Last request would be a reference to the blog/2020-03-24 example, where a subscription without any input is used. For me it would be enough to have a sentence like: "An example without any Input in the subscriptions can be found in the blog/2020-03-24 code or in the corresponding Blog Post".
The version that is used by us, is:
.net core 3.1 & hot chocolate 10.5.2
Thanks for the nice framework, it is nice to use as beginner in GraphQL.
Best Regards
Niels

We are at the moment rehabbing the documentation and will publish a new one with version 11.
The best way at the moment to learn about subscriptions is with our workshop:
https://github.com/ChilliCream/graphql-workshop


[QUESTION]

WEB PART NOT LOADING: If you are getting the error: "Microsoft 365 learning pathways has a configuration issue. Ask your administrator for assistance". Please review the Diagnosing Pre-Check guidance before submitting your bug.

Submit your question
What is the context of your question

[X] Installation
[] Administration
[] Custom Content
[] M365 learning pathways web part

What is your question

If i try to Provision the Microsoft 365 Learning pathways site trought the website, The App will install in the App Catalog site corretly ( version <IP_ADDRESS> ) But the Site that needs to be created won't work. This did work with version 3.0.0 ( app ). So it's not able to create the site for the Learning Pathways.

Can you help me understand, by giving me some detail, on what you mean by "the site that needs to be created won't work"?

Sure, when i go to https://provisioning.sharepointpnp.com/details/3df8bd55-b872-4c9d-88e3-6b2f05344239 and click on "add to your tenant" and fill in the from and press "provision", the app for sahrepoint will be added, but the Sharepoint site isn't created. I tried this on 3 different tenants without success.

Ok, then you're having issues with the provisioning service itself. Unfortunately, we cannot help you with that here you need to submit an issue to the provisioning service.

PROVISIONING NOTE: If you are having issues with the SharePoint look book while trying to provision M365 learning pathways please do not post that issue to this repo as we cannot help you here. Please post all questions and issues for the SharePoint look book to SharePoint/sp-provisioning-service GitHub Issues List.


Fix associative arrays

Remove AssociativeArray
Implement extensions as UFCS methods
Revert https://d.puremagic.com/issues/show_bug.cgi?id=9807

druntime pull:
https://github.com/D-Programming-Language/druntime/pull/668

This pull request (or https://github.com/D-Programming-Language/druntime/pull/668) introduced a regression:
https://issues.dlang.org/show_bug.cgi?id=14626


bound images fail in bootc-image-builder

time="2024-07-22T15:53:02Z" level=error msg="finding config on system: unable to resolve HOME directory: user: lookup userid 0: no such file or directory"

```
org.osbuild.bootc.install-to-filesystem: f60d96bf6cf76c88a936d2ca78536662205cc603ca2a67e6b1681126c7190443 {
  "kernel-args": [
    "rw",
    "console=tty0",
    "console=ttyS0"
  ],
  "target-imgref": "quay.io/cgwalters/ostest:bound"
}
device/disk (org.osbuild.loopback): loop5 acquired (locked: False)
mount/- (org.osbuild.xfs): mounting /dev/loop5p4 -> /store/tmp/buildroot-tmp-vk85an87/mounts/
mount/boot (org.osbuild.ext4): mounting /dev/loop5p3 -> /store/tmp/buildroot-tmp-vk85an87/mounts/boot
mount/boot-efi (org.osbuild.fat): mounting /dev/loop5p2 -> /store/tmp/buildroot-tmp-vk85an87/mounts/boot/efi
Host kernel does not have SELinux support, but target enables it by default; this is less well tested.  See https://github.com/containers/bootc/issues/419
Installing image: docker://quay.io/cgwalters/ostest:bound
Initializing ostree layout
Initializing sysroot
ostree/deploy/default initialized as OSTree stateroot
layers already present: 0; layers needed: 76 (1.7 GB)
Fetched layers: 1.61 GiB in 18 seconds (91.60 MiB/s)
Deploying container image...Freed objects: 118 bytes
done
Running bootupctl to install bootloader
> bootupctl backend install --write-uuid --device /dev/loop5 /run/osbuild/mounts
Installed: grub.cfg
Installed: "centos/grub.cfg"
Mounting deployment /var
Initializing /var/tmp
> systemd-tmpfiles --create --boot --prefix=/var/tmp
/usr/lib/tmpfiles.d/journal-nocow.conf:26: Failed to replace specifiers in '/var/log/journal/%m': No such file or directory
/usr/lib/tmpfiles.d/systemd.conf:23: Failed to replace specifiers in '/run/log/journal/%m': No such file or directory
Failed to parse ACL "d:group::r-x,d:group:adm:r-x,d:group:wheel:r-x,group::r-x,group:adm:r-x,group:wheel:r-x": No such file or directory. Ignoring
/usr/lib/tmpfiles.d/systemd.conf:25: Failed to replace specifiers in '/run/log/journal/%m': No such file or directory
/usr/lib/tmpfiles.d/systemd.conf:26: Failed to replace specifiers in '/run/log/journal/%m/*.journal*': No such file or directory
/usr/lib/tmpfiles.d/systemd.conf:29: Failed to replace specifiers in '/var/log/journal/%m': No such file or directory
/usr/lib/tmpfiles.d/systemd.conf:30: Failed to replace specifiers in '/var/log/journal/%m/system.journal': No such file or directory
Failed to parse ACL "d:group::r-x,d:group:adm:r-x,d:group:wheel:r-x,group::r-x,group:adm:r-x,group:wheel:r-x": No such file or directory. Ignoring
/usr/lib/tmpfiles.d/systemd.conf:32: Failed to replace specifiers in '/var/log/journal/%m': No such file or directory
/usr/lib/tmpfiles.d/systemd.conf:33: Failed to replace specifiers in '/var/log/journal/%m/system.journal': No such file or directory
Failed to parse ACL "default:group:tss:rwx": No such file or directory. Ignoring
Failed to parse ACL "default:group:tss:rwx": No such file or directory. Ignoring
Pulling bound image
time="2024-07-22T15:53:02Z" level=error msg="finding config on system: unable to resolve HOME directory: user: lookup userid 0: no such file or directory"
ERROR Installing to filesystem: pull bound images: Task Pulling bound image failed: ExitStatus(unix_wait_status(256))
Traceback (most recent call last):
  File "/run/osbuild/bin/org.osbuild.bootc.install-to-filesystem", line 53, in
    r = main(args["options"], args["inputs"], args["paths"])
  File "/run/osbuild/bin/org.osbuild.bootc.install-to-filesystem", line 48, in main
    subprocess.run(pargs, env=env, check=True)
  File "/usr/lib64/python3.9/subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['bootc', 'install', 'to-filesystem', '--source-imgref', 'containers-storage:[overlay@/run/osbuild/containers/storage+/run/containers/storage]73f563df6d8472b839a06b3f3686efb905289d24e4d42ee6cc76b29742c0a08c', '--skip-fetch-check', '--generic-image', '--karg', 'rw', '--karg', 'console=tty0', '--karg', 'console=ttyS0', '--target-imgref', 'quay.io/cgwalters/ostest:bound', '/run/osbuild/mounts']' returned non-zero exit status 1.
mount/boot-efi (org.osbuild.fat): umount: /store/tmp/buildroot-tmp-vk85an87/mounts/boot/efi unmounted
mount/boot (org.osbuild.ext4): umount: /store/tmp/buildroot-tmp-vk85an87/mounts/boot unmounted
mount/- (org.osbuild.xfs): umount: /store/tmp/buildroot-tmp-vk85an87/mounts/ unmounted
```

I previously hit https://github.com/containers/podman/issues/22785#issuecomment-2131384748 - this looks like a different one.
Will dig in to see what's going on.

Can someone remind me of the best way to get a debug shell in an osbuild pipeline in bib? cc @mvo5

OK yep there's no /etc/passwd in osbuild stages, or at least not in the stage running bootc install:
ls: cannot access '/etc/passwd': No such file or directory

https://github.com/containers/bootc/pull/716
Next up is Error: mkdir /etc/containers/networks: read-only file system as expected

https://github.com/containers/bootc/pull/719 will get us closer - I didn't yet get it working end-to-end in bib, but it does work with bootc install in the way I think it should.

Filed https://github.com/osbuild/bootc-image-builder/issues/560 for the bib side discussion


Error while building the solution.

Godot version
4.0, master
System information
Windows 10 64 bit, 12GB RAM, NVIDIA GTX 1660Ti
Issue description
I am using "pip" version 22.3 (from Python 3.11)
and "scons" version  v4.4.0
I cloned this repository 2 days ago. Whenever I try to build the solution in Visual Studio 2022,  I get the following error:
"Error: Couldn't load project data at path "." Is the .pck file missing?
If you've renamed the executable, the associated .pck file should also be renamed to match the executable's name (without the extension)."
Steps to reproduce
I just try to build the solution in Visual Studio (Local  Windows Debugger).
Minimal reproduction project
N/A

I tried searching for solution for 2 days, but couldn't find any. Please help, I am new to Godot and I want to explore and debug features since I am very interested in game engines.

This sounds like you're running the export template from the debugger, what target are you running?

The template ones will indeed cause this if you try to run them instead of building them

@AThousandShips  Thanks, it worked with "editor".
Can you share any of your contact like telegram or email etc. I would like to connect just for few tips for a beginner.

I don't give out my contact details nor do I offer any individual assistance, I don't do this for a living and I seek out issues and problems here that I'm able to help with or interested in


chore : reduce docker layers and cleanup files after use to reduce size

Description
reduce docker layers and cleanup files after use to reduce size
Checklist:

[x] I have signed the Adobe Open Source CLA.
[ ] My code follows the code style of this project.
[ ] My change requires a change to the documentation.
[ ] I have updated the documentation accordingly.
[ ] I have read the CONTRIBUTING document.
[ ] I have added tests to cover my changes.
[ ] All new and existing tests passed.

thx for the update !


Handling ObjectAlreadyExistsException

Hi Søren,
Is there a way to handle ObjectAlreadyExistsException during provisioning without writing your own code like auto-incrementing the CN on DN collision?
Thanks!

There is nothing built into the MRE for this. You have to have import or generate the unique CN. You could have a look at the Helpers in the Wiki to see if that could assist you

Thanks! Will close this issue now.


[WFLY-15969] Upgrade ASM to 9.2 in order to support JDK18

https://issues.redhat.com/browse/WFLY-15969

@jimma Please review.
We dropped the Hibernate transformer module so there's no JPA/Hibernate use any more.
If @kabir wants to approve, great, but it's not required as the smallrye-config releases we use depend on ASM 9.2.

@ropalka @bstansberry  This looks good to me.

Thanks, @ropalka


Allow resque 2

Simply bumps the permitted versions of resque from 1, to at least 1 and less than 3

Locally I have four failing tests. The best I can say is that without this PR and on Ruby 2, I also have the same four tests failing. This indicates that at least I haven't broken anything here.


[RP adapter] Configure scope-presentation exchange

part of #232
Currently, we can't configure multiple presentation exchange queries as its hardcoded to one query.
https://github.com/trustbloc/edge-adapter/blob/106c7293da8403fa8221139b87602ed995636fb1/pkg/presentationex/provider.go#L41-L44

@rolsonquadras I started working on this right now

this is blocked by #211: using the framework's new presentation-exchange API requires pulling the fixes made for verifiable.ParsePresentation() in hyperledger/aries-framework-go#2052, which requires extensive refactors in tests

Currently blocked until #242 is merged


[huggingface] Adds huggingface tokenizer extension

Change-Id: I1af56de1e841dbcf00c947d2feefb7800699831d
Description
Brief description of what this PR is about

If this change is a backward incompatible change, why must this change be made?
Interesting edge cases to note here

Codecov Report

Merging #1406 (e1feea4) into master (bb5073f) will decrease coverage by 1.47%.
The diff coverage is 51.08%.

@@             Coverage Diff              @@
##             master    #1406      +/-   ##
============================================
- Coverage     72.08%   70.61%   -1.48%
- Complexity     5126     5274     +148
============================================
  Files           473      491      +18
  Lines         21970    23178    +1208
  Branches       2351     2528     +177
============================================
+ Hits          15838    16367     +529
- Misses         4925     5538     +613
- Partials       1207     1273      +66

Impacted Files
Coverage Δ

api/src/main/java/ai/djl/modality/cv/Image.java
69.23% <ø> (-4.11%)
:arrow_down:

...i/djl/modality/cv/translator/BigGANTranslator.java
21.42% <ø> (-5.24%)
:arrow_down:

...odality/cv/translator/BigGANTranslatorFactory.java
33.33% <0.00%> (+8.33%)
:arrow_up:

...nslator/InstanceSegmentationTranslatorFactory.java
14.28% <0.00%> (-3.90%)
:arrow_down:

.../modality/cv/translator/YoloTranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...i/djl/modality/cv/translator/YoloV5Translator.java
5.69% <0.00%> (ø)

...odality/cv/translator/YoloV5TranslatorFactory.java
8.33% <0.00%> (-1.67%)
:arrow_down:

...modality/nlp/embedding/TrainableWordEmbedding.java
45.00% <0.00%> (-3.34%)
:arrow_down:

...pi/src/main/java/ai/djl/ndarray/BytesSupplier.java
54.54% <0.00%> (-12.13%)
:arrow_down:

...i/src/main/java/ai/djl/ndarray/NDArrayAdapter.java
15.23% <0.00%> (-0.83%)
:arrow_down:

... and 145 more

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 209ed16...e1feea4. Read the comment docs.


Remove [Mobile] device form factor from bug report issue template

Description
It was suggested in https://github.com/microsoft/microsoft-ui-xaml/issues/2507 by @StephenLPeters that the [Mobile] device form factor in the bug report issue template could "probably" be removed.
Motivation and Context
Windows 10 Mobile support ended completely in January this year. The WinUI team is no longer providing support for Windows 10 Mobile specific bug reports.

/azp run


fit_generator converges slower and tensorboard's OOM problem

problem 1:
i changed my code from fit to fit_generator, however, i found it converged slower than using fit. Using fit it converges at 5th epoch, however, it doesn't converge even at 10th epoch when i change to fit_generator.
Moreover, when validation_data also uses fit_generator, the performance becomes much worse. Is my generator function has errors?
def batch_iter(x, y, batch_size):
"""
Generates a batch iterator for a dataset.
"""
data_size = len(y)
num_batches_per_epoch = int(len(y)/batch_size) if data_size%batch_size == 0
else int(len(y)/batch_size) + 1
while 1:
# Shuffle data
shuffle_indices = np.random.permutation(np.arange(len(y)))
x_shuffled = x[shuffle_indices]
y_shuffled = y[shuffle_indices]
# Shuffle the data at each epoch
for batch_num in range(num_batches_per_epoch):
start_index = batch_num * batch_size
end_index = min((batch_num + 1) * batch_size, data_size)
yield (x_shuffled[start_index:end_index],y_shuffled[start_index:end_index])
problem 2:
Added tensorboard callback, it always causes OOM (out of memory) problem, even i change to fit_generator. Seems, it will allocate a memory size as big as training data's.
Epoch 00000: val_acc improved from -inf to 0.12241, saving model to models/weights-best-label9-00-0.12.hdf5
Traceback (most recent call last):
File "trainGraph.py", line 165, in
class_weight=class_weights)
File "/home/tensorflow/.local/lib/python2.7/site-packages/keras/models.py", line 934, in fit_generator
initial_epoch=initial_epoch)
File "/home/tensorflow/.local/lib/python2.7/site-packages/keras/engine/training.py", line 1555, in fit_generator
callbacks.on_epoch_end(epoch, epoch_logs)
File "/home/tensorflow/.local/lib/python2.7/site-packages/keras/callbacks.py", line 43, in on_epoch_end
callback.on_epoch_end(epoch, logs)
File "/home/tensorflow/.local/lib/python2.7/site-packages/keras/callbacks.py", line 561, in on_epoch_end
result = self.sess.run([self.merged], feed_dict=feed_dict)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 766, in run
run_metadata_ptr)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 964, in _run
feed_dict_string, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1014, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.ResourceExhaustedError: OOM when allocating tensor with shape[45551,2392,20]
[[Node: Gather = Gather[Tindices=DT_INT32, Tparams=DT_FLOAT, validate_indices=true, _device="/job:localhost/replica:0/task:0/gpu:0"](embedding_1_W/read, _recv_embedding_input_1_0/_119)]]
[[Node: cond/Merge/_123 = _Recvclient_terminated=false, recv_device="/job:localhost/replica:0/task:0/cpu:0", send_device="/job:localhost/replica:0/task:0/gpu:0", send_device_incarnation=1, tensor_name="edge_31_cond/Merge", tensor_type=DT_FLOAT, _device="/job:localhost/replica:0/task:0/cpu:0"]]

Please take a look:
https://github.com/fchollet/keras/blob/master/keras/callbacks.py#L551:
# TODO: implement batched calls to sess.run
# (current call will likely go OOM on GPU)

Also check out the rest of the code in that function.
Tensorboard callback passes validation data again through the network on epoch end and it doesn't use batches, so if your validation data is bigger than few samples it is very likely to cause OOM on GPU.

I've noticed the GPU running out of memory when tensorboard is enabled as well. Is there a way to fix this with fewer downsides than #4834? i.e. reducing memory utilization with more consistency in the tensorboard charts

@anundt: The only way I can think of is to split validation data into batches and then pass each batch through the model.
With this approach we're going to get a TensorBoard Summary object for each batch, so if you have, say, 1000 samples in validation_data and batch_size of 100 this would result in 10 Summaries and each summary object is going to be shown in TensorBoard Histogram and Distribution tabs separately.
I bet this is something nobody wants.
We could probably average across multiple Summary objects to form a single Summary object where all values are averages of corresponding values from batch-specific summaries, but this is a much more complex approach. There are no examples of doing it that way and generally Summary object is not supposed to be tampered with.
I checked few examples of code just to see how this problem is resolved and nobody aggregates statistics manually.
Tensorflow official example passes whole validation data through the model at once:
https://github.com/tensorflow/tensorflow/blob/master/tensorflow/examples/tutorials/mnist/mnist_with_summaries.py
It should be possible to pass something like "batch_size for TensorBoard" parameter that would be bigger than batch_size, so that you'd get more accurate stats, but it won't really resolve that problem that you need more GPU memory with TensorBoard enabled.

Still an issue in keras2 and tf.contrib.keras
does the deeper integration in tf.contrib.keras make it easier to solve this? is there some kind of workaround?

Current workaround is to disable  TensorBoard callback histograms.
If I remember correctly validation is done in batches everywhere except for TensorBoard.

Is anyone going to fix the TensorBoard's batches compute?


Attempt to fix travis deploy

Close #376

Ref https://github.com/X1011/git-directory-deploy/issues/7


Dependency problem with Grails 2.0.1

runtime ":hibernate:$grailsVersion"
runtime ":hibernate-search:0.7"

Cause:
| Error Error: The following plugins failed to load due to missing dependencies: [hibernate]
- Plugin: hibernate
   - Dependencies:
       ! dataSource (Required: 2.1 > *, Found: 2.0.1) [INVALID]
       ! i18n (Required: 2.1 > *, Found: 2.0.1) [INVALID]
       ! core (Required: 2.1 > *, Found: 2.0.1) [INVALID]
       ! domainClass (Required: 2.1 > *, Found: 2.0.1) [INVALID]

I do not have this problem with 0.6

This issue targets an old version of Grails / Hibernate Search and is pretty old as well :) I close it but please tell me if you still need help to get this plugin running.


[SPARK-49311][SQL] Make it possible for large 'interval second' values to be cast to decimal

What changes were proposed in this pull request?
Prior to this PR, interval second values where the number of microseconds needed to be represented by 19 digits could not be cast to decimal. This PR removes this gap.
scala> sql("select<PHONE_NUMBER>000.000000::interval second").show(false)
+---------------------------------------------+
|CAST(1000000000000.000000 AS INTERVAL SECOND)|
+---------------------------------------------+
|INTERVAL '1000000000000' SECOND              |
+---------------------------------------------+

scala> sql("select<PHONE_NUMBER>000.000000::interval second::decimal(38, 10)").show(false)
org.apache.spark.SparkArithmeticException: [NUMERIC_VALUE_OUT_OF_RANGE.WITH_SUGGESTION]  0 cannot be represented as Decimal(18, 6). If necessary set "spark.sql.ansi.enabled" to "false" to bypass this error, and return NULL instead. SQLSTATE: 22003

Why are the changes needed?
This change adds additional coverage.
Does this PR introduce any user-facing change?
Yes, users couldn't cast large second intervals to decimals earlier. Now, they can.
How was this patch tested?
Unit test in IntervalExpressionsSuite.
Was this patch authored or co-authored using generative AI tooling?

No.

@MaxGekk Thanks for the response. I don't really know about any use cases as I am not a data scientist. I was thinking about this from a coverage perspective where 19-digit interval second's cannot be cast to decimals of any scale/precision and there is no reason as to why they shouldn't be.<PHONE_NUMBER>99.999999 (18 digits) can be cast to decimal but<PHONE_NUMBER>000.000000 (19 digits) cannot and I can't think of a good reason for why we want this to be the case.
Also, if we want to prohibit this for some reason, the current error message does not tell the user that this functionality is prohibited. The message says 0 cannot be represented as Decimal(18, 6). which wouldn't make sense to the user if Decimal(18, 6) isn't even a part of their query.

@harshmotw-db The current implementation with 18 digits can represent any difference between any dates/timestamps required by the SQL standard. Increasing the number of digits from 18 which is the maximum number of decimal digits a Long can represent might lead to perf regression. Should be a reasonable motivation to increase the number of digits.

@MaxGekk However, the Spark day-time interval type already does represent the maximum value that a long can represent. The Spark SQL documentation also implies that the day-time interval can support the whole range of long values.
Large decimals/long values can be cast to intervals (as I've shown at the beginning of the PR description). These large intervals can also be cast to long. The only gap is these large intervals being cast to decimal regardless of precision and scale. It doesn't make sense to me that these intervals can be cast to long but not to decimals which are even broader than long.

+1, LGTM. Merging to master.
Thank you, @harshmotw-db and @cloud-fan @minyyy for review.


Do the digitisation/workflow user roles have permission to delete objects from the storage buckets?

I think the answer is no, but:

I want to check that
I want an explicit Deny of that in our delete protection list

No, they don't.


Misdetected cycle issue after upgrading to 7.5-rc-2

After upgrading the junit5 build to 7.5-rc-2 (I also tried 7.5-20220610230151+0000) and running ./gradlew build, I'm getting the following failure:

Misdetected cycle between :junit-jupiter-params:jar and :junit-jupiter-params:jar. Help us by reporting this to https://github.com/gradle/gradle/issues/2293

Expected Behavior
./gradlew build continues to work when upgrading from 7.4.2 to 7.5-rc-2
Current Behavior
Above error.
Context

Steps to Reproduce

Clone junit5
Run ./gradlew wrapper --gradle-version=7.5-rc-2 twice
Run ./gradlew build

Your Environment
Build scan URL: https://ge.junit.org/s/kvdaeazhemeym/failure#1

@bamboo At a glance this looks related to the issue you fixed recently.

Thanks, @marcphilipp, I'll take a look.

I identified the range in which the regression was introduced. The first commit bd4e7a02d8e65e910c49069367d20e549894c83e breaks the reproducer, but not in the reported way; it deadlocks instead. The following commit ceef737add6b6a84019f69b478fb2f8342f30d35 makes the reproducer to fail with the aforementioned problem.

I'm afraid this has regressed in 7.5-rc-4

Fixed (again) via https://github.com/gradle/gradle/pull/21212

Comfirmed to be fixed in 7.5-20220711060358+0000: https://ge.junit.org/s/w5pd52pq57ixg


IndexErroe:list index out of bound

Hi,
I an new to python and I am getting error like in line no. 202 im1, landmarks1 = read_im_and_landmarks(sys.argv[1]) IndexError: list index out of range. Please can any one tell me how to fix this error.
Thanks in advance..

`face_image_path = '8.png'
head_image_path = '6.png'
im1, landmarks1 = read_im_and_landmarks(sys.argv[1])
im2, landmarks2 = read_im_and_landmarks(sys.argv[2])
im1, landmarks1 = read_im_and_landmarks(head_image_path)
im2, landmarks2 = read_im_and_landmarks(face_image_path)`
I commented the meta code , changed the code like the under ,and hope to help you!


lower_text position on view mode Month is wrong on big timeline

Because the dates of the month, not always exactly 30 so when we have a long timeline, the x position of Month_lower could be wrong if you calculating this way
const base_pos = {
  x: i * this.options.column_width,
  lower_y: this.options.header_height,
  upper_y: this.options.header_height - 25,
}

Because in Month mode this.options.column_width always be 30 so we have a timeline from begin of 2020 to the end of 2024 the last base_pos.x could be 120*60=7200 but the exact number must be 7304, and so we have this chart.

You guy can consider changing it to this way
const base_pos = {
  lower_y: this.options.header_height,
  upper_y: this.options.header_height - 25,
}

if (this.view_is(VIEW_MODE.MONTH)) {
  base_pos.x = date_utils.diff(date, this.gantt_start, 'day') * this.options.column_width / 30
} else {
  base_pos.x = i * this.options.column_width
}

const x_pos = {
  ...,
  Month_lower: (date_utils.get_days_in_month(date) * this.options.column_width / 30) / 2,
  ...,
}

I've made a commit to fix this bug #270

Thanks, I've used this fix and it worked perfectly!


Coretime interface

In the Agile Coretime model of the Polkadot Ubiquitous Computer, as proposed in RFC-1 and RFC-3, it is necessary for the allocating parachain (envisioned to be one or more pallets on a specialised Brokerage System Chain) to communicate the core assignments to the Relay-chain, which is responsible for ensuring those assignments are properly enacted.
This is a proposal for the interface which will exist around the Relay-chain in order to communicate this information and instructions.

We'll need upward messages for full parachains who adjust their core usage but..
Afaik there is no reason to use upward messages in the scheduling system for on-demand parachains.  A payment on the relay chain can increase the balance, and enqueue a message for the parachain, then whenever the parachain makes a block it can pull from this balance and do whatever it does with the message.

We're planning to remove as much functionality as possible from the Relay-chain, including currency.

blake2_256 hash of the 33d45a8 text is 0x1a8f351c8f9cc3f5d6587129324bba6d7d0d086af1275c875f4a18af4651f792.

blake2_256 hash of System.remark("APPROVE_RFC(0005,1a8f351c8f9cc3f5d6587129324bba6d7d0d086af1275c875f4a18af4651f792)") is 0x8a5685393b5fc0845a5356b772ac8320cfbc2f05aed75dcd60355eab14aa081e; preimage length is 86 bytes.

Vote here: https://collectives.subsquare.io/fellowship/referendum/11


Resolve incorrect handler for haproxy.

Fixes for vagrant run.

Looks fine. Okay to merge once tests pass (although how tests passed originally I don't know)

CI tests on instances that are fully updated. This handler will never trigger. Merging.


docs: warden sdk example is misleading

firewall := hydra.Warden

resolved by https://github.com/ory-am/hydra/commit/448fc3eb1f328b86efdf1ee4ca4d3b424f74a23e
sorry, again for this @janekolszak


IdentityClientOptions clone method mistakenly enables probing for broker support

This resulted in erroneous error messages being displayed when the user was not trying to use the broker feature.

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

I know this was already merged, but should we add the error message text to the changelog so it's more discoverable in searches?


BIG-IQ intergration

Is your feature request related to a problem? Please describe.
Looking to migrate from BIG-IP to a BIG-IQ managed application set
Instead of install directly to the new BIG-IP install app via BIG-IQ

did not see that the app had BIG-IQ option.


[Feature] Update metrics spec to be 1.6 compatiable

Is there an existing feature request for this?

[X] I have searched the existing issues

Describe the Feature
dbt-core has a new metric spec as of 1.6. We need to update the metrics in the package to be compatible with the new spec.
Describe alternatives you've considered
Remove metrics, or only use the package on dbt versions <1.6
Are you interested in contributing this feature?

[X] Yes.
[ ] Yes, but I will need assistance and will schedule time during your office hours for guidance.
[ ] No.

Anything else?
No response

This update has been reflected in the latest v1.6.0 release of the ad reporting package! As such, I will close out this issue. Thanks again for contributing to the package @Jstein77!


Handle features without geometry

Closes #161
Updated vectors example to include a feature without geometry.

LGTM

Thank you for the review and for the comment about a possible usage of goog.isNull.


Info: Return supported storage driver info in /1.0

And update lxd init to use it rather than querying the storage layer directly from the client.
Includes #8990 (to avoid conflicts).
Fixes #5955

Testsuite passed

Testsuite passed

Looks good, needs a rebase and that fix to the comment to cleanup swagger.

Looks good, needs a rebase and that fix to the comment to cleanup swagger.

Rebased and fixed.

Testsuite passed


Bumped production RELEASE for 1.21-8

Bumped production RELEASE for 1.21-8
By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

/unhold


prog, executor: move checksum computation to executor

This commit moves checksum computation to executor. This will allow to embed dynamically generated values (like TCP sequence numbers) into packets.

PTAL

executor: rename test_kvm.cc to test_executor.cc

why?

Since it contains tests that are not only related to kvm.

PTAL

PTAL

LGTM
Great!


Add option for random (but fixed) color

I think it would be useful if host names or user names could be randomly colored, but always have the same color.
Other projects like https://github.com/justjanne/powerline-go/ do this by generating a hash (or something) of the string and use a part of that hash to get a color value.
This guarantees that the same string always gets the same color, but a similar host name can get a completely different color.
The user should also be able to choose weather the foreground or the background should be colored. (or both?)
And we need to make sure foreground and background colors es different enough to read the text.
If could create a mock up if my description is unclear. :)

I believe it can already do so :-)
See gen_color_from_field() in color.c
in the ui, choose 'field'
On Tue, Nov 7, 2023 at 4:07 PM Christoph Wempe @.***>
wrote:

I think it would be useful if host names or user names could be randomly
colored, but always have the same color.
Other projects like https://github.com/justjanne/powerline-go/ do this by
generating a hash (or something) of the string and use a part of that hash
to get a color value.
This guarantees that the same string always gets the same color, but a
similar host name can get a completely different color.
The user should also be able to choose weather the foreground or the
background should be colored. (or both?)
And we need to make sure foreground and background colors es different
enough to read the text.
If could create a mock up if my description is unclear. :)
—
Reply to this email directly, view it on GitHub
https://github.com/folkertvanheusden/multitail/issues/27, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AUN5IW56RYVJXOF42LLFIW3YDJFEDAVCNFSM6AAAAAA7BLBZNWVHI2DSMVQWIX3LMV43ASLTON2WKOZRHE4DCNJYGUZTCMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Sorry, but I do not understand how to use it.
Where in the "ui" can I select it?
An besides, I want to use it in a color scheme in the config.
How can I use it there?

Ok.
I now understand what you mean.

(No idea why it is field 3 and not 4)
So you are right, the is the color option I am looking for.
But how can I use this in the colorscheme?


move safety check for the battery to this new branch

seams good to me.

@jlecoeur did you add your battery module as proposed?

nop

I implemented the battery module and made it with a modular low limit located in state_default_config.h.
I checked in simulation and the expected behavior is happening as well as the good mav_custom_mode is set.
Could you revise this such that we can merge?

@ndousse For me it seams good,
I only tested in simulation, but it should not change much :)
@jlecoeur We removed navigation from state_machine as you requested.
If Nicolas agrees on my modification, He has my approval to merge the pull request.
Best


KYLIN-3292

KYLIN-3292 The update button should be disabled with none key and value in setting config dialog

Can one of the admins verify this patch?

Pull Request Test Coverage Report for Build 3048

0 of 0 (NaN%) changed or added relevant lines in 0 files are covered.
10 unchanged lines in 1 file lost coverage.
Overall coverage increased (+0.008%) to 23.899%

Files with Coverage Reduction
New Missed Lines
%

storage-hbase/src/main/java/org/apache/kylin/storage/hbase/HBaseConnection.java
10
17.28%

Totals

Change from base Build 3046:
0.008%

Covered Lines:
14339

Relevant Lines:
59999

💛  - Coveralls


Number of classes in Python API

Dear Author,
Thanks for the great work! The TotalSegmentator is really useful and all the documentations are very well written:)
Since the version 2 has been released, may I ask when will the python API version be updated? When I'm using the Python API in my code for the segmentation, still I'm getting 104 output classes, so I guess I'm still using the old version.
Many thanks for the reply!

When you install the newest pip package the python api will also use the new version. So I guess you still have the old totalsegmentator installted.


Update update-trinity

If python points to python3, then building will fail.
Fixed version is here:
https://gist.githubusercontent.com/Grazfather/91e1ea3c3b51be844552263ce0f0d538/raw/c5607a51047b4dc01bf1f3fd443e8cd6318056c6/install-trinity.sh

Could also be sped up by using git clone --depth 1
Also it calls ldconfig to update the library search paths, and issue I had in some docker images.

453fdcb01afe8ddeab855e0a6a6cfe86cf63391b


Failed to resolve entry for package "load-script".

##The problem I experienced during the build
Error
file: /home/project/node_modules/react-player/lib/index.js
error during build:
Error: Failed to resolve entry for package "load-script". The package may have incorrect main/module/exports specified in its package.json.
    at packageEntryFailure (file:///home/project/node_modules/vite/dist/node/chunks/dep-MF_y65BT.js:29087:17)
    at resolvePackageEntry (file:///home/project/node_modules/vite/dist/node/chunks/dep-MF_y65BT.js:29084:5)
    at tryNodeResolve (file:///home/project/node_modules/vite/dist/node/chunks/dep-MF_y65BT.js:28854:20)
    at Object.resolveId (file:///home/project/node_modules/vite/dist/node/chunks/dep-MF_y65BT.js:28610:28)
    at file:///home/project/node_modules/rollup/dist/es/shared/node-entry.js:18606:40
    at async PluginDriver.hookFirstAndGetPlugin (file:///home/projectnew/node_modules/rollup/dist/es/shared/node-entry.js:18506:28)
    at async resolveId (file:///home/project/node_modules/rollup/dist/es/shared/node-entry.js:17175:26)
    at async ModuleLoader.resolveId (file:///home/project/node_modules/rollup/dist/es/shared/nodeentry.js:17589:15)
    at async file:///home/project/node_modules/vite/dist/node/chunks/dep-MF_y65BT.js:8338:16
    at async Promise.all (index 0)

Env
Node version: v20.10.0
Vite : 5.0.10
React Player : 2.14.1
React: 18.2.0
OS: Ubuntu: 20.04

I used it in two different places
   <ReactPlayer
      playing={true}
      url={'/play/map.mp4'}
      muted
      width={'100%'}
      height={'100%'}
      controls={false}
      loop
     />

  <ReactPlayer
    url={ytUrl}
    controls={true}
    width={'60%'}
    height={'70%'}
    volume={0.1}
    config={{
     file: {
      attributes: {
       controlsList: 'nodownload',
      },
     },
    }}
   />

When I tried again on another remote server, it worked. This time, I was able to build strangely. @luwes

I think it gives this error when you use low volume CPU or RAM.

thanks for letting us know!

Now I rebuilt it on a server with low volume CPU and RAM and it worked strangely, I guess it has nothing to do with that either


chore(package): update body-parser to version 1.18.0

Codecov Report

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

@@           Coverage Diff           @@
##           master     #282   +/-   ##
=======================================
  Coverage   82.18%   82.18%
=======================================
  Files          18       18
  Lines        1106     1106
  Branches      190      190
=======================================
  Hits          909      909
  Misses        197      197

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 25734a2...08446ae. Read the comment docs.


drivers: i2c: do not pass const pointer to i2c_bitbang_init

This causes compilation warnings which extends to failing Twister builds on projects using I2C bitbang.
Signed-off-by: Natanael Log<EMAIL_ADDRESS>

@nattelog I've been seeing these errors too, thanks for the fix.

Oops, missed the stale-notification. Is it possible to re-open this PR? I guess it's still an issue.


Error Unsafe Context

@mellinoe
I get this error while building the project.
Using .Net Framework 4.6
CS0103	The name 'Unsafe' does not exist in the current context	Imgui.NET c:\Users\Magic DPI\Documents\Visual Studio 2015\Projects\Imgui-FNA\Imgui.NET\TextInputBuffer.cs	49

Hey @msmshazan, this means that you haven't restored one of the NuGet packages that ImGui.NET relies on, System.Runtime.CompilerServices.Unsafe. If that assembly is available, the error will go away.

OK done


Introduction of global and hiding flags and options

This PR should implement #11.
The current implementation merges global options/flags into all subcommands. On this way collisions can be detected (in case someone tries to redefine a property with the same short/long). In addition, every subcommand is a complete definition which makes parsing of global props easy.
Also I implemented hiding of properties in the same PR because it is used to hide global props in the subcommands. I know some CLI tools like kubectl that do not repeat global properties on the subcommands.

Hello!
Thank you for your contribution!
I am the creator and the only maintainer of Optimus library and also the creator of the original repo that was later moved to this org.
Due to different reasons, in the recent year, I was a bit too busy and somehow overlooked your PR 😓
Also, unfortunately, I have no access to this particular repo anymore, so I won't continue to support the library here. I have no idea whether anyone else will support this repo, either.
However, I still support the library (https://github.com/savonarola/optimus) in another repo to which I have access. Also I update the corresponding package (https://hex.pm/packages/optimus/0.4.0), and I have no plans to retire 😅
So if you would like to make a contribution, you may make a PR to https://github.com/savonarola/optimus, and I will try to integrate it into a new version of Optimus.

Hi. Thanks for the information. I will try my best and hopefully create soon a PR.


Toggle menu

I added the menu list

and a javascript file that makes the menu list appear when you click the hamburger

and to disappear when the X button is clicked.

An expandable menu for mobile version


[Bug]: Notifications in notification center do not disappear after they have been read

Before you file a bug report

[X] I have checked the issue tracker and have not found an issue that matches the one I'm filing.
[X] This issue is not a troubleshooting question. Troubleshooting questions go here: https://forum.mattermost.com/c/trouble-shoot/16.
[X] This issue is not a feature request. You can request features and make product suggestions here: https://mattermost.com/suggestions/.
[X] This issue doesn't reproduce on web browsers (such as in Chrome). If it does, issue reports go to the Mattermost Server repository.
[X] This issue reproduces on the most recent stable version, or the most recent prerelease version of the Mattermost Desktop App.
[X] I have read the contribution guidelines.

Mattermost Desktop Version
5.5.0
Operating System
macOS 13 and 14
Mattermost Server Version
9.0.1
Steps to reproduce
Receive a message in MatterMost, read it and still find the notification in the notification center.
Expected behavior
Notifications should disappear after they have been read.
Observed behavior
Every notification stays in the notification center until they are manually dismissed by clicking the "X" on the stack of notifications.
Log Output
[2023-10-05 08:56:05.935] [error] Logger Log level set to: info
[2023-10-05 08:56:06.072] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-05 08:56:06.234] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-05 08:56:06.365] [info]  [ServerDropdownView] init
[2023-10-05 08:56:06.381] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-05 08:56:06.382] [warn]  [i18nManager] Failed to set new language DE
[2023-10-05 17:05:17.227] [error] Logger Log level set to: info
[2023-10-05 17:05:17.337] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-05 17:05:17.419] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-05 17:05:17.461] [info]  [ServerDropdownView] init
[2023-10-05 17:05:17.508] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-05 17:05:17.509] [warn]  [i18nManager] Failed to set new language DE
[2023-10-05 17:19:44.377] [error] Logger Log level set to: info
[2023-10-05 17:19:44.486] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-05 17:19:44.577] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-05 17:19:44.623] [info]  [ServerDropdownView] init
[2023-10-05 17:19:44.670] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-05 17:19:44.670] [warn]  [i18nManager] Failed to set new language DE
[2023-10-06 08:48:10.278] [error] Logger Log level set to: info
[2023-10-06 08:48:10.434] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-06 08:48:10.613] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-06 08:48:10.712] [info]  [ServerDropdownView] init
[2023-10-06 08:48:10.727] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-06 08:48:10.728] [warn]  [i18nManager] Failed to set new language DE
[2023-10-08 20:04:07.707] [error] Logger Log level set to: info
[2023-10-08 20:04:07.847] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-08 20:04:08.011] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-08 20:04:08.155] [info]  [ServerDropdownView] init
[2023-10-08 20:04:08.175] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-08 20:04:08.176] [warn]  [i18nManager] Failed to set new language DE
[2023-10-08 21:01:49.901] [error] Logger Log level set to: info
[2023-10-08 21:01:49.994] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-08 21:01:50.074] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-08 21:01:50.120] [info]  [ServerDropdownView] init
[2023-10-08 21:01:50.174] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-08 21:01:50.175] [warn]  [i18nManager] Failed to set new language DE
[2023-10-08 21:17:50.172] [error] Logger Log level set to: info
[2023-10-08 21:17:50.267] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-08 21:17:50.348] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-08 21:17:50.391] [info]  [ServerDropdownView] init
[2023-10-08 21:17:50.445] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-08 21:17:50.446] [warn]  [i18nManager] Failed to set new language DE
[2023-10-09 09:43:35.520] [error] Logger Log level set to: info
[2023-10-09 09:43:35.673] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-09 09:43:35.870] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-09 09:43:36.008] [info]  [ServerDropdownView] init
[2023-10-09 09:43:36.024] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-09 09:43:36.024] [warn]  [i18nManager] Failed to set new language DE
[2023-10-10 09:10:02.058] [error] Logger Log level set to: info
[2023-10-10 09:10:02.204] [warn]  [App.Initialize] Current working directory is /, changing into /Applications/Mattermost.app/Contents/MacOS
[2023-10-10 09:10:02.386] [info]  [App.Initialize] Autoupgrade disabled: false
[2023-10-10 09:10:02.522] [info]  [ServerDropdownView] init
[2023-10-10 09:10:02.538] [warn]  [i18nManager] Failed to set new language en-GB
[2023-10-10 09:10:02.538] [warn]  [i18nManager] Failed to set new language DE

Additional Information
I think the same problem has been reported in #1122 but was closed without a fix. Please fix this since it is super annoying. Thanks and cheers!

@sportfloh As per this comment: https://github.com/mattermost/desktop/issues/1122#issuecomment-990215989, this is likely an Electron/macOS issue.
I'll have another look as we've done some changes that might affect this, but it's possible that nothing can be done.

Thanks for looking into this!
I had a look my self and I found this issues in the electron repo:

electron/electron#32261
electron/electron#35810
electron/electron#30589
electron/electron#39355
electron/electron#13041

It seams that is not implemented yet, but there is a open pr.

@sportfloh Just wanted to understand the expectations a bit better, do you expect that when you read a message in the channel that the corresponding notification should go away? Or when you open Mattermost should all notifications go away? Or should they only disappear if you click on the notification itself?

@devinbinnie

... do you expect that when you read a message in the channel that the corresponding notification should go away?

Correct, that's the behaviour I'd like to see.

Or when you open Mattermost should all notifications go away?

No.

Or should they only disappear if you click on the notification itself?

A click an a notification should, open MatterMost (if it is not already open), take me to the corresponding message and clear the notification for that message.
Thanks!

... do you expect that when you read a message in the channel that the corresponding notification should go away?

Correct, that's the behaviour I'd like to see.

Thanks for the feedback, unfortunately this isn't actually something we can do accurately right now. It is possible for a user to interact with a mention on the web app side of things without ever interacting with the notification, and there is currently no mechanism for the web app to tell the Desktop App that the mention has been cleared.

Or should they only disappear if you click on the notification itself?

A click an a notification should, open MatterMost (if it is not already open), take me to the corresponding message and clear the notification for that message.

This however, is something we should be able to do provided that macOS and Electron allow this to work. I'll follow-up on this.

@sportfloh Looks like the latter issue has been solved in this PR, but unfortunately there's nothing we can do about other notifications at this time.
We'll look into as a future change once we're able to support this. One thing that would need to change would be the Desktop App/Web App API. I'll make a note to look into this.
Closing this bug as completed.


Manage certain wallets only supporting certain networks

We don't want to expose things that are just not going to work so it would be nice if we came up with a way to know which networks a wallet can support.

It looks like there might be a standard for this from wallet connect v2 or an EIP like chains: ["chainid"]


Allow an account to specify multiple account controllers

Extension contracts must be approved as account controllers for them to work

User shoul not be able to revoke an account controller if it is locked to that address (ie being used by that extension contract)


Add a SourceType model for dynamic provider types

Rather than have a string column for the source type and a pre-defined list of known types, add a table so that source types can be added dynamically along with the json schema for the create/update forms.  Then we can seed the builtin source types like openshift/aws/etc...

Is a single json schema is enough to handle everything we need for a provider screen?  Thinking possible endpoints, authentications types, etc...

Where would we gather the seed data from?

@bdunne I was thinking db/seeds.rb in the core repo

Is it worth storing them in the database if they're also on the filesystem?

@bdunne it's not so easy to join across the filesystem :trollface:
But in all seriousness what would the alternative be? Especially if this is something we expect to be created dynamically in the future?


error handling

reject promise if we get an error object back from any request

done on main and published


Fix TIMESTAMP / DATE scalars, add support for DATE column casting

This is a continuation of #298 that also aims to implement CAST(... AS DATE) properly, as up until now that would work identically to CAST(... AS TIMESTAMP):

Casts DATE / TIMESTAMP scalars to np.datetime64 instead of datetime.datetime for compatibility with Pandas; for whatever reason datetime.datetimes work in cuDF, which should probably be documented somewhere
Casts DATE scalars to np.dtype("datetime64[D]") and TIMESTAMP scalars to np.dtype("datetime64[ns]"), so that DATE filters work as expected
Adds special support for CAST (... AS DATE) using the datetime column's dt.date attribute; this currently doesn't work in dask-cuDF as it is dependent on the datetime accessor of cuDF, which doesn't have a date attribute

In general, this is a hacky workaround for truncating timestamps that is required because both Pandas and cuDF don't allow truncation through astype("datetime64[D]"); in Pandas this only applies for timezoned datetimes, and in cuDF this applies for all datetimes

Closes #296
Closes #298

@charlesbluca is https://github.com/rapidsai/cudf/issues/7880 in the critical path for this PR, or are there relatively straightforward workarounds?

Need to look through the code again to make sure this is accurate, but IIRC another path forward here would be to add support for casting pandas timezoned datetime / cudf datetime columns to datetime64[D] - if that were the case, we would be able to truncate the timestamps to dates with a single astype call and avoid the use of the DatetimeAccessor.

Codecov Report

Merging #343 (9083f8c) into main (b571a60) will increase coverage by 0.00%.
The diff coverage is 100.00%.

@@           Coverage Diff           @@
##             main     #343   +/-   ##
=======================================
  Coverage   95.60%   95.60%
=======================================
  Files          67       67
  Lines        2933     2937    +4
  Branches      547      549    +2
=======================================
+ Hits         2804     2808    +4
  Misses         79       79
  Partials       50       50

Impacted Files
Coverage Δ

dask_sql/mappings.py
100.00% <100.00%> (ø)

dask_sql/physical/rex/core/call.py
99.12% <100.00%> (+<0.01%)
:arrow_up:

Continue to review full report at Codecov.

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

@ChrisJar I've checked and this should resolve #296 - if you get a chance, could you verify?


Scary wording

I've had several customers think that this networking approach is not recommended, based on the statement in the second paragraph:
"This approach requires more planning, and often leads to IP address exhaustion or the need to rebuild clusters in a larger subnet as your application demands grow."
I think this is needlessly off-putting and scary. It's leading my customers towards thinking that Azure-CNI is to be avoided and kubenet is the recommended approach, when in fact it's quite the opposite. I appreciate there's network considerations to be made, however maybe the wording can be toned down a little?

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

ID: 37ba0343-7e43-6e2e-e564-5d3a0f523a75
Version Independent ID: 0ba581a1-3e4a-27b4-c667-4a9b969a3ade
Content: Configure Azure CNI networking in Azure Kubernetes Service (AKS)
Content Source: articles/aks/configure-azure-cni.md
Service: container-service
GitHub Login: @iainfoulds
Microsoft Alias: iainfou

@benc-uk Thanks for your feedback. We are checking on this and will respond to you soon.

@benc-uk Thanks for your feedback.
We have seen some customers creating a /24 subnet and deploying the AKS cluster there.
with 3 nodes itself that subnet will be exhausted.
Regarding the tone, i let the content author decide on it.
@iainfoulds Please provide your comments

@benc-uk Thanks for the feedback.
The wording is based on input from the product team and support team. The inverse can be that there are customers not adequately understanding the needs and causing longer-term problems based on the subnet size they specify. This leads to confusion and frustration are there aren't many resolutions.
I'll review this with the PM team next time we update the doc, but for now the wording will remain
@jakaruna-MSFT #please-close

I know this is closed, but I'm commenting in the hope that someone still sees this.  I am one of those customers who read the scary wording, went ahead anyway for the benefits of deeper azure integration, and deployed on a /24 subnet.  Please modify the description to warn specifically that a /24 subnet is too small and provide a recommendation on how to determine a proper size of subnet for the intended cluster application.  This will serve the purpose of guiding people to think ahead without scaring people off entirely.  I would certainly have benefited from the clearer guideline I am suggesting.


Can I Set Root Path?

Hi, my webhosting was link ftp with / instead of public_html/ , anyways can change the path to /public_html/"something" ?
#the webhosting I using was 000webhosting

Hey! Extend the config file as the doc says..
<script type="text/javascript">
angular.module('FileManagerApp').config(['fileManagerConfigProvider', function (config) {
  var defaults = config.$get();
  config.set({
   basePath: '/my/custom/path'
  });
}]);
</script>


updated README and added reactify to package.json so watch-js wouldnt…

… fail

Thanks! This was a careless mistake from my part  :)

glad I could help!