Update DG's diagrams

Changes

(UiClassDiagram) Update to make it look bigger
(ModelClassDiagram) Add Score class and multiplicities for Student->ID and Student->Name
(AddGroupSequenceDiagram) Use ref frame to make sequence diagram bigger
(DeveloperGuide) Standardise Student ID to NUSNET ID

Codecov Report

Merging #284 (90c1e14) into master (8c0acbe) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #284   +/-   ##
=========================================
  Coverage     76.11%   76.11%
  Complexity      934      934
=========================================
  Files           105      105
  Lines          2918     2918
  Branches        396      396
=========================================
  Hits           2221     2221
  Misses          590      590
  Partials        107      107

Continue to review full report at Codecov.

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

Will wait for #283 to be merged in first.

@ganhongyao
#283 has been merged. Sorry for the delay!


As a user, I want notifications for new episodes from my followed or recommended podcasts to stay updated on fresh content.

Acceptance Criteria:

Users can conveniently access and modify podcast notification settings.
Notifications are sent only for selected or followed podcasts.
New episode notifications are timely.
Users can customize or turn off notifications as desired.

Demo:

User navigates to notification settings in their profile.
Options are presented to toggle notifications for specific podcasts.
User specifies preferred notification channel (in-app, email, push).
Upon a new episode's release, a notification is sent to the user.

Potential Risks:

Delays or inaccuracies in delivering notifications.
Risk of overwhelming users with excessive notifications.

Usama[frontend]#1: Created hovering modal frontend design for notifications panel
https://github.com/awaazo/awaazo/assets/50121574/5f2f16f8-4440-4225-a80e-a53dac5b8fcc


ImportError: cannot import name 'GEMMA2_ATTENTION_CLASSES' from 'transformers.models.gemma2.modeling_gemma2'

Hi,
I'm just following the tutorial as seen here:
https://milvus.io/docs/embed-with-bgm-m3.md
The error I get is:
ImportError: cannot import name 'GEMMA2_ATTENTION_CLASSES' from 'transformers.models.gemma2.modeling_gemma2' (/venv/lib/python3.11/site-packages/transformers/models/gemma2/modeling_gemma2.py)

Package versions are:
milvus-lite               2.4.10
milvus-model              0.2.11
pymilvus                  2.5.0

sentence-transformers     3.3.1
transformers              4.47.0

Is this a version package issue?

Yes, transformers 4.47 has removed GEMMA2_ATTENTION_CLASSES, which has resulted in a broken dependency for FlagEmbedding. Please use transformers 4.45 (tested). Also, run the code in the __main__ function because FlagEmbedding includes some multi-processing logic recently, and it could cause errors if not run in the main function."


[dataset] New, refresh API endpoint

CATEGORY
Choose one

[ ] Bug Fix
[ ] Enhancement (new features, refinement)
[ ] Refactor
[ ] Add tests
[ ] Build / Development Environment
[ ] Documentation

SUMMARY

BEFORE/AFTER SCREENSHOTS OR ANIMATED GIF

TEST PLAN

ADDITIONAL INFORMATION

[ ] Has associated issue:
[ ] Changes UI
[ ] Requires DB Migration.
[ ] Confirm DB Migration upgrade and downgrade tested.
[ ] Introduces new feature or API
[ ] Removes existing feature or API

REVIEWERS

This was included on #9268


ChipSet componentWillUnmount is called before this.state.foundation is set

this.setState({foundation}) is called async, if mount the component and unmount immediately without the state been updated yet, componentWillUnmount throws the exception
index.js:896 Uncaught TypeError: Cannot read property 'destroy' of null
at ChipSet.componentWillUnmount (index.js:896)
at callComponentWillUnmountWithTimer (react-dom.development.js:16816)
at HTMLUnknownElement.callCallback (react-dom.development.js:147)
at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
at invokeGuardedCallback (react-dom.development.js:250)
at safelyCallComponentWillUnmount (react-dom.development.js:16823)
at commitUnmount (react-dom.development.js:17252)
at unmountHostComponents (react-dom.development.js:17596)
at commitDeletion (react-dom.development.js:17632)
at commitAllHostEffects (react-dom.development.js:18462)
at HTMLUnknownElement.callCallback (react-dom.development.js:147)
at Object.invokeGuardedCallbackDev (react-dom.development.js:196)
at invokeGuardedCallback (react-dom.development.js:250)
at commitRoot (react-dom.development.js:18679)
at completeRoot (react-dom.development.js:20247)
at performWorkOnRoot (react-dom.development.js:20170)
at performWork (react-dom.development.js:20075)
at performSyncWork (react-dom.development.js:20049)
at interactiveUpdates$1 (react-dom.development.js:20337)
at interactiveUpdates (react-dom.development.js:2267)
at dispatchInteractiveEvent (react-dom.development.js:5083)

sounds lke we should have an isMounted_ flag similar to linear progress https://github.com/material-components/material-components-web-react/blob/rc0.10.0/packages/linear-progress/index.tsx#L47.

I have the same problem with the TextField component.

Yes...it looks like this is also an issue there too:
  componentWillUnmount() {
    this.state.foundation!.destroy();
  }

This seems to work:
this.state.foundation && this.state.foundation.destroy()

Ya, would you like to open a PR for that?

Shure

fixed with #870


Controller responds with status 500 if display name of address contains UTF-8

When the to address from the SendGrid parse webhook contains UTF-8 characters in the display name (e.g. "Mé<EMAIL_ADDRESS>an error is raised in the controller action before instantiating a new processor.
Mail::Field::ParseError: Mail::AddressList can not parse |Mé<EMAIL_ADDRESS>Reason was: Only able to parse up to Mé
gems/mail-2.6.5/lib/mail/parsers/address_lists_parser.rb:          15:in `parse'
gems/mail-2.6.5/lib/mail/elements/address_list.rb:                 23:in `initialize'
gems/griddler-sendgrid-1.0.0/lib/griddler/sendgrid/adapter.rb:     27:in `new'
gems/griddler-sendgrid-1.0.0/lib/griddler/sendgrid/adapter.rb:     27:in `recipients'
gems/griddler-sendgrid-1.0.0/lib/griddler/sendgrid/adapter.rb:     15:in `normalize_params'
gems/griddler-sendgrid-1.0.0/lib/griddler/sendgrid/adapter.rb:     10:in `normalize_params'
gems/griddler-1.4.0/app/controllers/griddler/emails_controller.rb: 17:in `normalized_params'
gems/griddler-1.4.0/app/controllers/griddler/emails_controller.rb:  3:in `create'

Since my processor is never instantiated, I am unable to catch this error or hook-in and scrub the display name in my app. Many major email clients (e.g. GMail) handle this case.
I did a bit of digging into the Mail gem and think this https://github.com/mikel/mail/issues/685 may be relevant.
Here is my app's setup:
Gemfile.lock
griddler (1.4.0)
  htmlentities
  rails (>= 3.2.0)
griddler-sendgrid (1.0.0)
  griddler
mail (2.6.5)
  mime-types (>= 1.16, < 4)

Configuration
Griddler.configure do |config|
  config.processor_class = ListingEmailProcessor
  config.processor_method = :process
  config.reply_delimiter = '-- REPLY ABOVE THIS LINE --'
  config.email_service = :sendgrid
end

Solved by #26 per @tcollier's feedback there


Make a tutorial on how to create themes

They're pretty easy to make, but I gotta explain how to do it lol

"you can add also name to the npc at the top center of the dialog frame" https://devforum.roblox.com/t/dialogue-maker-plugin-beta/537321/8?u=draconicchris

Maybe make a feature within the plugin to make themes

I would also like to see this tutorial :)

devforum's down

https://devforum.roblox.com/t/how-to-create-a-theme-for-dialogue-maker/1459334/1


add layer methods

I have a few improvement methods that would be super helpful:
Similar to this:
// toggle edit mode
polygonLayer.pm.toggleEdit(options);

It would be nice to see these methods on individual leaflet layers to isolate add and delete from other layers on the map.
polygonLayer.pm.enableDraw();
polygonLayer.pm.disableDraw();
//Instead of this on all layers: map.pm.toggleGlobalRemovalMode(); to isolate individual layers
polygonLayer.pm.toggleRemove();

@SteveCline this isn't in the library because it's easily done with leaflets own functionality.
layer.on('click', () => {
  layer.remove();
});

Is that sufficient?

@codeofsumit that is not sufficient unfortunately, say you have a map with multiple leaflet geoJson layers, but you want to isolate a layer and only edit, delete, or add features to that one layer at a time.
These methods would be super helpful, I hope you will consider!
Thanks again!

The layer.remove() will remove the entire layer, not just a single feature from the entire geoJson feature collection.

@stevecline can you provide a jsfiddle showing the usecase?

Closing this until a jsfiddle is provided to get a better understanding

I think this is very similar to #583


Window with VS Code instance ignores integrated terminal confirmation on exit

After installation of Node.js 12.16.1 there is no chance to prevent accidental close of IDE with working terminal by setting option Terminal -> Integrated -> Confirm On Exit to true. Popup message with dialog appears, but VS Code doesn't wait for user choice and closes itself almost immediately after the 'window-close' trigger fires.
Previous version of Node.js was 12.13, the behavior was correct on it.

VSCode Version: 1.43.0 (user setup)
OS Version: Windows 10 Pro x64, version 1909, build 18363.720

Steps to Reproduce:

Install Node.js v12.16.1.
Install Git for Windows v2.25.1-64-bit.
Set option "terminal.integrated.confirmOnExit": true.
Set option "terminal.integrated.shell.windows": "C:\\Program Files\\Git\\bin\\bash.exe".
Launch Developer: Reload Window from Command Palette, or close window with IDE instance via click on cross-button, or push Alt + F4 keyboard shortcut.

Does this issue occur when all extensions are disabled?: Yes

This happens for me too with node v13 installed. But i don't understand how the installated node version can have influence on vscode as it has it's own embedded node version

Maybe these versions of Node change something in OS environment during installation what then prevents correct listening of 'window-close' event by VS Code?

@sbatten does before shutdown trigger the panel to start destroying views or something? The terminal has a feature that vetos the shutdown at the LifecycleService.OnBeforeShutdown step such that it will show a dialog if there are any terminal processes and the confirmOnExit setting is true.

Adding more details in case they are helpful. My symptoms are more like #92997 but it was closed as duplicate of this issue. When running code --verbose I see this after attempting to quit, the confirmOnExit prompt is shown and I press confirm:
[2535:0326/005635.692251:INFO:CONSOLE(1647)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.quit", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[main 2020-03-26T04:56:35.704Z] Lifecycle#quit() - from update: undefined
[main 2020-03-26T04:56:35.704Z] Lifecycle#quit() - calling app.quit()
[main 2020-03-26T04:56:35.704Z] Lifecycle#app.on(before-quit)
[main 2020-03-26T04:56:35.704Z] Lifecycle#onBeforeShutdown.fire()
[main 2020-03-26T04:56:35.715Z] onBeforeShutdown {
  lastActiveWindow: {
    workspaceIdentifier: undefined,
    folder: undefined,
    backupPath: '/Users/ianchamberlain/Library/Application Support/Code/Backups/1585198590687',
    remoteAuthority: undefined,
    uiState: [Object: null prototype] {
      mode: 1,
      x: 0,
      y: 23,
      width: 1680,
      height: 962
    }
  },
  lastPluginDevelopmentHostWindow: {
    workspaceIdentifier: undefined,
    folder: 'file:///Users/ianchamberlain/Documents/Development/corewa_rs/tests/data',
    backupPath: undefined,
    remoteAuthority: undefined,
    uiState: { mode: 1, x: 0, y: 23, width: 1680, height: 963 }
  },
  openedWindows: []
}
[main 2020-03-26T04:56:35.716Z] SharedProcess#close prevented
[main 2020-03-26T04:56:35.717Z] Lifecycle#window.on('close') - window ID 1
[main 2020-03-26T04:56:35.717Z] Lifecycle#unload() - window ID 1
[2535:0326/005635.819595:INFO:CONSOLE(1647)] "%cTRACE color: #888 lifecycle: onBeforeUnload (reason: 2)", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005635.819876:INFO:CONSOLE(1647)] "%cTRACE color: #888 DialogService#confirm There is an active terminal session, do you want to kill it?", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.174395:INFO:CONSOLE(1647)] "%cTRACE color: #888 lifecycle: onBeforeUnload continues without veto", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[main 2020-03-26T04:56:36.175Z] Lifecycle#unload() - no veto (window ID 1)
[2535:0326/005636.176298:INFO:CONSOLE(1647)] "%cTRACE color: #888 lifecycle: onWillUnload (reason: 2)", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.180427:INFO:CONSOLE(1647)] "%cTRACE color: #888 [storage state.vscdb] updateItems(): insert(Map(6) {lifecyle.lastShutdownReason => 2, memento/workbench.parts.editor => {"editorpart.state":{"serializedGrid":{"root":{"type":"branch","data":[{"type":"leaf","data":{"id":0,"editors":[{"id":"workbench.editors.welcomePageInput","value":"{}"}],"mru":[0]},"size":510}],"size":1632},"orientation":0,"width":1632,"height":510},"activeGroup":0,"mostRecentActiveGroups":[0]}}, editors.mru => {"entries":[{"groupId":0,"index":0}]}, history.entries => [{"editorInputJSON":{"typeId":"workbench.editors.welcomePageInput","deserialized":"{}"}}], memento/workbench.editor.walkThroughPart => {"walkThroughEditorViewState":[["walkThrough:/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page?%7B%22moduleId%22%3A%22vs%2Fworkbench%2Fcontrib%2Fwelcome%2Fpage%2Fbrowser%2Fvs_code_welcome_page%22%7D",{"0":{"viewState":{"scrollTop":0,"scrollLeft":0}}}]]}, workbench.panel.terminal.numberOfVisibleViews => 1}), delete(Set(0) {})", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.181198:INFO:CONSOLE(1647)] "%cTRACE color: #888 [storage state.vscdb] Trace (event): BEGIN TRANSACTION", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.181444:INFO:CONSOLE(1647)] "%cTRACE color: #888 [storage state.vscdb] Trace (event): INSERT INTO ItemTable VALUES ('lifecyle.lastShutdownReason','2'),('memento/workbench.parts.editor','{"editorpart.state":{"serializedGrid":{"root":{"type":"branch","data":[{"type":"leaf","data":{"id":0,"editors":[{"id":"workbench.editors.welcomePageInput","value":"{}"}],"mru":[0]},"size":510}],"size":1632},"orientation":0,"width":1632,"height":510},"activeGroup":0,"mostRecentActiveGroups":[0]}}'),('editors.mru','{"entries":[{"groupId":0,"index":0}]}'),('history.entries','[{"editorInputJSON":{"typeId":"workbench.editors.welcomePageInput","deserialized":"{}"}}]'),('memento/workbench.editor.walkThroughPart','{"walkThroughEditorViewState":[["walkThrough:/Applications/Visual%20Studio%20Code.app/Contents/Resources/app/out/vs/workbench/contrib/welcome/page/browser/vs_code_welcome_page?%7B%22moduleId%22%3A%22vs%2Fworkbench%2Fcontrib%2Fwelcome%2Fpage%2Fbrowser%2Fvs_code_welcome_page%22%7D",{"0":{"viewState":{"scrollTop":0,"scrollLeft":0}}}]]}'),('workbench.panel.terminal.numberOfVisibleViews','1')", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.182315:INFO:CONSOLE(1647)] "%cTRACE color: #888 [storage state.vscdb] Trace (event): END TRANSACTION", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.188349:INFO:CONSOLE(1647)] "%cTRACE color: #888 [storage state.vscdb] close()", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.194297:INFO:CONSOLE(1647)] "%cTRACE color: #888 terminalInstance#dispose (id: 1)", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.196041:INFO:CONSOLE(1647)] "%cDEBUG background: #eee; color: #888 Terminal process exit (id: 1) with code undefined", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.196303:INFO:CONSOLE(1647)] "%cDEBUG background: #eee; color: #888 Terminal process exit (id: 1) state 4", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005636.196687:INFO:CONSOLE(1647)] "%cTRACE color: #888 terminalInstance#dispose (id: 1)", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[main 2020-03-26T04:56:36.202Z] Lifecycle#onBeforeWindowClose.fire() - window ID 1
[2535:0326/005636.203881:INFO:CONSOLE(1647)] "%cTRACE color: #888 IPty#kill", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005638.303902:INFO:CONSOLE(1647)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.quit", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005638.936645:INFO:CONSOLE(1647)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.quit", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005639.206543:INFO:CONSOLE(1647)] "%c  ERR color: #f33 A system error occurred (ESRCH, No such process): Error: ESRCH, No such process
    at z.enableInspectPort (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3947:124)
    at e.getInspectPort (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3691:994)
    at K.getInspectPort (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:4045:851)
    at y._onDidChangeResponsiveChange (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:4338:819)
    at c.fire (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:110:44)
    at file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3570:437
    at c.fire (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:110:24)
    at file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3690:669
    at c.fire (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:110:24)
    at g._setResponsiveState (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3677:580)
    at g._checkUnresponsive (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3677:409)
    at g.runner (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:3676:694)
    at g.doRun (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:144:756)
    at g.onTimeout (file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js:144:722)", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[2535:0326/005639.320279:INFO:CONSOLE(1647)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.quit", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)
[main 2020-03-26T04:57:00.588Z] update#checkForUpdates, state =  idle
[main 2020-03-26T04:57:00.589Z] update#setState checking for updates
[main 2020-03-26T04:57:00.984Z] update#setState idle
[2535:0326/005826.845563:INFO:CONSOLE(1647)] "%cTRACE color: #888 CommandService#executeCommand workbench.action.quit", source: file:///Applications/Visual Studio Code.app/Contents/Resources/app/out/vs/workbench/workbench.desktop.main.js (1647)

Note that I subsequently tried to quit the application a few more times after the first one failed. No further prompt was displayed.

This issue has been happening to me. I use this feature to prevent accidentally closing VSCode if I have running terminal sessions. I did not actively update my NodeJS version (to my knowledge). This appeared for me on VSCode 1.43.0 (I believe). I am running MacOS 10.15.3 (19D76).
Here's what I observe:

Clicking Cancel

After trying to close VSCode, if I click cancel, the terminal session is killed anyways. (Preventing this is the point of this feature.) If I restart something in the terminal and try to close VSCode, it closes immediately with no popup (another pop up used to appear).

Clicking Yes

After trying to close VSCode, if I click Yes, the window is not closed (it used to immediately close). I need to try to close VSCode again.


Problems with Package Managers

I thought it would be an interesting thought experiment to outline problems that package publishers, package consumers and package manager maintainers currently experience today, rather than outlining the benefits of IPFS and looking for places where those benefits can be applied to package management.
Doing this may highlight areas where introducing IPFS can provide significant improvements that wouldn't be a clear headline feature of IPFS.
For example, IPFS can offer large savings in bandwidth costs, but almost all the large community  package managers are offered free CDN and hosting services by Fastly, Cloudflare, Bintray etc, so that package managers don't see that as being a problem right now.
Not all problems will be present in all package managers and IPFS definitely won't be able to fix all problems either but this list may spark some interesting ideas that would otherwise have been missed, as well as helping us to focus our efforts on the key problems that IPFS can help with.
Feel free to add in other problems or group similar problems together, this list is off the top of my head and will likely be missing loads things.
Package consumers

Package releases being removed from registries
Package maintainers transferring ownership to unknown entities
Registry downtime stops building/developing of software that is dependent on it
Not being able to reproduce a known working set of dependencies at a later date
Not being able to opt-out of using new releases which have breaking changes
Not being able to update/fix/swap old packages deep within a dependency tree when they cause problems
Not being able to resolve conflicting dependency requirements when building a dependency tree
Not knowing the status of a package (deprecated, unmaintained, broken etc)
Not being able to confirm that the contents of a download package is the same as was originally published by the author
Not being able to install more than one version of a dependency at once
Not being able to install or build packages whilst offline
Not being able to efficiently review the downloaded code within each dependency of an application
Not being able to filter packages by compatible licenses
Not being able to validate the license/copyright/patent details of a package
Hosting internal or private mirrors of registries is time consuming and requires ongoing maintenance and infrastructure costs
Language level packages that depend system level packages do not communicate or automate those dependency links effectively
Not being able to find new packages that are relevant to consumers interests/needs
Difficult to know when new releases of packages are published
Difficult to known if a new release of a package is stable

Package Producers

Communicating with consumers of packages
Maintaining compatibility with multiple platforms, architectures and run times
Vetting contributions for security concerns
Coordinating key signing infrastructure between maintainers is time consuming and error prone
Difficult to test package against a range of different versions of upstream and downstream dependencies
Difficult to know what percentage of consumers are using newer releases vs stuck on old releases due to incompatibilities
Difficult to discourage users from using broken/deprecated releases

Package Manager Maintainers

Difficulties funding maintenance, development and infrastructure costs
Large amount of trust placed on very small amount of maintainers
Heavy support burden from both consumers and producers
Having to police illegal/pirate/malicious packages from the registry
Recovery of data after loss due to server failure or security breach
Deploying significant changes can result in community backlash
Difficulties communicating with package consumers and producers
Difficult to hand over control/trust when maintainers step down
Distributing infrastructure globally can be costly/complex
Greatly increased infrastructure costs when storing binaries as well as source code
Package managers often can't use themselves for managing dependencies, due to bootstrapping issues, resulting in duplicate efforts and reduced productivity

I took a bash at topic-sorting these on a Mural board for the sake of jumpstarting some discussion:
https://app.mural.co/invitation/mural/protocollabs6957/1557168696127?sender=jessica6950&key=3cfdb298-3e71-4f76-becd-5a380fde4844
Would appreciate a look-through from folks, particularly any thoughts on the topics themselves (i.e. are any of them wonky?). It'd be great to keep aggregating and sorting pain points in this Mural, which we could then use to rank/prioritise, develop user stories, etc.

I called them consumers as package managers users covers both consumer and publishers (plus the maintainers likely use their own tools as well), but I think that end users and consumers are the same thing.

@andrew -- good call, thanks. With that in mind we may want to consider how the overlapped grouping of consumers and publishers as "package manager users" has pain points/opportunities common to both that may therefore be more heavily weighted or prioritized.
I also added the simplest of mission statements to each audience segment; I'll want to flesh these out into a more detailed persona for each one.

Going to be moving the content of this issue into the /docs in the repository in https://github.com/ipfs/package-managers/pull/53


run_mogmpo.py -- ValueError: Graph parent item 0 is not a Tensor;

Hi there,
Packages were installed according to:
conda create -n acme python=3.8
conda activate acme
pip install --upgrade pip setuptools wheel
pip install .[jax,tf,testing,envs]
pip install mujoco
pip install mujoco-py
pip install --upgrade "jax[cuda]" -f https://storage.googleapis.com/jax-releases/jax_cuda_releases.html
pip install tensorflow-gpu

It should be noted that python run_sac.py runs without problem, but python run_mogmpo.py --env_name=gym:HalfCheetah-v4 fails with:
/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/python/__init__.py:57: DeprecationWarning: distutils Version classes are deprecated. Use packaging.version instead.
  if (distutils.version.LooseVersion(tf.__version__) <
I0113 18:54:41.923464<PHONE_NUMBER>84704 xla_bridge.py:355] Unable to initialize backend 'tpu_driver': NOT_FOUND: Unable to find driver in registry given worker:
I0113 18:54:41.976754<PHONE_NUMBER>84704 xla_bridge.py:355] Unable to initialize backend 'rocm': NOT_FOUND: Could not find registered platform with name: "rocm". Available platform names are: CUDA Host Interpreter
I0113 18:54:41.977056<PHONE_NUMBER>84704 xla_bridge.py:355] Unable to initialize backend 'tpu': module 'jaxlib.xla_extension' has no attribute 'get_tpu_client'
I0113 18:54:41.977239<PHONE_NUMBER>84704 xla_bridge.py:355] Unable to initialize backend 'plugin': xla_extension has no attributes named get_plugin_device_client. Compile TensorFlow with //tensorflow/compiler/xla/python:enable_plugin_device set to true (defaults to false) to enable this.
I0113 18:54:42.811571<PHONE_NUMBER>32288 courier_utils.py:120] Binding: run
I0113 18:54:42.812238<PHONE_NUMBER>32288 lp_utils.py:87] StepsLimiter: Starting with max_steps = 1000000 (actor_steps)
I0113 18:54:42.813285<PHONE_NUMBER>24992 savers.py:164] Attempting to restore checkpoint: None
I0113 18:54:42.816575<PHONE_NUMBER>17984 node.py:61] Reverb client connecting to: localhost:43247
I0113 18:54:42.817500<PHONE_NUMBER>32480 node.py:61] Reverb client connecting to: localhost:43247
I0113 18:54:42.818590<PHONE_NUMBER>54368 node.py:61] Reverb client connecting to: localhost:43247
I0113 18:54:42.819234<PHONE_NUMBER>76256 node.py:61] Reverb client connecting to: localhost:43247
I0113 18:54:42.830212<PHONE_NUMBER>29344 node.py:61] Reverb client connecting to: localhost:43247
I0113 18:54:42.836279<PHONE_NUMBER>24992 courier_utils.py:120] Binding: get_counts
I0113 18:54:42.836411<PHONE_NUMBER>24992 courier_utils.py:120] Binding: get_directory
I0113 18:54:42.836471<PHONE_NUMBER>24992 courier_utils.py:120] Binding: get_steps_key
I0113 18:54:42.836519<PHONE_NUMBER>24992 courier_utils.py:120] Binding: increment
I0113 18:54:42.836561<PHONE_NUMBER>24992 courier_utils.py:120] Binding: restore
I0113 18:54:42.836602<PHONE_NUMBER>24992 courier_utils.py:120] Binding: save
I0113 18:54:42.836844<PHONE_NUMBER>24992 savers.py:155] Saving checkpoint: /home/dyth/acme/20230113-185439/checkpoints/counter
I0113 18:54:43.820627<PHONE_NUMBER>32288 lp_utils.py:95] StepsLimiter: Reached 0 recorded steps
/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/gym/core.py:329: DeprecationWarning: WARN: Initializing wrapper in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.
  deprecation(
/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/gym/wrappers/step_api_compatibility.py:39: DeprecationWarning: WARN: Initializing environment in old step API which returns one bool instead of two. It is recommended to set `new_step_api=True` to use new step API. This will be the default behaviour in future.
  deprecation(
I0113 18:54:43.954088<PHONE_NUMBER>76256 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/actor/logs.csv
I0113 18:54:43.954318<PHONE_NUMBER>76256 courier_utils.py:120] Binding: run
I0113 18:54:43.954387<PHONE_NUMBER>76256 courier_utils.py:120] Binding: run_episode
I0113 18:54:43.958663<PHONE_NUMBER>58528 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/evaluator/logs.csv
I0113 18:54:43.958981<PHONE_NUMBER>58528 courier_utils.py:120] Binding: run
I0113 18:54:43.959156<PHONE_NUMBER>54368 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/actor/logs.csv
I0113 18:54:43.959258<PHONE_NUMBER>58528 courier_utils.py:120] Binding: run_episode
I0113 18:54:43.959641<PHONE_NUMBER>32480 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/actor/logs.csv
I0113 18:54:43.959756<PHONE_NUMBER>54368 courier_utils.py:120] Binding: run
I0113 18:54:43.959851<PHONE_NUMBER>29344 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/actor/logs.csv
I0113 18:54:43.972820<PHONE_NUMBER>32480 courier_utils.py:120] Binding: run
I0113 18:54:43.974417<PHONE_NUMBER>54368 courier_utils.py:120] Binding: run_episode
I0113 18:54:43.977043<PHONE_NUMBER>55360 builder.py:251] Creating off-policy replay buffer with replay fraction 1 of batch 256
[reverb/cc/platform/tfrecord_checkpointer.cc:162]  Initializing TFRecordCheckpointer in /tmp/tmphf02e4lq.
[reverb/cc/platform/tfrecord_checkpointer.cc:552] Loading latest checkpoint from /tmp/tmphf02e4lq
[reverb/cc/platform/default/server.cc:71] Started replay server on port 43247
I0113 18:54:43.995313<PHONE_NUMBER>29344 courier_utils.py:120] Binding: run
I0113 18:54:44.145094<PHONE_NUMBER>32480 courier_utils.py:120] Binding: run_episode
I0113 18:54:44.192413<PHONE_NUMBER>29344 courier_utils.py:120] Binding: run_episode
I0113 18:54:44.909356<PHONE_NUMBER>17984 csv.py:76] Logging to /home/dyth/acme/20230113-185439/logs/learner/logs.csv
I0113 18:54:44.909640<PHONE_NUMBER>17984 learning.py:126] Learner process id: 0. Devices passed: [StreamExecutorGpuDevice(id=0, process_index=0, slice_index=0)]
I0113 18:54:44.909731<PHONE_NUMBER>17984 learning.py:128] Learner process id: 0. Local devices from JAX API: [StreamExecutorGpuDevice(id=0, process_index=0, slice_index=0)]
[reverb/cc/client.cc:165] Sampler and server are owned by the same process (2040306) so Table priority_table is accessed directly without gRPC.
[reverb/cc/client.cc:165] Sampler and server are owned by the same process (2040306) so Table priority_table is accessed directly without gRPC.
[reverb/cc/client.cc:165] Sampler and server are owned by the same process (2040306) so Table priority_table is accessed directly without gRPC.
[reverb/cc/client.cc:165] Sampler and server are owned by the same process (2040306) so Table priority_table is accessed directly without gRPC.
[reverb/cc/client.cc:165] Sampler and server are owned by the same process (2040306) so Table priority_table is accessed directly without gRPC.
Node ThreadWorker(thread=<Thread(learner, stopped daemon<PHONE_NUMBER>17984)>, future=<Future at 0x7fc49809c520 state=finished raised ValueError>) crashed:
Traceback (most recent call last):
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/launch/worker_manager.py", line 474, in _check_workers
    worker.future.result()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/launch/worker_manager.py", line 250, in run_inner
    future.set_result(f())
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/python/node.py", line 75, in _construct_function
    return functools.partial(self._function, *args, **kwargs)()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/courier/node.py", line 113, in run
    instance = self._construct_instance()  # pytype:disable=wrong-arg-types
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/python/node.py", line 180, in _construct_instance
    self._instance = self._constructor(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/jax/experiments/make_distributed_experiment.py", line 178, in build_learner
    learner = experiment.builder.make_learner(random_key, networks, iterator,
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/builder.py", line 167, in make_learner
    learner = learning.MPOLearner(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/learning.py", line 221, in __init__
    network_params, _ = mpo_networks.init_params(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/networks.py", line 118, in init_params
    params_policy_head = networks.policy_head.init(rng_keys[2], embeddings)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/transform.py", line 114, in init_fn
    params, state = f.init(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/transform.py", line 338, in init_fn
    f(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/networks.py", line 217, in policy_fn
    return networks_lib.MultivariateNormalDiagHead(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/module.py", line 426, in wrapped
    out = f(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/module.py", line 272, in run_interceptors
    return bound_method(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/jax/networks/distributional.py", line 297, in __call__
    return tfd.MultivariateNormalDiag(loc=loc, scale_diag=scale)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/substrates/jax/distributions/distribution.py", line 342, in wrapped_init
    default_init(self_, *args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/substrates/jax/distributions/mvn_diag.py", line 235, in __init__
    scale = diag_cls(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/python/internal/backend/jax/gen/linear_operator_diag.py", line 191, in __init__
    self._set_graph_parents([self._diag])
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/python/internal/backend/jax/gen/linear_operator.py", line 1178, in _set_graph_parents
    raise ValueError("Graph parent item %d is not a Tensor; %s." % (i, t))
ValueError: Graph parent item 0 is not a Tensor; [[0.500001 0.500001 0.500001 0.500001 0.500001 0.500001]].
I0113 18:54:46.687932<PHONE_NUMBER>84704 savers.py:206] Caught SIGTERM: forcing a checkpoint save.
I0113 18:54:46.688052<PHONE_NUMBER>84704 savers.py:155] Saving checkpoint: /home/dyth/acme/20230113-185439/checkpoints/counter
Error in atexit._run_exitfuncs:
Traceback (most recent call last):
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/launch/worker_manager.py", line 428, in wait
    raise failure
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/launch/worker_manager.py", line 474, in _check_workers
    worker.future.result()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/concurrent/futures/_base.py", line 437, in result
    return self.__get_result()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/concurrent/futures/_base.py", line 389, in __get_result
    raise self._exception
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/launch/worker_manager.py", line 250, in run_inner
    future.set_result(f())
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/python/node.py", line 75, in _construct_function
    return functools.partial(self._function, *args, **kwargs)()
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/courier/node.py", line 113, in run
    instance = self._construct_instance()  # pytype:disable=wrong-arg-types
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/launchpad/nodes/python/node.py", line 180, in _construct_instance
    self._instance = self._constructor(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/jax/experiments/make_distributed_experiment.py", line 178, in build_learner
    learner = experiment.builder.make_learner(random_key, networks, iterator,
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/builder.py", line 167, in make_learner
    learner = learning.MPOLearner(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/learning.py", line 221, in __init__
    network_params, _ = mpo_networks.init_params(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/networks.py", line 118, in init_params
    params_policy_head = networks.policy_head.init(rng_keys[2], embeddings)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/transform.py", line 114, in init_fn
    params, state = f.init(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/transform.py", line 338, in init_fn
    f(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/agents/jax/mpo/networks.py", line 217, in policy_fn
    return networks_lib.MultivariateNormalDiagHead(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/module.py", line 426, in wrapped
    out = f(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/contextlib.py", line 75, in inner
    return func(*args, **kwds)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/haiku/_src/module.py", line 272, in run_interceptors
    return bound_method(*args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/acme/jax/networks/distributional.py", line 297, in __call__
    return tfd.MultivariateNormalDiag(loc=loc, scale_diag=scale)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/decorator.py", line 232, in fun
    return caller(func, *(extras + args), **kw)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/substrates/jax/distributions/distribution.py", line 342, in wrapped_init
    default_init(self_, *args, **kwargs)
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/substrates/jax/distributions/mvn_diag.py", line 235, in __init__
    scale = diag_cls(
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/python/internal/backend/jax/gen/linear_operator_diag.py", line 191, in __init__
    self._set_graph_parents([self._diag])
  File "/home/dyth/miniconda3/envs/acme/lib/python3.8/site-packages/tensorflow_probability/python/internal/backend/jax/gen/linear_operator.py", line 1178, in _set_graph_parents
    raise ValueError("Graph parent item %d is not a Tensor; %s." % (i, t))
ValueError: Graph parent item 0 is not a Tensor; [[0.500001 0.500001 0.500001 0.500001 0.500001 0.500001]].

Any help would be much appreciated!

I recently got this error as well, so I second this issue. Any guidance would be very useful.

The issue is likely due to some breaking changes in jax>=0.4 which is no longer compatible with the TFP version pinned in acme. Downgrading JAX to something like 0.3.25 should fix it.


Added script to allow the autoupdating of github dependencies

@edwardmlyte you may be interested in this.  I couldn't subscribe to other repos updates, but I could poll the releases.atom page and determine that there are updates.  Better than nothing eh?

Nice one. So we have to run this script ourselves at the moment. But in
theory could write a basic bot to do it for us nightly for example?
On 21 Sep 2017 22:05, "Gareth Evans"<EMAIL_ADDRESS>wrote:

@edwardmlyte https://github.com/edwardmlyte you may be interested in
this. I couldn't subscribe to other repos updates, but I could poll the
releases.atom page and determine that there are updates. Better than
nothing eh?
You can view, comment on, or merge this pull request online at:
https://github.com/cagiti/developer-environment/pull/38
Commit Summary

Added script to allow the autoupdating of github dependencies

File Changes

M ansible/main.yml
https://github.com/cagiti/developer-environment/pull/38/files#diff-0
(2)
A update_github_projects.groovy
https://github.com/cagiti/developer-environment/pull/38/files#diff-1
(32)

Patch Links:

https://github.com/cagiti/developer-environment/pull/38.patch
https://github.com/cagiti/developer-environment/pull/38.diff

—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/cagiti/developer-environment/pull/38, or mute the
thread
https://github.com/notifications/unsubscribe-auth/ACJNRdWkEgpl4RwBs4jKFtd0zpfXkim6ks5sks-fgaJpZM4Pf6qv
.


fixing compiler warning of newest rust version

Note that most development on this codebase has shifted to https://github.com/david-a-wheeler/metamath-knife, and my impression is that @sorear is interested in keeping the verifier as it is.

Thank you soo much for this comment. That helps a lot. Then I will work from there.
@sorear, It would be soo nice, if you would mention the more maintained project in the readme.


Chisel Integration is Painful

Type of issue:  other enhancement
Impact: Unknown
Development Phase: discussion
I started writing this into a comment of #1361 but i figured out that a proper issue would be more appropriate for community discussion
Chisel integration is really painful

the base fact that most chisel objects must be manipulated in builder context make everything difficult as soon as one is not actually emitting a module : most simple example is that one cannot retrieve the name of a module without inspecting elaboration result
ChiselStage entry points are limited and not quite documented
As soon as one leave the standard intented flow of Chisel as master, everything gets complicated
the flow is slow (long starting time for each steps: elab, firrtl compilation , ...) and is getting slower & slower: another half second added for each firrtl compilation start-up with the new Stage/Phase system

I know that all these limitations originate from scala but I wonder how far we could make integration smoother in order to reach a satisfactory user experience: it is currently not ready to be presented to any hardware engineer without providing a proper support team and I hope one day the support team requirement could be dropped :)
Just to give you some insights, we started looking at chisel 2 years ago and we are just about to have a first dummy module actually integrated in production. Despite not a full time job for us, this painful integration demonstrates how far chisel is from the "of-the-shelf production-ready" solution it aims at being. And once again I really wish it will become it one day, because I definitely do not want to start again designing with verilog or vhdl for a living!
Of course I will be glad to share at some point more details and contribute to better integrability, in particular tools we developed to integrate chisel into larger SystemVerilog codebase.
In a nutshell I think we need to create the lib that would be to chisel what ammonite is to scala(-repl).
I would be glad to collect your thoughts about all that, as you will probably point out other flaws that are outside of my current scope. I hope this could lead to interesting contributions!
Ping @jackkoenig @seldridge @azidar @edwardcwang @ducky64 @chick @mwachs5 @schoeberl

We are brainstorming ideas, and had a few thoughts.

What are the Chisel Stage/Phase API's that you are looking for?
What do you think about having Chisel/FIRRTL packages, where they are able to elaborate to Verilog independently, but refer/import each other in the Chisel. This enables more incremental compilation approach, as well as force us to think outside of a single Builder context.

We hear you, and we've experienced similar struggles. To move the conversation forward, do you have some concrete use-cases which help clarify the nature of your integration problems?

On the performance side; this has been of particular annoyance to me lately. I hope to eventually have a full, shared benchmarking flow to prevent performance regressions. You'll notice that I have made several PRs in the last week related to performance: https://github.com/freechipsproject/firrtl/pull/1475, https://github.com/freechipsproject/firrtl/pull/1582, https://github.com/freechipsproject/firrtl/pull/1601, and https://github.com/freechipsproject/firrtl/pull/1602 (more to come). I hope to eventually get to larger scale improvements like parallelization and incremental compile; but even without that, as Adam mentions above, we can give the designer more control over splitting up their designs themselves which would help on this as well.


Bugfix for workspace_custom_startup_expr check & updated compat

Before this bugfix, the "Expected the workspace_custom_startup_expr setting to not be set by someone else; overriding it." warning message always appeared when evaluating multiple Pluto notebooks due to a quote vs string inconsistency. Also updated compat & example.jl for the latest package releases.

Thank you for this nice PR

warning message always appeared when evaluating multiple Pluto notebooks due to a quote vs string inconsistency.

I was already wondering why I kept seeing that error. Thanks for figuring out the root cause (the bug was introduced in https://github.com/rikhuijzer/PlutoStaticHTML.jl/pull/171)!
I'll merge this once the tests pass and I'll release a new version soon. I think Pluto is gonna do a new release soon (https://github.com/fonsp/Pluto.jl/commit/cb21fa9beead6d55d74a2991d1bd8e8ce422b7e4), so I'll wait for that before tagging a new release here.


kernelshark: 2.1.0 -> 2.1.1

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://repology.org/metapackage/kernelshark/versions.
meta.description for kernelshark is: "GUI for trace-cmd which is an interface for the Linux kernel ftrace subsystem"
meta.homepage for kernelshark is: "https://kernelshark.org/"
meta.changelog for kernelshark is: ""
Updates performed

Version update

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 2.1.1 with grep in /nix/store/h2ankjhn7g0msnm0hdb82kni3paimq12-kernelshark-2.1.1
found 2.1.1 in filename of file in /nix/store/h2ankjhn7g0msnm0hdb82kni3paimq12-kernelshark-2.1.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
kernelshark

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/h2ankjhn7g0msnm0hdb82kni3paimq12-kernelshark-2.1.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A kernelshark https://github.com/r-ryantm/nixpkgs/archive/f97262253e63640c018002cc6c4c185b8e691e16.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/h2ankjhn7g0msnm0hdb82kni3paimq12-kernelshark-2.1.1
ls -la /nix/store/h2ankjhn7g0msnm0hdb82kni3paimq12-kernelshark-2.1.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

kernelshark

Maintainer pings
cc @basvandijk for testing.

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

1 package built:

kernelshark


existingPath Setting is not always respected on C#, CDK

Explanation
We sometimes get user reports that the 'existingPath' setting for the .NET Runtime extension does not work, even though it does seem to work on our end, and we have never gotten any further information about how it does not work. Specifically, this option:
  "dotnetAcquisitionExtension.existingDotnetPath": [
        {
            "extensionId": "ms-dotnettools.csharp",
            "path": "C:\\Program Files\\dotnet\\dotnet.exe"
        }
    ]

There is confusion there because it needs to be set for csharp as well as c# devkit. But there is another issue which is present in both extensions that I realized is very confusing to users. That is because the setting is ignored if there's a .NET on the PATH.
https://github.com/dotnet/vscode-csharp/blob/efd9e7f332d73063a34fbb72cbca48aba6ee3e4b/src/lsptoolshost/dotnetRuntimeExtensionResolver.ts#L59
Taking a look at the code, we can see for both C# and C# DevKit that the dotnet on the PATH is used over this setting. I think its a good idea to use the .NET on the PATH if its available, but if someone specifically gave us a different dotnet path and we still used this one, it's a bit confusing. I realized this because of a customer who was confused why the setting on the PATH was not being used and thought it didn't work. It was because of this.
Admittedly, people may not understand that they would need to use a different app host, which would be what actually picks the .NET runtime and SDK to use. But, its still a UX improvement in my eyes.
Proposal
We should write a command API for DevKit and C# to call that tells CDK and C# what the existingPath setting is on our extension for them. If its set, c# and CDK should use that before it uses the .NET on the PATH, to eliminate this confusion.
Let me know your thoughts, if we agree then I will go do that work item from the .NET Install Tool end.
cc @dibarbet  @arkalyanms @AArnott @webreidi @baronfel @leslierichardson95

That seems like a reasonable design. But do we really need a command exposed by the install extension to read the setting? Couldn't C# Dev Kit just read this extension directly? I'm happy to go either way.

Thats a good point. Ya you're right, I forgot the settings are shared across extensions and not isolated from one extension to another. There is another setting that CDK has if I recall like 'cliSDKPath', should make sure theres not a mix up with that. @WardenGnaw do you know how that setting might work with this one, what is the difference?

+ @gregg-miskelly

There is another setting that CDK has if I recall like 'cliSDKPath'

Its in the C# Extension, and its an older omnisharp setting. Its primary used for finding dotnet for executable launches.
Related: https://github.com/dotnet/vscode-csharp/blob/8c42eb1853059ae1114c02a924035ccbe1e91f0b/src/coreclrDebug/activate.ts#L295

The one question I have: is this setting meant to control --

Where VS Code extensions find a .NET Runtime and/or SDK to run themselves?
Where the project opened by VS Code should find the .NET runtime that it will run on top of?
Both?

Gregg

I believe this setting only relates to no. 1 on your list, @gregg-miskelly.

The one question I have: is this setting meant to control --

Where VS Code extensions find a .NET Runtime used to run their own .NET Code
Where VS Code extensions for a .NET SDK used to build the user's app
Where the project opened by VS Code should find the .NET runtime that it will run on top of

I feel like we probably want a different setting for 1 than 2 and 3.

It is 1 and 2. And probably 3, unless DevKit sets a custom DOTNET_ROOT per project. That is typically the job of the host, which is the same thing in the path as 1.
We actually initially had it so there were 2 separate settings for the SDK and Runtime but ditched that idea. We expect most people who are pointing to a folder with a custom .NET host are also going to have an SDK in there and would expect that to be used by default.
Besides that, the SDK we install is global (so it works the same in the terminal and VS Code, amongst other reasons), and the dotnet.exe: "C:\Program Files\dotnet\dotnet.exe" is the host that picks which SDK to use. The .NET SDK does not come with its own host or dotnet.exe, so there is no real conceptual straight-forward way of giving a path to use that specific SDK. @baronfel may be able to add more context on that decision.

To me it sounds like this change should be made, but with the caveat that CliPath takes precedence over our existingDotnetPath setting, which would in turn take precedence over the PATH. I say this since CliPath is a setting with more history to it, we dont want to break users who've set that.

I have two concerns with trying to use the same setting for 1, 2 and 3, though maybe they are all things we can do about these concerns --

Is the reason why one wants a custom runtime for your own project the same reason why you would want a custom runtime to run VS Code extensions processes on? -- The reason that I know of for 2 and 3 is that you are targetting some sort of special runtime and you don't want to globally install it. For example, targeting a pre-release version of .NET for some new repo. I would imagine in this scenario you would still want to use a different runtime install for running extensions (1), unless maybe I am missing something.
Support for different processor architectures -- One scenario for debugging (3 from my above list) is that you want the target app to target a different processor architecture, ex: target maos-x64 on a macos-arm64 mac. Any extension process that includes architecture-specific code should be following the processor architecture of VS Code, which hopefully follows the native processor architecture of their computer. One possible remedy here would be to ignore the setting when the architecture is wrong.

It is 1 and 2. And perhaps 3, unless DevKit sets a custom DOTNET_ROOT per project

I don't believe it is 2).  Build commands in devkit execute via the dotnet CLI, which has no idea that this path exists.  And when we're loading projects in the C# extension we load them in a separate process using the dotnet on path with rollforward.  As of today - we only use this path as the server runtime.
I'm not sure how this will change with SDK acquisition - I haven't seen a concrete plan for the UX of SDK acquisition yet.

I have two concerns with trying to use the same setting for 1, 2 and 3, though maybe there are all things we can do about these concerns --

I also agree with this.  Any VSCode setting we use for 2 at least will be incomplete.  The dotnet CLI (which we use across the extensions) will not know about this setting.  I don't think we should use a vscode setting at all for 2 and 3.

I don't believe it is 2). Build commands in devkit execute via the dotnet CLI, which has no idea that this path exists. And when we're loading projects in the C# extension we load them in a separate process using the dotnet on path with rollforward. As of today - we only use this path as the server runtime.

Thank you for chiming in, I was talking about a different thing than I probably should have been.
@dibarbet is right, it is currently separate for 1 and 2, the setting does not impact 2 at all at this point in time inside of C# and CDK.

I'm not sure how this will change with SDK acquisition - I haven't seen a concrete plan for the UX of SDK acquisition yet.

However, this is the part that I was referring to. The SDK acquisition API -will- use that same setting when it returns an SDK. Which, maybe that is not the right behavior.

However, this is the part that I was referring to. The SDK acquisition API -will- use that same setting when it returns an SDK. Which, maybe that is not the right behavior.

I meant I'm less clear on the design on the devkit side (how and where devkit uses that API).  Do they download a local runtime still, then download an SDK corresponding to the project?  Does it automatically happen, or requires a prompt?  Or does devkit download a .net7 SDK always instead of a runtime?  Does C# still download a runtime only?  What about when devkit is not installed?  Think we need to answer those questions before we can talk about specific settings.

To me it sounds like this change should be made, but with the caveat that CliPath takes precedence over our existingDotnetPath setting, which would in turn take precedence over the PATH. I say this since CliPath is a setting with more history to it, we dont want to break users who've set that.

I should note that we did not port over the cliPaths setting from O# to the Roslyn implementation.  O# used to use that in their server when shelling out some commands to the CLI.  In Roslyn, we just use the version on the path.  There's been one or two mentions requesting similar behavior - but IMHO a solution to that needs to be done on the SDK side (e.g. https://github.com/dotnet/sdk/issues/8254) otherwise the extension and dotnet cli will differ in behavior.

Taking a look at the code, we can see for both C# and C# DevKit that the dotnet on the PATH is used over this setting. I think its a good idea to use the .NET on the PATH if its available, but if someone specifically gave us a different dotnet path and we still used this one, it's a bit confusing. I realized this because of a customer who was confused why the setting on the PATH was not being used and thought it didn't work. It was because of this.

On the C# side - it seems OK to prefer this for the runtime used to launch the server.  As above though I'm not sure what should happen for SDK installs.

I meant I'm less clear on the design on the devkit side (how and where devkit uses that API). Do they download a local runtime still, then download an SDK corresponding to the project? Does it automatically happen, or requires a prompt? Or does devkit download a .net7 SDK always instead of a runtime? Does C# still download a runtime only? What about when devkit is not installed? Think we need to answer those questions before we can talk about specific settings.

DevKit's current plan is to still use the local runtime. The SDK that we acquire is part of a 'getting started guide' and mostly intended to simplify the getting started experience so users don't need to get one themselves. @leslierichardson95 and @mavasani are working on the UI for it. I will try to dig that up spec and send it to you offline. C# is still runtime only to my knowledge.

Thanks all for your engagement -- sorry, I should have been more precise. There are several runtimes at play here and several different consumers for it and each of those scenarios is a bit different!

@nagilson can you send the spec to Andrew and me as well?

Using dotnet from path when dotnetAcquisitionExtension.sharedExistingDotnetPath, dotnet.dotnetPath or DOTNET_ROOT are set is unexpected and undesirable. I have globally installed (by admin) LTS version, but for some projects I want to use preview version.


Upgrade to Yarn 4

This PR:

[X] Bumps Node versions in CI to 20
[X] Upgrades package manager to Yarn 4
[X] Updates actions/checkout usages to v4

@timdorr Were the warnings caused by actions/setup-node?

That and the artifact actions. I got everything I could.

@timdorr Thank you so much!

Thanks!


python27Packages.gin-config: 0.3.0 -> 0.4.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for python27Packages.gin-config is: "Gin provides a lightweight configuration framework for Python, based on dependency injection."
meta.homepage for python27Packages.gin-config is: "https://github.com/google/gin-config"
meta.changelog for python27Packages.gin-config is: ""
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS

Warning: a test defined in passthru.tests did not pass

0 of 0 passed binary check by having a zero exit code.

0 of 0 passed binary check by having the new version present in output.

found 0.4.0 with grep in /nix/store/17f47ggj8kvygmzwpsn6bn2igw2cr5lc-python2.7-gin-config-0.4.0

directory tree listing: https://gist.github.com/d70872845c72acb971cc3306a9810cb7

du listing: https://gist.github.com/97aeb144fbac1911a7396a4ed2c5c7d4

Rebuild report (if merged into master) (click to expand)

12 total rebuild path(s)

3 package rebuild(s)

3 x86_64-linux rebuild(s)
3 i686-linux rebuild(s)
3 x86_64-darwin rebuild(s)
3 aarch64-linux rebuild(s)

First fifty rebuilds by attrpath
python27Packages.gin-config
python37Packages.gin-config
python38Packages.gin-config

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/17f47ggj8kvygmzwpsn6bn2igw2cr5lc-python2.7-gin-config-0.4.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A python27Packages.gin-config https://github.com/r-ryantm/nixpkgs/archive/3292aa044bae140d5fa8058af9b18b41807e17bf.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/17f47ggj8kvygmzwpsn6bn2igw2cr5lc-python2.7-gin-config-0.4.0
ls -la /nix/store/17f47ggj8kvygmzwpsn6bn2igw2cr5lc-python2.7-gin-config-0.4.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review 1

3 packages built:

python27Packages.gin-config
python37Packages.gin-config
python38Packages.gin-config

Maintainer pings
cc @jethrokuan for testing.

Result of nixpkgs-review pr 105384 1

3 packages built:

python27Packages.gin-config
python37Packages.gin-config
python38Packages.gin-config


Cloud implementation of shutil.copy and shutil.copytree

Closes #108 and closes #58.
Work in progress.
Three methods of CloudPath implemented:

upload_from, to upload a local file to a cloud file path;
copy, to copy a cloud file to a cloud file or directory path;
copytree, to copy a cloud directory path to another cloud directory path recursively.

Still to implement copy differently, which avoids download / upload when the client is the same.
(I will take care of the tests after we're set with the changes.)

A few thoughts:

I'm not convinced about the shutil-style functions. The multiple cases could either be considered as more convenient or more confusing. I'm leaning that it's more confusing.

For cloud-to-local, we already CloudPath.download_to which feels more explicit and clear to me.
For local-to-cloud, I think we should have an upload_from method which is the subject of #58
Local-to-local that just dispatches to shutil feels unnecessary

Then for the cloud-to-cloud, there are actually two cases, which Peter had mentioned in the issue:

We download the file and reupload it, like what you have.
If we're within the same cloud provider, we could copy directly without needing to download. I think the way you would check for that case is if the two CloudPath instances share the same client in self.client.

A few thoughts:

I'm not convinced about the shutil-style functions. The multiple cases could either be considered as more convenient or more confusing. I'm leaning that it's more confusing.

For cloud-to-local, we already CloudPath.download_to which feels more explicit and clear to me.
For local-to-cloud, I think we should have an upload_from method which is the subject of #58
Local-to-local that just dispatches to shutil feels unnecessary

Then for the cloud-to-cloud, there are actually two cases, which Peter had mentioned in this comment:

We download the file and reupload it, like what you have.
If we're within the same cloud provider, we could copy directly without needing to download. I think the way you would check for that case is if the two CloudPath instances share the same client in self.client.

I will move the implementation as methods of CloudPath, also because I couldn't do what I thought because of circular imports.
For the cloud-to-cloud, I was planning indeed to implement differently the case with the same client. And about this, do you have a preferred approach of checking whether the client of src and dst is the same? Checking equality on object level might be too strict.

For the cloud-to-cloud, I was planning indeed to implement differently the case with the same client. And about this, do you have a preferred approach of checking whether the client of src and dst is the same? Checking equality on object level might be too strict.

I think actually that checking for the same instance is the right way to go, i.e., self.client is dst.client. cloudpathlib is implemented in a way that cloud path instances should share references to the same client instance unless explicitly created under a different one.

Hi @genziano, seems like this is heading in the right direction—excited to get it merged!
Anything that we can help with in terms of implementation questions or writing tests?

Hi @genziano, seems like this is heading in the right direction—excited to get it merged!
Anything that we can help with in terms of implementation questions or writing tests?

Hi @pjbull! I have unfortunately been busy these last weeks, but next week I will work on finishing it up, and hopefully picking up some new issue.
Unrelated to this PR, I have a question: do you guys have some examples of usage with Azure blob storage? I'm not sure about how to create paths pointing to azure blob accounts. I'd also be happy to include some examples if needed!

do you guys have some examples of usage with Azure blob storage

Is something like this what you mean or also including the authentication/credential flow (which is in the docs)
from cloudpathlib import CloudPath, AzureBlobPath

# generic version starting with az:// is dispatched to AzureBlobPath
az_path = CloudPath("az://container/directory/file.txt")

# explicit version
az_path = AzureBlobPath("az://container/directory/file.txt")

do you guys have some examples of usage with Azure blob storage

Is something like this what you mean or also including the authentication/credential flow (which is in the docs)
from cloudpathlib import CloudPath, AzureBlobPath

# generic version starting with az:// is dispatched to AzureBlobPath
az_path = CloudPath("az://container/directory/file.txt")

# explicit version
az_path = AzureBlobPath("az://container/directory/file.txt")

Yes thanks, exactly that. I didn't figure out that the account name was just part of the connection string.

Hello!
Any news on this? I am looking forward to this PR :)
Can I assist in anyway?


Linking to file with line number from markdown only works for .md files

Issue Type: Bug
I have a markdown document that contains links to other files, which can be other markdown documents, or code (.h/.cpp files).
If the link points to an .md file, I can use e.g. #L23 to link to line 23 and if I click on the link the code editor opens at that line.
If the link points to any other file (.h/.cpp in my case) clicking the link opens the file, but not on the line I specified.
I also tried changing a .cpp file extension to .md and the link worked as expected. Maybe that information helps you with finding the bug.
VS Code version: Code 1.56.2 (054a9295330880ed74ceaedda236253b4f39a335, 2021-05-12T17:13:13.157Z)
OS version: Windows_NT x64 10.0.19043

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-4570 CPU @ 3.20GHz (4 x 3199)

GPU Status
2d_canvas: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: enabledopengl: enabled_onrasterization: enabledskia_renderer: enabled_onvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
15.92GB (12.06GB free)

Process Argv
--crash-reporter-id abba91df-996c-40d1-b897-e0a6eade5ae4

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

language-x86-64-assembly
13x
3.0.0

better-toml
bun
0.3.2

flatbuffers
gab
0.1.0

vdf
GEE
0.0.7

rust-analyzer
mat
0.2.621

cpptools
ms-
1.4.0

vscode-gn
npc
1.1.0

LiveServer
rit
5.6.1

A/B Experiments
vsliv368cf:30146710
vsreu685:30147344
python383:30185418
pythonvspyt602:30300191
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30300192
pythontb:30283811
pythonvspyt551cf:30291415
vspre833:30267464
pythonptprofiler:30281270
vshan820:30294714
pythondataviewer:30285071
vscus158cf:30286554
vscgsv2:30307504
vscorehov:30309549
bridgeflight:30302069
vscod805cf:30301675

mdtest.zip
Here's the files I used to reproduce the issue.

Could you give some screenshots

/verified


Finding the Longest Increasing Subsequence in c++ #34

I have added the code for issue #34.
please have a look and merge it
Thank you.

Add the question link!

link : https://leetcode.com/problems/longest-increasing-subsequence/

are you saying to add me the link(commented) in cpp file ?

are you saying to add me the link(commented) in cpp file ?

yep

Good Job @Aniket3063 👍

Thank you @Saikat2407 , now 3 more PR need to be merged
do I need to raise new issue or can i directly create PR adding some more standard problem on DP.


Deferred sprite

The other changes allow us to load textures from non-seekable streams.

Want to update TestCaseOnlineTexture to use this? Note that you may need to increase the delay in that testcase to something higher as we are currently experiencing a threadpool saturation bug.
Also thoughts about not requiring a second class for this and having it in Sprite itself?

Want to update TestCaseOnlineTexture to use this? Note that you may need to increase the delay in that testcase to something higher as we are currently experiencing a threadpool saturation bug.

+1

Also thoughts about not requiring a second class for this and having it in Sprite itself?

-1

Will leave this PR open for now following further discussion in discord.


Windows build fixes for issue #103

This fixes windows builds as well as properly generating the plugins.qmltypes file after build

Seems good!


added spectacle mode

Added a "spectate" mode

So that one can see the whole playground

Looks great, awesome work! Thank you :D


All visualizations on page

As visualizations are now on the main page instead of in a panel, they can all be shown at once, rather than one at a time.

This was realistic in 2018 but I don't think it is anymore. We have more visualisations, and some of them take a long time to load. I'd rather not encourage users to request 10-20 visualisations simultaneously 😅


Replace deprecated cli options and k8s annotations

Description
Replaced deprecated cli options and k8s annotations with new ones
Issue reference
We strive to have all PRs being opened based on an issue, where the problem or feature have been discussed prior to implementation.
Please reference the issue this PR will close: #267
Checklist
Please make sure you've completed the relevant tasks for this PR, out of the following list:

[ ] The sample code compiles correctly
[ ] You've tested new builds of the sample if you changed sample code
[ ] You've updated the sample's README if necessary

Verified the changes by running some samples.


whta is vue?

What problem does this feature solve?
whta is vue
What does the proposed API look like?
no

Google vuejs and check the docs 😀 it's all explained there


Update xerces-c port files to retrieve it from github

xerces-c previous link is broken.
The chosen solution is to change the port configuration file to retrieve the package from xerces' github repository instead.
See: https://github.com/Microsoft/vcpkg/issues/1726

@paercebal,
Thanks for having already signed the Contribution License Agreement. Your agreement was validated by Microsoft. We will now review your pull request.
Thanks,
Microsoft Pull Request Bot

Since you are doing github, take a look at the vcpkg_from_github() command.
Lots of portfiles use it, for example: https://github.com/Microsoft/vcpkg/blob/master/ports/alembic/portfile.cmake#L8

Thanks, looks good!
Incidentally, vcpkg_from_github() enables you to install the latest master from github if you want to. So, you can now do:
vcpkg install xerces-c --head


Tabbed Browser Demo: PixelsPerInch?

Hello,
I got the exception "Property PixelsPerInch does not exists" when run the Tabbed Browser Demo.
It's when create the BrowserFrame.
I use Delphi 10.1 Berlin.
How to fix that?

Hi,
The demos were created using the latest Delphi version and some properties don't exist in older versions.
Open the demo, show the form and select the "save all" option in Delphi.
It should delete all the invalid properties and the next time you build the demo you won't see that error.
If you still see that error because it's part of the code then let me know the line.

Yes, now works. Thank you.


[Collections] Potential fix for race in list collections

Motivation:
testHappyRefresh crashed in https://ci.swift.org/job/oss-swift-package-centos-8/975
Test Suite 'PackageCollectionsTests' started at 2021-03-02 22:01:52.483
Test Case 'PackageCollectionsTests.testHappyRefresh' started at 2021-03-02 22:01:52.483
Exited with signal code 11

This is similar to https://github.com/apple/swift-package-manager/pull/3232
Modifications:
Both testHappyRefresh and testBrokenRefresh call listCollections after refreshCollections, and part of the listCollections code where we read collection blobs from the database might be racy since we are not using ThreadSafeArrayStore.

@swift-ci please smoke test

good catch!


added json data

TWO ISSUES WILL BE RESOLVED #79 and #80
https://github.com/user-attachments/assets/640368c4-f317-4dff-8283-73d5826f7621
#80
name: Add Resources to SQLite DB and Provide JSON File with Command for Data Insertion #80
description: Added two json file and in redme file  added cmd for import data in sqlite databases.
Description
Added two json file and in redme file  added cmd for import data in sqlite databases.
Related Issue
Add Resources to SQLite DB and Provide JSON File with Command for Data Insertion #80
ALSO ADDED ISSUE NO #79
name: Search Filter Not Working for Resources made it dynamically #79
description: added apis for search by program name  and changes in home.html for activate search funtionality
Description
added apis for search by program name  and changes in home.html for activate search funtionality
Related Issue
Search Filter Not Working for Resources made it dynamically #79

@thestuti @andoriyaprashant please review this PR


Tweak SCons compilation messages to be more discreet

All compilation messages are now written in blue to ensure that compiler errors and warnings stand out more. Some messages were also slightly shortened to make them easier to fit on a single line on narrow terminals.
At first, I tried to use black and bold black color codes, but it had really low contrast rate and could end up completely unreadable depending on the terminal's configuration. Blue is a safer choice, as it should pretty much always be readable (especially in its bright 94 variation instead of the dark 34).
Preview
Exact colors will vary depending on your terminal configuration. The screenshot below was taken in VS Code's integrated terminal.
Before

After

Thanks!

Thinking about it, it may actually be a good idea not to cherry-pick this to 3.x. This way, you can distinguish an ongoing 3.x compilation from a master compilation quickly (I tend to build those side-by-side on my own system).


MRG: Minor fixes

Fixes a number of minor problems I've had while using Report, cHPI functions, and building doc / links.

MRG when green
thx @larsoner


Validation doesn't work on checkboxes.

It seems to be impossible to raise a validation error on type "checkbox".
Here is the output I get when I run the "checkbox.py" example, and try to trigger "'You must choose at least one topping." error message
$ python checkbox.py
😃 Select toppings  done
{'toppings': []}

Going into more detail, I tried to make a set of questions with all the ways of making a validation error, all checkboxes should fail in all cases, but only the final "input" case shows an error.
from PyInquirer import style_from_dict, Token, prompt, Separator
from PyInquirer import Validator, ValidationError

class FailValidator(Validator):

	def validate(self, document):

		raise ValidationError(
			message="boogie",
			cursor_position=len(document.text)
		)

def foo(*args, **kwargs):

	raise NotImplementedError("sdfkjsdflj")

questions = [
    {
        'type': 'checkbox',
        'message': 'Select letters',
        'name': 'raise exception in function',
        'choices': [{"name":"a"}, {"name":"b"}, {"name":"c"}],
        'validate': foo,
    },
    {
        'type': 'checkbox',
        'message': 'Select letters',
        'name': 'lambda false',
        'choices': [{"name":"a"}, {"name":"b"}, {"name":"c"}],
        'validate': lambda x: False,
    },
    {
        'type': 'checkbox',
        'message': 'Select letters',
        'name': 'lambda string',
        'choices': [{"name":"a"}, {"name":"b"}, {"name":"c"}],
        'validate': lambda x: "error message",
    },
    {
        'type': 'checkbox',
        'message': 'Select letters',
        'name': 'validator validation error',
        'choices': [{"name":"a"}, {"name":"b"}, {"name":"c"}],
        'validate': FailValidator,
    },
    {
        'type': 'input',
        'name': 'text input',
        'message': 'Get an error on anything but the empty string.',
		'validate': lambda x: x == "" or "Error message",
    },
]

answers = prompt(questions)

for name, answer in answers.items():
	print(name, answer)

Returns

$ python query-cli.py
? Select letters  [a]
? Select letters  [a]
? Select letters  done
? Select letters  done (3 selections)
? Get an error on anything but the empty string.
text input
raise exception in function ['a']
validator validation error ['a', 'b', 'c']
lambda string []
lambda false ['a']

I came here with the same question. It seems that the answer is in the source code already: https://github.com/CITGuru/PyInquirer/blob/10d53723b36ebc7bba311457ec4afd9747a5c777/PyInquirer/prompts/checkbox.py#L225

Yea, the checkbox doesn't have validator yet. PR is accepted if you figured it out

LOL, I was going nuts thinking that there was something wrong with my code. Good to know that the validator is not yet implemented.

I was looking for the same thing!

I was looking for the same thing! Help...

This seems like an important feature that should be implemented. I too came here with the same problem. PyInquirer is easy to use and does so much well, but I'm not sure how to get around this one.

Great, was about to type in the same issue when I realized that the feature doesn't exist yet

I just encountered this problem. It would indeed be a nice feature to have.

For those who need this feature, there is a project called questionary based on this project (but the code has been refactored and tidied up a lot) and seems a bit more up-to-date - the API is very similar.
I've submitted a pull request to the newer repo (https://github.com/tmbo/questionary/pull/48) which adds validation for the checkbox.


Enable Sourcegraph

I want to use Sourcegraph code search and code review with anko. A project maintainer needs to enable it to set up a webhook so the code is up-to-date there.
Could you please enable anko on @Sourcegraph by going to https://sourcegraph.com/github.com/mattn/anko and clicking on Settings? (It should only take 15 seconds.)
Thank you!

Sorry, No.


Add warnings and hints to the error reporting

Because a lot of non-programmers use typst, giving helpful hints and warnings is even more important than in programming languages.
Some examples
#let x, y = (1, 2) // hint: did you mean to use destructuring syntax (x, y)?
#set text(font: "non-existing font") // warning: font could not be loaded
**test** // warning: no content inside bold

Related: #391.

Another one for hints could be cannot reference equation without numbering

Hints were implemented here, for reference: https://github.com/typst/typst/pull/1486


Tomcat slow at startup with Docker into KVM VM

Hello,
We meet a problem with Tomcat extremly slow at startup. After a long investigation we understand the problem came from entropy with /dev/random
There is a lot of web articles around theses problem https://www.digitalocean.com/community/questions/fresh-tomcat-takes-loong-time-to-start-up
The best article to help us is : http://stackoverflow.com/questions/26021181/not-enough-entropy-to-support-dev-random-in-docker-containers-running-in-boot2d
So we add as volume /dev/urandom from host into /dev/random into container.
I wonder if it is a good idea for long time... for short time it could be a workaround but ?
This problem doesn't appear on virtualbox or vmware. Only KVM...
Thansk for your help.
Best regards,
docker version: 1.6 or 1.7
docker info:
Containers: 17
Images: 1343
Storage Driver: aufs
 Root Dir: /srv/docker/aufs
 Backing Filesystem: extfs
 Dirs: 1377
 Dirperm1 Supported: true
Execution Driver: native-0.2
Kernel Version: 3.16.0-0.bpo.4-amd64
Operating System: Debian GNU/Linux 7 (wheezy)
CPUs: 2
Total Memory: 7.816 GiB
Name: evocloudunit00
ID: G4FF:TRW2:ONSD:52DB:JETC:WTFV:WT73:HQ7V:NDNQ:NZLP:52QX:OYNU
WARNING: No swap limit support

uname -a: Linux 3.16.0-0.bpo.4-amd64 #1 SMP Debian 3.16.7-ckt11-1~bpo70+1 (2015-06-08) x86_64 GNU/Linux
ii  qemu-kvm                           1.1.2+dfsg-6+deb7u8           amd64        Full virtualization on x86 hardware
ii  libvirt0                           <IP_ADDRESS>-1+deb7u1             amd64        library for interfacing with different virtualization systems
ii  linux-image-3.2.0-4-amd64          3.2.68-1+deb7u2               amd64        Linux 3.2 for 64-bit PCs

The mode bridge is easy on hypervisor with 2 VMs

/sbin/brctl show
bridge name     bridge id               STP enabled     interfaces
br0             8000.d4ae52842cc1       no              eth0
                                                        vnet0
                                                        vnet1
with :
ii  bridge-utils                       1.5-6                         amd64        Utilities for configuring the Linux Ethernet bridge

Hi!
Please read this important information about creating issues.
If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
This is an automated, informational response.
Thank you.
For more information about reporting issues, see https://github.com/docker/docker/blob/master/CONTRIBUTING.md#reporting-other-issues

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
uname -a:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

I use rng-tools to feed the kernel's random number entropy pool. Thus I don't have to map the volume to the container.
On Ubuntu it can be done by
apt-get install -y rng-tools
rngd -r /dev/urandom

Tentatively closing as the issue seems to be resolved: please let me know if it needs reopening! Thanks.


[WIP] DartJasonMapper serialize (Query,Part,Post)

I'm sorry for people who care about this feature. But my job have turned to ionic app, so I'm going to close this. Anyone who want to take over this, you can go on, I'd love to give a hand.


Gesture didn't work while widget is bigger than screen!!

As title say, a widget with a tapGesture。While a widget's frame is bigger than screen，out of part of screen，the gesture did not work anyway。how can i fix that problem！

Please add the output of flutter doctor -v.
To investigate we would need a minimal runnable reproduction
as a single file so that we can just copy your code into lib/main.dart of a new project and run to reproduce.

Probably similar to

https://stackoverflow.com/questions/51188344/gesture-response-outside-of-stack-boundary-not-recieved
https://stackoverflow.com/questions/51366761/in-flutter-how-can-a-positioned-widget-feel-taps-outside-of-its-parent-stack-ar

Probably similar to

https://stackoverflow.com/questions/51188344/gesture-response-outside-of-stack-boundary-not-recieved
https://stackoverflow.com/questions/51366761/in-flutter-how-can-a-positioned-widget-feel-taps-outside-of-its-parent-stack-ar

Thanks zoechi.
But my question are not the same as these question.
In my application, while the application init, i build a widget which  some area is out of screen, just liek the upper picture u see.
Here the code like this:
return new Center(
child:
new Transform.scale(
scale: frameScale,
child:
new Transform.translate(
offset: frameOffset,
child:
new Transform(
alignment: dir,
transform: matrix4,
child: RepaintBoundary(
key: frameGlobalKey,
child:
new Stack(
children: getViews()
)))),
));
So, i can change the 'scale', let the widget can fit with screen. (make widget is smaller than screen size)
At this time, i found that some area can't no response to the gesture handler.
I guess these area is out of screen's  area  before change the 'scale'.
So, how can i solve that problem?

Closing due to lack of reproducible case. If there's one posted to this bug, feel free to reopen. Thanks!


android launching error

Starting the app (/usr/local/opt/android-sdk/platform-tools/adb shell am start -n com.example/.MainActivity)...
Starting: Intent { cmp=com.example/.MainActivity }
Error type 3
Error: Activity class {com.example/com.example.MainActivity} does not exist.

I can't reproduce, anybody can?
bash-3.2$ react-native run-android
JS server already running.
Building and installing the app on the device (cd android && ./gradlew installDebug)...
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:checkDebugManifest
:app:preReleaseBuild UP-TO-DATE
:app:prepareComAndroidSupportAppcompatV72301Library UP-TO-DATE
:app:prepareComAndroidSupportRecyclerviewV72301Library UP-TO-DATE
:app:prepareComAndroidSupportSupportV42301Library UP-TO-DATE
:app:prepareComFacebookFrescoDrawee081Library UP-TO-DATE
:app:prepareComFacebookFrescoFbcore081Library UP-TO-DATE
:app:prepareComFacebookFrescoFresco081Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipeline081Library UP-TO-DATE
:app:prepareComFacebookFrescoImagepipelineOkhttp081Library UP-TO-DATE
:app:prepareComFacebookReactReactNative0161Library UP-TO-DATE
:app:prepareOrgWebkitAndroidJscR174650Library UP-TO-DATE
:app:prepareDebugDependencies
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugAssets UP-TO-DATE
:app:mergeDebugAssets UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:mergeDebugResources UP-TO-DATE
:app:bundleDebugJsAndAssets SKIPPED
:app:processDebugManifest UP-TO-DATE
:app:processDebugResources UP-TO-DATE
:app:generateDebugSources UP-TO-DATE
:app:processDebugJavaRes UP-TO-DATE
:app:compileDebugJavaWithJavac UP-TO-DATE
:app:compileDebugNdk UP-TO-DATE
:app:compileDebugSources UP-TO-DATE
:app:preDexDebug UP-TO-DATE
:app:dexDebug UP-TO-DATE
:app:validateDebugSigning
:app:packageDebug UP-TO-DATE
:app:zipalignDebug UP-TO-DATE
:app:assembleDebug UP-TO-DATE
:app:installDebug
Installing APK 'app-debug.apk' on 'react(AVD) - 6.0'
Installed on 1 device.
BUILD SUCCESSFUL
Total time: 17.096 secs
Starting the app (/Users/aksonov/Library/Android/sdk/platform-tools/adb shell am start -n com.example/.MainActivity)...

I found the problem causing this issue. refer to http://stackoverflow.com/a/22524985/5020095
Because the example package is com.example and my android phone have a same name package.
I changed the com.example to com.examplei and the issue fixed.

Good catch!

This doesn't seem to be a problem with this package. Why did you reopen the issue?


GW-56: Develop upcoming events in events page

Created a short landing message in events page
Modify the events layout to accommodate events page's design

Example when there are multiple upcoming events:

This PR is included in another PR (https://github.com/gisauweb/GISAUBC/pull/51).


Version is not updated when version parameter changes

Affected Puppet, Ruby, OS and module versions/distributions

Puppet: all
Ruby: all
Distribution: all
Module version: 3.0.0

How to reproduce (e.g Puppet code you use)
Set $vault::install_method = 'archive'
Set $vault::version to e.g. '1.13.1'
What are you seeing
The output of the command 'vault --version' is the old version i.e. 1.2.2
What behaviour did you expect instead
I expect the module to update the executable i.e. output of the command 'vault --version' should be 1.13.1

Still an issue, any workarounds?


PR to review and merge gh-pages branch into base master

New structural and framework changes need to be reviewed and added into base master.

Merge and commit PR #2 into base master.


Snack-bar Interference with Sliding up panel

I used this code to create snackbar within sliding up panel:
Snackbar.make(mMainCoordinatorLayout, "Some Message" , Snackbar.LENGTH_LONG).show();

Sliding up panel is first view group in my layout and Coordinator layout is within sliding up panel.
Here is the result:

I also sent sliding up panel layout to snack bar , this time snackbar appeared over sliding up panel but this caused sliding up panel to flicker and be laggy!
Snackbar.make(mSlidingUpPanel, "Some Message" , Snackbar.LENGTH_LONG).show();

Am i doing something wrong or this is a bug?

Do not use the snackbar against the panel. Instead wrap the panel with a FrameLayout and use the snackbar on that layout.