primordic/IssueDupesLite huggingface dataset:
Repository: snwh/paper-icon-theme

Issue #198: Ubuntu Mate 16.04 Icons
Created: 2016-05-22T03:14:45Z
Icon Requests

 gnome-main-menu.png 
 time-admin.png 
 lightdm-gtk-greeter-settings.png 
 mate-power-statistics.png 
 bluman-device.svg 
 mate.png 
 mate-system-log.png 
 mozo.png 
 mate-network-properties.png 
 preferences-desktop-screensaver.png 
 gnome-lockscreen.png 
 gtk-color-select (Mate Color Selection)

These requested icons along with three from issue #124 (applications-accessories, applications-office, and preferences-desktop-personal) will round out the rest of the default menu items on a standard install of Ubuntu Mate 16.04.

Duplicate issue #434: Ubuntu Mate configure display settings icon
Created: 2016-10-25T16:24:18Z
Icon Request
Configure Display Settings Applet icon sticks out like a sore thumb for me =(


Configure Display Settings
This is an applet shortcut to the display settings in Ubuntu Mate
Not sure of the file name, I checked in /usr/share/applications/ but it must have another location.

It would be awesome to get an icon going for this!

Closing comment (2017-01-02T22:54:45Z): Related to #198
Repository: snwh/paper-icon-theme

Issue #221: Icon request: Comix
Created: 2016-05-29T18:43:03Z
Icon Request

Comix
Comix - GTK Comic Book Viewer
comix.desktop

Duplicate issue #493: Comix
Created: 2017-01-30T22:16:14Z
Icon Request
Please provide the following in your request:

Comix
Icon=comix

Closing comment (2017-01-30T22:27:16Z): Duplicate of #221
Repository: snwh/paper-icon-theme

Issue #262: JetBrains Suite
Created: 2016-06-13T06:55:29Z
JetBrains Suite

 JetBrains IntelliJ IDEA /opt/idea/bin/idea.png

 JetBrains PHPStorm /opt/phpstorm/bin/webide.png

 JetBrains WebStorm /opt/webstorm/bin/webstorm.svg

 JetBrains CLion /opt/clion/bin/clion.svg



Yes, they are hardcoded; however, when I try changing the .desktop entry to something like, for example Icon=webstorm or Icon=webide, the icon disappears. Maybe the icon already exists, it's just a matter of knowing the name.
By the way, there are two more JetBrains: IDE's, PyCharm and RubyMine; but I don't have them installed. Anyway, you should consider making an icon for them too. I'td be cool.
Thanks in advance!
(Paper GTK and Paper Icons are great!)

Duplicate issue #567: Icon Request : JetBrains PhpStorm
Created: 2017-05-12T16:39:55Z
Icon Request

JetBrains PhpStorm
Icon=/opt/phpstorm/bin/phpstorm.png
Original icon :

Closing comment (2017-06-12T15:05:14Z): Duplicate of #262
Repository: snwh/paper-icon-theme

Issue #262: JetBrains Suite
Created: 2016-06-13T06:55:29Z
JetBrains Suite

 JetBrains IntelliJ IDEA /opt/idea/bin/idea.png

 JetBrains PHPStorm /opt/phpstorm/bin/webide.png

 JetBrains WebStorm /opt/webstorm/bin/webstorm.svg

 JetBrains CLion /opt/clion/bin/clion.svg



Yes, they are hardcoded; however, when I try changing the .desktop entry to something like, for example Icon=webstorm or Icon=webide, the icon disappears. Maybe the icon already exists, it's just a matter of knowing the name.
By the way, there are two more JetBrains: IDE's, PyCharm and RubyMine; but I don't have them installed. Anyway, you should consider making an icon for them too. I'td be cool.
Thanks in advance!
(Paper GTK and Paper Icons are great!)

Duplicate issue #559: Jetbrain's CLion icon request
Created: 2017-04-26T19:56:37Z
Icon Request

Application name: CLion
Actual icon location: by looking at the desktop entry the icon is located in CLion's installation folder, as the property value will be <CLION_INSTALLATION_DIR>/clion.svg. The icon is attached with a PNG format since GitHub doesn't allow an SVG attachment. I'm a newbie about Linux but it seems like if the icon would actually be added to the set one would have to manually edit the app's desktop entry in order for it to get picked up instead of the original one.

For futher details, here's the actual desktop entry for CLion (with the installation dir substituted by a mock):
[Desktop Entry]
Version=1.0
Type=Application
Name=CLion
Icon=<CLION_INSTALLATION_DIR>/bin/clion.svg
Exec="<CLION_INSTALLATION_DIR>/bin/clion.sh" %f
Comment=The Drive to Develop
Categories=Development;IDE;
Terminal=false
StartupWMClass=jetbrains-clion

Closing comment (2017-06-12T15:05:20Z): Duplicate of #262
Repository: soot-oss/soot

Issue #71: How to build soot? Update listed dependencies
Created: 2013-05-12T19:23:56Z
I tried cloning the repo to develop on the Eclipse plugin myself, however, the Eclipse project depends on the soot project, which I was unable to build.
The README.md says that the project depends on jasmin and heros, I cloned them both and built them.
Next I got an error about SootJastAddJ being missing. Googling revealed this and I imported the Eclipse project:
https://svn.sable.mcgill.ca/abc/trunk/JastAddExtensions/

The build of soot now progresses further until the following error:
eclipse-ee-3.7-indigo-workspace\JastAddExtensions\SootJastAddJ\build.xml:18: taskdef class JFlex.anttask.JFlexTask cannot be found

I don't know how to continue. What do I have to do?

Duplicate issue #75: Documentation on how to build soot and the eclipse plugin
Created: 2013-05-22T19:53:03Z
Hi Folks,
Would it be possible to add some instructions on how to build soot and the Eclipse plugin from source in an easily accessible place?
The readme file in github points to the mcgill page that points back to the github page.
I cannot run the ant script. I get the following error:
determine-jastadd-uptodate:
BUILD FAILED
/home/becker/src/soot/build.xml:88: /home/becker/src/JastAddExtensions/SootJastAddJ does not exist.
When I try to create an Eclipse project I get lots of errors and cannot easily fix them. After spending a lot of time trying to get all the libraries in the right place, I was able to compile but I am not sure what I did anymore since I tried again in a new Eclipse and got the same problems as before.
Marcel

Closing comment (2013-08-14T14:34:38Z): I close this issue as a duplicate of #71
Repository: soot-oss/soot

Issue #1407: java.lang.RuntimeException when ...
Created: 2020-08-06T16:44:39Z
Steps to reproduce:
1.) ..Run the below code with jdk 8 in eclipse 2019-12 with soot-4.2.1-jar-with-dependencies.jar
Files used to reproduce:
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import soot.MethodOrMethodContext;
import soot.PackManager;
import soot.Scene;
import soot.SceneTransformer;
import soot.SootClass;
import soot.SootMethod;
import soot.Transform;
import soot.jimple.toolkits.callgraph.CHATransformer;
import soot.jimple.toolkits.callgraph.CallGraph;
import soot.jimple.toolkits.callgraph.Targets;
public class MySootTest {
public static void main(String args[]) {
	List<String> argsList = new ArrayList<String>(Arrays.asList(args));
	   argsList.addAll(Arrays.asList(new String[]{
			   "-w",
			   "-main-class",
			   "test.CallGraphs",//main-class
			   "test.CallGraphs",//argument classes
			   "test.A"			//
	   }));
	

	   PackManager.v().getPack("wjtp").add(new Transform("wjtp.myTrans", new SceneTransformer() {

		@Override
		protected void internalTransform(String phaseName, Map<String, String> options) {
		       CHATransformer.v().transform();
                       SootClass a = Scene.v().getSootClass("testers.A");

		       SootMethod src = Scene.v().getMainClass().getMethodByName("doStuff");
		       CallGraph cg = Scene.v().getCallGraph();

		       Iterator<MethodOrMethodContext> targets = new Targets(cg.edgesOutOf(src));
		       while (targets.hasNext()) {
		           SootMethod tgt = (SootMethod)targets.next();
		           System.out.println(src + " may call " + tgt);
		       }
		}

					
		   
	   }));

           args = argsList.toArray(new String[0]);
           
           soot.Main.main(args);
}

}
Soot version: soot-4.2.1-jar-with-dependencies.jar from https://github.com/soot-oss/soot#how-do-i-obtain-the-nightly-builds
Command line:
-cp lib\soot-4.2.1-jar-with-dependencies.jar;. soot.Main -w -main-class test.CallGraphs test.CallGraphs test.A
Max Memory:
1797MB
Stack trace:
java.lang.RuntimeException: None of the basic classes could be loaded! Check your Soot class path!
	at soot.Scene.loadBasicClasses(Scene.java:1755)
	at soot.Scene.loadNecessaryClasses(Scene.java:1845)
	at soot.Main.run(Main.java:241)
	at soot.Main.main(Main.java:141)
	at MySootTest.main(MySootTest.java:54)

Duplicate issue #1957: java.lang.RuntimeException when ...
Created: 2023-03-16T16:20:05Z
Steps to reproduce:
1.) ...
Files used to reproduce:
...
Soot version: trunk
Command line:
-pp -cp . -f J Circle
Max Memory:
4096MB
Stack trace:
java.lang.RuntimeException: None of the basic classes could be loaded! Check your Soot class path!
	at soot.Scene.loadBasicClasses(Scene.java:1718)
	at soot.Scene.loadNecessaryClasses(Scene.java:1807)
	at soot.Main.run(Main.java:241)
	at soot.Main.main(Main.java:141)

Closing comment (2023-03-16T17:00:16Z): Possible duplicate of #1407
Repository: soot-oss/soot

Issue #812: Which code formatter to use for soot project(s)?
Created: 2017-11-02T09:33:11Z
Java is a language that allows automatic formatting. Therefore IMHO refuse to perform manual code formatting - that is dumb work that should be done automatically.
The problem for an open source software is that we have to agree on one formatter, otherwise commits contain a lot of changes that are only related to code formatting.
Therefore I am asking the Soot community if there is already an agreement on a specific code formatter. May be it is possible to make git apply the code formatter on every commit?

Duplicate issue #851: Checkstyle
Created: 2017-12-19T19:24:50Z
Hello, can we please add checkstyle to the project to enforce one programming style?

Closing comment (2018-01-08T16:07:07Z): Closed due to duplicate #812
Repository: sparkle-project/Sparkle

Issue #1269: Updated sparkle, now see unable to load window NIB file
Created: 2018-07-17T22:20:03Z
-[SUUpdateAlert loadWindow]: failed to load window nib file 'SUUpdateAlert'.
I've made sure that my frameworks are all being copied and linked correctly. Any ideas?

Duplicate issue #1271: 1.20 missing NIBs in all language folders except ar.lproj
Created: 2018-07-22T23:48:00Z
ar.lproj contains:
SUAutomaticUpdateAlert.nib
SUUpdateAlert.nib
SUUpdatePermissionPrompt.nib
but none of the other language folders contain these files. This results in errors when an update is available as it can't open an English (or many other) NIB.

Closing comment (2018-07-24T20:05:44Z): Duplicate of #1269
Repository: sparkle-project/Sparkle

Issue #648: [FeatureRequest] Integrate appcast generation with GitHub Releases / Pages
Created: 2015-10-06T21:06:53Z
My app binaries are hosted on GitHub Releases page.
I just wanna Sparkle to check this page for new versions :)

Duplicate issue #833: Support GitHub releases as alternative to App Cast
Created: 2016-07-05T03:30:22Z
Our project uses GitHub releases to release the software. The binaries are signed and the release information is secure (GitHub releases uses HTTPS).
Our project has good release information already with https://github.com/fulldecent/kibitz/releases.atom
From a feature perspective, this would update the requirement on Sparkle's homepage from

HTTPS server for serving updates (see App Transport Security)

to

HTTPS server for serving updates (see App Transport Security) or project on GitHub

Related: fulldecent/kibitz#16

Closing comment (2016-07-05T21:57:16Z): Thank you. Closing as duplicate of #648.
Repository: sparkle-project/Sparkle

Issue #369: Layout does not collapse when release notes are hidden
Created: 2014-07-07T00:39:33Z
Views that are hidden still participate in autolayout, so hidden release notes just leave a massive gap in the window :(

Duplicate issue #590: Isn't there a smaller updater alert dialog?
Created: 2015-08-02T02:32:30Z
If I omit release notes from my appcast, the update dialog displays a lot of blank space. Is there a way to get a narrower, more compact dialog?

Closing comment (2015-08-02T16:20:01Z): Dupe of #369
Repository: sparkle-project/Sparkle

Issue #109: Error extracting dmg archives
Created: 2011-10-26T06:50:15Z
I have a side effect on the NSFileManager::copyItemAtPath:toPath:error: change above.
My binary is being distributed as a .dmg and does not only contain the .app but also a ReadMe.
SUDiskImageUnarchiver::extractDMG fails with an error because it cannot copy the mountPoint using NSFileManager::copyItemAtPath
I patched this by iterating over the contained files in mountPoint and copying only files with an .app extension.
I am not sure why this ever worked in the previous FSCopyObjectSync implementation.
My proposal would be this single patch: http://dl.dropbox.com/u/1963886/201111-Sparkle.zip
As a sidenote: in addition the error returned from NSFileManager::copyItemAtPath:toPath:error: is not being logged, which did cost me a while to nail down the problem in the framework.

Duplicate issue #110: Master does not work with .dmg that contains additional files
Created: 2011-10-26T21:27:12Z
If a .dmg contains additional files beyond an .app bundle extraction will fail. I see this on SL and Lion. See #26 (comment) and comments after that.

Closing comment (2011-10-26T21:34:47Z): Duplicate of #109. Closing.
Repository: sparkle-project/Sparkle

Issue #1678: Source code misses ed25519 sources
Created: 2020-11-19T17:33:49Z
The ed25519 sources are still missing in the sources of the releases. This makes it impossible to compile Sparkle myself.

Duplicate issue #1681: Vendor/ed25519/* missing from source code packages
Created: 2020-11-22T19:13:46Z
Both source code packages do not contain the files in Vendor/ed25519/, hence compilation from source fails
(https://github.com/sparkle-project/Sparkle/archive/1.24.0.zip, https://github.com/sparkle-project/Sparkle/archive/1.24.0.tar.gz)

Closing comment (2020-11-22T19:19:29Z): Duplicate of #1678
Repository: sparkle-project/Sparkle

Issue #67: Sparkle should really support bundles
Created: 2011-10-23T17:13:30Z
**Hofman (cmhofman)* reported (on Launchpad) on' 2008-08-11:*
Sparkle is still not safe to be used in loadable bundles (plug-ins),
even though the web site advertises that 1.5 supports it.
Part of the problem is solved by having one updater per bundle.
The biggest problem currently is more fundamental: only one instance of
a framework can be loaded in a single program. So if several plug-ins
have Sparkle embedded, only one of the Sprakle frameworks will be
loaded, at best, or loading will simply fail and the app crashes. Even
if everything loads, the Sparkle version may differ, which can lead to
unexpected results, including crashes.
The only safe way I can think of to add Sparkle support to a loadable
bundle is to run Sparkle in a background app. Sparkle should have a
target for at least a bare bones agent to accomplish this.

Duplicate issue #29: Sparkle 1.5 doesn't work with Sparkle 1.0 loaded
Created: 2011-10-23T17:10:05Z
**willco007 (will-panic)* reported (on Launchpad) on' 2009-05-04:*
If a host application has an old version of Sparkle loaded, say 1.0, and
it loads a plugin with Sparkle 1.5 in it when Sparkle 1.5 tries to
update it will throw an exception because it's trying to call methods on
a the already loaded Sparkle 1.0 classes.
The exception is:
NSInvalidArgumentException  -  *** +[SUUpdater updaterForBundle:]:
unrecognized selector sent to class 0x6595e0
Since sparkle 1.5 is not compatible with Sparkle 1.1, the classes should
be renamed to avoid name space issues or it should, at the very least,
check to make sure the class has not be loaded yet and if it has, make
sure it's a compatible version.  If it's not, it should not load itself.
This is a critical bug.

Closing comment (2011-10-25T05:17:05Z): Dupe of #67.
Repository: sparkle-project/Sparkle

Issue #1020: generate_appcast fails
Created: 2017-01-28T03:41:35Z
Where
Distribution disk image (DMG) includes /Applications symlink.
Reason
The tool assumes that the fist object in the DMG is the app.
Source File

generate_appcast/ArchiveItem.swift

function

convenience init(fromArchive archivePath: URL, unarchivedDir: URL) throws

Code
line#68
let appPath = items[0];
Update Suggestion
let appPath = apps[0];

Duplicate issue #1029: generate_appcast not working with different folder structures
Created: 2017-02-08T23:53:00Z
generate_appcast not working when folders are above App.app file. Error Domain=SUSparkleErrorDomain Code=1001 "No usable archives found in ..."
Examples:
Not ok (Error: No usable archives found):
folder1
folder2
folder3
MyApp.app
Ok:
MyApp.app
zfolder1
zfolder2
zfolder3

Closing comment (2017-02-09T00:00:19Z): Perhaps that's dupe of #1020
Can you check with the latest build? https://github.com/sparkle-project/Sparkle/releases/tag/1.17.0b1
Repository: sparkle-project/Sparkle

Issue #50: SUUpdateAlert's check box for automatically download updates isn't bound correctly
Created: 2011-10-23T17:11:49Z
**Andy Matuschak (andymatuschak)* reported (on Launchpad) on' 2008-12-08:*
It's bound to the (private) preferences key rather than to the
automaticallyDownloadsUpdates key on SUUpdater.

Duplicate issue #87: Update alert check button should not be bound to user defaults
Created: 2011-10-23T17:14:57Z
**Hofman (cmhofman)* reported (on Launchpad) on' 2009-10-07:*
The check button labeled "Automatically download and install updates in
the future" in the SUAutomaticUpdateAlert and SUUpdateAlert nibs are
bound to the standard user defaults. That is wrong, because that will be
the wrong defaults for bundles and moreover may not properly update the
updater. Instead, it should be bound to the key
automaticallyDownloadsUpdates of the updater. Currently that would be to
the File's Owner with keypath
delegate.updater.automaticallyDownloadsUpdates, though it probably would
be more correct if the controller (file's owner) knows about the updater
directly.

Closing comment (2011-10-25T05:10:38Z): Dupe of #50.
Repository: sparkle-project/Sparkle

Issue #1079: Update fails on first attempt, succeed on 2nd
Created: 2017-05-22T10:58:20Z
I'm getting this in the console.
Succeeded authorizing right 'system.privilege.admin' by client '/Users/cherpake/Library/Caches/com.cherpake.macrc.server/org.sparkle-project.Sparkle/Autoupdate.app' [37325] for authorization created by '/Users/cherpake/Library/Caches/com.cherpake.macrc.server/org.sparkle-project.Sparkle/Autoupdate.app' [37325] (13,0)

Failed to perform final installation Error: Error Domain=SUSparkleErrorDomain Code=4005 "Failed to execute package installer." UserInfo={NSLocalizedDescription=Failed to execute package installer., NSUnderlyingError=0x7faa14605620 {Error Domain=SUSparkleErrorDomain Code=4001 "Failed to run authorization tool /Users/cherpake/Library/Caches/com.cherpake.macrc.server/org.sparkle-project.Sparkle/Autoupdate.app/Contents/MacOS/fileop (-60008)." UserInfo={NSLocalizedDescription=Failed to run authorization tool /Users/cherpake/Library/Caches/com.cherpake.macrc.server/org.sparkle-project.Sparkle/Autoupdate.app/Contents/MacOS/fileop (-60008).}}}

Duplicate issue #1339: User reports updating never finishes
Created: 2019-01-06T23:33:17Z
See the original report here:
https://gitlab.com/gnachman/iterm2/issues/7397#note_127920128
It looks like the installer never finishes running. He found a bunch of messages in Console.app but they didn't look like errors to me. Are there any additional steps I can advise him to take to provide more diagnostics?

Closing comment (2019-02-11T13:05:15Z): Looks to be a duplicate of #1079 .
Try 1.18.1 or later.
Repository: spf13/viper

Issue #1146: UnmarshalKey: Using "y" variable in yml stays empty
Created: 2021-05-31T11:05:47Z
Expected behavior (what you expected to happen):
By using a yaml file with an array and 3 fields, e.g.
---
genres:
  - genre: soul
    x: 703
    y: 15128
  - genre: pop
    x: 1150
    y: 13682

and creating a struct
type Genre struct {
	Genre string `mapstructure:"genre"`
	Y int `mapstructure:"y"`
	X int `mapstructure:"x"`

}
var Genres []Genre

viper.UnmarshalKey("genres", &Genres)

should fill the structs with string genre,int x and y.
Actual behavior (what actually happened):
Field Y stays empty. X is filled with a value.
Workaround:
Rename yaml field to any other variable, e.g. mm and use in struct: Y int `mapstructure:"mm"` 
Environment:

Viper version: v1.7.1
Config source: file
File format: YAML

Duplicate issue #1286: The key named y or n will be replaced with true or false after reading.
Created: 2022-01-19T09:59:58Z
Preflight Checklist

 I have searched the issue tracker for an issue that matches the one I want to file, without success.
 I am not looking for support or already pursued the available support channels without success.

Viper Version
1.10.1
Go Version
1.17.1
Config Source
Files
Format
YAML
Repl.it link
No response
Code reproducing the issue
test:
  a: "aaa"
  b: "bbb"
  y: "yyy"
  n: "nnn"
Expected Behavior
The read data is : map[test:map[a:aaa b:bbb n:nnn y:yyy]]
Actual Behavior
The read data is : map[test:map[a:aaa b:bbb false:nnn true:yyy]]
Steps To Reproduce
Use Viper to read the yaml I defined.
Additional Information
No response

Closing comment (2022-01-19T10:16:13Z): Duplicate of #1146
Duplicate of #960
https://github.com/spf13/viper/blob/master/TROUBLESHOOTING.md#unquoted-y-and-n-characters-get-replaced-with-true-and-false-when-reading-a-yaml-file
Repository: spf13/viper

Issue #584: Does viper require a config file in order to use ENV variables?
Created: 2018-10-23T01:14:29Z
Hi, I have an application that can use both a config file and env variable.
My initConfig() method looks like this:
if err := viper.ReadInConfig(); err == nil {
	fmt.Println("Using config file:", viper.ConfigFileUsed())
} else {
	fmt.Println("Config file not found:", cfgFile)
}

viper.SetEnvPrefix("GC")
viper.AutomaticEnv()

err := viper.Unmarshal(&config)
if err != nil {
	fmt.Println(err.Error())
	os.Exit(1)
}

unmarshal drops the config into a struct, and it works well.
I am facing an issue where if my config file does not exist (or is empty), viper seems to completely ignore any environment variables. I have verified that viper can see the env variables, by printing them to standard out. My workaround is to deploy the config file, with all the correct keys but no values. Viper then correctly overrides the config file with my environment variables.
Am I wrong to assume that Viper should be able to use environment variables when no config file is found?

Duplicate issue #607: Read config using a struct
Created: 2018-12-09T15:25:35Z
Is there a way to directly register a struct with viper and read configs appropriately ?
Something like demonstrated below:
type config struct {
   Host string
   Port int
   Database database
}

type database struct {
   Host string
   Port int
}

cfg := config{
     Host: "localhost",
     Port: 8080,
}
viper.AutomaticEnv()
viper.SetConfigName("app")
viper.ReadInConfig()
viper.Unmarshal(&cfg)
I know Unmarshal exists but it doesn't do what i was expecting. My expectation for the above snippet was that, after the Unmarshal call, following would be true:

cfg.Host would be mapped to HOST env var, or host key in app.yaml or app.json etc.
cfg.Database.Host would be mapped to DATABASE_HOST env var, database_host key in app.yaml or app.json etc (or host sub-key of database key in these files)
Non-zero values given to the fields will be used as defaults if an overriding value not found in any config source (i.e., env var, yaml files, json files etc.)

Why?
One of the projects i am working which is using viper has has large set of configuration options. It is becoming tedious to add viper.GetString("config_name") for every single config and then populate the config struct. If the above expectations were true, we could simply compose configs of different structs into one config struct and call Unmarshal with that struct.

Closing comment (2019-01-26T12:12:13Z): Looks like a duplicate of #584
See my comment: #584 (comment)
TL;DR Unmarshal doesn't work with AutomaticEnv.
Repository: spf13/viper

Issue #324: Error ``Unmarshal`` map when key contains dot
Created: 2017-03-30T02:55:18Z
Test code:
package main

import (
	"bytes"
	"fmt"
	"github.com/spf13/viper"
)

type Config struct {
	Foo struct {
		Bar map[string]int `mapstructure:"bar"`
	} `mapstructure:"foo"`
}

var content = []byte(`
foo:
  bar:
    "x": 1
    "y": 2
    "z.z": 3
`)

func main() {
	var c1, c2 Config

	viper.SetConfigType("yaml")
	viper.ReadConfig(bytes.NewReader(content))

	viper.Unmarshal(&c1)
	fmt.Println("c1:", c1)

	viper.UnmarshalKey("foo", &c2.Foo)
	fmt.Println("c2:", c2)
}

Output:
c1: {{map[x:1 y:2]}}
c2: {{map[x:1 y:2 z.z:3]}}

As you can see, when the map key contains dot, UnmarshalKey works correctly but Unmarshal doesn't.

Duplicate issue #348: Period in map key name breaks when unmarshalling to struct
Created: 2017-05-17T04:46:27Z
I'm unmarshalling yaml to a struct.
I've encountered issues unmarshalling if a map's key containers period character.
Struct that I unmarshall to:
type Config struct {
	ListenInterface string
	ListenPort      int
	Thing           map[string]SomeOtherThing
}

type SomeOtherThing struct {
	Stuff string
}

YAML:
ListenInterface: 127.0.0.1
ListenPort: 8080
Thing:
  .broken:
    Stuff: missing
  partially.works:
    Stuff: missing
  fully-works:
    Stuff: works

Output looks like:
(main.Config) {
 ListenInterface: (string) (len=9) "127.0.0.1",
 ListenPort: (int) 8080,
 Thing: (map[string]main.SomeOtherThing) (len=3) {
  (string) "": (main.SomeOtherThing) {
   Stuff: (string) ""
  },
  (string) (len=9) "partially": (main.SomeOtherThing) {
   Stuff: (string) ""
  },
  (string) (len=11) "fully-works": (main.SomeOtherThing) {
   Stuff: (string) (len=5) "works"
  }
 }
}

I put a demo here:
https://github.com/sevoma/testViper

Closing comment (2018-01-27T02:15:14Z): dupe of #324
Repository: spf13/viper

Issue #1014: Case sensitive keys
Created: 2020-11-03T13:33:37Z
This issue will track (probably) the most requested feature for Viper: case sensitivity.
Every other issue will be closed in favor of this one.
We know this is something that the community wants (although based on feedbacks, it might not be a majority), so it's being considered for Viper v2. It doesn't mean it will be implemented though.
Please see for more details https://github.com/spf13/viper#does-viper-support-case-sensitive-keys

Duplicate issue #1013: Feature Request: Case Sensitive Keys
Created: 2020-11-03T03:13:15Z
Case sensitive keys are useful in many contexts, but they are not currently possible using viper.

Closing comment (2020-11-03T13:35:17Z): Duplicate of #1014
Repository: spf13/viper

Issue #841: consul token support
Created: 2020-02-14T12:42:01Z
How can i add acl consul token to viper config ?  i have tried
consulConfigKey := "default_config.json?token=secret"
err = viper.AddRemoteProvider("consul", consulAddr, consulConfigKey)

but param is escaped without result

Duplicate issue #903: Consul ACL token support
Created: 2020-05-04T10:03:22Z
Hi Team,
I am using Viper with Consul as a remote provider. After enabling ACL in Consul, Viper stopped working as there is no possibility to inject token to Viper. Is there any way to set up Viper that can connect to ACL enabled Consul?

Closing comment (2020-05-04T10:07:36Z): Duplicate of #841
Repository: spf13/viper

Issue #288: ConfigPaths() accessor method
Created: 2016-12-12T16:35:20Z
I would like to create a print (similar to Debug) that can be used as help how to configure an application. I would like to include the possible config file locations that can be used in it. It seems, though (I did not find) that I do not have any way to obtain this information from the viper object itself.
Adding accessor method will be nice.

Duplicate issue #1967: for V2: make more fields public
Created: 2024-12-16T13:55:27Z
Preflight Checklist

 I have searched the issue tracker for an issue that matches the one I want to file, without success.

Problem Description
Currently many of the Viper fields are package-private and inaccessible to the application code. This means that it's hard to get the configuration of Viper itself.
For example, when Viper cannot find the configuration file, I want to show the list of searched directories to the user. This is stored in v.configPaths, which is package-private. Of course I know that once I do v.AddConfigPath(".") it turns "." into an absolute path and stores it, and so I could do that as well when showing the paths to the user. That feels like unnecessary bookkeeping just to work around the struct field being package-private.
Another example are the name and locations fields in ConfigFileNotFoundError. If I want to present the error in a different way than produced by ConfigFileNotFoundError.Error(), I can't.
Proposed Solution
Make fields more public, especially when their access doesn't matter much. In the above case, there is no harm in making the ConfigFileNotFoundError fields public, as Viper doesn't start behaving differently when somebody modifies them. For the Viper struct itself I can imagine that this is more sensitive; in this case getter functions that return a copy of the field's value (so the original cannot be modified through a reference) would be good to have.
Alternatives Considered
No response
Additional Information
My application is something that people install & run on their own machines. It's not meant for technical folks, and thus having control over what is shown and what wording is used is quite important.

Closing comment (2025-04-07T15:49:00Z): This issue is similar to #288.
I think instead of exposing the field, it would be possible to add 2 methods:

Viper.ConfigPaths(): returns a clone of the configPaths fields
Viper.SetConfigPaths([]string) or Viper.SetConfigPaths(...string): resets the current paths and sets a new slice of paths.

This is useful when you have two kinds of configuration sources:

.foo.xxx with a set of configuration paths (ex: ./)
foo.xxx with another set of configuration paths (ex: ./config/)

A PR was opened on the topic but closed and not merged: #280
Repository: spf13/viper

Issue #33: Config export
Created: 2015-01-09T11:24:26Z
Hi,
How can i export loaded config (with ie. override some parts of it using ENV or CLI args) back to original or even different config file?

Duplicate issue #113: Is viper support to write back to config file?
Created: 2015-09-18T06:07:21Z
as Title.

Closing comment (2015-09-20T17:48:17Z): It is indeed a duplicate of #33
Repository: spf13/viper

Issue #797: Use unmashal with embedded struct
Created: 2019-11-19T09:34:49Z
I try to use unmarshal to struct and It's work great.
And now, I want to unmarshal yaml file to embedded struct. See example.
main.go
type Base struct {
    Foo string
}

type SomeStruct struct {
    Base
}

func ReturnToStruct(fileName string, dir string) SomeStruct {
    viper.SetConfigFile(fileName)
    viper.AddConfigPath(dir)
    if err := viper.ReadInConfig(); err != nil {
        xlog.Fatalf("fatal error config file: %s \n", err)
    }
    someStruct := SomeStruct{}
    if err := viper.Unmarshal(&someStruct); err != nil {
        xlog.Fatalf("%v", err)
    }

return someStruct
}
test.yml
Foo: asd
When I use
    xlog.Infof("%s", someStruct.Foo)
It will return empty string.
Can I use viper with embedded struct ?

Duplicate issue #822: Does not support golang composite?
Created: 2020-01-08T08:43:23Z
yml:
a1: 1
b1: 2
type A struct{
	A1 string
}
type B struct {
	A
	B1 string
}

obj := B{}
vip.Unmarshal(&obj);
Viper can not set A1=1?

Closing comment (2020-01-08T09:48:58Z): Duplicate of #797 #820
Repository: spf13/viper

Issue #461: Env variable does not set value for flag
Created: 2018-02-19T12:39:49Z
Given:
serverCmd.Flags().StringVar(&listeningAddress, "web.listen-address", ":9253", "...")
    
viper.BindEnv("foobar", "PHP_FPM_WEB_LISTEN_ADDRESS")
viper.BindPFlag("foobar", serverCmd.Flags().Lookup("web.listen-address"))
Result:
listeningAddress will still be :9253 if i pass in PHP_FPM_WEB_LISTEN_ADDRESS=":1234"
Expected
listeningAddress containing the value :1234

Duplicate issue #416: Does viper could read params from environment?
Created: 2017-11-18T06:36:01Z
I wanna retrive variant a from intellij eap 1.0 ,but failed.
func main(){ 
    a:=viper.GetString("a") 
    fmt.println(a)
}

intellij run/debug configuration: program arguments: a=2
https://stackoverflow.com/questions/47301593/how-to-retrive-value-using-viper-with-golang-from-intellij/47302001?noredirect=1#comment81565715_47302001

Closing comment (2018-02-24T10:45:37Z): Possibly related to #461
Repository: spinframework/spin

Issue #641: Installable via OS package managers
Created: 2022-07-14T16:21:57Z
As a user, I'd love to install the spin CLI similar to how I'd install other packages on Linux - through apt.
Something similar to
$ curl -fsSL https://apt.releases.fermyon.dev/gpg | sudo apt-key add -
$ sudo apt-add-repository "deb [arch=amd64] https://apt.releases.fermyon.dev $(lsb_release -cs) main"
$ sudo apt-get update && sudo apt-get install spin

(note: this is a very similar experience for HashiCorp's installation instructions for nomad, consul, vault, etc.)

Duplicate issue #1490: Use Normal Distribution Channels?
Created: 2023-04-25T21:12:22Z
I don't really like how the installation process for thespin cli tool is to download a random binary and put it in your path. Seems very shady / sketch / painful / weird to me...
Consider using nice distribution channels (such as brew on mac, choco on windows, etc) similar to the installation process for this cli tool, ripgrep.

Closing comment (2023-04-25T22:12:49Z): Thank you for the issue and suggestions, @JimLynchCodes.  Adding package manager support for Spin is on our radar (tracked in #641).  Really appreciate your input on this effort!
Repository: spinframework/spin

Issue #129: Add commit SHA to spin version output
Created: 2022-03-04T23:34:39Z
Add short commit SHA to spin --version output (or somewhere similarly accessible)

Prior art: cargo's output is pretty nice:
$ cargo --version
cargo 1.57.0 (b2e52d7ca 2021-10-21)

Duplicate issue #221: Improve version reporting
Created: 2022-03-23T12:10:37Z
The default version reporting (spin --version) only returns the current version of the CLI crate.
Should we remove the flag in favor of a version (or info?) command that returns a more detailed version (git revision, if applicable) that Spin was built from, OS and architecture info?
Basically, if something goes wrong and someone wants to file an issue, this would be the simplest way to provide and format the initial information we need to troubleshoot things.

Closing comment (2022-03-24T05:48:02Z): I guess this is a duplicate of #129
Closing in favor of that.
Repository: spinframework/spin

Issue #148: Option to watch directories for changes and re-start Spin
Created: 2022-03-09T02:45:00Z
Say you are developing a website that runs in Spin (with Bartholomew, for example).
Because we are copying static assets into  a temporary directory, rather than mounting directly, making a change to a file requires restarting spin up.
A workaround is having a directory watcher that restarts Spin (see #145 (comment)), but it would be great if spin up had this option built-in.

Duplicate issue #666: `spin up`: hot reload when component files change
Created: 2022-07-28T18:43:55Z
As a user of bartholomew, I'd like spin up to reload when I change any of the site's content.
For comparison, here's hugo server: https://gohugo.io/commands/hugo_server/
If this should be rejected in favour of bartholomew introducing its own serve command, that's okay too.

Closing comment (2022-07-28T20:53:39Z): Thanks. Closing as a duplicate of #148.
Repository: spinframework/spin

Issue #820: Http-go template fails
Created: 2022-10-14T17:35:51Z
Creating a new Spin application using the http-go template fails without any modifications to the code:
Serving http://127.0.0.1:3000
Available Routes:
  go-temp2: http://127.0.0.1:3000 (wildcard)
2022-10-14T17:31:26.421024Z ERROR spin_http_engine: Error processing request: wasm trap: wasm `unreachable` instruction executed
wasm backtrace:
    0: 0x3a8f - <unknown>!runtime.runtimePanic

Duplicate issue #886: Default `spin new go` project fails to run
Created: 2022-11-08T09:45:39Z
trying to run an unmodified spin new go project
on MacOS 13.0
-rw-r--r--  1 me  staff     277 Nov  8 10:36 main.go
-rw-r--r--  1 me  staff     345 Nov  8 10:36 spin.toml
-rw-r--r--  1 me  staff     160 Nov  8 10:38 go.mod
-rw-r--r--  1 me  staff     406 Nov  8 10:38 go.sum
-rwxr-xr-x  1 me  staff  217447 Nov  8 10:38 main.wasm

> spin build
Executing the build command for component hi: tinygo build -wasm-abi=generic -target=wasi -gc=leaking -no-debug -o main.wasm main.go
Successfully ran the build command for the Spin components.

> spin up
Serving http://127.0.0.1:3000
Available Routes:
  hi: http://127.0.0.1:3000 (wildcard)

2022-11-08T09:39:43.558692Z ERROR spin_http: Error processing request: wasm trap: wasm `unreachable` instruction executed
wasm backtrace:
    0: 0x3aa4 - <unknown>!runtime.runtimePanic

upon opening http://127.0.0.1:3000

Closing comment (2023-02-15T21:33:52Z): As mentioned above, this appears to be a duplicate of #820 (assuming use of TinyGo 0.26.0).  Closing.
Repository: spinframework/spin

Issue #2525: [OTel]: Spans produced by `spin_sdk::key_value::Store::set` don't have a parent assigned
Created: 2024-05-22T22:07:16Z
Spans produced as part of using the key-value store set function, don't have a parent assigned. This results in having two independent traces from a single HTTP API invocation

I've tested other actions in the context of key-value store (such as exists and `get) which are all represented correctly:

Versions

spin CLI: spin 2.5.1 (cba6773 2024-05-14)
spin-sdk crate: 3.0.1

Repro
See the following pseudo code for reproducing the behavior:
use spin_sdk::http::{IntoResponse, Request, Response};
use spin_sdk::http_component;
use spin_sdk::key_value::Store;

/// A simple Spin HTTP component.
#[http_component]
fn handle_api(req: Request) -> anyhow::Result<impl IntoResponse> {
    println!("Handling request to {:?}", req.header("spin-full-url"));
    let store = Store::open_default()?;
    let exists = store.exists("foo")?;
    if !exists {
        return Ok(Response::new(404, ()));
    }

    let Some(value) = store.get("foo")? else {
        return Ok(Response::new(204, ()));
    };

    store.set("bar", b"baz")?;

    Ok(Response::builder()
        .status(200)
        .header("content-type", "text/plain")
        .body(value)
        .build())
}

Duplicate issue #2487: Sleeping in a Spin app breaks traces
Created: 2024-05-03T19:27:18Z
Traces are not properly emitted when a Spin app sleeps.
The commit that introduced this regression is most likely here.
e.g.
use spin_sdk::http::{IntoResponse, Response};
use spin_sdk::http_component;
use spin_sdk::observe;

/// A simple Spin HTTP component.
#[http_component]
async fn hello_world(_req: http::Request<()>) -> anyhow::Result<impl IntoResponse> {
    std::thread::sleep(std::time::Duration::from_millis(500));
    Ok(Response::new(200, "Hello, world!"))
}

Closing comment (2024-06-14T20:44:54Z): Potentially related to #2525
Repository: spinframework/spin

Issue #1246: Switch cargo-vet CI to from periodic to blocking
Created: 2023-03-08T22:59:09Z
In #1240 (comment), we discussed switching the cargo-vet CI job from a periodic cron-driven task to a PR-blocking check. Per @radu-matei's suggestion, filing this as a separate issues to track the change and give other maintainers a chance to comment.

Duplicate issue #2117: Enable cargo-audit in CI
Created: 2023-11-27T17:09:58Z
For dependency hygiene.

Closing comment (2024-03-21T01:32:35Z): Seems like a duplicate of #1246?  Please remove the label if it isn't!
Repository: spinframework/spin

Issue #373: Default Twitter card for documentation website
Created: 2022-04-18T15:38:18Z
It would be great to have a Twitter card that shows when we share links to Spin documentation, similar to those for Fermyon.com
cc @flynnduism

Duplicate issue #686: Add twitter card to spin documentation
Created: 2022-08-12T03:55:31Z
A user Tweeted about trying Spin via the official docs. Image in the Tweet seems generic and it would be awesome to see a Spin logo etc. in their Tweet.
Here is what the Tweet currently shows.

Closing comment (2022-08-18T03:12:22Z): This is a duplicate of #373, closing.
Thanks!
Repository: spinframework/spin

Issue #993: Print description of logging behavior on `spin up`
Created: 2022-12-19T15:28:31Z
"How can I see logs?" is a recurring question in Discord. We should at least print a description of how to find logs on spin up, maybe something like:
Writing app output to <path>; pass --follow-all to see it here on the console.

Ref #928, #974 (comment)

Duplicate issue #1078: Hidden cli flags on `spin up`
Created: 2023-01-27T20:47:54Z
Some cli flags are not displayed for spin up --help.  For example --log-dir, --follow, and --follow-all.
I believe they're trigger specific but should there be a standard for logging or  a way to view available flags without spin trigger http --help?

Closing comment (2023-01-28T17:13:32Z): possibly duplicate of #993 and #928
Repository: spinframework/spin

Issue #629: Where do we document template dependencies?
Created: 2022-07-12T21:57:02Z
The Rust template requires the wasm32-wasi target. The Go templates require TinyGo. Where do we document these requirements? Specifically, say a developer does this:
$ spin templates list
# sees some templates, chooses one they've never used before
$ spin new http-go myapp
$ spin build
The build will fail if TinyGo is not installed. What does the user then do to figure out why the build failed?

Duplicate issue #1257: Add toolchain hint heuristics on `spin new`
Created: 2023-03-10T22:16:07Z
Each language has its own toolchain setup requirements. Ideally we could handle these seamlessly for developers, but until we can figure that out we should try to give more guidance to reduce frustration.
The most obvious example is skipping rustup target add wasm32-wasi, which while documented in the quickstart guide is easy to miss/forget. It would be great if we could detect this situation and print a helpful message at one or more of these points:

spin new - look for a Cargo.toml in the template?
spin build - on failure, look for cargo.*wasm32-wasi in a component.build.command?
spin up - on failure, look for target/wasm32-wasi in the source

In any of these cases we could use the existing check from build.rs: https://github.com/fermyon/spin/blob/60976e41231820ba6b3c4d6e0391814b459c7628/build.rs#L84-L94

Closing comment (2023-09-22T19:18:02Z): Is this still something we want to explore? How should we think about this in relation to spin doctor? Do we consider this issue a duplicate of #629
Repository: spinframework/spin

Issue #2536: Push component to registry
Created: 2024-05-30T19:35:34Z
Spin recently added experimental support for sourcing a component's Wasm from a registry.  However, you can't yet upload such a component using spin registry push: you have to use a specific oras incantation.  It would be good to have an end-to-end story around this.
One possible way of doing this is to extend the use of the -f flag to accept a Wasm file, as spin up now allows.  Thus spin registry push ghcr.io/itowlson/fileserver:1.0.0 -f ./target/wasm32-wasi/release/fileserver.wasm would upload a single Wasm blob, which could then be reused via [component] source = { registry = "ghcr.io", package = "itowlson/fileserver", version = "1.0.0" }.
A risk here is confusion over whether "push a component" pushes the fully configured component or just the Wasm blob.  Referencing a file hopefully makes that clear.
On the other hand, it's also arguably not something Spin needs to be involved in, because that could be any Wasm file, it doesn't have to be a Spin component.  There should be and, and undoubtedly soon will be, other and more general tooling for that.  Anyway jotting it down as a ponderable.

Duplicate issue #2590: Enable pushing components with `spin registry push`
Created: 2024-06-21T08:05:43Z
#1182 and #2524 are part of enabling pushing and pulling components to/from registries.
With #2524 in Spin 2.6.0, there is a gap in how a sinlge component, can be pushed to a registry. If e.g., you create a WASI-HTTP incoming-handler, and want to push it to a registry, you hvae to use a tool like Oras.
The workflow works, using spin registry push today, but you can only do that if a spin.toml file is present in the diretory from which you push the component.
I'd like to prospoe adding an option to push a component using spin registry push - e.g., spin registry push component ttl.sh/my/name:0.0.1 -f my_component.wasm, to make this workflow easier.

Closing comment (2024-06-24T06:34:58Z): @itowlson - Thy seem undoubtfully similar :-) Let me close this one, and we can rack the other.
Closing as a duplicate of #2536
Repository: spring-projects/spring-batch

Issue #1529: abort/failed all the previously running job during Spring Batch startup [BATCH-2065]
Created: 2013-07-23T19:20:04Z
Simon Wong opened BATCH-2065 and commented
If the application context died without a gracefully shutdown (e.g. someone kill the process explicitly) , the spring batch jobs might be still in running status.
When the application context starts next time, with the same job parameters, it will prompt errors that those jobs are already running.
It will be better to add a strategy interface to cleanup those tasks during startup. (maybe failed those tasks by default)

Affects: 2.2.0
1 votes, 4 watchers

Duplicate issue #1849: Detect killed batch process [BATCH-1740]
Created: 2011-05-02T06:14:23Z
Matthew T. Adams opened BATCH-1740 and commented
If a process hosting a job dies unexpectedly or is killed (Ctrl-C, kill -9, etc), the job cannot be restarted, because Spring Batch is not aware that the process was killed.
Much like other software can detect whether it was shut down gracefully v. abruptly, Spring Batch should be enhanced to do so.  My guess would be to have Spring Batch update the JobRepository with a flag saying that a particular JobExecution was completed gracefully only upon normal exit (via -stop or end of flow).  Then, upon a restart attempt of the JobExecution, Spring Batch could detect whether or not the last JobExecution terminated ubruptly v. gracefully and restart appropriately.

Affects: 2.1.7
Reference URL: http://forum.springsource.org/showthread.php?t=108602
3 votes, 4 watchers

Closing comment (2020-01-16T13:32:21Z): Closing this as duplicate of #1529 .
Repository: spring-projects/spring-batch

Issue #4399: Add support for Virtual Threads
Created: 2023-06-15T07:55:12Z
Virtual Threads (Project Loom) will be out of preview in JDK 21. This issue is to:

 Make sure that Spring Batch behaves in the same way with virtual threads as with platform threads
 Replace synchronized blocks/methods that contain blocking I/O operations with reentrant locks
 Check what should be updated in the Batch auto-configuration of Spring Boot with regard to virtual threads

Duplicate issue #4449: Refactor Synchronized ItemReaders/ItemWriters for virtual threads
Created: 2023-09-21T05:51:05Z
Currently the ItemReader / ItemWriter implementations that are synchronized do actually use the synchronized keyword on the read or write method. (The same on the stream versions of those).
As reading/writing could be a longer blocking operation this has the potential of thread pinning when using virtual threads. It might be better to use a lock or semaphore instead of the synchronized keyword.

Closing comment (2023-09-21T09:24:43Z): I was looking at Spring Batch 5.0, didn't compare with 5.1. I think this can be considered a duplicate of #4399 (or at least part of that issue).