Fix Start ssh-agent post start event

What does this PR do?
Fix a bug when the ssh agent post start event command is present only in the first component of the workspace pod yaml.
What issues does this PR fix or reference?
https://issues.redhat.com/browse/CRW-6614
Is it tested? How?

Start a workspace with more than one component e.g:

schemaVersion: 2.3.0
metadata:
  name: test local
components:
  - name: component-1
    container:
      image: quay.io/devfile/universal-developer-image:ubi8-latest
  - name: component-2
    container:
      image: quay.io/devfile/universal-developer-image:ubi8-latest

See: the ssh agent post start event command is present in both components of the workspace pod yaml:

spec:
  containers:
    - lifecycle:
        postStart:
          exec:
            command:
              - /bin/sh
              - '-c'
              - |
                {
                nohup /checode/entrypoint-volume.sh > /checode/entrypoint-logs.txt 2>&1 &
                SSH_ENV_PATH=$HOME/ssh-environment \
                && if [ -f /etc/ssh/passphrase ] && command -v ssh-add >/dev/null; \
                then ssh-agent | sed 's/^echo/#echo/' > $SSH_ENV_PATH \
                && chmod 600 $SSH_ENV_PATH && source $SSH_ENV_PATH \
                && ssh-add /etc/ssh/dwo_ssh_key < /etc/ssh/passphrase \
                && if [ -f $HOME/.bashrc ] && [ -w $HOME/.bashrc ]; then echo "source ${SSH_ENV_PATH}" >> $HOME/.bashrc; fi; fi
                } 1>/tmp/poststart-stdout.txt 2>/tmp/poststart-stderr.txt
      name: component-1

PR Checklist

[ ] E2E tests pass (when PR is ready, comment /test v8-devworkspace-operator-e2e, v8-che-happy-path to trigger)

[ ] v8-devworkspace-operator-e2e: DevWorkspace e2e test
[ ] v8-che-happy-path: Happy path for verification integration with Che

Thank you @vinokurig I'm able to clone, commit, and push:

This PR & the bug it addresses made me realize we aren't calling the devfile validation library to validate commands. The devfile API  does not allow for commands with duplicate ids:

id must be unique

Prior to this PR, we had commands with the same id, but targeting different components:
commands:
(...)
- exec:
    commandLine: |-
      SSH_ENV_PATH=$HOME/ssh-environment \
      && if [ -f /etc/ssh/passphrase ] && command -v ssh-add >/dev/null; \
      then ssh-agent | sed 's/^echo/#echo/' > $SSH_ENV_PATH \
      && chmod 600 $SSH_ENV_PATH && source $SSH_ENV_PATH \
      && ssh-add /etc/ssh/dwo_ssh_key < /etc/ssh/passphrase \
      && if [ -f $HOME/.bashrc ] && [ -w $HOME/.bashrc ]; then echo "source ${SSH_ENV_PATH}" >> $HOME/.bashrc; fi; fi
    component: tools
  id: init-ssh-agent
- exec:
    commandLine: |-
      SSH_ENV_PATH=$HOME/ssh-environment \
      && if [ -f /etc/ssh/passphrase ] && command -v ssh-add >/dev/null; \
      then ssh-agent | sed 's/^echo/#echo/' > $SSH_ENV_PATH \
      && chmod 600 $SSH_ENV_PATH && source $SSH_ENV_PATH \
      && ssh-add /etc/ssh/dwo_ssh_key < /etc/ssh/passphrase \
      && if [ -f $HOME/.bashrc ] && [ -w $HOME/.bashrc ]; then echo "source ${SSH_ENV_PATH}" >> $HOME/.bashrc; fi; fi
    component: second-component
  id: init-ssh-agent
- apply:
    component: init-persistent-home
  id: init-persistent-home


Md-Select needs readonly attribute

It has a disabled attribute, but the issue with that is if you set the form control it is bound with to disabled then the form no longer validates the control, and the form.value object no longer contains the disabled control.  What we really need is to leave the form control enabled, but set the md-select to readonly so that the value cannot be changed by the user, but it is still part of the form.  I could bypass the form all together and set the md-select to disabled from the template, but then there are errors in console about using disabled within a reactive form.

@PTC-JoshuaMatthews I had the same thought a few weeks ago, but why would you re-validate a pre-filled disabled md-select? It's value shouldn't be sent again to the server if it is just a disabled form control field. So I think you don't have to validate it again.

@dahaupt Its not that I want to re-validate it, but the value should be sent to the server again. It is only disabled under certain conditions. On the api side, the value that is sent is used to update the record, but on the client I want to restrict the user form changing the value under some conditions.

@PTC-JoshuaMatthews Ok, I understand your point. So the easiest thing would be to sent the full form, no matter which selects or inputs are disabled. So we need kind of a workaround to get disabled selects or even inputs in the form.value object. I'm not sure if this is not changeable due to the ReactiveFormsModule behind that.

@dahaupt  Also you are correct that technically I re-evaluate the conditions that set the disabled select's value on the client,  on the server, and set the value that I didn't get from the disabled select on the api side. This seems like overkill through when the form should be able to handle this on the client. I think the same argument as to why we have readonly inputs applies to selects as well.

@dahaupt  In respone to your last comment, there is away to get the disabled controls value form the form, you just have to go to it manually though form.controls["control"].value. I don't think it should be the ReactiveFormModule's responsibilty to give us a way to include disabled controls on form.value, I think it is each controls responsibility to provide a readonly state. Again if we did it for md-input, why not md-select?  Well I guess the answer to that is that html select doesn't have  readonly property, but seems to me these properties are not really one-to-one with standard html anyway and they are being used to determine how the form behaves, so I think any form control should have a readonly state that locks the control without disabling it on the form.

@PTC-JoshuaMatthews You should also be able to use the getRawValue() function that ships with the ReactiveFormsModule. It serializes all control values, including those that are disabled. Does that work for your use case?

@PTC-JoshuaMatthews I'm not sure we'd want to do this. md-select is supposed to mirror the native select which doesn't support readonly either.

@crisbeto Using the way @kara described is fine from my point of view, but for new developers, this could get tricky again and again. We don't need a readonly attribute because visually it's the same as disabled, right? We just need an easy way to send a full form object with disabled formControl values.

@kara But maybe I don't want all of the disabled form control values,  I just want this one that really isn't disabled but instead from a behavioral standpoint readonly. It isn't really that big of a deal, as I've stated there is away to get the value for a given control regardless of disabled state, I just thought it would be nice to have a readonly state that prevents the user from editing and still is enabled on the form.
@crisbeto I realized the same thing, but again these attributes are being used by ReactiveFormsModule in different ways so not sure we really need to adhere to the html counterparts.
@dahaupt  I would argue that we do need a readonly attribute (maybe not on the html control itself, but at least of the form control), because even if visually it is the same, functionality wise the form treats it differently. I guess what we really need is a property on the form control to set it to readonly, which would have the same effect on the html element as disabled, but signal the form not to exclude that control from the value.

@PTC-JoshuaMatthews  The more I think about this, the more I think this should be addressed in core forms. There is an existing issue for me to add a readonly state to form controls here: https://github.com/angular/angular/issues/11447
I'm hoping to get to this in the near future. It would inform how custom accessors like md-select would handle readonly state. I'm not sure it makes sense for us to implement this feature in select now when we'd have to re-write it in a few months. I'm going to close this for now, but we should re-open if/when there is better readonly support in core.

@kara  Yup exactly the conclusion I came to as well in the last part of my last comment, needs to be a property of the formControl. Thanks for talking through it with me!

It's not necessary to include the 'readyonly' attribute. Pull the selected option from the data source and display it in matInput, which should meet your requirement.

@IAMRogerXi  Seeings that these are "Reactive" Forms, we shouldn't have to rig up an alternative HTML snippet to show the readonly data while leaving the form control in an enabled state. The idea of how setDisabled() works is already well thought out, you set it on the form control and the UI element reacts to it. There just needs to be a way to cause the same reactive effect to the UI (disabling the element) without removing the value of the form control from form.value as is the case when setDisabled() is called.


Update tutorial to use go.mod instead of dep #51

close: #51

This should not be committing to master. Are these docs still invalid/outdated on develop? If not, they'll be updated once v0.34.0 is released.

This should not be committing to master

Branch develop did not exist in tutorial repository.

Are these docs still invalid/outdated on develop?

Which doc did you mean ?

All your changes in this PR should be targeted against develop. Only develop merges into master.

Ahhh ignore my comments @yangyanqing 👍

Thank you @yangyanqing! I think there are some more updates here, but I need to do a full sweep of this tuto and will take care of it then.


ui: Hide Now option from Custom time range

PR: https://github.com/cockroachdb/cockroach/pull/51047
From release notes:

Removed the Now button for the "From" timepicker in the custom time range on the Metrics page. [#51047][#51047] {% comment %}doc{% endcomment %}

Minor UX update, no docs necessary.


Switch to own TrustArc instance, add Spring newsletter signup to blog…

… sidebar, add newsletter link to footer, and adjust footer legal links/styles

Thanks, this is live!


Hamburger Button style is not working

Hi ,
I have tried to create Hamburger button style program  but is not working as excepted , output is display as "Box char"
sample code
Button BtnHamburger; IInspectable captionText = PropertyValue::CreateString(L""); BtnHamburger.Content(captionText); BtnHamburger.FontFamily(FontFamily(L"Segoe MDL2 Assets"));
Please let me know , how to fix this issue.

You were using xml escaped char, the equivalent one for C++ to get unicode string is \u prefix i.e. \uE700

Thanks @anhoavu , its working fine.


Switch to Treetabular ^3.5

At the moment, this component has a dependency on treetabular 3.4.x, which only supports react 15. The new version of Treetabular support react 16 (latest stable) and should be used instead.
Is there a reason we are requiring "treetabular": "^3.4.0" instead of just "treetabular": "^3.4"?

This should be a simple fix. Please PR. I might fix it too at some point.

PR created #330


feat: add mods to player.last_np

Describe your changes
Adds the mods, which are already being parsed from the /np regex, to the player.last_np object.
Related Issues / Projects
Resolves #478
Checklist

[X] I've manually tested my code
[ ] The changes pass pre-commit checks (make lint)
[X] The changes follow coding style

player.last_np is typed here as well - needs update
https://github.com/osuAkatsuki/bancho.py/blob/3a629386f1e8572b550becbd1f2558b1bbf23f4a/app/objects/player.py#L143-L146

hmm mypy is not running on this pr - maybe cause it's on another repo? not sure

player.last_np is typed here as well - needs update
https://github.com/osuAkatsuki/bancho.py/blob/3a629386f1e8572b550becbd1f2558b1bbf23f4a/app/objects/player.py#L143-L146

oh shit

hmm mypy is not running on this pr - maybe cause it's on another repo? not sure
cc @tsunyoku

just checked, you limited the workflow to the push action which is indeed restricted to pushes on any branch in the main repo.
you can copy the rules from the other workflows - adding a pull_request action should fix it

adding a pull_request action should fix it

nice let me try ty

+1 👍🏻


Check for Updates menu item missing

Not sure if this is intentional on dev builds. Quickly looked through the update contribution code and didn't see anything immediately that would indicate that.
Merge branch :

If you look at the drop, it looks like it shows up there, so it must be a trigger for not having an update url specified. I can take a look where that would be.

Looks like they are using the when condition to do this.
https://github.com/Microsoft/azuredatastudio/blob/ads-master-vscode-2019-12-02T20-33-52/src/vs/workbench/contrib/update/browser/update.ts#L411
I think this is fine since I verified it shows up in drops.


Q: Font(s)

Q: Is it possible to access/use fonts that located on a remote server location with in  a AdativeHostConfig  ie. make use of FontAwesome?

Assuming you using the JS/HTML renderer, yes. You simply have to declare the font in one of the CSS files you load and list it as the first font in the fontFamily property of your HostConfig.


Useage as observables instead of promises

Is your feature request related to a problem? Please describe.
Curious if using the BLEClient methods as observables (converting them with the "from" operator) would work just as effectively as Promises. Asking because when I convert BleClient.getConnectedDevices([]) to an observable with the "from" operator (from(BleClient.getConnectedDevices([])) and pipe the result to the "tap" operator, the "tap" operator doesn't seem to execute if the getConnectedDevices method yields an empty array. That makes me wonder if any other Rxjs operators I pipe the method's results to will get executed correctly.
Describe the solution you'd like
Would like to see support for observables
Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.
Additional context
Add any other context or screenshots about the feature request here.

Even tough I personally really like RxJS, providing an RxJS interface to this plugin is out of scope. The whole Capacitor API is promise based and all official plugins are promise based.
This being said, if you are using RxJS in you app, it should be possible to wrap this plugin in an RxJS layer. There is nothing special about the promise returned by getConnectedDevices.


feat(styleguide): added inclusion guidelines to FAQs

Added inclusion guidelines to FAQs
We had a meeting and discussed what we've seen as the most common questions or point of disagreements. This seems like an ok summary of our consolidated opinions?

🚀 Styleguide deploy preview ready!https://5ea1fede3c49d40176e611e8--codecademy-styleguide.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5ea2ff9d949bf20173c3024b--codecademy-styleguide.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5ea3405fa900617f31c6f0b0--codecademy-styleguide.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5ea67560a4028d7f4a38c782--codecademy-styleguide.netlify.appDeploy Logs

🚀 Styleguide deploy preview ready!https://5ea84c94198bf7798b013a3c--codecademy-styleguide.netlify.appDeploy Logs


Use icon for boolean values

Solve #8.

Works fine in case both cases. I think you forgot to add color to the icons.


Multi-GPU training when #GPU>10

When using multi-GPU training and the number of GPU > 10, I encounter problems of variable sharing. When building 11th tower, I have the following error:
[0623 02:20:52 @multigpu.py:89] Building graph for training tower 10... ... ValueError: Variable XXX/W already exists, disallowed. Did you mean to set reuse=True in VarScope? Originally defined at:
This error won't happen when #GPU <= 10.
I was using SyncMultiGPUTrainer(config).train()

Oh I don't know such machine exists. I'll try to fix.


Add light mode colors

Hi! I was editing the documentation CSS for my own personal use (light text on a dark background nukes my eyes something fierce) so I figured I'd contribute it back to the project to help any other weirdos like myself.
It's using the default CSS color-scheme preference which should pick up the system scheme automatically, although I could also add a button toggle somewhere if necessary.
Here's a comparison:
https://github.com/func-godot/func_godot_docs/assets/138269/a0ba15d1-3d88-4b11-a1fa-86eff4f884fa

Could you also try different link colours for the light mode? Maybe the same blue colour as the Godot icon? The contrast for links is pretty bad for the navbar imo. Apart from that looks visually good to me.
Can you also include examples of what ,  and  blocks end up looking like? You can see these on class reference and in code snippets throughout the docs
A button toggle would also be nice if it's an easy addition

I could also add a button toggle somewhere if necessary.

Yes, this would be necessary. The "dark" mode should be the default as well, as the color scheme is also part of the plugin's "branding" (all of the colors used are Quake palette colors).
I imagine since it's just CSS it should work offline locally with no problems as well?

Alright, I'll switch it around to just use a class and a button. Question: is there any particular reason as to why the docs are using iframes? They're kinda janky for this since they all have their own DOM and it makes cascading CSS and stuff like navigating to parts of the documentation in new tabs a bit cumbersome. Have you considered using a site generator like Hugo to generate the HTML? Would make it easier to write too since you can just use markdown instead of raw html.

See #5 and #6 about this. The short of it is that it shouldn't be a single mega html file, it should still run offline and locally, and ideally it shouldn't require running any more dependencies or extra build steps.


Instructions incorrectly refer to "Work Order Incident Type" which does not exist (and suggests something wrong)

In the "Add multiple functional locations to a single work order" section, the doc repeatedly mentions adding multiple "work order incident types" to the work order, which doesn't exist, mixing the Work Order Incident and the Incident Type.
Making it more difficult to understand, at first glance it suggests that the Incident Type is meant, but that is not directly related to the Work Order.
The correct entity is Work Order Incident, so the text should suggest adding multiple "Work Order Incidents".

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

ID: bcc97024-04c3-fc27-bd6e-208459ed46a1
Version Independent ID: 8cbb490a-17ca-98f8-0b44-9b68ee41adbb
Content: Functional location in Dynamics 365 Field Service
Content Source: ce/field-service/assets-functional-location.md
Service: dynamics-365-customerservice
GitHub Login: @FieldServiceDave
Microsoft Alias: daclar

Thank you for you feedback we will correct this documentation.


App update - separate window

I don't really like the latest update
Expected outcome
Nothing should happen on update. Why did you separate the window in chrome? Its not an application, its a plugin.
Actual outcome
Nothing should happen on update. Why did you separate the window in chrome? Its not an application, its a plugin.
Versions
App: <IP_ADDRESS>-stable
Chrome: 49.0.2623.112
Platform: Windows (7)
Steps to reproduce

Thanks for sharing.
Again, old kind of apps are deprecated and support for them has been removed from the store. Authors needed to upgrade their apps to keep them in store.
New apps can't work in tabs and are intentionally separated from Chrome. You can always file a bug report in Chrome issue tracker about that.
Please, refer to http://restforchrome.blogspot.co.uk/2016/04/advanced-rest-client-is-not-in-tab.html.

@jarrodek The only problem I had with this so far is I lost the ability to search in responses, now I have to copy them  over every time.
Would it be an option to add this as a feature? (sorry if this belongs in seperate issue)

Not sure what you mean @AdriVanHoudt Do you mean ctrl/command + F?

jup, can't do that in the separate window now

If you are using Mac the command is command+s. Anyway this is implemented. Can't you see a search tab when you press ctrl/command+F?

cmd+s highlights Socket tab (I can press space to select it then)
cmd+f does not show a search bar
even in history it does not select the search

OK, I got it. :)
Search bar is only implemented for response view and as for now it will stay this way (at least until anyone send a PR with fixing it :)
Generally it is working as intended. In sockets panel there is no search functionality. Saved/history list have only icon to click in a top bar. For usability it might be using ctrl+f shortcut for initializing the search in this panel.

@AdriVanHoudt  But since it is separated issue and this will be eventually closed win "wont-fix" status can you create new issue referencing this one?

I guess the lack of an option to change the font size change is also a side effect of that? Is there some clever way to get larger fonts in the separate pluging window?

@kszyntar not that I'm aware of. Theming is not yet supported but it might be in a future.


How to add sections in left view controller ?

I would like to group few slide menu items under section.

@tariq235 Check the demo in develop branch. I will finish everything today, just like slack


[pre-sve][TC-DRLK-2.5][TC-DRLK-2.7] Set-week-day-schedule and clear-week-day-schedule command returns NOT_FOUND

Problem
when using set-week-day-schedule or clear-week-day-schedule commands, the return response is NOT_FOUND.
Commands
Commands used:
./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1
./chip-tool doorlock read number-of-total-users-supported 1 1
./chip-tool doorlock set-week-day-schedule 1 1 2  15 45 16 55 1 1      (NOT_FOUND)
./chip-tool doorlock get-week-day-schedule 1 1 1 1
./chip-tool doorlock set-week-day-schedule 0 1 7 15 45 16 55 1 1
./chip-tool doorlock get-week-day-schedule 0 1 1 1
./chip-tool doorlock clear-week-day-schedule 1 1 1 1                           (NOT_FOUND)

expected behavior: response SUCCESS.
actual behavior: returns response NOT_FOUND. get-week-day-schedule missing startHour, endHour, startMinute, endMinute as well as dayMask

Commit
commit id: 1e3f12041013dd71a53d035dbf2f6d142fc06c4e
Platform: EFR32
Network: Thread
TC_DRLK_2.5_.txt
TC_DRLK_2.5_step#7.txt
TC_DRLK_2.5_step#3.txt
Reference
#19622

@mamayorg How exactly is this different from #19622, which is referenced above and seems like exactly the same issue?

@mamayorg & @bzbarsky-apple
I am not reproducing this issue.

Commit used : 81c7f2aacebbe5bb304a62ecdbeaff9220d72c69
Chip-tool : RPI
DUT : Door lock app
Network : IP (ethernet)

Steps I followed for TC-DRLK-2.5 :
Step 1 :  As per pre-condition created new user
./chip-tool doorlock set-user 0 1 xxx 6452 1 0 0 1 1  --timedInteractionTimeoutMs 1000

[1656501301.674438][26350:26355] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_001A Status=0x0

Step 2 :  ./chip-tool doorlock read number-of-week-day-schedules-supported-per-user 1 1

[1656501436.394716][26366:26371] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0014 DataVersion:<PHONE_NUMBER>
[1656501436.394837][26366:26371] CHIP:TOO:   NumberOfWeekDaySchedulesSupportedPerUser: 10

Step 3 : ./chip-tool doorlock read number-of-total-users-supported 1 1

[1656501476.501232][26373:26378] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Attribute 0x0000_0011 DataVersion:<PHONE_NUMBER>
[1656501476.501461][26373:26378] CHIP:TOO:   NumberOfTotalUsersSupported: 10

Step 4 : ./chip-tool doorlock set-week-day-schedule 1 1 2  15 45 16 55 1 1

[1656501520.689931][26381:26386] CHIP:DMG: Received Command Response Status for Endpoint=1 Cluster=0x0000_0101 Command=0x0000_000B Status=0x0

Step 5 : ./chip-tool doorlock get-week-day-schedule 1 1 1 1

[1656501601.516982][26390:26395] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0101 Command=0x0000_000C
[1656501601.517034][26390:26395] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0101 Command 0x0000_000C
[1656501601.517108][26390:26395] CHIP:TOO:   GetWeekDayScheduleResponse: {
[1656501601.517149][26390:26395] CHIP:TOO:     weekDayIndex: 1
[1656501601.517173][26390:26395] CHIP:TOO:     userIndex: 1
[1656501601.517197][26390:26395] CHIP:TOO:     status: 0
[1656501601.517234][26390:26395] CHIP:TOO:     daysMask: 2
[1656501601.517260][26390:26395] CHIP:TOO:     startHour: 15
[1656501601.517360][26390:26395] CHIP:TOO:     startMinute: 45
[1656501601.517426][26390:26395] CHIP:TOO:     endHour: 16
[1656501601.517450][26390:26395] CHIP:TOO:     endMinute: 55
[1656501601.517472][26390:26395] CHIP:TOO:    }

Cert Blocker Review: @Morozov-5F Are you able to take look at this lock issue? Can you confirm this is a distinct issue?

Step 1 : As per pre-condition created new user

Yes, that's the difference: the steps listed in this issue at start do not do that.  And if you don't do that, then the SDK behavior does not follow the spec.

Duplicate of https://github.com/project-chip/connectedhomeip/issues/19622


Add PearsonCorrelationEvaluator

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 100.00%. Comparing base (5dc37cc) to head (9bb7993).
Report is 3 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff            @@
##              main      #514   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files          120       121    +1
  Lines         3311      3340   +29
  Branches       181       181
=========================================
+ Hits          3311      3340   +29

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


Update homepage

[ ] Remove the SVG

[ ] Add a new section called "Get started with the Genetics Portal", similar to the homepage for the Platform. (see https://github.com/opentargets/platform/issues/1448)

FontAwesome icon
Link
Text

download
https://genetics-docs.opentargets.org/data-access/data-download
Download all of our datasets

laptop-code
https://genetics-docs.opentargets.org/data-access/graphql-api
Access data with our GraphQL API

question-circle
https://genetics-docs.opentargets.org/
Check out our Platform documentation

file-alt
https://genetics-docs.opentargets.org/citation
Read our latest Platform publications

comment-dots
https://community.opentargets.org/
Join the Open Targets Community

Ticket removed from v6 release and rescoped for technical release scheduled in January/February 2022

work completed


Integration: Add test case for changing gateway

Use wildcard absent route to remove old gateway and then add new one:
{
    Route.STATE: Route.STATE_ABSENT,
    Route.NEXT_HOP_INTERFACE: 'eth1',
    Route.DESTINATION: '<IP_ADDRESS>/0'
}

Wait PR #408


Forest editor brushes and itemData bugs

There seems to be a bug in the forest editor that appears when you hit after having added a certain amount of items to the forest editor.
After that weird things happen, like it always selects two items from the managedItemData list and when you delete one you also delete the other, in addition to that it adds random items in the brushes file, ok those are not random, but from the other item that gets selected when you select one from the managedItemData and it does not create the one that you selected on double clicking it, but the one that got automatically selected as well, when you select another one.
Here is a video so you can understand whats happening:
http://duion.com/files/temp/bugs/forest_editor_buggared.mp4
I downloaded the 3.10 rc2 version as a blank base, then I added my old levels over it, first copied over that one http://opengameart.org/content/konserian-highlands-set and then copied over that one http://opengameart.org/content/uberpack-1
After that I had my old level packs back in with lots of forest and forest items.
The bug is almost 4 years old now, but I need a solution now, since I don't want to risk running into it again when I will add more trees.

And when I delete a brush the whole engine crashes to desktop instantly.

Looks like something going on with the selection logic for the tree view control, not the forest/item data stuff. I'll see if I can drum up a fix.

Alright, figured out what triggers it to occur.
Go into tools/forestEditor/forestEditorGui.gui and find the ForestEditMeshTree object. find the 'compareToObjectID' field and set it to 0.
This is causing an issue where it tries to do a secondary test on selected items by the associated object id for that item in the tree. However, because the forest item ids are low, it can cause a false positive and match the real selected item index with the forestItemData's object ID. Making it so we don't even bother with that check seems to have prevented the double-selection issue.
Let me know if that fixes the problem for you too and if so I'll get a PR in to fix it.

Great that fixes it.
Some other issues are, that the game always crashes to desktop when I press the "del" key on the keyboard in order to delte an entry in either the meshes or brushes. Using the trashcan symbol in the editor however works. So maybe you are not supposed to use the hotkey, but I cannot imagine that.
Another small issue is on the brushes, when you try to select multiple brushes holding the shift key, it randomly selects som brushes above it as well, similar to the initial bug with the meshes, but only using shift, but I can live with that bug.
But your change fixes the biggest issue, so it can be rolled in.

Looked into these.
For the selection oddity, shift is 'range selection', ie, it selects everything between the two selected items. if you hold ctrl, THAT's your regular multiselect. Maybe those should be flipped around for more consistency with other editing means, but it's not actually broken in this case.
For the deletion, the issue is that if you aren't in select mode, the editor intercepts the delete keybind and crashes because it's not the active tool, so when it goes to create an undo event for the delete, there's a null reference exception.
I can correct that easily enough so delete only actually kicks off when in select mode, but that complicates trying to use delete with the brush/mesh items because if you hit delete and are in select mode, but also have an item in one of the trees selected, which delete command should apply? Should it delete the selected item in the map? Should it delete the brush/mesh tree item?
For now, I'll commit the compareToObjectID and select-tool crash error to fix those issues. You can still delete the brush/mesh items by clicking the garbage icon'd button above the trees.

Fixed with #1942


[PE-D][Tester C] Incorrect labelling of section number in UG

Incorrect labelling of section number

As shown above in the image the Quick Start section is labelled as section number 3, however in the UG it is actually section number 2, shown below.

Labels: type.DocumentationBug severity.Low
original: hongshenggg/ped#1

fixed


Remove internal use packages from dokka

We have identified that some classes intended for internal use within the SDK are being included in the Dokka-generated documents. These classes are located in the following packages:

com.mytiki.tiki_sdk_android.core
com.mytiki.tiki_sdk_android.ui.activities

To ensure that only the appropriate classes are included in the SDK documentation, we need to update the tasks.dokkaHtml.configure action in the module's build.gradle script to exclude these packages from the documentation generation process. This can be achieved by adding the appropriate exclusion rules in the configuration.
Acceptance criteria:

Dokka-generated documents no longer include the classes from the com.mytiki.tiki_sdk_android.core and com.mytiki.tiki_sdk_android.ui.activities packages


[DO NOT MERGE] Change urlopen timeout to seconds instead of milliseconds

It turns out urllib.request.urlopen's timeout is specified in seconds, not milliseconds. ok-client has been assuming it's in milliseconds for a long time now. Oops.

Looks good to me. Lemme know when you wanna merge.


History size overlaps with widget controls

Windows Terminal version
1.15.1863.0
Windows build number
10.0.22000.778
Other Software
No response
Steps to reproduce
Enter a large history size, INT_MAX used for testing
Expected Behavior
No overlapping
Actual Behavior

isn't this it https://github.com/microsoft/microsoft-ui-xaml/issues/5983 ?

Sure looks like it to me, thanks! We haven't had an opportunity to move to WinUI 2.8 yet, but I'm gonna tentatively use this to track upgrading. We also need to do this to fix the crashes associated with #12413 in downlevel OS versions.

Taking this out of 1.16, cause it seems like there's a lot of issues with 2.8 and we don't have the runway to sort them all out. The important bit, the #12413 crash, we're gonna fix with a minor hotfix to 2.7.


bug/snapshots - v0.5.3 show snapshots working with all storage api ve…

Version 0.5.3
Small correction to allow show snapshots to work with all storage api versions

Added the capability to handle snapshot prefixes
Add 'volPrefix: tla' to VolumeSnapshotClass parameters
Example:
apiVersion: snapshot.storage.k8s.io/v1
kind: VolumeSnapshotClass
metadata:
name: seagate-snapshotclass-demo
driver: csi-exos-x.seagate.com
deletionPolicy: Delete
parameters:
csi.storage.k8s.io/snapshotter-secret-name: seagate-enclosure001
csi.storage.k8s.io/snapshotter-secret-namespace: seagate
volPrefix: ga2 # Desired prefix for volume naming, an underscore is appended


WIP: Add purify radioastronomy benchmarks

Working on spack packages in parallel. Keeping it here as draft in case something bad happens
https://github.com/astro-informatics/purify

Getting there. As soon as I have released working versions of sopt and purify this will be ready.

The purify package PR is still open in spack but otherwise this is ready for review. For testing you for now need to use my branch of spack https://github.com/tkoskela/spack/tree/tk/purify

purify and dependencies are merged into spack, this should work with develop branch of spack now


Can't run tests locally

I get a failure runnnig bundle exec rake test
I'm guessing my copy of npm may be too old or something, but my node-foo is weak.
npm ERR! Couldn't read dependencies.
npm ERR! Error: No 'name' field found in package.json
npm ERR!     at /usr/share/npm/lib/utils/read-json.js:253:13
npm ERR!     at /usr/share/npm/lib/utils/read-json.js:166:33
npm ERR!     at P (/usr/share/npm/lib/utils/read-json.js:142:41)
npm ERR!     at /usr/share/npm/lib/utils/read-json.js:108:7
npm ERR!     at [object Object].<anonymous> (fs.js:115:5)
npm ERR!     at [object Object].emit (events.js:64:17)
npm ERR!     at afterRead (fs.js:1117:12)
npm ERR!     at Object.wrapper [as oncomplete] (fs.js:254:17)
npm ERR! You may report this log at:
npm ERR!     <http://bugs.debian.org/npm>
npm ERR! or use
npm ERR!     reportbug --attach /home/lars/src/linguist/npm-debug.log npm
npm ERR!
npm ERR! System Linux 3.2.0-70-generic
npm ERR! command "node" "/usr/bin/npm" "install"
npm ERR! cwd /home/lars/src/linguist
npm ERR! node -v v0.6.12
npm ERR! npm -v 1.1.4
npm ERR! message No 'name' field found in package.json
npm ERR!
npm ERR! Additional logging details can be found in:
npm ERR!     /home/lars/src/linguist/npm-debug.log
npm not ok

Contents of npm-debug.log:
info it worked if it ends with ok
verbose cli [ 'node', '/usr/bin/npm', 'install' ]
info using<EMAIL_ADDRESS>info using<EMAIL_ADDRESS>verbose config file /home/lars/.npmrc
verbose config file /usr/etc/npmrc
verbose config file /usr/share/npm/npmrc
ERR! Couldn't read dependencies.
ERR! Error: No 'name' field found in package.json
ERR!     at /usr/share/npm/lib/utils/read-json.js:253:13
ERR!     at /usr/share/npm/lib/utils/read-json.js:166:33
ERR!     at P (/usr/share/npm/lib/utils/read-json.js:142:41)
ERR!     at /usr/share/npm/lib/utils/read-json.js:108:7
ERR!     at [object Object].<anonymous> (fs.js:115:5)
ERR!     at [object Object].emit (events.js:64:17)
ERR!     at afterRead (fs.js:1117:12)
ERR!     at Object.wrapper [as oncomplete] (fs.js:254:17)
ERR! You may report this log at:
ERR!     <http://bugs.debian.org/npm>
ERR! or use
ERR!     reportbug --attach /home/lars/src/linguist/npm-debug.log npm
ERR!
ERR! System Linux 3.2.0-70-generic
ERR! command "node" "/usr/bin/npm" "install"
ERR! cwd /home/lars/src/linguist
ERR! node -v v0.6.12
ERR! npm -v 1.1.4
ERR! message No 'name' field found in package.json
verbose exit [ 1, true ]

cc @aroben

I just did a fresh clone, bootstrap, and test run, and it all worked fine, so there probably is some difference in our environments causing the problem.
Does the problem go away if you add a name field to package.json?

I had the same issue some time ago on a fresh clone. I'll try to reproduce.

Does the problem go away if you add a name field to package.json?

From what I remember, there was a new error after adding a name field.

Right, I added name.  Then version was requected, so I added that too.  (These two seem required, by the way.)
Now I get
npm http GET https://registry.npmjs.org/season
npm ERR! Error: failed to fetch from registry: season
This is in the log file:
silly cache add: name, spec, args [ undefined<EMAIL_ADDRESS>[<EMAIL_ADDRESS>, null ] ]
verbose parsed url { pathname: 'season@~', path: 'season@~', href: 'season@~' }
silly cache add: name, spec, args [ 'season', '~>5.0', [ 'season', '~>5.0' ] ]
verbose parsed url { pathname: '~', path: '~', href: '~' }

My guess is that your npm is too old to handle the ~>5.0 version specifier we're using. Interestingly, that syntax isn't mentioned on https://docs.npmjs.com/files/package.json#dependencies so maybe we should change it to something like >=5.0 <6.0.

My guess is that your npm is too old to handle the ~>5.0 version specifier we're using.

That's probably the reason: the issue is happening for me with npm 1.1.4... I'll try to update.

Fresh clone + npm 2.5.1:
 # Running:

 ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................E.EEE...E..........This method will be deprecated in a future 5.x release. Every language now has an `ace_mode` set.
 This method will be deprecated in a future 5.x release. Every language now has an `ace_mode` set.
 ..................................................................................

 Finished in 38.632538s, 21.3033 runs/s, 258.9527 assertions/s.

   1) Error:
 TestRepository#test_linguist_override_documentation?:
 Rugged::OdbError: Object not found - failed to find pack entry (d4c8fb8a28e91f97a7e53428a365c0abbac36d3d)
     /home/lars/src/linguist/lib/linguist/repository.rb:125:in `lookup'
     /home/lars/src/linguist/lib/linguist/repository.rb:125:in `current_tree'
     /home/lars/src/linguist/lib/linguist/repository.rb:120:in `read_index'
     /home/lars/src/linguist/test/test_repository.rb:105:in `test_linguist_override_documentation?'

   2) Error:
 TestRepository#test_repo_git_attributes:
 Rugged::OdbError: Object not found - failed to find pack entry (351c1cc8fd57340839bdb400d7812332af80e9bd)

   3) Error:
 TestRepository#test_linguist_override_vendored?:
 Rugged::OdbError: Object not found - failed to find pack entry (351c1cc8fd57340839bdb400d7812332af80e9bd)

   4) Error:
 TestRepository#test_linguist_override_unvendored?:
 Rugged::OdbError: Object not found - failed to find pack entry (351c1cc8fd57340839bdb400d7812332af80e9bd)

   5) Error:
 TestRepository#test_commit_with_git_attributes_data:
 Rugged::OdbError: Object not found - failed to find pack entry (7ee006cbcb2d7261f9e648510a684ee9ac64126b)

@larsbrinkhoff I had this issue a few times - If I remember correctly, you need to install rugged (gem install rugged).

Thanks!  I tried that; still same errors.

Old clone + node v0.12.0 + npm 2.5.1: success!
Apparently something in my old Linguist clone worked better than the new clone.  So my immediate problem seems to be solved.  But it's still a bit of a mystery what I would need to do to get this working again.

I managed to reproduce the last error on a new clone.
It disappeared when I did:
$ git remote add upstream https://github.com/github/linguist
$ git fetch upstream

Confirmed!  That fixes the errors.  Thanks!

Though I wonder why.

@larsbrinkhoff It's because the commits used in test_repository.rb are on the test/attributes branch.

@larsbrinkhoff It's because the commits used in test_repository.rb are on the test/attributes branch.

Oh yeah. Sorry about that weirdness...

Ok, cool!


Enable C++ implementations of deep-learning toolkits by default

Merging now to unblock testing, since the affected tests are all marked as skipped or xfail anyway


npm install fails on gyp-build of contextify

Upon doing
npm install --save event-drops

I get the error
2757 error argv "/home/rtm/.nvm/versions/node/v7.2.1/bin/node" "/home/rtm/.nvm/versions/node/v7.2.1/bin/npm" "install" "--save" "event-drops"
2758 error node v7.2.1
2759 error npm  v3.10.10
2760 error code ELIFECYCLE
2761 error<EMAIL_ADDRESS>install: `node-gyp rebuild`

A bit of research reveals that contextify is obsolete<EMAIL_ADDRESS>is being brought in by<EMAIL_ADDRESS>which is being brought in by<EMAIL_ADDRESS>which is being brought in by event-drops. Evidently there is a newer version of jsdom without the contextify dependency:
$ npm install --save event-drops --dry-run
<EMAIL_ADDRESS>/home/rtm/repos/nims/console
+--<EMAIL_ADDRESS>| `--<EMAIL_ADDRESS>|   `--<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     | `--<EMAIL_ADDRESS>|     +--<EMAIL_ADDRESS>|     | `--<EMAIL_ADDRESS>|     `--<EMAIL_ADDRESS>
I'm confused by this because package.json in the event-drops repo lists the d3 dependency as<EMAIL_ADDRESS>

Same here.

@rtm: which version are you using? In last version, we indeed need the D3 4 version.
@fzaninotto, if you still have the use case, I would like to test it on your machine.

Closing as no more feedbacks. Feel free to re-open the issue if you still encounter it. :)


Spaceship is unable to add_external_tester!

New Issue Checklist

[x] Updated fastlane to the latest version
[x] I have read the Contribution Guidelines

Issue Description
Spaceship::Tunes.login(userName, userPassword)
After successfully logging in with spaceship, we find the app we want to work with
app = Spaceship::Tunes::Application.find("com.company.appname")
Invite an external tester to the build and this method fails with the message below.
app.add_external_tester!(email<EMAIL_ADDRESS>first_name: "FirstName", last_name: "LlastName")
Complete output when running fastlane, including the stack trace and command used
[11:46:01]<EMAIL_ADDRESS>{"data"=>nil, "messages"=>{"warn"=>nil, "error"=>["Forbidden"], "info"=>nil}, "statusCode"=>"ERROR"}

[!] Some operations failed<EMAIL_ADDRESS>
Configuration Files
Please copy the complete content of your Fastfile and any other configuration files you use below:
Fastfile:
# not using a Fastfile, this is happening in Spaceship using the code above

Environment
fastlane version (run fastlane -v):
fastlane 1.81.0
Do you use bundler to execute fastlane (i.e. bundle exec fastlane)?
no
Do you use a Ruby environment manager (e.g. chruby, rbenv, rvm)?
no, I'm using #!/usr/bin/ruby

What's the role of the user you're logging in with?

The user's role is Technical

What happens if you login as an Admin?

I will check and post back here.

Thanks @chappejw! We look forward to hearing back  👍

Ok, I am confirming that using the account with App Manager role the Pilot tool and Spaceship ( which I believe is used by Pilot ) are able to invite external testers. Admin role also works.

Glad to hear you're up and running.


Add build instructions for MacPorts users.

MacPorts ships a port for vte-2.90 (for backwards compat); with these instructions, current master builds and runs without issue.
(I tested gtk3 w/ native UI via the +quartz variant, but I assume X11 should work just fine too)

Thanks very much.


fix: update VSI extension DA to claim fscloud 1.7.0

Description

Release required?

[ ] No release
[ ] Patch release (x.x.X)
[ ] Minor release (x.X.x)
[ ] Major release (X.x.x)

Release notes content

Run the pipeline
If the CI pipeline doesn't run when you create the PR, the PR requires a user with GitHub collaborators access to run the pipeline.
Run the CI pipeline when the PR is ready for review and you expect tests to pass. Add a comment to the PR with the following text:
/run pipeline

Checklist for reviewers

[ ] If relevant, a test for the change is included or updated with this PR.
[ ] If relevant, documentation for the change is included or updated with this PR.

For mergers

Use a conventional commit message to set the release level. Follow the guidelines.
Include information that users need to know about the PR in the commit message. The commit message becomes part of the GitHub release notes.
Use the Squash and merge option.

/run pipeline

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

GitHub release
v6.4.3

Your semantic-release bot :package::rocket:


interface: add additional apply strategy

Description of your changes
Per requests from the customer side, this PR adds a new apply strategy. It also clarifies the differences between strategies in the comments.
I have:

[x] Run make reviewable to ensure this PR is ready for review.

How has this code been tested
N/A
Special notes for your reviewer

Made edits per earlier discussions, PTAL.


Missing variables documentation

Prompt
The following list describes variables used by the flow but not documented. These variables could be potentially used by a user but I am still not confident whether this is the case for all of them. I need to review them again. I am opening this issue to start a discussion about these.

Forgive my using this as a checklist- Donn :)
🚫 = intentionally undocumented/internal variable
✔ = fixed in upcoming PR
🗑 = variable was unused, removed in upcoming PR

CARRY_SELECT_ADDER_MAP
CELLS_LEF_OPT
🚫 DESIGN_DIR
DFF_LIB_SYNTH
✔ DIODE_PADDING
DIODE_CELL
DIODE_CELL_PIN
DRC_EXCLUDE_CELL_LIST_OPT
🚫 ECO_FINISH
🚫 ECO_FIX_FILE
🚫 ECO_ITER
🚫 ECO_SKIP_PIN
🚫 FAKEDIODE_CELL
FP_PDN_ENABLE_GLOBAL_CONNECTIONS
FP_PDN_HSPACING
FP_PDN_LOWER_LAYER
FP_PDN_RAILS_LAYER
FP_PDN_UPPER_LAYER
FP_PDN_VSPACING
FULL_ADDER_MAP
GDS_FILES_OPT
GPIO_PADS_LEF_CORE_SIDE
GPIO_PADS_VERILOG
KLAYOUT_DRC_TECH_SCRIPT
LIB_SYNTH_COMPLETE_NO_PG
LIB_SYNTH_NO_PG
LIB_SYNTH_OPT
LVS_EXTRA_GATE_LEVEL_VERILOG
LVS_EXTRA_STD_CELL_LIBRARY
METAL_LAYER_NAMES
PDN_CFG
PL_RESIZER_TIE_SEPERATION
PL_TARGET_DENSITY_CELLS
QUIT_ON_HOLD_VIOLATIONS
QUIT_ON_SETUP_VIOLATIONS
QUIT_ON_TIMING_VIOLATIONS
RCX_CC_MODEL
RCX_CONTEXT_DEPTH
RCX_CORNER_COUNT
RCX_COUPLING_THRESHOLD
RCX_MAX_RESISTANCE
RIPPLE_CARRY_ADDER_MAP
STA_REPORT_POWER
STD_CELL_GROUND_PINS
STD_CELL_LIBRARY_CDL
STD_CELL_LIBRARY_OPT_CDL
STD_CELL_POWER_PINS
SYNTH_DEFINES
SYNTH_EXPLORE
SYNTH_MUX_MAP
SYNTH_SCRIPT
SYNTH_TOP_LEVEL
TECH_LEF_OPT
TECH_METAL_LAYERS
USE_GPIO_ROUTING_LEF
LAYERS_RC
VIAS_RC

Proposal
Document these variables.

A lot of these are internally used variables that should NOT be documented DESIGN_DIR, ECO_[^E].+, but others are.

Yes. Although DESIGN_DIR can be used in a config.tcl file. But Yes I don't disagree. Let's try and narrow them down to the ones that do need documentation

I already eliminated a lot of variables but it's hard to know them all.

Since it is an undocumented variable, when I took over I've made an assumption that DESIGN_DIR is necessarily the directory where config.tcl is. Too late to change that.

config.json, technically. I want people to stop using config.tcl :)

If you already know some that need to be eliminated from this list other than ECO_*, please mention them

This is handled in a series of PRs https://github.com/The-OpenROAD-Project/OpenLane/pull/1764, https://github.com/The-OpenROAD-Project/OpenLane/pull/1891. It was also revisited in https://github.com/The-OpenROAD-Project/OpenLane/issues/1889


Emtpy hiera files throw puppet 4 warnings

Following from a recent commit, remove the remaining empty yaml files

Thanks!


X-axis scroll for smaller screens on settings page

Hello! This is a fantastic project.
I'm noticing x-axis scrolling on smaller screens on the settings pages due to this :after block in the settings tab menu: https://github.com/sissbruecker/linkding/blob/fa5f78cf71db68c0bef8447b6e6a6176fcbf3465/bookmarks/styles/bookmark-page.scss#L180-L200
I'm not sure what this CSS block does, but if it shouldn't be removed, could we add overflow: hidden to the parent ul?

This might already be resolved with https://github.com/sissbruecker/linkding/commit/ff334e08884e90150718f7107361bd53e3d79b57. I guess you could verify by adding this as custom CSS.


Extract the data frame of errors?

I find that I often require two things from the same assumption-checking code:

Fail the analysis if the assumptions are incorrect,
Separate out two data frames: (1) a dataframe of the rows with faulty assumptions (to remand to data collection) and (2) a data frame that passes the checks (for further data analysis).
Alternatively, get a single data frame with a column that indicates whether they passed the check.

I understand the original intention of engarde is to fail early, and it does provide some tools for (2), but there are two particular pain points:

Getting back to a data frame with and without errors is a little tough. In some cases, that's easy: verify_all returns a dataframe in AssertionError.args[1]. In others, it is less so: none_missingreturns a list of(index, column)tuples, which all have to be passed topandas.DataFrame.loc` separately.
Engarde throws the first errors it encounters, which means that any other checks that might fail will only be discovered when this error is worked around.

Can engarde be used for my use case, or is that too far away from engarde's philosophy?

Interesting... I hadn't considered 1. Do you have any proposed APIs to support splitting the pipeline in two? I'm not quite sure what it would look like...
I did hit pain point 2 when I was using engarde more. Not sure how best to handle it either.

Hm :) Perhaps engarde.decorators.sieve? In my head, it would maybe look like this:
@ed.sieve
@ed.verify_all(rational)
def unload():
    url = "http://vincentarelbundock.github.io/Rdatasets/csv/Ecdat/Train.csv"
    trains = pd.read_csv(url, index_col=0)
    return trains

trains_good, trains_bad = unload()

sieve would have to catch all assertions, extract the indices of the rows that contain the error, and return a tuple of data frames. This might not make sense for all checks, but I think it makes sense for a lot of them?


External EEPROM support

Write and read external EEPROM / Flash to store permanent parameters

Finally item closed with an example in basic:
'library for reading / writing to eeproms
'this library works with a athyc532
'that is a 24C32N with 32 bytes page write mode.
'This eeprom can be found on the cheap RTC / EEprom modules
I2C.SETUP 47,21   'Pins as shown
EE_ADDR = &h50 'I2C address of the eeprom

'write at several address
write_eeprom 0, "Annex32 RDS"
write_eeprom 100, "Stored"
write_eeprom 200, "Into"
write_eeprom 300, "External"
write_eeprom 400, "EEprom"

'and read back from the eeprom
r$ =""
read_eeprom 0, r$
wlog r$
read_eeprom 100, r$
wlog r$
read_eeprom 200, r$
wlog r$
read_eeprom 300, r$
wlog r$
read_eeprom 400, r$
wlog r$
end

'==============================================================
'write an eeprom using pages of 32 bytes, and 5ms of write time
'use a buffer of 32 bytes (this is function of the eeprom)
'==============================================================
sub write_eeprom(address, msg$)
  local k, z, ad, le, bk, ofs, m$
  local buf_size
  buf_size = 32
  m$ = msg$ + chr$(255)
  le = len(m$)
  'write the first block that could not be aligned
  ofs = address mod buf_size
  bk = buf_size - ofs
  i2c.begin EE_ADDR
  ad = address
  i2c.write ad >> 8
  i2c.write ad and 255
  for z=1 to bk
      i2c.write asc(mid$(m$, z, 1))
  next z
  le = le - bk
  i2c.end
  pause 5 ' time for writing
  'write the remaining part of the message
  k = 1
  while le > 0
    i2c.begin EE_ADDR
    ad = k*buf_size + (address and (65536 - buf_size))
    i2c.write ad >> 8
    i2c.write ad and 255
    if (le > buf_size) then bk = buf_size else bk = le
    for z=1 to bk
      i2c.write asc(mid$(m$, z + k*buf_size - ofs, 1))
    next z
    le = le - buf_size
    i2c.end
    'print "writing block "; k
    pause 5 ' time for writing
    k = k + 1
  wend
end sub

'==============================================================
'read from an external eeprom
' consider the eeprom of max 4096 bytes
'==============================================================
sub read_eeprom(address, msg$)
  local k, z, ad, le, bk, c
  msg$=""
  le = 4096 'size max (in bytes) of the eeprom
  i2c.begin EE_ADDR
  i2c.write address >> 8
  i2c.write address and 255
  i2c.end
  for k = 0 to int(le/128)
    if (le > 128) then bk = 128 else bk = le
    i2c.reqfrom EE_ADDR, bk
    for z=1 to bk
      c = i2c.read
      if c <> 255 then
        msg$ = msg$ + chr$(c)
      else 'exit from the loops
        k = 9999
        z = 9999
      end if
    next z
    le = le - 128
  next k
  i2c.end
end sub


How to access enum

For the Spotify desktop app I have this enum
@class SpotifyApplication, SpotifyTrack, SpotifyApplication;

enum SpotifyEPlS {
	SpotifyEPlSStopped = 'kPSS',
	SpotifyEPlSPlaying = 'kPSP',
	SpotifyEPlSPaused = 'kPSp'
};
typedef enum SpotifyEPlS SpotifyEPlS;

I don't know how to access SpotifyEPlS enum given the application
var spotify = Application('Spotify');

Is this a question about node-osa in particular, or just Javascript OSA in general. node-osa just runs Javascript as it would run in the Script Editor - it doesn't make any fancy modifications. If you're having trouble writing code that runs in the Script editor, or translating your Applescript to Javascript, I'm afraid I can't help you.

@brandonhorst uhm not sure actually, maybe both. I noticed that some references in javascript are as function like currentTrack.name(), while name is a property...

So node-osa doesn't do any magic. If you look at the source, all it does is pass the source code of your function to the osascript system utility. This runs the script exactly as the Script Editor would, if JavaScript was selected as the language.
If you find some code that runs in Script Editor, but not in node-osa, then we've found a bug. But unfortunately, I can't help you write your scripts themselves. Sorry!

@brandonhorst thanks for the clarification, but I still have a clue.
The issue to me is osa related of course, maybe you can point me in the right direction. Supposed to have a OSA interface in the Script Editor like let's say current track, this will result in my npm-osa in something like
function myOSAFun() {
  var myApp = Application('myApp')
   console.log( myApp.currentTrack )
}

in
osa(myOSAFun, function (error, state, log) {
     console.log( log );
     if (error) {
       console.log(error)
     }else{
       console.log( JSON.stringify(state,null,2) );
     }
   })

Thus resulting in this logging
function () {
    [native code]
}

so I assume that myApp.currentTrack was a function, but if I try to execute it like myApp.currentTrack() I will get an error like undefined function.
So question, is how can I get the right accessors, given that I can do these in script editor /  osascript command line?
Thank you.

Would it be possible to post a reproducible example using built-in or freely available apps?

@brandonhorst Yes, so this is a node module I was looking to osa-spotify
that makes use of osa, like
play: function(cb) {
        return osaq(function() {
            Application('Spotify').play();
            return {};
        }, cb);
    },

This was using denodified version of osa
var osa  = require('osa');
var osaq = q.denodeify(osa);

Inspired by that one I did then a basic snippet
var osa = require('osa');
  var OSAGetCurrentState = function() {

   var spotify = Application('Spotify');

   var playerState = spotify.playerState;
   var currentTrack = spotify.currentTrack;

   console.log(  currentTrack, playerState);

   var status = {};
   status.track={};
   status.player={};
   status.playlists = {};

   status.player['player_state'] = playerState;

   if( currentTrack ) {
     status.track['track_name'] = currentTrack.name;

   }

  return status;

  }

   osa(OSAGetCurrentState, function (error, state, log) {
     console.log( log );
     if (error) {
       console.log(error)
     }else{
       console.log( JSON.stringify(state,null,2) );
     }
   })

Ok it seems that this is not related to node-osa but to the application itself so some issue in the bridging like:
var app=Application("Spotify");
app.currentTrack.properties()

will return a Error 0: No error.
while with iTunes that works. Strange thing, the dictionary it seems to be well defined and the bridging script header as well. More strange is that it works from command line for some properties like:
$ osascript -e 'tell application "Spotify" to name of current track'
This Is What You Came For
$ osascript -e 'tell application "Spotify" to properties of current track'
30:40: execution error: Spotify got an error: AppleEvent handler failed. (-10000)

while on `iTunes`...

$ osascript -e 'tell application "iTunes" to properties of current track'
class:URL track, id:79559, index:1, name:Won't Get Fooled Again, persistent ID:A39ACD9398278C41, database ID:79555, date added:date mercoledì 1 giugno 2016 16:51:27, time:8:36, duration:516.0, artist:The Who, album artist:, composer:Pete Townshend, album:Who's Next (Deluxe Edition), genre:Rock, track count:9, track number:0, disc count:0, disc number:1, volume adjustment:0, year:1971, comment:, EQ:, kind:, media kind:music, video kind:none, enabled:true, start:0.0, finish:516.0, played count:0, skipped count:0, compilation:false, rating:0, bpm:0, grouping:, bookmarkable:false, bookmark:0.0, shufflable:true, lyrics:, category:, description:, show:, season number:0, episode ID:, episode number:0, unplayed:false, sort name:, sort album:, sort artist:, sort composer:, sort album artist:, sort show:, release date:date venerdì 1 gennaio 1971 13:00:00, loved:false, album loved:false
macbookproloreto:scrobbler admin$

It seems to me a missing mapping somewhere!

Yeah, the JS OSA implementation is a bit wonky. Hopefully Apple will improve it in the future!


Introduce new cifmw_nolog global parameter

Allow to toggle the no_log value for selected tasks (mostly command,
shell and related modules).
Ceph related content are NOT following that parameter for security
reasons.
As a pull request owner and reviewers, I checked that:

[X] Appropriate testing is done and actually running

/approve


Transform input strings into absolute Posix Paths

Ensures that comparisons are performed on the same object type

@consideRatio verbally approved this. My phone is too far away for a joke :P


Bottom OTP's in list get chopped off.

It might be a combination of the fact I'm on a 4k monitor with 150% default zoom and chromes 800x600 popup limit but I find that having a few OTP forces the bottom ones in the list to get chopped off.
I have to add a couple of dummy ones in at the bottom to shunt my real ones at the bottom up so I can see them when I scroll.
Also it would be nice if the zoom level/font size could be chosen I can only fit 3 in the popup without scrolling and I have 9 entries.
Thanks for this addon btw its much better than the others I tried.

@Bigsy it would be great if you can provide snapshot as we don't 4k monitor :(

This has nothing to do with the 4k monitor and everything to do with the zoom. To set your default zoom, go to chrome://settings > Advanced > Web Content.
Here's 100% zoom:

Here's 150% zoom:

Notice how the scrollbar is at the bottom.

Got your problem.
Seems this is an known Chrome issue, most extensions with a fixed popup window might be broken while users zoom +/-.

This issue has fixed in version 4.11, please feedback further.

I have to reopen this issue, and roll back to early version for issue #13...

I have given back zoom determination to the users. Change scale value in Resize Popup Page menu. For your situation(zoom into 150%), please set scale to 67%(1 / 150%).
This feature has been added in version 4.13 which has been available in web store.

Wow, great turn around, thanks very much.


Update Mad Chatter screenshot in readme

It's a screenshot of the old look & feel. We should be displaying the latest and greatest.

done


Feature request: getdents64

It would be nice to be able to list directory contents in an async way as well

While that would be nice to have for applications, it's outside of the scope of io_uring and liburing to provide this kind of functionality. io_uring only deals with the kernel side of things, and liburing is a support library for that. getdentsX isn't a kernel API. The right place for something like this would be in a library utilizing liburing, not in liburing itself.

Ah isn't that a syscall. I saw some discussions around about it being in liburing so I thought made sense to have an issue.

I'll second this request, albeit its lower priority and opens the box for a bunch more directory operations. Perhaps the confusion is that readdir() is not a system call, but getdents64() is. Note normal reads on a directory file descriptor aren't permitted.

+1 #139

If someone writes a test case, I can wire this up. Should literally be a 5 min job.

If someone writes a test case, I can wire this up. Should literally be a 5 min job.

If some C expert can write this, would help out.
Could really use this feature and https://github.com/axboe/liburing/issues/82, having no way to manage directory asynchronous is starting to show in application using liburing backend. Its like hitting a brick wall while running.

@axboe I wrote up a test case for this: https://gist.github.com/dkadashev/d8e4dcef8456d9e2f622b5ba66df0e53. The io_uring part of it is under #if 0, since I had to test with sync call instead. Let me know if it needs some fixes.
Also please let me know if you prefer a pull request. I did not go with that because the support is still not available in the kernel / liburing, so the test would be in the code base, but disabled (not in makefile?) - not sure if you like that idea or not.
I'll also write test cases for #82 - and probably will try to do the rest of the work there (kernel, liburing). Will take me a while probably, since I can't spend much time per day on this.

@dkadashev thank you very much for creating these patches
@axboe has these patches been applied to io_uring and liburing?

I've been following the discussions here a bit: https://www.spinics.net/lists/linux-fsdevel/msg189520.html
It would be helpful to support using the fd's internal offset rather than needing to specify it explicitly every time.  A big benefit of that is it would let me do two successive getdents() in one operation with linked SQEs.  Otherwise you have to do another syscall to check if you've hit the end of the directory, even though normally one buffer is enough.

I agree, both methods should be workable. Just like how we support current file position for reads/writes as well, if you don't give a specific offset.

What more is needed for the patch @dkadashev created to be implemented into Liburing? I would really like to start using this feature.

This is in progress as far as I know, here is the latest version of the patch (not merged yet) to add getdents support to io-uring<EMAIL_ADDRESS>

@dkadashev looking at https://krautbox.wantstofly.org/~buytenh/uringfind-v3.c I am curious, have you tried using io_uring_prep_openat2 with RESOLVE_CACHED enabled? @axboe implemented historic LOOKUP_CACHED into RESOLVE_CACHED to make file-name look up a lot faster! https://lwn.net/Articles/843163/ this might also improve io_uring_prep_getdents

@dkadashev looking at https://krautbox.wantstofly.org/~buytenh/uringfind-v3.c I am curious, have you tried using io_uring_prep_openat2 with RESOLVE_CACHED enabled? @axboe implemented historic LOOKUP_CACHED into RESOLVE_CACHED to make file-name look up a lot faster! https://lwn.net/Articles/843163/ this might also improve io_uring_prep_getdents

I think there is some confusion here, I have nothing to do with the getdents patch, it was submitted by another person (Lennert Buytenhek<EMAIL_ADDRESS>

@dkadashev o I c, my bad.

We have IORING_OP_GETDENTS now.
Link: https://github.com/axboe/liburing/compare/56c7bb43bdac67acd808cd88a507c78ac6c56259...eeeaa3ed4ce574fd4ddfa13738e7ca000cc14449
Should we close this or wait until Linux 5.17 becomes stable?

Just for "fun", is there a benchmark of using getdents on a large folder? Say a folder with 500.000 files in it or even more? I'm curious to know how much farter it is to get a folder listing of such a large folder via uring as opposed to regular syscalls and perhaps readdir.
Ignore the fact that folders with 500k entries usually don't exist. I used that number in the past to benchmark listing performance of Dolphin (KDE's file browser) and to find bottlenecks that only begin to show up when you use insanely large folders.
I would've tried this myself if i had a kernel with getdents in uring. But i'm not adventurous enough to rebuild the kernel with this patched in.

What exactly is happening with this io_uring_prep_getdents? Looks like it was added than removed! Is this going to be in Linux 5.18?

It was never in a release. There were various concerns on the API, so it was dropped for now.

@axboe: Do you happen to have links to the discussions? Are there fundamental concerns, or are we just hung up on nitpicky details?
It'd be really nice to have this. The ability to potentially navigate an entire filesystem using only io_uring seems powerful and IMHO understated.

It would be better to help improve the code then to say its a bug.

Closing this one again, don't see us adding this anytime soon. If someone wants to drive this issue, do feel free to take it over and do that. But the core team isn't going to do so.

@axboe would it be possible to only add something like:
static inline void io_uring_prep_getdents(struct io_uring_sqe *sqe, int fd, void *buf, unsigned int count)
{
    io_uring_prep_rw(IORING_OP_GETDENTS, sqe, fd, buf, count);
}

This way getdents64 can be called through io_uring in async.
Forget about the whole offset issues and trying to include full directory implementation. Developers can write their own thing.


WRR-1852: Fixed ScrollbarTrack direction indicators on focus

Checklist

[x] I have read and understand the contribution guide
[ ] A CHANGELOG entry is included
[ ] At least one test case is included for this feature or bug fix
[x] Documentation was added or is not needed
[ ] This is an API breaking change

Issue Resolved / Feature Added
Fixed ScrollbarTrack indicators on focus
Resolution
Additional Considerations
Links
WRR-1852
Comments
Enact-DCO-1.0-Signed-off-by: Ion Andrusciac<EMAIL_ADDRESS>

Closing this in favor of #1693.


do not create empty folders

the name is self explanatory i guess .
Assign me if you feel it's needed.

I would assign this to you in case someone else does not want to do this @skcy2001
Thanks for opening this though :)

@skcy2001 can you work on this?

Ok , I will. Sorry I was outstation.

Hey, I want to solve this issue. I'm a newbie. Can I work on this?

Hey, I want to solve this issue. I'm a newbie. Can I work on this?

Sure @aditisingh2412 , let me know in the telegram group if you need any help

Sure @aditisingh2412 , let me know in the telegram group if you need any help


Candle Stick not filled make the stick and the gridline show within the candle

See the picture below:

The stick line is seen within the candle, because it isn't being filled. There should be a way to configure only the border of the candle and still have the body solid.
One way to fix this would be to have stick border color / body color properties, so we could set a solid body color independently of the border color.

By the way, this could be fixed with a custom renderer as well, but the private properties on CandleStickChartRenderer makes a bit hard to extend it -- maybe making this renderer a bit easier to be extended is also a good idea.

That has been fixed a week or two ago :-)


Parsing JSON results with either/or object?

I've got a json result like this:
"users": [
    {
      "recordId": 1,
      "URL": "www.url1.com",
      "title": "URL 1",
    },
	{
      "recordId": 2,
      "URL": "www.url1.com",
      "link_title": "URL 1",
    }
  ]

I'm trying to extract title if it exists but link_title if title isn't present.  Here's what I've tried and can't seem to make it work:
"extract": {
    "title": {
      "path": "{% if 'users.title' != nil %}{{'users.title'}} {% elsif users.link_title' %}{{'users.link_title'}}{% endif %}"
    },
    "url": {
      "path": "users[:2].URL"
    }

You can't put Liquid in the JSONPath field.
Extract both and use an Event Formatting Agent to apply your selection logic.

You can't put Liquid in the JSONPath field.

Are you sure about that? I can use prepend in the field and it outputs correctly?

What agent are you using? Website Agent with url and type: json? Or something else?
Well, I guess you can use Liquid after all, but not in the way you want. Liquid code is interpolated when the agent runs, the only data it has at that point is data from an incoming event if it exists at all.
You're using Liquid to form a string to then use as the path but you're trying to create an extraction string with data you haven't extracted yet. All the references will return nothing.
So you could do {{ 'users' | append: '.title' }}, and it will extract json at path users.title. And you could do {{ users.title }} and it will return  .
As a side note, everything you put between ' ' is taken as a literal string so if 'users.title' != nil will always be true.

Thanks!  It's a PostAgent.  I am grabbing the data as JSON via a website agent.  I have it working now by piping that into a javascript agent to process the if/then statement and then into a de-duplication agent.
Which leads me to my next question.  My understanding is that within the WebsiteAgent if 'mode' is set to 'on_change' -- it should only be emitting events if there are new JSON entries, yet every time I run the agent it creates events for the entire response?  Is the de-duplication necessary?

Wait, you're getting the data from a website/API using the Post Agent and then send the events to a Website Agent (with option data_from_event I take it?)
Gotta say, I have no idea what you're trying to/doing at this point…

Hah!  You've got it backwards.  WebsiteAgent->JavascriptAgent->De-Dupe->PostAgent
The scenario is pulling my saved posts from reddit and posting them to raindrop.io


Investigate Stable vs Latest Gallery

This will let us incorporate new Viz functionality sooner, without having to wait for the next release.

There is already an experimental branch of the gallery but it is 260+ commits behind so clearly this is an infrastructure headache. The better solution around the double failure of these two repositories is to decouple them and treat viz as any other upstream dependency.


[2.x] Fixed BlockTitle max-width not working in fieldset by using CSS

Description
The max-width was always 0px for Blocks inside of a fieldset until a window.resize triggered.
This PR removes the max-width calculation with JS and uses CSS-Only now.
Related Issues
https://github.com/area17/twill/pull/1843

Cherry-picked into https://github.com/area17/twill/pull/2013 as well for 3.x


[eas-cli][eas-update] Add rollback disambiguation command

Why
As requested by @jonsamp:

i would love (love!) if this command were the same command as rollback/revert/republish, such that you could “go back” to any state that your app has been in.
the naming is hard because taking the embedded update and making it active again is not the same as re publishing an actual update.
but thinking as a developer (introspecting), i don’t think id care that much. i think id care a lot more that i knew a command that worked in all situations rather than using republish all the time then having it not work when trying to re-publish an embedded update, only to then be confused and thinking “what, why can’t I??”
TLDR:

i would love one command to rule them all
if we need two commands, then we need a message when trying the wrong commands with the wrong updates, saying to use the correct command (but even typing this out it seems needlessly unpleasant)

And after consulting with people in the CLI sync meeting, we decided that it didn't make sense to try to combine the commands since they contain different sets of flags. But, we decided that there could be the best of both worlds:

Keep eas update:republish and eas update:roll-back-to-embedded commands for power users and for non-interactive/json output.
Add eas update:rollback command for an interactive disambiguation command that routes to one of the other two based on a prompt.

Closes ENG-9420.
How
Add disambiguation command, ability for republish command to be fully interactive (not need to provide any flags).
Test Plan
$ neas update:rollback --private-key-path keys/private-key.pem
✔ Which type of update would you like to roll back to? › Embedded Update
✔ Which branch would you like to use? › main - current update: "Republish "Initial commit

Generated by create-expo-app 2.0.3." - group: bd8a520c-7299-4e57-9268-350294064474" (1 week ago by wschurman)
✔ Provide an update message: … rb
✔ Channel: main pointed at branch: main
🔒 Signing roll back
✔ Published!

Branch             main
Runtime version    1.0.0
Platform           android, ios
Update group ID    c59d7422-0064-4fee-b14e-259517a223f0
Android update ID  123e05e7-9e84-4c85-ae96-cfff5c7aeb48
iOS update ID      2f4b5d7e-23e4-4692-8d8c-57f4aab26709
Message            rb
Commit             dc02dab7a9b0f31788b7298fd1fdb6f50176276e*
Website link       https://expo.dev/accounts/wschurman/projects/watwathuh/updates/c59d7422-0064-4fee-b14e-259517a223f0

$ neas update:rollback --private-key-path keys/private-key.pem
✔ Which type of update would you like to roll back to? › Published Update
✔ Find update by branch or channel? › Branch
✔ Select branch from which to choose update › main
✔ Load more update groups? › [Aug 03 15:49 by wschurman, runtimeVersion: 1.0.0] Republish "Initial commit

Generated by create-expo-app 2.0.3." - group: bd8a520c-7299-4e57-9268-350294064474
✔ The republished update group will appear only on: all
✔ Provide an update message. … Republish "Republish "Initial commit

Generated by create-expo-app 2.0.3." - group: bd8a520c-7299-4e57-9268-350294064474" - group: f9dd2abc-edf8-49c3-b770-a1fdcd0aacc4
✔ The republished update group will be signed
🔒 Signing republished update group
✔ Republished update group

Branch             main
Runtime version    1.0.0
Platform           android, ios
Update group ID    2b32e277-8f00-4c4a-92b9-80dcbd721eaf
Android update ID  64c8a3d0-1ada-4403-9002-28cf552060a7
iOS update ID      34e9f064-5498-41cc-a7c7-04413311faa2
Message            Republish "Republish "Initial commit

Generated by create-expo-app 2.0.3." - group: bd8a520c-7299-4e57-9268-350294064474" - group: f9dd2abc-edf8-49c3-b770-a1fdcd0aacc4
Website link       https://expo.dev/accounts/wschurman/projects/watwathuh/updates/2b32e277-8f00-4c4a-92b9-80dcbd721eaf

/changelog-entry new-feature Add rollback disambiguation command

Note that there is an existing bug where updates of type "roll back to embedded" can be republished, though that seems incorrect. Will fix in a separate PR.

Need to hide this for now, until we launch roll-back-to-embedded.


[jade] Incorrect syntax highlighting of comments

Hi,
comments in '//' style only get syntax highlighting, if no empty line is above them.
'' style comments don't work at all.
Best regards,
Josef

Verified, reported again here http://stackoverflow.com/questions/35504612/vs-codes-jade-syntax-highlighting-is-bad

Filed against the Jade grammar as https://github.com/davidrios/jade-tmbundle/issues/74

This got fixed in the meantime.


Feature Request: Copy the tiddler tags to the Anki notes tags

Not sure if this makes sense for other users, but I think to better organize your generated cards in Anki and maybe use Filtered Decks it would be interesting  to copy automatically the tiddler tags into the generated Anki notes tags.
Maybe it shouldn't be a default behavior, but something the user can enable optionally.

This is supported via mapping tiddlers. That page has a full explanation of all the options (you can get much more complicated behavior than this!), but to get the effect you mention, you would set the text of the tiddler $:/config/TiddlyRemember/TagMapping to [tags[]].

This is supported via mapping tiddlers. That page has a full explanation of all the options (you can get much more complicated behavior than this!), but to get the effect you mention, you would set the text of the tiddler $:/config/TiddlyRemember/TagMapping to [tags[]].

I've just tried out this feature. It works very well. Thanks!

I've just tried out this feature. It works very well. Thanks!


GDB Interface

#290

Looks like some tests for PerfSim are broken due to splitted init and run:
CHECK_NOTHROW( PerfSim<MIPS32>( false).run( valid_elf_file, 1) );

I'm not sure how to execute multiple lines in CHECK_NOTHROW.

Looks like some tests for PerfSim are broken due to splitted init and run:
CHECK_NOTHROW( PerfSim<MIPS32>( false).run( valid_elf_file, 1) );

I'm not sure how to execute multiple lines in CHECK_NOTHROW.

Create a named object of PerfSim instead of anonymous one, then call your functions in a separate CHECK brackets

@trexxet The patch becomes quite huge, and it might be nice to stage all the features separately:
[ ] Break instruction for MIPS and RISC-V
[ ] New FuncMemory interfaces
[ ] New Simulator interfaces
[ ] GDB connector
I usually do it in this way:

git remote add upstream https://github.com/mipt-ilab/mipt-mips.git — sets upstream remote to the root repository
git reset upstream/master — removes all commits which do not exist in upstream/master, saving their changes as unstaged changes
git add -p — interactively asks for changes which should be staged for commit. Alternatively, you may stage a single file.
git commit — commit staged changes. Then go to the previous point to stage another changes.

While working on registers r/w, I've faced the following issue.
Besides of 32 GPR registers, GDB may have access to the following ones:
$sr (32) - settings registers
$lo (33) - in current implementation has number 32
$hi (34) - in current implementation has number 33
$bad (35) - would be needed for traps
$cause (36) - for traps (according to this, these are coprocessor registers)
$pc (37)
At this point, I can propose two solutions:

Provide stubs for the missing ones. With $sr stub, $hi and $lo would have numbers matching with GDB ones. $pc may have individual interfaces.
Avoid changing registers and consider individual cases for these registers in interfaces.

I'm OK with 1. Please perform it in a separate pull request.

I'm still working on it

I know.


Bump tasks to consume latest vsts-task-tool-lib

A race condition was fixed in the vsts-task-tool-lib.
I'm planning to leave this issue open until all of the tasks in this repo are updated.

@madhurig and @azureDaveOps regarding ArchiveFilesV2, SshV0, GruntV0, and GulpV1
Everything else is on 0.9 or higher.

@ericsciple - we plan to update SSH tasks in Q2.

For clarity:
ArchiveFilesV2 - @bryanmacfarlane
SshV2 - @madhurig
GruntV0 - @hross
GulpV1 - @hross
I will break this down into 4 individual tickets and assign to owners.

@stephenmichaelf Can this ticket be closed now?

@moswald Looks like we still need to do it for SshV0 and GulpV1.


[PROBLEM] 29. Divide Two Integers

Difficulty
Medium
Problem Description
Given two integers dividend and divisor, divide two integers without using multiplication, division, and mod operator.
The integer division should truncate toward zero, which means losing its fractional part. For example, 8.345 would be truncated to 8, and -2.7335 would be truncated to -2.
Return the quotient after dividing dividend by divisor.
Note: Assume we are dealing with an environment that could only store integers within the 32-bit signed integer range: [−231, 231 − 1]. For this problem, if the quotient is strictly greater than 231 - 1, then return 231 - 1, and if the quotient is strictly less than -231, then return -231.
Example 1:
Input: dividend = 10, divisor = 3
Output: 3
Explanation: 10/3 = 3.33333.. which is truncated to 3.

Example 2:
Input: dividend = 7, divisor = -3
Output: -2
Explanation: 7/-3 = -2.33333.. which is truncated to -2.

Constraints:

-231 <= dividend, divisor <= 231 - 1
divisor != 0

Link
https://leetcode.com/problems/divide-two-integers/

Hey @godkingjay I would like to work on this issue.

Please, assign me the task.I want to solve it.


QuerySelectorAll gives empty list

Page I want to scrape: https://www.olx.com.pk/items
My code:
var config = AngleSharp.Configuration.Default.WithDefaultLoader();
          var document = await BrowsingContext.New(config).OpenAsync(pageLink);

          var titleSelector = ".fhlkh";
          var titlecells = document.QuerySelectorAll(titleSelector); //no results, empty list
          var titles = titlecells.Select(m => m.GetAttribute("href"));

The QuerySelectorAll() gives empty list
Note: The page to be scraped don't have jquery included.

Are you sure you are reporting to the right repo? You don't even include AngleSharp.Js in your configuration.
Otherwise for the given page I see no problem. The page does not contain any element with the class fhlkh. What it does is that the JS on the page starts a redirect (quite an efficient mechanism, but whatever ...), which leads to a page that contains some items (and elements with the CSS class that you are looking for).
HTH!

sorry for not including the AngleSharp.Js part in question.
here is my code,
var context = BrowsingContext.New(Configuration.Default.WithJs());
                  var document = await context.OpenAsync(req => req.Content(pageLink));
                  var titleSelector = ".fhlkh";
                  var titlecells = document.QuerySelectorAll(titleSelector);
                  var titles = titlecells.Select(m => m.GetAttribute("href"));

on the given page, when i do
document.getElementsByClassName("fhlkh")[0].href  it gives the href link fine. But the above code does not return href links. can you please help?

Unfortunately I cannot. There are several reasons why your code may not work. The top two options are:

Your configuration may be insufficient (you should include a full requester - not only for loading pages, but also resources); e.g., in the sample above you are not including any requester
AngleSharp.Js is using Jint and does not implement many of the JS parts required by modern web apps (the README says its experimental and not production ready)

If you rely on this working I recommend you diving into the code, debugging the issue and coming up with a reason why the particular page is not working. If its a missing API we could solve it in AngleSharp.Js, if its a problem with Jint a PR in their repo may be helpful.
HTH!


[DO NOT MERGE] Support passing a verified One Login user to a TRN request

This change allows passing a verified One Login user ID (subject) in a TRN request.
The way this has to work today is a little convoluted since TRN requests live in DQT but One Login user information lives in TRS. Since we can't write to both systems at the same time reliably, we use the outbox pattern to write a message to CRM in the same transaction at the TRN request. A background process in TRS then polls for outbox messages and processes them, in this case updating either the one_login_users table with the resolved TRN and user ID or writing to the trn_requests_metdata table so that when the GET endpoint is polled and the TRN request is resolved the link between the TRN and One Login user can be made. (That change to the GET endpoint was made in a previous PR.)
Note this cannot be merged until the corresponding CRM change is in production that has the dfeta_TrsOutboxMessage entity.

 Add verified One Login user ID to TRN allocation API


Fix functional tests pipeline

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[bug] When using webxr to place objects (hit test), it's impossible to detect a tap on the placed object.

You can check my project here.
I have tried:

Frame buffer picking
Entity Picking Without Collision, as suggested by @yaustar.

Related forum thread: https://forum.playcanvas.com/t/hit-test-1-finger-to-rotate-2-to-scale/24369.
Maybe I'm the one doing something wrong, but I've been on this for hours and I can't find a solution, so maybe it's a bug. I can't tell. I just want to be able to detect a tap on a placed object using webxr. That's all.

It's possibly related to this https://github.com/playcanvas/engine/issues/3635

Oh no...I'm hoping I'm just doing something wrong and not that there's an actual bug involved here...

It could be both. But I guess I would expect the frame buffer picking to work regardless of this bug I mentioned, as that happens in the screen space, and that does not depend on the camera matrix and similar.

And here I thought I had solved the problem because the template was disabled, so I enabled the template thinking the code to pulsate wasn't activating because the template was disabled. Nope....still not working. Jesus.

Should this be a doc issue for the user manual?

In docs it is mentioned briefly what types of input are covered by input source.
We probably can explicitly mention: in XR session, DOM touch events will not be fired, and input source events should be used instead.

@yaustar

there are no DOM elements so there are no touch events fired from the browser.

I am confused now because I found this video where the guy makes the model rotate in webxr mode using touch input, but it's in threejs. How can I get this to work in PlayCanvas? I also did a lot of research that you can check at my latest reply.

Looks like they are using DOM overlays https://developer.playcanvas.com/en/tutorials/webxr-ar-dom-overlay/

Here's the PlayCanvas XrDomOverlay API: https://developer.playcanvas.com/api/pc.XrDomOverlay.html
@Maksims add this.

Yes, you can use regular DOM events (mouse/touch), on DOM elements that are added as XrDomOverlay. This works only for AR of course.


Concurrency Limitations?

https://github.com/spring-cloud/spring-cloud-config/blob/3e1322be369187c7a92cd5c1b200295676c48e4d/spring-cloud-config-server/src/main/java/org/springframework/cloud/config/server/resource/ResourceController.java#L130
Aren't we effectively limited to processing one request at a time by marking the retrieve helper methods as synchronized?

I talked to original developer who wrote this code and the reason this is synchronized is because the underlying git operations are not threadsafe and since calling this method could cause changes to the cloned repo it is synchronized.

Done, thanks!


Can only use one label word mapping?

Hi, Can only use one label word mapping?

Hi,
Yes for now we only support one set of label word mapping. You can also use the ensemble model (see read), which supports multiple sets of templates/label words.


SQHELM-116 install_plugins.sh: fix plugins deletion

The install_plugins.sh script starts by trying to delete previously installed plugins, but this step silently fails in case there are several already installed, because of a shell script mistake (no plugin is deleted in this case). As a result, trying to update a plugin leads to having both the old and new versions present in the extensions/plugins folder, and thus SonarQube not starting.
Fix this by using rm -f * for cleaning up plugins, instead of broken [ -e * ] && rm *.
Please ensure your pull request adheres to the following guidelines:

[x] explain your motives to contribute this change: what problem you are trying to fix, what improvement you are trying to make
[x] Document your Changes in the CHANGELOG.md file of the respected chart as well as the Chart.yaml
[x] Bump the Version number of the respected chart

Push-forced because this PR was now conflicting with recent changelog / chart version.
Also, I now came across SQHELM-116, which I had not found the first time, so edited the PR title to mention it.
@carminevassallo, do you think you could review/merge this fix?  This issue (when several community plugins are installed) can be worked around with an extra init container to do the cleanup, but still, it would be nice not to have to :-)
Thanks.

Hey @thomasgl-orange,
thanks for your contribution! Great job! Thanks also for linking the PR to the previously-raised issue and for spotting the bug, of course :)
This bug actually causes undesired behavior while installing the sonarqube chart only. The sonarqube-dce one is not affected as we don't mount the plugins on a persistent volume. However, as you highlighted in your PR the silent bug is also present in the dce edition's install-plugins.sh script and it makes sense to fix it everywhere.
We do have an issue on our CI for external contributions. To unblock this PR and let it get merged I've just drafted a new PR (including a small edit on the change annotations in the charts). I close this, please follow the update there :)


Force users to enter the "identification" data first when entering a new project

Perhaps we should force users to enter the "identification" data first when entering a new project, and not even show the rest - that would give us a chance to automatically fill in a lot of the rest of the form before showing it to users.

Implemented by commit b06c332b609782f7b857a26b4cd2213bb96b3de5


Row limit hardcoded at 100 000 in the UI

Bug description
It seem that changes in https://github.com/apache/superset/pull/26151 broke the UI. Setting SQL_MAX_ROW above 100 000 and trying to go over this limit results in an error in the UI, saying "value cannot exceed 100 000". Setting SQL_MAX_ROW under 100 000 results in the same error regardless of the changes to SQL_MAX_ROW. Meanwhile, when you view the chart's query from inside a dashboard, the LIMIT changes accordingly based on the SQL_MAX_ROW variable. For example, if the SQL_MAX_ROW limit is 500 000 and your chart was created before migrating to 3.1 with the same limit, the UI will not allow you to edit the chart but the LIMIT in the query itself will be set to 500 000. If you change SQL_MAX_ROW to anything below 500 000, the UI will keep the same error but the LIMIT inside the query will be lowered accordingly.
How to reproduce the bug

Set the SQL_MAX_ROW variable to anything that is different than 100 000.
Create a chart.
Set the limit to something above 100 000.
The UI informs you that the limit is 100 000.
If you have set SQL_MAX_ROW to < 100 000, set 100 000 as the limit in the UI and create the chart.
Add the chart to a dashboard.
View query.
The LIMIT is equal to SQL_MAX_ROW .

Screenshots/recordings
Limits inside the Docker Container:

Error message:

View query LIMIT:

Superset version
3.1.0
Python version
Not applicable
Node version
Not applicable
Browser
Not applicable
Additional context
One workaround until this is fixed is to export the chart and change the row limit inside the YAML, then import the chart. I tried changing the ROW_LIMIT variable as well, but it did not solve the issue.
Checklist

[X] I have searched Superset docs and Slack and didn't find a solution to my problem.
[X] I have searched the GitHub issue tracker and didn't find a similar bug report.
[X] I have checked Superset's logs for errors and if I found a relevant Python stacktrace, I included it here as text in the "additional context" section.

Hello there. my project is last year september october version but i have row limit not working how to fix it. @mistercrunch
@villebro
@michael-s-molina
@betodealmeida
@john-bodley
@rusackas

@mistercrunch
@villebro
@michael-s-molina
@betodealmeida
@john-bodley
@rusackas

@michael-s-molina

@betodealmeida


ERROR: Unable to extract uploader id

I have used youtube-dl for 2 years. It worked very well. Thank you. Unfortunately, since 3 days ago, all Youtube video has given me same error message as follows. My email address is<EMAIL_ADDRESS>Thank you for all your help in advance.
[youtube] RGrs1hX2YPE: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.
Checklist

[ ] I'm reporting a broken site support issue
[x] I've verified that I'm running youtube-dl version 2021.12.17
[ ] I've checked that all provided URLs are alive and playable in a browser
[ ] I've checked that all URLs and arguments with special characters are properly quoted or escaped
[ ] I've searched the bugtracker for similar bug reports including closed ones
[ ] I've read bugs section in FAQ

Verbose log

PASTE VERBOSE LOG HERE

Description

WRITE DESCRIPTION HERE

I have used youtube-dl for 2 years. It worked very well. Thank you. Unfortunately, since 3 days ago, all Youtube video has given me same error message as follows. My email address is<EMAIL_ADDRESS>Thank you for all your help in advance.
[youtube] RGrs1hX2YPE: Downloading webpage
ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type  youtube-dl -U  to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

getting the same error , worked fine a week ago

getting the same error , worked fine a week ago

I have used youtube-dl for 2 years. It worked very well. Thank you. Unfortunately, since 3 days ago, all Youtube video has given me same error message as follows. My email address is XXX. Thank you for all your help in advance.
[youtube] RGrs1hX2YPE: Downloading webpage ERROR: Unable to extract uploader id; please report this issue on https://yt-dl.org/bug . Make sure you are using the latest version; type youtube-dl -U to update. Be sure to call youtube-dl with the --verbose flag and include its complete output.

off-topic
@YoupuZhang you shouldn't leave your e-mail address or you'll get a lot of spam. Crawlers will save your e-mail address and send you spam/scam/phishing/etc.

Possible duplicate : https://github.com/ytdl-org/youtube-dl/issues/31530

Looks like a duplicate of #31530
Changing /usr/lib/python3.11/site-packages/youtube_dl/extractor/youtube.py similar to ytb-dl did fixes it for me locally..

[ ]  I've searched the bugtracker for similar bug reports including closed ones

Why not? #30839


CY2_PSS_DIR_DHD does not exist

Seems to be a minor cleanup thing, but Ver 2 project has Record.CY2_PSS_DIR_DHD in it but doesn't seem to exist after Copy From File?

Hi Kyle,
Thanks for the comments. Did you see my notes in the installation document for this version? Page 7 states this:
When building the tables in the project you may encounter warnings that correspond to the fields you have deleted as part of the upgrade. Those are expected.

In the next version, I will remove the record from the project but I was not sure if people implemented 1.1 (or just version 1) so it was delivered as a "delete" for people who were still on version 1.
Kind regards,
Ernst

RTFM - thanks, Ernst 👍


Tests: Improve coverage for File::get_csv_line()

Adds a few more complex edge cases which are supported.
Also adds some documentation, simplifies the code a bit and forbids using
double quotes as a delimiter.
Note: The tests can't be backported as is to 3.x as the test framework is new in master, but the core and documentation changes can be.

Cherry-picked for 3.4.