Frameit ignoring dotenv. Documentation questions/comments.

New Issue Checklist

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

Issue Description
I have created a number of branded apps and separated their settings out into various .env files.  Our core app is in .env and the branded apps are in .env.en, .env.de etc... by language code.  App metadata/screenshots are in directories also named by language code, with the main app in all.  Directory structure like my_project/fastlane/all/screenshots... my_project/fastlane/en/screenshots....
When running frameit, it seems like my .env files are ignored (or more correctly, is not configurable), and frameit does a brute force search of every directory for possible screenshots.  I only figured this out on a hunch after I changed the directory in my main .env file to something else and frameit kept working on the previous directory which was no longer referenced anywhere except for the filesystem.  At that point frameit even tried to frame my background.png which I had moved directly into fastlane/ so that it could be referenced by all my projects.
It seems like frameit works significantly differently from the rest of fastlane.  For example, Framefile.json is required to reside within the screenshots directory, rather than having a ruby Framefile where you can define a path to Framefile.json.  In our case a separate Framefile would be very beneficial since I currently will need to copy Framefile.json into 14 different screenshots folders and keep them in sync.
Questions:

Is there currently any way to get frameit to work on one [app, directory, .env] at a time?
Frameit doesn't appear to delete the unframed files.  How does deliver determine which files are the correct ones?  Does it compare filenames and prioritize those ending in _framed or just upload everything?
Can a file be excluded from framing?

Suggestions:

The current behavior should be added to the documentation regarding how frameit determines which files/directories to work on/in.
Allow for a separate Framefile to match other fastlane tools.  Could include something like output_directory which matches Snapfile, keywords_directory, titles_directory, fonts_directory, json_path...
Documentation for Framefile.json could be improved.  For example, it's not clear how the filters apply.  Do they get used only once, or for every matching occurrence of that string in the filename?  Probably the latter, but being explicit is nice.  What does padding do?  Is it horizontal, vertical?  Above and below the text or just below?
Documentation should be provided regarding the background file.  It appears this is used for all images, but there is no suggestion on size, or mention of how it gets scaled.  Relevant if you wanted to use a gradient image.  (Also, why is a file required as opposed to just a color string in Framefile.json?)

Complete output when running fastlane, including the stack trace and command used
I'm including two "outputs".  Our main app is contained within the all directory which by chance starts with a and so it gets grabbed first in output 1.  Then I renamed all to zall and frameit grabbed de first and started framing those files.  In both cases I cancelled out.
Output 1
Timothys-Mac-Mini:iLingQ timothycosta$ fastlane frames
[10:14:46]: -------------------------------------------------
[10:14:46]: --- Step: Verifying required fastlane version ---
[10:14:46]: -------------------------------------------------
[10:14:46]: Your fastlane version 2.23.0 matches the minimum requirement of 2.20.0  ✅
[10:14:46]: ------------------------------
[10:14:46]: --- Step: default_platform ---
[10:14:46]: ------------------------------
[10:14:46]: Driving the lane 'ios frames' 🚀
[10:14:46]: ---------------------
[10:14:46]: --- Step: frameit ---
[10:14:46]: ---------------------
[10:14:46]: Framing screenshots at path ./fastlane/
[10:14:46]: Using device frames version 'latest'
[10:14:46]: Framing screenshot './all/screenshots/en-US/1_ipadPro_1.screenshot-ipad-landscape-1 (1).png'
[10:14:52]: Added frame: '/Users/timothycosta/Desktop/lingq/iLingQ/fastlane/all/screenshots/en-US/1_ipadPro_1.screenshot-ipad-landscape-1 (1)_framed.png'
[10:14:52]: Framing screenshot './all/screenshots/en-US/1_iphone6Plus_1.screenshot-iphone-1 (2).png'
[10:14:54]: Added frame: '/Users/timothycosta/Desktop/lingq/iLingQ/fastlane/all/screenshots/en-US/1_iphone6Plus_1.screenshot-iphone-1 (2)_framed.png'
[10:14:54]: Framing screenshot './all/screenshots/en-US/2_ipadPro_2.screenshot-ipad-landscape-2 (1).png'
^C+------------------+------------+
|         Lane Context          |
+------------------+------------+
| DEFAULT_PLATFORM | ios        |
| PLATFORM_NAME    | ios        |
| LANE_NAME        | ios frames |
+------------------+------------+
+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | frameit                             | 8           |
+------+-------------------------------------+-------------+
[10:14:54]: fastlane finished with errors
Cancelled... use --verbose to show the stack trace
Output 2
Timothys-Mac-Mini:fastlane timothycosta$ mv all zall
Timothys-Mac-Mini:fastlane timothycosta$ fastlane frames
[10:18:47]: -------------------------------------------------
[10:18:47]: --- Step: Verifying required fastlane version ---
[10:18:47]: -------------------------------------------------
[10:18:47]: Your fastlane version 2.23.0 matches the minimum requirement of 2.20.0  ✅
[10:18:47]: ------------------------------
[10:18:47]: --- Step: default_platform ---
[10:18:47]: ------------------------------
[10:18:47]: Driving the lane 'ios frames' 🚀
[10:18:47]: ---------------------
[10:18:47]: --- Step: frameit ---
[10:18:47]: ---------------------
[10:18:47]: Framing screenshots at path ./fastlane/
[10:18:47]: Using device frames version 'latest'
[10:18:47]: Framing screenshot './background.png'
[10:18:51]: Added frame: '/Users/timothycosta/Desktop/lingq/iLingQ/fastlane/background_framed.png'
[10:18:51]: Framing screenshot './de/screenshots/en-US/1_ipadPro_1.screenshot-ipad-landscape-1 (1).png'
[10:18:57]: Added frame: '/Users/timothycosta/Desktop/lingq/iLingQ/fastlane/de/screenshots/en-US/1_ipadPro_1.screenshot-ipad-landscape-1 (1)_framed.png'
[10:18:57]: Framing screenshot './de/screenshots/en-US/1_iphone6Plus_1.screenshot-iphone-1 (2).png'
[10:18:59]: Added frame: '/Users/timothycosta/Desktop/lingq/iLingQ/fastlane/de/screenshots/en-US/1_iphone6Plus_1.screenshot-iphone-1 (2)_framed.png'
[10:18:59]: Framing screenshot './de/screenshots/en-US/2_ipadPro_2.screenshot-ipad-landscape-2 (1).png'
^C+------------------+------------+
|         Lane Context          |
+------------------+------------+
| DEFAULT_PLATFORM | ios        |
| PLATFORM_NAME    | ios        |
| LANE_NAME        | ios frames |
+------------------+------------+
+------+-------------------------------------+-------------+
|                     fastlane summary                     |
+------+-------------------------------------+-------------+
| Step | Action                              | Time (in s) |
+------+-------------------------------------+-------------+
| 1    | Verifying required fastlane version | 0           |
| 2    | default_platform                    | 0           |
| 3    | frameit                             | 12          |
+------+-------------------------------------+-------------+
[10:19:00]: fastlane finished with errors
Cancelled... use --verbose to show the stack trace
Environment
Please run fastlane env and copy the output below. This will help us help you :+1:
If you used --capture_output option please remove this block - as it is already included there.
✅ fastlane environment ✅
Stack

Key
Value

OS
10.12.3

Ruby
2.4.0

Bundler?
false

Git
git version 2.10.1 (Apple Git-78)

Installation Source
/usr/local/bin/fastlane

Host
Mac OS X 10.12.3 (16D32)

Ruby Lib Dir
/usr/local/Cellar/ruby/2.4.0/lib

OpenSSL Version
OpenSSL 1.0.2j  26 Sep 2016

Is contained
false

Is homebrew
false

Is installed via Fabric.app
false

Xcode Path
/Applications/Xcode.app/Contents/Developer/

Xcode Version
8.2.1

System Locale

Variable
Value

LANG
en_US.UTF-8
✅

LC_ALL

LANGUAGE

fastlane files:
`./fastlane/Fastfile`
# Customise this file, documentation can be found here:
# https://github.com/fastlane/fastlane/tree/master/fastlane/docs
# All available actions: https://docs.fastlane.tools/actions
# can also be listed using the `fastlane actions` command

# Change the syntax highlighting to Ruby
# All lines starting with a # are ignored when running `fastlane`

# If you want to automatically update fastlane if a new version is available:
# update_fastlane

# This is the minimum version number required.
# Update this, if you use features of a newer version
fastlane_version "2.20.0"

all_languages = ["es","en","de","ja","ru","fr","sv","it","pt","zh","ko","nl","el"]

default_platform :ios

platform :ios do
  before_all do
    # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
    #cocoapods
  end

  desc "Runs all the tests"
  lane :test do
    scan
  end

  desc "Submit a new Beta Build to Apple TestFlight"
  desc "This will also make sure the profile is up to date"
  lane :beta do
    # match(type: "appstore") # more information: https://codesigning.guide
    gym # Build your app - more options available
    pilot

    # sh "your_script.sh"
    # You can also use other beta testing services here (run `fastlane actions`)
  end

  desc "Deploy a new version to the App Store"
  lane :release do
    # match(type: "appstore")
    # snapshot
    gym # Build your app - more options available
    deliver(force: true)
    # frameit
  end

  desc "Upload build, metadata, etc..."
  lane :upload do
    deliver
  end

  desc "Setup provisioning, certificates, capabilities, etc..."
  lane :provision do |options|
    if options[:skip_provision]
        puts "Skipping provisioning"
      next
    end
    produce(
      app_identifier: ENV['APP_IDENTIFIER'],
      app_name: ENV['APP_NAME'],
      language: "English",
      app_version: "1.0",
      sku: ENV['APP_SKU'],
    )
    produce(
      app_identifier: "#{ENV['APP_IDENTIFIER']}.Import-Lesson",
      app_name: "Import Lesson",
      skip_itc: true #Use this to avoid creating a new app and just register the app_identifier
      )
    sh "fastlane produce group -g group.lingq -n 'LingQ Group' --app-identifier #{ENV['APP_IDENTIFIER']}"
    sh "fastlane produce group -g group.lingq -n 'LingQ Group' --app-identifier #{ENV['APP_IDENTIFIER']}.Import-Lesson"
  end

  lane :bootstrap do
    match(type: "appstore")
    match(type: "development")
  end

  desc "A more efficient method of `bootstrap` for all apps because it avoids re-cloning the repository each time"
  lane :bootstrap_all do
    base = "com.lingq.iLingQ"
    apps = [base, "#{base}.Import-Lesson"]
    all_languages.each do |lang|
      apps.push("#{base}.#{lang}")
      apps.push("#{base}.#{lang}.Import-Lesson")
    end
    match(type: "appstore", app_identifier:apps)
    match(type: "development", app_identifier:apps)
  end

  # You can define as many lanes as you want

  after_all do |lane|
    # This block is called, only if the executed lane was successful

    # slack(
    #   message: "Successfully deployed new App Update."
    # )
  end

  error do |lane, exception|
    # slack(
    #   message: exception.message,
    #   success: false
    # )
  end
  desc "Environment Settings"
  lane :check_env do
    puts "APP_IDENTIFIER: #{ENV['APP_IDENTIFIER']}"
    puts "APP_NAME: #{ENV['APP_NAME']}"
    puts "APP_SKU: #{ENV['APP_SKU']}"
    puts "LANG_CODE #{ENV['LANG_CODE']}"
  end

  desc "Building"
  lane :build do |options|
    check_env
    update_project(options)
    provision(options)
    gym
  end

  desc "Setting up xcconfig, plist, etc..."
  lane :update_project do
    fastlane_require 'xcodeproj'
    code = ENV['LANG_CODE']
    path = "../LingQ.xcconfig"
    config = Xcodeproj::Config.new(path)
    config.attributes['LQ_APP_IDENTIFIER'] = ENV['APP_IDENTIFIER']
    config.attributes['LQ_APP_ICON'] = "AppIcon" #code == "all" ? "AppIcon" : "AppIcon-#{code}"
    config.attributes['LQ_APP_NAME'] = ENV['APP_NAME']
    File.write(path, config.to_s) # A bug prevents config from writing itself

    # Note that plist is relative to project file
    update_info_plist(
      plist_path: "iLingQ/Info.plist", block: lambda { |plist|
        plist['LQ_LANG_CODE'] = ENV['LANG_CODE']
      }
    )
  end

  desc "Create screenshots"
  lane :screenshots do
    check_env
    update_project
    snapshot
  end

  lane :frames do
    frameit
  end

  desc "Download metadata and screenshots from itunes connect"
  lane :download_itc do
    check_env
    update_project
    sh "fastlane deliver --force download_metadata"
    sh "fastlane deliver --force download_screenshots"
  end

  desc "Create all the folders for each language"
  lane :create_folders do |options|
    fastlane_require 'fileutils'
    puts FileUtils.getwd
    all_languages.each do |lang|
      puts lang
      if options[:delete] && Dir.exist?(lang)
        puts "Deleting #{lang}"
        FileUtils.rm lang, :force => true
      end
      if !Dir.exist?(lang)
        FileUtils.mkdir lang
      end
      FileUtils.cp_r "all/.", lang, :remove_destination => false
      FileUtils.rm_rf "#{lang}/bin/"
    end
  end

  desc "Executes the given lane for all languages plus the main app"
  lane :for_all_apps do |options|
    lane = options[:lane]
    skip = options[:skip_main] ? true : false
    puts "Doing #{lane} for all languages.  Skip main app: #{skip}"
    if !lane
      UI.error "No `lane` parameter passed to `for_all`."
      raise "No `lane` parameter passed to `for_all`."
    end
    if !skip
      sh "fastlane #{lane}"
    end
    all_languages.each do |lang|
      sh "fastlane --env #{lang} #{lane}"
    end
  end

  desc "Copies `files` from all/base_dir/ to LANG_CODE/base_dir/.  Default base_dir is `metadata`"
  lane :copy_files do |options|
    fastlane_require 'fileutils'
    files_string = options[:files]
    base_dir = options[:base_dir] ? options[:base_dir] : "metadata"
    if !files_string
      UI.error "`copy_files requires an argument `files` with a comma separated list, e.g. `fastlane copy_files files:1.txt,2.txt`"
    end
    files = files_string.split(",")
    quit = false
    files.each do |name|
      file = "all/#{base_dir}/#{name}"
      if !File.exist?(file)
        UI.error "No file #{file} exists"
        quit = true
      end
    end
    if quit
      raise "copy_files called with invalid file names"
    end
    files.each do |name|
      file = "all/#{base_dir}/#{name}"
      all_languages.each do |lang|
        copy = "#{lang}/#{base_dir}/#{name}"
        FileUtils.cp file, copy
      end
    end
    sh "fastlane for_all_apps lane:overwrite_name skip_main:1"
  end

  lane :overwrite_name do
    fastlane_require 'fileutils'
    fastlane_require 'pathname'
    lang = ENV['LANG_CODE']
    root = "#{lang}/metadata"
    Dir.entries(root).each do |dir|
      name = "#{root}/#{dir}/name.txt"
      if File.exists?(name)
        File.write(name, ENV['APP_NAME'])
      end
    end
  end

end

# More information about multiple platforms in fastlane: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Platforms.md
# All available actions: https://docs.fastlane.tools/actions

# fastlane reports which actions are used
# No personal data is recorded. Learn more at https://github.com/fastlane/enhancer

`./fastlane/Appfile`
app_identifier ENV['APP_IDENTIFIER']
apple_id<EMAIL_ADDRESS># Your Apple email address

team_id "FXD5S9TV5H"  # Developer Portal Team ID

# you can even provide different app identifiers, Apple IDs and team names per lane:
# More information: https://github.com/fastlane/fastlane/blob/master/fastlane/docs/Appfile.md

fastlane gems

Gem
Version
Update-Status

fastlane
2.23.0
✅ Up-To-Date

Loaded fastlane plugins:
No plugins Loaded
Loaded gems

Gem
Version

did_you_mean
1.1.0

slack-notifier
1.5.1

i18n
0.8.1

thread_safe
0.3.6

tzinfo
1.2.2

minitest
5.10.1

activesupport
4.2.8

CFPropertyList
2.3.5

claide
1.0.1

colored
1.2

nanaimo
0.2.3

xcodeproj
1.4.2

rouge
1.11.1

xcpretty
0.2.4

terminal-notifier
1.7.1

unicode-display_width
1.1.3

terminal-table
1.7.3

plist
3.2.0

public_suffix
2.0.5

addressable
2.5.0

multipart-post
2.0.0

word_wrap
1.0.0

tty-screen
0.5.0

babosa
1.0.2

highline
1.7.8

commander-fastlane
4.4.4

excon
0.55.0

faraday
0.11.0

unf_ext
<IP_ADDRESS>

unf
0.1.4

domain_name
0.5.20170223

http-cookie
1.0.3

faraday-cookie_jar
0.0.6

fastimage
2.1.0

gh_inspector
1.0.3

uber
0.0.15

representable
2.3.0

retriable
2.1.0

mime-types-data
3.2016.0521

mime-types
3.1

hurley
0.2

little-plugger
1.1.4

multi_json
1.12.1

logging
2.2.0

jwt
1.5.6

memoist
0.15.0

os
0.9.6

signet
0.7.3

googleauth
0.5.1

httpclient
2.8.3

google-api-client
0.9.28

json
2.0.2

mini_magick
4.5.1

multi_xml
0.6.0

rubyzip
1.2.1

security
0.1.3

xcpretty-travis-formatter
0.0.4

dotenv
2.2.0

bundler
1.14.6

faraday_middleware
<IP_ADDRESS>

io-console
0.4.6

openssl
2.0.2

generated on: 2017-03-28

Well, I was able to at least handle question 1 with the following:
  lane :frames do
    Dir.chdir ENV['APP_DIR'] do
      sh "fastlane frameit"
    end
  end

Which brings up general point about documentation.  As I've been working on integrating fastlane, it's been difficult to figure out how all the "configuration bits" mesh together and what should be called via sh vs programmatically.  Some functionality appears to only be available via one or the other, some via both (take a look at the provision lane in my Fastfile above.)  And in each case, it's not perfectly clear where the command will take its configuration from, how the current directory might affect things, if there's a difference between frameit or sh "fastlane frameit" (in :frames above, there was).
Admittedly, this might all be more clear to experienced ruby developers compared to iOS/mac devs.
(Above meant constructively, not critically! :))

Hey @timothycosta, sorry for the late reply. Unfortunately we haven't worked on frameit recently, and it lacks of a good documentation. What are the open questions you still have?

Thanks @KrauseFx .  I ended up rolling my own tool here, but answering these may help other users.  Maybe the easiest thing is to copy my questions and reorganize them a bit.
Questions:

[x] Is there currently any way to get frameit to work on one [app, directory, .env] at a time? (Yes, see my comment above)
[ ] Frameit doesn't appear to delete the unframed files.  How does deliver determine which files are the correct ones?
[ ] Can a file be excluded from framing? -- I would think yes if it doesn't match a filter, but strangely I was ending up with background.png getting framed at one point...
[ ] How does Framefile.json work?

[x] For example, it's not clear how the filters apply.  Do they get used only once, or for every matching occurrence of that string in the filename?  Probably the latter, but being explicit is nice.  (It's clear now filter is applied to any matching image in a given directory)
[ ] What does padding do?  Is it horizontal, vertical?  Above and below the text or just below?

[ ] Documentation should be provided regarding the background file.

[ ] It appears this is used for all images, but there is no suggestion on size, or mention of how it gets scaled.  (Relevant if you wanted to use a gradient image.)

Suggestions:

[ ] The current behavior should be added to the documentation regarding how frameit determines which files/directories to work on/in. (Maybe update documentation with my fix above, or something better.)
[ ] Allow for a separate Framefile to match other fastlane tools.  Could include something like output_directory which matches Snapfile, keywords_directory, titles_directory, fonts_directory, json_path...
Background File:

[ ] Allow hex value in .json file instead of an image

General Documentation
To sort of summarize my previous comment, it's confusing how there are actions and methods with the same name, and where all of those actually take their values from.
I ended up learning a lot more ruby than I expected when I started out with Fastlane, so a "Ruby for iOS Developers using Fastlane" tutorial might go a long way.  I'll try to illustrate with an example from my Fastfile:
    produce(
      app_identifier: "#{ENV['APP_IDENTIFIER']}.Import-Lesson",
      app_name: "Import Lesson",
      skip_itc: true #Use this to avoid creating a new app and just register the app_identifier
      )
    sh "fastlane produce group -g group.lingq -n 'LingQ Group' --app-identifier #{ENV['APP_IDENTIFIER']}"

Not being a proper ruby dev, it's not clear to me whether I'm calling the action produce or the method, or if there's a difference, and in looking at documentation/issues it's often hard to grok which one is being referred to because of ruby's flexible syntax.  But as an objc/swift developer what I'd really like to do in my Fastfile is like (pseudocode) Fastlane.Produce.create_group(inject_all_my_dependencies...) Fastlane.Produce.register(inject_all_my_dependencies...).
Then in the documentation, there would be Fastlane.Produce.create_group - Equivalent to "fastlane produce create_group" - arg1: defaults to Appfile.KEY, or ENV['KEY']...
The opposite would be just as good - fastlane action produce ... could list out how to call the method programmatically.


plugins migration not run for custom plugins installed outside kong's default installation path

Summary
Migrations up does not recognize and execute the "up" command for a new custom plugin that uses DAO and is being installed in external folder location. The same plugin if installed in Kong's default installation path works fine.
I see a related old issue but it seems the issue was fixed 0.9. We are using 0.11.2 and experiencing this behavior with that version
Old similar issue: https://github.com/Kong/kong/issues/1708
Steps To Reproduce

Create a custom plugin that uses DAO and install it in a folder external to Kong's default installation.
example: /home/janedoe/kong/plugins/myplugin
Add the plugin name to custom_plugins setting in kong.conf
Add path to external folder to lua_package_path in kong.conf
example: lua_package_path = /home/janedoe/?.lua;;
Restart kong to see that it gives "Please run kong migrations up to update/initialize the database schema." error.
Run "kong migrations up"
kong migrations up finishes without error, but there's no migration that gets executed for the custom plugin. There are no errors in error.log
Try to start kong again and see kong complains with "Please run kong migrations up to update/initialize the database schema." error.

Workaround: install the custom plugin in kong's default installation folder kong/luarocks/share/lua/5.1/kong/plugins
We need the ability to put the custom plugins in external folder and hence workaround is not feasible.
Am I missing anything? or did the issue reported in the older version resurfaced back again in 0.11.2?
Additional Details & Logs

Kong version 0.11.2
Kong error logs: No errors in error.log
Operating System: Linux xxxxxxxx 2.6.32-696.10.3.el6.x86_64 #1 SMP Thu Sep 21 12:12:50 EDT 2017 x86_64 x86_64 x86_64 GNU/Linux

Hi,
I just ran into this: as a short term solution, you should set your LUA_PATH environment variable to point to your custom plugin's installation path (instead of lua_package_path in kong.conf or KONG_LUA_PACKAGE_PATH).
E.g. I just moved:
export KONG_LUA_PACKAGE_PATH="/path/to/some-custom-plugin/?.lua;;"

to:
export LUA_PATH="/path/to/some-custom-plugin/?.lua;$LUA_PATH"

And ran kong migrations up again, which successfully ran the plugin's migration.
That is because lua_package_path is only for runtime Kong (within nginx), and is not being considered by the CLI (the kong migrations command)

@thibaultcha Thanks for the immediate response, really appreciate it.
This worked, but I had to perform one additional step.
If I just commented the lua_package_path in kong.conf and exported LUA_PATH as you mentioned, it started giving me this error:
./kong:3: module 'luarocks.loader' not found:
The shell from which I am executing kong migrations up never had LUA_PATH set, even before. It appears luarocks internally creates LUA_PATH if it is not already set in the shell.
So the additional step I had to perform was to get the current LUA_PATH that's set internally by running "luarocks path" command and then take the result of that, and append my custom login plugin path to it and then export that LUA_PATH to get this to work.
You mentioned this as a short term solution. Will this be addressed in the longer term to reference lua_package_path in CLI as well? Thanks!

You mentioned this as a short term solution. Will this be addressed in the longer term to reference lua_package_path in CLI as well? Thanks!

Yes, we can certainly do this, although we would welcome a PR for this, or else we are working on some other priorities internally and might need time to address this.
Thanks for reporting!

Hi,
Just wanted to add that I also ran into this issue just now. I tried the suggestion above, but this didn't work.
Is there any ETA on when this is likely to be worked on?
Thanks!

I think this could be fixed by https://github.com/Kong/kong/pull/5509

I think this could be fixed by #5509

Indeed, that looks spot on! I was trying to find that line in the code a littler earlier :see_no_evil:

It looks like this got fixed already. Please reopen if that was not the case.


ctix-exclude-next is not working.

in file ./base/boost/cloneable/interface.ts:
/** @ctix-exclude-next */
export interface Cloneable<T = unknown> {
    /**
     * 克隆一个新对象并返回
     */
    [clone](host?: ICloneHost): T;
}

export interface ICloneHost {
    /**
     * 传入原始对象，返回克隆后的对象
     */
    getCache<T extends object>(original: T): T | undefined;

    /**
     * 缓存传入的克隆对象
     */
    setCache<T extends object>(original: T, cloned: T): T;
}

output:
export * from "./base/boost/cloneable/interface.js";

expect:
export { ICloneHost } from "./base/boost/cloneable/interface.js";

demo:
js-core_poly_.zip
version:
v2.4.0

@smallmain Thank you for your feedback!, I will check about that :)

@smallmain If you look at the attached example config file, you will see that generationStyle is set to default-alias-named-star. Since ctix is the first to apply the configuration values, please change this configuration or add the comment /** @ctix-generation-style default-alias-named-destructive */ at the top of the interface.ts file. See the IN_DEPTH_GEN_STYLE.md file for more information. Thank you.

i see, thank you.

@smallmain If you look at the attached example config file, you will see that generationStyle is set to default-alias-named-star. Since ctix is the first to apply the configuration values, please change this configuration or add the comment /** @ctix-generation-style default-alias-named-destructive */ at the top of the interface.ts file. See the IN_DEPTH_GEN_STYLE.md file for more information. Thank you.

Hi, it still doesn’t seem to be working properly.
/** @ctix-generation-style default-alias-named-destructive */

/**
 * 语义版本号正则表达式
 */
/** @ctix-exclude-next */
export const regexp =
    /^(0|[1-9]\d*)\.(0|[1-9]\d*)\.(0|[1-9]\d*)(?:-((?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\+([0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*))?$/u;

/**
 * 语义化版本号正则表达式分组含义
 */
export enum SemverRegexpGroup {
    Source = 0,
    Major = 1,
    Minor = 2,
    Patch = 3,
    Prerelease = 4,
    Meta = 5,
}

In the same demo, I added comments to the header of the file but did not remove them.
output:
export { regexp, SemverRegexpGroup } from"./utils/semver/regexp.js";

@smallmain Thank you for your participant! I was fixed this issue in v2.4.3 :)


Improve orphaned snippets logic

Include orphaned C++ and F# snippets
Make code more readable/maintainable (tested it too)
Update readme

Fixes https://github.com/dotnet/docs-tools/issues/175

Thanks @BillWagner


get position by item

Hi! As the title, i need to get the position of an item in spinner so i can select it programmatically. Is there anyway i can achieve such thing?

You can get the value of an item by position like any SpinnerAdapter by calling the getItemAtPosition(int position) method on the FirebaseSpinnerAdapter.

no i don't need to get the item. i need to get it's position.

Here is a link to relevant information. Since this isn't directly related to the library and more directed to the Android framework, I'm going to close this issue.


Support for DTEND

Is there support for ( or planned for ) DTEND?
eg) 11th of the month - 13th every month for 4 months
Would be:
DTSTART:20160511T000000
DTEND:20160513T000000
RRULE:FREQ=MONTHLY;BYMONTHDAY=11;INTERVAL=1;COUNT=4

But I can't find where I can establish a DTEND in this class.
Any help is greatly appreciated, very handy class.
Best,
-M

Unfortunately there is no information regarding how DTEND is supposed to interact with RRULE. If you know of how other libraries handle this or can find a specification it could be considered for future versions.


syntax clean up

Great project! This PR cleans up some of the spacings and syntax differences found throughout the main file with the intention of making this awesome project more maintainable.
Another option might be to look into using something StandardJS to prevent any bike-shedding among devs.

Thank you!


Option to select a «Reverse mode» feed

It would be great to choose to see the exact opposite of the default selection of a handle.
Like getting every reaction -to- a handle's action (i.e. to your posts and replies), and exclude every action that the handle itself has initiated on Bluesky.
The reason for asking is mainly because notifications on the Android app doesn't work, and I think there isn't any Notifications API offered for third party apps either.

Thanks for the suggestion.
Since this project does not store user credentials, we would have to monitor the entire bluesky postings to look for reactions to someone in particular.
This would be too heavy. I don't think this is in the scope of this project.
(But I am missing the push notification feature too!)

Thanks. Seems notifications have arrived on the latest Android app now! 😊


Problems building unity

Required Info

Camera Model
D435

Firmware Version
<IP_ADDRESS>

Operating System & Version
Win 10

Platform
PC

SDK Version
2.0

Language
Unity

Segment
Installation

Issue Description
Hi,
I'm trying to set up my D435 to work with unity. I'm following the steps on this page:
https://github.com/IntelRealSense/librealsense/tree/master/wrappers/unity
I'm stuck on step 1 building the wrapper with cmake. I've got it installed but it is throwing this error:
CMake Error: The source directory "C:/Users/Soa/Documents/RealSense SDK and Unity Package/librealsense-master/librealsense-master/build/.5" does not exist.
It seems like there is a problem with the full stop in the dotnet variable.
Any suggestions? I've looked everywhere I can for more information.
Thanks,
Soa

If you are using Windows 10 then there is an installation short-cut so you do not have to build the wrapper yourself.  You can use the pre-made DLL library files that are supplied with the RealSense SDK.
https://forums.intel.com/s/question/0D70P0000068Yo0SAE

Hi @Soa11,
Do you fix this build issue? The latest prebuilt libraries can be also found in the release page:
https://github.com/IntelRealSense/librealsense/releases/download/v2.28.1/Intel.RealSense.unitypackage
https://github.com/IntelRealSense/librealsense/releases/download/v2.28.1/Intel.RealSense.SDK-WIN10-<IP_ADDRESS>6.exe


TypeScript: not possible to use a component's store and context props when wrapped with connect HOC

What version of React, ReactDOM/React Native, Redux, and React Redux are you using?

React: 18.2.0
ReactDOM: 18.2.0
Redux: @reduxjs/toolkit 2.2.2
React Redux: 9.1.0

What is the current behavior?
Components connected to Redux using the connect HOC do not type-check when used with TypeScript if they have one of the following props not connected to Redux:

an optional prop named context

known limitation of this PR (it works when the prop is mandatory), but not filed as an issue: https://github.com/reduxjs/react-redux/pull/1958#issuecomment-1256181534

a prop named store (could not find this reported anywhere)

This is unfortunate for me, because I work on a webapp in the domain of app stores, where store is a prop name we often use (and context as well).
The following compilation error messages are demonstrated in this demo:
Type '"android"' is not assignable to type '"android" & Store<any, UnknownAction, unknown>'.
Type '"here"' is not assignable to type '"here" & Context<ReactReduxContextValue<any, UnknownAction> | null>'.

What is the expected behavior?
I should be able to provide the component the store or context props without a type error.
Perhaps with some way of opting out of the context and store props offered by the connect HOC at the type level, or a more complete handling of these props that does not interfere when connecting a component that expects them (extending the existing ConnectPropsMaybeWithoutContext approach).
(For reference, older versions of the TypeScript types (from DefinitelyTyped) did not expose the react-redux context and store props in connected components, though I understand this is not something you would want to go back to.)
Which browser and OS are affected by this issue?
n/a
Did this work in previous versions of React Redux?

[X] Yes

store and context are props that the connect wrapper specifically looks for.  Think of them as being similar to the key and ref props from React - you can't use those names, they're reserved.
Afraid we have no plans to make changes to connect's types or behavior going forward. It's there, it works, but it's effectively deprecated - I'd strongly recommend using the hooks API instead, which won't have this concern because it's all your own components.

Thanks for the quick response, I understand. It is a tad annoying as it makes the upgrade to react-redux a highly breaking change in my specific case, but we will find a way.


What version CentOS

Just curious as to what version of CentOS you setup the server pieces on, running into an issue where none of the python things will pull data from the devices i am trying to query.  And I think it might be CentOS

Both my test and production instances are running on CentOS 6.6. I haven’t put the config on the new instance yet though. I will let you know if this is still successfully able to pull stats.
Regards,
Gareth Langham
Mob: +44 (0)7912 176 123
Skype: Gareth.Langham
http://garethlangham.co.uk/ http://garethlangham.co.uk
https://twitter.com/intent/follow?original_referer=https%3A%2F%2Ftwitter.com%2Fabout%2Fresources%2Fbuttons&region=follow_link&screen_name=M1xWizard&tw_p=followbutton&variant=2.0 http://uk.linkedin.com/in/garethlangham/
From: jervolino<EMAIL_ADDRESS>Sent: 05 August 2015 13:55
To: flakshack/SysAdminBoard<EMAIL_ADDRESS>Subject: [SysAdminBoard] What version CentOS (#5)
Just curious as to what version of CentOS you setup the server pieces on, running into an issue where none of the python things will pull data from the devices i am trying to query. And I think it might be CentOS
—
Reply to this email directly or view it on GitHub https://github.com/flakshack/SysAdminBoard/issues/5 .  https://github.com/notifications/beacon/ABzTuIFD7yLcduXvkCFLfcNVO8B6plFhks5okf89gaJpZM4FmC9N.gif

i386 or x96_64?

sorry x86_64

X86_64
I have put in some of the hosts and it looks to be connecting and pulling data correctly.
Regards,
Gareth
From: jervolino<EMAIL_ADDRESS>Sent: 05 August 2015 14:24
To: flakshack/SysAdminBoard<EMAIL_ADDRESS>Cc: Gareth Langham<EMAIL_ADDRESS>Subject: Re: [SysAdminBoard] What version CentOS (#5)
sorry x86_64
—
Reply to this email directly or view it on GitHub https://github.com/flakshack/SysAdminBoard/issues/5#issuecomment-127995850 .  https://github.com/notifications/beacon/ABzTuNKuCM4oP9XyIgIyKTFjM-7BMV1zks5okgXZgaJpZM4FmC9N.gif


Update README.md

Added step to increase default memory of docker engine; Added troubleshooting section.

Looks good. Approved.


Fill PyPI package project links.

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

3.0.0
GitHub release

Your semantic-release bot :package::rocket:


fix clang-tidy issues

issues introduced in https://github.com/intel/neural-speed/pull/121

Added:

CI for UTs should check changes of the root CMakeLists.txt, the root setup.py, but ignore all docs
CI for format should check changes of the root clang-format.py
git ignore CMakeUserPresets.json


How to change z-index of Link modal?

Hello  thank you for great product!
Please can you hint me how to change z-index of the modal which appears on Link button click?

P.S. Actually figure out it without help of z-index with popupDisplay: 'local'

Hi @Bogdan1001
You can redefine the css class.
.sun-editor .se-dialog {
  z-index:<PHONE_NUMBER>; /* default value */
}


Randomly pick few variations from each intent example instead of all varations.

After writing the template files and generating a huge output file, i realised that i just dont need all possible combinations.
is there any way we can randomly sample variatons from each intent example.
for example if I have an intent defined like this.
%[greet user]
~[greeting] user! What is your @[operating system]?
~[greeting]  What is the name of your @[operating system]?
instead of generating all possible variations for these intents, if I can control the number of variations from each sentence under every intent, something like ouput only 25% variations from each sentence by random sampling.
This would make my output files smaller and at the same time cover most of the variations.
Just wanted to know if I can acheive something like this using the existing features. This feature would be really helpful.

Hello, thanks for your question!
This is a feature that actually exists: you can ask for a specific number of examples to be generated.
You would do this in the following way:
%[greet user](12)
   ~[greeting] user!

Note the (12) right after the intent declaration. As you can expect, this will generate 12 different examples for this intent (or fewer if all combination represent fewer than 12 examples).
About asking for a percentage of all possibilities for an intent on the other hand, this feature is not implemented, but I have plans to add it.
I hope this clears it up for you!
I'll close the issue but feel free to ask for more details here if needed. You can also find more information in the wiki.

totally missed this feature when I was reading the wiki pages. this is super helpful! thanks


Improving  the interpreter

Below are some thoughts on improving the interpreter. Posting mainly for discussion.
Proposal 1 (on nil handling in the interpreter):

add a new characteristic to operators, IsNilPropagating, which means that if any arguments evaluate to a nil, then the operator will also inevitably evaluate to a nil (my guess is that most operators are nil-propagating)
use a new kind of exception (say NilException) for signalling if a nil is the result of evaluating a plan node; said exception will be caught in the following situations:
when storing a nil value to a variable (assignment, update/insert/delete statements)
when encountering a nil in a restrict (or the like), where it is considered same as false
when exiting the expression context (e.g. in a program begin Foo(); Bar() end, where Foo() is a function, a call to Foo() is evaluated and results in a nil)
inside if-condition, case-condition, for/while-condition, where-condition evaluation (and the like)

The upside is that a lot of repetitive conditional logic is replaced by exception handling, which should also be faster at runtime.
Proposal 2 (avoiding scalar type boxing when calling operators):
The PlanNode.Execute() function works only on boxed types. Avoiding boxing of return types and of arguments should improve performance considerably (by lowering GC stress).

introduce static non-virtual Evaluate methods
.NET type will be along these lines: A (Program, A1,A2,...,An) if the operator is nil-propagating, and MakeNullable<A> (Program, MakeNullable<A1>,MakeNullable<A2>,...,MakeNullable<An>) if the operator is not nil-propagating, where MakeNullable is just like Nullable if T is a value type, and is just T otherwise
for every PlanNode, keep a Type _returnType for the .NET type it's Evaluate method evaluates to (or, introduce TypedPlanNode)
at the CallNode, figure out if the operator's defining class defines a typed static Evaluate method (if it does, then the CallNode will invoke the method via a DynamicMethod)

Note that we could probably dispense with the Nodes array in the plan node for making every node typed on its arguments. For instance, IntegerPowerNode will have members _left of type TypedPlanNode<int> and _right of type TypedPlanNode<int>. There doesn't seem to be much code that goes over the Nodes array in some involved computation.
Is there a characteristic for operators which could help in deciding if Program argument is necessary for the operator to evaluate?
Obviously, some unboxing/boxing will still be necessary (e.g. when reading from/storing into variables).
Proposal 3 (avoid boxing of rows):
This one I haven't figured out yet. Currently, all rows are generically boxed (see Runtime.Data.Row and Runtime.Data.NativeRow).

generate descendants of a Row/NativeRow which implement the existing API and typed getters/setters (currently, values are persisted as objects...)
keep a cache somewhere that will ensure there is only one dynamic type for every DAE type
http://www.codeproject.com/Articles/13337/Introduction-to-Creating-Dynamic-Types-with-Reflec

I guess we could specialize some interpreter code with the exact row types?

for instance, specialize PlanNodes by the respective types of rows they can handle

Regarding proposal 3: I think I've implemented a drop-in replacement for Runtime.Data.NativeRow that will store the elements in unboxed form, and will allow getting/setting their values using type-parameterized methods.

Attempted proposal 1.
Issue: NilException is really pervasive! There are many places where nil is a perfectly fine result of evaluation, and there are way too many places where Evaluate is called on a plan subnode, so it's hard (for me) to decide how to rearrange the code. Proposal 1 seems out of reach.

Sorry for the delayed response, but regarding proposal 1, when we first built Dataphor, we had exceptions for accessing nils, so that nil was effectively treated just like a null in C#, but we found that it caused many more problems than it solved, and ended up allowing nil propagation in general.
Having said that, I like the suggestion that an operator be able to inform the compiler about it's nil propagation behavior so that the nilable characteristic could be inferred more generally, but I'm not sure what would be gained by throwing exceptions when nils are encountered? We can already use constraints to prevent assignment of nil, what problem is being addressed by adding the NilException?
Regards,
Bryn

Regarding proposals 2 and 3, I agree, that would be a useful change, and I have been working quite a bit in that area lately. I would definitely be interested in seeing what you are doing there.
Specifically, I've been looking at dealing with all values natively, rather than having to have DataValues. To do this, I'm introducing interfaces to support access to data values of different categories of types. IDataValue being the most general, which only specifies an IDataType. Not that all native types would have to implement IDataValue, but if they did, the engine could take advantage of it.
Also looking at being able to support IList directly (instead of ListValue), and introducing ITable and IRow to deal with Table and Row.
I have committed some of these changes to trunk already as part of adding more RESTful functionality, and some integration work with FHIR.
Regards,
Bryn

Having said that, I like the suggestion that an operator be able to inform the compiler about it's nil propagation behavior so that the nilable characteristic could be inferred more generally, but I'm not sure what would be gained by throwing exceptions when nils are encountered?
We can already use constraints to prevent assignment of nil, what problem is being addressed by adding the NilException?

It is currently the case that the interpreter code is littered with null-checking. I was under the impression that in null-heavy programs, using exceptions instead of explicit branching was faster (no idea where I got that, but probably read in some paper...).
Regarding the nil-propogation characteristic: if nils are properly accounted for by an operator (e.g., we can say that it can never return a nil if its inputs are non-nil), then we could use the native .NET representations for the argument and result types, it should supposedly help with performance of arithmetic and comparison operators. However, I have yet to implement this characteristic.

Regarding proposals 2 and 3, I agree, that would be a useful change, and I have been working quite a bit in that area lately. I would definitely be interested in seeing what you are doing there.

I'm basically following the paper (Self-optimizing AST interpreters)[http://lafo.ssw.uni-linz.ac.at/papers/2012_DLS_SelfOptimizingASTInterpreters.pdf], in particular: subsection 5.3 (return type specialization). I'm planning to go a bit further: let every plan node implement static methods with the native input types and the result type, then we could generate some IL code at call sites to avoid boxing completely. Much of IL code generation would then consist of a generic "apply function to arguments" routine.

Please find an example of what I am proposing:
https://github.com/ashalkhakov/Dataphor/commit/50c01a49683f88ef8bc75814808f3472f1fab92c
Obviously it needs more polish (I don't follow coding conventions..), but it shows concretely what I am proposing to do. I would like to know what you think (and especially, if you foresee any issues with this approach that would limit its usefulness).
A simple expression like select 1+2 does evaluate via IL code (only the result is boxed!), but there are issues with:

debugging such code (breakpoints, etc.)
creating symbolic information for such code

Specifically, I've been looking at dealing with all values natively, rather than having to have DataValues. To do this, I'm introducing interfaces to support access to data values of different categories of types. IDataValue being the most general, which only specifies an IDataType. Not that all native types would have to implement IDataValue, but if they did, the engine could take advantage of it.

That would  be great. For instance, row types could be generated at runtime, and if they support some interface (say IRowType), then it would make it much easier to use from non-generated code. Also, tables could use different runtime representations as long as they conform to an interface.

Stumbled on a generic nil. In an expression like nil+5, nil is assigned the type Generic. How should it be treated? Its type is unknown at compile-time.
How is generic supposed to work? (We don't have any generic code in D4 at the moment.) Is it like a C# dynamic type? Or is it like a C# parametric type (i.e., T in void Method<T>(T arg))?

Nils are typed as generic, but when attempting to resolve an operator reference, the compiler will look for a "compatible" type, and a type that is only "generic" is considered compatible with any type, similar to the way an untyped null is handled in C#.
So in that respect, generic types in D4 are more like parametric types, but without the ability to declare anything other than the generics: "generic", "row", "list", "table", and "cursor".

Thanks for the note on generic.
I've implemented some basic imperative node compilation. Currently using the interpreter stack (so every assignment and variable reference involve boxing/unboxing), but I'd like to change that (eventually).
Some sample programs that work:
select if 1=2 then 1 else 2
select case when 1+1=2 then 1 when 1=1 then 3 else 2 end

begin
end

begin
1+1;
end

begin
var x:Integer;
end

begin
var x:Integer;
x:=2+34+if 1=2 then 4 else 555;
select x;
end

Planning to tackle operator compilation and CallNode next.

I think I've implemented a drop-in replacement for Runtime.Data.NativeRow
Very cool, I like the approach. I am concerned about having to create .NET types for every row type though, but it does have a lot of advantages. I will definitely take a look and see if this approach could work for native row representation.

Please find an example of proposal 2.

Also very cool, and yes, I think the approach will work. We started on IL emission a long time ago, but never completed the effort. I am working on general memory and performance improvements now though, and IL compilation is close to the top of the list.

Note that I've been working on this some more, and the progress so far is as follows.

added more operators and more types
ensured that existing Dataphor tests pass with the compiled code:

BooleanLibrary
ByteLibrary
IntegerLibrary
MathLibrary
MoneyLibrary
ShortLibrary
DecimalLibrary
GuidLibrary
LongLibrary
Conversions (quite a lot of money, decimal, date/datetime/time/timespan nodes involve US-specific conversions...)
MinMaxOperators (except device-specific tests)
most of LanguageConstructs
most of StringLibrary

added compilation of operators and CallNode

Currently, the expression like 3+45*2 will be compiled into, basically: IntegerAdd.InternalExecute(new Nullable<int>(3), IntegerMultiply.InternalExecute(new Nullable<int>(45), new Nullable<int>(2)), where InternalExecute is a static method. However, when reading from variables or writing to variables, the stack is still used.
Issue: DDL nodes, like CreateOperatorNode, cannot be truly compiled, because these nodes rely on some member variables when executed. I haven't been able to find an easy way to access these variables from the generated code. I'm wondering if you have something to propose about this?
Currently working on removing the use of interpreter stack in compiled operator bodies.
These are the issues I'm planning to work on after that:

emission of debugging symbols in IL code
extending the supported D4 subset: row types, list types, generic type, table types and cursors

One fairly major concern I have with actually building .NET types for rows is that there is no way to unload assemblies (without unloading the entire app domain), so building types for each row type effectively constitutes an unbounded cache. The system could remember types to reduce the number of unnecessarily created new row types, but it would still represent a potential memory issue. At the same time, I love the idea that a row type is just a class with properties for each attribute of the row, so I'm torn here.

One fairly major concern I have with actually building .NET types for rows is that there is no way to unload assemblies (without unloading the entire app domain), so building types for each row type effectively constitutes an unbounded cache. The system could remember types to reduce the number of unnecessarily created new row types, but it would still represent a potential memory issue.

I've picked the idea of canonicalizing row types from some paper on extensible records. Basically, {Y:Integer, X:String} is the same as {X:String, Y:Integer} (from the type equality point of view), therefore, we could always use the type  where column names are sorted lexicographically. The difference in column ordering will then be represented by a "folder" object (which could be a simple array of integers, giving column indices in the desired order). For instance, a D4 row type {X: Integer, C: String, L:Boolean} will be represented by .NET class type (with columns ordered like C, L, X), coupled with an array of indices {2,0,1}, which says that, say, 3rd member of the class type is first, followed by the 1st member, followed by the 2nd member. This doesn't solve the issue of unloading types, though.

I've just pushed an update: dropped the use of interpreter stack in compiled code. TestFramework.Coverage.Scripts.Timing runs in about 1 second on my machine (at 10000000 iterations). Quite sure it could be further improved.
One realization I had while working on this is that D4 programs use an unnamed De Bruijn representation for variables. Then, it occured to me that we could still introduce some local variables as needed (e.g. for nil checking), provided that the VariableContext stack is maintained in 1:1 correspondence to the Symbol stack. The alternative would be to introduce a let-insertion phase in the D4 compiler, such a phase would name every subexpression with a fresh variable name. The input program like:
var x := 5;
var y := x+x+10;
select y;

would get transformed into:
var x := 5;
var tmp1 := x+x;
var y := tmp1+10;
select y;

I guess that the let-insertion phase is much harder to implement.
Not using Program.Stack at all breaks batches (since a variable declaration at top level is just another batch, it gets compiled to a meaningless static function with 1 local). Any ideas on solving this issue?


UnpBootFlatView Dynamic Photos Enhancement (I have it working)

There is a limitation to the photo support on this control.  It expects every document to have a field in it with a URL.  This is redundant and does not provide a way to easily update the photo from one source... it also requires a redesign of the existing application to start saving a photo URL.
Most applications will have external NSF's that they integrate with that provide other Forms Lookup values.  In this example, I have two NSF's.  One is a vehicle.nsf that holds all information about that vehicle and a picture of it.  Another database is a audit application that has one combo box that pulls from the vehicle list.  The audit is saved.  When viewing the list of audits, I want to show a pic of the vehicle so the user is not always dependent on text, people locate items faster with pictures, so they can quickly spot the vehicle with its picture.
To get this support without any surgery on the existing applications "Classic Notes" design and avoiding touching every document in the database.  I created a new Property Definition on the UnpBootFlatView control called "photoJson".
When I add this control onto an XPage, I leave the "photocolumn" blank and provide a JSON string with all the data needed to locate the source document and build a URL to the image file attached to that vehicle document.
UnpBootFlatView is backwards compatible with existing XControls design using photocolumn.  photocolumn takes presedence over photoJson.
Rough Solution

xp:this.value
#{javascript:
var src = "unp/ecblank.gif";  //default value
var columnValue = "";
if(compositeData.photocolumn != null){
	columnValue = thisRowData.getColumnValue(compositeData.photocolumn);
}

if (compositeData.photocolumn != null && compositeData.photocolumn != "" && columnValue != "" && columnValue != null){
	//is value in document field
	src = columnValue;
}else if(compositeData.photoJson != null && compositeData.photoJson != ""){
	//URL is located somewhere else.
	var photoObj = fromJson(compositeData.photoJson);
	var db:NotesDatabase = session.getDatabase(photoObj.searchServer,photoObj.searchDatabase);
	if(db != null){
		var vwSearch:NotesView = db.getView(photoObj.searchView);
		if(vwSearch != null){
			var doc:NotesDocument = vwSearch.getDocumentByKey(thisRowData.getColumnValue(photoObj.searchKeyFromViewColumn),true);
			if(doc != null){
				//build URL
				src = photoObj.uriDomain + "/" + db.getFilePath().replace("\\","/") + "/0/" + doc.getUniversalID() + "/$File/" + photoObj.uriPhotoFileName;
			}
		}
	}
}
return src;

Also the Rendered calculation needs to tak photoJson in consideration

<xp:this.rendered><![CDATA[#{javascript:(compositeData.photocolumn != null && compositeData.photocolumn != "") || (compositeData.photoJson != null && compositeData.photoJson != "")}

On the XPage, I call it like this:

photoJson='{
"uriDomain": "http://mydomain.com",
"uriPhotoFileName": "thumbnail.jpg", //file name in the document.
"searchServer": "DominoServer", //server to search
"searchDatabase": "operations\vehicles.nsf", //database to search
"searchView": "vwVehicles", //view to search
"searchKeyFromViewColumn": "Name" //I pull the key from the rowData columnValue
}'

//build URL Snippet from UnpBootFlatView

src = photoObj.uriDomain + "/" + db.getFilePath().replace("\","/") + "/0/" + doc.getUniversalID() + "/$File/" + photoObj.uriPhotoFileName;

For every row rendered in the list, I show the correct photo of the vehicle.

Thanks, this looks like a great solution. We'll add it to the list for a future release.


issues 'finishing' contract in conductor

This is a 2 part issue.  After ed/Stephanie check the box sent to city controller the step becomes 'City Contract Complete'.  The next time they hit 'update' it immediately takes them to the box to fill out the contract information with no option of putting in the date.  In most cases, we are not updating it the exact day that we received the information from the controller.  If for example Stephanie went on vacation and came back to an email that the contract was extended, she would want to put the day the email came back as the 'city contract complete date' but this is not an option.
While looking at this issue, I've noticed that there is also an issue with blank contacts being added.  If for example I am renewing a contract w/ 2 existing contractors I choose 'choose existing company' and enter the controller number.  On the next page it asks for contact information which I would leave blank because they're already in there.....when I go to Admin>Scout>Companies though and select that company....it has a blank contact that was added.  Contacts should only be added if there is information in it.

Blank contacts can be deleted and/or removed from the contracts section. I'll look into new ones being generated.
As for the other issue, you can adjust the time by clicking this in the fillout:

I originally added this when Stephanie asked for it.


[BUG] Websocket keeps reconnecting on the host detail page

Describe the bug
Websocket keeps reconnecting on the host detail page
To Reproduce
Steps to reproduce the behavior:

Go to the settings page and enable VLAN
Go to the host detail page
Check on the console in Chrome

Result
Websocket keeps reconnecting on the host detail page

Environment:

Harvester ISO version: master-head
Installation Mode: ISO

@guangbochen     When I subscribe to resources based on id, the situation of always disconnecting and reconnecting will recur. Please help to determine if I can subscribe to resources based on ID

It seems that watching nodemetrics.metrics.k8s.io is not supported
$ kubectl get nodemetrics.metrics.k8s.io  nn1 -w
NAME   AGE
nn1    0s
Error from server (MethodNotAllowed): the server does not allow this method on the requested resource (get nodes.metrics.k8s.io)

Can we change to watch the collection if that works in this case?

Validated on master-head


Reduced the number of times a lock is acquired.

There was a race condition in getCurrentBucket which is removed.  The codepaths that went down the getCurrentBucket path would sometimes acquire the same lock as many as 3 times.  Given that increment and set max would eventually have to acquire an exclusive lock, I just acquire that lock off the bat.  Added some benchmarks to state the case:
Current master:
BenchmarkRollingNumberIncrement-8	10000000	       204 ns/op
BenchmarkRollingNumberUpdateMax-8	10000000	       209 ns/op
This branch:
BenchmarkRollingNumberIncrement-8	10000000	       147 ns/op
BenchmarkRollingNumberUpdateMax-8	20000000	       149 ns/op

thanks for the patch. i just merged a PR which refactored the rolling implementations.
could you sync your change with latest master?

@afex, should be fixed.

thanks!


[CLI] Bad CLI help text

daemon -help says:
"You cannot provide both propose-key and propose-public-key"
The latter flag no longer exists.

Flags have changed.


afterDraw not possible due to missing reference to g

Hi,
it seems that we can not use afterDraw in the Angular version. Or how do we get the reference to the Gantt instance created here https://github.com/jsGanttImproved/ng-gantt/blob/32b3e1c298706cbc36830ade43f5e0559b7112b7/ng-gantt/src/gantt/gantt.component.ts#L44

there is a bug.. indeed.. will publish a new version tonight

Got it working in a very very hacky way so looking forward to a fix ;-)

Can we get the types for editor somehow exported so working inside afterDraw is easier with intellisense? I think the whole lib is written in Typescript anyway?

Sorry about that.. i got an erro in my way https://github.com/ng-packagr/ng-packagr/issues/1365

I was trying to update to ang8.. but i not working now..
i updated the current version to have this fix<EMAIL_ADDRESS>

It's not working. Details see here: https://github.com/jsGanttImproved/ng-gantt/commit/08fa6c6aaa5e76109fe9bebaa986bdbef3cf6417#r34574249
Can you re-open this issue?

Hi.. thanks!!
I just released version 2.4.2 , check if that works for u

No, because you overwrite afterDraw with console.log.....!
The optionsBefore must be merged into the object afterwards.
This change is wrong: https://github.com/jsGanttImproved/ng-gantt/commit/08fa6c6aaa5e76109fe9bebaa986bdbef3cf6417#diff-91e7bb20fe484de8d0b220a2db38fd6aR51

You are right!!
pls check v 2.4.3

Alright, works ;-) Thanks. That's a good start into home time...
BTW: Next time you might want to accept PR. It increases the interest of your project for DEVs and is common practise in OSS. Now nobody sees that I contributed ;-)

yess.. i totally up to receive PR =)
there is some issues to work on the js project: https://github.com/jsGanttImproved/jsgantt-improved
if you want to collaborate and have some questions.. please send me an email that i can help you out


England/Wales public bridleway implies foot=yes

Re: http://www.openstreetmap.org/directions?engine=graphhopper_foot&route=52.62530%2C1.22115%3B52.62559%2C1.21839#map=17/52.62689/1.22147&layers=N
As per http://wiki.openstreetmap.org/wiki/Tag:highway=bridleway the pedestrian routing should permit access to highway=bridleway with designation=public_bridleway.
Alternatively generally presume foot=yes like the wiki Implies section, except where the way exists inside the country of Germany, in which case presume foot=no.

Thanks! Do you know of other countries with different defaults?

Only aware of Germany to date myself from the note on the wiki page.

Came across this issue in https://github.com/GIScience/openrouteservice/issues/413, there is a case in India documented.

Alternatively generally presume foot=yes like the wiki Implies section, except where the way exists inside the country of Germany, in which case presume foot=no.

I do also think that this would be the solution for the current situation.
From the OSM wiki:

In Germany, bridleways on public land is regulated by the traffic code (Straßenverkehrsordnung). The blue sign StVO 238 designates a way for riding only. Thus using by pedestrians, bicycles and motor vehicles is excluded, as long as no special permission is given by additional signage.
Only those public bridleways should tagged with highway=bridleway.

Maybe consider to flag this issue as a bug?


Manual Map Failed

BlackBone: Allocate: Allocating at address 0x1de80000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x1de90000 (0x1000 bytes)
BlackBone: Allocate: Allocating at address 0x1dea0000 (0x4000 bytes)
BlackBone: ManualMap: Mapping image 'MemoryImage_0x1F930000' with flags 0x186
BlackBone: ManualMap: Loading new image 'MemoryImage_0x1F930000'
BlackBone: ManualMap: Image base allocated at 0x0000000021160000
BlackBone: Allocate: Allocating at address 0x1deb0000 (0x200 bytes)
BlackBone: NativeModules: Failed to get PEB/LDR address. Not yet initialized
BlackBone: ManualMap: Failed to get kernel32 base, error 0xc000000d. Possibly LDR is not available yet
BlackBone: Free: Free at address 0x21160000
BlackBone: Free: Free at address 0x1DEB0000
BlackBone: Free: Free at address 0x1DE90000
BlackBone: Free: Free at address 0x1DEA0000
BlackBone: Free: Free at address 0x1DE80000

code:
    const auto callback = [](CallbackType type, void* /*context*/, Process& /*process*/, const ModuleData& modInfo)
    {
        return LoadData(MT_Default, Ldr_Ignore);
    };
    auto image = m_proc.mmap().MapImage(size, buf, false, CreateLdrRef | WipeHeader | NoThreads | ForceRemap, callback);

sloved.Because I use GetCurrentProcess() instead of Attach(L"name")


Add parser for handling wildcards

Trying to interpret wildcards fails if the expression cost is: total_cost = sum(~.T) - max(~.T). This is because when we run parse_output_expression in _infer_subcosts, when we use sympy parser to parse this expression, sympy interprets ~.T as a symbol and figures out that sum(~.T) - max(~.T) = ~.T - ~.T = 0.
I've added a test case to test_precompile which allows to reproduce the issue, it currently xfails.
After discussing it with @sammorley-short  it seems that a good solution for this would be stop using sympy parser in this function and instead write a new simple parser which simply extracts variables/symbols from a given expression. It would replace current regex matching in unroll_wildcarded_costs and would allow for broader scope of usecases.

No longer valid when using new AST parser.


First example doesn't compile

I had to use @Property("renamed") and change the type of the otherName to String from bool.  Also, the double dot notation did not work in the creation and assignment in the EntityClass constructor.

thanks, the correct example should be:
library example;

import 'package:dson/dson.dart';

@MirrorsUsed(targets:const['example'],override:'*')
import 'dart:mirrors';

class EntityClass {
  String name;

  @Property("renamed")
  bool otherName;

  @ignore
  String notVisible;

  // private members are never serialized
  String _private = "name";

  String get doGetter => _private;
}

void main() {
  EntityClass object = new EntityClass()
    ..name = "test"
    ..otherName = true
    ..notVisible = "hallo";

  String jsonString = serialize(object);
  print(jsonString);
  // will return: '{"name":"test","renamed":"blub","doGetter":"name"}'
}

I'll correct the errors and test other samples. If you have another concern just let me know.

Doesn't the attribute "otherName" have to be String?  I get a compile error when I changed that back to the bool you originally posted.  Is there a way to change the type on the fly?  I'm new to Dart so I'm still trying to understand the language.

It could have the type you want. It could be bool, int, number, date, or even another non-primitive object.
you could change the type to attributes only if the type is var or dynamic or run dart program in no-analized mode (mostly in production cases). In that case your are telling the variable is non-typed. for example:
class EntityClass {
  String name;

  @Property("renamed")
  var otherName;
}

void main() {
  EntityClass object = new EntityClass()
    ..name = "test"
    ..otherName = "blub"

  String jsonString = serialize(object);
  print(jsonString);
  // will return: '{"name":"test","renamed":"blub","doGetter":"name"}'
}

Remember that dart is optionally typed. So that you could specify or not the type for a variable or attribute. For Dart, types are mostly for documentation and for help developers create code faster.
I put otherName type as bool just to examplify. In that way users can see the conversion from bool attributes to json-bool. I just realize that I also should change the comment inside the sample. I'm going to rewrite the sample.


AuthUI flow starts twice when rotated

Step 2: Describe your environment

Android device: Nexus 5X (x86_64 emulator)
Android OS version: 6.0
Google Play Services version: 9.6.83<PHONE_NUMBER>58)
Firebase/Play Services SDK version: 9.6.1
FirebaseUI version: 0.6.0

Step 3: Describe the problem:

After starting the AuthUI flow and rotating the device, completing the sign in starts a second AuthUI flow.

Steps to reproduce:

Start AuthUI flow (with startActivityForResult(...))
Rotate device
Complete sign in process

Observed Results:

After Step 3, AuthUI starts again when completed.

Expected Results:

I expected to return back to the main activity instead of starting another AuthUI sign in flow.

Relevant Code:
Create a new Android Studio project (Empty Activity template is fine) and add the following // ADDED code to the main activity to start the AuthUI flow in onCreate:
public class MainActivity extends AppCompatActivity {

  // Added
  private static final int RC_SIGN_IN = 1;

  @Override
  protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);

      // Added
      startActivityForResult(
              AuthUI.getInstance()
                      .createSignInIntentBuilder()
                      .setIsSmartLockEnabled(false)
                      .build(),
              RC_SIGN_IN);
  }
}

@danielmai this seems to be working as intended, although I agree there is room for improvement.  onCreate is called every time you rotate the device, and you're launching a new auth Intent each time onCreate is called, so I would expect multiple instances of FirebaseUI to start in the app as you have coded it.

Ah, that makes sense. Thanks for taking the time to help, @samtstern.


Use minimumCapacity Parameter to Optimize Dictionary Creation

Great framework!

this is a nice PR, can you please merge it ?

Oh, yes! thank you!

Thanks :)


Create PlayStore app

Create application with shop settings in Android PlayStore, ready for CD.

Have done this. Content needs to be reviewed and Icons/Screenshots added


Broda/forward fill imputers

I apologize that I lost the comments associated with the previous PR - the PR can noisy after a particularly large rebase on master, so I closed it with the thought that I could reopen it once the rebase was complete. Unfortunately, it doesn't look like it works that way and I couldn't find an option to reopen the older one.


how to navigate through a link when a button is choose by user?

Rasa Core version:
Python version:
Operating system (ubuntu):
Issue: I added up buttons in my yml file.In the example of mood bot buttons are implemented and image is displayed.I'm trying to do the same thing but instead of giving an image, I tried out a  link.
I'm not get any type of response when i give a link.when I replaced the link with image and put same info link , i'm getting only text response but not needed link and details of link.
Content of domain file (if used & relevant):
 utter_mg_query:
    - text : "Sorry i can't help you on that info. Please provide your details here"
      link: "https://xxxxxxxx/contact-us-form/

I connected my bot model to slack and testing my bot, please let me know, how can I display link instead of image.
& one more problem , if i'm trying to fix more than 5 buttons, then none of the buttons are shown in the slack,I'm just getting text message.
Thanks in advance

Easy solution: descriptions use format Markdown, which allows links with the format
Sample
utter_link:
- text: "Please click link to continue: I'm an inline-style link"

utter_link:
    - text: "Please click link to continue: [I'm an inline-style link](put your link in here)"


How to carry out mod（%） operation

I want use SEAL to carry out mod（%） operation。
for example：
15%11=4
how to do this？I don‘t find mod fuction in evaluator.cpp.

The task is equivalent to implementing % operator on a modern computer without using /. There are various algorithms to do that. In SEAL you would want to use BFV rather than CKKS. In BFV you need to choose a plaintext modulus, say p. This p is equivalent to 2^32 on modern computer if you use uint32_t. Then you have to design your own %.

The task is equivalent to implementing % operator on a modern computer without using /. There are various algorithms to do that. In SEAL you would want to use BFV rather than CKKS. In BFV you need to choose a plaintext modulus, say p. This p is equivalent to 2^32 on modern computer if you use uint32_t. Then you have to design your own %.

I don't know many  algorithms to do that,can you say more.
A Mod B=A-(A div B) * B need div operation.

One example: Barrett Reduction


Page feedback - sample RollDiceServer does not build

https://opentelemetry.io/docs/languages/cpp/getting-started/
Suggested improvements for page: RollDiceServer suggested CMakeLists.txt is out of date and does not include pthread dependency. It fails to build.
Corrected CMakeLists.txt (added pthread dependency):
cmake_minimum_required(VERSION 3.25)
project(RollDiceServer)
Set C++ standard (e.g., C++17)
set(CMAKE_CXX_STANDARD 17)
find_package(Threads REQUIRED)
Define your project's source files
set(SOURCES
main.cpp  # Add your source files here
)
Create an executable target
add_executable(${PROJECT_NAME} ${SOURCES})
set(OATPP_ROOT ../oatpp)
find_library(OATPP_LIB NAMES oatpp HINTS "${OATPP_ROOT}/build/src/" NO_DEFAULT_PATH)
if(NOT OATPP_LIB)
message(SEND_ERROR "Did not find oatpp library ${OATPP_ROOT}/build/src")
endif()
Set the path to the directory containing "oatpp" package configuration files
target_include_directories(${PROJECT_NAME} PRIVATE ${OATPP_ROOT}/src)
Link libraries to your target
target_link_libraries(${PROJECT_NAME} PRIVATE ${OATPP_LIB})
target_link_libraries(${PROJECT_NAME} PUBLIC Threads::Threads)
Server. when running and serving HTTP requests (those seem to work), does not print anything to terminal.

@open-telemetry/cpp-approvers Could you check this please?
@edibleparts Feel free to open a PR! Thanks!


NullReference Exception

I am using your library here https://github.com/tcartwright/SqlServerDEID and it used to run without issues. I am running into a System.NullReferenceException now. The issue occurs when editing the script in the editor and when it goes to show intellisense it throws an exception at that point in time.
It is occuring at the following location in Microsoft.CodeAnalysis.CSharp.CodeGeneration.CSharpCodeGenerationService:
private TDeclarationNode AddStatementsWorker<TDeclarationNode>(
	TDeclarationNode destinationMember,
	IEnumerable<SyntaxNode> statements,
	CodeGenerationOptions options,
	CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode
		{
			var location = options.BestLocation;

The options variable is null at this point in time.
This code used to work without issues, I have tried both upgrading your nuget package to the latest version, and going back to the version that used to work for me (1.0.18). Neither of which seem to matter
The source code for the form that does the editing is located here: https://github.com/tcartwright/SqlServerDEID/blob/master/SqlServerDEID.Editor/frmCodeEditor.cs
Can you please help?

I found this: https://github.com/dotnet/roslyn/issues/44387 and it seems related.

Hi,
Sorry to hear you get these exceptions. I also get occasional exceptions with this library. Most of the time I can catch them, but some of them still kill my apps from time to time.
The underlying library, RoslynPad, has been updated a lot recently, but is no longer supporting .Net Framework. For me it means not being able to update to the latest and greatest NuGet packages across the board.
I’m working on my own scripting library now, for Framework and .Net, nothing like as powerful as RoslynPad but easier to manage and fix I hope. It’s a few weeks away though.
For exceptions thrown during editing, I’ve found that adding a program-level handler for unhandled exceptions can help - without this my apps will die more frequently. I see in your code you have a handler for CurrentDomain. I also add one for Application Thread exceptions.
Also - since ChatGPT is now my unofficial co-worker, I asked it for any tips on unhandled exceptions and it suggested a third that I haven’t heard of: TaskSchedular.UnobservedTasksException. I’m going to try this in my apps to see if it helps with stability. (I have the same issue that sometimes when I’m editing the script I’ll get some exception that causes problems, and that I can’t directly catch myself.)
Two bits below.. a snipped from my own program.cs for the application unhandled exceptions, and then the ChatGPT info about 3 options. Please let me know if any of this works for you.
Thanks
Jon
(1) Program.cs from my own test apps:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace WindowsFormsAppDemo
{
static class Program
{
///
/// The main entry point for the application.
///
[STAThread]
static void Main()
{
HookThreadExceptions();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FormMain());
}
    /// <summary>
    /// At the time of writing, using RoslynPad 3.6.0, there are occasional WinForms
    /// thread exceptions - these are (probably) thrown when an activity is attempted
    /// on the wrong thread. For now, all we can do is send the exception to the
    /// debug output.
    /// </summary>
    private static void HookThreadExceptions()
    {
        Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException, true);
        Application.ThreadException += Application_ThreadException;
    }

    /// <summary>
    /// Send otherwise-unhandled thread exceptions details to the debug output.
    ///
    /// (See <see cref="HookThreadExceptions"/> for details of why we do this.)
    /// </summary>
    private static void Application_ThreadException(object sender, System.Threading.ThreadExceptionEventArgs e)
    {
        if (new[] { "RoslynPad", "AvalonEdit" }.Any(lib => e.Exception.StackTrace.Contains(lib)))
        {
            System.Diagnostics.Debug.WriteLine(
                $"Caught a WinForms thread exception, possibly due to a " +
                $"problem in RoslynPad or dependent library.");

            System.Diagnostics.Debug.WriteLine($"Exception message: {e.Exception.Message}");
            System.Diagnostics.Debug.WriteLine($"Exception stack trace: {e.Exception.StackTrace}");
        }
        else
        {
            System.Diagnostics.Debug.WriteLine($"Caught a WinForms thread exception, unknown reason.");
        }
    }
}

}
(2) ChatGPT info:
Sure, in addition to handling exceptions within tasks, you can also add some general exception handling at the application level. Here are a few more strategies for dealing with those:
1. AppDomain.CurrentDomain.UnhandledException
This event will be triggered for any unhandled exceptions.
AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
{
    Exception ex = (Exception)e.ExceptionObject;
    // Handle the exception
    // Please note that typically the application will terminate after this event has been fired
};

This is more of a last resort for catching exceptions and typically the application will terminate after this event has been fired.
2. Application.ThreadException
This event will catch exceptions thrown on Windows Forms threads.
Application.ThreadException += (sender, e) =>
{
    Exception ex = e.Exception;
    // Handle the exception
};

You will need to set the Application.SetUnhandledExceptionMode to CatchException for this event to trigger for all unhandled exceptions:
Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);

3. TaskScheduler.UnobservedTaskException
As mentioned before, this event can be used to catch exceptions that were thrown from tasks and not handled.
TaskScheduler.UnobservedTaskException += (sender, e) =>
{
    // Handle exception
    e.SetObserved();
};

These events give you a chance to log the errors and perhaps notify the user, but generally speaking, if an unhandled exception has been thrown, it means there is a problem in your code that should be fixed. Depending on the nature of the exception, it may or may not be safe to continue executing the application.
Remember that swallowing exceptions is typically a bad practice. You should always aim to handle only the exceptions you expect and know how to recover from. For everything else, let the application crash. This is generally better than continuing in an undefined state.
㊔ Carpe Diem Systems Limited
Registered in England & Wales: 3268509
🏠 14 Lawley Way, Droitwich, WR9 8FB
🕸 http://www.carpediemsystems.co.uk/
📧 @.*** @.***>
☎ +44 (0) 7545 533911

On 15 Jun 2023, at 17:36, Tim Cartwright @.***> wrote:
I am using your library here https://github.com/tcartwright/SqlServerDEID and it used to run without issues. I am running into a System.NullReferenceException now. The issue occurs when editing the script in the editor and when it goes to show intellisense it throws an exception at that point in time.
It is occuring at the following location in Microsoft.CodeAnalysis.CSharp.CodeGeneration.CSharpCodeGenerationService:
private TDeclarationNode AddStatementsWorker(
TDeclarationNode destinationMember,
IEnumerable statements,
CodeGenerationOptions options,
CancellationToken cancellationToken) where TDeclarationNode : SyntaxNode
{
var location = options.BestLocation;
The options variable is null at this point in time.
This code used to work without issues, I have tried both upgrading your nuget package to the latest version, and going back to the version that used to work for me (1.0.18). Neither of which seem to matter
The source code for the form that does the editing is located here: https://github.com/tcartwright/SqlServerDEID/blob/master/SqlServerDEID.Editor/frmCodeEditor.cs
Can you please help?
—
Reply to this email directly, view it on GitHub https://github.com/nooogle/CDS.CSharpScripting/issues/32, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE2TGJXETPBAC6YATOQROLXLM2ZXANCNFSM6AAAAAAZIDSBQI.
You are receiving this because you are subscribed to this thread.

Ty for the awesome and quick response. I hope you don't mind but I posted a way to reproduce that bug using your library in the roslyn bug: https://github.com/dotnet/roslyn/issues/44387#issuecomment-1594815744
I am hoping they either:

Fix the bug (optimal)
Tell (us) you how to use their code differently to keep the bug from happening

If those fail, I will probably look into exception handling like you mentioned, but I would rather that be a last resort.

Hi - I’ve tried a few times to reproduce this, using the solution you posted as a zip, but I can’t make it fail 😬
Screen recording attached, in case you spot a different way to reproduce this.
￼
㊔ Carpe Diem Systems Limited
Registered in England & Wales: 3268509
🏠 14 Lawley Way, Droitwich, WR9 8FB
🕸 http://www.carpediemsystems.co.uk/
📧 @.*** @.***>
☎ +44 (0) 7545 533911

On 16 Jun 2023, at 15:53, Tim Cartwright @.***> wrote:
Ty for the awesome and quick response. I hope you don't mind but I posted a way to reproduce that bug using your library in the roslyn bug: dotnet/roslyn#44387 (comment) https://github.com/dotnet/roslyn/issues/44387#issuecomment-1594815744
I am hoping they either:
Fix the bug (optimal)
Tell (us) you how to use their code differently to keep the bug from happening
If those fail, I will probably look into exception handling like you mentioned, but I would rather that be a last resort.
—
Reply to this email directly, view it on GitHub https://github.com/nooogle/CDS.CSharpScripting/issues/32#issuecomment-1594824746, or unsubscribe https://github.com/notifications/unsubscribe-auth/ADE2TGO2RRDFTSCTFJCKKSLXLRXPHANCNFSM6AAAAAAZIDSBQI.
You are receiving this because you commented.

Sometimes you just have to bounce around intellisense. I have noticed it does not always pop up using my instructions. Very bizarre.


Mistakes in the shapes

[ ] rml:cartessianProduct should be rml:cartesianProduct (2 occurences)
[ ] The message for RMLLanguageMapShape seems incorrect: "rml:LanguageMap must specify an rml:template or rml:constant with the IRI of the language." --> Languages do not have an IRI.

The message for RMLLanguageMapShape seems incorrect: "rml:LanguageMap must specify an rml:template or rml:constant with the IRI of the language." --> Languages do not have an IRI.

I fail to understand why they cannot have an IRI?
You can do the following:
... rml:language <#MyLanguageMap>;

<#MyLanguageMap>
  rml:reference "language_tag";

Isn't rml:language used for constants?

Oh yeah I meant rml:languageMap, fixed the example

Ah you mean the last thing, I see!

rml:LanguageMap must specify an rml:template, rml:reference, or rml:constant with the ISOXXX code of the language.
--> references are also allowed, no?

That's added yes now, see PR


Need help in merging #18014

I'm submitting a ...
[ ] bug report
[ ] feature request
[ ] question about the decisions made in the repository
[ x] question about how to use this project

Summary - Updated the logo URI in the PR but its not merged yet.

Other information (e.g. detailed explanation, stack traces, related issues, suggestions how to fix, links for us to have context, eg. StackOverflow, personal fork, etc.)

@keone  Can you please help to merge this PR ? I have updated the token logo
PR - #18014
Token Name - NYN
Token Address - NYNKnLDu1WRacDTmqvMburqc31reUWQSSmoh4MxE3FB

merged


RFC: Add pin mask for gpio_port_xxx

gpio_port_{configure, disable_callback, enable_callback, read, write} always set the whole pins in the group to a same mode. But sometimes not all the pins in a group has the same function.
Example: If we want set PA1, PA3, PA5, PA7, PA8, PA9 as output mode, the others in PORTA as input mode, output HIGH to those output pin when initilizer, there doesn't has a easier way, must set them one by one.
The param pin for gpio_{configure, write, read ...} are unused if access operation is GPIO_ACCESS_BY_PORT. So I want expand this param for bitmask in GPIO_ACCESS_BY_PORT mode. So the example above could write in a easier way, like this:
#define OUTPUT_PIN_MASK    (BIT(1) | BIT(3) | BIT(5) | BIT(7) | BIT(8) | BIT(9))
gpio_port_configure(dev, OUTPUT_PIN_MASK, GPIO_DIR_OUT);
gpio_port_write(dev, OUTPUT_PIN_MASK, 0xffffffff);

...

Hi @qianfan-Zhao, I am also experimenting with masked port access. What do you think about the following:
gpio.h:
...

/**
 * Access GPIO port pin by pin number.
 */
#define GPIO_ACCESS_BY_PIN 0

/**
 * Access GPIO port en bloc.
 */
#define GPIO_ACCESS_BY_PORT 1

/**
 * Access GPIO port pin(s) by port pins mask.
 */
#define GPIO_ACCESS_BY_PORT_MASK 2

...

/**
 * @brief Write a data value to the port.
 *
 * Write the output state of a port. Only write the state to the pins
 * that are enabled by the mask.
 *
 * The state of each pin is
 * represented by one bit in the value.  Pin 0 corresponds to the
 * least significant bit, pin 31 corresponds to the most significant
 * bit.  For ports with less that 32 physical pins the most significant
 * bits which do not correspond to a physical pin are ignored.
 *
 * @param port Pointer to the device structure for the driver instance.
 * @param mask Mask.
 * @param value Value to set on the port.
 * @return 0 if successful, negative errno code on failure.
 */
static inline int gpio_port_write_masked(struct device *port, u32_t mask, u32_t value)
{
	return gpio_write(port, GPIO_ACCESS_BY_PORT_MASK, mask, value);
}

...

There is just one inline function added that makes clear that this is a masked access. All current code that uses gpio_port_write() stays untouched. A driver that does not support GPIO_ACCESS_BY_PORT_MASK can return an error.
I think a masked access to for gpio_port_configure is not really necessary, but if it is necessary for synchronous reconfiguration it should be done the same way (aka. gpio_port_configure_masked(port, mask, flags) -> gpio_config(port, GPIO_ACCESS_BY_PORT_MASK, mask, flags)).

@b0661 your opinion is good that can compatible the previous code, Which way is better between create new api gpio_port_write_masked and add param 'mask' to gpio_port_write in yours opinion? I prefer add mask param.
is it necessary for compatible the old versions?

@qianfan-Zhao

Which way is better between create new api gpio_port_write_masked and add param 'mask' to gpio_port_write in yours opinion?

I prefer gpio_port_write_masked  as it makes clear what is done. We also have gpio_pin_write to write to a single pin. Having an extra function for a specialized write operation seems already in the API.

is it necessary for compatible the old versions?

I don´t know. Using an extra inline function makes this PR an addition which is not intrusive; maybe this is the main argument Also why should I create a mask if I want to write to the whole port?

@qianfan-Zhao I think your proposal is reasonable. Why don't you send a PR where you add the new mask and call, and implement it for one particular platform? For all the others you can return -ENOTSUPP

@carlescufi sure, I am doing this pr

This has been addressed in the GPIO rework


Katie atkinson/upgrade v 0.19.0

Closes #
💸 TL;DR

📜 Details
Design Doc
Jira

🧪 Testing Steps / Validation

✅ Checks

[ ] CI tests (if present) are passing
[ ] Adheres to code style for repo
[ ] Contributor License Agreement (CLA) completed if not a Reddit employee

I did one test where I ran CI on my branch, which build the package but didn't publish it. You can see the CI results here.


adding the testing files and doing some modifications to the existing…

I have added the testing files that correspond to the previously added functions.
I have also modified the file data_utils to deal with tensorflow.
While I am not working with the data pipeline  "usl_lib CI" of the check shows one error when running "Run pytest usl_pipeline/usl_lib".  @Katsutoshii do you hjave any idea about why this is happening?

I have added the testing files that correspond to the previously added functions. I have also modified the file data_utils to deal with tensorflow. While I am not working with the data pipeline "usl_lib CI" of the check shows one error when running "Run pytest usl_pipeline/usl_lib". @Katsutoshii do you hjave any idea about why this is happening?

I reran the checks and they seem to be passing now. Perhaps it was just some transient error.


conda-pypi-map always triggers a warning

Checks

[X] I have checked that this issue has not already been reported.

[X] I have confirmed this bug exists on the latest version of pixi, using pixi --version.

Reproducible example

cat >pixi.toml <<END
[project]
name = "test"
platforms = ["linux-64"]
version = "0.1"
conda-pypi-map = { "conda-forge" = "https://fake.com" }
channels = ["conda-forge", "https://conda.anaconda.org/conda-forge/" ]
END

pixi update

Issue description
always generate warning
WARN Defined custom mapping channel https://conda.anaconda.org/conda-forge/ is missing from project channels
and do not set any global configurations
Expected behavior
Should not print this warning.

I also have this same issue. Is there any way to resolve it?

We're working on it in #1820


[pylint] C1901: compare-to-empty-string

There's a few finishing touches left to make(docs, diagnostic message,  make the logic a little cleaner) and I think this is autofixable, so if the diagnostic impl itself looks good, I'll have a go at autofix for this as well.

No prob, thanks for this!

hey, i encountered this rule just now and i think its problematic, take the following example:
def foo(a: str | None):
    if a == '':
        print('empty string')
    if a is None:
        print('none')
    if not a:
        print('not a')

foo('')
foo(None)

which outputs:
empty string
not a
none
not a

running ruff --select PL a.py will output:
a.py:2:13: PLC1901 `a == ''` can be simplified to `not a` as an empty string is falsey Found 1 error.
so following this suggestion creates code that doesnt differentiate between None and an empty string :(

Yeah this is a known limitation of this rule unfortunately -- see, e.g., https://github.com/charliermarsh/ruff/issues/3503. Pylint has the same problem. I've considered removing it for this reason.
You can restructure your code in various ways to ignore the lint, or disable the rule, but the rule itself can't really be improved without being made useless:
def foo(a: str | None):
    if a is None:
        print('none')
    if not a:
        print('empty string')

Or:
def foo(a: str | None):
    if not a:
        if isinstance(a, str):
            print('empty string')
        else:
            print('none')

(I'm not suggesting that these are better in any subjective sense, only that they avoid the issue.)


[stable/metrics-server] Add release.Namespace in meta

What this PR does / why we need it:
This PR adds release.Namespace in meta.
Which issue this PR fixes
This PR fixes issues when rendering template with 'helm template --namespace'. Without it, the rendered templates do not have the namespace defined which is problematic when using
a gitops approach. This is also a requirement for a tool like Spinnaker.
Special notes for your reviewer:
This is fully backward compatible and make it just more compatible with workflows using helm template.
Checklist

[x] DCO signed
[x] Chart Version bumped
[x] Title of the PR starts with chart name (e.g. [stable/mychartname])

Where the templates hard-code template to kube-system it should remain so. This is because these resources have to be in that namespace.
Adding for the rest is fine.

@olemarkus I just removed it from the ClusterRoleBinding since the resource is not namespaced otherwise I left kube-system in the auth-reader RoleBinding

/ok-to-test

/lgtm


Trouble with SOCKS5 Proxies

I've tried 1.2.1 (Caskroom), 1.2.3, 1.3.0, and 1.3.1 (Github releases), and building from master.
If it can't connect to the proxy, I just get this lonely white window titled "Electron". Sometimes I'll see a brief flash of some of the UI elements before it turns white. No error message.

Opening up the Inspector will make the "connecting" widget appear as well as the UI element which seems to be where the user-list would be. The UI will appear in a new window in 1.3.x and 1.2.1 but the UI appears in the formerly blank window in 1.2.3. There are no errors in the javascript console. After waiting several minutes, the "connecting" widget and spinner remains, it never seems to connect.
Here's a screenshot of 1.3.1 with the inspect open...

Building from master does give me a JS console error but it seems non-fatal:
yakyak/app/ui/css/material-icons/MaterialIcons-Regular.woff2 Failed to load resource: net::ERR_FILE_NOT_FOUND
Here's the terminal output from running it at the commandline:
~/Projects/Forks/yakyak on master
$ npm run electron app

><EMAIL_ADDRESS>electron /Users/yyy/Projects/Forks/yakyak
> electron "app"

hconnect
reconnecting 0
resolving proxy http://plus.google.com
resolving proxy https://plus.google.com
resolved proxy SOCKS5 <IP_ADDRESS>:9999
resolved proxy SOCKS5 <IP_ADDRESS>:9999
asking for login credentials
2016-06-29 11:14:27 WARN no SAPISID cookie
2016-06-29 11:14:27 WARN no SAPISID cookie
[5004:0629/111434:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///Users/yyy/Projects/Forks/yakyak/app/ui/css/material-icons/MaterialIcons-Regular.woff2", source: chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@aa7c8d23c098e96a388ffedf6698230bda650bb3/&can_dock=&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
[5004:0629/111434:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///Users/yyy/Projects/Forks/yakyak/app/ui/css/material-icons/MaterialIcons-Regular.woff2", source: chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@aa7c8d23c098e96a388ffedf6698230bda650bb3/&can_dock=&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
2016-06-29 11:14:41 WARN no SAPISID cookie
2016-06-29 11:14:41 WARN no SAPISID cookie
2016-06-29 11:15:39 WARN no SAPISID cookie
2016-06-29 11:15:39 WARN no SAPISID cookie
2016-06-29 11:16:06 WARN no SAPISID cookie
2016-06-29 11:16:06 WARN no SAPISID cookie
[5004:0629/111615:ERROR:CONSOLE(0)] "Not allowed to load local resource: file:///Users/yyy/Projects/Forks/yakyak/app/ui/css/material-icons/MaterialIcons-Regular.woff2", source: chrome-devtools://devtools/bundled/inspector.html?remoteBase=https://chrome-devtools-frontend.appspot.com/serve_file/@aa7c8d23c098e96a388ffedf6698230bda650bb3/&can_dock=&toolbarColor=rgba(223,223,223,1)&textColor=rgba(0,0,0,1)&experiments=true (0)
2016-06-29 11:16:19 WARN no SAPISID cookie
2016-06-29 11:16:19 WARN no SAPISID cookie
2016-06-29 11:16:22 WARN no SAPISID cookie

Then, lastly, after getting the proxy working, yakyak still wouldn't actually function, it popped up the login screen, which I logged into, and then it would quickly flip between three windows, one was obviously an internal Google API key screen "copy and paste this key...", another was the main app window, and the last was some sort of Google "logging you in" type window. They were flickering pretty fast so I didn't get a good look at them. I should be able to recreate it and take a screencapture video of it, if it's necessary.
It was only after looking at the terminal output that I saw the issue with the proxy. So I think there's 3 problems:

the app completely falls over and doesn't even properly render the UI if it can't connect to the internet
there's no error message that it is encountering a problem with the proxy
even if it can connect to the local proxy is gets stuck in a nasty loop (I'm guessing part of the app is proxy-aware, part is not)

No response?

 We lack contributors. If i'll have time I will be glad to do it.