PG: Substitute PaperTrail in for mongo AuditTrail

I rule and have completed some work on Case Manager that's ready for review!
We start here by subbing in PaperTrail, the versioning system, for Mongo's AuditTrail.
Tests require a few dependent objects (user and patient specifically) so I did not turn on the tests, but this is as good a place to start as any.
I don't think there's a good way to try this out or otherwise test drive it, so I would recommend reviewing just by looking at the code.
This pull request makes the following changes:

Remove mongo AuditTrail
Integrate PaperTrail in as much as we can without having papertrailable stuff yet

no view change
It relates to the following issue #s:

Bumps #2072

For reviewer:

Adjust the title to explain what it does for the notification email to the listserv.
Tag this PR:

feature if it contains a feature, fix, or similar. This is anything that contains a user-facing fix in some way, such as frontend changes, alterations to backend behavior, or bug fixes.
dependencies if it contains library upgrades or similar. This is anything that upgrades any dependency, such as a Gemfile update or npm package upgrade.

If it contains neither, no need to tag this PR.

Some history_tracks slipped through! Mostly in tests, but also in the urgency concern where it redefines recent_history_tracks
Mon Mar 08 17:27:33 [pg-papertrail] ~/repos/dcaf $ gg "\<history_tracks\>"
app/models/concerns/history_trackable.rb:# Methods pertaining to parsing history_tracks
app/models/concerns/urgency.rb:    history_tracks.select { |ht| ht.updated_at > 6.days.ago }
test/controllers/external_pledges_controller_test.rb:      assert_equal @pledge.history_tracks.count, 2
test/controllers/external_pledges_controller_test.rb:      last_changes = @pledge.history_tracks.last
test/controllers/external_pledges_controller_test.rb:                                     .history_tracks.count' do
test/controllers/practical_supports_controller_test.rb:                                       .history_tracks.count' do
test/helpers/change_log_helper_test.rb:      @changeset = pt.history_tracks.last
test/models/call_test.rb:      assert @call.respond_to? :history_tracks
test/models/call_test.rb:      assert @call.history_tracks.count > 0
test/models/clinic_test.rb:      assert @clinic.respond_to? :history_tracks
test/models/clinic_test.rb:      assert @clinic.history_tracks.count > 0
test/models/external_pledge_test.rb:      assert @pledge.respond_to? :history_tracks
test/models/external_pledge_test.rb:      assert @pledge.history_tracks.count > 0
test/models/fulfillment_test.rb:      assert @fulfillment.respond_to? :history_tracks
test/models/fulfillment_test.rb:      assert @fulfillment.history_tracks.count > 0
test/models/note_test.rb:      assert @note.respond_to? :history_tracks
test/models/note_test.rb:      assert @note.history_tracks.count > 0
test/models/patient_test.rb:      assert @patient.respond_to? :history_tracks
test/models/patient_test.rb:      assert @patient.history_tracks.count > 0
test/models/practical_support_test.rb:      assert @psupport1.respond_to? :history_tracks
test/models/practical_support_test.rb:      assert @psupport1.history_tracks.count > 0

I wouldn't worry about those as much - the tests still use history_tracks since they're all on mongo, and I'll do the Urgency concern when we get to the Patient model (the only component that uses it). Changing them would widen the scope a bit.

Not sure if this is related to the comment above, but the local developer environment no longer builds on this PR.
docker-compose run --rm web rails db:create db:migrate db:seed
...
==<PHONE_NUMBER>0730 CreateEvents: migrating =====================================
-- create_table(:events)
   -> 0.0042s
-- add_index(:events, :created_at)
   -> 0.0034s
-- add_index(:events, :line)
   -> 0.0028s
==<PHONE_NUMBER>0730 CreateEvents: migrated (0.0105s) ============================

rails aborted!
NameError: uninitialized constant AuditTrail
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/inflector/methods.rb:282:in `const_get'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/inflector/methods.rb:282:in `block in constantize'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/inflector/methods.rb:280:in `each'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/inflector/methods.rb:280:in `inject'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/inflector/methods.rb:280:in `constantize'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/core_ext/string/inflections.rb:68:in `constantize'
/usr/local/bundle/gems/mongoid-history-0.8.3/lib/mongoid/history/trackable.rb:80:in `tracker_class'
/usr/local/bundle/gems/mongoid-history-0.8.3/lib/mongoid/history/trackable.rb:330:in `track_history_for_action'
/usr/local/bundle/gems/mongoid-history-0.8.3/lib/mongoid/history/trackable.rb:260:in `track_create'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:121:in `block in run_callbacks'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:139:in `run_callbacks'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/interceptable.rb:132:in `run_callbacks'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/persistable/creatable.rb:119:in `block in prepare_insert'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/callbacks.rb:101:in `run_callbacks'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/interceptable.rb:132:in `run_callbacks'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/persistable/creatable.rb:118:in `prepare_insert'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/persistable/creatable.rb:23:in `insert'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/persistable/creatable.rb:180:in `block in create!'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/threaded/lifecycle.rb:161:in `_creating'
/usr/local/bundle/gems/mongoid-7.0.8/lib/mongoid/persistable/creatable.rb:175:in `create!'
/usr/src/app/db/seeds.rb:17:in `<main>'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:55:in `load'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:55:in `load'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:557:in `block in load_seed'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:675:in `with_inline_jobs'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/engine.rb:557:in `load_seed'
/usr/local/bundle/gems/activerecord-<IP_ADDRESS>/lib/active_record/tasks/database_tasks.rb:440:in `load_seed'
/usr/local/bundle/gems/activerecord-<IP_ADDRESS>/lib/active_record/railties/databases.rake:331:in `block (2 levels) in <main>'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands/rake/rake_command.rb:23:in `block in perform'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands/rake/rake_command.rb:20:in `perform'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/command.rb:48:in `invoke'
/usr/local/bundle/gems/railties-<IP_ADDRESS>/lib/rails/commands.rb:18:in `<main>'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `require'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:23:in `block in require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/loaded_features_index.rb:92:in `register'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:22:in `require_with_bootsnap_lfi'
/usr/local/bundle/gems/bootsnap-1.4.7/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:31:in `require'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `block in require'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:291:in `load_dependency'
/usr/local/bundle/gems/activesupport-<IP_ADDRESS>/lib/active_support/dependencies.rb:324:in `require'
bin/rails:4:in `<main>'
Tasks: TOP => db:seed
(See full trace by running task with --trace)

hm looks like AuditTrail is still being quietly invoked when a User is created? I'll take a look

actually, probably easier to just restore AuditTrail and the associated test for now, since they're still part of the MongoVerse at this point.

bleh that just causes a different issue. I think the root problem here is that audit trail is pretty deeply nested. We can approach this one of two ways:

accept that it's just something ugly we have to get out of the way and review the code, but not fret that we can't spin up a dev environment yet OR
do it last after the models are resorted
do you have an opinion/preference @xmunoz ?

Since you @colinxfleming are largely going to be working on this, I think the decision is up to you. If I were doing it though, I'm not sure how I would be able to convert the other models without a working dev environment, so I would probably opt for option 2. But again, this is your feature branch, so I encourage you to do whatever is easier for you to work with.

per @xmunoz 's very good critique in here, I've adjusted the approach a bit and will keep this consistent for all of the chunks of this where possible --

rails db:drop db:create db:migrate db:seed should work
rails test should work (though, not necessarily pass)
rails s should spin up a server
the call list dashboard and patient edit view should both work

thank you @lomky !


Add Windows and MacOS support via CMake or Makefile

Describe you problem / suggestion:
Right now the Linux install via install.sh works perfect, but for Windows and MacOS you need to build yourself the binary.
Steps to reproduce (optional):
None
Possible fix (optional):
Add any installation method for Windows and MacOS using CMake or similar, something that compiles the .cpp files from /src and include the sfml library located in /lib.
OS

[x] : Windows
[x] : Mac OS
[ ] : Linux

Possible duplicate #10


Nuxt 2 debugging with VSCode or PHPStorm, breakpoints are not working even in basic setup

Environment
Windows 11
NodeJS v18.16.0
New installation with npx create-nuxt-app selecting Typescript or Javascript as language
Reproduction
New installation with npx create-nuxt-app selecting Typescript or Javascript as language
Add for example this code to then index.vue page
export default Vue.extend({
 name: 'IndexPage',

 mounted() {
   console.log("Breakpoint")
 },

})
</script>

And add this code to Tutorial.vue
    <div v-html="testData" />
  </div>
</template>

<script lang="ts">
export default {
  name: 'NuxtTutorial',

  mounted() {
    console.log("Breakpoint")
  },
  computed: {
    testData():string {
      for (let i = 0; i < 10; i++) {
        console.log(i);
      }
      return "Breakpoint";
    }
  }
}
</script>

Describe the bug
When starting a JavaScript Debug Session in PHPStorm (same Problem in VSCode)

The breakpoint in index.vue is not hit at all
In Tutorial.vue sometimes the mounted breakpoint is working but the testData breakpoint stopps in the wrong line and is not steppable.
I now also tested with Javascript instead of typescript and the result is that we have less problem but still problems. Both mounted breakpoints are working but the testData breakpoint not, it is stopping not in the breakpointline but in the next line and stepping through the loop is not possible

Additional context
In Nuxt 3 everything is working perfect. But we have a lot of customer projects in Nuxt 2 and cannot move them easily to Nuxt 3. There are also other people having the same problem:
https://discordapp.com/channels/473401852243869706/1110959994758778950
https://stackoverflow.com/questions/75320195/how-can-i-configure-vscode-debugger-with-nuxt-2-typescript-and-eslint
In earlier versions of Nuxt it was working but I couldn't find out which the last working version it was.
Logs
No response

This is also the case in Nuxt 3.
In the v3 version it's because the sourcemap links to the built version of the file, not the actual source file in the project.
E.g. /src/index.vue is actually located in ./_nuxt/index.vue.

We are approaching the Nuxt 2 EOL date (June 30, 2024) - see this article for more information. This is advance warning that I'm going to close this issue then, as it's currently marked as a Nuxt 2 related bug.
If it's a critical or security issue, please do comment and let me know, in case it is possible to address it before the EOL date.
If it's a an issue you think is relevant for Nuxt 3, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏
Thank you for your understanding and for your contribution to Nuxt. ❤

It's the day, at last. Nuxt 2 is now marked end-of-life.
My apologies we never got round to resolving this bug in the 2.x branch, but we do have to draw a line somewhere. Again, if you think this is still relevant for Nuxt going forward, please feel free to open a fresh issue (or just comment here so I can update labels, etc.). 🙏


How to refer to a font asset?

I've been trying out the new asset pipeline today:

Rails 7 https://github.com/rails/rails/commit/63d71786b222455ea6a1ab5e7a4f97bd368d9b93
propshaft 0.4.1
cssbundling-rails 0.2.6 configured for Bulma
(importmap-rails 0.9.1)

It's so fast compared to webpack :)
However I can't figure out how to refer to a font asset in a stylesheet.
Here's the directory structure:
app/assets/
├── builds/
│   └── application.css
├── config/
├── fonts/
│   └── susa-regular.woff2
├── images/
└── stylesheets/
    ├── application.bulma.sass
    └── fonts.sass

And here are the test stylesheets:
// app/assets/stylesheets/application.bulma.sass
@import 'fonts'

// app/assets/stylesheets/fonts.sass
@font-face
  font-family: 'SusaRegular'
  src: url('../fonts/susa-regular.woff2') format('woff2')

.logotype
  font-family: 'SusaRegular', serif


D2.3 - Binary Heaps

Long-Term Plan:

Complete this week's work
Week of 3/10:

Ruby: Issue #836

Week of 3/17:

Ruby: Issue #817


Redux devtool is not tracking the app's store

Fixing this will help developers understand the app's behavior better and deliver features faster.
Steps to Reproduce

Start the Ketcher app locally
Open the browser, go to http://localhost:3000/
Open the browser's devtools, switch to Redux devtool

Actual behavior
Only the init action is tracked by the Redux devtools
Expected behavior
The app's store and all the fired actions are tracked by the Redux devtools
Screenshots

Desktop:

OS: Windows 10
Browser: Chrome v108.0.5359.96

Ketcher version [e.g. v2.4.2].
v2.6.0

It is required to add a library https://www.npmjs.com/package/@redux-devtools/extension
Then add
...
import { composeWithDevTools } from '@redux-devtools/extension'
...
return createStore(
    rootReducer,
    initState,
    composeWithDevTools(applyMiddleware(...middleware))
  )


Updated validations.py python script.

Closes: #1
Fixed the behaviour of validate_user function in validations.py
Fixes #1

It's a good idea to open an issue first for discussion.

[ ] Tests pass
[ ] Appropriate changes to README are included in PR

Signed CLA agreement.


📚 Adding Knowledge llm blocks

🧩 Conditional Block for conditionally picking prompt templates and parsing function
🎛 Changes in the Sampling block to handle post_fixes
🐞 Bug fix for _parse function in LLMBlock

I noticed that this PR changed the format expected from the dataset given to the pipeline. The CLI integration we just merged matched the old format. (We merged it after this, I just missed that this change impacted it.) This made me realize that the skills templates expect something different, as well. I filed #55 as a follow-up to this issue.


Can't add image to a favorite with a forward slash in the name

If I have a favorite with a forward slash in the name, e.g. "mel/a", viewing a picture with that tag and selecting "Choose as image" in the context menu does nothing.

Indeed, thanks for informing me. Seems like this context menu option wasn't passing through the filename validation step.
It will be fixed for next version. :smile:


Add Analytics page to share site analytics

This issue is aimed at developing an analytics view that will help us improve the site based on how visitors interact with the content and features. Some or all of this content may be appropriate for public viewing.
Things we could track on an analytics page:

number of visitors
trending cases ranked by recent engagement (e.g. views, follows, comments, edits in the past 7 days)
geographical distribution of site visitors
number of editors
cases updated

code for this is in the site_analytics branch

I don't remember if this is working or not.

in terms of building the dashboard, thought this might be a useful tutorial<EMAIL_ADDRESS>

With the inability to parse Ahoy Events, I still think we can have a decent analytics page viewable by the public.  We may decide to remove recently updated cases from the Home Page and include it on the public analytics page.  Alternatively, maybe it makes sense to include all of the analytics at the bottom of the home page. What we will miss without Ahoy is the ability to view and analyze clicks, and probably the ability.  Here are some of the things I think we could display without using Ahoy::Events:

number of visitors by location
Visitors by date
Number of Vistors in last 30 days
Most Followed cases
Recent Case Comments
Recently Updated
Most Viewed Cases (reqs Ahoy)

Thinking we can use Google Analytics for some stats until we figure out how to parse the data we are already gathering. Here is a tutorial on how to access Google Analytics with ruby:
http://willschenk.com/pulling-data-out-of-google-analytics/

A nice sample layout:
code: https://github.com/iogbole/gentelella_on_rails/commit/12c84dee8e4bc9c365acb2b982bb30c50a8116ff
demo:
https://colorlib.com/polygon/gentelella/index.html

I think it is important to consider the analytics page in terms of our goals for EBWiki and what we are trying to achieve in terms of user behavior.  That should drive the metrics we track on the analytics page. I know we have discussed this in other places, but I think it doesn't hurt to have it here as well.
In short, at this point, we want people to view and engage with our content. Tracking engagement means:

site visits
cases viewed
cases followed
unique followers
user sign ins
newsletter sign-ups
email updates
cases edited
unique editors

I think if we track these things we will have a good view into how well we are engaging users with our content. In the meantime, we should prioritize which of these is most important to determine where to place the stats on the page. We are doing this implicitly, but we could benefit from a more purposeful approach.

I think that this is no longer a single issue, and should be split into separate tickets with the tag "analytics" and linked to this issue. I also think that one of the first issues would be to have a comprehensive analytics approach.

closing this.  As @trystant mentioned, any future additions to the current production analytics page should be the subject of separate issues.


Feature/api v2

Deployment of an upgraded API experience for the Bountyboard. This release aims to give us production-grade CRUD functionality for a multitenant bounty architecture. It includes the following quality of life improvements:
Strongly typed schema, validations and interfaces:

Bounties and Customers strongly typed schema definitions with automatically generated typescript interfaces
Bounties and Customers serialisation and validation using Yup schema
Bounties, robust PATCH api protections, preventing accidental overwrites of nested objects
Bounties, polymorphic single schema object that automatically detects POST vs PATCH operations

Bounties API

API pagination with dynamic cursor
Addition of PATCH, POST, DELETE routes
Removal of the PUT route, in line with REST semantics (we can easily add this back if needed)

Customers API

Addition of PUT, DELETE, POST routes

QA

Backend test coverage > 80%, including integration test suite that connects to a local mongo instance

Note
While the functionality is complete, there is 1 pending issues I need to check:

Does the old API need supporting (content gateway), or will the current one still work for the team, the Bounties schema is unchanged for GET requests.

EDIT: Resolved the gating issue with a discord ID guard, this is intended to be lifted in subsequent developments with a proper auth module.

Added ultra basic gating to restrict to myself, behold and NS human

Updated to base branch and merged


[napari-worfklows] Allow label-only input

Branching from https://github.com/fractal-analytics-platform/fractal-tasks-core/issues/159

Also note that this will be related to a different issue coming up (by @jluethi?): how could we actual pixel sizes in napari worfklows? (this concerns e.g. the use of ITK rather than regionprops).

[x] Allow label-inputs-only workflows (https://github.com/fractal-analytics-platform/fractal-tasks-core/commit/06f6725236eeedb0dd0a4ef1b9fe1bd1a5a36011).
[ ] Add test for a workflow going from label images to measurements (without using intensity images).

@tcompa Do you already have such a workflow going from label images to measurements (without using intensity images)? Otherwise, I can create one that we can use :)

If you ca prepare one, even better. Thanks

Re-opening since the test is still missing.

Thanks @jluethi.
Writing the test brought up a different question: what should we use as a shape/chunksize of the output label?

In the previous version (no label-only workflows allowed), we would use the property of the image (note: I am not sure the level was handled correctly).
In the current test example (label-to-label workflow), it is clear that we should use the property of the input label also for the corresponding output label.
How general can we make it? What if we have a multiple-labels-to-single-label workflow?

A quick solution would be to enforce this constraint:
IF there are N>=1 label outputs, THEN EITHER there are image inputs (assumed to have the same shape) OR there is one and only one label input.
Does that seem reasonable?

Ok, I now added the constraint above ("IF there are N>=1 label outputs, THEN EITHER there are image inputs (assumed to have the same shape) OR there is one and only one label input.").
Note that I also had to add some more logic to handle the current issue:
If the was no upscaling, then also the ROI indices have to be re-built, because the pixel size that we use by default is the one from the highest-resolution images and would not work for labels where level=0 may have a different resolution from the images' level=0. This is now also handled - see https://github.com/fractal-analytics-platform/fractal-tasks-core/pull/171/commits/5dbc4e02c217be75ffb20a94369a4b2b0eac4fa9.


Binary fails to start web UI?

Going to <IP_ADDRESS>:8090 shows nothing.
curl -sL "https://github.com/henrygd/beszel/releases/latest/download/beszel_$(uname -s)_$(uname -m | sed 's/x86_64/amd64/' | sed 's/armv7l/arm/' | sed 's/aarch64/arm64/').tar.gz" | tar -xz -O beszel | tee ./beszel >/dev/null && chmod +x beszel && ls beszel

./beszel serve <IP_ADDRESS>:8090
2024/08/06 13:37:01 Server started at https://<IP_ADDRESS>:8090
├─ REST API: https://<IP_ADDRESS>:8090/api/
└─ Admin UI: https://<IP_ADDRESS>:8090/_/

netstat -tulpen|grep 8090
 |-> this show nothing too

lsb_release -a
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

Thx!

Probably an https issue. Try this instead:
./beszel serve --http <IP_ADDRESS>:8090

Well that was an easy fix :)


Per-community timezones

Add timezone field type to custom fields
Allow timezone to be set in community settings
Set on page load based on current_community
Make all reminder jobs per-community and use timezone when checking correct_hour?
Scan code for other issues

Originally created by Tom Smyth at 2017-03-27 03:40, migrated from redmine-#6145

Priority changed from 3 to 2

By Tom Smyth at 2017-04-12 06:27

Priority changed from 2 to 1

By Tom Smyth at 2017-04-12 06:30

Version set to 4.0

By Tom Smyth at 2017-05-22 23:56

Status changed from New to Closed

By Tom Smyth at 2017-05-22 13:35


routes: wrong range in destination network

the dropdown @ destination network shows wrong range (you have to edit the route after creating, then it shows correct masks)
via https://forum.opnsense.org/index.php?topic=279.0

page was refactored some months ago, issue doesn't seem to be in there any more.


graphiQL integration

I am using express and mongoose, and I suspect many do.
It would nice to have an example of a graphiQL (https://github.com/graphql/graphiql) integration.
Is the graphQL schema exposed somewhere ?

Take a look at the example application, it uses graphiQL. We have a plan to serve a graphiQL instance on /graphql, but it will be part of graffiti. Based on our progress it should be available in the next two weeks.

Great !
A few questions if you don't mind :

is it used in production somewhere ?
is there a limit on mongoose/express versions to be used ?

@nha As GraphQL itself this is an experimental project. This project is maintained and continuously evolving. I think it got to the point where you can use in production. This is not dependent on express at all, you can use any web framework to expose graphql. graffiti-mongoose generates the GraphQL schema from Mongoose schema, it saves you from writing it manually.

Thanks for the reply.
I had a look at the example app (https://github.com/RisingStack/graffiti-example), but I did not see a graphiQL integration ?
My question regarding the versions is : does graffiti-mongoose needs this exact version : https://github.com/RisingStack/graffiti-mongoose/blob/master/package.json#L47
( "mongoose": "^4.1.11" ) ?
Or is it known to work with older versions (ex. I have a project using mongoose 3.6.20 right now)?

@nha The GraphiQL example is here. It uses Mongoose promise APIs internally, most likely it won't be working. The change history might be useful: https://github.com/Automattic/mongoose/blob/master/History.md, I can't say for sure.

@nha this PR includes GraphiQL option on GET when requesting /graphql for graffiti

Cool :) I played with graffiti and it is nice. I still have to upgrade Mongoose to be able to use it in a real project though.
I guess it is time to close this issue.


Error: No /configs/config.json or specified config

Hi guys I need help with my configs. I copied the config.json.example and pasted it into the same folder. Then i renamed it to config.json and put in my details however, when i run python pokecli.py i get this:
$ python pokecli.py
2016-08-07 15:10:33,695 [       cli] [INFO] PokemonGO Bot v1.0
2016-08-07 15:10:33,696 [       cli] [INFO] Error: No /configs/config.json or specified config
usage: pokecli.py [-h] [-cf CONFIG] -a AUTH_SERVICE [-u USERNAME]
[-ws WEBSOCKET.SERVER_URL]
[-wss WEBSOCKET.START_EMBEDDED_SERVER]
[-wsr WEBSOCKET.REMOTE_CONTROL] [-p PASSWORD] [-l LOCATION]
[-lc LOCATION_CACHE] [--forts.spin FORTS.SPIN] [-w WALK]
[-k GMAPKEY] [-e SHOW_EVENTS] [-d DEBUG] [-t TEST]
[-du DISTANCE_UNIT] [-ec EVOLVE_CAPTURED]
[-rt RECONNECTING_TIMEOUT] [-hr HEALTH_RECORD]
[-ac FORTS.AVOID_CIRCLES] [-mcs FORTS.MAX_CIRCLE_SIZE]
[--catch_randomize_reticle_factor CATCH_RANDOMIZE_RETICLE_FACTOR]
[--catch_randomize_spin_factor CATCH_RANDOMIZE_SPIN_FACTOR]
[--map_object_cache_time MAP_OBJECT_CACHE_TIME]
pokecli.py: error: argument -a/--auth_service is required
On Mac OSX
my main folder with all the file is called Pokemongo-bot and is saved on my desktop if that changes anything.

For me, the JSON was invalid as it was. Check yours as JSONlint.com

okay ill give it a go

Config Files moved to Configs folder, I had the same issue this morning after doing a pull request for the PGO updates

@WaffleMoose  but which configs do we change? I just figured out they were in the folder but I have no clue which ones to change.

in the configs folder are just examples, rename the config.json.example to config.json, and then have a look at the other config files for templates of what you can use, dont forget to update the file to your settings

@WaffleMoose Okay I have done that now I am getting the same error as him hm.

@Elim160  as above, check that your json is correct on http://jsonlint.com/
Also does it have rights to the folder?


Seeking Information on the Origin of ollama Models

Who can tell me where the models in ollama are downloaded from? For example, is gemma:7b-instruct-fp16, as in ollama run gemma:7b-instruct-fp16, sourced from Hugging Face? If so, who can tell me the specific source, or are the large models in ollama all newly quantized or fine-tuned by themselves?

The sources are typically covered on the model page (e.g. for gemma). We usually take the safetensors implementation from HF, convert it to GGUF, and then pull the GGUF file into the Ollama model format. You can find out more information about how the import works here.
There are some changes coming which will allow you to use a Modelfile and directly import the safetensor's directory on the FROM line.

Thank you very much for your help. However, I am still confused about the GPU usage of the model. For example, in ollama, the GPU usage of gemma:7b-instruct is shown as 5.2GB, but there should be four safetensors files in Hugging Face, totaling up to 18GB. That's why I'm guessing whether ollama has done some kind of quantization process on the models, like 8bit or 16bit.

The sources are typically covered on the model page (e.g. for gemma). We usually take the safetensors implementation from HF, convert it to GGUF, and then pull the GGUF file into the Ollama model format. You can find out more information about how the import works here.这些来源通常包含在模型页面上（例如，对于 gemma）。我们通常从 HF 中获取 safetensors 实现，将其转换为 GGUF，然后将 GGUF 文件拉成 Ollama 模型格式。您可以在此处找到有关导入工作原理的更多信息。
There are some changes coming which will allow you to use a Modelfile and directly import the safetensor's directory on the FROM line.即将进行一些更改，这些更改将允许您使用 Modelfile 并直接在 FROM 行上导入 safetensor 的目录。

Thank you very much for your help. However, I am still confused about the GPU usage of the model. For example, in ollama, the GPU usage of gemma:7b-instruct is shown as 5.2GB, but there should be four safetensors files in Hugging Face, totaling up to 18GB. That's why I'm guessing whether ollama has done some kind of quantization process on the models, like 8bit or 16bit.

The sources are typically covered on the model page (e.g. for gemma). We usually take the safetensors implementation from HF, convert it to GGUF, and then pull the GGUF file into the Ollama model format. You can find out more information about how the import works here.
There are some changes coming which will allow you to use a Modelfile and directly import the safetensor's directory on the FROM line.

Thank you very much for your help. However, I am still confused about the GPU usage of the model. For example, in ollama, the GPU usage of gemma:7b-instruct is shown as 5.2GB, but there should be four safetensors files in Hugging Face, totaling up to 18GB. That's why I'm guessing whether ollama has done some kind of quantization process on the models, like 8bit or 16bit.

here's the size of the model:

I'm not sure why it would say it's only using 5.2GB. The safetensors version is in brainfloat16, and when it's converted to gguf it will be mostly fp16 and fp32 (for the normalization layers). It's definitely not quantized.

brainfloat16

here's the size of the model:
I'm not sure why it would say it's only using 5.2GB. The safetensors version is in brainfloat16, and when it's converted to gguf it will be mostly fp16 and fp32 (for the normalization layers). It's definitely not quantized.

The 7b-instruct I saw on ollama is this, showing 5.2G, so I'm quite confused.

Yeah, that is a 4bit quantized version. Make sure you ollama pull gemma:7b-instruct-fp16 to get the non-quantized version.

Yeah, that is a 4bit quantized version. Make sure you ollama pull gemma:7b-instruct-fp16 to get the non-quantized version.

Thank you. Then, where was this quantized version of the model downloaded from? It seems from the logs that it came from Hugging Face, but I couldn't find similar resources on Hugging Face. Could I see the URL address?

We usually take the safetensors implementation from HF, convert it to GGUF, and then pull the GGUF file into the Ollama model format

It's the same safetensors file. It's first converted from safetensors to GGUF (in fp16) and then quantized to the various versions that you can see in the tag list. If you follow the link I mentioned before you can find instructions on how to quantize a model.

We usually take the safetensors implementation from HF, convert it to GGUF, and then pull the GGUF file into the Ollama model format

It's the same safetensors file. It's first converted from safetensors to GGUF (in fp16) and then quantized to the various versions that you can see in the tag list. If you follow the link I mentioned before you can find instructions on how to quantize a model.

Okay, thank you again for your response.

Can I use the original models without quantization?


Displaying calendar weeks

Is your feature request related to a problem? Please describe.
In some scenarios planning is easier in calendar weeks instead of dates.
Therefore displaying calendar weeks would be a nice feature.
Describe the solution you'd like
Optional displaying the current week number in front of each week (row).
Enabling / Disabling this feature via props.
Additional context
Screenshot IOS Calendar

Nice! @pslabs-at Very good idea, I think we can implement it in a future version


fix: Fix deconv kernel channel num_output_maps where wts are ITensor

Description
Please include a summary of the change and which issue is fixed. Please also include relevant motivation and context. List any dependencies that are required for this change.
In current implementation deconv layer picks up the in_channel for kernel incorrectly when weight is also an ITensor.
This PR fixes that issue.
Conv2d
ConvTranspose2d
For conv2d the kernel dimensions are: [out_channels, in_channels / group, ... ]
For convTranspose2d the kernel dimension should be: [in_channel, out_channels / group, ... ]
Fixes # (issue)
Type of change
Please delete options that are not relevant and/or add your own.

Bug fix (non-breaking change which fixes an issue)
New feature (non-breaking change which adds functionality)
Breaking change (fix or feature that would cause existing functionality to not work as expected)
This change requires a documentation update

Checklist:

[x] My code follows the style guidelines of this project (You can use the linters)
[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas and hacks
[ ] I have made corresponding changes to the documentation
[x] I have added tests to verify my fix or my feature
[x] New and existing unit tests pass locally with my changes
[x] I have added the relevant labels to my PR in so that relevant reviewers are notified

Hi @bowang007
Request you to please review this PR for merge?


tflite: RandomStandardNormal not convertible with pure tensorflow, but works with keras

System information

Have I written custom code (as opposed to using a stock example script provided in TensorFlow): yes
OS Platform and Distribution (e.g., Linux Ubuntu 16.04): Ubuntu 18.04
TensorFlow installed from (source or binary): docker
TensorFlow version (use command below): 1.15.0-dev20190821
Python version: 3.6.8

I have an variational autoencoder model utilizing tf.random.normal function. I want to convert it into a tflite model.
I have written code in keras that achieves that. The conversion works and I get reasonable results. However, if I re-write the model with tensorflow-only operations (no keras so to speak), the converter claims that RandomStandardNormal is not available for tflite:
2019-09-04 12:04:12.858787: I tensorflow/lite/toco/import_tensorflow.cc:659] Converting unsupported operation: RandomStandardNormal
2019-09-04 12:04:12.859104: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before Removing unused ops: 21 operators, 32 arrays (0 quantized)
2019-09-04 12:04:12.859336: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before general graph transformations: 21 operators, 32 arrays (0 quantized)
2019-09-04 12:04:12.859712: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] After general graph transformations pass 1: 9 operators, 21 arrays (0 quantized)
2019-09-04 12:04:12.859823: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before Group bidirectional sequence lstm/rnn: 9 operators, 21 arrays (0 quantized)
2019-09-04 12:04:12.859876: I tensorflow/lite/toco/graph_transformations/graph_transformations.cc:39] Before dequantization graph transformations: 9 operators, 21 arrays (0 quantized)
2019-09-04 12:04:12.859972: I tensorflow/lite/toco/allocate_transient_arrays.cc:345] Total transient array allocated size: 320 bytes, theoretical optimal value: 256 bytes.
2019-09-04 12:04:12.860009: I tensorflow/lite/toco/toco_tooling.cc:454] Number of parameters: 8592
2019-09-04 12:04:12.860269: E tensorflow/lite/toco/toco_tooling.cc:481] We are continually in the process of adding support to TensorFlow Lite for more ops. It would be helpful if you could inform us of how this conversion went by opening a github issue at https://github.com/tensorflow/tensorflow/issues/new?template=40-tflite-op-request.md
 and pasting the following:

Some of the operators in the model are not supported by the standard TensorFlow Lite runtime. If those are native TensorFlow operators, you might be able to use the extended runtime by passing --enable_select_tf_ops, or by setting target_ops=TFLITE_BUILTINS,SELECT_TF_OPS when calling tf.lite.TFLiteConverter(). Otherwise, if you have a custom implementation for them you can disable this error with --allow_custom_ops, or by setting allow_custom_ops=True when calling tf.lite.TFLiteConverter(). Here is a list of builtin operators you are using: ADD, FULLY_CONNECTED, LOGISTIC, MUL. Here is a list of operators for which you will need custom implementations: RandomStandardNormal.
Traceback (most recent call last):
  File "/usr/local/bin/toco_from_protos", line 10, in <module>
    sys.exit(main())
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/lite/toco/python/toco_from_protos.py", line 89, in main
    app.run(main=execute, argv=[sys.argv[0]] + unparsed)
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/python/platform/app.py", line 40, in run
    _run(main=main, argv=argv, flags_parser=_parse_flags_tolerate_undef)
  File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 299, in run
    _run_main(main, args)
  File "/usr/local/lib/python3.6/dist-packages/absl/app.py", line 250, in _run_main
    sys.exit(main(argv))
  File "/usr/local/lib/python3.6/dist-packages/tensorflow_core/lite/toco/python/toco_from_protos.py", line 52, in execute
    enable_mlir_converter)
Exception: We are continually in the process of adding support to TensorFlow Lite for more ops. It would be helpful if you could inform us of how this conversion went by opening a github issue at https://github.com/tensorflow/tensorflow/issues/new?template=40-tflite-op-request.md
 and pasting the following:

Some of the operators in the model are not supported by the standard TensorFlow Lite runtime. If those are native TensorFlow operators, you might be able to use the extended runtime by passing --enable_select_tf_ops, or by setting target_ops=TFLITE_BUILTINS,SELECT_TF_OPS when calling tf.lite.TFLiteConverter(). Otherwise, if you have a custom implementation for them you can disable this error with --allow_custom_ops, or by setting allow_custom_ops=True when calling tf.lite.TFLiteConverter(). Here is a list of builtin operators you are using: ADD, FULLY_CONNECTED, LOGISTIC, MUL. Here is a list of operators for which you will need custom implementations: RandomStandardNormal.

This is very confusing, as the keras model used the very same function and it worked. Does keras do something under the hood?
Code to reproduce the issue
I have created a repo for this HERE. Steps to reproduce this issue:

Execute python keras_model.py to train and save the keras model
Execute python keras_conversion.py to create the tflite model without errors
Execute python tf_model.py to train, save and freeze the pure tf model
Execute python tf_conversion.py to try the conversion and get the error

Hi. I reproduced the same result in TF==1.15 and I found out that the pure TF model conversion succeeded if removing optimization options & adding Flex op options like this:
  converter = tf.lite.TFLiteConverter.from_frozen_graph(graph_def_file, inputs, outputs)
  # Uncomment the following two lines show segmentation fault.
  # converter.representative_dataset = representative_dataset_gen
  # converter.optimizations = [tf.lite.Optimize.DEFAULT]

  # TODO(jaeyoo) : Add custom op for RandomStandardNormal
  supported_ops = [tf.lite.OpsSet.TFLITE_BUILTINS]
  supported_ops += [tf.lite.OpsSet.SELECT_TF_OPS]
  converter.target_spec.supported_ops = supported_ops

  tflite_file_name = 'vae_classic.tflite'
  tflite_model = converter.convert()

Could you check it on your side?

@DocDriven
Is this still an issue.


Feat-204 Schedule for classes

Is your feature request related to a problem? Please describe.
Not applicable
Describe the solution you'd like
The classes will no have a schedule (with the new endpoint that has been created), then it will be used to show the classes for the families

Story Points: 5
See the discussion in Frontend S3 v2
Powered by Parabol


Port not allowed

Hey Guys,
Thanks for the port, i put the php script on to my websever when i call it i recieve ("error: html2canvas-proxy-php: "443" port is not allowed");
html2canvasproxy.php?url=https://www.roadrunnerrecords.com/sites/g/files/g2000005056/f/Sample-image10-highres.jpg
i haven't changed any content from the script so allowed ports is still the same
define('H2CP_ALLOWED_PORTS', array( 80, 443 )); // Allowed ports
Are there any setup steps i need to do?
Thanks

@ashleyCheuk12 thanks by reporting this bug, I will correct it today.


make top left icon align (correctly) left

humidity is the only icon not showing on its correct spot in the grid. this fixes that
from:

to

Also wind direction :wink:

haha yes, of course... sorry.

with todays merge of PR #60  which includes this (per my request) we can now close this.
Thanks @koying !


2nd Hue Bridge needs manual pressing of button

I have homebridge running on a pi.
I have 2 HUE bridges in my house (to many bulbs and switches for 1)
I have added both bridges in homebridge via "homebridge-hue"
only the first bridge connects automatically on every restart. the second one requires a button press on the bridge every time.
I have also switched position of the bridges in the config editor, and it remains the 2nd Bridge requiring the hard button press.
Anyone any idea what I am doing wrong?
thanks in advance for any help

You need to add the bridge ID and username (API key) of the second bridge to config.json as well.

I have added both to config.json as required.
Only the first one listed in the file works automatically. the second one (I switched the following order to test) always requires  manually pressing the bridge button

Double-check the bridge ID, it’s case sensitive.  And it should be a single object with the two bridge IDs as keys and the two usernames as values.

Hello Erik,
I have the same problem here. Using the standard settings. Everytime i restart the Homebridge, I need to press the button.
I am new to homebridge, so i don’t know what i have to config file.
Everything is working great after pressing the button, but is there a solution, so I don’t have to press it everytime when startup homebridge?
(You can answer in dutch if you prefer)

Double-check the bridge ID, it’s case sensitive. And it should be a single object with the two bridge IDs as keys and the two usernames as values.

Ah, thank you, I had added them as two separate objects. Now combined and it works like a charm!

@MJV74 Can you show me a printscreen of your config? So I can do the same with my problem. Thanks

@MJV74 Can you show me a printscreen of your config? So I can do the same with my problem. Thanks

@MJV74 @ebaauw

Where do I need to put the "users"? Onder the last section?

@MJV74 Do I need to delete the rest of the Hue config?

No need to delete anything, just add this under platforms.
when you start up home bridge, it asks you to press the button on the bridge. then the startup log shows the hue ID and Key as on my print screen. Copy those and add them under platforms in the config file

I realise this is awkward, but back in the day when I created Homebridge Hue, this was the only way to get it to work.
Homebridge Hue2 will use the dynamic platform accessory setup, and persist the username (API key) in the cached accessories, so there will be no more need to edit config.json manually.


Gem Sockets + Anoints

In addition to my previous PR, I added the "gem sockets" pricecheck feature for active skill gems. Also, I should up my git game and learn how to use branches.

Sorry might end up being a day or so until i get to this

Tested, works absolutely fantastically! Thank you for the help!

@zoedel If you still have it, How was the anoints line generated? I have some stuff I want to add to it but I don't want to completely rebuild it if you have the code lying around. (adding in oils for the anoints)

I did some JSON querying on a passive tree export linked in official PoE discord (tooldev-general text channel). Don't have that at hand right now, might be able to provide stuff tomorrow

All good! If you are able to find it that would be awesome, but not rush since I'm going to be playing the game for a few days. I should really join the discord too, that would probably be a good idea


Cannot initialize FlowSpec?

Tried this in a jupyter notebook:
from metaflow import FlowSpec, step

class TravelFlow(FlowSpec):
    pass

if __name__ == '__main__':
    TravelFlow()

And it gives me an error:
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
<ipython-input-8-e93218f57f8d> in <module>
      1 if __name__ == '__main__':
----> 2     TravelFlow()

~/.pyenv/versions/3.7.5/envs/375/lib/python3.7/site-packages/metaflow/flowspec.py in __init__(self, use_cli)
     68         self._cached_input = {}
     69
---> 70         self._graph = FlowGraph(self.__class__)
     71         self._steps = [getattr(self, node.name) for node in self._graph]
     72

~/.pyenv/versions/3.7.5/envs/375/lib/python3.7/site-packages/metaflow/graph.py in __init__(self, flow)
    130     def __init__(self, flow):
    131         self.name = flow.__name__
--> 132         self.nodes = self._create_nodes(flow)
    133         self.doc = deindent_docstring(flow.__doc__)
    134         self._traverse_graph()

~/.pyenv/versions/3.7.5/envs/375/lib/python3.7/site-packages/metaflow/graph.py in _create_nodes(self, flow)
    137     def _create_nodes(self, flow):
    138         module = __import__(flow.__module__)
--> 139         tree = ast.parse(inspect.getsource(module)).body
    140         root = [n for n in tree\
    141                 if isinstance(n, ast.ClassDef) and n.name == self.name][0]

~/.pyenv/versions/3.7.5/lib/python3.7/inspect.py in getsource(object)
    971     or code object.  The source code is returned as a single string.  An
    972     OSError is raised if the source code cannot be retrieved."""
--> 973     lines, lnum = getsourcelines(object)
    974     return ''.join(lines)
    975

~/.pyenv/versions/3.7.5/lib/python3.7/inspect.py in getsourcelines(object)
    953     raised if the source code cannot be retrieved."""
    954     object = unwrap(object)
--> 955     lines, lnum = findsource(object)
    956
    957     if istraceback(object):

~/.pyenv/versions/3.7.5/lib/python3.7/inspect.py in findsource(object)
    766     is raised if the source code cannot be retrieved."""
    767
--> 768     file = getsourcefile(object)
    769     if file:
    770         # Invalidate cache if needed.

~/.pyenv/versions/3.7.5/lib/python3.7/inspect.py in getsourcefile(object)
    682     Return None if no way can be identified to get the source.
    683     """
--> 684     filename = getfile(object)
    685     all_bytecode_suffixes = importlib.machinery.DEBUG_BYTECODE_SUFFIXES[:]
    686     all_bytecode_suffixes += importlib.machinery.OPTIMIZED_BYTECODE_SUFFIXES[:]

~/.pyenv/versions/3.7.5/lib/python3.7/inspect.py in getfile(object)
    645         if getattr(object, '__file__', None):
    646             return object.__file__
--> 647         raise TypeError('{!r} is a built-in module'.format(object))
    648     if isclass(object):
    649         if hasattr(object, '__module__'):

TypeError: <module '__main__'> is a built-in module

Not sure what the problem is?

Currently, you can't author your flow inside a notebook.

Hi, has this changed? Or are there plans to support flows within notebooks?

@MasterSkepticista Please see https://docs.metaflow.org/metaflow/managing-flows/introduction
This should be related and was released just yesterday.


Volumes displayed in BTC

Hello,
I basically found the string to display market volume on BTC instead of coins amount traded, but dunno how to call back fromBuyertoSeller on this string to allow volume on market table to be display on BTC.
From index.js:
const vol = (message.coins[i].volume*1).toFixed(8);
This is where i should call fromBuyerToSeller SUM to display btc volume, but i'm getting crazy.

About which amount you tell. Where exactly its shown?

Main page, top left corner tab:

Now its show on Vol fields only the sum amount of coins traded daily, but not his BTC amount.
So it show for example 10 ltc traded or 10 doged traded, but not their respective BTC amount (as 99% exchanges have).
I think the string to change its From index.js:
const vol = (message.coins[i].volume*1).toFixed(8);
So i think on this string i should change with something like:
g_constants.dbTables['history'].selectAll('fromBuyerToSeller) AS volume or similar, but i'm stuck on this.
thanks.

still it would be last trade volume in BTC or MC, how do you set 24H volume in BTC as 99% exchange have.

"still it would be last trade volume in BTC or MC"
Sorry, your answers really doesn't help solving issue posted

May it not help but states a true fact tho

@CryptorClub
Of course, but your vol is displayed in total coins amount buy/sell, not in BTC.
So, your table display: Coin - Price - Vol - CH
What i would like to display is: Coin - Price - BTCvol - CH
That's why i think the string to be modify to allow BTCvolu is this one:
From index.js:
const vol = (message.coins[i].volume*1).toFixed(8);

here you go:
add
let vol24 = (message.coins[i].dailyVolume2*1).toFixed(8);
to:
https://github.com/3s3s/opentrade/blob/master/static_pages/js/index.js#L326
then
add
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;
to
https://github.com/3s3s/opentrade/blob/master/server/modules/users/market.js#L96
change
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L215
to
g_constants.dbTables['history'].selectAll('max(fromBuyerToSeller/fromSellerToBuyer) AS Height, min(fromBuyerToSeller/fromSellerToBuyer) AS Low, sum(fromSellerToBuyer) AS Volume, avg(price) AS BTCVolume', WHERE, 'GROUP BY coin', (err, rows) => {
then
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L221
to
let retData = {MarketName: MarketName, High: 0, Low: 0, Volume: 0, BTCVolume: 0, Last: 0, Bid: 0, Ask: 0, OpenBuyOrders: 0, OpenSellOrders: 0, coin_icon_src: coin_icon_src, coin_info: coin_info}
finally
above
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L225
add
retData.BTCVolume = ((rows[0].BTCVolume*1)*(rows[0].Volume*1)).toFixed(8);

Something missed with this line:
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;
"tick" MC, BTC, LTC - is not defined

oops sorry, just above it
let tick = rows[i].ticker;

Now:
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;
^
TypeError: Cannot read property 'BTCVolume' of undefined

@jonn4y
Added everything but cames out with this:
TypeError: Cannot read property 'BTCVolume' of undefined
on market.js
This is what i added on market.js:
let tick = rows[i].ticker;
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;

@kokucrypto
https://altmarkets.cc/api/v1/public/getmarketsummary?market=BTC-WFF
you must add BTCVolume to the api as that is what is called in the markets.js file

Index.js
let vol24 = (message.coins[i].dailyVolume2*1).toFixed(8);
.append($(''+vol24+''))
Market.js:
let tick = rows[i].ticker;
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;
Api.js:
g_constants.dbTables['history'].selectAll('max(fromBuyerToSeller/fromSellerToBuyer) AS Height, min(fromBuyerToSeller/fromSellerToBuyer) AS Low, sum(fromSellerToBuyer) AS Volume, avg(price) AS BTCVolume', WHERE, 'GROUP BY coin', (err, rows) => {
let retData = {MarketName: MarketName, High: 0, Low: 0, Volume: 0, BTCVolume: 0, Last: 0, Bid: 0, Ask: 0, OpenBuyOrders: 0, OpenSellOrders: 0, coin_icon_src: coin_icon_src, coin_info: coin_info}
And.....
            retData.High = (rows[0].Height*1).toFixed(8);
            retData.Low = (rows[0].Low*1).toFixed(8);
            retData.Volume = (rows[0].Volume*1).toFixed(8);
            retData.BTCVolume = (rows[0].BTCVolume*1).toFixed(8);

Api returns:

But relaunching script after made all modification it returns:
TypeError: Cannot read property 'BTCVolume' of undefined
on market.js

i see the issue causing the error
you are calling
retData.BTCVolume = (rows[0].BTCVolume*1).toFixed(8);
but there is no BTCVolume in the rows array you need to change it to
retData.BTCVolume = (g_History24[tick].BTCVolume*1).toFixed(8);
as the array g_History24 calls the API
one other thing i see is in your index.js
let vol24 = (message.coins[i].dailyVolume2*1).toFixed(8);
should be
let vol24 = (message.coins[i].BTCVolume*1).toFixed(8);
as you have named your retData as BTCVolume where as mine was dailyVolume2 but you need to fix the above first then it will work

By changing
retData.BTCVolume = (rows[0].BTCVolume1).toFixed(8);
With
retData.BTCVolume = (g_History24[tick].BTCVolume1).toFixed(8);
Even BTCVolume on chart disappear as well as all other values.
Basically following your previous steps everything is correct:
here you go:
add
let vol24 = (message.coins[i].dailyVolume2*1).toFixed(8);
to:
https://github.com/3s3s/opentrade/blob/master/static_pages/js/index.js#L326
then
add
rows[i].dailyVolume2 = g_History24[tick].BTCVolume;
to
https://github.com/3s3s/opentrade/blob/master/server/modules/users/market.js#L96
change
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L215
to
g_constants.dbTables['history'].selectAll('max(fromBuyerToSeller/fromSellerToBuyer) AS Height, min(fromBuyerToSeller/fromSellerToBuyer) AS Low, sum(fromSellerToBuyer) AS Volume, avg(price) AS BTCVolume', WHERE, 'GROUP BY coin', (err, rows) => {
then
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L221
to
let retData = {MarketName: MarketName, High: 0, Low: 0, Volume: 0, BTCVolume: 0, Last: 0, Bid: 0, Ask: 0, OpenBuyOrders: 0, OpenSellOrders: 0, coin_icon_src: coin_icon_src, coin_info: coin_info}
finally
above
https://github.com/3s3s/opentrade/blob/master/server/modules/api/v1.js#L225
add
retData.BTCVolume = ((rows[0].BTCVolume1)(rows[0].Volume*1)).toFixed(8);

It's just that i'm not able to copy 24h BTCvolume on chart on

As it still display coins volume but not BTCVolume as in chart.
Because i'm getting always on market.js same issue:
TypeError: Cannot read property 'BTCVolume' of undefined
on market.js
Even by following your last comment.
Getting mad lol, is there a way to talk privately to solve my night nightmare issue?
Regards.

@kokucrypto are you in our discord still? if so drop me a pm and we can go over it

Ok, thanks


add javascript standard linter

very similar to eslint

I only just realised, someone already implemented this, and there was a pull request waiting to go, which I just merged now. Check out PR #306. If there are any amendments you would like to make, you can make them in a new pull request.


[Spike] Research the possibilities to remove CALLQUEUE

According to the comment in this closed PR (https://github.com/note35/sinon/pull/8#issuecomment-334007839), we can consider to remove the global CALLQUEUE variable, because it's not necessary anymore. And using global variable is definitely a bad design.

I believe I can remove CALLQUEUE. It doesn't seem too difficult.


Unable to modify custom fields from the myaccount application

Describe the issue:
When a user self registers into myaccount, it is possible to add custom fields to the self registration via local claims. The values that the user provides to these custom fields should be editable via MyAccount portal later. However, this is currently not working as expected.
Please refer to - https://github.com/wso2-enterprise/wso2-iam-internal/issues/384
Environment information (Please complete the following information; remove  any unnecessary fields) :

Product Version: IS 5.11.0

@sarindufit could you please list down the steps you followed? Or mention any documentation link you refered to.

Update
Followed the documentation provided to create a custom attribute [1].  The mentioned issue occurs when creating the external claim mapping step is  missed. Closing the issue since no fixes need to be done.
[1] https://is.docs.wso2.com/en/5.11.0/develop/extending-scim2-user-schemas/#add-the-custom-claim


HBASE-23837 Removed deprecated isLegalFamilyName(byte[]) from HColumnDescriptor

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 30s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  1s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-0 :warning:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+0 :ok:
mvndep
0m 36s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
5m 16s
master passed

+1 :green_heart:
compile
1m 25s
master passed

+1 :green_heart:
checkstyle
1m 39s
master passed

+1 :green_heart:
shadedjars
4m 42s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  3s
master passed

+0 :ok:
spotbugs
4m 21s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
5m 25s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 16s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
5m 41s
the patch passed

+1 :green_heart:
compile
1m 27s
the patch passed

+1 :green_heart:
javac
1m 27s
the patch passed

+1 :green_heart:
checkstyle
0m 30s
hbase-client: The patch generated 0 new + 37 unchanged - 2 fixed = 37 total (was 39)

+1 :green_heart:
checkstyle
1m  5s
The patch passed checkstyle in hbase-server

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 48s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
16m 25s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1 :green_heart:
javadoc
0m 58s
the patch passed

+1 :green_heart:
findbugs
5m 44s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
0m 53s
hbase-client in the patch passed.

-1 :x:
unit
64m 32s
hbase-server in the patch failed.

+1 :green_heart:
asflicense
0m 56s
The patch does not generate ASF License warnings.

130m 55s

Reason
Tests

Failed junit tests
hadoop.hbase.master.TestMasterShutdown

Subsystem
Report/Notes

Docker
Client=19.03.6 Server=19.03.6 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/1/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1168

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 6cbb28789e24 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1168/out/precommit/personality/provided.sh

git revision
master / 488c2b2483

Default Java
1.8.0_181

unit
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/1/artifact/out/patch-unit-hbase-server.txt

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/1/testReport/

Max. process+thread count
7536 (vs. ulimit of 10000)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/1/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Comment

+0 :ok:
reexec
0m 35s
Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s
No case conflicting files found.

+1 :green_heart:
hbaseanti
0m  0s
Patch does not have any anti-patterns.

+1 :green_heart:
@author
0m  0s
The patch does not contain any @author tags.

-0 :warning:
test4tests
0m  0s
The patch doesn't appear to include any new or modified tests. Please justify why no new tests are needed for this patch. Also please list what manual steps were performed to verify this patch.

_ master Compile Tests _

+0 :ok:
mvndep
0m 37s
Maven dependency ordering for branch

+1 :green_heart:
mvninstall
5m 55s
master passed

+1 :green_heart:
compile
1m 30s
master passed

+1 :green_heart:
checkstyle
1m 56s
master passed

+1 :green_heart:
shadedjars
4m 50s
branch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
javadoc
1m  2s
master passed

+0 :ok:
spotbugs
4m 18s
Used deprecated FindBugs config; considering switching to SpotBugs.

+1 :green_heart:
findbugs
5m 24s
master passed

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 15s
Maven dependency ordering for patch

+1 :green_heart:
mvninstall
4m 53s
the patch passed

+1 :green_heart:
compile
1m 24s
the patch passed

+1 :green_heart:
javac
1m 24s
the patch passed

+1 :green_heart:
checkstyle
0m 31s
hbase-client: The patch generated 0 new + 37 unchanged - 2 fixed = 37 total (was 39)

+1 :green_heart:
checkstyle
1m  8s
The patch passed checkstyle in hbase-server

+1 :green_heart:
whitespace
0m  0s
The patch has no whitespace issues.

+1 :green_heart:
shadedjars
4m 51s
patch has no errors when building our shaded downstream artifacts.

+1 :green_heart:
hadoopcheck
16m 20s
Patch does not cause any errors with Hadoop 2.8.5 2.9.2 or 3.1.2.

+1 :green_heart:
javadoc
0m 59s
the patch passed

+1 :green_heart:
findbugs
6m  4s
the patch passed

_ Other Tests _

+1 :green_heart:
unit
0m 55s
hbase-client in the patch passed.

+1 :green_heart:
unit
65m 45s
hbase-server in the patch passed.

+1 :green_heart:
asflicense
0m 54s
The patch does not generate ASF License warnings.

132m 55s

Subsystem
Report/Notes

Docker
Client=19.03.6 Server=19.03.6 base: https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/2/artifact/out/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/1168

Optional Tests
dupname asflicense javac javadoc unit spotbugs findbugs shadedjars hadoopcheck hbaseanti checkstyle compile

uname
Linux 7a395734b9dc 4.15.0-58-generic #64-Ubuntu SMP Tue Aug 6 11:12:41 UTC 2019 x86_64 GNU/Linux

Build tool
maven

Personality
/home/jenkins/jenkins-slave/workspace/Base-PreCommit-GitHub-PR_PR-1168/out/precommit/personality/provided.sh

git revision
master / 5f61df4792

Default Java
1.8.0_181

Test Results
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/2/testReport/

Max. process+thread count
8395 (vs. ulimit of 10000)

modules
C: hbase-client hbase-server U: .

Console output
https://builds.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-1168/2/console

versions
git=2.11.0 maven=2018-06-17T18:33:14Z) findbugs=3.1.11

Powered by
Apache Yetus 0.11.1 https://yetus.apache.org

This message was automatically generated.


missing header? dxgi1_5.h

im trying to compile it for my system
nvidia: 1070 maxq 8gb
i7 2.2ghz
32ram
ssd
im gettin the folowing output i cant get my head around:
The Meson build system
Version: 0.51.2
Source dir: /home/tc/compiele/DXVK/comp_setup_07_11_2019/dxvk
Build dir: /home/tc/compiele/DXVK/comp_setup_07_11_2019/dxvk/build/dxvk-master/build.64
Build type: cross build
Project name: dxvk
Project version: v1.4.4
C compiler for the build machine: ccache cc (gcc 7.4.0 "cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0")
C++ compiler for the build machine: ccache c++ (gcc 7.4.0 "c++ (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0")
C compiler for the host machine: x86_64-w64-mingw32-gcc (gcc 7.3.0 "x86_64-w64-mingw32-gcc (GCC) 7.3-posix 20180312")
C++ compiler for the host machine: x86_64-w64-mingw32-g++ (gcc 7.3.0 "x86_64-w64-mingw32-g++ (GCC) 7.3-posix 20180312")
Host machine cpu family: x86_64
Host machine cpu: x86_64
Target machine cpu family: x86_64
Target machine cpu: x86_64
Build machine cpu family: x86_64
Build machine cpu: x86_64
Checking if "winelib check" compiles: NO
Program x86_64-w64-mingw32-windres found: YES (/usr/bin/x86_64-w64-mingw32-windres)
Library vulkan-1 found: YES
Library d3d11 found: YES
Library dxgi found: YES
Library d3dcompiler_43 found: YES
Library d3dcompiler_47 found: YES
Program glslangValidator found: YES (/usr/bin/glslangValidator)
Run-time dependency threads found: YES
Dependency threads found: YES (cached)
Build targets in project: 11
Found ninja-1.8.2 at /usr/bin/ninja
[4/214] Compiling C++ object 'src/util/ed6d25d<EMAIL_ADDRESS>FAILED: src/util/ed6d25d<EMAIL_ADDRESS>x86_64-w64-mingw32-g++ -Isrc/util/ed6d25d@@util@sta -Isrc/util -I../../../src/util -I../../.././include -fdiagnostics-color=always -pipe -Wall -Winvalid-pch -Wnon-virtual-dtor -std=c++17 -O3 -DNOMINMAX -MD -MQ 'src/util/ed6d25d<EMAIL_ADDRESS>-MF 'src/util/ed6d25d<EMAIL_ADDRESS>-o 'src/util/ed6d25d<EMAIL_ADDRESS>-c ../../../src/util/com/com_guid.cpp
In file included from ../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/util_flags.h:5:0,
from ../../../src/util/com/../../d3d11/../dxgi/../dxvk/dxvk_include.h:8,
from ../../../src/util/com/../../d3d11/../dxgi/dxgi_interfaces.h:3,
from ../../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
from ../../../src/util/com/com_guid.cpp:3:
../../../src/util/com/../../d3d11/../dxgi/../dxvk/../util/util_bit.h:102:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]
#pragma GCC unroll 0
In file included from ../../../src/util/com/../../d3d11/../dxgi/dxgi_format.h:3:0,
from ../../../src/util/com/../../d3d11/../dxgi/dxgi_interfaces.h:5,
from ../../../src/util/com/../../d3d11/d3d11_interfaces.h:3,
from ../../../src/util/com/com_guid.cpp:3:
../../../src/util/com/../../d3d11/../dxgi/dxgi_include.h:30:10: fatal error: dxgi1_5.h: No such file or directory
#include <dxgi1_5.h>
^~~~~~~~~~~
compilation terminated.
[12/214] Compiling C++ object 'src/spirv/e922df6<EMAIL_ADDRESS>In file included from ../../../src/spirv/../util/util_flags.h:5:0,
from ../../../src/spirv/spirv_include.h:7,
from ../../../src/spirv/spirv_instruction.h:6,
from ../../../src/spirv/spirv_code_buffer.h:8,
from ../../../src/spirv/spirv_compression.h:5,
from ../../../src/spirv/spirv_compression.cpp:1:
../../../src/spirv/../util/util_bit.h:102:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]
#pragma GCC unroll 0
[14/214] Compiling C++ object 'src/spirv/e922df6<EMAIL_ADDRESS>In file included from ../../../src/spirv/../util/util_flags.h:5:0,
from ../../../src/spirv/spirv_include.h:7,
from ../../../src/spirv/spirv_instruction.h:6,
from ../../../src/spirv/spirv_code_buffer.h:8,
from ../../../src/spirv/spirv_code_buffer.cpp:4:
../../../src/spirv/../util/util_bit.h:102:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]
#pragma GCC unroll 0
[16/214] Compiling C++ object 'src/spirv/e922df6<EMAIL_ADDRESS>In file included from ../../../src/spirv/../util/util_flags.h:5:0,
from ../../../src/spirv/spirv_include.h:7,
from ../../../src/spirv/spirv_instruction.h:6,
from ../../../src/spirv/spirv_code_buffer.h:8,
from ../../../src/spirv/spirv_module.h:5,
from ../../../src/spirv/spirv_module.cpp:3:
../../../src/spirv/../util/util_bit.h:102:0: warning: ignoring #pragma GCC unroll [-Wunknown-pragmas]
#pragma GCC unroll 0
[17/214] Compiling C++ object 'src/util/ed6d25d<EMAIL_ADDRESS>ninja: build stopped: subcommand failed.

Your mingw-w64 is too old.

MinGW 6.0 is required to build.

there is no version for ubuntu :(
http://mingw-w64.org/doku.php/download
am i fucked or how can i get the 6.00 version for:
OS: Ubuntu 18.04 bionic
Kernel: x86_64 Linux 5.0.0-32-generic  ?

https://launchpad.net/ubuntu/+source/mingw-w64
There are up to date versions for both 19.04 and 19.10. Just update your distro.
Apparently someone packaged up the newer version for18.04.
https://launchpad.net/~mati865/+archive/ubuntu/mingw-w64


Added method to reset passcode, useful when using app extensions

Imagine this scenario: a user has a passcode set in an app. The app updates and includes a new extension. The app would require the passcode, but not the extension. This is because the passcode is saved in the standard keychain of the app, but is common to move to a shared keychain when using extensions (for example, to share the passcode with the extensions).
The keychain used is transparent for LTHPasscodeViewController, but if a developer wants to migrate to a shared keychain, the passcode must be reset (when stored again, if the shared keychain is enabled, the passcode will be stored there, and so available to both the app and the extensions, current and future).
The developer should add something like this when starting the main app to make the current passcode available for the extensions (and reset it only once):
if (![sharedUserDefaults boolForKey:@"extensions-passcode"]) {
    [[LTHPasscodeViewController sharedUser] resetPasscode];
    [sharedUserDefaults setBool:YES forKey:@"extensions-passcode"];
}

About keychain sharing: https://developer.apple.com/library/content/documentation/IDEs/Conceptual/AppDistributionGuide/AddingCapabilities/AddingCapabilities.html#//apple_ref/doc/uid/TP40012582-CH26-SW15

Hey Javier,
Looking good, but why is a reset required? And how come deleting happens in one keychain but the save right after it happens in the shared one?
I don't have any experience with shared keychain.

Both standard and shared keychains are available to the app, so if you have keys stored before setting up the shared keychain, they should be moved to the shared keychain (specially it they are going to be accessed from other apps from the same developers or their extensions).
The proper way of doing this is removing the keys and storing again. Given that the shared keychain becomes the default keychain, automatically they are stored there.
If you set up a new app with shared keychain from the beginning, there will be no problem, because the standard keychain will always be empty and everything will be stored in the shared one. The problem appears when an app with standard keychain starts using the shared keychain, a kind of migration has to be done, and for LTHPasscodeViewController the resetPasscode is one simple way of doing this.

Okay, things are a bit more clearer now, thanks!
I still don't understand how in the reset method, the deletion happens in the old chain, but saving happens in the new one, without any other steps in between the two.
If the shared keychain becomes the default one, how does the delete happen in the old one?

I think it is like a fallback, if the OS does not find something in the shared, it keeps looking into the classic keychain. This way, everything keeps working while the migration is not performed.

Ooh, okay, that would make sense.
Silly question, and I'm sorry I'm raising it, but it's an important change and I'd like to be super sure about the change: was a full scenario tested? E.g start the app without any extension, activate a passcode, add an extension, use the new reset method and confirm everything's okay?

Yes, it works as expected.

Awesome, thank you!
I'll update the pod when I reach my Mac.


newline-per-chained-call: max-len respective breaks

Clear and concise description of the problem
newline-per-chained-call breaks calls into new lines when it hits the specified depth. Some developers tend to keep the call tree in the same line when it doesn't exceed the line length.
For example
const foo = bar().a().b().c().d().e();

Suggested solution
Beside the depth of calls, the length specified for max-len rule could be used in newline-per-chained-call to make it work respectively to line length limitation.
When the chain hits the line length limit, the rule can break all chains in new lines, or it can split the chain into half.
Let's say maximum line length is 25 characters long.
We can have two possible outcomes depending on the configuration that can be added.
Input
const foo = bar().a().b().c().d().e();

Output 1
const foo = bar().a().b()
  .c().d().e();

Output 2
const foo = bar()
  .a()
  .b()
  .c()
  .d()
  .e();

Alternative
No response
Additional context
No response
Validations

[X] Follow our Code of Conduct
[X] Read the Contributing Guide.
[X] Check that there isn't already an issue that request the same feature to avoid creating a duplicate.

Contributes

[ ] If this feature request is accepted, I am willing to submit a PR to fix this issue

I have this rule for myself, would you find it useful? https://github.com/antfu/eslint-plugin-antfu/blob/main/src/rules/consistent-chaining.md

I'll definitely gonna try it on the cases I have in the next hours.
If you don't mind me asking; if it works, can we migrate it here and possibly merge it to the rule since it does the same thing at principle?

I think I first wrote these rules for my own opinions and didn't really have the effort to support other usages/configurations (where the rules inherited from ESLint seem to be less opinionated). Meanwhile, I have a rather special handling of using lint "hints", which is also not a practice in ESLint. The main thing is just that I don't have enough time to go through the process of polishing the design and port over - that said, if anyone wanted to give it a try feel free to PR or so for the team to review and discuss.


Rails dupe with water bucket

I am currently running

Tested with SV (https://github.com/SpongePowered/SpongeVanilla/commit/d26e6a06309f601510f871236e176a48ab0a8be8) and SF (https://github.com/SpongePowered/SpongeForge/commit/1c1d1328c13a02960ccca626fa4713f6ce43c8e0)
(SC updated to https://github.com/SpongePowered/SpongeCommon/commit/4063674e2d3f0c2c71cbf37ac7db505ba4eeeb17)

Plugins/Mods: none

Issue Description

@Listener
public void onChangeBlockPlace(final ChangeBlockEvent.Place event, @First Player player) {
    event.setCancelled(true);
}

Place water above the rail.
The event is cancelled so the water is not placed and the rail is not broken, however a rail is still dropped. (duplicating the rail)

Can you re-test with the following jar?
https://www.mediafire.com/file/9o40kii7x9drz1z/spongeforge-1.12.2-2768-7.1.6-RC0.jar

Confirmed fixed in branch being merged in with #2219.


ifplugd should be a busybox fixup

don't install ifplugd on units without eth or usb

fixed in https://github.com/themactep/thingino-firmware/commit/976e356a77f8578b66e67a2819690622686e84f9


fix: ensure use chumsky 0.9.2 or later

Fix #2103 (Follow up #2002)

Ah ha! Sorry, so this was on prql-compiler.

Possibly we should add https://crates.io/crates/cargo-minimal-versions to CI?
I just tried running it, it failed, but we hit https://github.com/wangfenjin/duckdb-rs/issues/134 before finding this problem, so we'll have to wait for that before turning it on.

Possibly we should add crates.io/crates/cargo-minimal-versions to CI?
I just tried running it, it failed, but we hit wangfenjin/duckdb-rs#134 before finding this problem, so we'll have to wait for that before turning it on.

I didn't know about it, but looks great!
Thank you for working on that.


Various fixes and improvements

Merge Magneto.Microsoft into Magneto
Remove default values for cancellation tokens, except at the top level (reduces language noise for consumers)
Switch to System.Text.Json
Update analyzers and apply corresponding fixes
Rename Magneto class to Conductor (to avoid confusion with the namespace)
Add IServiceCollection extension method and MagnetoBuilder fluent interface for simplifying startup

:white_check_mark: Build Magneto 108 completed (commit https://github.com/shaynevanasperen/Magneto/commit/93da409342 by @shaynevanasperen)


I want to contribute with Icelandic localization

New language
Icelandic is_IS
Additional remarks
No response

Welcome aboard! This has been added to Lokalise. Thanks for helping out on the project!


new code coverage status URL

closes hoodiehq/camp#96

@JavaScriptErika thanks so much! 🐶 💖

@Charlotteis So exciting! You're welcome - thank you for allowing me the opportunity to contribute 😸


Test  baseline profiles with Flutter Android apps

Use case
Baseline Profiles is an Android tool that has the potential of helping Android apps load faster and run smoothly.
Proposal
We should try to use baseline profiles with a Flutter app to see what value it brings and if this is a tool we can support for all Flutter android developers.

Can you provide some more context on what we'd test with the ABPs? These are Vulkan specific profiles (@matanlurey and I just learned about them, actually), so they're not useful to the current Android backend which exclusively uses Skia's GLES backend.

Oh wait. Is this
https://developer.android.com/topic/performance/baselineprofiles/overview
or
https://developer.android.com/ndk/guides/graphics/android-baseline-profile

the first one! I meant to have that link in the description but it didnt link properly

Ack, ignore my comment then!


Cargo.toml: fix CVE-2022-24713 with regex upgrade

Fixes CVE-2022-24713
Regexes with large repetitions on empty sub-expressions take a very long time to parse,
upgrade to newer revision to fix that
Signed-off-by: Guillaume W. Bres<EMAIL_ADDRESS>

+1

@wlentz Would you take a look at this PR? It does fix a troublesome problem :)


possible fix for #1

Possible fix for #1.

Good find. I think using the cm.execCommand('goToEnd') was invalidating the CodeMirror size and forcing it to re-evaluate itself and show the text.
I tweaked the approach a bit and shipped a patch in 5c11a0458383d193160987b8e43e3e815797d196. Instead of cm.execCommand('goToEnd') I used the cm.refresh() method which appears to force the CodeMirror to update and does not scroll to the bottom of code. Tested in Chrome, FF, Safari and it seems to work. Let me know if you see any weirdness.


Php 8 compatibility and fix tests

Hi !
This PR allows to supports php 8 and fix tests.
Hope is ok :blush:

Can this be merged?

@icomefromthenet please help

Pretty sure this repo has been abandoned. I have been maintaining my own fork for a couple years now.


Intercept Ctrl-S and show "saved to localstorage" message

The other alternative we could do is intercept Ctrl-S and offer to save as an image?

Great idea, only issue if if I saw a save dialog pop-up I'd just assume it was to save the HTML page. How could we tell the user that we're clever and have turned it into a PNG?


ArgumentListWrappingRule: don't report it when line breaks is inside a lambda

Fixes #861
Fixes #870

Perfect, thank you!


Use mklatex

The current Makefile does not detect changes correctly, forcing the user to make clean_all and make to rebuild the document.
It may be beneficial to use mklatex to handle this,

Hello, I don't know if this repository is still maintained but if this is the case you can give a look at the following.
My TechnicalReport generator (quite the  same project as yours) and its Makefile
or one of our course material and its Makefile
Have a nice day 💯


Update Identifier.java

@andreer please review.
The validation is triggered for existing application names on PR builds, but not for existing tenant names.

We still have a problem with existing app names with underscores in them: https://jenkins.pr.screwdriver.corp.yahoo.com/jenkins/job/50159-v3-PR-30/BUILD_CONTAINER=vespa5,label=DOCKER-LOW/3/console#console-section-5


New DAO function: updateItemType

Some items like XP potions have a fixed quantity to begin with, but could be periodically "refilled" by increasing the maxAmount. This could be a good DAO function.

Yes, should the function be called something like updateItemTypeMaxQuantity(uint256 _newQuanity)  or is a generic function wanted to change any item type value?
Diamond upgrades have the ability to execute custom code that can update/modify any state variable of the diamond.  This can be used to update/change itemType variables and other things.

Having a standalone function for that single purpose could be pretty nice. This will be a pretty common function to call (by us and the DAO) so I'd rather it not be an upgrade.
For now I think it's fine to only support updating max quantity. It can take the [itemIds] and the [maxQuantities] params.

Yes, I added the updateItemTypeMaxQuantity(uint256[] calldata _itemIds, uint32[] calldata _maxQuantities) function.

Great, closed.

Great, closed.


chore(main): release nest 0.2.0

:robot: I have created a release beep boop
0.2.0 (2023-12-21)
Features

add demo (118f7a2)
add modifications to publish event (d6b654c)
add onCommit option (ac1b2c7)
expose errors via entry point (d8ec1b5)
throw an error if an infused transaction is a no-op (a21de2a)

Bug Fixes

lint error (e34c608)
publish debounce (a3b6038)

This PR was generated with Release Please. See documentation.

:robot: Release is at https://github.com/wnfs-wg/nest/releases/tag/nest-v0.2.0 :sunflower:


Support for TornadoMath functions in reductions

TornadoMath functions supported in reduce operations. TornadoVM math
provides operations for floats and doubles, avoiding typecasting in the
OpenCL/PTX code.
This PR solves issue #79 (Public)
Backend/s tested

[X] OpenCL
[X] PTX

OS tested

[X] Linux
[ ] OSx
[ ] Windows

Did you check on FPGAs?
If possible, check your changes on FPGAs.

[ ] Yes
[X] No

How to test the new patch?
$ tornado-test.py -V -pk --debug uk.ac.manchester.tornado.unittests.reductions.TestReductionsFloats#testMaxReduction

@jjfumero, if I am not mistaken we have several tests that use Math for reduce operations.
Some are in the tornadovmcontext package and I think we have some in another package for reductions.
Shall we replace the Math with TornadoMath?

@jjfumero, if I am not mistaken we have several tests that use Math for reduce operations.
Some are in the tornadovmcontext package and I think we have some in another package for reductions.
Shall we replace the Math with TornadoMath?

We can do both. If only using float, then it is recommended to use TornadoMath.

@jjfumero, if I am not mistaken we have several tests that use Math for reduce operations.
Some are in the tornadovmcontext package and I think we have some in another package for reductions.
Shall we replace the Math with TornadoMath?

We can do both. If only using float, then it is recommended to use TornadoMath.

Shall we update then the Float Reductions in tornadovmcontext to use TornadoMath?

@stratika , ok, we can update it.

I updated the PR - All reduce tests running with TornadoMath. This also includes support for INT math intrinsic.

Sorry, it was a missing case. Now this PR is ready for merge.


Upgrade Angular version

Description
This PR includes the following proposed change(s):

Need to upgrade build server's NodeJS version for compile it

Upgrade  to Angular 16

Most differences : https://material.angular.io/guide/mdc-migration

For development, please run "yarn" in terminal before build/debug.

If it is not working, please remove "yarn.lock" and run "yarn" again.

Type of change

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Refactoring / Documentation
[x] Version change

if your change is a breaking change, please add breaking change label to this PR
How Has This Been Tested?
Please describe the tests that you ran to verify your changes.
Does the change impact or break the Docker build?

[ ] Yes
[x] No

If Yes: Has Docker been updated accordingly?

[ ] Yes
[x] No

Checklist:

[x] My code follows the style guidelines of this project
[x] I have performed a self-review of my own code
[x] I have made corresponding changes to the documentation
[x] New and existing unit tests pass locally with my changes

I think you need to update the Dockerfile for each project to use node 16 instead of 14.18
This should fix your failed GitActions tasks (that uses the Docker files to build the project).

@KDNeufeld Done


Update dependencies every week

Similar to:

https://github.com/kubernetes/kops/blob/master/.github/workflows/update-deps.yml
https://github.com/kubernetes/cloud-provider-aws/blob/master/.github/workflows/update-deps.yaml
https://github.com/kubernetes-sigs/hydrophone/blob/main/.github/workflows/update-deps.yml

/cc @dchen1107 @wangzhen127 @vteratipally @MartinForReal

/lgtm
@wangzhen127 can you take another look at this?


🐛 [BUG]: Updating edge jumps to top handle

Is there an existing issue for this?

[X] I have searched the existing issues and this is a new bug.

Current Behavior
I have custom node with 4 source handles all around.
<Handle id="source-left" type="source" :position="Position.Left" />
<Handle id="source-top" type="source" :position="Position.Top" />
<Handle id="source-right" type="source" :position="Position.Right" />
<Handle id="source-bottom" type="source" :position="Position.Bottom" />

Add 2 custom nodes in flow called A and B
Connect an edge between (source) B-left and (target) A-left
Try updating the edge target from B-left to B-bottom.
As soon as you move the handle, the edge source jumps from A-left to A-top
So, when updating the target to another handle, the source handle always jumps to top (temporarily).
Expected Behavior
Source handle should stay commected
Steps To Reproduce
No response
Relevant log output
No response
Anything else?
No response

Please provide a proper reproduction of the issue.
You can find a sandbox template here: https://codesandbox.io/p/devbox/vue-flow-basic-gfgro4
I’ll gladly check what’s wrong once I’m back from my vacation once you’ve provided a repro ^^

Ok, thanks, I'll provide a reproduction today

Here is a link to a reproduction:
https://codesandbox.io/p/devbox/adoring-violet-tzvkh7
Just drag the edge from node B and you'll see side A jumping from left to top.

Will be fixed in the next release

Fixed with 1.41.3

Fixed with 1.41.3

@bcakmakoglu Thank you very much for your efforts; however, I am still encountering an issue. Whenever I call addNodes or directly add new nodes and edges data, all the old node handles move to the top and bottom, which is quite confusing for me. Have you ever come across a similar problem?
https://github.com/user-attachments/assets/e8c3b001-af05-4047-89f4-83a38214c463

A reproduction for that issue would be needed for me to debug it, just a video isn't telling me much about your code and what might be happening.

A reproduction for that issue would be needed for me to debug it, just a video isn't telling me much about your code and what might be happening.

I'm sorry, I just saw this. Here is the reproduction logic I wrote for the issue:
https://stackblitz.com/edit/vitejs-vite-zk61qe?file=src%2FuseLayout.ts

That's a bit too complex for a simple repro tbh, I can't figure out where you do what in that sandbox and it'd take me too much time to sit down and analyse everything in there 😅
Can you strip it down to as little as possible that still re-creates the issue.


Updates

Supersedes #30, which is failing. Also makes a few other changes to bring this repo closer to up-to-date with other Circe projects.

Codecov Report

Merging #33 into master will increase coverage by 54.41%.
The diff coverage is 41.86%.

@@             Coverage Diff             @@
##           master      #33       +/-   ##
===========================================
+ Coverage       0%   54.41%   +54.41%
===========================================
  Files           1        1
  Lines          66       68        +2
===========================================
+ Hits            0       37       +37
+ Misses         66       31       -35

Impacted Files
Coverage Δ

src/main/scala/io/circe/spire/SpireCodecs.scala
54.41% <41.86%> (+54.41%)
:arrow_up:

Continue to review full report at Codecov.

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


Feature Request: Log failed messages somewhere

I was attempting to send some emails to Mailpit and it turned out they were malformed. Mailpit was having issues parsing the headers. I would see these errors in the log output, but no information was available in the web UI. It would be great if the raw email content could be stored somewhere for examination in the web UI.

This is an interesting request @knpwrs. What was malformed in your messages exactly? Surely you were getting an SMTP error (rejection) while sending the malformed message, and if so, what error was reported there? What error message was logged in Mailpit's log? I ask because I am trying to understand the context of the error you experienced, and what was the cause and result.
I am reluctant to add a this feature for a couple of reasons:

Handling message rejection (for whatever reason) should be handled via the SMTP client/application. When Mailpit fails it should return the error. Mailpit is designed to display the captured data, but you're asking for it to also store the data that was not captured. This is somewhat out of scope for the purpose of the application.
Errors can be caused by many things and don't necessarily occur because of just bad message headers. There are plenty of invalid SMTP combinations such as bad username/password combinations, or too many recipients, wrong TLS protocol etc. Your proposal to store the raw (bad) message data creates a lot of technical overhead to provide insight into a small subsection of potential errors. Again, without knowing the reason your messages were malformed and rejected it's difficult for me to guess.

One potential option could be to display a temporary error notification in Mailpit's UI, displayed to any connected browser (similar to when a message is received). The issue with this approach is that it's more of a "hey a message just got rejected for XYZ", but then again, if someone has Mailpit exposed to the internet and a script kiddy is hammering away trying to authenticate (brute force), then this would flood the web UI with error messages too, so it's not ideal either. This also requires the user to be connected and see the error in a few seconds it is displayed.
I'm keen to hear more about your error though.

I did indeed get an SMTP rejection error, and I saw that there was a malformed header in the container logs for mailpit. The thing that was tricky for me was that I was using a go server, a Faktory queue with a go worker calling out to net/smtp, and mailpit. This is my first time using both Go and Faktory, and so it took me a little bit longer to find the bug than if I had been using a more familiar stack.
So this is really just a “would have been neat to see” idea. I was watching the mailpit UI and didn’t see anything, and so I assumed the message never reached mailpit, something along the way must have errored out. I started tracing from the beginning and came to find that it did indeed reach mailpit, but the message was rejected.
The issue was that I had an email roughly like this:
From<EMAIL_ADDRESS>To<EMAIL_ADDRESS>Subject: Multipart Email Example
multipart/alternative; boundary="boundary-string"

--your-boundary
Content-Type: text/plain; charset="utf-8"

Hello, World!

--boundary-string
Content-Type: text/html; charset="utf-8"

Hello, World!

--boundary-string

As you can see, there is a value for Content-Type, but Content-Type itself is missing. This is quite the error on my part!
So really any way of surfacing these errors to the mailpit UI would be nice to have since I was watching the mailpit UI anyway. It doesn’t even have to be in the message list. Maybe a separate tab that’s like an audit log, or even like you suggested, some sort of temporal error message for connected clients.

Thanks for the information, this is both useful for me to try understand the situation, and so make a more informed decision. Whilst storing rejected messages together with the reason sounds ideal, I don't think it is a feasible option as it introduces a rather large level of complexity because those messages need to also be stored somewhere, and these are likely only a fraction of the potential errors themselves. I believe that in your case a simple "alert" in the UI that a message had been rejected (with whatever reason you got from SMTP) would have been sufficient to help you diagnose the issue.
The easiest solution here would be to fire-and-forget a warning message to all connected browsers, meaning no need for any storage or special UI elements (other than what is already there), however that is possibly a bit too short-sighted in the scheme of things. This approach would require very few moving parts and wouldn't take too much to implement.
The other potential solution would be to both display a temporary notification (just like when a new message is received) as well as "store" a certain number of error messages (eg: up to 100 or something). The UI would need some sort of "error logs" section where one could then view these. This is more complex than the easy solution mentioned above, but would cater for when a browser isn't connected (or a user isn't watching) as well as, within reason, historical errors.
I need to give this a lot more thought as to how I approach this, and what the best way forward is. If you have any more thoughts then please feel free to share them in the meantime.

@knpwrs I have added temporary (5 second) web UI error notifications in v1.20.2 after deciding that a whole UI logging system is just not feasible. There are so many different types of potential errors when it comes to the Mailpit ecosystem (it's a lot more than just SMTP), which makes a UI logging system a very complicated "nice to have" task. Client errors should always be handled properly client-side anyway.
Hopefully this helps you identify similar issues though, and I hope you understand the reasoning not adding the logging system to the UI?

That's very good, thank you @axllent! The only thing I'd suggest is maybe a persistent dismissible notification, but a five-second notification probably could have helped a lot.
Thank you again!


Create a contributor’s guide

A contributor's guide would help new contributors follow a structured guide while contributing, making it easier to maintain the repo.

We can just take the version of the Contributors guide that is on this repo here: https://github.com/pieces-app/pieces-os-client-sdk-for-typescript/blob/main/CONTRIBUTING.md and update it to fit this new location and should not require many additions.


Allow to override repository and tag for curator image

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Please see https://github.com/camunda/camunda-platform-helm/pull/234#issuecomment-1072253714

Thanks @harmjanblok please add also the values to the Readme as written above

Please also add also the new configuration to the README here https://github.com/camunda/camunda-cloud-helm/blob/main/charts/ccsm-helm/README.md#ccsm This makes it possible also for new users to find such config easier :)

Thanks @harmjanblok please add also the values to the Readme as written above

Please also add also the new configuration to the README here https://github.com/camunda/camunda-cloud-helm/blob/main/charts/ccsm-helm/README.md#ccsm This makes it possible also for new users to find such config easier :)

Oh sorry missed that point, I've updated the PR with the README changes.

Part of https://github.com/camunda/camunda-platform-helm/releases/tag/ccsm-helm-0.0.26


ISS process not killed in the event of an ISS timeout

Most easily provoked by changing XLEN to 32 in setting/riscv_core_setting.sv and running run.py with no arguments.
This results in most tests timing out in the ISS, and multiple instances of the spike process still running (and worse still actively logging) after run.py exits
While this may not be a valid run (adding --isa rv32imc -m ilp32 should be specified too) there will be genuine instances where ISS timeouts occur (which I guess is why the --iss_timeout arg exists).
Killing all spawned processes on SIGINT would also be a welcome addition.

Yes, this is a known issue. Will fix it.

This should be fixed by https://github.com/google/riscv-dv/commit/2707df9e41fac5f80ee481e7f8223e07086d7a66


fix: cancel previous workflows

Codecov Report
Attention: 1286 lines in your changes are missing coverage. Please review.

Comparison is base (5a0e6b3) 36.81% compared to head (a7f742d) 53.38%.
Report is 372 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff             @@
##             main     #548       +/-   ##
===========================================
+ Coverage   36.81%   53.38%   +16.56%
===========================================
  Files          61       69        +8
  Lines        5421     6622     +1201
===========================================
+ Hits         1996     3535     +1539
+ Misses       3425     3087      -338

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