Remove all references to 'dublincore' submodule in hs_core

@pkdash has this been addressed.  Close if you are happy.

This cleanup yet to be done.

How to test whether this is done?  @ironfroggy or @mjstealey please close this issue if you think it is done, otherwise indicate what is still outstanding.

@dtarb Recently I realized that my cleanup work for removing dependency on 'dublincore' submodule did not completely remove all references. I need to fix that. But I think we don't have time to do that for release 1.5. Since 'dublincore' is taken out of the list of installed apps in the settings.py file, if we are able to create and edit each of the supported resource types and don't see any error related to this submodule then that would be a good test in the absence of unit tests.

@pkdash OK.  I'll put this on the 1.5.1 (NFIE) milestone then.

The actual submodule must be removed, so that any remaining references will
cause an error if they are overlooked.
On Sat, May 9, 2015 at 5:55 PM, David Tarboton<EMAIL_ADDRESS>wrote:

@pkdash https://github.com/pkdash OK. I'll put this on the 1.5.1 (NFIE)
milestone then.
—
Reply to this email directly or view it on GitHub
https://github.com/hydroshare/hydroshare/issues/90#issuecomment-100552446
.

--
Calvin SpealmanLead Front-end Developer
<EMAIL_ADDRESS><EMAIL_ADDRESS>www.caktusgroup.com

@mjstealey Not sure how to remove the submodule 'dublincore' from the project. Is this something you can do?

@mjstealey Can you remove the 'dublincore' submodule from hydroshare codebase?

@pkdash dublincore submodule is removed on dev and things appear to work as expected. Could you test and close this issue if nothing breaks?

@pkdash could you check and close this issue if it is resolved?

Closing this issue since dublincore submodule is removed from the code base. @pkdash you can reopen it if you observe any issue with it.


Preposal for /sync response changes.

This PR is something of a subject for debate.
Some parts are uncontravertial - in particular the removal of the 'event_map'
key.
The main source for debate is whether it makes sense to flatten the 'unsigned'
dictionary. My argument here is that, since we're removing the signature itself
anyway, it doesn't really make a lot of sense to expose the details about which
keys were part of that signature, and which were not. Furthermore, from the
point of view of the C-S API, it doesn't really make sense to have to look in
the top-level object for some keys, and in 'unsigned' for others.

@erikjohnston could you have first look at this?

Having implemented it, and tried to use it, I can say I'm not at all in favour of changing state to a dict of dicts. It's a pain to use on the client side, as (1) you are never going to be able to just dump it in over the existing state, thanks to the need to intelligently merge dicts, and (2) you have to write the code twice: once to work on a list in the timeline, and once on a dict-of-dicts in the state.

We've been through the pros and cons of flattening unsigned into the main event object, and the summary is basically as follows:
On the up side, it gives an aesthetically cleaner and more intuitive client-server API; it is easier for client developers to remember "the age key gives the age of the event" than it is "the unsigned.age key gives the age of the event".
On the down side, we would have to specify what we do in the case of key clashes between the event body and the unsigned object. There are a few options:

Give up all pretence at a correlation between events in the federation API and those in the client-server API, and instead give a list list of the event keys for the C-S API and where they should come from. There are problems with this:
Increases complexity in the specification and server implementation (with no real corresponding reduction in complexity elsewhere)
Makes it impossible to add extensions (whereby clients or servers can add keys to events) outwith the spec.
In future, we want to allow clients to get the complete federated event, so that they can validate its signature themselves. This would mean that clients would have to be able to handle a completely different format of event in this situation.
Allow a flattening to take place, but specify that signed keys take precedence over unsigned ones, or vice-versa. But it's unclear what the semantics of this would be. And it doesn't really do much to improve the C-S API: "age is the age of the event, unless it was set to a different value by the originating client, in which case it is that value"
Avoid the issue by having a list of signed_keys instead of an unsigned subobject in the federation API. The issue of a clash could never then occur, but this would introduce complexity into the server implementation: you would have to remember to check that any key you cared about had been signed. This will be easy to get wrong; given that this is security-related, that is not good.

I think this is more-or-less trivial now. I want to wrap it up, so @NegativeMjark / @erikjohnston / @Kegsay / @illicitonion unless you have any objections I'll merge it later today.

This works for me.
If we have people in the wild actually get confused and annoyed by unsigned we can revisit the decision.


flutter lost my plugin libs and got errors: Could not build the precompiled application for the device.

Steps to Reproduce

I wrote a plugin to use hikvision cameras .

The plugin works very well when I compile the ios Runner workspace .
I even uploaded the Runner iOS app to apple store . The app status is 'Ready for Sale' on the apple app store.
But when I open the flutter project and run with flutter, it got errors:
Could not build the precompiled application for the device.

The normal workspace under Xcode is below:

And my workspace plugin source files are below:

And libs included in the plugin are below:

Up to now, the workspace works well under Xcode.
And I can build and upload the app to apple appstore,even got status: Ready for Sale!

After open the flutter project with visualstudiocode, and run with 'F5' key,the error occurs:

Could not build the precompiled application for the device.
Error launching application on your-iphone.

More strange is : the plugin libs lost in Xcode workspace(screen capture below).

And  compile option in the plugin '-fno-objc-arc' also lost.

Then I have to add the libs in Xcode workspace again (screen below):

and restore compiler flags(below):
(the compiler flags exist in the Xcode workspace originly)

Xcode build the workspace,but got error in the lib source files:
(The libs source files work well before flutter run the project)

Unknown type name 'class'; did you mean 'Class'?

Logs and summary

Logs

/Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/ios/Runner/GeneratedPluginRegistrant.m:14:9: fatal error:
                        could not build module 'hikvision_plugin'
                        #import <hikvision_plugin/HikvisionPlugin.h>
                         ~~~~~~~^
                        21 errors generated.

                        Ditto

/Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/build/ios/Debug-iphoneos/GoRun_Nvr_App.swiftmodule/arm64-a
                        pple-ios.swiftmodule

/Users/shouhuasun/Library/Developer/Xcode/DerivedData/Runner-cwwyguevcfcusxfttdzlpzndewqe/Build/Intermediates.noi
                        ndex/Runner.build/Debug-iphoneos/Runner.build/Objects-normal/arm64/GoRun_Nvr_App.swiftmodule
(in target 'Runner'
                        from project 'Runner')
                            cd /Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/ios
                            /usr/bin/ditto -rsrc

/Users/shouhuasun/Library/Developer/Xcode/DerivedData/Runner-cwwyguevcfcusxfttdzlpzndewqe/Build/Intermediates

.noindex/Runner.build/Debug-iphoneos/Runner.build/Objects-normal/arm64/GoRun_Nvr_App.swiftmodule

/Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/build/ios/Debug-iphoneos/GoRun_Nvr_App.swiftmodule/arm
                            64-apple-ios.swiftmodule

                        warning: GLKit is deprecated. Consider migrating to MetalKit instead. (in target
'hikvision_plugin' from project
                        'Pods')
                        warning: OpenGLES is deprecated. Consider migrating to Metal instead. (in target
'hikvision_plugin' from project
                        'Pods')

[ +458 ms] Could not build the precompiled application for the device.
[  +26 ms] Error launching application on sun-iphone.
[   +6 ms] "flutter run" took 28,324ms.
[   +8 ms]
           #0      throwToolExit (package:flutter_tools/src/base/common.dart:14:3)
           #1      RunCommand.runCommand (package:flutter_tools/src/commands/run.dart:570:7)
           <asynchronous suspension>
           #2      FlutterCommand.verifyThenRunCommand (package:flutter_tools/src/runner/flutter_command.dart:818:18)
           #3      _rootRunUnary (dart:async/zone.dart:1198:47)
           #4      _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #5      _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #6      Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #7      Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #8      Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #9      _AsyncAwaitCompleter.complete (dart:async-patch/async_patch.dart:40:15)
           #10     _completeOnAsyncReturn (dart:async-patch/async_patch.dart:311:13)
           #11     RunCommand.usageValues (package:flutter_tools/src/commands/run.dart)
           #12     _rootRunUnary (dart:async/zone.dart:1198:47)
           #13     _CustomZone.runUnary (dart:async/zone.dart:1100:19)
           #14     _FutureListener.handleValue (dart:async/future_impl.dart:143:18)
           #15     Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:696:45)
           #16     Future._propagateToListeners (dart:async/future_impl.dart:725:32)
           #17     Future._completeWithValue (dart:async/future_impl.dart:529:5)
           #18     Future._asyncCompleteWithValue.<anonymous closure> (dart:async/future_impl.dart:567:7)
           #19     _rootRun (dart:async/zone.dart:1190:13)
           #20     _CustomZone.run (dart:async/zone.dart:1093:19)
           #21     _CustomZone.runGuarded (dart:async/zone.dart:997:7)
           #22     _CustomZone.bindCallbackGuarded.<anonymous closure> (dart:async/zone.dart:1037:23)
           #23     _microtaskLoop (dart:async/schedule_microtask.dart:41:21)
           #24     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50:5)
           #25     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:118:13)
           #26     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:169:5)

[ +255 ms] ensureAnalyticsSent: 253ms
[   +1 ms] Running shutdown hooks
[        ] Shutdown hook priority 4
[   +1 ms] Shutdown hooks complete
[        ] exiting with code 1

Analyzing gorun_nvr_app...

   info • The value of the local variable 'inited' isn't used • lib/device_view/device_replay_view.dart:174:11 •
          unused_local_variable
   info • The value of the local variable 'status' isn't used • lib/device_view/device_replay_view.dart:181:11 •
          unused_local_variable

2 issues found. (ran in 5.4s)

[✓] Flutter (Channel master, 1.19.0-4.0.pre.99, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.19.0-4.0.pre.99 at /Users/shouhuasun/tools/flutter
    • Framework revision<PHONE_NUMBER> (3 hours ago), 2020-06-08 02:03:01 -0400
    • Engine revision dfdd88deb7
    • Dart version 2.9.0 (build 2.9.0-13.0.dev 87c5e3612b)
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /Users/shouhuasun/Library/Android/sdk
    • Platform android-29, build-tools 29.0.0
    • ANDROID_HOME = /Users/shouhuasun/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.8.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (2 available)
    • sun-iphone • xxxxxxxxxxxxxxxxxxxxxxx • ios        • iOS 13.5.1
    • macOS      • macOS                                    • darwin-x64 • Mac OS X 10.15.5 19F101

• No issues found!

Hi @monkingame
I am not sure what do you mean by "lost", you mean deleted or not detected?
Since this is your own code implementation , i cannot reproduce it
Error messages points your module clearly
/Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/ios/Runner/GeneratedPluginRegistrant.m:14:9: fatal error:
                        could not build module 'hikvision_plugin'
                        #import <hikvision_plugin/HikvisionPlugin.h>
                         ~~~~~~~^
                        21 errors generated.

Can you please any code sample to reproduce this issue?
Thank you

Hi @monkingame
I am not sure what do you mean by "lost", you mean deleted or not detected?
Since this is your own code implementation , i cannot reproduce it
Error messages points your module clearly
/Users/shouhuasun/dev/gorun-app-20200603/gorun_nvr_app/ios/Runner/GeneratedPluginRegistrant.m:14:9: fatal error:
                        could not build module 'hikvision_plugin'
                        #import <hikvision_plugin/HikvisionPlugin.h>
                         ~~~~~~~^
                        21 errors generated.

Can you please any code sample to reproduce this issue?
Thank you

Flutter changed my iOS workspace settings and made it NOT worked.
At first I open iOS workspace in the flutter project using Xcode.Xcode works very well and I built app and uploaded to appstore , even got ready for sale.
But once flutter open the project, iOS workspace became not working.
Flutter delete the libraries inclued in Pods project, and clear some compiling flags, and caused the workspace NOT working. The workspace cannot be compiled in the Xcode and got many errors .
I tried to restore the settings : include libraries again, set compiling flags again, and so on. But the iOS workspace still cannot be compiled normally.
I donot know what happened after flutter run the project.
Perhaps flutter is not good at plugin project?(My project is a plugin project.)

Hi @monkingame
Can you please provide your flutter doctor -v?
Thank you

Hi @monkingame
Can you please provide your flutter doctor -v?
Thank you

[✓] Flutter (Channel master, 1.19.0-4.0.pre.99, on Mac OS X 10.15.5 19F101, locale zh-Hans-CN)
    • Flutter version 1.19.0-4.0.pre.99 at /Users/shouhuasun/tools/flutter
    • Framework revision<PHONE_NUMBER> (3 hours ago), 2020-06-08 02:03:01 -0400
    • Engine revision dfdd88deb7
    • Dart version 2.9.0 (build 2.9.0-13.0.dev 87c5e3612b)
    • Pub download mirror https://pub.flutter-io.cn
    • Flutter download mirror https://storage.flutter-io.cn

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.0)
    • Android SDK at /Users/shouhuasun/Library/Android/sdk
    • Platform android-29, build-tools 29.0.0
    • ANDROID_HOME = /Users/shouhuasun/Library/Android/sdk
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 11.5)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 11.5, Build version 11E608c
    • CocoaPods version 1.8.3

[✓] Android Studio (version 4.0)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 46.0.2
    • Dart plugin version 193.7361
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6222593)

[✓] VS Code (version 1.45.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.11.0

[✓] Connected device (2 available)
    • sun-iphone • xxxxxxxxxxxxxxxxxxxxxxx • ios        • iOS 13.5.1
    • macOS      • macOS                                    • darwin-x64 • Mac OS X 10.15.5 19F101

• No issues found!

@TahaTesser
I wrote a simple project and reproduce the issue.
I created two project by:
flutter create app_normal
flutter create -t plugin -i objc -a java plugin_issue

Here is the  sample project:
https://github.com/monkingame/flutter-plugin-issue
You can reproduce the issue by these steps:

clone the sample project

git clone https://github.com/monkingame/flutter-plugin-issue

note: app_normal include plugin in the pubspec.yaml
  plugin_issue:
    path: ../plugin_issue

using Xcode to open app_normal/ios/Runner.xcworkspace

Goto Runner - Targets/Runner - Signing&Capabilities - Team
Specify your team ID.

open terminal and goto app_normal dir, run :

flutter build ios --no-codesign

This command is to generate Podfile project.
It will get some errors but it doesn't matter since Pod project need to be config.

Quit and reopen Xcode to open Runner.xcworkspace
Now the Pods project is ready for build.

config the Pods project.
In Xcode, open
Pods - Target/plugin_issue - Build Phases - Compile Sources - DeviceInfo.m - Compiler Flags

-fno-objc-arc

Pods - Target/plugin_issue - Build Phases - Compile Sources - DeviceInfo.m - Link Binary With Libraries , add a simple lib: VideoToolbox.framework(this is only  a sample lib, actual project has many libs included).

Now the Pods project is like this:

Clean and rebuild the workspace with Xcode.
The Runner should be built successfully with no errors.

Open app_normal project with visualstudio code:
Run the flutter project with 'F5' key.
It should get errors:

Could not build the precompiled application for the device.

Now return to Xcode and you'll find the Runner config settings lost!
It may look likes this:

The compiler flags -fno-objc-arc in DeviceInfo.m lost!
The lib VideoToolbox.framework also lost!

Xcode build the Runner workspace, it will get errors.
If you reconfig the -fno-objc-arc compiler  flags and rebuild Runner workspace , it will be OK and build successfully again.
But it is because of the sample project is simple .
In my actual Xcode workspace, the Pods project has 10 or 20 apple libraries and many external libraries.
If I run the step (9), then the Xcode workspace will never be compiled OK. Even if I reconfig the compiler flags and reimport all libraries, the workspace still keeps errors.

Above is the steps to reproduce the lost config in Pods project.
If there is something unclear, keep in touch with me.

Thanks!

flutter run runs pod install which which will intentionally blow away any changes you make to that Pods projects.  That's a CocoaPods thing, not a Flutter or Xcode thing.  The way to link on frameworks and add compiler flags is to do so in your plugin's podspec.  Check out CocoaPods documentation like
https://guides.cocoapods.org/syntax/podspec.html#compiler_flags
or
https://guides.cocoapods.org/syntax/podspec.html#frameworks
The podspec should describe everything your plugins needs so your plugin customers don't need to edit anything in their actual app.
Closing, works as intended.


DataFusion Configuration Consolidation

Related
https://github.com/apache/arrow-ballista/issues/479
https://github.com/apache/arrow-datafusion/pull/3885
TLDR Recommendations
This is a complicated issue and I don't have a magic answer. However I have some concrete suggestions
Some suggested steps:

[x] https://github.com/apache/arrow-datafusion/pull/4382
[ ] We should consolidate ExecutionProps and TaskProperties also.
[x] https://github.com/apache/arrow-datafusion/issues/3821
[ ] https://github.com/apache/arrow-datafusion/issues/3887
[x] https://github.com/apache/arrow-datafusion/issues/3886
[x] https://github.com/apache/arrow-datafusion/issues/4517

I think consolidating SessionConfig/Config options is likely to be the most controversial / cause the most chrun but it will provide immense benefits I think (like runtime visibility into the current settings)
Then we can further improve from there
Introduction
"Configuration" in DataFusion has a few usecases:

set a values from a string provided by the user (set XX = YY in datafusion-cli)
set a value from environment variables -- See ConfigOptions::from_env
display as a string (e.g. SHOW in datafusion-cli`)
Documented in the datafusion docs: https://arrow.apache.org/datafusion/user-guide/configs.html
serialize / deserialize over the network (e.g. Ballista)
settable programmatically (e.g. via the dataframe API)

There are also  two overlapping "levels" of configuration that are needed

Session level (e.g. that can be reused from one query execution to the next)
Statement/Task level (e.g. that is needed to plan a query and doesn't change for the duration of a statement such as "the value of now()" and target batch sizes, etc). Statement level configuration is typically a superset of the session level configuration

Current state of configuration in DataFusion
The current state is .... inconsistent to put it mildly.
The core structure is SessionContext which is the final glue and entry point to interacting with datafusion (e.g. tables provided, etc).
Within the SessionContext there is the some combination of SessionState, SessionConfig, ConfigOptions. Part of the hierarchy is like this:
SessionContext
 -- Has a SessionState
 -- SessionStartTime
 -- SessionConfig
   -- ConfigOptions

SessionConfig is effectively the Session level configuration I describe above.
TaskContext is the statement level (aka per task / per query) level context. If you look hard  you can see has a copy of the SessionConfig (buried in TaskPropertoes) or also maybe is backed by KVPairs.
Desire
I would like to have a clear configuration system that cleanly separates the statement level config from the task level config and allows configuration values to be set in a uniform manner and that are easy to view programmatically

However, one question, raised by @avantgardnerio  in https://github.com/apache/arrow-ballista/issues/479, is how to structure the interactions with the configuration code.
It turns out that SessionConfig has a more rust struct style and ConfigOptions is a more dynamic hashmap style. I honestly don't have a preference as long as the introspection (with docstrings) features of ConfigOptions are preserved. Maybe this is possible via macro magic

🤔  there is also ExecutionProps which is some subset of the TaskProperties 🤔

I think consolidating SessionConfig/Config options is likely to be the most controversial / cause the most chrun but it will provide immense benefits I think (like runtime visibility into the current settings)

I think consolidating SessionConfig/ConfigOptions is definitely the right direction. The debate should be how to consolidate them, either keep SessionConfig or keep ConfigOptions.  I do not have a clear preference on this either. maybe we can have a vote.

🤔 there is also ExecutionProps which is some subset of the TaskProperties 🤔

We should consolidate ExecutionProps and TaskProperties also.

[ ]  Remove the KFPairs stuff in TaskProperties as that is not used by ballista https://github.com/search?q=repo%3Aapache%2Farrow-ballista KVPairs&type=code and has been superceded by ConfigOptions and the TaskProperties wrappee

No, those KV pairs in TaskProperties are used by Ballista actually.  Please check those code snippets:
Configurations are serialized in the form of KV pairs and sent from Ballista Scheduler to Ballista Executor.
https://github.com/apache/arrow-ballista/blob/acbdf608807697e72122a249c4bf7505274906d0/ballista/executor/src/execution_loop.rs#L172-L95

I'm OK with the change in this PR. Ballista should still work after this PR.
https://github.com/apache/arrow-datafusion/pull/4382

Here is my next contribution to clean up configuration: https://github.com/apache/arrow-datafusion/pull/4427 (slowly consolidating the configurations)

If a TaskContext represents a query/task, then could TableProvider receive in scan method TaskContext as replacement for SessionState ? I would like to have a way to identify task in TableProvider scan fn. If I am not wrong, the only way right now to identify task in TableProvider is to create new SessionContext for each query and use session_id from SessionState.

If a TaskContext represents a query/task

I think it might be more precise to describe TaskContext as the state for query execution, with SessionState used for query planning.

the only way right now to identify task in TableProvider

Correct, at the point in planning where TableProvider::scan is called, the task conceptually doesn't exist yet

create new SessionContext for each query

FWIW this is what IOx does

Thank you @tustvold for clarification, in such case I will follow SessionContext per query approach.

I think this is largely complete and we don't have any additional work planned here, so closing


Hugo: re-align sidenote with headings

Finetune the margins so the sidenote is aligning with the headings again
Move example sidenote so it doesn't look like it should align with the article title

For https://linear.app/usmedia/issue/CUE-326

Imported as https://review.gerrithub.io/c/cue-lang/cuelang.org/+/1168256

Closed via 9d496aa3d86091e234bf785fcef4fd4bfdbb0873


How can I use asynchronous image

PhotoMessageModel(messageModel: baseMessageModel, imageSize: CGSize.zero, image: ?)

I use Kingfisher to download image, how can i use the asynchronous image as UIImage parameter

Hi @mrchenhao,
You have two options.
a. Create a PhotoMessageViewModel subclass as in ChattoApp (DemoPhotoMessageViewModel)
b. Create your own PhotoMessagePresenter and add there the photo downloader

I edit the PhotoMessageModelProtocol and use closure to pass the UIimageView out.
public protocol PhotoMessageModelProtocol: DecoratedMessageModelProtocol {
//    var image: UIImage { get }
    var imageSize: CGSize { get }
    var imageClosure: PhotoClosure { get }
}

public typealias PhotoClosure =  (imageview: UIImageView) -> ()

@mrchenhao hi, would you pls tell how to set and get image from network

Guys, I have also same problem, not clear how to get photo from network, as in PhotoMessageViewModel no url exist to replace fakeImage


Update Composer dependencies (2021-06-29-00-12)

Visual regression test passed!
View the visual regression test report


Fix JsonResponse import

Resolve issue #87

Already fixed in master branch (docs are not wrong... the published version is outdated). Anyway, I appreciate your efforts, many thanks!


Remove concepts from Georesource Report vocabulary

QDEX Reports holds the following document types:

Type
Description
Count

QDEX - Exploration Reports
The result of mandatory reporting requirements to the government by mineral, coal and petroleum explorers in Queensland. The collection commenced with the introduction of the exploration   permitting system in Queensland in the 1950's and continues to the present   day with several hundred reports added annually.
97065

Queensland Geological Maps
A collection of current Geological Maps published by the Geological Survey of Queensland. The collection also includes Geology Compilation Plots compiled from recent project work.
419

GSQ Record Series
Publications produced as part of the record series by the Geological Survey of Queensland.
1299

Soils and Land Resources Reports
Information on Queensland soils, acid sulfate soils, land systems, agricultural land suitability, agricultural land capability, available in land resources reports and maps and land management manuals.
390

Exploration Reports
Exploration Reports specifically related to drilling and non-drilling carried out by recipients of Queensland Government exploration grants, including the Collaborative Exploration   Initiative grants under the Strategic Resources Exploration Program.
119

Departmental Publications
Departmental Publications including Queensland Government Mining Journal (QGMJ).
2075

GSQ-Commissioned Industry Studies/Reports
Reports on Studies undertaken by Industry, but commissioned by the Geological Survey of Queensland.
15

Industry Consultative Reports
Reports created by external parties and of geological significance that are submitted to DNRM and associated with the exploration industry, but not tied to tenure or legislation
31

Now that we have the Open Data Portal for publishing documents of all sorts, I suggest that we publish the following categories of documents, currently held in QDEX Reports, to the Open Data Portal (as opposed to having them in the new lodgement portal):

Geological Survey of Queensland Publication
Geological Survey of Queensland Record
Queensland Government Mining Journal
Presentation
Thesis

And possibly:

Converted from QERD
Departmental Drilling

This will require the Georesource report vocabulary to have these concepts removed.
This change will result in the Lodgement Portal being used for the lodgement of industry reports. The Report Type drop-down in the lodgement portal can reflect this.
GSQ users can directly upload other types of publications, previously loaded into QDEX Reports, directly into CKAN.

Happy to do so. But questions.
Will they not still be useful terms for indexing and search within the same basic bundle of objects i.e. reports? Our reports are already grouped into collections that we can leverage.
Should at least retain presentation and thesis for non-regulatory submission by academia, or for industry generated presentations and papers.
Not common, but if they occur we want them via the lodgement portal when submitted from external sources. There is no effort involved in keeping the concepts as they are.

The only lodgements made by external parties are 17 Collaborative drilling reports - see attached file.
Reports lodged by industry into QDEX Reports.xlsx
The report types can be kept as metadata, but we shouldn't show them in the drop-down list as an option for the external user to lodge.


[question] How to place the avatar on top of the MessageNode bubble?

By default, the avatar's position is on the bottom of the bubble (see the screenshot).

Is it possible to render it in the upper part of the MessageNode?
I have not found any appropriate methods. Which class should I use if I'm looking at a wrong one?

That's what I'm trying to build :

I don't have a property exposed for changing the position of the message node. I can add one in a couple days. As far as what you're trying to build -- I would recommend creating a custom content node (which has a timestamp and the test) and a custom bubble.

@atainter , thanks for the reply. Should I consider usual AsyncDisplayKit tutorials and docs? Or is there anything NMessenger specific I should know implementing this? Are there any NMessenger related guides available?

I don't have a property exposed for changing the position of the message node. I can add one in a couple days.

Thanks, this would be useful, I guess. I'll try to follow the "custom node" approach you've suggested.

@atainter , I think, I do need the "avatar position fix" heavily.
It would be cool if the bubble could somehow know the Y position of the avatar (in bubble's coordinates) at the moment of sizeToBounds invocation in order to place the "triangle" properly.

So far I'm trying to rewrite a copy of DefaultBubble so that its stroke would be using comething like this code
P.S. Credits to the SO topic

Should I consider usual AsyncDisplayKit tutorials and docs? Or is there anything NMessenger specific I should know implementing this? Are there any NMessenger related guides available?

I would look over TextContentNode or ImageContentNode to get an idea of how to subclass content node. However, yes, it is mainly ASDK stuff.

It would be cool if the bubble could somehow know the Y position of the avatar (in bubble's coordinates) at the moment of sizeToBounds invocation in order to place the "triangle" properly.

Let me think about how to implement this. If I can't think of an elegant solution, you might be limited to TOP or BOTTOM positioning. The issue is that it interferes with the MessageGroup animations.

It would be cool if the bubble could somehow know the Y position of the avatar (in bubble's coordinates) at the moment of sizeToBounds invocation in order to place the "triangle" properly.

Let me think about how to implement this. If I can't think of an elegant solution, you might be limited to TOP or BOTTOM positioning. The issue is that it interferes with the MessageGroup animations.

Cool. Thanks.

So far, I'm trying to stick with your TextContentNode and tweak the bubble only.
I've managed to do this (the timestamp is prepended to the TextContentNode.textMessageString which is a bit "unfair").

P.S. I think I'll write a tutorial after getting the thing done. Thanks for helping with my struggles.

I think I'll be able to change the path (bubble shape) according to the designs. The only thing remaining is the avatar position.

you might be limited to TOP or BOTTOM positioning

I think I'll be able to hard code some magic constants so that a triangle looks ok. But precise "avatar center" position would be so helpful.

So, I've managed to change the shape but the bubbles are too close to each other right now. The NMessengerViewController.messagePadding does not seem to affect that.
    override func viewDidLoad()
    {
        super.viewDidLoad()

        precondition(nil != self.controller)
        self.controller?.delegate = self

        super.sharedBubbleConfiguration = self.vhBubbleConfig

        // this value seems to be ignored
        super.messagePadding = UIEdgeInsets(top: 30, left: 0, bottom: 30, right: 0)

        self.messengerView.doesBatchFetch = true
        self.controller?.getInitialHistoryAsync()
    }

Also, I have an issue with glow effect. My configuration of layer shadows does not seem to take any effect.
open override func createLayer() {

       ... // the existing code
       ...

        // glow effect attempt
        //
        self.maskLayer.shadowPath = self.path
        self.maskLayer.shadowOffset = CGSize(width: 0, height: 0)
        self.maskLayer.shadowColor = self.bubbleBorderColor.cgColor
        self.maskLayer.shadowRadius = 10

        self.layer.shadowPath = self.path
        self.layer.shadowOffset = CGSize(width: 0, height: 0)
        self.layer.shadowColor = self.bubbleBorderColor.cgColor
        self.layer.shadowRadius = 10

A similar technique works fine for UIView.drawRect
    static const CGFloat SHADOW_BLUR = 8;

    // http://stackoverflow.com/questions/10024543/draw-lines-with-glow-effect-in-ipad-app
    //
    //Set the shadow in your graphics context to have a zero size offset, a blur of around 6-10 (change according to taste) and the same colour as your stroke colour. This will give all subsequent drawing a glow effect. The command is
    //
    //
    CGContextSetShadowWithColor(context, CGSizeMake(0, 0), SHADOW_BLUR, strokeColor.CGColor);

My configuration of layer shadows does not seem to take any effect.

Solved by adding shadowOpacity
self.maskLayer.shadowOpacity = 1
self.maskLayer.masksToBounds = false

But now it's clipped on both top and the bottom. Setting self.clipsToBounds = false on TextContentNode does not help much.

How are you adding messages to the messenger? MessagePadding should work if you set it directly on the MessageNode. I'll look into that value not being honored in the ViewController. self.clipsToBounds = false should be set on the MessageNode once you've added padding (now that I think about it, that value should actually be called margin)

How are you adding messages to the messenger?

@atainter , I've added my NMessengerController subclass to the gist.

MessagePadding should work if you set it directly on the MessageNode.

Thanks. I'll try this out tomorrow.

MessagePadding should work if you set it directly on the MessageNode.

It does not work for me. Nothing happens even when I change the default "insets" value of the node
open class TextContentNode: ContentNode,ASTextNodeDelegate {

    // MARK: Public Variables
    /** Insets for the node */
    open var insets = UIEdgeInsets(top: 30, left: 10, bottom: 30, right: 10) {
        didSet {
            setNeedsLayout()
        }
    }

self.clipsToBounds = false should be set on the MessageNode

No luck either. I've added this to the very end of my buildNodeForTextMessage code.
contentNode.clipsToBounds = false
contentNode.textMessageNode.clipsToBounds = false

@atainter , How is your progress implementing the avatar positioning thing going on?
I still hope of getting some help but I might have to implement it myself due to my deadline. Am I supposed to rewrite some of the MessageNode.layoutSpecThatFits code in this case or is there a better customization point to look at?
P.S. Thanks again both for the library and for your replies.

@dodikk , to put avatar to top
layoutSpecs = ASStackLayoutSpec(direction: .horizontal, spacing: 0, justifyContent: justifyLocation, alignItems: .start, children: cellOrientation)

@Alond , thanks for the reply. I've figured that out already and I've submitted a pull request that adds the corresponding tweak to NMessenger.
Waiting for @atainter to approve and mere it to the upstream.


Change cll.qc.ca to cegeplevis.ca

The Cégep name (and domain) changed from Cégep de Lévis-Lauzon (cll.qc.ca) to Cégep de Lévis (cegeplevis.ca) since 2021.
www.cegeplevis.ca

@mathieu-goulet Thank you for your patience while waiting for a review and processing your request. Pull request merged.


go-gorm/sharding plugin would fail when combining with hints.ForceIndex in MySQL

GORM Playground Link

https://github.com/go-gorm/playground/pull/726
Description

I create a logical table named message, and use two underlying sharding tables: message_01 and message_02.
When using go-gorm/sharding plugin alone, everything works well, as in test case TestSharding.
However, after I added Clauses(hints.ForceIndex("idx_content")) in the query, the sharding plugin would fail, as in test case TestShardingAndForceIndex.
The error log shows Error 1146 (42S02): Table 'gorm.message' doesn't exist.
After some digging up, I found the cause of the issue comes from this line: https://github.com/go-gorm/sharding/blob/1ccc1749c6a4c2f77b23ddd515bf7c33dd6e350b/sharding.go#L307
It seems sqlparser can't handle the FORCE INDEX syntax in SQL, causing the sharding plugin fails and falls back to original(not sharded) SQL.
A relevant issue: https://github.com/go-gorm/sharding/issues/91

@jinzhu

any update？


Update PKO installer as necessary

[x] fixups to be able to push the operator image
[x] a new pulmui deploy app that uses the kustomization manifests in operator/config
[x] updated helm chart

[x] cluster rbac
[x] namespaced rbac
[x] security context
[x] aggregated roles

[x] updated install.yaml in deploy/yaml

Added to epic https://github.com/pulumi/pulumi-kubernetes-operator/issues/586

This is done.


Missing Ores

I(And some others) have been having this problem where the ore chunks don't seem to be showing up.
I looked through the config files and found that the OreRegistry.json and SieveRegistry.json are empty.

the question is the ores missing also happens in other compatibility mod like Industry Craft


Prevent double-clicking setup#bootstrap submit in public cloud - r3.0

#507 cherry-picked for inclusion to release-3.0

 Prevent double-clicking setup#bootstrap submit in public cloud

I looked at the tests and this does not seem related.
@kiall : can I merge this?

This was merged for master and v2.1. Merging here as well.


refactor: Refactor error handling (mostly in circuits)

Summary
Some error handling is entirely motivated by calling an infallible function that nonetheless returns Result<>: AllocatedNum::alloc, when called with an infallible closure.
This PR materializes this as a draft with an .expect(), something that incidentally was already done in functions such as allocate_unconstrained_bignum -- and is now normalized throughout the code base.
We should merge the sister bellpepper PR to perform this more ergonomically by offering an explicitly infallible variant of alloc.
While I was there, I fixed a couple functions that required a Result for exactly no reason (I needed to use clippy::unnecessary_wraps, and they were lowering the signal-to-noise ratio of that tool).
TODO

[x] refactor based on the latest bellpepper.

Details

Removed uneeded Result wrapping from various functions and methods across several files, making them infallible and changing the error handling approach.
Materialize that certain closures, such as the ones passed in AllocatedNum::alloc, are infallible,
Improved code readability by eliminating unnecessary question marks and unwrapping of Results in various function calls and test cases.
Modified various methods to return their results directly instead of wrapping them in a Result type, simplifying error handling.
Adapted the corresponding function call sites and test cases according to the changes in return types.

Materialize that certain closures, such as the ones passed in AllocatedNum::alloc, are infallible,

This doesn't affect the code itself, but since this line of work involves a somewhat systematic change to expected bellpepper usage, it's worth noting that the line above implies that closures passed to AllocateNum::alloc are always infallible. That is not true in general; and the usual case for allocating numbers is that they depend on the value of some other AllocateNum.
As long as that's clear, I don't see an issue. Given that this PR only changes allocations which manifestly are infallible, it should be fine. I mention this just to make sure we retain clarity around expected usage of the bellpepper API, even as we evolve it.

I've tested the rebase, and this only generates issues on one file, src/lem/circuit.rs, specifically on applications of alloc_const and get_or_alloc_const. There the resolution to the conflicts is simple: select the version in this PR, and do a pass removing the Result wrapping the return type of those two functions (along with removing the ? correspondingly at their call sites).
Given this is manageable, I'll merge this to minimize the amount of moving pieces.


Array/Object transform canonization

PR for issue #297
Implement canonization for

[x] Array Transform Canonization
[x] Object Transform Canonization

Coverage: 95.218%. Remained the same when pulling 384598f413d400b071c83c5ea97aaf5336269198 on Darrellbor:297-canonization_of_array_transform_and_object_transform into 30a0c13c69b68598f51c37aae0ff1d63fe72d5c7 on gavv:master.

@gavv completed and ready for review

Thanks for PR!
There is one minor issue. In this test, we want to check how Transform performs canonization, and we do NOT want to check how IsEqual performs canonization.
So instead of calling IsEqual with various types, we should call Transform with various types and then check that newArray.Raw() always returns canonized value. We don't need IsEqual at all in this test.

@gavv I have adjusted the array transform to assert equals rather than direct equals; although i can no longer use wrapped types like
type (
 myArray []interface{}
 myFloat float64
)

As it complains that float64 does not equal myFloat for example.
Do i also do the same for object transform?

Wrapped types should be returned from Transform, not passed to assert.Equal. myArray is not relevant, but myFloat can be used.

Do i also do the same for object transform?

Yep.

Thanks!


Previous Messages Resent to L1 on Katana Restart

Describe the bug
When running Katana with the command
katana --messaging anvil.messaging.json --db-dir ./database
previously sent messages to L2 are resent to L1 upon restarting Katana.
To Reproduce
Steps to reproduce the behavior:

Follow all the steps in the starknet-messaging-dev repo, except start Katana with: katana --messaging anvil.messaging.json --db-dir ./database
Stop katana
Restart katana using katana --messaging anvil.messaging.json --db-dir ./database (wait for a few seconds)
Observe that previously sent messages are resent to L1.

Expected behavior
Messages should not be resent to L1 upon restarting Katana; the state should persist correctly between restarts.

@kariy would have any pointer on that one?

Hi, can I get assigned to this?

This seemed to be caused by the messaging service not having context of where to start the message processing.
https://github.com/dojoengine/dojo/blob/30e98034acb96545e859c22067b68eb8e281d0e8/crates/katana/core/src/service/messaging/service.rs#L65-L69
For gathering the messages from the L1, we have an item in the configuration that may be used for that. However, as we're using a database, this block number may be different if Katana stops without graceful shutdown.
Currently, on the providers traits we have, there's no trait to store messaging information (last block gathered, last block sent messages). @kariy does it sound reasonable to add a provider trait to store such information and allow Katana to restart from an existing database being aware of which blocks must be processed for L1 <> L2 messaging?
@StarkFishinator are you feeling confident to dive into that? Or do you have an other strategy to propose?

@ybensacq we've synced with @kariy and here's the way we could solve that:

Katana has a genesis configuration and this is where we want the initial configuration for the L1 block to start fetching messages: https://github.com/dojoengine/dojo/blob/4f76fd79e6f845471489a00bdaa85ecc55732103/crates/katana/primitives/src/genesis/mod.rs#L85
Then, Katana should keep into the database some pointer on the block/transaction/event (we should evaluate the better) from where the message is actually fetched. To ensure correct restart when a database is used. We could have a new provider trait to handle those pointers.
In the case of appchain->base_layer messages, we don't think it's necessary to have them into the genesis or messaging configuration. As when Katana is started with a database, the pointer will be enough to resume the operation.


Enable assigning PR to user (assign to yourself) from plugin

Hello,
With respect to my current company's practices, I have to assign the PR to myself when it is created and unfortunately this is not feasible from VS Code plugin and it requires me to open github's website just for this one click, so it's a time waste, adding this button in VS Code plugin would be of great help (I believe not only to me).
Would it be possible to get it?
Thanks

Hey @lachaib, there is an existing feature request for this (https://github.com/microsoft/vscode-pull-request-github/issues/1063), so I'm going to go ahead and close this as a duplicate.

Hey @lachaib, there is an existing feature request for this (https://github.com/microsoft/vscode-pull-request-github/issues/1063), so I'm going to go ahead and close this as a duplicate.

My bad I didn't find it despite my prior search.
Thanks @RMacfarlane for your quick answer.

My bad I didn't find it despite my prior search.
Thanks @RMacfarlane for your quick answer.


gajim: fix plugin support

Description of changes
Plugin installer is now part of regular gajim, but we would vendor an old version instead which refused to do anything after reading a plugin manifest with version bounds on gajim.

Things done

Built on platform(s)

[x] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
22.05 Release Notes (or backporting 21.11 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module
[ ] (Release notes changes) Ran nixos/doc/manual/md-to-db.sh to update generated release notes

[x] Fits CONTRIBUTING.md.

Sounds good. DId you test it?

Sounds good. DId you test it?

Yes, I checked the output on startup which no longer warns about these issues and successfully installed  / used the OMEMO plugin.

Great. Thanks!


Various tweaks to semaphore (and makefile)

This is a bit of a mixed bag of a commit, so I totally understand if you don't want to merge it as-is. I figured I'd let you choose what you like, if anything, instead of just forking silently.
First, thank you for writing the cross-platform + lightweight semaphore! I had had in mind to do something remarkably similar for absolute ages, but just never had the time to get around to it. Now I don't have to :-) Your blog post, too, was high-quality as usual. I've taken the lightweight semaphore and used it to implement a blocking wrapper around both of my lock-free queues (spsc and mpmc).
The changes I made are:

I replaced the #include of windows.h with manually-declared prototypes for the specific Win32 semaphore functions called. This is definitely a controversial change, as Microsoft tends to frown on this sort of thing, but I absolutely hate including windows.h in a header. Matter of preference, I suppose.
The platform-specific semaphores are implemented using the int type, but there's no reason the lightweight semaphore can't go beyond that and use the signed equivalent of size_t -- after all, the only values passed on to the platform-specific semaphores are the negative counts corresponding to the number of waiting threads, and those should fit in an int, even if the maximum count can go beyond that limit. So I changed this, introducing a ssize_t type.
I added an availableApprox() method to the lightweight semaphore that returns the available count. This is useful for debugging, unit tests, probabilistic algorithms, etc.
I added tryWaitMany() and waitMany() methods that "acquire" many items at once, instead of just one; this is required in order to implement e.g. a blocking bulk dequeue like the one I have in my MPMC queue. They could potentially be useful to others looking to do bulk operations with a semaphore.
I changed the tryWait() method to use a CAS-loop instead of just a single CAS, since under contention the CAS will often fail even if the count is way above 0. (Obviously, the wait() method doesn't strictly need this since it proceeds to spin-wait after anyway, but it matters for those who call the tryWait() method directly without a follow-up call to wait().)
I also fixed cmake 'Unix Makefiles' generation to work when on Windows/MinGW64.

Your unit tests still pass. I can't tell if there's any effect on performance since the tests seem to take a wildly different amount of time to execute each time on my PC (which admittedly is a rather wimpy AMD C-50 dual-core netbook processor -- I had to lower the iteration count temporarily on some of them otherwise it would have taken over half an hour to get the test results, heh).
Thank you for your hard work!

FYI, sizeof(int) != sizeof(ssize_t) in 64-bit environment. In AMD64, it will issue more lengthy instructions  (64-bit operation on register needs an instruction prefix  while 32-bit operation doesn't) for no big deal (I won't expect for more than 2 billions of threads waiting !).

@hlide: Yes, that was my intention. I didn't know the instruction length was different, though -- does it make any difference to performance?
In any case, it's not for the number of waiting threads (when the count is negative), but rather for the number of available items (when the count is positive).

@cameron314: as long as the instruction cache can absorb those extra bytes, it won't.

Thanks for the MinGW fix. I'm half tempted by the <windows.h> trick, but I'll leave it alone for now.

@cameron314: off-topic I'm quite interested with your free-lock SPSC and MPMC queues implementation, but I have a question. I need a free-lock MPSC queue and I was wondering how to achieve it (blocking version or not).

Ah, yes, I hadn't considered the cacheline implications. Interesting.
@hlide: Hmm, MPSC. I don't know of any off the top of my head -- you're probably best off picking a general MPMC queue and just using that. Mine might not offer the best characteristics for that scenario, as it's built out of SPMC queues internally. The best way is to try a few and find the one that's fastest for your particular workload (by profiling). Just know that both SPMC and MPSC can be engineered much more efficiently than MPMC.


Improve can.scope and $.fn.scope code and add assignment support

This patch makes it so all of the following are supported:
$(el).scope() // => can.Map instance
$(el).scope("foo") // => fetches "foo" property of can.Map instance
$(el).scope("foo", value) // => sets value as the value for the "foo" property on that instance

as well as the can.scope() equivalents.

@daffl all done


Add some possible additional family events for consideration

Adds Civil Union, Domestic Partnership, Family Story and Newspaper Marriage Notice for possible consideration.

I do not see Family Story and Newspaper Marriage Notice as Family Events. Family Story is a report (I see it in NOTE), Newspaper Marriage Notice will be put as source citation under the MARR event.
Civil Union I handle as another type of MARR event, like Civil Marriage and Religious Marriage. For me Domestic Partnership is more a fact than a event, however Domestic Partnership has no unique definition, and there may be cases where it is used for an event. But this must be made clear before creating a tag!
Generally there is the question how to model the many special events users are asking for. They might be modelled as groups of events differenciated by TYPE, or they all get an own tag. I think this should be decided before we create more and more tags which might be deprecated if the general decision is made afterwards.

Thanks for the feedback. Keep in mind inclusion here documenting that these are currently provided for or in use in some way in programs out in the real world or a standard like Gedcom X does not mean they need be accepted and added to the standard.
Note I started the process of trying to put together a PR documenting individual events used by various programs and standards and there are a great number. I'm honestly unsure if I should continue work on it or not.
I agree there is the question of how to handle these things. Up until now the Gedcom standard has always handled them as a flat namespace. Most programs do as a result and would require extensive changes to handle them differently.
Stepping back a little... I would like to point out very few programs seem to have adopted version 7 of the standard at all from what I can tell. Exports I ran to examine from Ancestry.com, FindMyPast and MyHeritage yesterday are all still using the legacy 5.5.1 standard.  As version 7 has been available for quite some time now the future of the standard if no one of any major size is adopting and using it seems somewhat nebulous to me.

@cdhorn and @albertemmerich
Thanks for documenting the various facts/events used by the multitude of applications and data providers.
I am proponent of what I call, “Typification” of similar facts/events.
I am however losing faith in a Better GEDCOM, the standardization of the various “dialects” of GEDCOM and the adoption of v7, but more so, some very important (in my view) improvements in future GEDCOM protocols.
It is hard for me to contribute here when I feel that other factors are pulling in a different direction!

Approved during GEDCOM Steering Committee meeting June 13, 2024
More input will be needed before adding to FamilySearch GEDCOM 7.1 (or later) but this is all great information towards that end.
Thanks!

@cdhorn, I appreciate the scope of individual events! If you wish to document those that various applications use that would be valuable, whether in whole or in part. I've had something like that on my wish list for a while, and am very happy to see the progress you've made on it!

If you wish to document those that various applications use that would be valuable, whether in whole or in part.

@tychonievich I will submit a PR for this when I have time to finish sifting through things. It will likely overlook many things and be incomplete but the hope is that it helps some.

As new standards go it does take some time for industry adoption.

@clarkegj yes I know it can take time but it has been 3 years now. I think for it to really gain traction the big players need to support both importing and exporting with it and I am surprised they have not yet. I wonder if the thinking is that 5.5.1 is 'good enough' and what 7.0 has to offer is not enough to justify spending time and resources on it.

The project should choose a couple Open Source projects (in different coding languages) that use GEDCOM for display and contribute GEDCOM7 reader and writer code.
For instance, a severely cropped (eliminate the GUI modules and most internal plugins) fork of Gramps could be used as a tool to transform to and from different formats. That would be multilingual straight off the starting block. The data model is flexible enough to allow unrecognized Tags to be stored as attributes tuples. And the fork COULD offer the Gramps plug-in framework so other tools could add support for their format.
As the different vendor wrote Import/Export plug-in for their native format, they could use the fork as an external ETL (Extract, Transform, and Load) and ELT (Extract, Load, and Transform) utility. And use it as a bridging technology until the GEDCOM7 format was internally supported.


Separating data in bar graph

Is there a way to separate the data on a bar graph so that there is one long bar graph, separated into sections? Something like a horizontal line between the sections, and then being able to label each section. If it doesn't exist, I'd be more than happy to see what I can hack up!

Duplicate of #10


Add the element reference operator []

Add as a member function, as its meaning differs between objects, as well as allowed arguments (e.g. regex for strings, slicing for sequences, etc.).
As this is a function, the contents between the [ and ] should be treated as a parameter list.
Include implementation for String and Array. Hash can be implemented after this.

Will implement for String in #50


implement registration workflow

Implement the registration workflow and remove the automatic account matching from the authentication workflow.

Here's a thought... the NuvlaBox will also need a more sophisticated registration workflow to support automatic and manual registration. Could both share a common solutions?


Enum decoding fails

I try to decode the following XML:
<D:lockentry xmlns:D="DAV:">
  <D:lockscope>
    <D:exclusive/>
  </D:lockscope>
  <D:locktype>
    <D:write/>
  </D:locktype>
</D:lockentry>

into the following Struct (shouldProcessNamespaces = true):
struct LockEntry: Codable {

   enum LockScope: Codable {
      case exclusive
      case shared
   }

   var lockscope: LockScope
}

However, it fails with the following error:
Value at path 'lockscope' was not of type 'Dictionary<String, Any>'. Expected to decode Dictionary<String, Any> but found SingleKeyedBox instead.

I have no idea what I'm missing or getting wrong. Any help would be appreciated.

I found the source of the problem. For some reason Swift Package Manager downloads the 0.17.0 release and not the current 0.17.1 release. Adding the dependency .package(url: "https://github.com/CoreOffice/XMLCoder.git", revision: "b1e944c") to Package.swift resolves the issue for me.
So it remains unclear, why SPM does not use the most current release version.


Add caching of static assets to jenkins.io

Based on https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fplugins.jenkins.io%2Fgit&tab=mobile&hl=en_GB

Build failed; the context from the latest run is:
Expand to view
[2019-12-03T20:38:43.488Z] Pull request #81 opened
[2019-12-03T20:38:43.507Z] Connecting to https://api.github.com using jenkinsadmin/****** (GitHub access token for jenkinsadmin)
[2019-12-03T20:38:44.023Z] Connecting to https://api.github.com to check permissions of obtain list of timja for jenkins-infra/charts
[2019-12-03T20:38:44.621Z] Obtained Jenkinsfile from 9c34a78e2818f56488edbbab8bcdd4798e770889+b291c109252922715d321f3d553fcfd1320b8ce3 (6ca2b255b844a49666662f6b948a4bb98efab280)
[2019-12-03T20:38:44.621Z] Running in Durability level: MAX_SURVIVABILITY
[2019-12-03T20:38:44.647Z] Loading library pipeline-library@master
[2019-12-03T20:38:44.647Z] Attempting to resolve master from remote references...
[2019-12-03T20:38:44.702Z] Found match: refs/heads/master revision ab731badc0385be764972fff2fb56c42545a2452
[2019-12-03T20:38:44.703Z] No credentials specified
[2019-12-03T20:38:44.704Z] Cloning the remote Git repository
[2019-12-03T20:38:44.704Z] Cloning with configured refspecs honoured and without tags
[2019-12-03T20:38:44.838Z] remote: Enumerating objects
[2019-12-03T20:38:44.838Z] remote: Counting objects
[2019-12-03T20:38:44.838Z] remote: Compressing objects
[2019-12-03T20:38:44.844Z] Receiving objects
[2019-12-03T20:38:44.874Z] Resolving deltas
[2019-12-03T20:38:44.951Z] Updating references
[2019-12-03T20:38:44.960Z] Fetching without tags
[2019-12-03T20:38:45.003Z] Checking out Revision ab731badc0385be764972fff2fb56c42545a2452 (master)
[2019-12-03T20:38:45.021Z] Commit message: "Merge pull request #122 from jglick/almost-ntp"
[2019-12-03T20:38:45.023Z] First time build. Skipping changelog.
[2019-12-03T20:38:47.313Z]
[2019-12-03T20:38:47.313Z] GitHub has been notified of this commit’s build result
[2019-12-03T20:38:47.313Z]
[2019-12-03T20:38:47.313Z] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[2019-12-03T20:38:47.313Z] WorkflowScript: 3: Invalid agent type "kubernetes" specified. Must be one of [any, docker, dockerfile, label, none] @ line 3, column 5.
[2019-12-03T20:38:47.313Z]        kubernetes {
[2019-12-03T20:38:47.313Z]        ^
[2019-12-03T20:38:47.313Z]
[2019-12-03T20:38:47.313Z] 1 error
[2019-12-03T20:38:47.313Z]
[2019-12-03T20:38:47.313Z] 	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
[2019-12-03T20:38:47.313Z] 	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
[2019-12-03T20:38:47.313Z] 	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
[2019-12-03T20:38:47.313Z] 	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
[2019-12-03T20:38:47.313Z] 	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
[2019-12-03T20:38:47.313Z] 	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
[2019-12-03T20:38:47.313Z] 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
[2019-12-03T20:38:47.313Z] 	at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
[2019-12-03T20:38:47.313Z] 	at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
[2019-12-03T20:38:47.313Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
[2019-12-03T20:38:47.313Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
[2019-12-03T20:38:47.313Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
[2019-12-03T20:38:47.313Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
[2019-12-03T20:38:47.313Z] 	at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:327)
[2019-12-03T20:38:47.313Z] 	at hudson.model.ResourceController.execute(ResourceController.java:97)
[2019-12-03T20:38:47.313Z] 	at hudson.model.Executor.run(Executor.java:429)
[2019-12-03T20:38:47.313Z] Finished: FAILURE

Powered by the Comment Logger

Build failed; the context from the latest run is:
Expand to view
[2019-12-03T22:05:08.128Z] Pull request #81 updated
[2019-12-03T22:05:08.542Z] Connecting to https://api.github.com using jenkinsadmin/****** (GitHub access token for jenkinsadmin)
[2019-12-03T22:05:09.084Z] Connecting to https://api.github.com to check permissions of obtain list of timja for jenkins-infra/charts
[2019-12-03T22:05:09.673Z] Obtained Jenkinsfile from fe11caec046d8ffe86faedfef0eb4c1023da5695+b291c109252922715d321f3d553fcfd1320b8ce3<PHONE_NUMBER>cbc289f31e110486a3bf3100f437ae)
[2019-12-03T22:05:09.673Z] Running in Durability level: MAX_SURVIVABILITY
[2019-12-03T22:05:09.698Z] Loading library pipeline-library@master
[2019-12-03T22:05:09.699Z] Attempting to resolve master from remote references...
[2019-12-03T22:05:09.766Z] Found match: refs/heads/master revision ab731badc0385be764972fff2fb56c42545a2452
[2019-12-03T22:05:09.768Z] No credentials specified
[2019-12-03T22:05:09.768Z] Fetching changes from the remote Git repository
[2019-12-03T22:05:09.769Z] Fetching without tags
[2019-12-03T22:05:09.840Z] Checking out Revision ab731badc0385be764972fff2fb56c42545a2452 (master)
[2019-12-03T22:05:10.418Z] Commit message: "Merge pull request #122 from jglick/almost-ntp"
[2019-12-03T22:05:12.658Z]
[2019-12-03T22:05:12.658Z] GitHub has been notified of this commit’s build result
[2019-12-03T22:05:12.658Z]
[2019-12-03T22:05:12.658Z] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[2019-12-03T22:05:12.658Z] WorkflowScript: 3: Invalid agent type "kubernetes" specified. Must be one of [any, docker, dockerfile, label, none] @ line 3, column 5.
[2019-12-03T22:05:12.658Z]        kubernetes {
[2019-12-03T22:05:12.658Z]        ^
[2019-12-03T22:05:12.658Z]
[2019-12-03T22:05:12.658Z] 1 error
[2019-12-03T22:05:12.658Z]
[2019-12-03T22:05:12.658Z] 	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
[2019-12-03T22:05:12.658Z] 	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
[2019-12-03T22:05:12.658Z] 	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
[2019-12-03T22:05:12.658Z] 	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
[2019-12-03T22:05:12.658Z] 	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
[2019-12-03T22:05:12.658Z] 	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
[2019-12-03T22:05:12.658Z] 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
[2019-12-03T22:05:12.658Z] 	at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
[2019-12-03T22:05:12.658Z] 	at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
[2019-12-03T22:05:12.658Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
[2019-12-03T22:05:12.658Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
[2019-12-03T22:05:12.658Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
[2019-12-03T22:05:12.658Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
[2019-12-03T22:05:12.658Z] 	at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:327)
[2019-12-03T22:05:12.658Z] 	at hudson.model.ResourceController.execute(ResourceController.java:97)
[2019-12-03T22:05:12.658Z] 	at hudson.model.Executor.run(Executor.java:429)
[2019-12-03T22:05:12.658Z] Finished: FAILURE

Powered by the Comment Logger

This jenkins admin is really annoying on this repo :(
Triggers a notification for me on every failure and it will never work on ci.jenkins.io how it's currently built

yea, none of the charts work on ci.jenkins, the repo probably should be deleted from non trusted.

@timja  I totally agree with you, and this PR is related to INFRA-1841

https://github.com/jenkins-infra/charts/pull/82

Build failed; the context from the latest run is:
Expand to view
[2019-12-04T14:00:13.439Z] Pull request #81 updated
[2019-12-04T14:00:14.014Z] Connecting to https://api.github.com using jenkinsadmin/****** (GitHub access token for jenkinsadmin)
[2019-12-04T14:00:14.685Z] Connecting to https://api.github.com to check permissions of obtain list of timja for jenkins-infra/charts
[2019-12-04T14:00:15.354Z] Obtained Jenkinsfile from 05b99f65d628a9b36f5791ec3a6508be308c3caa+1882467d9543f28056c032dcd60ac0b9b86b62cb (1d693ee0d429ce89c87f4610c91f154c8c4b466c)
[2019-12-04T14:00:15.354Z] Running in Durability level: MAX_SURVIVABILITY
[2019-12-04T14:00:15.401Z] Loading library pipeline-library@master
[2019-12-04T14:00:15.402Z] Attempting to resolve master from remote references...
[2019-12-04T14:00:15.472Z] Found match: refs/heads/master revision ab731badc0385be764972fff2fb56c42545a2452
[2019-12-04T14:00:15.473Z] No credentials specified
[2019-12-04T14:00:15.641Z] Fetching changes from the remote Git repository
[2019-12-04T14:00:15.641Z] Fetching without tags
[2019-12-04T14:00:15.908Z] Checking out Revision ab731badc0385be764972fff2fb56c42545a2452 (master)
[2019-12-04T14:00:16.323Z] Commit message: "Merge pull request #122 from jglick/almost-ntp"
[2019-12-04T14:00:18.973Z]
[2019-12-04T14:00:18.973Z] GitHub has been notified of this commit’s build result
[2019-12-04T14:00:18.973Z]
[2019-12-04T14:00:18.973Z] org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
[2019-12-04T14:00:18.973Z] WorkflowScript: 3: Invalid agent type "kubernetes" specified. Must be one of [any, docker, dockerfile, label, none] @ line 3, column 5.
[2019-12-04T14:00:18.973Z]        kubernetes {
[2019-12-04T14:00:18.973Z]        ^
[2019-12-04T14:00:18.973Z]
[2019-12-04T14:00:18.973Z] 1 error
[2019-12-04T14:00:18.973Z]
[2019-12-04T14:00:18.973Z] 	at org.codehaus.groovy.control.ErrorCollector.failIfErrors(ErrorCollector.java:310)
[2019-12-04T14:00:18.974Z] 	at org.codehaus.groovy.control.CompilationUnit.applyToPrimaryClassNodes(CompilationUnit.java:1085)
[2019-12-04T14:00:18.974Z] 	at org.codehaus.groovy.control.CompilationUnit.doPhaseOperation(CompilationUnit.java:603)
[2019-12-04T14:00:18.974Z] 	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:581)
[2019-12-04T14:00:18.974Z] 	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:558)
[2019-12-04T14:00:18.974Z] 	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:298)
[2019-12-04T14:00:18.974Z] 	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:268)
[2019-12-04T14:00:18.974Z] 	at groovy.lang.GroovyShell.parseClass(GroovyShell.java:688)
[2019-12-04T14:00:18.974Z] 	at groovy.lang.GroovyShell.parse(GroovyShell.java:700)
[2019-12-04T14:00:18.974Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.doParse(CpsGroovyShell.java:142)
[2019-12-04T14:00:18.974Z] 	at org.jenkinsci.plugins.workflow.cps.CpsGroovyShell.reparse(CpsGroovyShell.java:127)
[2019-12-04T14:00:18.974Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.parseScript(CpsFlowExecution.java:561)
[2019-12-04T14:00:18.974Z] 	at org.jenkinsci.plugins.workflow.cps.CpsFlowExecution.start(CpsFlowExecution.java:522)
[2019-12-04T14:00:18.974Z] 	at org.jenkinsci.plugins.workflow.job.WorkflowRun.run(WorkflowRun.java:327)
[2019-12-04T14:00:18.974Z] 	at hudson.model.ResourceController.execute(ResourceController.java:97)
[2019-12-04T14:00:18.974Z] 	at hudson.model.Executor.run(Executor.java:429)
[2019-12-04T14:00:18.974Z] Finished: FAILURE

Powered by the Comment Logger


Enable Arm Builds for Gridcoin

This pull request includes the missing compatibilty headers and glibc back-compatibility files required to build for arm builds. Also extends the unix build instructions with commands for 64 bit arm.

It does not appear that ne new files are included anywhere.
Did the existing bitcoin serializer not supporeted endianness? I thought it used network-byte-order already.

That's correct, @tomasbrod. The old serialized does not take endian into consideration. They fixed it later on to always serialize with a known order.

@tomasbrod you are right, no need for the compatibility headers. As @denravonska pointed out, in bitcoin they are used to test for the correct serialization, but this does not apply to us. Files removed, scope of the pr is now just the added documentation for 64bit arm.

Err, so now we have what?

Now we only work on little endian. Jamezz bumped into this wall when he was trying to get the wallet running on PPC. I started porting the endian agnostic serialization from Bitcoin but the large changeset combined with the slowness of working over an Atlantic SSH connection made me abandon it for now. If we move to a new codebase we will get endian support for free.

But @barton26 is already running the wallet on Pi ARM. Isn't that the-other-endian?

While ARM supports both big- and little endian, I believe Raspberry Pi (and most other ARMs) use little endian like x86.
marco@raspberrypi:~$ lscpu
Architecture:          armv7l
Byte Order:            Little Endian
CPU(s):                4
On-line CPU(s) list:   0-3
Thread(s) per core:    1
Core(s) per socket:    4
Socket(s):             1
Model name:            ARMv7 Processor rev 4 (v7l)
CPU max MHz:           1000.0000
CPU min MHz:           600.0000


Add CWP 22.01 API docs

Description
Add API docs for new CWP 22.01 release.
How Has This Been Tested?
Tested locally. Clicked through all the different versions. Ensured all the correct version-specific content is being loaded.

Hi @csestito, can you please review and merge today? We ship on Monday :)
Thanks!


Enhancement: make the total row more easily visible

Tests that have a lot of responses can make the browser get bogged down and make it harder to see the total column. By simply making the total column the first row it solves the issue.
FYI - I ran into this under Firefox on Ubuntu 15.04 where I had 150+ requests being displayed where we were using it to do performance testing of a service API. Keeping the total at the top makes it a lot easier to see if one needs to look at the failures or exceptions; it was otherwise getting really hard to see the total as I always had to keep it scrolled to the bottom and at times that was difficult to do where Firefox just didn't want to cooperate. Pretty sure other browsers could have the same issue.

Thank you for your contribution.  It appears this issue has been previously resolved.  Is this something you'd still like to have merged? If so, can you verify that this issue still exists, as I can't seem to replicate it.

@mbeacom it's been a while since I've used Locust and I don't have a project setup I can test it with; if you've already solved the problem another way than that is fine with me; feel free to close.


Is it possible that greenkeeper makes changes in the fork rather than in the branch in the same repo?

Heya @epoberezkin! Thanks for the question.
Greenkeeper doesn’t fork for architectural reasons, so we need to do it on your repo.
What is the problem you are trying to solve? Maybe we can find another solution.

I had build badge showing failures in all branches... Now I can't, had to switch back to showing master only

I had build badge showing failures in all branches... Now I can't, had to switch back to showing master only.

Is it possible to show a badge just for your “release” branches? I’d assume that feature branches are expected  to at least temporarily break the build?

Github complains if you fork everything?

Something like that :)

Is it possible to show a badge just for your “release” branches?

That's what I had to do. It can only show status for one branch though (or for all).
Forking would be cleaner in any case. As is I have to also remove those branches after they are merged...

As is I have to also remove those branches after they are merged...

We have a solution coming up for this.
Forking is not an option for us any time soon, sorry!


Dev server mode: styles applying delay

Hi!
There is a visual problem when using vite-ssr in dev server mode: the styles applying delay.
When you load/reload a page, you see it without styling first. And after a moment you can see how styles apply.
When using vanilla vite in dev server mode, or when serving built application (with SSR) in production mode, there is no such issue.
Is there any way to workaround this?

@plashenkov Hi! This is an issue in Vite itself when using SSR: https://github.com/vitejs/vite/issues/2282
There are some workarounds mentioned in that issue that you could try I guess.
For vite-ssr itself, since it only happens in development I'm rather hoping that the issue is fixed upstream instead of implementing a workaround here. Although I would be open to PRs of course.

@frandiox Ah, I see, thank you.

since it only happens in development I'm rather hoping that the issue is fixed upstream instead of implementing a workaround here

Yes, that totally makes sense. Let's close this for now and hope this will be fixed in Vite.


refactor: felt package

Fixes #250
Changes:

Refactor felt package.
Refactor types package to use felt package.

Types of changes
What types of changes does your code introduce?

[X] Refactoring (no functional changes, no api changes)

Testing
Requires testing

[X] Yes
[ ] No

In case you checked yes, did you write tests??

[x] Yes
[ ] No

Below is some additional context for this PR to help expedite reviews.
The PR provides an efficient implementation of the felt type. Much of the felt package is automatically generated by the pkg/felt/generator/main.go file, which uses the gnark-crypto library.
The only non-generated files in the felt package are:

felt_additional_test.go - provides coverage for the auto-generated felt.go file, beyond the coverage that the generated felt_test.go file provides.
other.go and other_test.go - additional helper functions useful in other areas of Juno's codebase.

Pretty much all of the changes outside of the felt directory simply modify code to use the new felt type rather than types.Felt and big.Int.


Create an intuitive info-graphic for bumping channel open feature

If pending channel open transactions are stuck in mempool because of low fee rate set on the transactions, the channel can be in pending state for a long time. This pending channel open transaction can be accelerated by bumping up the fee of change output transaction, if there is a significant change output associated with the transaction. This is known as CPFP or Child Pays For Parent.
The process to bump the fee requires investigating the transaction in a block explorer to make a determination of the size-able balance and the index of the change output. Once the user knows the detail then they can input the index and the appropriate fee rate to bump up the fee
This process is elaborate and can be confusing, if all the steps are not followed in the right order. If we provide a visual 3-4 step guidance, it can help guides the users better.
The whole process should occur per the below steps:

Go to the Pending tab of the channels page and opens the Pending Open section and selects the Bump Fee action.
Copy the transaction ID from the Channel point on the modal and search for the transaction on a block explorer, to examine the change output.
Determine the change output balance and the index of the transaction. Usually if the channel point index is 1, change out is 0 and vice-versa. If there is no change output or the value is dust level, the transaction cannot be bumped up.
Enter the index value of the change output in the modal and the desired fee rate. Click on the Bump Fee button to attempt fee bump.
Examine the transaction again in the block explorer to ensure that change output is showing as spent and a new transaction is generated for the change output.

@saubyk at which stage does the user see this message? When they click on the bump fee action?

@saubyk at which stage does the user see this message? When they click on the bump fee action?

Yes. When the use clicks on bump fee, this modal pops up, for instructions and input.

Hey @saubyk
Attaching a user journey I worked on to better my understanding of this process. Also attaching a lo-fi wireframe of what a potential user flow / carousel journey might look like.

This was most helpful ... guessed index was "1" .. didn't work .... reguessed "0"it worked though I never saw on the blockchain explorer what the index was ....(I'm an absolute newb) But thanks.

@BTC-LumpenProletariat since this is an advanced function, we want the users to understand exactly what they are doing. Inability to grasp the basics can result in expensive mistakes.

@swedishfrenchpress This completely fell of my radar. I will take a look at the journey map and come up with some more ideas around this. CPFP is going to be an important function in a busy mempool environment and investing time in making it clear to the users is a worthy exercise.
I think we should look at two aspects in designing the UX here:

Educating the user on how to get the required information (even though it can be simple for us to automate)
Build in validation checks to warn, that if the user is making operational error of putting in too high a fee rate

Just a minor pic of what the "index" was would be helpful. Got the job done and the channel went thru at 1sat anyway.

So if I hear you correctly, I would simply enter either a 1 or 0 in the "index for change output" section? Or am i missing something?

@atkatl1 You are correct, it's just a matter of entering 1 or 0. Now I am thinking we may have overcomplicated this way too much. 😅
But the objective was to make sure that the user is taking an informed action, rather than just shooting in the dark.

Hello, I am right now trying to figure it out and thank god I found your thread here.
I am STILL uncertain. Does it have to be 0 or 1?
I used the blockstream blockexplorer and I am presented with two outputs.
My questions:
What does "sizable" mean? Bigger then Dust?
What exactly is the output? The amount I send to open a channel? Or what is left of it? (so, the bigger, or the smaller one? )
P.S.: I tried 1. Because "change output" sounds me like "the smaller one". Was wrong. Entered 0 instead. It worked.

@konigra

What does "sizable" mean? Bigger than Dust?

Yes, it should not be too small to spend.

What exactly is the output? The amount I send to open a channel? Or what is left of it? (so, the bigger, or the smaller one? )

The change output is the amount you are getting back from channel open transaction. For example, if you used your existing UTXO of 500,000 Sats to open a 100,000 Sats channel; 400,000 Sats will be your change output. It can be bigger or smaller depending upon your UTXO & channel size.


Hunter Scan (original) - Error HTTP 404

Source information
Hunter Scan 1.4.36
Source language
Português
Steps to reproduce
1 install de extension
2 open
3 Error HTTP 404
Expected behavior

Actual behavior
After yesterday's maintenance on Hunter, the extension stopped working
Mihon/Tachiyomi version
App version: 0.16.4
Android version
13
Other details
No response
Acknowledgements

[X] I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open or closed issue.
[X] I have written a short but informative title.
[X] I have updated the app to version 0.15.3.
[X] I have updated all installed extensions.
[X] I have tried the troubleshooting guide.
[ ] I have admitted that I am a clown by having checked this box, as I have not read these acknowledgements.
[X] If this is an issue with the app itself, I should be opening an issue in the app repository.
[X] I will fill out all of the requested information in this form.

Theme changed again. Back to the madara theme


1.11 cannot join game

What is the output link of /viaversion dump?
http://hastebin.com/yafaluwike.json
Are you using any additional software like BungeeCord? If so, what software and version? (Please list your plugins as well)
with Bungeecord(latest version, support 1.11)
How does this error happen? login? Using an item?
http://ww1.sinaimg.cn/large/0060lm7Tgw1f9s73uwafnj310g04dmzk.jpg
Is there an error in the console? Use pastebin.com. Is there a kick message?
no error
I try to remove all plugins except viaversion, the problem still here.

Found the cause of the problem, is BungeeTabListPlus.


Attempt to fix jackson dep issue with avatica

Potentially fixes https://github.com/druid-io/druid/issues/3800
Both batch and realtime via tranquility runs fine now. I haven't tested if this affects SQL.
I excluded this from SQL pom as well. I'm not sure if that's necessary.

hrm....the change unified calcite-core to use the non-shaded avatica-core jar the one druid brings in. But the test fails b/c calcite 1.10.0 wants avatica version 1.8.0 whereas druid brings in 1.9.0.

@praveev I think we actually don't need avatica-core, so in #3805 I dropped that from the pom, downgraded avatica-server to 1.8.0, and excluded Jackson from that. The SQL server still works for me after doing that.
Does it fix your issue too?

This will be fixed in a different way when calcite 1.11.0 is out (see #3800), so I'm closing it. Thanks for investigating the problem @praveev!


Create a higher-level API

The current low-level API works well if you're familiar with the @pokebag/pokemon-unite-data dataset, but I imagine most users won't be as familiar with it.
To make the SDK easier for users to work with, I'd like to add a set of higher-level methods.

getPokemon()
getBattleItems()
getHeldItems()
getSkills()
getSkillsForPokemon()

Each of these methods should:

Return data for all entities within the topic

Note: These methods should accepts IDs like mr-mime, not names like Mr. Mime

If given an entity ID, returns data for the entity
If given an array of entity IDs, returns data for all entities in the array

:tada: This issue has been resolved in version 1.1.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release
v1.1.0

Your semantic-release bot :package::rocket:


Would there be any issue with changing sess column to jsonb in postgres?

I have tested locally, seems to work OK - is there any reason why I shouldn't do this?

From what I saw on my dev environment it gets created as jsonb?


Added missing **'s to Num.toString

Other representations of this don't emphasis the heading....
https://github.com/wren-lang/wren/blob/a33832efcfd86c5ac7c91455373b35924b6c1c73/doc/site/modules/core/num.markdown#tostring

It depends on the CSS. The https://wren.io site does:

But it's on Bool's page! Please fix this.


handling route failures

An alternative approach to make error handling with routes less opinionated.
There are two main cases to handle:

where the route was not found (no match found)
where the is route but the route's action returned an error

CLA is valid!

Coverage remained the same at 99.08% when pulling d26ca168b398629a427e1b7370744c2242ff5e96 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 1d820726860e899478244d4ccd10b3bf075c663d on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.02%) to 99.1% when pulling 1d30a459ca160f2f00b2212e1cdec1c4fc1cebaa on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

+1

:boat:

Coverage increased (+0.02%) to 99.1% when pulling 83fb1d74e2e4859a21ea028dc9a7c520490205a2 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.02%) to 99.1% when pulling 1d17bb1880242eb11873f55039c3de2f2d17671a on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.02%) to 99.1% when pulling 1d17bb1880242eb11873f55039c3de2f2d17671a on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage decreased (-0.27%) to 98.81% when pulling f555e995b3169be036f034b394f2ad0578dc550f on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

:boat:
We may have to temporarily allow iojs to fail.

@phuson ah yes, good call. We should allow the route action's error to pass a statusCode like you demonstrated.

Coverage decreased (-0.23%) to 98.85% when pulling b40df0ece137fc38336edd03580489b4a1acdd93 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage decreased (-0.25%) to 98.83% when pulling 91464c515ad14ec6153b4836ddc8715563e54892 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage decreased (-0.25%) to 98.83% when pulling 3ef903cb36aba6cfc013bbc38f6d79568cd17724 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage decreased (-0.25%) to 98.83% when pulling 7f9804d7a908fced187d678004c01837ca871509 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage decreased (-0.26%) to 98.83% when pulling 7f9804d7a908fced187d678004c01837ca871509 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 0c3bcba6f1eeba8077dd82a677d03ca81d424f22 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 0c3bcba6f1eeba8077dd82a677d03ca81d424f22 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 66693c6a65fd94d69731d73f6fcbea7d9f4cf006 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

:+1:

Coverage increased (+0.04%) to 99.12% when pulling 5ceedcd92564df77fa3a98c37239827d8b63f9b7 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

:boat:

Coverage increased (+0.04%) to 99.12% when pulling 08491bef770f192434df15b3822bd0112dc60b93 on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 8781f7d58d46edf314133de162a5df2bb33e304e on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 12bd8a0efd83b8e69d9845eaf632e0f116544b0e on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 12bd8a0efd83b8e69d9845eaf632e0f116544b0e on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.

Coverage increased (+0.04%) to 99.12% when pulling 732eecd492cf967e11ffd7b59c6c84bc9455b69d on jedireza:handling-route-failures into 8a0120028c42634ad7b51c2d274ea1b0fe45e74b on yahoo:master.


qt-wallet fails to compile: error: ‘fClient’ was not declared

following readme-qt.rst
compile  fails:
Description:    Ubuntu 16.10
Release:        16.10
Codename:       yakkety
$ qmake "USE_DBUS=1" "USE_QRCODE=1"
$ make
cd /home/guenter/denarius; /bin/sh share/genbuild.sh /home/guenter/denarius/build/build.h
g++ -c -fpermissive -fstack-protector-all --param ssp-buffer-size=1 -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fPIC -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSE_QRCODE -DUSE_UPNP=1 -DSTATICLIB -DUSE_DBUS -DUSE_IPV6=1 -DHAVE_BUILD_INFO -DLINUX -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -Isrc -Isrc/json -Isrc/qt -Isrc/qt/plugins/mrichtexteditor -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtNetwork -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibuild -Ibuild -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/txdb-bdb.o src/txdb-bdb.cpp
In file included from src/addrman.h:9:0,
                 from src/net.h:20,
                 from src/main.h:10,
                 from src/db.h:8,
                 from src/txdb-bdb.cpp:6:
src/util.h:236:22: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
     return strprintf("%"PRId64, n);
                      ^
In file included from src/main.h:10:0,
                 from src/db.h:8,
                 from src/txdb-bdb.cpp:6:
src/net.h:444:20: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
             printf("askfor %s   %"PRId64" (%s)\n", inv.ToString().c_str(), nRequestTime, DateTimeStrFormat("%H:%M:%S", nRequestTime/1000000).c_str());
                    ^
In file included from src/db.h:8:0,
                 from src/txdb-bdb.cpp:6:
src/main.h:639:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
         str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n",
                          ^
src/main.h:639:72: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
         str += strprintf("(hash=%s, nTime=%d, ver=%d, vin.size=%"PRIszu", vout.size=%"PRIszu", nLockTime=%d)\n",
                                                                        ^
src/main.h:1062:16: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
         printf("CBlock(hash=%s, ver=%d, hashPrevBlock=%s, hashMerkleRoot=%s, nTime=%u, nBits=%08x, nNonce=%u, vtx=%"PRIszu", vchBlockSig=%s)\n",
                ^
src/main.h:1312:26: warning: invalid suffix on literal; C++11 requires a space between literal and string macro [-Wliteral-suffix]
         return strprintf("CBlockIndex(nprev=%p, pnext=%p, nFile=%u, nBlockPos=%-6d nHeight=%d, nMint=%s, nMoneySupply=%s, nFlags=(%s)(%d)(%s), nStakeModifier=%016"PRIx64", nStakeModifierChecksum=%08x, hashProof=%s, prevoutStake=(%s), nStakeTime=%d merkle=%s, hashBlock=%s)",
                          ^
In file included from /usr/include/boost/assert.hpp:58:0,
                 from /usr/include/boost/signals2/detail/lwm_pthreads.hpp:21,
                 from /usr/include/boost/signals2/mutex.hpp:30,
                 from /usr/include/boost/signals2/signal.hpp:31,
                 from src/keystore.h:10,
                 from src/script.h:17,
                 from src/main.h:11,
                 from src/db.h:8,
                 from src/txdb-bdb.cpp:6:
src/txdb-bdb.cpp: In member function ‘bool CTxDB::ReadTxIndex(uint256, CTxIndex&)’:
src/txdb-bdb.cpp:36:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::UpdateTxIndex(uint256, const CTxIndex&)’:
src/txdb-bdb.cpp:43:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::AddTxIndex(const CTransaction&, const CDiskTxPos&, int)’:
src/txdb-bdb.cpp:49:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::EraseTxIndex(const CTransaction&)’:
src/txdb-bdb.cpp:59:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::ContainsTx(uint256)’:
src/txdb-bdb.cpp:67:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::ReadDiskTx(uint256, CTransaction&, CTxIndex&)’:
src/txdb-bdb.cpp:73:13: error: ‘fClient’ was not declared in this scope
     assert(!fClient);
             ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::LoadBlockIndex()’:
src/txdb-bdb.cpp:226:49: error: ‘GetArgInt’ was not declared in this scope
     int nCheckLevel = GetArgInt("-checklevel", 1);
                                                 ^
src/txdb-bdb.cpp: In member function ‘bool CTxDB::LoadBlockIndexGuts()’:
src/txdb-bdb.cpp:404:24: error: ‘class CBlockIndex’ has no member named ‘hashProofOfStake’; did you mean ‘IsProofOfStake’?
             pindexNew->hashProofOfStake = diskindex.hashProofOfStake;
                        ^~~~~~~~~~~~~~~~
src/txdb-bdb.cpp:404:53: error: ‘class CDiskBlockIndex’ has no member named ‘hashProofOfStake’; did you mean ‘IsProofOfStake’?
             pindexNew->hashProofOfStake = diskindex.hashProofOfStake;
                                                     ^~~~~~~~~~~~~~~~
Makefile:1664: recipe for target 'build/txdb-bdb.o' failed
make: *** [build/txdb-bdb.o] Error 1

When building v<IP_ADDRESS> or earlier from the Github, you must include "USE_LEVELDB=1" as a flag with qmake to have it compile with the correct LEVELDB instead of BDB. This is fixed in v<IP_ADDRESS> and later where it is not required.